diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 0cb32bd34e..daace9f6fd 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -1261,7 +1261,7 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_MenuTimer: - MenuStart( PLAYER_INVALID ); + EndScreen(); break; case SM_GoToNextScreen: if(m_bFailed && !PREFSMAN->m_bEventMode && !(GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2()) && GAMESTATE->m_PlayMode == PLAY_MODE_ARCADE) // if failed and not in event mode go to gameover screen @@ -1312,6 +1312,13 @@ void ScreenEvaluation::MenuBack( PlayerNumber pn ) } void ScreenEvaluation::MenuStart( PlayerNumber pn ) +{ + m_soundStart.Play(); + + EndScreen(); +} + +void ScreenEvaluation::EndScreen() { TweenOffScreen(); @@ -1320,8 +1327,6 @@ void ScreenEvaluation::MenuStart( PlayerNumber pn ) GAMESTATE->m_iRoundSeed = rand(); - m_soundStart.Play(); - if( PREFSMAN->m_bEventMode ) { m_Menu.StartTransitioning( SM_GoToNextScreen ); diff --git a/stepmania/src/ScreenEvaluation.h b/stepmania/src/ScreenEvaluation.h index c29b1df521..a0a623a82f 100644 --- a/stepmania/src/ScreenEvaluation.h +++ b/stepmania/src/ScreenEvaluation.h @@ -59,6 +59,7 @@ public: protected: void CommitScores( const StageStats &stageStats, int iPersonalHighScoreIndex[NUM_PLAYERS], int iMachineHighScoreIndex[NUM_PLAYERS], RankingCategory rc[NUM_PLAYERS] ); + void EndScreen(); CString m_sName; Type m_Type;