diff --git a/stepmania/src/ScreenWithMenuElements.cpp b/stepmania/src/ScreenWithMenuElements.cpp index 1e3ada9f75..7ab09f6397 100644 --- a/stepmania/src/ScreenWithMenuElements.cpp +++ b/stepmania/src/ScreenWithMenuElements.cpp @@ -19,10 +19,11 @@ ScreenWithMenuElements::ScreenWithMenuElements( CString sClassName ) : Screen( sClassName ) { LOG->Trace( "ScreenWithMenuElements::ScreenWithMenuElements()" ); - + m_MenuTimer = new MenuTimer; m_textHelp = new HelpDisplay; + m_FirstUpdateCommand.Load( sClassName, "FirstUpdateCommand" ); LOG->Trace( "MenuElements::MenuElements()" ); @@ -112,6 +113,17 @@ ScreenWithMenuElements::~ScreenWithMenuElements() SAFE_DELETE( m_textHelp ); } +void ScreenWithMenuElements::Update( float fDeltaTime ) +{ + if( m_bFirstUpdate ) + { + /* Evaluate FirstUpdateCommand. */ + this->RunCommands( m_FirstUpdateCommand ); + } + + Screen::Update( fDeltaTime ); +} + void ScreenWithMenuElements::ResetTimer() { if( TIMER_SECONDS > 0.0f && (PREFSMAN->m_bMenuTimer || FORCE_TIMER) && !GAMESTATE->m_bEditing ) diff --git a/stepmania/src/ScreenWithMenuElements.h b/stepmania/src/ScreenWithMenuElements.h index 77faecadbd..3ed8baa398 100644 --- a/stepmania/src/ScreenWithMenuElements.h +++ b/stepmania/src/ScreenWithMenuElements.h @@ -7,6 +7,7 @@ #include "ActorUtil.h" #include "RageSound.h" #include "MemoryCardDisplay.h" +#include "ThemeMetric.h" class MenuTimer; class HelpDisplay; @@ -17,6 +18,7 @@ public: ScreenWithMenuElements( CString sName ); virtual ~ScreenWithMenuElements(); + void Update( float fDeltaTime ); void StartTransitioning( ScreenMessage smSendWhenDone ); void Back( ScreenMessage smSendWhenDone ); bool IsTransitioning(); @@ -34,6 +36,7 @@ protected: AutoActor m_autoFooter; HelpDisplay *m_textHelp; AutoActor m_sprOverlay; + ThemeMetric m_FirstUpdateCommand; Transition m_In; Transition m_Out;