diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 37bc4e6c37..1f6d3cef5f 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -503,12 +503,7 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM ) { this->BeginFadingOut(); } - else if( SM == SM_GoToPrevScreen ) - { -// this->ExportOptions(); // Don't save options if we're going back! - this->GoToPrevScreen(); - } - else if( SM == SM_GoToNextScreen ) + else if( SM == SM_ExportOptions ) { for( unsigned r=0; rExportOptions( r, vpns ); } + this->HandleScreenMessage( SM_GoToNextScreen ); + } + else if( SM == SM_GoToNextScreen ) + { this->GoToNextScreen(); } + else if( SM == SM_GoToPrevScreen ) + { + this->GoToPrevScreen(); + } else if( SM == SM_BeginFadingOut ) { if(IsTransitioning()) return; /* already transitioning */ - StartTransitioning( SM_GoToNextScreen ); + StartTransitioning( SM_ExportOptions ); SCREENMAN->PlayStartSound(); diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index 660fdeb193..15c15d0792 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -12,6 +12,8 @@ class OptionRowHandler; +AutoScreenMessage( SM_ExportOptions ) + enum InputMode { INPUTMODE_INDIVIDUAL, // each player controls their own cursor diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index 7cdc4231b9..f4bb3f9d5f 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -212,7 +212,7 @@ void ScreenOptionsMaster::RefreshIcons( int r, PlayerNumber pn ) void ScreenOptionsMaster::HandleScreenMessage( const ScreenMessage SM ) { - if( SM == SM_GoToNextScreen ) + if( SM == SM_ExportOptions ) { // // Override ScreenOptions's calling of ExportOptions @@ -271,7 +271,7 @@ void ScreenOptionsMaster::HandleScreenMessage( const ScreenMessage SM ) CHECKPOINT; if( !(m_iChangeMask & OPT_RESET_GAME) ) - this->GoToNextScreen(); + this->HandleScreenMessage( SM_GoToNextScreen ); } else ScreenOptions::HandleScreenMessage( SM );