diff --git a/src/m_menu.c b/src/m_menu.c index 5b85f65df0cc108d15d55756715c030bd5b55412..fdff4a0a1392ed6c1eea6c47a01f758930a56016 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 a1c96bed3f52d39ae4f82eb0bb3168de5c0e78cf..bdcb3b217f1651e3a3aa18af22d0368d39ad1a0c 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 9cb44ed5979e04d10accc4d64403a736b1810b0c..d0c47a521e8407aa22782a92c6e898a7bcafb266 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