From 4c026638427c79567f313e4fae981cbb620a4f96 Mon Sep 17 00:00:00 2001 From: Mitch Richters Date: Sat, 6 Nov 2021 14:06:51 +1100 Subject: [PATCH] - `PlayerAngle::applyinput()`: Re-add addition of +/- 1. when returning rotscrnang to 0 lost long, long ago. --- source/core/gameinput.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/core/gameinput.cpp b/source/core/gameinput.cpp index d35b4c1ab..d23ea4f74 100644 --- a/source/core/gameinput.cpp +++ b/source/core/gameinput.cpp @@ -380,8 +380,9 @@ void PlayerAngle::applyinput(float const avel, ESyncBits* actions, double const if (rotscrnang.asbam()) { // return rotscrnang to 0 - rotscrnang -= buildfang(scaleAdjust * rotscrnang.signedbuildf() * (double(LOOKROTRETBASE) / GameTicRate)); - if (abs(rotscrnang.signedbam()) < (BAMUNIT >> 2)) rotscrnang = bamang(0); + auto sgn = Sgn(rotscrnang.signedbam()); + rotscrnang -= buildfang(scaleAdjust * ((rotscrnang.signedbuildf() * (double(LOOKROTRETBASE) / GameTicRate)) + sgn)); + if (sgn != Sgn(rotscrnang.signedbam())) rotscrnang = bamang(0); } if (look_ang.asbam())