From 31075451d6ce98991154f899057025fb54cbce7a Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 24 Aug 2002 02:46:09 +0000 Subject: [PATCH] Go back to the correct screen when backing out of the options menu in oni/endless. --- stepmania/src/ScreenPlayerOptions.cpp | 7 ++++++- stepmania/src/ScreenSelectDifficulty.cpp | 10 +++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 406a5d64b5..c12f975a96 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -24,6 +24,7 @@ #include "GameManager.h" #include "GameState.h" #include "RageSound.h" +#include "ScreenSelectCourse.h" enum { @@ -131,7 +132,11 @@ void ScreenPlayerOptions::ExportOptions() void ScreenPlayerOptions::GoToPrevState() { - SCREENMAN->SetNewScreen( new ScreenSelectMusic ); + if(GAMESTATE->m_PlayMode == PLAY_MODE_ONI || + GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS) + SCREENMAN->SetNewScreen( new ScreenSelectCourse ); + else + SCREENMAN->SetNewScreen( new ScreenSelectMusic ); } void ScreenPlayerOptions::GoToNextState() diff --git a/stepmania/src/ScreenSelectDifficulty.cpp b/stepmania/src/ScreenSelectDifficulty.cpp index 80c792d7e7..c98cc06805 100644 --- a/stepmania/src/ScreenSelectDifficulty.cpp +++ b/stepmania/src/ScreenSelectDifficulty.cpp @@ -295,19 +295,23 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM ) case 1: case 2: // something on page 1 was chosen GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE; - SCREENMAN->SetNewScreen( new ScreenSelectGroup ); break; case 3: GAMESTATE->m_PlayMode = PLAY_MODE_ONI; - SCREENMAN->SetNewScreen( new ScreenSelectCourse ); break; case 4: GAMESTATE->m_PlayMode = PLAY_MODE_ENDLESS; - SCREENMAN->SetNewScreen( new ScreenSelectCourse ); break; default: ASSERT(0); // bad selection } + + if(GAMESTATE->m_PlayMode == PLAY_MODE_ONI || + GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS) + SCREENMAN->SetNewScreen( new ScreenSelectCourse ); + else + SCREENMAN->SetNewScreen( new ScreenSelectGroup ); + break; case SM_StartTweeningOffScreen: TweenOffScreen();