From 374875cbec054b20e0415e8630bebd220481c1d0 Mon Sep 17 00:00:00 2001 From: NPi2Loup Date: Thu, 25 Nov 2021 21:44:24 +0100 Subject: [PATCH] Fix #373 from Ionwerks/Doom3Quest@56e6d43. Many thanks to Inowerks --- neo/d3xp/Player.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/neo/d3xp/Player.cpp b/neo/d3xp/Player.cpp index 646eec242..3291896b5 100644 --- a/neo/d3xp/Player.cpp +++ b/neo/d3xp/Player.cpp @@ -11052,6 +11052,13 @@ void idPlayer::Move() physicsObj.SetAxis( origPhysAxis ); // make sure motion move doesnt change the axis movedRemainder = (newBodyOrigin - movedBodyOrigin); + //#373 fix from Ionwerks/Doom3Quest@56e6d43 + // Defunkt... + // NB: Not clear to me what the purpose of leanOffset is, something to do with pushing against walls. The related blanking (to prevent looking through walls) + // doesn't appear to work as far as I can tell. Whatever the intention the vertical component frequently ends up with a stuck offset when traversing stairs. + // Easiest work-around for now would seem to be zeroing any vertical value preserving the intended functionality (whatever it is) in the horizontal only. + movedRemainder[2] = 0.00f; + // ...Defunkt if ( movedRemainder.Length() > commonVr->motionMoveDelta.Length() * 0.25f ) {