diff --git a/stepmania/src/Song.cpp b/stepmania/src/Song.cpp index 7adc910ab0..c89ad43ff0 100644 --- a/stepmania/src/Song.cpp +++ b/stepmania/src/Song.cpp @@ -770,6 +770,9 @@ void Song::TranslateTitles() void Song::ReCalculateRadarValuesAndLastBeat() { + float fFirstBeat = 999999; /* inf */ + float fLastBeat = 0; + for( unsigned i=0; iSetRadarValues( v ); - /* Calculate first/last beat. - * - * Many songs have stray, empty song patterns. Ignore them, so + /* Many songs have stray, empty song patterns. Ignore them, so * they don't force the first beat of the whole song to 0. */ - if(tempNoteData.GetLastRow() == 0) + if( tempNoteData.GetLastRow() == 0 ) continue; // Don't set first/last beat based on lights. They often start very @@ -802,17 +803,12 @@ void Song::ReCalculateRadarValuesAndLastBeat() if( pSteps->m_StepsType == STEPS_TYPE_LIGHTS_CABINET ) continue; - float fFirstBeat = tempNoteData.GetFirstBeat(); - float fLastBeat = tempNoteData.GetLastBeat(); - if( m_fFirstBeat == -1 ) - m_fFirstBeat = fFirstBeat; - else - m_fFirstBeat = min( m_fFirstBeat, fFirstBeat ); - if( m_fLastBeat == -1 ) - m_fLastBeat = fLastBeat; - else - m_fLastBeat = max( m_fLastBeat, fLastBeat ); + fFirstBeat = min( fFirstBeat, tempNoteData.GetFirstBeat() ); + fLastBeat = max( fLastBeat, tempNoteData.GetLastBeat() ); } + + m_fFirstBeat = fFirstBeat; + m_fLastBeat = fLastBeat; } void Song::GetSteps(