diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 7cad0bd5d7..e14bc74211 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -3183,6 +3183,7 @@ TimerSeconds=0 [ScreenAttract] StartScreen=@ScreenTitleBranch() Fallback=ScreenWithMenuElementsBlank +BackGoesToStartScreen=1 [ScreenWithMenuElementsBlank] Fallback=ScreenWithMenuElements diff --git a/stepmania/src/ScreenAttract.cpp b/stepmania/src/ScreenAttract.cpp index 5aef2f52f6..c995c33556 100644 --- a/stepmania/src/ScreenAttract.cpp +++ b/stepmania/src/ScreenAttract.cpp @@ -19,6 +19,8 @@ #define NEXT_SCREEN THEME->GetMetric (m_sName,"NextScreen") #define START_SCREEN(sScreenName) THEME->GetMetric (sScreenName,"StartScreen") +ThemeMetric BACK_GOES_TO_START_SCREEN( "ScreenAttract", "BackGoesToStartScreen" ); + REGISTER_SCREEN_CLASS( ScreenAttract ); ScreenAttract::ScreenAttract( CString sName, bool bResetGameState ) : ScreenWithMenuElements( sName ) { @@ -62,8 +64,11 @@ void ScreenAttract::AttractInput( const DeviceInput& DeviceI, const InputEventTy { switch( MenuI.button ) { - case MENU_BUTTON_START: case MENU_BUTTON_BACK: + if( !(bool)BACK_GOES_TO_START_SCREEN ) + break; + // fall through + case MENU_BUTTON_START: case MENU_BUTTON_COIN: switch( GAMESTATE->GetCoinMode() ) {