From b114bc6965c8fd0819a7cfc4cd3f98a5fbd4c599 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 17 May 2003 20:45:45 +0000 Subject: [PATCH] fix select screen announcer playing too early --- stepmania/src/ScreenSelect.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/stepmania/src/ScreenSelect.cpp b/stepmania/src/ScreenSelect.cpp index 8658f2bce8..b41a9f594b 100644 --- a/stepmania/src/ScreenSelect.cpp +++ b/stepmania/src/ScreenSelect.cpp @@ -130,10 +130,6 @@ ScreenSelect::ScreenSelect( CString sClassName ) : Screen(sClassName) m_Menu.Load( sClassName ); this->AddChild( &m_Menu ); - - SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo(m_sName+" intro") ); - - SOUNDMAN->PlayMusic( THEME->GetPathToS(m_sName+" music") ); } @@ -144,6 +140,13 @@ ScreenSelect::~ScreenSelect() void ScreenSelect::Update( float fDelta ) { + if(m_bFirstUpdate) + { + /* Don't play sounds during the ctor, since derived classes havn't loaded yet. */ + SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo(m_sName+" intro") ); + SOUNDMAN->PlayMusic( THEME->GetPathToS(m_sName+" music") ); + } + Screen::Update( fDelta ); m_BGAnimations[ this->GetSelectionIndex(GAMESTATE->m_MasterPlayerNumber) ].Update( fDelta ); }