Remove backgrounds on screens. Have one shared background that persists across screens.

This commit is contained in:
Chris Danford
2004-12-09 08:16:18 +00:00
parent 08964e340b
commit b6d711b3c1
18 changed files with 92 additions and 93 deletions
+7 -9
View File
@@ -31,11 +31,6 @@ ScreenStage::ScreenStage( CString sClassName ) : Screen( sClassName )
LIGHTSMAN->SetLightsMode( LIGHTSMODE_STAGE );
m_Background.LoadFromAniDir( THEME->GetPathToB(m_sName + " "+GAMESTATE->GetStageText()) );
m_Background.SetDrawOrder( DRAW_ORDER_BEFORE_EVERYTHING );
this->AddChild( &m_Background );
m_Overlay.SetName( "Overlay" );
m_Overlay.LoadFromAniDir( THEME->GetPathToB(m_sName + " overlay"));
ON_COMMAND( m_Overlay );
@@ -54,9 +49,6 @@ ScreenStage::ScreenStage( CString sClassName ) : Screen( sClassName )
m_Back.SetDrawOrder( DRAW_ORDER_TRANSITIONS );
this->AddChild( &m_Back );
/* Prep the new screen once m_In is complete. */
this->PostScreenMessage( SM_PrepScreen, m_Background.GetLengthSeconds() );
FOREACH_PlayerNumber(p)
{
Character* pChar = GAMESTATE->m_pCurCharacters[p];
@@ -123,7 +115,8 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
OFF_COMMAND( m_SongTitle );
OFF_COMMAND( m_Artist );
OFF_COMMAND( m_Banner );
OFF_COMMAND( m_Background );
SCREENMAN->PlaySharedBackgroundOffCommand();
this->PostScreenMessage( SM_GoToNextScreen, this->GetTweenTimeLeft() );
@@ -140,6 +133,11 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
void ScreenStage::Update( float fDeltaTime )
{
// The shared BGA isn't loaded until after the screen is showing. It is ready
// to access by the time of the first update.
if( IsFirstUpdate() )
this->PostScreenMessage( SM_PrepScreen, SCREENMAN->m_pSharedBGA->GetLengthSeconds() );
if( m_bZeroDeltaOnNextUpdate )
{
m_bZeroDeltaOnNextUpdate = false;