From fd6df8e509372f36af4f8b7fe2eb03c8a5aea860 Mon Sep 17 00:00:00 2001 From: NY00123 Date: Wed, 15 Apr 2020 14:45:19 +0300 Subject: [PATCH] sw/src/track.cpp:MovePlayer: Missed this in preceding interpolation fixes --- source/sw/src/track.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/source/sw/src/track.cpp b/source/sw/src/track.cpp index 0eaf513b8..7a9233c3d 100644 --- a/source/sw/src/track.cpp +++ b/source/sw/src/track.cpp @@ -1663,14 +1663,13 @@ MovePlayer(PLAYERp pp, SECTOR_OBJECTp sop, int nx, int ny) pp->posx += BOUND_4PIX(nx); pp->posy += BOUND_4PIX(ny); - if (!InterpolateSectObj) - { - pp->oposx = pp->posx; - pp->oposy = pp->posy; - } - if (TEST(sop->flags, SOBJ_DONT_ROTATE)) { + if (!InterpolateSectObj) + { + pp->oposx = pp->posx; + pp->oposy = pp->posy; + } UpdatePlayerSprite(pp); return; } @@ -1713,9 +1712,13 @@ MovePlayer(PLAYERp pp, SECTOR_OBJECTp sop, int nx, int ny) // New angle is formed by taking last known angle and // adjusting by the delta angle pp->q16ang = fix16_from_int(NORM_ANGLE(pp->RevolveAng + pp->RevolveDeltaAng)); - if (!InterpolateSectObj) - pp->oq16ang = pp->q16ang; + if (!InterpolateSectObj) + { + pp->oq16ang = pp->q16ang; + pp->oposx = pp->posx; + pp->oposy = pp->posy; + } UpdatePlayerSprite(pp); }