From 22ce859e65da2a0770d6966e0c1a3f32192cb54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gustaf=20Alh=C3=A4ll?= <gustaf@hanicef.me>
Date: Sun, 13 Oct 2024 14:06:45 +0200
Subject: [PATCH] Fix BootMap not having any effect when loaded from the addon
 menu

---
 src/deh_soc.c  | 2 ++
 src/dehacked.c | 7 ++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/deh_soc.c b/src/deh_soc.c
index c0e646f608..a2be99fa0e 100644
--- a/src/deh_soc.c
+++ b/src/deh_soc.c
@@ -3549,6 +3549,8 @@ void readmaincfg(MYFILE *f)
 	char *tmp;
 	INT32 value;
 
+	bootmap = 0; // reset bootmap so we don't warp to the wrong map if another maincfg had set this before
+
 	do
 	{
 		if (myfgets(s, MAXLINELEN, f))
diff --git a/src/dehacked.c b/src/dehacked.c
index 2050a117f6..8743a482ed 100644
--- a/src/dehacked.c
+++ b/src/dehacked.c
@@ -587,7 +587,12 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
 
 	if (gamestate == GS_TITLESCREEN)
 	{
-		if (introchanged)
+		if (bootmap)
+		{
+			menuactive = false;
+			D_MapChange(bootmap, gametype, ultimatemode, true, 0, false, false);
+		}
+		else if (introchanged)
 		{
 			menuactive = false;
 			I_UpdateMouseGrab();
-- 
GitLab