Fix bugs 1509452 (failing extra stage causes game over) and 1508308 (setting ShowEvaluationOnFail=1 is ignored).

This commit is contained in:
Steve Checkoway
2006-06-22 11:36:42 +00:00
parent 96a173d753
commit f16e921945
@@ -87,8 +87,9 @@ function GetEvaluationNextScreen( sNextScreen, sFailedScreen, sEndScreen )
return sNextScreen return sNextScreen
end end
local bIsExtraStage = GAMESTATE:IsExtraStage() or GAMESTATE:IsExtraStage2()
-- Not in event mode. If failed, go to the game over screen. -- Not in event mode. If failed, go to the game over screen.
if STATSMAN:GetCurStageStats():AllFailed() then if STATSMAN:GetCurStageStats():AllFailed() and not bIsExtraStage then
Trace( "Failed" ) Trace( "Failed" )
return sFailedScreen return sFailedScreen
end end
@@ -97,7 +98,7 @@ function GetEvaluationNextScreen( sNextScreen, sFailedScreen, sEndScreen )
if sIsStage then if sIsStage then
local bHasAnotherStage = GAMESTATE:HasEarnedExtraStage() local bHasAnotherStage = GAMESTATE:HasEarnedExtraStage()
bHasAnotherStage = bHasAnotherStage or not bHasAnotherStage = bHasAnotherStage or not
(GAMESTATE:IsFinalStage() or GAMESTATE:IsExtraStage() or GAMESTATE:IsExtraStage2() ) (GAMESTATE:IsFinalStage() or bIsExtraStage )
if bHasAnotherStage then if bHasAnotherStage then
Trace( "Another" ) Trace( "Another" )
return sNextScreen return sNextScreen
@@ -142,7 +143,8 @@ function GetGameplayNextScreen()
Trace( " Event mode = "..tostring(IsEventMode()) ) Trace( " Event mode = "..tostring(IsEventMode()) )
if Passed or GAMESTATE:IsCourseMode() or if Passed or GAMESTATE:IsCourseMode() or
GAMESTATE:IsExtraStage() or GAMESTATE:IsExtraStage2() GAMESTATE:IsExtraStage() or GAMESTATE:IsExtraStage2() or
GetTopScreenMetric( "ShowEvaluationOnFail" ) == "1"
then then
Trace( "Go to evaluation screen" ) Trace( "Go to evaluation screen" )
return SelectEvaluationScreen() return SelectEvaluationScreen()