From c576001d21de52c7b0d7e39b0d1361d0c2e9d799 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 18 Jun 2005 13:49:40 +0000 Subject: [PATCH] Fix AA all passed stages then fail a stage still shows good ending --- stepmania/src/StatsManager.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/stepmania/src/StatsManager.cpp b/stepmania/src/StatsManager.cpp index 9fc87f7709..3a4c69f429 100644 --- a/stepmania/src/StatsManager.cpp +++ b/stepmania/src/StatsManager.cpp @@ -286,7 +286,23 @@ Grade GetBestFinalGrade() StageStats stats; STATSMAN->GetFinalEvalStageStats( stats ); FOREACH_HumanPlayer( p ) + { + // If this player failed any stage, then their final grade is an F. + bool bPlayerFailedOneStage = false; + FOREACH_CONST( StageStats, STATSMAN->m_vPlayedStageStats, ss ) + { + if( ss->m_player[p].bFailed ) + { + bPlayerFailedOneStage = true; + break; + } + } + + if( bPlayerFailedOneStage ) + continue; + top_grade = min( top_grade, stats.m_player[p].GetGrade() ); + } return top_grade; } LuaFunction_NoArgs( GetBestFinalGrade, GetBestFinalGrade() );