diff --git a/Source/d_deh.c b/Source/d_deh.c index ac5cc89b..3f2487ce 100644 --- a/Source/d_deh.c +++ b/Source/d_deh.c @@ -1123,6 +1123,7 @@ static const struct deh_flag_s deh_mobjflags_mbf21[] = { {"E4M6BOSS", MF2_E4M6BOSS}, // E4M6 boss {"E4M8BOSS", MF2_E4M8BOSS}, // E4M8 boss {"RIP", MF2_RIP}, // projectile rips through targets + {"FULLVOLSOUNDS", MF2_FULLVOLSOUNDS}, // full volume see / death sound { NULL } }; diff --git a/Source/d_main.c b/Source/d_main.c index 4d4f72ee..54597b31 100644 --- a/Source/d_main.c +++ b/Source/d_main.c @@ -1704,8 +1704,8 @@ void D_DoomMain(void) mobjinfo[MT_VILE].flags2 = MF2_SHORTMRANGE | MF2_DMGIGNORED | MF2_NOTHRESHOLD; mobjinfo[MT_CYBORG].flags2 = MF2_NORADIUSDMG | MF2_HIGHERMPROB | MF2_RANGEHALF | - MF2_BOSS | MF2_E2M8BOSS | MF2_E4M6BOSS; - mobjinfo[MT_SPIDER].flags2 = MF2_NORADIUSDMG | MF2_RANGEHALF | MF2_BOSS | + MF2_FULLVOLSOUNDS | MF2_E2M8BOSS | MF2_E4M6BOSS; + mobjinfo[MT_SPIDER].flags2 = MF2_NORADIUSDMG | MF2_RANGEHALF | MF2_FULLVOLSOUNDS | MF2_E3M8BOSS | MF2_E4M8BOSS; mobjinfo[MT_SKULL].flags2 = MF2_RANGEHALF; mobjinfo[MT_FATSO].flags2 = MF2_MAP07BOSS1; diff --git a/Source/p_enemy.c b/Source/p_enemy.c index 52487400..5bdb152f 100644 --- a/Source/p_enemy.c +++ b/Source/p_enemy.c @@ -1055,7 +1055,7 @@ void A_Look(mobj_t *actor) sound = actor->info->seesound; break; } - if (actor->flags2 & MF2_BOSS) + if (actor->flags2 & (MF2_BOSS | MF2_FULLVOLSOUNDS)) S_StartSound(NULL, sound); // full volume else { @@ -2070,7 +2070,7 @@ void A_Scream(mobj_t *actor) } // Check for bosses. - if (actor->flags2 & MF2_BOSS) + if (actor->flags2 & (MF2_BOSS | MF2_FULLVOLSOUNDS)) S_StartSound(NULL, sound); // full volume else S_StartSound(actor, sound); diff --git a/Source/p_mobj.h b/Source/p_mobj.h index e94cf48b..936053d1 100644 --- a/Source/p_mobj.h +++ b/Source/p_mobj.h @@ -227,6 +227,7 @@ typedef enum MF2_E4M8BOSS = 0x00010000, // is an E4M8 boss MF2_RIP = 0x00020000, // missile rips through solid MF2_COLOREDBLOOD = 0x00040000, // [FG] colored blood and gibs + MF2_FULLVOLSOUNDS = 0x00080000, // full volume see / death sound } mobjflag2_t; // killough 9/15/98: Same, but internal flags, not intended for .deh