handle failure in SGameplay, not SContinue; fixes name entry
not knowing a player is finished
This commit is contained in:
@@ -40,12 +40,6 @@ void ScreenContinue::BeginScreen()
|
|||||||
FOREACH_HumanPlayer( p )
|
FOREACH_HumanPlayer( p )
|
||||||
{
|
{
|
||||||
bool bPlayerDone = GAMESTATE->m_iPlayerStageTokens[p] <= 0;
|
bool bPlayerDone = GAMESTATE->m_iPlayerStageTokens[p] <= 0;
|
||||||
if( !STATSMAN->m_vPlayedStageStats.empty() )
|
|
||||||
{
|
|
||||||
const StageStats &ss = STATSMAN->m_vPlayedStageStats.back();
|
|
||||||
if( ss.m_player[p].m_bFailed )
|
|
||||||
bPlayerDone = true;
|
|
||||||
}
|
|
||||||
if( bPlayerDone )
|
if( bPlayerDone )
|
||||||
GAMESTATE->UnjoinPlayer( p );
|
GAMESTATE->UnjoinPlayer( p );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2246,6 +2246,13 @@ void ScreenGameplay::StageFinished( bool bBackedOut )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If all players failed, kill. */
|
||||||
|
if( STATSMAN->m_CurStageStats.AllFailed() )
|
||||||
|
{
|
||||||
|
FOREACH_HumanPlayer( p )
|
||||||
|
GAMESTATE->m_iPlayerStageTokens[p] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// save current stage stats
|
// save current stage stats
|
||||||
STATSMAN->m_vPlayedStageStats.push_back( STATSMAN->m_CurStageStats );
|
STATSMAN->m_vPlayedStageStats.push_back( STATSMAN->m_CurStageStats );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user