From 0dac4ed492fd78d801f939a8fef27fcf7a7c3655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustaf=20Alh=C3=A4ll?= <gustaf@hanicef.me> Date: Sun, 13 Oct 2024 17:47:56 +0200 Subject: [PATCH] Fix (hopufully) all remaining edge cases --- src/deh_soc.c | 1 + src/dehacked.c | 6 +++--- src/dehacked.h | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/deh_soc.c b/src/deh_soc.c index c0e646f608..80a5358c0a 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -3925,6 +3925,7 @@ void readmaincfg(MYFILE *f) value = get_number(word2); bootmap = (INT16)value; + bootmapchanged = true; //titlechanged = true; } else if (fastcmp(word, "STARTCHAR")) diff --git a/src/dehacked.c b/src/dehacked.c index 505c7ed1f1..473e77e55b 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -20,6 +20,7 @@ boolean deh_loaded = false; boolean gamedataadded = false; boolean titlechanged = false; boolean introchanged = false; +boolean bootmapchanged = false; static int dbg_line; static INT32 deh_num_warning = 0; @@ -196,8 +197,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile) deh_num_warning = 0; - bootmap = 0; - gamedataadded = titlechanged = introchanged = false; + gamedataadded = titlechanged = introchanged = bootmapchanged = false; // it doesn't test the version of SRB2 and version of dehacked file dbg_line = -1; // start at -1 so the first line is 0. @@ -588,7 +588,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile) if (gamestate == GS_TITLESCREEN) { - if (bootmap) + if (bootmapchanged && bootmap) { menuactive = false; D_MapChange(bootmap, gametype, ultimatemode, true, 0, false, false); diff --git a/src/dehacked.h b/src/dehacked.h index d985b14b03..e7b9b46566 100644 --- a/src/dehacked.h +++ b/src/dehacked.h @@ -39,6 +39,7 @@ extern boolean deh_loaded; extern boolean gamedataadded; extern boolean titlechanged; extern boolean introchanged; +extern boolean bootmapchanged; #define MAX_ACTION_RECURSION 30 extern const char *luaactions[MAX_ACTION_RECURSION]; -- GitLab