From cf06498ff3fc1368e864bad4b08da21035eec2c2 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 11 Jan 2004 09:26:01 +0000 Subject: [PATCH] fix ending never fades out if no memory cards removed --- stepmania/src/ScreenEnding.cpp | 45 +++++++++++++++++----------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/stepmania/src/ScreenEnding.cpp b/stepmania/src/ScreenEnding.cpp index fb1283b908..03f43ae4c7 100644 --- a/stepmania/src/ScreenEnding.cpp +++ b/stepmania/src/ScreenEnding.cpp @@ -133,30 +133,31 @@ void ScreenEnding::Update( float fDeltaTime ) { ScreenAttract::Update( fDeltaTime ); - bool bRemovedOneOrMore = false; - bool bAllRemoved = true; - - for( int p=0; pGetCardState((PlayerNumber)p)!=MEMORY_CARD_STATE_NO_CARD; - if( m_bWaitingForRemoveCard[p] ) - { - bAllRemoved = false; - } - else - { - m_sprRemoveMemoryCard[p].SetHidden( true ); - bRemovedOneOrMore = true; - } - } - } - m_fTimeUntilBeginFadingOut = max( 0, m_fTimeUntilBeginFadingOut-fDeltaTime ); - if( bRemovedOneOrMore && bAllRemoved ) - this->PostScreenMessage( SM_BeginFadingOut, m_fTimeUntilBeginFadingOut ); + if( !m_In.IsTransitioning() && !m_Out.IsTransitioning() ) + { + bool bAllRemoved = true; + + for( int p=0; pGetCardState((PlayerNumber)p)!=MEMORY_CARD_STATE_NO_CARD; + if( m_bWaitingForRemoveCard[p] ) + { + bAllRemoved = false; + } + else + { + m_sprRemoveMemoryCard[p].SetHidden( true ); + } + } + } + + if( bAllRemoved ) + this->PostScreenMessage( SM_BeginFadingOut, m_fTimeUntilBeginFadingOut ); + } } void ScreenEnding::HandleScreenMessage( const ScreenMessage SM )