Fix throttle zero handling: remove if(lT!=0) guard, add negative clamp
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user