diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 8056869b23..4967a3a1bc 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -201,18 +201,6 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName) } } - Grade best_grade = GRADE_NO_DATA; - for( p=0; pIsExtraStage() || GAMESTATE->IsExtraStage2() ) && - grade[p] > GRADE_FAILED && - m_Type != summary) - UNLOCKSYS->UnlockClearExtraStage(); - } - for( p=0; pUnlockAddAP( grade[p] ); UNLOCKSYS->UnlockAddSP( grade[p] ); UNLOCKSYS->UnlockAddDP( (float)stageStats.iActualDancePoints[p] ); + + // if it's extra stage, update # passed stages + if ( (GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) && + grade[p] > GRADE_FAILED ) + UNLOCKSYS->UnlockClearExtraStage(); break; case course: @@ -775,6 +768,10 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName) for( p=0; pIsPlayerEnabled(p) && (iMachineHighScoreIndex[p] != -1 || iPersonalHighScoreIndex[p] != -1) ) bOneHasNewTopRecord = true; + + Grade best_grade = GRADE_NO_DATA; + for( p=0; pm_bAllowExtraStage && m_bTryExtraStage ) {