From 028b00c2c2d1ba2ad46412d201a3da692a4de7f8 Mon Sep 17 00:00:00 2001 From: Fabian Greffrath Date: Tue, 12 Jul 2022 18:55:57 +0200 Subject: [PATCH] support '-skill 0' command line parameter (does not spawn any map objects) (#653) * support '-skill 0' command line parameter (does not spawn any map objects) * enable just for demo_compatibility * distinguish between skill "none" and default skill --- src/d_main.c | 2 +- src/doomdef.h | 1 + src/g_game.c | 2 +- src/p_mobj.c | 5 +++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index a09da4ae..deb9dc6d 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -2118,7 +2118,7 @@ void D_DoomMain(void) // get skill / episode / map from parms - startskill = sk_none; // jff 3/24/98 was sk_medium, just note not picked + startskill = sk_default; // jff 3/24/98 was sk_medium, just note not picked startepisode = 1; startmap = 1; autostart = false; diff --git a/src/doomdef.h b/src/doomdef.h index 6ceb9d20..4131b3fa 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -140,6 +140,7 @@ typedef enum { #define MTF_RESERVED 256 typedef enum { + sk_default=-2, sk_none=-1, //jff 3/24/98 create unpicked skill setting sk_baby=0, sk_easy, diff --git a/src/g_game.c b/src/g_game.c index cc83d80f..7b308fe2 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2739,7 +2739,7 @@ void G_ReloadDefaults(void) //jff 3/24/98 set startskill from defaultskill in config file, unless // it has already been set by a -skill parameter - if (startskill==sk_none) + if (startskill==sk_default) startskill = (skill_t)(defaultskill-1); demoplayback = false; diff --git a/src/p_mobj.c b/src/p_mobj.c index 360ae687..e14dbb0a 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1209,10 +1209,11 @@ void P_SpawnMapThing (mapthing_t* mthing) return; // killough 11/98: simplify - if (gameskill == sk_baby || gameskill == sk_easy ? + if ((gameskill == sk_none && demo_compatibility) || + (gameskill == sk_baby || gameskill == sk_easy ? !(mthing->options & MTF_EASY) : gameskill == sk_hard || gameskill == sk_nightmare ? - !(mthing->options & MTF_HARD) : !(mthing->options & MTF_NORMAL)) + !(mthing->options & MTF_HARD) : !(mthing->options & MTF_NORMAL))) return; // [crispy] support MUSINFO lump (dynamic music changing)