fix stage count problems

This commit is contained in:
Glenn Maynard
2004-10-09 15:18:42 +00:00
parent 299ab2cf1a
commit 39c30e2f37
+6 -5
View File
@@ -1394,11 +1394,6 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM )
break;
case SM_GoToNextScreen:
{
/* Hack: finish the stage before moving on. This will increment the stage
* counter. If we don't do this, the stage counter will be wrong for
* ScreenSelectMusic code which is called before the ctor. */
GAMESTATE->FinishStage();
if( PREFSMAN->m_bEventMode )
SCREENMAN->SetNewScreen( NEXT_SCREEN );
else
@@ -1419,6 +1414,12 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM )
case stage:
if( m_bTryExtraStage || !(GAMESTATE->IsFinalStage() || GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) )
{
/* Hack: finish the stage before moving on. This will increment the stage
* counter. If we don't do this, the stage counter will be wrong for
* ScreenSelectMusic code which is called before the ctor. Watch out;
* calling this will change the results of IsFinalStage(), etc. */
GAMESTATE->FinishStage();
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}