diff --git a/src/p_setup.c b/src/p_setup.c index d2e4f50f7..851231c42 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -7975,6 +7975,18 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) { 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;