Reduce dependency on MAX_BEATS.

Don't call GetLastBeat from GetFirstBeat.
This commit is contained in:
Glenn Maynard
2003-03-06 22:40:04 +00:00
parent e645510909
commit 75a058c1dd
2 changed files with 12 additions and 9 deletions
+9 -8
View File
@@ -201,12 +201,11 @@ int NoteData::GetFirstRow() const
float NoteData::GetFirstBeat() const float NoteData::GetFirstBeat() const
{ {
float fEarliestBeatFoundSoFar = MAX_BEATS; float fEarliestBeatFoundSoFar = -1;
int i; int i;
int rows = GetLastRow(); for( i=0; i <= int(m_TapNotes[0].size()); i++ )
for( i=0; i<=rows; i++ )
{ {
if( !IsRowEmpty(i) ) if( !IsRowEmpty(i) )
{ {
@@ -216,14 +215,16 @@ float NoteData::GetFirstBeat() const
} }
for( i=0; i<GetNumHoldNotes(); i++ ) for( i=0; i<GetNumHoldNotes(); i++ )
if( GetHoldNote(i).fStartBeat < fEarliestBeatFoundSoFar ) {
if( fEarliestBeatFoundSoFar == -1 ||
GetHoldNote(i).fStartBeat < fEarliestBeatFoundSoFar )
fEarliestBeatFoundSoFar = GetHoldNote(i).fStartBeat; fEarliestBeatFoundSoFar = GetHoldNote(i).fStartBeat;
}
if( fEarliestBeatFoundSoFar == -1 ) // there are no notes
if( fEarliestBeatFoundSoFar == MAX_BEATS ) // there are no notes
return 0; return 0;
else
return fEarliestBeatFoundSoFar; return fEarliestBeatFoundSoFar;
} }
int NoteData::GetLastRow() const int NoteData::GetLastRow() const
+3 -1
View File
@@ -140,7 +140,9 @@ float NoteDataWithScoring::GetActualVoltageRadarValue( float fSongSeconds )
const int BEAT_WINDOW = 8; const int BEAT_WINDOW = 8;
for( int i=0; i<MAX_BEATS; i+=BEAT_WINDOW ) const int fEndBeat = (int) GetMaxBeat()+1;
for( int i=0; i<fEndBeat; i+=BEAT_WINDOW )
{ {
int iNumNotesThisWindow = 0; int iNumNotesThisWindow = 0;
iNumNotesThisWindow += GetNumTapNotesWithScore(TNS_MARVELOUS,(float)i,(float)i+BEAT_WINDOW); iNumNotesThisWindow += GetNumTapNotesWithScore(TNS_MARVELOUS,(float)i,(float)i+BEAT_WINDOW);