fix skips in BGAnimation on first update
This commit is contained in:
@@ -142,16 +142,18 @@ void ScreenManager::Update( float fDeltaTime )
|
|||||||
*/
|
*/
|
||||||
ASSERT( !m_ScreenStack.empty() || m_sDelayedScreen != "" ); // Why play the game if there is nothing showing?
|
ASSERT( !m_ScreenStack.empty() || m_sDelayedScreen != "" ); // Why play the game if there is nothing showing?
|
||||||
|
|
||||||
m_pSharedBGA->Update( fDeltaTime );
|
Screen* pScreen = m_ScreenStack.empty() ? NULL : GetTopScreen();
|
||||||
|
|
||||||
if( !m_ScreenStack.empty() )
|
/* Loading a new screen can take seconds and cause a big jump on the new
|
||||||
{
|
* Screen's first update. Clamp the first update delta so that the
|
||||||
Screen* pScreen = GetTopScreen();
|
* animations don't jump. */
|
||||||
if( pScreen->IsFirstUpdate() )
|
if( pScreen && pScreen->IsFirstUpdate() )
|
||||||
pScreen->Update( 0 );
|
fDeltaTime = 0;
|
||||||
else
|
|
||||||
pScreen->Update( fDeltaTime );
|
if( pScreen )
|
||||||
}
|
pScreen->Update( fDeltaTime );
|
||||||
|
|
||||||
|
m_pSharedBGA->Update( fDeltaTime );
|
||||||
|
|
||||||
m_SystemLayer->Update( fDeltaTime );
|
m_SystemLayer->Update( fDeltaTime );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user