From 2f3960084f059e50a6ef9bb19678f3a683f5d982 Mon Sep 17 00:00:00 2001 From: AdamTadeusz Date: Sun, 8 Mar 2026 13:24:37 +0000 Subject: [PATCH] allow swim up and swim down to move us up and down a ladder --- src/game/shared/gamemovement.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/game/shared/gamemovement.cpp b/src/game/shared/gamemovement.cpp index 42bfd0c8d7..6224668be0 100644 --- a/src/game/shared/gamemovement.cpp +++ b/src/game/shared/gamemovement.cpp @@ -3137,6 +3137,14 @@ bool CGameMovement::LadderMove( void ) if ( mv->m_nButtons & IN_MOVERIGHT ) rightSpeed += climbSpeed; +#ifdef NEO + if (mv->m_flUpMove) + { + forwardSpeed = mv->m_flUpMove > 0 ? climbSpeed : -climbSpeed; + rightSpeed = 0; + } +#endif // NEO + if ( mv->m_nButtons & IN_JUMP ) { player->SetMoveType( MOVETYPE_WALK ); @@ -3154,7 +3162,11 @@ bool CGameMovement::LadderMove( void ) // pev->velocity.x, pev->velocity.y, pev->velocity.z); // Calculate player's intended velocity //Vector velocity = (forward * gpGlobals->v_forward) + (right * gpGlobals->v_right); +#ifdef NEO + VectorScale( mv->m_flUpMove ? -player->m_vecLadderNormal : m_vecForward, forwardSpeed, velocity ); +#else VectorScale( m_vecForward, forwardSpeed, velocity ); +#endif // NEO VectorMA( velocity, rightSpeed, m_vecRight, velocity ); // Perpendicular in the ladder plane