diff --git a/src/m_menu.c b/src/m_menu.c index 5b85f65df..fdff4a0a1 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -4751,7 +4751,7 @@ static void M_DrawPauseMenu(void) emblemslot = 2; break; case ET_NGRADE: - snprintf(targettext, 9, "%u", P_GetScoreForGrade(gamemap, 0, emblem->var)); + snprintf(targettext, 9, "%u", P_GetScoreForGradeOverall(gamemap, emblem->var)); snprintf(currenttext, 9, "%u", G_GetBestNightsScore(gamemap, 0)); targettext[8] = 0; diff --git a/src/p_setup.c b/src/p_setup.c index a1c96bed3..bdcb3b217 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -508,6 +508,17 @@ UINT32 P_GetScoreForGrade(INT16 map, UINT8 mare, UINT8 grade) return mapheaderinfo[map-1]->grades[mare].grade[grade-1]; } +UINT32 P_GetScoreForGradeOverall(INT16 map, UINT8 grade) +{ + UINT8 mares; + INT32 i; + UINT32 score = 0; + mares = mapheaderinfo[map-1]->numGradedMares; + for (i = 0; i < mares; ++i) + score += P_GetScoreForGrade(map, i, grade); + return score; +} + // // levelflats // diff --git a/src/p_setup.h b/src/p_setup.h index 9cb44ed59..d0c47a521 100644 --- a/src/p_setup.h +++ b/src/p_setup.h @@ -122,5 +122,6 @@ void P_AddGradesForMare(INT16 i, UINT8 mare, char *gtext); UINT8 P_GetGrade(UINT32 pscore, INT16 map, UINT8 mare); UINT8 P_HasGrades(INT16 map, UINT8 mare); UINT32 P_GetScoreForGrade(INT16 map, UINT8 mare, UINT8 grade); +UINT32 P_GetScoreForGradeOverall(INT16 map, UINT8 grade); #endif