Use Init() for all screens, so we can set state before the base class
members are loaded--they'll see resets, score finalization, etc. It also results in smaller code, due to a g++ bug that causes constructors to be emitted several times.
This commit is contained in:
@@ -68,11 +68,17 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme
|
||||
|
||||
LIGHTSMAN->SetLightsMode( LIGHTSMODE_MENU );
|
||||
|
||||
m_DisplayMode = GAMESTATE->IsCourseMode() ? DISPLAY_COURSES : DISPLAY_SONGS;
|
||||
|
||||
/* Finish any previous stage. It's OK to call this when we havn't played a stage yet.
|
||||
* Do this before anything that might look at GAMESTATE->m_iCurrentStageIndex. */
|
||||
GAMESTATE->FinishStage();
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectMusic::Init()
|
||||
{
|
||||
ScreenWithMenuElements::Init();
|
||||
|
||||
m_DisplayMode = GAMESTATE->IsCourseMode() ? DISPLAY_COURSES : DISPLAY_SONGS;
|
||||
|
||||
/* Cache: */
|
||||
g_sFallbackCDTitlePath = THEME->GetPathG(m_sName,"fallback cdtitle");
|
||||
|
||||
Reference in New Issue
Block a user