From 02a889c265cc3c17e7d1cecaabf461da1309c9e3 Mon Sep 17 00:00:00 2001 From: Freaky Mutant Man Date: Sun, 12 Oct 2025 17:23:20 +0000 Subject: [PATCH] Make hidden rank system compatible with any gametype in the special stage slot. --- src/g_game.c | 2 +- src/k_rank.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index ba93a32ea..5f908b6a1 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -5917,7 +5917,7 @@ void G_SetRetryFlag(void) { if (retrying == false && grandprixinfo.gp) { - if (!specialstageinfo.valid) + if (grandprixinfo.eventmode != GPEVENT_SPECIAL) grandprixinfo.rank.continuesUsed++; grandprixinfo.rank.levels[grandprixinfo.rank.numLevels].continues++; } diff --git a/src/k_rank.cpp b/src/k_rank.cpp index 3e56857a0..a3f5ff835 100644 --- a/src/k_rank.cpp +++ b/src/k_rank.cpp @@ -577,9 +577,8 @@ gp_rank_e K_CalculateGPGrade(gpRank_t *rankData) // If our last map was Special, check for "uncredited" continues to offset the rank bump. fixed_t hiddenpercent = percent; gpRank_level_t *lastgrade = &rankData->levels[rankData->numLevels - 1]; - UINT32 id = lastgrade->id; - if (rankData->specialWon && (mapheaderinfo[id-1]->typeoflevel & G_TOLFlag(GT_SPECIAL))) + if (rankData->specialWon) { hiddenpercent -= FRACUNIT / RANK_CONTINUE_PENALTY_DIV * lastgrade->continues; }