diff --git a/source/games/exhumed/src/bullet.cpp b/source/games/exhumed/src/bullet.cpp index 95bfd5978..88d1c9967 100644 --- a/source/games/exhumed/src/bullet.cpp +++ b/source/games/exhumed/src/bullet.cpp @@ -702,8 +702,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, double fZOffset, DA int nPlayer = GetPlayerFromActor(pTarget); if (nPlayer > -1) { - xy.X += PlayerList[nPlayer].nPlayerD.X * (15. / 16.); - xy.Y += PlayerList[nPlayer].nPlayerD.Y * (15. / 16.); + xy += PlayerList[nPlayer].nPlayerD * (15. / 16.); } } diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index c85a9ded5..761768cff 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -1060,7 +1060,7 @@ sectdone: PlayerList[nPlayer].ototalvel = PlayerList[nPlayer].totalvel; - PlayerList[nPlayer].totalvel = playerPos.Length() * worldtoint; + PlayerList[nPlayer].totalvel = playerPos.Length() * 16; auto pViewSect = pPlayerActor->sector(); @@ -1112,8 +1112,7 @@ sectdone: // loc_1ADAF PlayerList[nPlayer].pPlayerViewSect = pViewSect; - PlayerList[nPlayer].nPlayerD.X = int((pPlayerActor->spr.pos.X - spr_pos.X) * worldtoint); - PlayerList[nPlayer].nPlayerD.Y = int((pPlayerActor->spr.pos.Y - spr_pos.Y) * worldtoint); + PlayerList[nPlayer].nPlayerD = (pPlayerActor->spr.pos - spr_pos); int var_5C = pViewSect->Flag & kSectUnderwater; diff --git a/source/games/exhumed/src/player.h b/source/games/exhumed/src/player.h index 9999c3d38..16afa2150 100644 --- a/source/games/exhumed/src/player.h +++ b/source/games/exhumed/src/player.h @@ -92,7 +92,7 @@ struct Player int16_t nPlayerScore; int16_t nPlayerColor; int16_t nPistolClip; - vec2_t nPlayerD; + DVector2 nPlayerD; DVector2 nThrust; int16_t nPlayerOldWeapon; int16_t nPlayerClip;