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); }