diff --git a/src/p_setup.c b/src/p_setup.c index 04ff712769b3bbc59157144eed881bb35d7ef4cc..7cb51494dab3ebf18bf6392127c7aa7ddb024194 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -7843,6 +7843,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(); @@ -7901,24 +7919,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();