mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-06 04:50:26 +00:00
08f313d011
This uses a different algorithm as the old implementation - instead of recursively resolving unknown symbols it will first collect all constants from all scopes and then process them in one operation, doing multiple passes over the list until no more constants can be resolved anymore.
809 lines
No EOL
17 KiB
Text
809 lines
No EOL
17 KiB
Text
/*
|
|
// Flags for A_PainAttack
|
|
enum EPainAttackFlags
|
|
{
|
|
PAF_NOSKULLATTACK = 1,
|
|
PAF_AIMFACING = 2,
|
|
PAF_NOTARGET = 4,
|
|
};
|
|
|
|
// Flags for A_VileAttack
|
|
enum EVileAttackFlags
|
|
{
|
|
VAF_DMGTYPEAPPLYTODIRECT = 1,
|
|
};
|
|
|
|
// Flags for A_Saw
|
|
enum ESawFlags
|
|
{
|
|
SF_NORANDOM = 1,
|
|
SF_RANDOMLIGHTMISS = 2,
|
|
SF_RANDOMLIGHTHIT = 4,
|
|
SF_RANDOMLIGHTBOTH = 6,
|
|
SF_NOUSEAMMOMISS = 8,
|
|
SF_NOUSEAMMO = 16,
|
|
SF_NOPULLIN = 32,
|
|
SF_NOTURN = 64,
|
|
SF_STEALARMOR = 128,
|
|
};
|
|
|
|
// Flags for A_BFGSpray
|
|
enum EBFGSprayFlags
|
|
{
|
|
BFGF_HURTSOURCE = 1,
|
|
BFGF_MISSILEORIGIN = 2,
|
|
};
|
|
|
|
// Flags for A_CustomMissile
|
|
enum ECustomMissileFlags
|
|
{
|
|
CMF_AIMOFFSET = 1,
|
|
CMF_AIMDIRECTION = 2,
|
|
CMF_TRACKOWNER = 4,
|
|
CMF_CHECKTARGETDEAD = 8,
|
|
CMF_ABSOLUTEPITCH = 16,
|
|
CMF_OFFSETPITCH = 32,
|
|
CMF_SAVEPITCH = 64,
|
|
CMF_ABSOLUTEANGLE = 128,
|
|
};
|
|
|
|
// Flags for A_CustomBulletAttack
|
|
enum ECustomBulletAttackFlags
|
|
{
|
|
CBAF_AIMFACING = 1,
|
|
CBAF_NORANDOM = 2,
|
|
CBAF_EXPLICITANGLE = 4,
|
|
CBAF_NOPITCH = 8,
|
|
CBAF_NORANDOMPUFFZ = 16,
|
|
CBAF_PUFFTARGET = 32,
|
|
CBAF_PUFFMASTER = 64,
|
|
CBAF_PUFFTRACER = 128,
|
|
};
|
|
|
|
// Flags for A_GunFlash
|
|
enum EGunFlashFlags
|
|
{
|
|
GFF_NOEXTCHANGE = 1,
|
|
};
|
|
|
|
// Flags for A_FireBullets
|
|
enum EFireBulletsFlags
|
|
{
|
|
FBF_USEAMMO = 1,
|
|
FBF_NORANDOM = 2,
|
|
FBF_EXPLICITANGLE = 4,
|
|
FBF_NOPITCH = 8,
|
|
FBF_NOFLASH = 16,
|
|
FBF_NORANDOMPUFFZ = 32,
|
|
};
|
|
|
|
// Flags for A_SpawnItemEx
|
|
enum ESpawnItemFlags
|
|
{
|
|
SXF_TRANSFERTRANSLATION = 1 << 0,
|
|
SXF_ABSOLUTEPOSITION = 1 << 1,
|
|
SXF_ABSOLUTEANGLE = 1 << 2,
|
|
SXF_ABSOLUTEMOMENTUM = 1 << 3, //Since "momentum" is declared to be deprecated in the expressions, for compatibility
|
|
SXF_ABSOLUTEVELOCITY = 1 << 3, //purposes, this was made. It does the same thing though. Do not change the value.
|
|
SXF_SETMASTER = 1 << 4,
|
|
SXF_NOCHECKPOSITION = 1 << 5,
|
|
SXF_TELEFRAG = 1 << 6,
|
|
SXF_CLIENTSIDE = 1 << 7, // only used by Skulltag
|
|
SXF_TRANSFERAMBUSHFLAG = 1 << 8,
|
|
SXF_TRANSFERPITCH = 1 << 9,
|
|
SXF_TRANSFERPOINTERS = 1 << 10,
|
|
SXF_USEBLOODCOLOR = 1 << 11,
|
|
SXF_CLEARCALLERTID = 1 << 12,
|
|
SXF_MULTIPLYSPEED = 1 << 13,
|
|
SXF_TRANSFERSCALE = 1 << 14,
|
|
SXF_TRANSFERSPECIAL = 1 << 15,
|
|
SXF_CLEARCALLERSPECIAL = 1 << 16,
|
|
SXF_TRANSFERSTENCILCOL = 1 << 17,
|
|
SXF_TRANSFERALPHA = 1 << 18,
|
|
SXF_TRANSFERRENDERSTYLE = 1 << 19,
|
|
SXF_SETTARGET = 1 << 20,
|
|
SXF_SETTRACER = 1 << 21,
|
|
SXF_NOPOINTERS = 1 << 22,
|
|
SXF_ORIGINATOR = 1 << 23,
|
|
SXF_TRANSFERSPRITEFRAME = 1 << 24,
|
|
SXF_TRANSFERROLL = 1 << 25,
|
|
SXF_ISTARGET = 1 << 26,
|
|
SXF_ISMASTER = 1 << 27,
|
|
SXF_ISTRACER = 1 << 28,
|
|
};
|
|
|
|
// Flags for A_Chase
|
|
enum EChaseFlags
|
|
{
|
|
CHF_FASTCHASE = 1,
|
|
CHF_NOPLAYACTIVE = 2,
|
|
CHF_NIGHTMAREFAST = 4,
|
|
CHF_RESURRECT = 8,
|
|
CHF_DONTMOVE = 16,
|
|
CHF_NORANDOMTURN = 32,
|
|
CHF_NODIRECTIONTURN = 64,
|
|
CHF_NOPOSTATTACKTURN = 128,
|
|
CHF_STOPIFBLOCKED = 256,
|
|
|
|
CHF_DONTTURN = CHF_NORANDOMTURN | CHF_NOPOSTATTACKTURN | CHF_STOPIFBLOCKED
|
|
};
|
|
|
|
// Flags for A_LookEx
|
|
enum ELookFlags
|
|
{
|
|
LOF_NOSIGHTCHECK = 1,
|
|
LOF_NOSOUNDCHECK = 2,
|
|
LOF_DONTCHASEGOAL = 4,
|
|
LOF_NOSEESOUND = 8,
|
|
LOF_FULLVOLSEESOUND = 16,
|
|
LOF_NOJUMP = 32,
|
|
};
|
|
|
|
// Flags for A_Respawn
|
|
enum ERespawnFlags
|
|
{
|
|
RSF_FOG = 1,
|
|
RSF_KEEPTARGET = 2,
|
|
RSF_TELEFRAG = 4,
|
|
};
|
|
|
|
// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
|
|
enum EJumpFlags
|
|
{
|
|
JLOSF_PROJECTILE = 1,
|
|
JLOSF_NOSIGHT = 1 << 1,
|
|
JLOSF_CLOSENOFOV = 1 << 2,
|
|
JLOSF_CLOSENOSIGHT = 1 << 3,
|
|
JLOSF_CLOSENOJUMP = 1 << 4,
|
|
JLOSF_DEADNOJUMP = 1 << 5,
|
|
JLOSF_CHECKMASTER = 1 << 6,
|
|
JLOSF_TARGETLOS = 1 << 7,
|
|
JLOSF_FLIPFOV = 1 << 8,
|
|
JLOSF_ALLYNOJUMP = 1 << 9,
|
|
JLOSF_COMBATANTONLY = 1 << 10,
|
|
JLOSF_NOAUTOAIM = 1 << 11,
|
|
JLOSF_CHECKTRACER = 1 << 12,
|
|
};
|
|
|
|
// Flags for A_ChangeVelocity
|
|
enum EChangeVelocityFlags
|
|
{
|
|
CVF_RELATIVE = 1,
|
|
CVF_REPLACE = 2,
|
|
};
|
|
|
|
// Flags for A_WeaponReady
|
|
enum EWeaponReadyFlags
|
|
{
|
|
WRF_NOBOB = 1,
|
|
WRF_NOSWITCH = 2,
|
|
WRF_NOPRIMARY = 4,
|
|
WRF_NOSECONDARY = 8,
|
|
WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY,
|
|
WRF_ALLOWRELOAD = 16,
|
|
WRF_ALLOWZOOM = 32,
|
|
WRF_DISABLESWITCH = 64,
|
|
WRF_ALLOWUSER1 = 128,
|
|
WRF_ALLOWUSER2 = 256,
|
|
WRF_ALLOWUSER3 = 512,
|
|
WRF_ALLOWUSER4 = 1024,
|
|
};
|
|
|
|
// Flags for A_SelectWeapon
|
|
enum ESelectWeaponFlags
|
|
{
|
|
SWF_SELECTPRIORITY = 1,
|
|
};
|
|
|
|
// Morph constants
|
|
enum EMorphFlags
|
|
{
|
|
MRF_ADDSTAMINA = 1,
|
|
MRF_FULLHEALTH = 2,
|
|
MRF_UNDOBYTOMEOFPOWER = 4,
|
|
MRF_UNDOBYCHAOSDEVICE = 8,
|
|
MRF_FAILNOTELEFRAG = 16,
|
|
MRF_FAILNOLAUGH = 32,
|
|
MRF_WHENINVULNERABLE = 64,
|
|
MRF_LOSEACTUALWEAPON = 128,
|
|
MRF_NEWTIDBEHAVIOUR = 256,
|
|
MRF_UNDOBYDEATH = 512,
|
|
MRF_UNDOBYDEATHFORCED = 1024,
|
|
MRF_UNDOBYDEATHSAVES = 2048,
|
|
MRF_UNDOALWAYS = 4096,
|
|
MRF_TRANSFERTRANSLATION = 8192,
|
|
};
|
|
|
|
// Flags for A_RailAttack and A_CustomRailgun
|
|
enum ERailFlags
|
|
{
|
|
RGF_SILENT = 1,
|
|
RGF_NOPIERCING = 2,
|
|
RGF_EXPLICITANGLE = 4,
|
|
RGF_FULLBRIGHT = 8,
|
|
RGF_CENTERZ = 16,
|
|
RGF_NORANDOMPUFFZ = 32,
|
|
};
|
|
|
|
// Flags for A_Mushroom
|
|
enum EMushroomFlags
|
|
{
|
|
MSF_Standard = 0,
|
|
MSF_Classic = 1,
|
|
MSF_DontHurt = 2,
|
|
};
|
|
|
|
// Flags for A_Explode
|
|
enum EExplodeFlags
|
|
{
|
|
XF_HURTSOURCE = 1,
|
|
XF_NOTMISSILE = 4,
|
|
XF_EXPLICITDAMAGETYPE = 1 << 3,
|
|
};
|
|
|
|
// Flags for A_RadiusThrust
|
|
enum ERadiusThrustFlags
|
|
{
|
|
RTF_AFFECTSOURCE = 1,
|
|
RTF_NOIMPACTDAMAGE = 2,
|
|
RTF_NOTMISSILE = 4,
|
|
RTF_THRUSTZ = 16,
|
|
};
|
|
|
|
// Flags for A_RadiusDamageSelf
|
|
enum ERadiusDamageSelfFlags
|
|
{
|
|
RDSF_BFGDAMAGE = 1,
|
|
};
|
|
|
|
// Flags for A_Blast
|
|
enum EBlastFlags
|
|
{
|
|
BF_USEAMMO = 1,
|
|
BF_DONTWARN = 2,
|
|
BF_AFFECTBOSSES = 4,
|
|
BF_NOIMPACTDAMAGE = 8,
|
|
};
|
|
|
|
// Flags for A_SeekerMissile
|
|
enum ESeekerMissileFlags
|
|
{
|
|
SMF_LOOK = 1,
|
|
SMF_PRECISE = 2,
|
|
SMF_CURSPEED = 4,
|
|
};
|
|
|
|
// Flags for A_CustomPunch
|
|
enum ECustomPunchFlags
|
|
{
|
|
CPF_USEAMMO = 1,
|
|
CPF_DAGGER = 2,
|
|
CPF_PULLIN = 4,
|
|
CPF_NORANDOMPUFFZ = 8,
|
|
CPF_NOTURN = 16,
|
|
CPF_STEALARMOR = 32,
|
|
};
|
|
|
|
// Flags for A_CustomMissile
|
|
enum ECustomMissileFlags
|
|
{
|
|
FPF_AIMATANGLE = 1,
|
|
FPF_TRANSFERTRANSLATION = 2,
|
|
FPF_NOAUTOAIM = 4,
|
|
FBF_PUFFTARGET = 64,
|
|
FBF_PUFFMASTER = 128,
|
|
FBF_PUFFTRACER = 256,
|
|
};
|
|
|
|
// Flags for A_Teleport
|
|
enum ETeleportFlags
|
|
{
|
|
TF_TELEFRAG = 0x00000001, // Allow telefrag in order to teleport.
|
|
TF_RANDOMDECIDE = 0x00000002, // Randomly fail based on health. (A_Srcr2Decide)
|
|
TF_FORCED = 0x00000004, // Forget what's in the way. TF_Telefrag takes precedence though.
|
|
TF_KEEPVELOCITY = 0x00000008, // Preserve velocity.
|
|
TF_KEEPANGLE = 0x00000010, // Keep angle.
|
|
TF_USESPOTZ = 0x00000020, // Set the z to the spot's z, instead of the floor.
|
|
TF_NOSRCFOG = 0x00000040, // Don't leave any fog behind when teleporting.
|
|
TF_NODESTFOG = 0x00000080, // Don't spawn any fog at the arrival position.
|
|
TF_USEACTORFOG = 0x00000100, // Use the actor's TeleFogSourceType and TeleFogDestType fogs.
|
|
TF_NOJUMP = 0x00000200, // Don't jump after teleporting.
|
|
TF_OVERRIDE = 0x00000400, // Ignore NOTELEPORT.
|
|
TF_SENSITIVEZ = 0x00000800, // Fail if the actor wouldn't fit in the position (for Z).
|
|
|
|
TF_KEEPORIENTATION = TF_KEEPVELOCITY|TF_KEEPANGLE,
|
|
TF_NOFOG = TF_NOSRCFOG|TF_NODESTFOG,
|
|
};
|
|
|
|
// Flags for A_WolfAttack
|
|
enum EWolfAttackFlags
|
|
{
|
|
WAF_NORANDOM = 1,
|
|
WAF_USEPUFF = 2
|
|
};
|
|
|
|
// Flags for A_RadiusGive
|
|
enum ERadiusGiveFlags
|
|
{
|
|
RGF_GIVESELF = 1,
|
|
RGF_PLAYERS = 1 << 1,
|
|
RGF_MONSTERS = 1 << 2,
|
|
RGF_OBJECTS = 1 << 3,
|
|
RGF_VOODOO = 1 << 4,
|
|
RGF_CORPSES = 1 << 5,
|
|
RGF_NOTARGET = 1 << 6,
|
|
RGF_NOTRACER = 1 << 7,
|
|
RGF_NOMASTER = 1 << 8,
|
|
RGF_CUBE = 1 << 9,
|
|
RGF_NOSIGHT = 1 << 10,
|
|
RGF_MISSILES = 1 << 11,
|
|
RGF_INCLUSIVE = 1 << 12,
|
|
RGF_ITEMS = 1 << 13,
|
|
RGF_KILLED = 1 << 14,
|
|
RGF_EXFILTER = 1 << 15,
|
|
RGF_EXSPECIES = 1 << 16,
|
|
RGF_EITHER = 1 << 17,
|
|
};
|
|
|
|
// Activation flags
|
|
enum EActivationFlags
|
|
{
|
|
THINGSPEC_Default = 0,
|
|
THINGSPEC_ThingActs = 1,
|
|
THINGSPEC_ThingTargets = 2,
|
|
THINGSPEC_TriggerTargets = 4,
|
|
THINGSPEC_MonsterTrigger = 8,
|
|
THINGSPEC_MissileTrigger = 16,
|
|
THINGSPEC_ClearSpecial = 32,
|
|
THINGSPEC_NoDeathSpecial = 64,
|
|
THINGSPEC_TriggerActs = 128,
|
|
|
|
// Shorter aliases for same
|
|
AF_Default = 0,
|
|
AF_ThingActs = 1,
|
|
AF_ThingTargets = 2,
|
|
AF_TriggerTargets = 4,
|
|
AF_MonsterTrigger = 8,
|
|
AF_MissileTrigger = 16,
|
|
AF_ClearSpecial = 32,
|
|
AF_NoDeathSpecial = 64,
|
|
AF_TriggerActs = 128,
|
|
|
|
};
|
|
|
|
// Flags for A_TakeInventory and A_TakeFromTarget
|
|
enum ETakeFlags
|
|
{
|
|
TIF_NOTAKEINFINITE = 1
|
|
};
|
|
|
|
// constants for A_PlaySound
|
|
enum ESoundFlags
|
|
{
|
|
CHAN_AUTO = 0,
|
|
CHAN_WEAPON = 1,
|
|
CHAN_VOICE = 2,
|
|
CHAN_ITEM = 3,
|
|
CHAN_BODY = 4,
|
|
CHAN_5 = 5,
|
|
CHAN_6 = 6,
|
|
CHAN_7 = 7,
|
|
|
|
// modifier flags
|
|
CHAN_LISTENERZ = 8,
|
|
CHAN_MAYBE_LOCAL = 16,
|
|
CHAN_UI = 32,
|
|
CHAN_NOPAUSE = 64
|
|
};
|
|
|
|
// sound attenuation values
|
|
const ATTN_NONE = 0;
|
|
const ATTN_NORM = 1;
|
|
const ATTN_IDLE = 1.001;
|
|
const ATTN_STATIC = 3;
|
|
|
|
// For SetPlayerProprty action special
|
|
enum EPlayerProperties
|
|
{
|
|
PROP_FROZEN = 0,
|
|
PROP_NOTARGET = 1,
|
|
PROP_INSTANTWEAPONSWITCH = 2,
|
|
PROP_FLY = 3,
|
|
PROP_TOTALLYFROZEN = 4,
|
|
PROP_INVULNERABILITY = 5, // (Deprecated)
|
|
PROP_STRENGTH = 6, // (Deprecated)
|
|
PROP_INVISIBILITY = 7, // (Deprecated)
|
|
PROP_RADIATIONSUIT = 8, // (Deprecated)
|
|
PROP_ALLMAP = 9, // (Deprecated)
|
|
PROP_INFRARED = 10, // (Deprecated)
|
|
PROP_WEAPONLEVEL2 = 11, // (Deprecated)
|
|
PROP_FLIGHT = 12, // (Deprecated)
|
|
PROP_SPEED = 15, // (Deprecated)
|
|
PROP_BUDDHA = 16,
|
|
}
|
|
|
|
// Line_SetBlocking
|
|
enum EBlockFlags
|
|
{
|
|
BLOCKF_CREATURES = 1,
|
|
BLOCKF_MONSTERS = 2,
|
|
BLOCKF_PLAYERS = 4,
|
|
BLOCKF_FLOATERS = 8,
|
|
BLOCKF_PROJECTILES = 16,
|
|
BLOCKF_EVERYTHING = 32,
|
|
BLOCKF_RAILING = 64,
|
|
BLOCKF_USE = 128,
|
|
};
|
|
|
|
// Pointer constants, bitfield-enabled
|
|
enum EPointerFlags
|
|
{
|
|
AAPTR_DEFAULT = 0,
|
|
AAPTR_NULL = 0x1,
|
|
AAPTR_TARGET = 0x2,
|
|
AAPTR_MASTER = 0x4,
|
|
AAPTR_TRACER = 0x8,
|
|
|
|
AAPTR_PLAYER_GETTARGET = 0x10,
|
|
AAPTR_PLAYER_GETCONVERSATION = 0x20,
|
|
|
|
AAPTR_PLAYER1 = 0x40,
|
|
AAPTR_PLAYER2 = 0x80,
|
|
AAPTR_PLAYER3 = 0x100,
|
|
AAPTR_PLAYER4 = 0x200,
|
|
AAPTR_PLAYER5 = 0x400,
|
|
AAPTR_PLAYER6 = 0x800,
|
|
AAPTR_PLAYER7 = 0x1000,
|
|
AAPTR_PLAYER8 = 0x2000,
|
|
AAPTR_FRIENDPLAYER = 0x4000,
|
|
AAPTR_LINETARGET = 0x8000,
|
|
};
|
|
|
|
// Pointer operation flags
|
|
|
|
enum EPointerOperations
|
|
{
|
|
PTROP_UNSAFETARGET = 1,
|
|
PTROP_UNSAFEMASTER = 2,
|
|
PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER,
|
|
};
|
|
|
|
// Flags for A_Warp
|
|
|
|
enum EWarpFlags
|
|
{
|
|
WARPF_ABSOLUTEOFFSET = 0x1,
|
|
WARPF_ABSOLUTEANGLE = 0x2,
|
|
WARPF_USECALLERANGLE = 0x4,
|
|
WARPF_NOCHECKPOSITION = 0x8,
|
|
WARPF_INTERPOLATE = 0x10,
|
|
WARPF_WARPINTERPOLATION = 0x20,
|
|
WARPF_COPYINTERPOLATION = 0x40,
|
|
WARPF_STOP = 0x80,
|
|
WARPF_TOFLOOR = 0x100,
|
|
WARPF_TESTONLY = 0x200,
|
|
WAPRF_ABSOLUTEPOSITION = 0x400,
|
|
WARPF_ABSOLUTEPOSITION = 0x400,
|
|
WARPF_BOB = 0x800,
|
|
WARPF_MOVEPTR = 0x1000,
|
|
WARPF_USETID = 0x2000,
|
|
WARPF_COPYVELOCITY = 0x4000,
|
|
WARPF_COPYPITCH = 0x8000,
|
|
};
|
|
|
|
// flags for A_SetPitch/SetAngle/SetRoll
|
|
enum EAngleFlags
|
|
{
|
|
SPF_FORCECLAMP = 1,
|
|
SPF_INTERPOLATE = 2,
|
|
};
|
|
|
|
// flags for A_CheckLOF
|
|
|
|
enum ELOFFlags
|
|
{
|
|
CLOFF_NOAIM_VERT = 0x1,
|
|
CLOFF_NOAIM_HORZ = 0x2,
|
|
|
|
CLOFF_JUMPENEMY = 0x4,
|
|
CLOFF_JUMPFRIEND = 0x8,
|
|
CLOFF_JUMPOBJECT = 0x10,
|
|
CLOFF_JUMPNONHOSTILE = 0x20,
|
|
|
|
CLOFF_SKIPENEMY = 0x40,
|
|
CLOFF_SKIPFRIEND = 0x80,
|
|
CLOFF_SKIPOBJECT = 0x100,
|
|
CLOFF_SKIPNONHOSTILE = 0x200,
|
|
|
|
CLOFF_MUSTBESHOOTABLE = 0x400,
|
|
|
|
CLOFF_SKIPTARGET = 0x800,
|
|
CLOFF_ALLOWNULL = 0x1000,
|
|
CLOFF_CHECKPARTIAL = 0x2000,
|
|
|
|
CLOFF_MUSTBEGHOST = 0x4000,
|
|
CLOFF_IGNOREGHOST = 0x8000,
|
|
|
|
CLOFF_MUSTBESOLID = 0x10000,
|
|
CLOFF_BEYONDTARGET = 0x20000,
|
|
|
|
CLOFF_FROMBASE = 0x40000,
|
|
CLOFF_MUL_HEIGHT = 0x80000,
|
|
CLOFF_MUL_WIDTH = 0x100000,
|
|
|
|
CLOFF_JUMP_ON_MISS = 0x200000,
|
|
CLOFF_AIM_VERT_NOOFFSET = 0x400000,
|
|
|
|
CLOFF_SETTARGET = 0x800000,
|
|
CLOFF_SETMASTER = 0x1000000,
|
|
CLOFF_SETTRACER = 0x2000000,
|
|
|
|
CLOFF_SKIPOBSTACLES = CLOFF_SKIPENEMY|CLOFF_SKIPFRIEND|CLOFF_SKIPOBJECT|CLOFF_SKIPNONHOSTILE,
|
|
CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
|
|
};
|
|
|
|
// Flags for A_Kill (Master/Target/Tracer/Children/Siblings) series
|
|
enum EKillFlags
|
|
{
|
|
KILS_FOILINVUL = 0x00000001,
|
|
KILS_KILLMISSILES = 0x00000002,
|
|
KILS_NOMONSTERS = 0x00000004,
|
|
KILS_FOILBUDDHA = 0x00000008,
|
|
KILS_EXFILTER = 0x00000010,
|
|
KILS_EXSPECIES = 0x00000020,
|
|
KILS_EITHER = 0x00000040,
|
|
};
|
|
|
|
// Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series
|
|
enum EDamageFlags
|
|
{
|
|
DMSS_FOILINVUL = 0x00000001,
|
|
DMSS_AFFECTARMOR = 0x00000002,
|
|
DMSS_KILL = 0x00000004,
|
|
DMSS_NOFACTOR = 0x00000008,
|
|
DMSS_FOILBUDDHA = 0x00000010,
|
|
DMSS_NOPROTECT = 0x00000020,
|
|
DMSS_EXFILTER = 0x00000040,
|
|
DMSS_EXSPECIES = 0x00000080,
|
|
DMSS_EITHER = 0x00000100,
|
|
DMSS_INFLICTORDMGTYPE = 0x00000200,
|
|
};
|
|
|
|
// Flags for A_AlertMonsters
|
|
enum EAlertFlags
|
|
{
|
|
AMF_TARGETEMITTER = 1,
|
|
AMF_TARGETNONPLAYER = 2,
|
|
AMF_EMITFROMTARGET = 4,
|
|
}
|
|
|
|
// Flags for A_Remove*
|
|
enum ERemoveFlags
|
|
{
|
|
RMVF_MISSILES = 0x00000001,
|
|
RMVF_NOMONSTERS = 0x00000002,
|
|
RMVF_MISC = 0x00000004,
|
|
RMVF_EVERYTHING = 0x00000008,
|
|
RMVF_EXFILTER = 0x00000010,
|
|
RMVF_EXSPECIES = 0x00000020,
|
|
RMVF_EITHER = 0x00000040,
|
|
};
|
|
|
|
// Flags for A_Fade*
|
|
enum EFadeFlags
|
|
{
|
|
FTF_REMOVE = 1 << 0,
|
|
FTF_CLAMP = 1 << 1,
|
|
};
|
|
|
|
// Flags for A_Face*
|
|
enum EFaceFlags
|
|
{
|
|
FAF_BOTTOM = 1,
|
|
FAF_MIDDLE = 2,
|
|
FAF_TOP = 4,
|
|
FAF_NODISTFACTOR = 8,
|
|
};
|
|
|
|
// Flags for A_QuakeEx
|
|
enum EQuakeFlags
|
|
{
|
|
QF_RELATIVE = 1,
|
|
QF_SCALEDOWN = 1 << 1,
|
|
QF_SCALEUP = 1 << 2,
|
|
QF_MAX = 1 << 3,
|
|
QF_FULLINTENSITY = 1 << 4,
|
|
QF_WAVE = 1 << 5,
|
|
};
|
|
|
|
// A_CheckProximity flags
|
|
enum EProximityFlags
|
|
{
|
|
CPXF_ANCESTOR = 1,
|
|
CPXF_LESSOREQUAL = 1 << 1,
|
|
CPXF_NOZ = 1 << 2,
|
|
CPXF_COUNTDEAD = 1 << 3,
|
|
CPXF_DEADONLY = 1 << 4,
|
|
CPXF_EXACT = 1 << 5,
|
|
CPXF_SETTARGET = 1 << 6,
|
|
CPXF_SETMASTER = 1 << 7,
|
|
CPXF_SETTRACER = 1 << 8,
|
|
CPXF_FARTHEST = 1 << 9,
|
|
CPXF_CLOSEST = 1 << 10,
|
|
CPXF_SETONPTR = 1 << 11,
|
|
CPXF_CHECKSIGHT = 1 << 12,
|
|
};
|
|
|
|
// Flags for A_CheckBlock
|
|
// These flags only affect the calling actor('s pointer), not the ones being searched.
|
|
enum ECheckBlockFlags
|
|
{
|
|
CBF_NOLINES = 1 << 0, //Don't check actors.
|
|
CBF_SETTARGET = 1 << 1, //Sets the caller/pointer's target to the actor blocking it. Actors only.
|
|
CBF_SETMASTER = 1 << 2, //^ but with master.
|
|
CBF_SETTRACER = 1 << 3, //^ but with tracer.
|
|
CBF_SETONPTR = 1 << 4, //Sets the pointer change on the actor doing the checking instead of self.
|
|
CBF_DROPOFF = 1 << 5, //Check for dropoffs.
|
|
CBF_NOACTORS = 1 << 6, //Don't check actors.
|
|
CBF_ABSOLUTEPOS = 1 << 7, //Absolute position for offsets.
|
|
CBF_ABSOLUTEANGLE = 1 << 8, //Absolute angle for offsets.
|
|
};
|
|
|
|
enum EParticleFlags
|
|
{
|
|
SPF_FULLBRIGHT = 1,
|
|
SPF_RELPOS = 1 << 1,
|
|
SPF_RELVEL = 1 << 2,
|
|
SPF_RELACCEL = 1 << 3,
|
|
SPF_RELANG = 1 << 4,
|
|
SPF_NOTIMEFREEZE = 1 << 5,
|
|
|
|
SPF_RELATIVE = SPF_RELPOS|SPF_RELVEL|SPF_RELACCEL|SPF_RELANG
|
|
};
|
|
|
|
//Flags for A_FaceMovementDirection
|
|
enum EMovementFlags
|
|
{
|
|
FMDF_NOPITCH = 1 << 0,
|
|
FMDF_INTERPOLATE = 1 << 1,
|
|
FMDF_NOANGLE = 1 << 2,
|
|
};
|
|
|
|
// Flags for GetZAt
|
|
enum EZFlags
|
|
{
|
|
GZF_ABSOLUTEPOS = 1, // Use the absolute position instead of an offsetted one.
|
|
GZF_ABSOLUTEANG = 1 << 1, // Don't add the actor's angle to the parameter.
|
|
GZF_CEILING = 1 << 2, // Check the ceiling instead of the floor.
|
|
GZF_3DRESTRICT = 1 << 3, // Ignore midtextures and 3D floors above the pointer's z.
|
|
GZF_NOPORTALS = 1 << 4, // Don't pass through any portals.
|
|
GZF_NO3DFLOOR = 1 << 5, // Pass all 3D floors.
|
|
};
|
|
|
|
// Flags for A_WeaponOffset
|
|
enum EWeaponOffsetFlags
|
|
{
|
|
WOF_KEEPX = 1,
|
|
WOF_KEEPY = 1 << 1,
|
|
WOF_ADD = 1 << 2,
|
|
};
|
|
|
|
// Flags for psprite layers
|
|
enum EPSpriteFlags
|
|
{
|
|
PSPF_ADDWEAPON = 1 << 0,
|
|
PSPF_ADDBOB = 1 << 1,
|
|
PSPF_POWDOUBLE = 1 << 2,
|
|
PSPF_CVARFAST = 1 << 3,
|
|
};
|
|
|
|
// Default psprite layers
|
|
enum EPSPLayers
|
|
{
|
|
PSP_WEAPON = 1,
|
|
PSP_FLASH = 1000,
|
|
};
|
|
|
|
enum EInputFlags
|
|
{
|
|
// These are the original inputs sent by the player.
|
|
INPUT_OLDBUTTONS,
|
|
INPUT_BUTTONS,
|
|
INPUT_PITCH,
|
|
INPUT_YAW,
|
|
INPUT_ROLL,
|
|
INPUT_FORWARDMOVE,
|
|
INPUT_SIDEMOVE,
|
|
INPUT_UPMOVE,
|
|
|
|
// These are the inputs, as modified by P_PlayerThink().
|
|
// Most of the time, these will match the original inputs, but
|
|
// they can be different if a player is frozen or using a
|
|
// chainsaw.
|
|
MODINPUT_OLDBUTTONS,
|
|
MODINPUT_BUTTONS,
|
|
MODINPUT_PITCH,
|
|
MODINPUT_YAW,
|
|
MODINPUT_ROLL,
|
|
MODINPUT_FORWARDMOVE,
|
|
MODINPUT_SIDEMOVE,
|
|
MODINPUT_UPMOVE
|
|
};
|
|
|
|
enum EButtons
|
|
{
|
|
BT_ATTACK = 1<<0, // Press "Fire".
|
|
BT_USE = 1<<1, // Use button, to open doors, activate switches.
|
|
BT_JUMP = 1<<2,
|
|
BT_CROUCH = 1<<3,
|
|
BT_TURN180 = 1<<4,
|
|
BT_ALTATTACK = 1<<5, // Press your other "Fire".
|
|
BT_RELOAD = 1<<6, // [XA] Reload key. Causes state jump in A_WeaponReady.
|
|
BT_ZOOM = 1<<7, // [XA] Zoom key. Ditto.
|
|
|
|
// The rest are all ignored by the play simulation and are for scripts.
|
|
BT_SPEED = 1<<8,
|
|
BT_STRAFE = 1<<9,
|
|
|
|
BT_MOVERIGHT = 1<<10,
|
|
BT_MOVELEFT = 1<<11,
|
|
BT_BACK = 1<<12,
|
|
BT_FORWARD = 1<<13,
|
|
BT_RIGHT = 1<<14,
|
|
BT_LEFT = 1<<15,
|
|
BT_LOOKUP = 1<<16,
|
|
BT_LOOKDOWN = 1<<17,
|
|
BT_MOVEUP = 1<<18,
|
|
BT_MOVEDOWN = 1<<19,
|
|
BT_SHOWSCORES = 1<<20,
|
|
|
|
BT_USER1 = 1<<21,
|
|
BT_USER2 = 1<<22,
|
|
BT_USER3 = 1<<23,
|
|
BT_USER4 = 1<<24,
|
|
};
|
|
|
|
// Flags for GetAngle
|
|
enum EGetAngleFlags
|
|
{
|
|
GAF_RELATIVE = 1,
|
|
GAF_SWITCH = 1 << 1,
|
|
};
|
|
|
|
//Flags for A_CopySpriteFrame
|
|
enum ECopySpriteFrameFlags
|
|
{
|
|
CPSF_NOSPRITE = 1,
|
|
CPSF_NOFRAME = 1 << 1,
|
|
};
|
|
|
|
//Flags for A_SetMaskRotation
|
|
enum EMaskRotationFlags
|
|
{
|
|
VRF_NOANGLESTART = 1,
|
|
VRF_NOANGLEEND = 1 << 1,
|
|
VRF_NOPITCHSTART = 1 << 2,
|
|
VRF_NOPITCHEND = 1 << 3,
|
|
|
|
VRF_NOANGLE = VRF_NOANGLESTART|VRF_NOANGLEEND,
|
|
VRF_NOPITCH = VRF_NOPITCHSTART|VRF_NOPITCHEND,
|
|
};
|
|
|
|
enum ERenderStyles
|
|
{
|
|
STYLE_None,
|
|
STYLE_Normal,
|
|
STYLE_Fuzzy,
|
|
STYLE_SoulTrans,
|
|
STYLE_OptFuzzy,
|
|
STYLE_Stencil,
|
|
STYLE_Translucent,
|
|
STYLE_Add,
|
|
STYLE_Shaded,
|
|
STYLE_TranslucentStencil,
|
|
STYLE_Shadow,
|
|
STYLE_Subtract,
|
|
STYLE_AddStencil,
|
|
STYLE_AddShaded,
|
|
};
|
|
*/ |