diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 3adfbef3ef..788d26f5df 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -182,6 +182,7 @@ void ScreenOptions::Init() m_framePage.AddChild( m_sprMore ); m_OptionRowType.Load( m_sName ); + m_bFirstTime = true; } void ScreenOptions::InitMenu( const vector &vHands ) @@ -300,7 +301,11 @@ void ScreenOptions::BeginScreen() { ScreenWithMenuElements::BeginScreen(); - RestartOptions(); + if( m_bFirstTime ) + { + RestartOptions(); + m_bFirstTime = false; + } FOREACH_PlayerNumber( p ) m_bGotAtLeastOneStartPressed[p] = false; diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index fd30062c27..71b3fe6bee 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -103,6 +103,7 @@ protected: // derived classes need access to these int m_iFocusX[NUM_PLAYERS]; bool m_bWasOnExit[NUM_PLAYERS]; + bool m_bFirstTime; // TRICKY: People hold Start to get to PlayerOptions, then // the repeat events cause them to zip to the bottom. So, ignore