diff --git a/src/audio/AudioLogic.cpp b/src/audio/AudioLogic.cpp index 56463be0..7b686654 100644 --- a/src/audio/AudioLogic.cpp +++ b/src/audio/AudioLogic.cpp @@ -2347,11 +2347,17 @@ PlayCruising: SampleManager.StopChannel(CHANNEL_PLAYER_VEHICLE_ENGINE); if (isMoped || accelerateState >= 150 && wheelsOnGround && brakeState <= 0 && !params.m_pVehicle->bIsHandbrakeOn && !lostTraction && currentGear >= params.m_pTransmission->nNumberOfGears - 1) { - if (accelerateState >= 220 && params.m_fVelocityChange + 0.001f >= velocityChangeForAudio) { - if (nCruising < 800) - ++nCruising; - } else if (nCruising > 3) { - --nCruising; +#ifdef FIX_BUGS + // Prevent the fake top gear ("cruise gear") rising in pitch too quickly at high FPS. + if (CTimer::GetLogicalFramesPassed()) +#endif + { + if (accelerateState >= 220 && params.m_fVelocityChange + 0.001f >= velocityChangeForAudio) { + if (nCruising < 800) + ++nCruising; + } else if (nCruising > 3) { + --nCruising; + } } freq = 27 * nCruising + freqModifier + 22050; if (engineSoundType == SFX_BANK_TRUCK)