diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index 262c68f589..c360768cb1 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -16,6 +16,7 @@ Screen::Screen() { + m_FirstUpdate = true; } Screen::~Screen() @@ -100,4 +101,11 @@ void Screen::SendScreenMessage( ScreenMessage SM, float fDelay ) QSM.SM = SM; QSM.fDelayRemaining = fDelay; m_QueuedMessages.Add( QSM ); -} \ No newline at end of file +} + +bool Screen::FirstUpdate() +{ + bool ret = m_FirstUpdate; + m_FirstUpdate = false; + return ret; +} diff --git a/stepmania/src/Screen.h b/stepmania/src/Screen.h index 9c567403ac..9b7501ed1c 100644 --- a/stepmania/src/Screen.h +++ b/stepmania/src/Screen.h @@ -40,6 +40,9 @@ public: void SendScreenMessage( const ScreenMessage SM, const float fDelay ); void ClearMessageQueue() { m_QueuedMessages.SetSize(0,5); }; + /* Used only by ScreenManager::Update. */ + bool FirstUpdate(); + protected: // structure for holding messages sent to a Screen @@ -65,4 +68,7 @@ public: virtual void MenuRight( PlayerNumber p ) {}; virtual void MenuStart( PlayerNumber p ) {}; virtual void MenuBack( PlayerNumber p ) {}; + +private: + bool m_FirstUpdate; };