2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_PainAttack
|
|
|
|
const int PAF_NOSKULLATTACK = 1;
|
|
|
|
const int PAF_AIMFACING = 2;
|
|
|
|
const int PAF_NOTARGET = 4;
|
|
|
|
|
|
|
|
// Flags for A_VileAttack
|
|
|
|
const int VAF_DMGTYPEAPPLYTODIRECT = 1;
|
|
|
|
|
|
|
|
// Flags for A_Saw
|
|
|
|
const int SF_NORANDOM = 1;
|
|
|
|
const int SF_RANDOMLIGHTMISS = 2;
|
|
|
|
const int SF_RANDOMLIGHTHIT = 4;
|
|
|
|
const int SF_RANDOMLIGHTBOTH = 6;
|
|
|
|
const int SF_NOUSEAMMOMISS = 8;
|
|
|
|
const int SF_NOUSEAMMO = 16;
|
|
|
|
const int SF_NOPULLIN = 32;
|
|
|
|
const int SF_NOTURN = 64;
|
2014-12-18 20:05:59 +00:00
|
|
|
const int SF_STEALARMOR = 128;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_CustomMissile
|
|
|
|
const int CMF_AIMOFFSET = 1;
|
|
|
|
const int CMF_AIMDIRECTION = 2;
|
|
|
|
const int CMF_TRACKOWNER = 4;
|
|
|
|
const int CMF_CHECKTARGETDEAD = 8;
|
|
|
|
const int CMF_ABSOLUTEPITCH = 16;
|
|
|
|
const int CMF_OFFSETPITCH = 32;
|
|
|
|
const int CMF_SAVEPITCH = 64;
|
|
|
|
const int CMF_ABSOLUTEANGLE = 128;
|
|
|
|
|
|
|
|
// Flags for A_CustomBulletAttack
|
|
|
|
const int CBAF_AIMFACING = 1;
|
|
|
|
const int CBAF_NORANDOM = 2;
|
|
|
|
const int CBAF_EXPLICITANGLE = 4;
|
|
|
|
const int CBAF_NOPITCH = 8;
|
|
|
|
const int CBAF_NORANDOMPUFFZ = 16;
|
|
|
|
|
|
|
|
// Flags for A_GunFlash
|
|
|
|
const int GFF_NOEXTCHANGE = 1;
|
|
|
|
|
|
|
|
// Flags for A_FireBullets
|
|
|
|
const int FBF_USEAMMO = 1;
|
|
|
|
const int FBF_NORANDOM = 2;
|
|
|
|
const int FBF_EXPLICITANGLE = 4;
|
|
|
|
const int FBF_NOPITCH = 8;
|
|
|
|
const int FBF_NOFLASH = 16;
|
|
|
|
const int FBF_NORANDOMPUFFZ = 32;
|
|
|
|
|
|
|
|
// Flags for A_SpawnItemEx
|
|
|
|
const int SXF_TRANSFERTRANSLATION = 1 << 0;
|
|
|
|
const int SXF_ABSOLUTEPOSITION = 1 << 1;
|
|
|
|
const int SXF_ABSOLUTEANGLE = 1 << 2;
|
|
|
|
const int SXF_ABSOLUTEMOMENTUM = 1 << 3; //Since "momentum" is declared to be deprecated in the expressions, for compatibility
|
|
|
|
const int SXF_ABSOLUTEVELOCITY = 1 << 3; //purposes, this was made. It does the same thing though. Do not change the value.
|
|
|
|
const int SXF_SETMASTER = 1 << 4;
|
|
|
|
const int SXF_NOCHECKPOSITION = 1 << 5;
|
|
|
|
const int SXF_TELEFRAG = 1 << 6;
|
|
|
|
const int SXF_CLIENTSIDE = 1 << 7; // only used by Skulltag
|
|
|
|
const int SXF_TRANSFERAMBUSHFLAG = 1 << 8;
|
|
|
|
const int SXF_TRANSFERPITCH = 1 << 9;
|
|
|
|
const int SXF_TRANSFERPOINTERS = 1 << 10;
|
|
|
|
const int SXF_USEBLOODCOLOR = 1 << 11;
|
|
|
|
const int SXF_CLEARCALLERTID = 1 << 12;
|
|
|
|
const int SXF_MULTIPLYSPEED = 1 << 13;
|
|
|
|
const int SXF_TRANSFERSCALE = 1 << 14;
|
|
|
|
const int SXF_TRANSFERSPECIAL = 1 << 15;
|
|
|
|
const int SXF_CLEARCALLERSPECIAL = 1 << 16;
|
|
|
|
const int SXF_TRANSFERSTENCILCOL = 1 << 17;
|
|
|
|
const int SXF_TRANSFERALPHA = 1 << 18;
|
|
|
|
const int SXF_TRANSFERRENDERSTYLE = 1 << 19;
|
|
|
|
const int SXF_SETTARGET = 1 << 20;
|
|
|
|
const int SXF_SETTRACER = 1 << 21;
|
|
|
|
const int SXF_NOPOINTERS = 1 << 22;
|
2014-10-11 21:15:42 +00:00
|
|
|
const int SXF_ORIGINATOR = 1 << 23;
|
2015-02-08 14:54:55 +00:00
|
|
|
const int SXF_TRANSFERSPRITEFRAME = 1 << 24;
|
2015-02-14 22:51:05 +00:00
|
|
|
const int SXF_TRANSFERROLL = 1 << 25;
|
2015-08-10 11:48:24 +00:00
|
|
|
const int SXF_ISTARGET = 1 << 26;
|
|
|
|
const int SXF_ISMASTER = 1 << 27;
|
|
|
|
const int SXF_ISTRACER = 1 << 28;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_Chase
|
2016-01-08 01:20:02 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
CHF_FASTCHASE = 1,
|
|
|
|
CHF_NOPLAYACTIVE = 2,
|
|
|
|
CHF_NIGHTMAREFAST = 4,
|
|
|
|
CHF_RESURRECT = 8,
|
|
|
|
CHF_DONTMOVE = 16,
|
|
|
|
CHF_NORANDOMTURN = 32,
|
2016-01-27 15:35:19 +00:00
|
|
|
CHF_NODIRECTIONTURN = 64,
|
2016-01-08 01:20:02 +00:00
|
|
|
CHF_NOPOSTATTACKTURN = 128,
|
|
|
|
CHF_STOPIFBLOCKED = 256,
|
|
|
|
|
2016-01-27 15:39:46 +00:00
|
|
|
CHF_DONTTURN = CHF_NORANDOMTURN | CHF_NOPOSTATTACKTURN | CHF_STOPIFBLOCKED
|
2016-01-08 01:20:02 +00:00
|
|
|
};
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_LookEx
|
|
|
|
const int LOF_NOSIGHTCHECK = 1;
|
|
|
|
const int LOF_NOSOUNDCHECK = 2;
|
|
|
|
const int LOF_DONTCHASEGOAL = 4;
|
|
|
|
const int LOF_NOSEESOUND = 8;
|
|
|
|
const int LOF_FULLVOLSEESOUND = 16;
|
|
|
|
const int LOF_NOJUMP = 32;
|
|
|
|
|
|
|
|
// Flags for A_Respawn
|
|
|
|
const int RSF_FOG = 1;
|
|
|
|
const int RSF_KEEPTARGET = 2;
|
|
|
|
const int RSF_TELEFRAG = 4;
|
|
|
|
|
|
|
|
// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
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
|
|
|
|
const int CVF_RELATIVE = 1;
|
|
|
|
const int CVF_REPLACE = 2;
|
|
|
|
|
|
|
|
// Flags for A_WeaponReady
|
|
|
|
const int WRF_NOBOB = 1;
|
|
|
|
const int WRF_NOSWITCH = 2;
|
|
|
|
const int WRF_NOPRIMARY = 4;
|
|
|
|
const int WRF_NOSECONDARY = 8;
|
|
|
|
const int WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY;
|
|
|
|
const int WRF_ALLOWRELOAD = 16;
|
|
|
|
const int WRF_ALLOWZOOM = 32;
|
|
|
|
const int WRF_DISABLESWITCH = 64;
|
2015-12-31 22:41:09 +00:00
|
|
|
const int WRF_ALLOWUSER1 = 128;
|
|
|
|
const int WRF_ALLOWUSER2 = 256;
|
|
|
|
const int WRF_ALLOWUSER3 = 512;
|
|
|
|
const int WRF_ALLOWUSER4 = 1024;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Morph constants
|
|
|
|
const int MRF_ADDSTAMINA = 1;
|
|
|
|
const int MRF_FULLHEALTH = 2;
|
|
|
|
const int MRF_UNDOBYTOMEOFPOWER = 4;
|
|
|
|
const int MRF_UNDOBYCHAOSDEVICE = 8;
|
|
|
|
const int MRF_FAILNOTELEFRAG = 16;
|
|
|
|
const int MRF_FAILNOLAUGH = 32;
|
|
|
|
const int MRF_WHENINVULNERABLE = 64;
|
|
|
|
const int MRF_LOSEACTUALWEAPON = 128;
|
|
|
|
const int MRF_NEWTIDBEHAVIOUR = 256;
|
|
|
|
const int MRF_UNDOBYDEATH = 512;
|
|
|
|
const int MRF_UNDOBYDEATHFORCED = 1024;
|
|
|
|
const int MRF_UNDOBYDEATHSAVES = 2048;
|
2015-04-03 17:16:27 +00:00
|
|
|
const int MRF_UNDOALWAYS = 4096;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_RailAttack and A_CustomRailgun
|
|
|
|
const int RGF_SILENT = 1;
|
|
|
|
const int RGF_NOPIERCING = 2;
|
|
|
|
const int RGF_EXPLICITANGLE = 4;
|
|
|
|
const int RGF_FULLBRIGHT = 8;
|
|
|
|
const int RGF_CENTERZ = 16;
|
|
|
|
|
|
|
|
// Flags for A_Mushroom
|
|
|
|
const int MSF_Standard = 0;
|
|
|
|
const int MSF_Classic = 1;
|
|
|
|
const int MSF_DontHurt = 2;
|
|
|
|
|
|
|
|
// Flags for A_Explode
|
|
|
|
const int XF_HURTSOURCE = 1;
|
|
|
|
const int XF_NOTMISSILE = 4;
|
|
|
|
|
|
|
|
// Flags for A_RadiusThrust
|
|
|
|
const int RTF_AFFECTSOURCE = 1;
|
|
|
|
const int RTF_NOIMPACTDAMAGE = 2;
|
|
|
|
const int RTF_NOTMISSILE = 4;
|
2016-05-11 12:28:05 +00:00
|
|
|
const int RTF_THRUSTZ = 16;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_Blast
|
|
|
|
const int BF_USEAMMO = 1;
|
|
|
|
const int BF_DONTWARN = 2;
|
|
|
|
const int BF_AFFECTBOSSES = 4;
|
|
|
|
const int BF_NOIMPACTDAMAGE = 8;
|
|
|
|
|
|
|
|
// Flags for A_SeekerMissile
|
|
|
|
const int SMF_LOOK = 1;
|
|
|
|
const int SMF_PRECISE = 2;
|
|
|
|
const int SMF_CURSPEED = 4;
|
|
|
|
|
|
|
|
// Flags for A_CustomPunch
|
|
|
|
const int CPF_USEAMMO = 1;
|
|
|
|
const int CPF_DAGGER = 2;
|
|
|
|
const int CPF_PULLIN = 4;
|
|
|
|
const int CPF_NORANDOMPUFFZ = 8;
|
2014-11-14 11:18:46 +00:00
|
|
|
const int CPF_NOTURN = 16;
|
2014-12-18 20:05:59 +00:00
|
|
|
const int CPF_STEALARMOR = 32;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_CustomMissile
|
|
|
|
const int FPF_AIMATANGLE = 1;
|
|
|
|
const int FPF_TRANSFERTRANSLATION = 2;
|
2015-09-08 15:40:21 +00:00
|
|
|
const int FPF_NOAUTOAIM = 4;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_Teleport
|
2014-12-19 18:37:02 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
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.
|
2015-05-01 13:32:07 +00:00
|
|
|
TF_OVERRIDE = 0x00000400, // Ignore NOTELEPORT.
|
2015-12-17 16:34:38 +00:00
|
|
|
TF_SENSITIVEZ = 0x00000800, // Fail if the actor wouldn't fit in the position (for Z).
|
2014-12-19 18:37:02 +00:00
|
|
|
|
|
|
|
TF_KEEPORIENTATION = TF_KEEPVELOCITY|TF_KEEPANGLE,
|
|
|
|
TF_NOFOG = TF_NOSRCFOG|TF_NODESTFOG,
|
|
|
|
};
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_WolfAttack
|
|
|
|
const int WAF_NORANDOM = 1;
|
|
|
|
const int WAF_USEPUFF = 2;
|
|
|
|
|
|
|
|
// Flags for A_RadiusGive
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
RGF_GIVESELF = 1,
|
2014-10-29 19:01:31 +00:00
|
|
|
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,
|
- Significant A_RadiusGive update.
- Added filter and species parameter.
- Added new flags: RGF_INCLUSIVE, RGF_ITEMS, RGF_KILLED, RGF_EXFILTER, RGF_EXSPECIES, and RGF_EITHER.
- RGF_ITEMS: Items can receive inventory.
- RGF_KILLED: Actors who are truly dead might not be corpses, and vice versa.
- RGF_EXFILTER: Blacklists the specified actor filter. All but the filtered actor can receive the item.
- RGF_EXSPECIES: Blacklists the specified species. All but the filtered species can receive the item.
- RGF_EITHER: The actor can receive the item if it satisfies either the filter or the species. Only useful when both are used.
- RGF_INCLUSIVE: An actor marked as more than one pointer to the calling actor can ignore the exclusion pointers, but only if at least one is missing. I.e. an actor who is a target and tracer of the calling actor can still receive the item, if the calling actor doesn't pass RGF_NOTARGET and NOTRACER at the same time. RGF_INCLUSIVE only works with the pointer filtering flags. By default, if not specified, the actor will not be loopholed the item if they are under any one of the three filters.
- Fixed discrepancies and dependencies upon several flags and actor conditions which caused the function to fail.
2015-07-22 21:46:14 +00:00
|
|
|
RGF_INCLUSIVE = 1 << 12,
|
|
|
|
RGF_ITEMS = 1 << 13,
|
|
|
|
RGF_KILLED = 1 << 14,
|
|
|
|
RGF_EXFILTER = 1 << 15,
|
|
|
|
RGF_EXSPECIES = 1 << 16,
|
|
|
|
RGF_EITHER = 1 << 17,
|
2014-10-02 22:00:17 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Activation flags
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
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
|
|
|
|
const int AF_Default = 0;
|
|
|
|
const int AF_ThingActs = 1;
|
|
|
|
const int AF_ThingTargets = 2;
|
|
|
|
const int AF_TriggerTargets = 4;
|
|
|
|
const int AF_MonsterTrigger = 8;
|
|
|
|
const int AF_MissileTrigger = 16;
|
|
|
|
const int AF_ClearSpecial = 32;
|
|
|
|
const int AF_NoDeathSpecial = 64;
|
|
|
|
const int AF_TriggerActs = 128;
|
|
|
|
|
|
|
|
// Flags for A_TakeInventory and A_TakeFromTarget
|
|
|
|
const int TIF_NOTAKEINFINITE = 1;
|
|
|
|
|
|
|
|
// constants for A_PlaySound
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
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 float ATTN_NONE = 0;
|
|
|
|
const float ATTN_NORM = 1;
|
|
|
|
const float ATTN_IDLE = 1.001;
|
|
|
|
const float ATTN_STATIC = 3;
|
|
|
|
|
|
|
|
// For SetPlayerProprty action special
|
|
|
|
Const Int PROP_FROZEN = 0;
|
|
|
|
Const Int PROP_NOTARGET = 1;
|
|
|
|
Const Int PROP_INSTANTWEAPONSWITCH = 2;
|
|
|
|
Const Int PROP_FLY = 3;
|
|
|
|
Const Int PROP_TOTALLYFROZEN = 4;
|
|
|
|
Const Int PROP_INVULNERABILITY = 5; // (Deprecated)
|
|
|
|
Const Int PROP_STRENGTH = 6; // (Deprecated)
|
|
|
|
Const Int PROP_INVISIBILITY = 7; // (Deprecated)
|
|
|
|
Const Int PROP_RADIATIONSUIT = 8; // (Deprecated)
|
|
|
|
Const Int PROP_ALLMAP = 9; // (Deprecated)
|
|
|
|
Const Int PROP_INFRARED = 10; // (Deprecated)
|
|
|
|
Const Int PROP_WEAPONLEVEL2 = 11; // (Deprecated)
|
|
|
|
Const Int PROP_FLIGHT = 12; // (Deprecated)
|
|
|
|
Const Int PROP_SPEED = 15; // (Deprecated)
|
|
|
|
Const Int PROP_BUDDHA = 16;
|
|
|
|
|
|
|
|
// Line_SetBlocking
|
|
|
|
Const Int BLOCKF_CREATURES = 1;
|
|
|
|
Const Int BLOCKF_MONSTERS = 2;
|
|
|
|
Const Int BLOCKF_PLAYERS = 4;
|
|
|
|
Const Int BLOCKF_FLOATERS = 8;
|
|
|
|
Const Int BLOCKF_PROJECTILES = 16;
|
|
|
|
Const Int BLOCKF_EVERYTHING = 32;
|
|
|
|
Const Int BLOCKF_RAILING = 64;
|
|
|
|
Const Int BLOCKF_USE = 128;
|
|
|
|
|
|
|
|
// Pointer constants, bitfield-enabled
|
|
|
|
|
|
|
|
Const Int AAPTR_DEFAULT = 0;
|
|
|
|
Const Int AAPTR_NULL = 0x1;
|
|
|
|
Const Int AAPTR_TARGET = 0x2;
|
|
|
|
Const Int AAPTR_MASTER = 0x4;
|
|
|
|
Const Int AAPTR_TRACER = 0x8;
|
|
|
|
|
|
|
|
Const Int AAPTR_PLAYER_GETTARGET = 0x10;
|
|
|
|
Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20;
|
|
|
|
|
|
|
|
Const Int AAPTR_PLAYER1 = 0x40;
|
|
|
|
Const Int AAPTR_PLAYER2 = 0x80;
|
|
|
|
Const Int AAPTR_PLAYER3 = 0x100;
|
|
|
|
Const Int AAPTR_PLAYER4 = 0x200;
|
|
|
|
Const Int AAPTR_PLAYER5 = 0x400;
|
|
|
|
Const Int AAPTR_PLAYER6 = 0x800;
|
|
|
|
Const Int AAPTR_PLAYER7 = 0x1000;
|
|
|
|
Const Int AAPTR_PLAYER8 = 0x2000;
|
|
|
|
|
|
|
|
Const Int AAPTR_FRIENDPLAYER = 0x4000;
|
|
|
|
Const Int AAPTR_LINETARGET = 0x8000;
|
|
|
|
|
|
|
|
// Pointer operation flags
|
|
|
|
|
|
|
|
Const Int PTROP_UNSAFETARGET = 1;
|
|
|
|
Const Int PTROP_UNSAFEMASTER = 2;
|
|
|
|
Const Int PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER;
|
|
|
|
|
|
|
|
|
|
|
|
// Flags for A_Warp
|
|
|
|
|
|
|
|
Const Int WARPF_ABSOLUTEOFFSET = 0x1;
|
|
|
|
Const Int WARPF_ABSOLUTEANGLE = 0x2;
|
|
|
|
Const Int WARPF_USECALLERANGLE = 0x4;
|
|
|
|
Const Int WARPF_NOCHECKPOSITION = 0x8;
|
|
|
|
Const Int WARPF_INTERPOLATE = 0x10;
|
|
|
|
Const Int WARPF_WARPINTERPOLATION = 0x20;
|
|
|
|
Const Int WARPF_COPYINTERPOLATION = 0x40;
|
|
|
|
Const Int WARPF_STOP = 0x80;
|
|
|
|
Const Int WARPF_TOFLOOR = 0x100;
|
|
|
|
Const Int WARPF_TESTONLY = 0x200;
|
2014-11-07 23:20:12 +00:00
|
|
|
Const Int WAPRF_ABSOLUTEPOSITION = 0x400;
|
2014-11-07 23:12:03 +00:00
|
|
|
Const Int WARPF_ABSOLUTEPOSITION = 0x400;
|
2015-01-06 17:55:41 +00:00
|
|
|
Const Int WARPF_BOB = 0x800;
|
|
|
|
Const Int WARPF_MOVEPTR = 0x1000;
|
2015-07-31 12:54:01 +00:00
|
|
|
Const Int WARPF_USETID = 0x2000;
|
2015-10-03 22:28:54 +00:00
|
|
|
Const Int WARPF_COPYVELOCITY = 0x4000;
|
|
|
|
Const Int WARPF_COPYPITCH = 0x8000;
|
2014-10-02 22:00:17 +00:00
|
|
|
|
2015-01-05 09:51:32 +00:00
|
|
|
// flags for A_SetPitch/SetAngle/SetRoll
|
2014-10-02 22:00:17 +00:00
|
|
|
const int SPF_FORCECLAMP = 1;
|
|
|
|
const int SPF_INTERPOLATE = 2;
|
|
|
|
|
|
|
|
|
|
|
|
// flags for A_CheckLOF
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
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,
|
|
|
|
|
2014-12-15 20:50:35 +00:00
|
|
|
CLOFF_SETTARGET = 0x800000,
|
|
|
|
CLOFF_SETMASTER = 0x1000000,
|
|
|
|
CLOFF_SETTRACER = 0x2000000,
|
|
|
|
|
2014-10-02 22:00:17 +00:00
|
|
|
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
|
2014-12-21 16:38:51 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
KILS_FOILINVUL = 0x00000001,
|
|
|
|
KILS_KILLMISSILES = 0x00000002,
|
|
|
|
KILS_NOMONSTERS = 0x00000004,
|
|
|
|
KILS_FOILBUDDHA = 0x00000008,
|
|
|
|
KILS_EXFILTER = 0x00000010,
|
|
|
|
KILS_EXSPECIES = 0x00000020,
|
|
|
|
KILS_EITHER = 0x00000040,
|
|
|
|
};
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series
|
2014-12-21 16:38:51 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
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,
|
|
|
|
};
|
2014-10-02 22:00:17 +00:00
|
|
|
|
|
|
|
// Flags for A_AlertMonsters
|
|
|
|
const int AMF_TARGETEMITTER = 1;
|
|
|
|
const int AMF_TARGETNONPLAYER = 2;
|
|
|
|
const int AMF_EMITFROMTARGET = 4;
|
|
|
|
|
|
|
|
// Flags for A_Remove*
|
|
|
|
enum
|
|
|
|
{
|
2014-12-21 16:38:51 +00:00
|
|
|
RMVF_MISSILES = 0x00000001,
|
|
|
|
RMVF_NOMONSTERS = 0x00000002,
|
|
|
|
RMVF_MISC = 0x00000004,
|
|
|
|
RMVF_EVERYTHING = 0x00000008,
|
|
|
|
RMVF_EXFILTER = 0x00000010,
|
|
|
|
RMVF_EXSPECIES = 0x00000020,
|
|
|
|
RMVF_EITHER = 0x00000040,
|
2014-10-02 22:00:17 +00:00
|
|
|
};
|
|
|
|
|
2014-11-25 19:24:35 +00:00
|
|
|
// Flags for A_Fade*
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
FTF_REMOVE = 1 << 0,
|
|
|
|
FTF_CLAMP = 1 << 1,
|
|
|
|
};
|
|
|
|
|
2015-01-30 22:48:24 +00:00
|
|
|
// Flags for A_Face*
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
FAF_BOTTOM = 1,
|
|
|
|
FAF_MIDDLE = 2,
|
|
|
|
FAF_TOP = 4,
|
|
|
|
FAF_NODISTFACTOR = 8,
|
|
|
|
};
|
|
|
|
|
2015-02-14 21:58:39 +00:00
|
|
|
// Flags for A_QuakeEx
|
|
|
|
enum
|
|
|
|
{
|
2015-02-20 03:42:32 +00:00
|
|
|
QF_RELATIVE = 1,
|
|
|
|
QF_SCALEDOWN = 1 << 1,
|
|
|
|
QF_SCALEUP = 1 << 2,
|
2015-02-20 16:46:37 +00:00
|
|
|
QF_MAX = 1 << 3,
|
2015-02-20 17:06:41 +00:00
|
|
|
QF_FULLINTENSITY = 1 << 4,
|
Added QF_SINE
- Squashed commit of the following:
commit bc45fe3263d34ef5f746f524687999c19bf7b779
Author: Randy Heit <rheit@users.noreply.github.com>
Date: Sun Mar 1 18:51:05 2015 -0600
wave scale -> wave speed
commit ff96388b128c724c1198757bfa52f1935a263356
Author: Randy Heit <rheit@users.noreply.github.com>
Date: Sun Mar 1 18:45:32 2015 -0600
More sine quake fixes
commit 2a89749a6fe6d271b9fbdc218779f680afcf4cb6
Merge: 719dfbe 5456074
Author: MajorCooke <paul.growney22@gmail.com>
Date: Sat Feb 28 20:37:22 2015 -0600
Added QF_WAVE to A_QuakeEx.
- Changes the random quakes into a sine wave (see Shadow Warrior/Rise of the Triad reboots, Hard Reset, etc.)
- Added 3 properties to control waves per second along each individual axis. Only works with QF_WAVE.
- Intensity X/Y/Z property becomes the amplitude of the wave.
- Stacks with regular quakes, allowing shaking along the camera which must be called using A_QuakeEx WITHOUT the flag, or the other quaking functions.
- Uses the youngest quake's time for positioning.
commit 54560741581e8d15cc7060e8e068cf85e9a4b432
Author: MajorCooke <paul.growney22@gmail.com>
Date: Sat Feb 28 20:21:19 2015 -0600
Recommitted recommended changes by Randi, with some modifications. Now, we should be finished!
commit 6f4473013411686d88fc185bdc1cc58b1035b0f1
Author: MajorCooke <paul.growney22@gmail.com>
Date: Sat Feb 28 12:52:57 2015 -0600
Finish this revert.
commit 467e53f9400f588a2ada9b32e7634cb1f4ad5066
Author: MajorCooke <paul.growney22@gmail.com>
Date: Sat Feb 28 12:46:02 2015 -0600
Reverted back to what was working.
commit da9de56a67efda08036e481fd5fccd5392ce6810
Author: MajorCooke <paul.growney22@gmail.com>
Date: Thu Feb 26 18:53:20 2015 -0600
Forgot this bit, for testing.
commit c5093d9bb97caf8478cefc32abc56a036feeea58
Author: MajorCooke <paul.growney22@gmail.com>
Date: Thu Feb 26 18:52:46 2015 -0600
Some more progress, but...
- This did not solve anything. In fact, it did the opposite -- completely broke wave quakes. Now they only happen whenever a random quake is in progress.
- Left in the commented code on purpose so Randi can test it.
commit 7e526405d2127cbb279f66008c8f8e55a5d497f3
Author: MajorCooke <paul.growney22@gmail.com>
Date: Wed Feb 25 17:50:42 2015 -0600
- Use newest waveform timer, not oldest.
commit 1356443609dbc6c7f46e081d0846816dc0836124
Author: MajorCooke <paul.growney22@gmail.com>
Date: Wed Feb 25 17:32:09 2015 -0600
- Got regular quakes to multiply onto sine quakes, but the vice versa needs fixing too.
commit d95796c94c70cd0229d4a6d30f69e3a7568b9588
Author: MajorCooke <paul.growney22@gmail.com>
Date: Wed Feb 25 16:46:21 2015 -0600
- Last hurdle. Now just need to figure out how to properly scale up and down.
commit 4bc3458e689155ce72c09776604d9eb4fa73d8be
Author: MajorCooke <paul.growney22@gmail.com>
Date: Tue Feb 24 23:18:03 2015 -0600
- Fixed the quakes being unstackable.
commit b51012d6d4ea065bf7f6fc9c1a0472966491f7af
Author: MajorCooke <paul.growney22@gmail.com>
Date: Mon Feb 23 23:48:34 2015 -0600
QF_WAVE renamed from SINE.
- Lots of ground covered, but still more to go.
- Still need to figure out how to make the camera properly shudder.
commit 427e4893193470bbf45415ffec70a0b69b8cccfd
Author: MajorCooke <paul.growney22@gmail.com>
Date: Sun Feb 22 16:52:30 2015 -0600
- Begin the groundworks for QF_SINE.
- Need to figure out how to rework and manipulate the sine wave to move faster, and to allow going below 0 without breaking it too much.
2015-03-02 00:53:34 +00:00
|
|
|
QF_WAVE = 1 << 5,
|
2015-02-14 21:58:39 +00:00
|
|
|
};
|
2014-10-02 22:00:17 +00:00
|
|
|
|
2015-11-28 16:53:34 +00:00
|
|
|
// A_CheckProximity flags
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CPXF_ANCESTOR = 1,
|
|
|
|
CPXF_LESSOREQUAL = 1 << 1,
|
|
|
|
CPXF_NOZ = 1 << 2,
|
|
|
|
CPXF_COUNTDEAD = 1 << 3,
|
|
|
|
CPXF_DEADONLY = 1 << 4,
|
|
|
|
CPXF_EXACT = 1 << 5,
|
2016-01-07 23:09:02 +00:00
|
|
|
CPXF_SETTARGET = 1 << 6,
|
|
|
|
CPXF_SETMASTER = 1 << 7,
|
|
|
|
CPXF_SETTRACER = 1 << 8,
|
|
|
|
CPXF_FARTHEST = 1 << 9,
|
|
|
|
CPXF_CLOSEST = 1 << 10,
|
|
|
|
CPXF_SETONPTR = 1 << 11,
|
2016-01-26 16:00:20 +00:00
|
|
|
CPXF_CHECKSIGHT = 1 << 12,
|
2015-11-28 16:53:34 +00:00
|
|
|
};
|
|
|
|
|
2015-10-04 21:00:40 +00:00
|
|
|
// Flags for A_CheckBlock
|
|
|
|
// These flags only affect the calling actor('s pointer), not the ones being searched.
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
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.
|
2016-01-31 15:45:41 +00:00
|
|
|
CBF_DROPOFF = 1 << 5, //Check for dropoffs.
|
2016-03-03 02:35:54 +00:00
|
|
|
CBF_NOACTORS = 1 << 6, //Don't check actors.
|
2016-03-10 18:54:23 +00:00
|
|
|
CBF_ABSOLUTEPOS = 1 << 7, //Absolute position for offsets.
|
|
|
|
CBF_ABSOLUTEANGLE = 1 << 8, //Absolute angle for offsets.
|
2015-10-04 21:00:40 +00:00
|
|
|
};
|
|
|
|
|
2016-01-21 22:36:58 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
SPF_FULLBRIGHT = 1,
|
|
|
|
SPF_RELPOS = 1 << 1,
|
|
|
|
SPF_RELVEL = 1 << 2,
|
|
|
|
SPF_RELACCEL = 1 << 3,
|
|
|
|
SPF_RELANG = 1 << 4,
|
|
|
|
|
|
|
|
SPF_RELATIVE = SPF_RELPOS|SPF_RELVEL|SPF_RELACCEL|SPF_RELANG
|
|
|
|
};
|
|
|
|
|
2016-01-27 16:12:13 +00:00
|
|
|
//Flags for A_FaceMovementDirection
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
FMDF_NOPITCH = 1 << 0,
|
|
|
|
FMDF_INTERPOLATE = 1 << 1,
|
|
|
|
FMDF_NOANGLE = 1 << 2,
|
2015-11-25 07:44:19 +00:00
|
|
|
};
|
2016-05-05 23:33:36 +00:00
|
|
|
|
|
|
|
// Flags for GetZAt
|
|
|
|
enum
|
|
|
|
{
|
2016-05-12 18:23:10 +00:00
|
|
|
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.
|
2016-05-05 23:33:36 +00:00
|
|
|
};
|
2016-05-17 20:44:03 +00:00
|
|
|
|
|
|
|
// Flags for A_WeaponOffset
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
WOF_KEEPX = 1,
|
|
|
|
WOF_KEEPY = 1 << 1,
|
|
|
|
WOF_ADD = 1 << 2,
|
|
|
|
};
|