From ceae24f23904830ef92bb01eb1792d25a715ab7f Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 1 May 2024 16:48:26 +0100 Subject: [PATCH] G_GetNextMap: More ironclad behaviour for encore update deferral Resolves CallieMacN's bug --- src/g_game.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index 079b7bbab..af1cf5c00 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4128,7 +4128,23 @@ void G_GetNextMap(void) return; } - deferencoremode = (cv_kartencore.value == 1); + // tee up an Encore status (overridden by roundqueue, if applicable) + if (grandprixinfo.gp) + { + // Inherit from GP + deferencoremode = grandprixinfo.encore; + } + else if (K_CanChangeRules(true)) + { + // Use cvar + deferencoremode = (cv_kartencore.value == 1); + } + else + { + // Inherit from current state + deferencoremode = encoremode; + } + forceresetplayers = forcespecialstage = false; // go to next level