ScreenBranch shouldn't try to load a background

This commit is contained in:
Chris Danford
2004-12-11 09:50:09 +00:00
parent 104b18f820
commit 2185c82ff8
3 changed files with 16 additions and 11 deletions
+1
View File
@@ -35,6 +35,7 @@ public:
void ClearMessageQueue( const ScreenMessage SM ); // clear of a specific SM
bool IsTransparent() const { return m_bIsTransparent; }
virtual bool UsesBackground() const { return true; } // override and set false if this screen shouldn't load a background
static bool ChangeCoinModeInput( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); // return true if CoinMode changed
static bool JoinInput( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); // return true if a player joined
+2
View File
@@ -12,6 +12,8 @@ public:
virtual void HandleScreenMessage( const ScreenMessage SM );
virtual bool UsesBackground() const { return false; }
private:
CString m_sChoice;
};
+13 -11
View File
@@ -338,19 +338,21 @@ retry:
// Load shared BGAnimation
CString sNewBGA = THEME->GetPathToB(sScreenName+" background");
if( m_sLastLoadedBackground != sNewBGA )
if( pNewScreen->UsesBackground() )
{
// Create the new background before deleting the previous so that we keep
// any common textures loaded.
BGAnimation *pNewBGA = new BGAnimation;
pNewBGA->LoadFromAniDir( sNewBGA );
SAFE_DELETE( m_pSharedBGA );
m_pSharedBGA = pNewBGA;
CString sNewBGA = THEME->GetPathToB(sScreenName+" background");
if( m_sLastLoadedBackground != sNewBGA )
{
// Create the new background before deleting the previous so that we keep
// any common textures loaded.
BGAnimation *pNewBGA = new BGAnimation;
pNewBGA->LoadFromAniDir( sNewBGA );
SAFE_DELETE( m_pSharedBGA );
m_pSharedBGA = pNewBGA;
m_sLastLoadedBackground = sNewBGA;
}
m_sLastLoadedBackground = sNewBGA;
}
}
if( pOldTopScreen!=NULL && m_ScreenStack.back()!=pOldTopScreen )
{