From 37e8b02e0e0dae5535dc24e4b2c1c4911300e4bc Mon Sep 17 00:00:00 2001 From: Freaky Mutant Man Date: Tue, 16 Sep 2025 01:39:11 +0000 Subject: [PATCH] Add ability to disable "communications in progress" graphic by adding "NoComms = True" to map SOC --- src/deh_soc.c | 7 +++++++ src/deh_tables.c | 1 + src/doomstat.h | 1 + src/k_hud.cpp | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/deh_soc.c b/src/deh_soc.c index 4a30756b5..66815f403 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -1506,6 +1506,13 @@ void readlevelheader(MYFILE *f, char * name) mapheaderinfo[num]->cameraHeight = camheight;; } + else if (fastcmp(word, "NOCOMMS") || fastcmp(word, "NOCOMM")) + { + if (i || word2[0] == 'T' || word2[0] == 'Y') + mapheaderinfo[num]->levelflags |= LF_NOCOMMS; + else + mapheaderinfo[num]->levelflags &= ~LF_NOCOMMS; + } else deh_warning("Level header %d: unknown word '%s'", num, word); } diff --git a/src/deh_tables.c b/src/deh_tables.c index 19c5f3ddb..dcf940920 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -4747,6 +4747,7 @@ struct int_const_s const INT_CONST[] = { {"LF_NOZONE",LF_NOZONE}, {"LF_SECTIONRACE",LF_SECTIONRACE}, {"LF_SUBTRACTNUM",LF_SUBTRACTNUM}, + {"LF_NOCOMMS",LF_NOCOMMS}, // And map flags {"LF2_HIDEINMENU",LF2_HIDEINMENU}, {"LF2_NOTIMEATTACK",LF2_NOTIMEATTACK}, diff --git a/src/doomstat.h b/src/doomstat.h index 63c976438..8de64a197 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -607,6 +607,7 @@ struct mapheader_t #define LF_NOZONE (1<<1) ///< Don't include "ZONE" on level title #define LF_SECTIONRACE (1<<2) ///< Section race level #define LF_SUBTRACTNUM (1<<3) ///< Use subtractive position number (for bright levels) +#define LF_NOCOMMS (1<<4) ///< Disable dialogue "communications in progress" graphic #define LF2_HIDEINMENU (1<<0) ///< Hide in the multiplayer menu #define LF2_NOTIMEATTACK (1<<1) ///< Hide this map in Time Attack modes diff --git a/src/k_hud.cpp b/src/k_hud.cpp index e36c20eb9..4f74190d1 100644 --- a/src/k_hud.cpp +++ b/src/k_hud.cpp @@ -7750,7 +7750,7 @@ void K_drawKartHUD(void) // Tacitcal Normie Countermeasure INT32 dfade = K_GetDialogueFade(); - if (dfade) + if (dfade && !(mapheaderinfo[gamemap-1]->levelflags & LF_NOCOMMS)) { V_DrawFadeScreen(31, dfade); // Fade out