From 1e04896d3f8cec442f7d9613abd024d460555ecc Mon Sep 17 00:00:00 2001
From: Sally Coolatta <tehrealsalt@gmail.com>
Date: Fri, 26 Jan 2024 15:37:38 -0500
Subject: [PATCH] Update & save unlockables when visiting a new map

Resolves #1122
---
 src/p_setup.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/p_setup.c b/src/p_setup.c
index d2e4f50f77..851231c423 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;
-- 
GitLab