From 8e9130c31acc432c2ae2cd2c60d1d9348a0c1b7c Mon Sep 17 00:00:00 2001 From: NY00123 Date: Thu, 16 Apr 2020 02:24:21 +0300 Subject: [PATCH] sw/src/draw.cpp:drawscreen: Removing the check that pp->sop_control is non-null seems to resolve the newly introduced interpolation issue for looking up/down while controlling a sector object. We can also remove the PF_DEAD test, since game.cpp:getinput should lock any kind of aiming. src/src/game.cpp:getinput: We now, however, need to further lock turning here while controlling a sector object. --- source/sw/src/draw.cpp | 3 +-- source/sw/src/game.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/source/sw/src/draw.cpp b/source/sw/src/draw.cpp index ac43f8f8c..fef277cbf 100644 --- a/source/sw/src/draw.cpp +++ b/source/sw/src/draw.cpp @@ -2013,8 +2013,7 @@ drawscreen(PLAYERp pp) tx = camerapp->oposx + mulscale16(camerapp->posx - camerapp->oposx, smoothratio); ty = camerapp->oposy + mulscale16(camerapp->posy - camerapp->oposy, smoothratio); tz = camerapp->oposz + mulscale16(camerapp->posz - camerapp->oposz, smoothratio); - if (PedanticMode || pp->sop_control || - pp == Player+myconnectindex && TEST(pp->Flags, PF_DEAD)) + if (PedanticMode) { tq16ang = camerapp->oq16ang + mulscale16(NORM_Q16ANGLE(camerapp->q16ang + fix16_from_int(1024) - camerapp->oq16ang) - fix16_from_int(1024), smoothratio); tq16horiz = camerapp->oq16horiz + mulscale16(camerapp->q16horiz - camerapp->oq16horiz, smoothratio); diff --git a/source/sw/src/game.cpp b/source/sw/src/game.cpp index 7bdffd551..f2cffed03 100644 --- a/source/sw/src/game.cpp +++ b/source/sw/src/game.cpp @@ -3288,7 +3288,7 @@ getinput(SW_PACKET *loc, SWBOOL tied) } else if (!TEST(pp->Flags, PF_DEAD)) { - if (!TEST(pp->Flags, PF_CLIMBING)) + if (!TEST(pp->Flags, PF_CLIMBING) && !pp->sop_control) DoPlayerTurn(pp, &pp->camq16ang, q16angvel); DoPlayerHorizon(pp, &pp->camq16horiz, q16aimvel); }