mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-03-13 22:42:07 +00:00
Added a ninth actor flag field.
This commit is contained in:
parent
5b98eade91
commit
d882a41824
4 changed files with 19 additions and 3 deletions
|
@ -206,8 +206,7 @@ enum ActorFlag2
|
|||
// but still considered solid
|
||||
MF2_INVULNERABLE = 0x08000000, // mobj is invulnerable
|
||||
MF2_DORMANT = 0x10000000, // thing is dormant
|
||||
MF2_ARGSDEFINED = 0x20000000, // Internal flag used by DECORATE to signal that the
|
||||
// args should not be taken from the mapthing definition
|
||||
MF2_ARGSDEFINED = 0x20000000, // Internal flag used by DECORATE to signal that the args should not be taken from the mapthing definition
|
||||
MF2_SEEKERMISSILE = 0x40000000, // is a seeker (for reflection)
|
||||
MF2_REFLECTIVE = 0x80000000, // reflects missiles
|
||||
};
|
||||
|
@ -399,6 +398,8 @@ enum ActorFlag7
|
|||
MF7_FORCEINFIGHTING = 0x40000000, // overrides a map setting of 'no infighting'.
|
||||
MF7_INCHASE = 0x80000000, // [RH] used by A_Chase and A_Look to avoid recursion
|
||||
};
|
||||
|
||||
// --- mobj.flags8 ---
|
||||
enum ActorFlag8
|
||||
{
|
||||
MF8_FRIGHTENING = 0x00000001, // for those moments when halloween just won't do
|
||||
|
@ -434,6 +435,12 @@ enum ActorFlag8
|
|||
MF8_ONLYSLAMSOLID = 0x80000000, // [B] Things with skullfly will ignore non-solid Actors.
|
||||
};
|
||||
|
||||
// --- mobj.flags9 ---
|
||||
enum ActorFlag9
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
// --- mobj.renderflags ---
|
||||
enum ActorRenderFlag
|
||||
{
|
||||
|
@ -588,6 +595,7 @@ typedef TFlags<ActorFlag5> ActorFlags5;
|
|||
typedef TFlags<ActorFlag6> ActorFlags6;
|
||||
typedef TFlags<ActorFlag7> ActorFlags7;
|
||||
typedef TFlags<ActorFlag8> ActorFlags8;
|
||||
typedef TFlags<ActorFlag9> ActorFlags9;
|
||||
typedef TFlags<ActorRenderFlag> ActorRenderFlags;
|
||||
typedef TFlags<ActorRenderFlag2> ActorRenderFlags2;
|
||||
typedef TFlags<ActorBounceFlag> ActorBounceFlags;
|
||||
|
@ -600,6 +608,7 @@ DEFINE_TFLAGS_OPERATORS (ActorFlags5)
|
|||
DEFINE_TFLAGS_OPERATORS (ActorFlags6)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorFlags7)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorFlags8)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorFlags9)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorRenderFlags)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorRenderFlags2)
|
||||
DEFINE_TFLAGS_OPERATORS (ActorBounceFlags)
|
||||
|
@ -1080,6 +1089,7 @@ public:
|
|||
ActorFlags6 flags6; // Shit! Where did all the flags go?
|
||||
ActorFlags7 flags7; // WHO WANTS TO BET ON 8!?
|
||||
ActorFlags8 flags8; // I see your 8, and raise you a bet for 9.
|
||||
ActorFlags9 flags9; // Happy ninth actor flag field GZDoom !
|
||||
double Floorclip; // value to use for floor clipping
|
||||
double radius, Height; // for movement checking
|
||||
|
||||
|
|
|
@ -2089,6 +2089,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_Respawn)
|
|||
self->flags6 = defs->flags6;
|
||||
self->flags7 = defs->flags7;
|
||||
self->flags8 = defs->flags8;
|
||||
self->flags9 = defs->flags9;
|
||||
self->SetState (self->SpawnState);
|
||||
self->renderflags &= ~RF_INVISIBLE;
|
||||
|
||||
|
|
|
@ -234,6 +234,7 @@ void AActor::Serialize(FSerializer &arc)
|
|||
A("flags6", flags6)
|
||||
A("flags7", flags7)
|
||||
A("flags8", flags8)
|
||||
A("flags9", flags9)
|
||||
A("weaponspecial", weaponspecial)
|
||||
A("special1", special1)
|
||||
A("special2", special2)
|
||||
|
@ -6666,7 +6667,7 @@ AActor *P_SpawnMissileXYZ (DVector3 pos, AActor *source, AActor *dest, PClassAct
|
|||
|
||||
if (dest == NULL)
|
||||
{
|
||||
Printf ("P_SpawnMissilyXYZ: Tried to shoot %s from %s with no dest\n",
|
||||
Printf ("P_SpawnMissileXYZ: Tried to shoot %s from %s with no dest\n",
|
||||
type->TypeName.GetChars(), source->GetClass()->TypeName.GetChars());
|
||||
return NULL;
|
||||
}
|
||||
|
@ -7697,6 +7698,9 @@ void PrintMiscActorInfo(AActor *query)
|
|||
Printf("\n flags8: %x", query->flags8.GetValue());
|
||||
for (flagi = 0; flagi <= 31; flagi++)
|
||||
if (query->flags8 & ActorFlags8::FromInt(1<<flagi)) Printf(" %s", FLAG_NAME(1<<flagi, flags8));
|
||||
Printf("\n flags9: %x", query->flags9.GetValue());
|
||||
for (flagi = 0; flagi <= 31; flagi++)
|
||||
if (query->flags9 & ActorFlags9::FromInt(1 << flagi)) Printf(" %s", FLAG_NAME(1 << flagi, flags9));
|
||||
Printf("\nBounce flags: %x\nBounce factors: f:%f, w:%f",
|
||||
query->BounceFlags.GetValue(), query->bouncefactor,
|
||||
query->wallbouncefactor);
|
||||
|
|
|
@ -988,6 +988,7 @@ DEFINE_PROPERTY(clearflags, 0, Actor)
|
|||
defaults->flags6 = 0;
|
||||
defaults->flags7 = 0;
|
||||
defaults->flags8 = 0;
|
||||
defaults->flags9 = 0;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
|
Loading…
Reference in a new issue