fix notefield crashes when playing at a very high beat: fTrailingBeat
was eg. 500, fSongBeat was 0, and the "trail faster" logic overshot, setting fTrailingBeat to negative values (eg. -1200)
This commit is contained in:
@@ -537,7 +537,14 @@ void ScreenEdit::Update( float fDeltaTime )
|
|||||||
m_fTrailingBeat += fMoveDelta;
|
m_fTrailingBeat += fMoveDelta;
|
||||||
|
|
||||||
if( fabsf(fDelta) > 10 )
|
if( fabsf(fDelta) > 10 )
|
||||||
m_fTrailingBeat += fDelta * fDeltaTime*5;
|
{
|
||||||
|
/* We're far off; move faster. Be sure to not overshoot. */
|
||||||
|
fMoveDelta = fDelta * fDeltaTime*5;
|
||||||
|
float fNewDelta = GAMESTATE->m_fSongBeat - m_fTrailingBeat;
|
||||||
|
if( fabsf(fMoveDelta) > fabsf(fNewDelta) )
|
||||||
|
fMoveDelta = fNewDelta;
|
||||||
|
m_fTrailingBeat += fMoveDelta;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_NoteFieldEdit.Update( fDeltaTime );
|
m_NoteFieldEdit.Update( fDeltaTime );
|
||||||
|
|||||||
Reference in New Issue
Block a user