From 74cbecfa7e9153c4a57637ec26c01f1865285989 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 14 Aug 2005 01:56:37 +0000 Subject: [PATCH] different ScreenMessages sent on pop is expected to be a more commonly used way of communicating between screens; make it easier to use. --- stepmania/src/Screen.cpp | 6 ++++-- stepmania/src/Screen.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index 9a9f7f2f13..1f95960805 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -36,6 +36,8 @@ bool Screen::SortMessagesByDelayRemaining(const Screen::QueuedScreenMessage &m1, void Screen::Init() { + m_smSendOnPop = SM_None; + this->RunCommands( THEME->GetMetricA(m_sName, "ScreenInitCommand") ); vector asList; @@ -197,13 +199,13 @@ void Screen::HandleScreenMessage( const ScreenMessage SM ) break; case SM_GoToNextScreen: if( SCREENMAN->IsStackedScreen(this) ) - SCREENMAN->PopTopScreen( SM_None ); + SCREENMAN->PopTopScreen( m_smSendOnPop ); else SCREENMAN->SetNewScreen( GetNextScreen() ); break; case SM_GoToPrevScreen: if( SCREENMAN->IsStackedScreen(this) ) - SCREENMAN->PopTopScreen( SM_None ); + SCREENMAN->PopTopScreen( m_smSendOnPop ); else SCREENMAN->SetNewScreen( GetPrevScreen() ); break; diff --git a/stepmania/src/Screen.h b/stepmania/src/Screen.h index bf0b61c8e5..eefc3c7394 100644 --- a/stepmania/src/Screen.h +++ b/stepmania/src/Screen.h @@ -79,6 +79,7 @@ protected: // If these are left blank, the NextScreen and PrevScreen metrics will be used. CString m_sNextScreen, m_sPrevScreen; + ScreenMessage m_smSendOnPop; public: