From c6a68f69ce7e4f894866035a3ff7ada544b179d6 Mon Sep 17 00:00:00 2001 From: Sally Coolatta <tehrealsalt@gmail.com> Date: Sun, 4 Feb 2024 01:22:11 -0500 Subject: [PATCH] Update unlockables before level load executors Another issue that seems related to #1122 --- src/p_setup.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index 851231c42..0eafda9da 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -7913,6 +7913,24 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) if (!P_LoadMapFromFile()) return false; + if (!demoplayback) + { + clientGamedata->mapvisited[gamemap-1] |= MV_VISITED; + serverGamedata->mapvisited[gamemap-1] |= MV_VISITED; + + M_SilentUpdateUnlockablesAndEmblems(serverGamedata); + + if (M_UpdateUnlockablesAndExtraEmblems(clientGamedata)) + { + S_StartSound(NULL, sfx_s3k68); + G_SaveGameData(clientGamedata); + } + else if (!reloadinggamestate) + { + G_SaveGameData(clientGamedata); + } + } + // init anything that P_SpawnSlopes/P_LoadThings needs to know P_InitSpecials(); @@ -7971,24 +7989,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) nextmapoverride = 0; skipstats = 0; - if (!demoplayback) - { - clientGamedata->mapvisited[gamemap-1] |= MV_VISITED; - serverGamedata->mapvisited[gamemap-1] |= MV_VISITED; - - M_SilentUpdateUnlockablesAndEmblems(serverGamedata); - - if (M_UpdateUnlockablesAndExtraEmblems(clientGamedata)) - { - S_StartSound(NULL, sfx_s3k68); - G_SaveGameData(clientGamedata); - } - else if (!reloadinggamestate) - { - G_SaveGameData(clientGamedata); - } - } - levelloading = false; P_RunCachedActions(); -- GitLab