From e92e6adf2f5c7d29da4b3459dd54c2166a6f5ab7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 15 Jul 2026 20:37:42 -0500 Subject: [PATCH] Fix throttle zero handling: remove if(lT!=0) guard, add negative clamp --- Gameleap/code/mw4/Code/MW4/CRIOMAIN.CPP | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Gameleap/code/mw4/Code/MW4/CRIOMAIN.CPP b/Gameleap/code/mw4/Code/MW4/CRIOMAIN.CPP index f961ce1e..c30ff868 100644 --- a/Gameleap/code/mw4/Code/MW4/CRIOMAIN.CPP +++ b/Gameleap/code/mw4/Code/MW4/CRIOMAIN.CPP @@ -2387,20 +2387,18 @@ void CRIOMAIN::UpdateThrottle (DIJOYSTATE &js) lT = (LONG)g_ThrottleStart - g_Throttle; - if (lT > 800L) - lT = 800L; - - if (lT != 0) { - lT = lT * 1000L / 800L; + if (lT < 0L) lT = 0L; // g_ThrottleStart >= g_Throttle always; clamp for safety + if (lT > 800L) lT = 800L; - if ((lT > -DEADZONE_THROTTLE) && (lT < DEADZONE_THROTTLE)) { - g_ThrottleLast = ZERO_THROTTLE; - } else { - if (g_ThrottleResult > 0L) { // back - g_ThrottleLast = 900L + (lT * g_ThrottleResult * 0.1L); - } else { // front - g_ThrottleLast = lT * g_ThrottleResult; - } + lT = lT * 1000L / 800L; + + if ((lT > -DEADZONE_THROTTLE) && (lT < DEADZONE_THROTTLE)) { + g_ThrottleLast = ZERO_THROTTLE; + } else { + if (g_ThrottleResult > 0L) { // back + g_ThrottleLast = 900L + (lT * g_ThrottleResult * 0.1L); + } else { // front + g_ThrottleLast = lT * g_ThrottleResult; } } }