Autogen group Nonstop courses in addition to group Endless courses

Add toggle for Autogen of missing NotesTypes
Add toggle for Autogen Nonstop and Endless courses
This commit is contained in:
Chris Danford
2003-03-27 01:56:21 +00:00
parent 5f02f7231c
commit d20d0ebc29
13 changed files with 113 additions and 70 deletions
+25 -21
View File
@@ -64,9 +64,10 @@ SongManager::SongManager( LoadingWindow *ld )
g_ExtraColor = EXTRA_COLOR;
InitSongArrayFromDisk( ld );
InitCoursesFromDisk();
InitAutogenCourses();
InitMachineScoresFromDisk();
InitCoursesFromDisk();
} catch(...) {
SONGMAN = NULL;
throw;
@@ -418,7 +419,7 @@ void SongManager::SaveMachineScoresToDisk()
Course* pCourse = m_pCourses[c];
ASSERT(pCourse);
if( pCourse->m_bIsAutoGen )
if( pCourse->m_bIsAutogen )
fprintf(fp, "%s\n", pCourse->m_sName.c_str());
else
fprintf(fp, "%s\n", pCourse->m_sPath.c_str());
@@ -504,7 +505,7 @@ void SongManager::SaveMachineScoresToDisk()
Course* pCourse = m_pCourses[i];
ASSERT(pCourse);
if( pCourse->m_bIsAutoGen )
if( pCourse->m_bIsAutogen )
fprintf(fp, "%s\n", pCourse->m_sName.c_str());
else
fprintf(fp, "%s\n", pCourse->m_sPath.c_str());
@@ -654,7 +655,10 @@ void SongManager::InitCoursesFromDisk()
pCourse->LoadFromCRSFile( saCourseFiles[i] );
m_pCourses.push_back( pCourse );
}
}
void SongManager::InitAutogenCourses()
{
//
// Create group courses for Endless and Nonstop
//
@@ -667,16 +671,19 @@ void SongManager::InitCoursesFromDisk()
vector<Song*> apGroupSongs;
GetSongs( apGroupSongs, sGroupName );
for( Difficulty dc=DIFFICULTY_EASY; dc<=DIFFICULTY_HARD; dc=Difficulty(dc+1) ) // foreach Difficulty
{
Course* pCourse = new Course;
pCourse->AutoGenEndlessFromGroupAndDifficulty( sGroupName, dc, apGroupSongs );
Course* pCourse;
m_pCourses.push_back( pCourse );
}
pCourse = new Course;
pCourse->AutogenEndlessFromGroup( sGroupName, apGroupSongs );
m_pCourses.push_back( pCourse );
pCourse = new Course;
pCourse->AutogenNonstopFromGroup( sGroupName, apGroupSongs );
m_pCourses.push_back( pCourse );
}
}
void SongManager::FreeCourses()
{
for( unsigned i=0; i<m_pCourses.size(); i++ )
@@ -697,31 +704,28 @@ void SongManager::CleanData()
}
}
void SongManager::GetNonstopCourses( vector<Course*> &AddTo )
void SongManager::GetNonstopCourses( vector<Course*> &AddTo, bool bIncludeAutogen )
{
for( unsigned i=0; i<m_pCourses.size(); i++ )
{
if( !m_pCourses[i]->m_bRepeat && m_pCourses[i]->m_iLives <= 0 ) // use bar life meter
AddTo.push_back( m_pCourses[i] );
}
if( bIncludeAutogen || !m_pCourses[i]->m_bIsAutogen )
AddTo.push_back( m_pCourses[i] );
}
void SongManager::GetOniCourses( vector<Course*> &AddTo )
void SongManager::GetOniCourses( vector<Course*> &AddTo, bool bIncludeAutogen )
{
for( unsigned i=0; i<m_pCourses.size(); i++ )
{
if( !m_pCourses[i]->m_bRepeat && m_pCourses[i]->m_iLives > 0 ) // use battery life meter
AddTo.push_back( m_pCourses[i] );
}
if( bIncludeAutogen || !m_pCourses[i]->m_bIsAutogen )
AddTo.push_back( m_pCourses[i] );
}
void SongManager::GetEndlessCourses( vector<Course*> &AddTo )
void SongManager::GetEndlessCourses( vector<Course*> &AddTo, bool bIncludeAutogen )
{
for( unsigned i=0; i<m_pCourses.size(); i++ )
{
if( m_pCourses[i]->m_bRepeat )
AddTo.push_back( m_pCourses[i] );
}
if( bIncludeAutogen || !m_pCourses[i]->m_bIsAutogen )
AddTo.push_back( m_pCourses[i] );
}