diff --git a/stepmania/src/Foreground.cpp b/stepmania/src/Foreground.cpp index 68cde9553f..bbe205dfe5 100644 --- a/stepmania/src/Foreground.cpp +++ b/stepmania/src/Foreground.cpp @@ -88,6 +88,10 @@ void Foreground::Update( float fDeltaTime ) { fDeltaTime = GAMESTATE->m_fMusicSeconds - m_fLastMusicSeconds; } + + /* This shouldn't go down, but be safe: */ + fDeltaTime = max( fDeltaTime, 0 ); + bga.m_bga->Update( fDeltaTime / fRate ); if( GAMESTATE->m_fSongBeat > bga.m_fStopBeat ) diff --git a/stepmania/src/GameSoundManager.cpp b/stepmania/src/GameSoundManager.cpp index 42d40f2266..017ddb58d0 100644 --- a/stepmania/src/GameSoundManager.cpp +++ b/stepmania/src/GameSoundManager.cpp @@ -441,7 +441,7 @@ float GameSoundManager::GetFrameTimingAdjustment( float fDeltaTime ) const float fExpectedDelay = 1.0f / iThisFPS; const float fExtraDelay = fDeltaTime - fExpectedDelay; - if( fabsf(fExtraDelay) >= fExpectedDelay ) + if( fabsf(fExtraDelay) >= fExpectedDelay/2 ) return 0; /* Subtract the extra delay. */