From 558a18cf5c5f45b7896251a84c30e1c494b31ba7 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 24 Dec 2006 12:51:24 +0000 Subject: [PATCH] - Added new flag MF5_NOBLOODDECALS that prevents bleeding actors from spawning blood decals. SVN r424 (trunk) --- docs/rh-log.txt | 4 ++++ src/actor.h | 1 + src/p_map.cpp | 1 + src/thingdef.cpp | 1 + 4 files changed, 7 insertions(+) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 8a4ada307..5ed9c4447 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,7 @@ +December 24, 2006 (Changes by Graf Zahl) +- Added new flag MF5_NOBLOODDECALS that prevents bleeding actors from spawning + blood decals. + December 23, 2006 (Changes by Graf Zahl) - Fixed: The Cacodemon doesn't have a melee attack defined as I mistakenly assumed when writing its DECORATE code. diff --git a/src/actor.h b/src/actor.h index cf0485203..057a53adc 100644 --- a/src/actor.h +++ b/src/actor.h @@ -288,6 +288,7 @@ enum MF5_OLDRADIUSDMG = 0x00000200, // Use old radius damage code (for barrels and boss brain) MF5_DEHEXPLOSION = 0x00000400, // Use the DEHACKED explosion options when this projectile explodes MF5_PIERCEARMOR = 0x00000800, // Armor doesn't protect against damage from this actor + MF5_NOBLOODDECALS = 0x00001000, // Actor bleeds but doesn't spawn blood decals // --- mobj.renderflags --- diff --git a/src/p_map.cpp b/src/p_map.cpp index f0e0d05fa..7cbdf4973 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -2932,6 +2932,7 @@ void P_TraceBleed (int damage, fixed_t x, fixed_t y, fixed_t z, AActor *actor, a int noise; if ((actor->flags & MF_NOBLOOD) || + (actor->flags5 & MF5_NOBLOODDECALS) || (actor->flags2 & (MF2_INVULNERABLE|MF2_DORMANT)) || (actor->player && actor->player->cheats & CF_GODMODE)) { diff --git a/src/thingdef.cpp b/src/thingdef.cpp index 7759c7be8..da1cd764b 100644 --- a/src/thingdef.cpp +++ b/src/thingdef.cpp @@ -226,6 +226,7 @@ static flagdef ActorFlags[]= DEFINE_FLAG(MF5, OLDRADIUSDMG, AActor, flags5), DEFINE_FLAG(MF5, DEHEXPLOSION, AActor, flags5), DEFINE_FLAG(MF5, PIERCEARMOR, AActor, flags5), + DEFINE_FLAG(MF5, NOBLOODDECALS, AActor, flags5), // Effect flags DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),