course 2p fixes

This commit is contained in:
Glenn Maynard
2007-04-29 19:54:56 +00:00
parent 080d39351b
commit eb792833d6
4 changed files with 10 additions and 7 deletions
+6 -3
View File
@@ -713,11 +713,14 @@ bool Course::AllSongsAreFixed() const
return true; return true;
} }
const Style *Course::GetCourseStyle( const Game *pGame ) const const Style *Course::GetCourseStyle( const Game *pGame, int iNumPlayers ) const
{ {
for( int s=0; pGame->m_apStyles[s]; ++s ) vector<const Style*> vpStyles;
GAMEMAN->GetCompatibleStyles( pGame, iNumPlayers, vpStyles );
for( int s=0; s < (int) vpStyles.size(); ++s )
{ {
const Style *pStyle = pGame->m_apStyles[s]; const Style *pStyle = vpStyles[s];
FOREACHS_CONST( RString, m_setStyles, style ) FOREACHS_CONST( RString, m_setStyles, style )
{ {
if( !style->CompareNoCase(pStyle->m_szName) ) if( !style->CompareNoCase(pStyle->m_szName) )
+1 -1
View File
@@ -124,7 +124,7 @@ public:
int GetMeter( StepsType st, CourseDifficulty cd=Difficulty_Medium ) const; int GetMeter( StepsType st, CourseDifficulty cd=Difficulty_Medium ) const;
bool HasMods() const; bool HasMods() const;
bool AllSongsAreFixed() const; bool AllSongsAreFixed() const;
const Style *GetCourseStyle( const Game *pGame ) const; const Style *GetCourseStyle( const Game *pGame, int iNumPlayers ) const;
int GetEstimatedNumStages() const { return m_vEntries.size(); } int GetEstimatedNumStages() const { return m_vEntries.size(); }
bool IsPlayableIn( StepsType st ) const; bool IsPlayableIn( StepsType st ) const;
+1 -1
View File
@@ -998,7 +998,7 @@ void MusicWheel::SetOpenGroup( RString group )
/* If AUTO_SET_STYLE, hide courses that prefer a style that isn't available. */ /* If AUTO_SET_STYLE, hide courses that prefer a style that isn't available. */
if( d.m_Type == TYPE_COURSE && CommonMetrics::AUTO_SET_STYLE ) if( d.m_Type == TYPE_COURSE && CommonMetrics::AUTO_SET_STYLE )
{ {
const Style *pStyle = d.m_pCourse->GetCourseStyle( GAMESTATE->m_pCurGame ); const Style *pStyle = d.m_pCourse->GetCourseStyle( GAMESTATE->m_pCurGame, GAMESTATE->GetNumSidesJoined() );
if( pStyle ) if( pStyle )
{ {
if( find( vpPossibleStyles.begin(), vpPossibleStyles.end(), pStyle ) == vpPossibleStyles.end() ) if( find( vpPossibleStyles.begin(), vpPossibleStyles.end(), pStyle ) == vpPossibleStyles.end() )
+2 -2
View File
@@ -894,7 +894,7 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
/* Now that Steps have been chosen, set a Style that can play them. */ /* Now that Steps have been chosen, set a Style that can play them. */
const Style *pStyle = NULL; const Style *pStyle = NULL;
if( GAMESTATE->IsCourseMode() ) if( GAMESTATE->IsCourseMode() )
pStyle = GAMESTATE->m_pCurCourse->GetCourseStyle( GAMESTATE->m_pCurGame ); pStyle = GAMESTATE->m_pCurCourse->GetCourseStyle( GAMESTATE->m_pCurGame, GAMESTATE->GetNumSidesJoined() );
if( pStyle == NULL ) if( pStyle == NULL )
{ {
StepsType stCurrent; StepsType stCurrent;
@@ -1179,7 +1179,7 @@ void ScreenSelectMusic::AfterMusicChange()
const Course *pCourse = m_MusicWheel.GetSelectedCourse(); const Course *pCourse = m_MusicWheel.GetSelectedCourse();
const Style *pStyle = NULL; const Style *pStyle = NULL;
if( CommonMetrics::AUTO_SET_STYLE ) if( CommonMetrics::AUTO_SET_STYLE )
pStyle = pCourse->GetCourseStyle( GAMESTATE->m_pCurGame ); pStyle = pCourse->GetCourseStyle( GAMESTATE->m_pCurGame, GAMESTATE->GetNumSidesJoined() );
if( pStyle == NULL ) if( pStyle == NULL )
pStyle = GAMESTATE->GetCurrentStyle(); pStyle = GAMESTATE->GetCurrentStyle();
pCourse->GetTrails( m_vpTrails, pStyle->m_StepsType ); pCourse->GetTrails( m_vpTrails, pStyle->m_StepsType );