mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-10 14:51:51 +00:00
- added DONTCORPSE submission.
SVN r3216 (trunk)
This commit is contained in:
parent
3277b508cd
commit
6053627c5c
4 changed files with 8 additions and 1 deletions
|
@ -327,6 +327,7 @@ enum
|
|||
MF6_NOMENU = 0x00400000, // Player class should not appear in the class selection menu.
|
||||
MF6_BOSSCUBE = 0x00800000, // Actor spawned by A_BrainSpit, flagged for timefreeze reasons.
|
||||
MF6_SEEINVISIBLE = 0x01000000, // Monsters can see invisible player.
|
||||
MF6_DONTCORPSE = 0x02000000, // [RC] Don't autoset MF_CORPSE upon death and don't force Crash state change.
|
||||
|
||||
// --- mobj.renderflags ---
|
||||
|
||||
|
|
|
@ -384,7 +384,8 @@ void AActor::Die (AActor *source, AActor *inflictor)
|
|||
{ // [RH] Only monsters get to be corpses.
|
||||
// Objects with a raise state should get the flag as well so they can
|
||||
// be revived by an Arch-Vile. Batman Doom needs this.
|
||||
flags |= MF_CORPSE;
|
||||
// [RC] And disable this if DONTCORPSE is set, of course.
|
||||
if(!(flags6 & MF6_DONTCORPSE)) flags |= MF_CORPSE;
|
||||
}
|
||||
flags6 |= MF6_KILLED;
|
||||
|
||||
|
|
|
@ -5485,6 +5485,9 @@ int AActor::GibHealth()
|
|||
|
||||
void AActor::Crash()
|
||||
{
|
||||
// [RC] Weird that this forces the Crash state regardless of flag.
|
||||
if(!(flags6 & MF6_DONTCORPSE))
|
||||
{
|
||||
if (((flags & MF_CORPSE) || (flags6 & MF6_KILLED)) &&
|
||||
!(flags3 & MF3_CRASHED) &&
|
||||
!(flags & MF_ICECORPSE))
|
||||
|
@ -5511,6 +5514,7 @@ void AActor::Crash()
|
|||
// so this code doesn't have to be executed repeatedly.
|
||||
flags3 |= MF3_CRASHED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AActor::SetIdle()
|
||||
|
|
|
@ -230,6 +230,7 @@ static FFlagDef ActorFlags[]=
|
|||
DEFINE_FLAG(MF6, BLOCKEDBYSOLIDACTORS, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, NOMENU, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, SEEINVISIBLE, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, DONTCORPSE, AActor, flags6),
|
||||
|
||||
// Effect flags
|
||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||
|
|
Loading…
Reference in a new issue