oops, account for bug if user uses regular songs with caprice songs

This commit is contained in:
Andrew Wong
2003-07-30 10:04:59 +00:00
parent a85491b9ad
commit 7553cf3afa
+8 -1
View File
@@ -502,7 +502,6 @@ void Course::GetCourseInfo( NotesType nt, vector<Course::Info> &ci, int Difficul
if( pNotes ) // found a match
{
LOG->Trace("Accessing caprice at %d", pSong);
m_CapriceEntries.push_back(pSong); // cache it for later
LOG->Trace("Song title: %s", pSong->GetFullTranslitTitle().c_str() );
break; // stop searching
}
@@ -583,6 +582,14 @@ void Course::GetCourseInfo( NotesType nt, vector<Course::Info> &ci, int Difficul
if( !pSong || !pNotes )
continue; // this song entry isn't playable. Skip.
m_CapriceEntries.push_back(pSong); // cache it for random caprice
// NOTE: it must be done for all songs because
// above it searches the entire array; for example
// if a song is defined for songs 1 and 2 and caprice
// is 3, it'll only have pushed one song if it was in
// the old location. Thus, here it'll make sure
// the indice exists.
/* If e.difficulty == DIFFICULTY_INVALID, then we already increased difficulty
* based on meter. */
if( IsDifficult(Difficult) && e.difficulty != DIFFICULTY_INVALID )