From 471f0df69d7265da43308aaccf5a88edd681a6f1 Mon Sep 17 00:00:00 2001 From: Mitchell Richters <mjr4077au@gmail.com> Date: Sat, 18 Apr 2020 11:10:35 +0300 Subject: [PATCH] SW: Q16.16 refinements in DoPlayerDeathFollowKiller. --- source/sw/src/player.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/sw/src/player.cpp b/source/sw/src/player.cpp index 7ec50d68d..90ce3e20d 100644 --- a/source/sw/src/player.cpp +++ b/source/sw/src/player.cpp @@ -6810,15 +6810,15 @@ void DoPlayerDeathFollowKiller(PLAYERp pp) if (pp->Killer > -1) { SPRITEp kp = &sprite[pp->Killer]; - short ang2,delta_ang; + fix16_t q16ang2, delta_q16ang; if (FAFcansee(kp->x, kp->y, SPRITEp_TOS(kp), kp->sectnum, pp->posx, pp->posy, pp->posz, pp->cursectnum)) { - ang2 = getangle(kp->x - pp->posx, kp->y - pp->posy); + q16ang2 = GetQ16AngleFromVect(kp->x - pp->posx, kp->y - pp->posy); - delta_ang = GetDeltaAngle(ang2, fix16_to_int(pp->q16ang)); - pp->camq16ang = pp->q16ang = fix16_from_int(NORM_ANGLE(fix16_to_int(pp->q16ang) + (delta_ang >> 4))); + delta_q16ang = GetDeltaQ16Angle(q16ang2, pp->q16ang); + pp->camq16ang = pp->q16ang = NORM_Q16ANGLE(pp->q16ang + PedanticQ16AngleFloor(delta_q16ang >> 4)); } } }