handle failure in SGameplay, not SContinue; fixes name entry

not knowing a player is finished
This commit is contained in:
Glenn Maynard
2007-04-25 04:03:20 +00:00
parent 508e61131b
commit 7f6a237cdd
2 changed files with 7 additions and 6 deletions
-6
View File
@@ -40,12 +40,6 @@ void ScreenContinue::BeginScreen()
FOREACH_HumanPlayer( p )
{
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 )
GAMESTATE->UnjoinPlayer( p );
}
+7
View File
@@ -2246,6 +2246,13 @@ void ScreenGameplay::StageFinished( bool bBackedOut )
return;
}
/* If all players failed, kill. */
if( STATSMAN->m_CurStageStats.AllFailed() )
{
FOREACH_HumanPlayer( p )
GAMESTATE->m_iPlayerStageTokens[p] = 0;
}
// save current stage stats
STATSMAN->m_vPlayedStageStats.push_back( STATSMAN->m_CurStageStats );