diff --git a/stepmania/src/ScreenStage.cpp b/stepmania/src/ScreenStage.cpp index 3441366b57..30e15ce8e2 100644 --- a/stepmania/src/ScreenStage.cpp +++ b/stepmania/src/ScreenStage.cpp @@ -30,6 +30,8 @@ void ScreenStage::Init() { Screen::Init(); + ALLOW_BACK.Load( m_sName, "AllowBack" ); + m_bZeroDeltaOnNextUpdate = false; SOUND->StopMusic(); @@ -148,6 +150,9 @@ void ScreenStage::MenuBack( PlayerNumber pn ) if( m_In.IsTransitioning() || m_Out.IsTransitioning() || m_Back.IsTransitioning() ) return; + if( !ALLOW_BACK.GetValue() ) + return; + this->ClearMessageQueue(); m_Back.StartTransitioning( SM_GoToPrevScreen ); SOUND->PlayOnce( THEME->GetPathS("Common","back") ); diff --git a/stepmania/src/ScreenStage.h b/stepmania/src/ScreenStage.h index d17837e3c3..9154a749d0 100644 --- a/stepmania/src/ScreenStage.h +++ b/stepmania/src/ScreenStage.h @@ -9,6 +9,7 @@ #include "Character.h" #include "BitmapText.h" #include "ActorUtil.h" +#include "ThemeMetric.h" class ScreenStage : public Screen { @@ -21,6 +22,8 @@ public: virtual void MenuBack( PlayerNumber pn ); private: + ThemeMetric ALLOW_BACK; + Transition m_In, m_Out, m_Back; AutoActor m_Overlay; // overlays all elements except bitmaptexts BitmapText m_SongTitle;