From 3bd0fd83307ab5bc37f8404a428734205c32d2a6 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 31 Mar 2023 18:38:29 +0100 Subject: [PATCH] G_ExitLevel: Fix K_PlayerFinishGrandPrix not being called in Sealed Star Fixes Emerald collection not being recorded --- src/g_game.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 1a4389c67..d0d875464 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -3194,6 +3194,17 @@ void G_ExitLevel(void) UINT8 i; boolean doretry = false; + if (grandprixinfo.gp == true) + { + for (i = 0; i < MAXPLAYERS; i++) + { + if (playeringame[i] && !players[i].spectator) + { + K_PlayerFinishGrandPrix(&players[i]); + } + } + } + if (!G_GametypeUsesLives()) ; // never force a retry else if (specialstageinfo.valid == true || (gametyperules & GTR_BOSS)) @@ -3213,14 +3224,6 @@ void G_ExitLevel(void) } else if (grandprixinfo.gp == true && grandprixinfo.eventmode == GPEVENT_NONE) { - for (i = 0; i < MAXPLAYERS; i++) - { - if (playeringame[i] && !players[i].spectator) - { - K_PlayerFinishGrandPrix(&players[i]); - } - } - doretry = (grandprixinfo.wonround != true); }