diff --git a/stepmania/src/ScreenWithMenuElements.cpp b/stepmania/src/ScreenWithMenuElements.cpp index a2d020fc26..17e4d9b69c 100644 --- a/stepmania/src/ScreenWithMenuElements.cpp +++ b/stepmania/src/ScreenWithMenuElements.cpp @@ -35,6 +35,7 @@ void ScreenWithMenuElements::Init() LOG->Trace( "ScreenWithMenuElements::Init()" ); PLAY_MUSIC.Load( m_sName, "PlayMusic" ); + CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" ); TIMER_SECONDS.Load( m_sName, "TimerSeconds" ); Screen::Init(); @@ -271,6 +272,13 @@ void ScreenWithMenuElements::TweenOffScreen() void ScreenWithMenuElements::Cancel( ScreenMessage smSendWhenDone ) { + if( CANCEL_TRANSITIONS_OUT ) + { + SCREENMAN->PlayStartSound(); + StartTransitioningScreen( smSendWhenDone ); + return; + } + if( m_Cancel.IsTransitioning() ) return; // ignore diff --git a/stepmania/src/ScreenWithMenuElements.h b/stepmania/src/ScreenWithMenuElements.h index 7c7452f7ec..4475edd485 100644 --- a/stepmania/src/ScreenWithMenuElements.h +++ b/stepmania/src/ScreenWithMenuElements.h @@ -60,6 +60,7 @@ protected: Transition m_Cancel; ThemeMetric PLAY_MUSIC; + ThemeMetric CANCEL_TRANSITIONS_OUT; ThemeMetric TIMER_SECONDS; private: