diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 147a296b36..530d6c89ca 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -66,10 +66,6 @@ ScreenOptions::ScreenOptions( CString sClassName ) : Screen(sClassName) // add everything to m_framePage so we can animate everything at once this->AddChild( &m_framePage ); - m_sprPage.Load( THEME->GetPathToG(sClassName+" page") ); - m_sprPage.SetXY( CENTER_X, CENTER_Y ); - m_framePage.AddChild( &m_sprPage ); - for( int p=0; pGetPathToG(m_sName+" page") ); + m_sprPage->SetName( "Page" ); + UtilSetXYAndOnCommand( m_sprPage, "ScreenOptions" ); + m_framePage.AddChild( m_sprPage ); + // init highlights for( p=0; pIsHumanPlayer(p) ) continue; // skip + m_sprLineHighlight[p].Load( THEME->GetPathToG("ScreenOptions line highlight") ); + m_sprLineHighlight[p].SetName( "LineHighlight" ); + m_sprLineHighlight[p].SetX( CENTER_X ); + m_framePage.AddChild( &m_sprLineHighlight[p] ); + UtilOnCommand( m_sprLineHighlight[p], "ScreenOptions" ); + m_Highlight[p].Load( (PlayerNumber)p, false ); m_framePage.AddChild( &m_Highlight[p] ); } @@ -258,6 +265,10 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi ASSERT(0); } + m_sprFrame.Load( THEME->GetPathToG( "ScreenOptions frame") ); + m_sprFrame->SetXY( CENTER_X, CENTER_Y ); + m_framePage.AddChild( m_sprFrame ); + // poke once at all the explanation metrics so that we catch missing ones early for( r=0; r m_textItems[MAX_OPTION_LINES]; @@ -123,6 +124,7 @@ protected: // derived classes need access to these OptionsCursor m_Underline[NUM_PLAYERS][MAX_OPTION_LINES]; OptionIcon m_OptionIcons[NUM_PLAYERS][MAX_OPTION_LINES]; OptionsCursor m_Highlight[NUM_PLAYERS]; + Sprite m_sprLineHighlight[NUM_PLAYERS]; BitmapText m_textPlayerName[NUM_PLAYERS]; BitmapText m_textExplanation[NUM_PLAYERS];