From a78b957ceb41be93059a24e9a21b23810d100c7d Mon Sep 17 00:00:00 2001
From: Sally Coolatta <tehrealsalt@gmail.com>
Date: Wed, 22 May 2024 01:32:21 -0400
Subject: [PATCH] -warp/+map is not a cheat for dedicated servers

It already is not a cheat for listen servers. Fixes dedicated servers not being able to save.
---
 src/d_main.c | 2 +-
 src/m_cond.c | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/d_main.c b/src/d_main.c
index 3a3a0b26a..bad78c530 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1535,7 +1535,7 @@ void D_SRB2Main(void)
 			I_Error("Cannot find a map remotely named '%s'\n", word);
 		else
 		{
-			if (!M_CheckParm("-server"))
+			if (!(M_CheckParm("-server") || dedicated))
 				G_SetUsedCheats(true);
 			autostart = true;
 		}
diff --git a/src/m_cond.c b/src/m_cond.c
index 5a5913297..fa6cda223 100644
--- a/src/m_cond.c
+++ b/src/m_cond.c
@@ -494,6 +494,12 @@ UINT8 M_MapLocked(INT32 mapnum, gamedata_t *data)
 
 UINT8 M_CampaignWarpIsCheat(INT32 gt, INT32 mapnum, gamedata_t *data)
 {
+	if (dedicated)
+	{
+		// See M_MapLocked; don't make dedicated servers annoying.
+		return false;
+	}
+
 	if (M_MapLocked(mapnum, data) == true)
 	{
 		// Warping to locked maps is definitely always a cheat
-- 
GitLab