Fix bugs 1509452 (failing extra stage causes game over) and 1508308 (setting ShowEvaluationOnFail=1 is ignored).
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user