diff --git a/engine/common/pmove.c b/engine/common/pmove.c index b525c5d60..655ccaa4e 100644 --- a/engine/common/pmove.c +++ b/engine/common/pmove.c @@ -269,7 +269,7 @@ int PM_StepSlideMove (qboolean in_air) if (!(blocked & BLOCKED_STEP)) return blocked; - org = (pmove.velocity < 0) ? pmove.origin : original; // cryptic, eh? + org = (originalvel[2] < 0) ? pmove.origin : original; VectorCopy (org, dest); dest[2] -= pm_stepheight; trace = PM_PlayerTrace (org, dest); @@ -298,6 +298,9 @@ int PM_StepSlideMove (qboolean in_air) VectorCopy (trace.endpos, pmove.origin); } + if (in_air && originalvel[2] < 0) + pmove.velocity[2] = 0; + PM_SlideMove (); // press down the stepheight