diff --git a/stepmania/src/Course.cpp b/stepmania/src/Course.cpp index 0cb04bd717..0ca4e8f0dc 100644 --- a/stepmania/src/Course.cpp +++ b/stepmania/src/Course.cpp @@ -491,8 +491,10 @@ static vector GetFilteredBestSongs( StepsType st ) if( SONGMAN->GetNumStagesForSong(pSong) > 1 ) continue; + const vector& vpSteps = pSong->GetAllSteps(); + bool FoundMedium = false, FoundHard = false; - FOREACH( Steps*, pSong->m_vpSteps, pSteps ) + FOREACH_CONST( Steps*, vpSteps, pSteps ) { if( (*pSteps)->m_StepsType != st ) continue; diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 3eb643b19f..1c74378793 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -118,8 +118,8 @@ void ScreenEvaluation::Init() GAMESTATE->m_MasterPlayerNumber = PLAYER_1; GAMESTATE->m_pCurSong = SONGMAN->GetRandomSong(); GAMESTATE->m_pCurCourse = SONGMAN->GetRandomCourse(); - GAMESTATE->m_pCurSteps[PLAYER_1] = GAMESTATE->m_pCurSong->m_vpSteps[0]; - GAMESTATE->m_pCurSteps[PLAYER_2] = GAMESTATE->m_pCurSong->m_vpSteps[0]; + GAMESTATE->m_pCurSteps[PLAYER_1] = GAMESTATE->m_pCurSong->GetAllSteps()[0]; + GAMESTATE->m_pCurSteps[PLAYER_2] = GAMESTATE->m_pCurSong->GetAllSteps()[0]; g_CurStageStats.pSteps[PLAYER_1] = GAMESTATE->m_pCurSteps[PLAYER_1]; g_CurStageStats.pSteps[PLAYER_2] = GAMESTATE->m_pCurSteps[PLAYER_2]; GAMESTATE->m_PlayerOptions[PLAYER_1].m_fScrollSpeed = 2; diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index 91266965a5..eedb7de12f 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -155,10 +155,10 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S ss.iActualDancePoints[PLAYER_2] = 100; ss.iScore[PLAYER_2] = 100; ASSERT( ss.pSong ); - ASSERT( ss.pSong->m_vpSteps.size() ); + ASSERT( ss.pSong->GetAllSteps().size() ); FOREACH_PlayerNumber( p ) { - GAMESTATE->m_pCurSteps[p] = ss.pSteps[p] = ss.pSong->m_vpSteps[0]; + GAMESTATE->m_pCurSteps[p] = ss.pSteps[p] = ss.pSong->GetAllSteps()[0]; ss.iPossibleDancePoints[p] = 1000; ss.iActualDancePoints[p] = 985; diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 27dd089b4f..2cff801786 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -391,9 +391,10 @@ RageColor SongManager::GetSongColor( const Song* pSong ) * set up, which is too restrictive. How to handle this? */ // const StepsType st = GAMESTATE->GetCurrentStyleDef()->m_StepsType; - for( unsigned i=0; im_vpSteps.size(); i++ ) + const vector& vpSteps = pSong->GetAllSteps(); + for( unsigned i=0; im_vpSteps[i]; + const Steps* pSteps = vpSteps[i]; switch( pSteps->GetDifficulty() ) { case DIFFICULTY_CHALLENGE: @@ -660,9 +661,10 @@ void SongManager::Cleanup() for( unsigned i=0; im_vpSteps.size(); n++ ) + const vector& vpSteps = pSong->GetAllSteps(); + for( unsigned n=0; nm_vpSteps[n]; + Steps* pSteps = vpSteps[n]; pSteps->Compress(); } } @@ -1100,8 +1102,9 @@ static bool CheckPointer( const Steps *p ) const vector &songs = SONGMAN->GetAllSongs(); for( unsigned i = 0; i < songs.size(); ++i ) { - for( unsigned j = 0; j < songs.size(); ++j ) - if( songs[i]->m_vpSteps[j] == p ) + const vector& vpSteps = songs[i]->GetAllSteps(); + for( unsigned j = 0; j < vpSteps.size(); ++j ) + if( vpSteps[j] == p ) return true; } return false;