This commit is contained in:
Christoph Oelckers 2014-10-12 08:30:13 +02:00
commit 2228dcb32f
2 changed files with 415 additions and 410 deletions

View file

@ -3278,18 +3278,19 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckLOF)
enum JLOS_flags enum JLOS_flags
{ {
JLOSF_PROJECTILE=1, JLOSF_PROJECTILE = 1,
JLOSF_NOSIGHT=2, JLOSF_NOSIGHT = 1 << 1,
JLOSF_CLOSENOFOV=4, JLOSF_CLOSENOFOV = 1 << 2,
JLOSF_CLOSENOSIGHT=8, JLOSF_CLOSENOSIGHT = 1 << 3,
JLOSF_CLOSENOJUMP=16, JLOSF_CLOSENOJUMP = 1 << 4,
JLOSF_DEADNOJUMP=32, JLOSF_DEADNOJUMP = 1 << 5,
JLOSF_CHECKMASTER=64, JLOSF_CHECKMASTER = 1 << 6,
JLOSF_TARGETLOS=128, JLOSF_TARGETLOS = 1 << 7,
JLOSF_FLIPFOV=256, JLOSF_FLIPFOV = 1 << 8,
JLOSF_ALLYNOJUMP=512, JLOSF_ALLYNOJUMP = 1 << 9,
JLOSF_COMBATANTONLY=1024, JLOSF_COMBATANTONLY = 1 << 10,
JLOSF_NOAUTOAIM=2048, JLOSF_NOAUTOAIM = 1 << 11,
JLOSF_CHECKTRACER = 1 << 12,
}; };
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS) DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
@ -3314,9 +3315,9 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
{ {
target = self->master; target = self->master;
} }
else if (self->flags & MF_MISSILE && (flags & JLOSF_PROJECTILE)) else if ((self->flags & MF_MISSILE && (flags & JLOSF_PROJECTILE)) || (flags & JLOSF_CHECKTRACER))
{ {
if (self->flags2 & MF2_SEEKERMISSILE) if ((self->flags2 & MF2_SEEKERMISSILE) || (flags & JLOSF_CHECKTRACER))
target = self->tracer; target = self->tracer;
else else
target = NULL; target = NULL;

View file

@ -1,396 +1,400 @@
// Flags for A_PainAttack // Flags for A_PainAttack
const int PAF_NOSKULLATTACK = 1; const int PAF_NOSKULLATTACK = 1;
const int PAF_AIMFACING = 2; const int PAF_AIMFACING = 2;
const int PAF_NOTARGET = 4; const int PAF_NOTARGET = 4;
// Flags for A_VileAttack // Flags for A_VileAttack
const int VAF_DMGTYPEAPPLYTODIRECT = 1; const int VAF_DMGTYPEAPPLYTODIRECT = 1;
// Flags for A_Saw // Flags for A_Saw
const int SF_NORANDOM = 1; const int SF_NORANDOM = 1;
const int SF_RANDOMLIGHTMISS = 2; const int SF_RANDOMLIGHTMISS = 2;
const int SF_RANDOMLIGHTHIT = 4; const int SF_RANDOMLIGHTHIT = 4;
const int SF_RANDOMLIGHTBOTH = 6; const int SF_RANDOMLIGHTBOTH = 6;
const int SF_NOUSEAMMOMISS = 8; const int SF_NOUSEAMMOMISS = 8;
const int SF_NOUSEAMMO = 16; const int SF_NOUSEAMMO = 16;
const int SF_NOPULLIN = 32; const int SF_NOPULLIN = 32;
const int SF_NOTURN = 64; const int SF_NOTURN = 64;
// Flags for A_CustomMissile // Flags for A_CustomMissile
const int CMF_AIMOFFSET = 1; const int CMF_AIMOFFSET = 1;
const int CMF_AIMDIRECTION = 2; const int CMF_AIMDIRECTION = 2;
const int CMF_TRACKOWNER = 4; const int CMF_TRACKOWNER = 4;
const int CMF_CHECKTARGETDEAD = 8; const int CMF_CHECKTARGETDEAD = 8;
const int CMF_ABSOLUTEPITCH = 16; const int CMF_ABSOLUTEPITCH = 16;
const int CMF_OFFSETPITCH = 32; const int CMF_OFFSETPITCH = 32;
const int CMF_SAVEPITCH = 64; const int CMF_SAVEPITCH = 64;
const int CMF_ABSOLUTEANGLE = 128; const int CMF_ABSOLUTEANGLE = 128;
// Flags for A_CustomBulletAttack // Flags for A_CustomBulletAttack
const int CBAF_AIMFACING = 1; const int CBAF_AIMFACING = 1;
const int CBAF_NORANDOM = 2; const int CBAF_NORANDOM = 2;
const int CBAF_EXPLICITANGLE = 4; const int CBAF_EXPLICITANGLE = 4;
const int CBAF_NOPITCH = 8; const int CBAF_NOPITCH = 8;
const int CBAF_NORANDOMPUFFZ = 16; const int CBAF_NORANDOMPUFFZ = 16;
// Flags for A_GunFlash // Flags for A_GunFlash
const int GFF_NOEXTCHANGE = 1; const int GFF_NOEXTCHANGE = 1;
// Flags for A_FireBullets // Flags for A_FireBullets
const int FBF_USEAMMO = 1; const int FBF_USEAMMO = 1;
const int FBF_NORANDOM = 2; const int FBF_NORANDOM = 2;
const int FBF_EXPLICITANGLE = 4; const int FBF_EXPLICITANGLE = 4;
const int FBF_NOPITCH = 8; const int FBF_NOPITCH = 8;
const int FBF_NOFLASH = 16; const int FBF_NOFLASH = 16;
const int FBF_NORANDOMPUFFZ = 32; const int FBF_NORANDOMPUFFZ = 32;
// Flags for A_SpawnItemEx // Flags for A_SpawnItemEx
const int SXF_TRANSFERTRANSLATION = 1 << 0; const int SXF_TRANSFERTRANSLATION = 1 << 0;
const int SXF_ABSOLUTEPOSITION = 1 << 1; const int SXF_ABSOLUTEPOSITION = 1 << 1;
const int SXF_ABSOLUTEANGLE = 1 << 2; 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_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_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_SETMASTER = 1 << 4;
const int SXF_NOCHECKPOSITION = 1 << 5; const int SXF_NOCHECKPOSITION = 1 << 5;
const int SXF_TELEFRAG = 1 << 6; const int SXF_TELEFRAG = 1 << 6;
const int SXF_CLIENTSIDE = 1 << 7; // only used by Skulltag const int SXF_CLIENTSIDE = 1 << 7; // only used by Skulltag
const int SXF_TRANSFERAMBUSHFLAG = 1 << 8; const int SXF_TRANSFERAMBUSHFLAG = 1 << 8;
const int SXF_TRANSFERPITCH = 1 << 9; const int SXF_TRANSFERPITCH = 1 << 9;
const int SXF_TRANSFERPOINTERS = 1 << 10; const int SXF_TRANSFERPOINTERS = 1 << 10;
const int SXF_USEBLOODCOLOR = 1 << 11; const int SXF_USEBLOODCOLOR = 1 << 11;
const int SXF_CLEARCALLERTID = 1 << 12; const int SXF_CLEARCALLERTID = 1 << 12;
const int SXF_MULTIPLYSPEED = 1 << 13; const int SXF_MULTIPLYSPEED = 1 << 13;
const int SXF_TRANSFERSCALE = 1 << 14; const int SXF_TRANSFERSCALE = 1 << 14;
const int SXF_TRANSFERSPECIAL = 1 << 15; const int SXF_TRANSFERSPECIAL = 1 << 15;
const int SXF_CLEARCALLERSPECIAL = 1 << 16; const int SXF_CLEARCALLERSPECIAL = 1 << 16;
const int SXF_TRANSFERSTENCILCOL = 1 << 17; const int SXF_TRANSFERSTENCILCOL = 1 << 17;
const int SXF_TRANSFERALPHA = 1 << 18; const int SXF_TRANSFERALPHA = 1 << 18;
const int SXF_TRANSFERRENDERSTYLE = 1 << 19; const int SXF_TRANSFERRENDERSTYLE = 1 << 19;
const int SXF_SETTARGET = 1 << 20; const int SXF_SETTARGET = 1 << 20;
const int SXF_SETTRACER = 1 << 21; const int SXF_SETTRACER = 1 << 21;
const int SXF_NOPOINTERS = 1 << 22; const int SXF_NOPOINTERS = 1 << 22;
// Flags for A_Chase // Flags for A_Chase
const int CHF_FASTCHASE = 1; const int CHF_FASTCHASE = 1;
const int CHF_NOPLAYACTIVE = 2; const int CHF_NOPLAYACTIVE = 2;
const int CHF_NIGHTMAREFAST = 4; const int CHF_NIGHTMAREFAST = 4;
const int CHF_RESURRECT = 8; const int CHF_RESURRECT = 8;
const int CHF_DONTMOVE = 16; const int CHF_DONTMOVE = 16;
// Flags for A_LookEx // Flags for A_LookEx
const int LOF_NOSIGHTCHECK = 1; const int LOF_NOSIGHTCHECK = 1;
const int LOF_NOSOUNDCHECK = 2; const int LOF_NOSOUNDCHECK = 2;
const int LOF_DONTCHASEGOAL = 4; const int LOF_DONTCHASEGOAL = 4;
const int LOF_NOSEESOUND = 8; const int LOF_NOSEESOUND = 8;
const int LOF_FULLVOLSEESOUND = 16; const int LOF_FULLVOLSEESOUND = 16;
const int LOF_NOJUMP = 32; const int LOF_NOJUMP = 32;
// Flags for A_Respawn // Flags for A_Respawn
const int RSF_FOG = 1; const int RSF_FOG = 1;
const int RSF_KEEPTARGET = 2; const int RSF_KEEPTARGET = 2;
const int RSF_TELEFRAG = 4; const int RSF_TELEFRAG = 4;
// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS // Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
const int JLOSF_PROJECTILE = 1; enum
const int JLOSF_NOSIGHT = 2; {
const int JLOSF_CLOSENOFOV = 4; JLOSF_PROJECTILE = 1,
const int JLOSF_CLOSENOSIGHT = 8; JLOSF_NOSIGHT = 1 << 1,
const int JLOSF_CLOSENOJUMP = 16; JLOSF_CLOSENOFOV = 1 << 2,
const int JLOSF_DEADNOJUMP = 32; JLOSF_CLOSENOSIGHT = 1 << 3,
const int JLOSF_CHECKMASTER = 64; JLOSF_CLOSENOJUMP = 1 << 4,
const int JLOSF_TARGETLOS = 128; JLOSF_DEADNOJUMP = 1 << 5,
const int JLOSF_FLIPFOV = 256; JLOSF_CHECKMASTER = 1 << 6,
const int JLOSF_ALLYNOJUMP = 512; JLOSF_TARGETLOS = 1 << 7,
const int JLOSF_COMBATANTONLY = 1024; JLOSF_FLIPFOV = 1 << 8,
const int JLOSF_NOAUTOAIM = 2048; JLOSF_ALLYNOJUMP = 1 << 9,
JLOSF_COMBATANTONLY = 1 << 10,
// Flags for A_ChangeVelocity JLOSF_NOAUTOAIM = 1 << 11,
const int CVF_RELATIVE = 1; JLOSF_CHECKTRACER = 1 << 12,
const int CVF_REPLACE = 2; };
// Flags for A_WeaponReady // Flags for A_ChangeVelocity
const int WRF_NOBOB = 1; const int CVF_RELATIVE = 1;
const int WRF_NOSWITCH = 2; const int CVF_REPLACE = 2;
const int WRF_NOPRIMARY = 4;
const int WRF_NOSECONDARY = 8; // Flags for A_WeaponReady
const int WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY; const int WRF_NOBOB = 1;
const int WRF_ALLOWRELOAD = 16; const int WRF_NOSWITCH = 2;
const int WRF_ALLOWZOOM = 32; const int WRF_NOPRIMARY = 4;
const int WRF_DISABLESWITCH = 64; const int WRF_NOSECONDARY = 8;
const int WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY;
// Morph constants const int WRF_ALLOWRELOAD = 16;
const int MRF_ADDSTAMINA = 1; const int WRF_ALLOWZOOM = 32;
const int MRF_FULLHEALTH = 2; const int WRF_DISABLESWITCH = 64;
const int MRF_UNDOBYTOMEOFPOWER = 4;
const int MRF_UNDOBYCHAOSDEVICE = 8; // Morph constants
const int MRF_FAILNOTELEFRAG = 16; const int MRF_ADDSTAMINA = 1;
const int MRF_FAILNOLAUGH = 32; const int MRF_FULLHEALTH = 2;
const int MRF_WHENINVULNERABLE = 64; const int MRF_UNDOBYTOMEOFPOWER = 4;
const int MRF_LOSEACTUALWEAPON = 128; const int MRF_UNDOBYCHAOSDEVICE = 8;
const int MRF_NEWTIDBEHAVIOUR = 256; const int MRF_FAILNOTELEFRAG = 16;
const int MRF_UNDOBYDEATH = 512; const int MRF_FAILNOLAUGH = 32;
const int MRF_UNDOBYDEATHFORCED = 1024; const int MRF_WHENINVULNERABLE = 64;
const int MRF_UNDOBYDEATHSAVES = 2048; const int MRF_LOSEACTUALWEAPON = 128;
const int MRF_NEWTIDBEHAVIOUR = 256;
// Flags for A_RailAttack and A_CustomRailgun const int MRF_UNDOBYDEATH = 512;
const int RGF_SILENT = 1; const int MRF_UNDOBYDEATHFORCED = 1024;
const int RGF_NOPIERCING = 2; const int MRF_UNDOBYDEATHSAVES = 2048;
const int RGF_EXPLICITANGLE = 4;
const int RGF_FULLBRIGHT = 8; // Flags for A_RailAttack and A_CustomRailgun
const int RGF_CENTERZ = 16; const int RGF_SILENT = 1;
const int RGF_NOPIERCING = 2;
// Flags for A_Mushroom const int RGF_EXPLICITANGLE = 4;
const int MSF_Standard = 0; const int RGF_FULLBRIGHT = 8;
const int MSF_Classic = 1; const int RGF_CENTERZ = 16;
const int MSF_DontHurt = 2;
// Flags for A_Mushroom
// Flags for A_Explode const int MSF_Standard = 0;
const int XF_HURTSOURCE = 1; const int MSF_Classic = 1;
const int XF_NOTMISSILE = 4; const int MSF_DontHurt = 2;
// Flags for A_RadiusThrust // Flags for A_Explode
const int RTF_AFFECTSOURCE = 1; const int XF_HURTSOURCE = 1;
const int RTF_NOIMPACTDAMAGE = 2; const int XF_NOTMISSILE = 4;
const int RTF_NOTMISSILE = 4;
// Flags for A_RadiusThrust
// Flags for A_Blast const int RTF_AFFECTSOURCE = 1;
const int BF_USEAMMO = 1; const int RTF_NOIMPACTDAMAGE = 2;
const int BF_DONTWARN = 2; const int RTF_NOTMISSILE = 4;
const int BF_AFFECTBOSSES = 4;
const int BF_NOIMPACTDAMAGE = 8; // Flags for A_Blast
const int BF_USEAMMO = 1;
// Flags for A_SeekerMissile const int BF_DONTWARN = 2;
const int SMF_LOOK = 1; const int BF_AFFECTBOSSES = 4;
const int SMF_PRECISE = 2; const int BF_NOIMPACTDAMAGE = 8;
const int SMF_CURSPEED = 4;
// Flags for A_SeekerMissile
// Flags for A_CustomPunch const int SMF_LOOK = 1;
const int CPF_USEAMMO = 1; const int SMF_PRECISE = 2;
const int CPF_DAGGER = 2; const int SMF_CURSPEED = 4;
const int CPF_PULLIN = 4;
const int CPF_NORANDOMPUFFZ = 8; // Flags for A_CustomPunch
const int CPF_USEAMMO = 1;
// Flags for A_CustomMissile const int CPF_DAGGER = 2;
const int FPF_AIMATANGLE = 1; const int CPF_PULLIN = 4;
const int FPF_TRANSFERTRANSLATION = 2; const int CPF_NORANDOMPUFFZ = 8;
// Flags for A_Teleport // Flags for A_CustomMissile
const int TF_TELEFRAG = 1;const int TF_RANDOMDECIDE = 2; const int FPF_AIMATANGLE = 1;
const int FPF_TRANSFERTRANSLATION = 2;
// Flags for A_WolfAttack
const int WAF_NORANDOM = 1; // Flags for A_Teleport
const int WAF_USEPUFF = 2; const int TF_TELEFRAG = 1;const int TF_RANDOMDECIDE = 2;
// Flags for A_RadiusGive // Flags for A_WolfAttack
enum const int WAF_NORANDOM = 1;
{ const int WAF_USEPUFF = 2;
RGF_GIVESELF = 1,
RGF_PLAYERS = 2, // Flags for A_RadiusGive
RGF_MONSTERS = 4, enum
RGF_OBJECTS = 8, {
RGF_VOODOO = 16, RGF_GIVESELF = 1,
RGF_CORPSES = 32, RGF_PLAYERS = 2,
RGF_NOTARGET = 64, RGF_MONSTERS = 4,
RGF_NOTRACER = 128, RGF_OBJECTS = 8,
RGF_NOMASTER = 256, RGF_VOODOO = 16,
RGF_CUBE = 512, RGF_CORPSES = 32,
}; RGF_NOTARGET = 64,
RGF_NOTRACER = 128,
// Activation flags RGF_NOMASTER = 256,
enum RGF_CUBE = 512,
{ };
THINGSPEC_Default = 0,
THINGSPEC_ThingActs = 1, // Activation flags
THINGSPEC_ThingTargets = 2, enum
THINGSPEC_TriggerTargets = 4, {
THINGSPEC_MonsterTrigger = 8, THINGSPEC_Default = 0,
THINGSPEC_MissileTrigger = 16, THINGSPEC_ThingActs = 1,
THINGSPEC_ClearSpecial = 32, THINGSPEC_ThingTargets = 2,
THINGSPEC_NoDeathSpecial = 64, THINGSPEC_TriggerTargets = 4,
THINGSPEC_TriggerActs = 128, THINGSPEC_MonsterTrigger = 8,
}; THINGSPEC_MissileTrigger = 16,
// Shorter aliases for same THINGSPEC_ClearSpecial = 32,
const int AF_Default = 0; THINGSPEC_NoDeathSpecial = 64,
const int AF_ThingActs = 1; THINGSPEC_TriggerActs = 128,
const int AF_ThingTargets = 2; };
const int AF_TriggerTargets = 4; // Shorter aliases for same
const int AF_MonsterTrigger = 8; const int AF_Default = 0;
const int AF_MissileTrigger = 16; const int AF_ThingActs = 1;
const int AF_ClearSpecial = 32; const int AF_ThingTargets = 2;
const int AF_NoDeathSpecial = 64; const int AF_TriggerTargets = 4;
const int AF_TriggerActs = 128; const int AF_MonsterTrigger = 8;
const int AF_MissileTrigger = 16;
// Flags for A_TakeInventory and A_TakeFromTarget const int AF_ClearSpecial = 32;
const int TIF_NOTAKEINFINITE = 1; const int AF_NoDeathSpecial = 64;
const int AF_TriggerActs = 128;
// constants for A_PlaySound
enum // Flags for A_TakeInventory and A_TakeFromTarget
{ const int TIF_NOTAKEINFINITE = 1;
CHAN_AUTO = 0,
CHAN_WEAPON = 1, // constants for A_PlaySound
CHAN_VOICE = 2, enum
CHAN_ITEM = 3, {
CHAN_BODY = 4, CHAN_AUTO = 0,
CHAN_5 = 5, CHAN_WEAPON = 1,
CHAN_6 = 6, CHAN_VOICE = 2,
CHAN_7 = 7, CHAN_ITEM = 3,
CHAN_BODY = 4,
// modifier flags CHAN_5 = 5,
CHAN_LISTENERZ = 8, CHAN_6 = 6,
CHAN_MAYBE_LOCAL = 16, CHAN_7 = 7,
CHAN_UI = 32,
CHAN_NOPAUSE = 64 // modifier flags
}; CHAN_LISTENERZ = 8,
CHAN_MAYBE_LOCAL = 16,
// sound attenuation values CHAN_UI = 32,
const float ATTN_NONE = 0; CHAN_NOPAUSE = 64
const float ATTN_NORM = 1; };
const float ATTN_IDLE = 1.001;
const float ATTN_STATIC = 3; // sound attenuation values
const float ATTN_NONE = 0;
// For SetPlayerProprty action special const float ATTN_NORM = 1;
Const Int PROP_FROZEN = 0; const float ATTN_IDLE = 1.001;
Const Int PROP_NOTARGET = 1; const float ATTN_STATIC = 3;
Const Int PROP_INSTANTWEAPONSWITCH = 2;
Const Int PROP_FLY = 3; // For SetPlayerProprty action special
Const Int PROP_TOTALLYFROZEN = 4; Const Int PROP_FROZEN = 0;
Const Int PROP_INVULNERABILITY = 5; // (Deprecated) Const Int PROP_NOTARGET = 1;
Const Int PROP_STRENGTH = 6; // (Deprecated) Const Int PROP_INSTANTWEAPONSWITCH = 2;
Const Int PROP_INVISIBILITY = 7; // (Deprecated) Const Int PROP_FLY = 3;
Const Int PROP_RADIATIONSUIT = 8; // (Deprecated) Const Int PROP_TOTALLYFROZEN = 4;
Const Int PROP_ALLMAP = 9; // (Deprecated) Const Int PROP_INVULNERABILITY = 5; // (Deprecated)
Const Int PROP_INFRARED = 10; // (Deprecated) Const Int PROP_STRENGTH = 6; // (Deprecated)
Const Int PROP_WEAPONLEVEL2 = 11; // (Deprecated) Const Int PROP_INVISIBILITY = 7; // (Deprecated)
Const Int PROP_FLIGHT = 12; // (Deprecated) Const Int PROP_RADIATIONSUIT = 8; // (Deprecated)
Const Int PROP_SPEED = 15; // (Deprecated) Const Int PROP_ALLMAP = 9; // (Deprecated)
Const Int PROP_BUDDHA = 16; Const Int PROP_INFRARED = 10; // (Deprecated)
Const Int PROP_WEAPONLEVEL2 = 11; // (Deprecated)
// Line_SetBlocking Const Int PROP_FLIGHT = 12; // (Deprecated)
Const Int BLOCKF_CREATURES = 1; Const Int PROP_SPEED = 15; // (Deprecated)
Const Int BLOCKF_MONSTERS = 2; Const Int PROP_BUDDHA = 16;
Const Int BLOCKF_PLAYERS = 4;
Const Int BLOCKF_FLOATERS = 8; // Line_SetBlocking
Const Int BLOCKF_PROJECTILES = 16; Const Int BLOCKF_CREATURES = 1;
Const Int BLOCKF_EVERYTHING = 32; Const Int BLOCKF_MONSTERS = 2;
Const Int BLOCKF_RAILING = 64; Const Int BLOCKF_PLAYERS = 4;
Const Int BLOCKF_USE = 128; Const Int BLOCKF_FLOATERS = 8;
Const Int BLOCKF_PROJECTILES = 16;
// Pointer constants, bitfield-enabled Const Int BLOCKF_EVERYTHING = 32;
Const Int BLOCKF_RAILING = 64;
Const Int AAPTR_DEFAULT = 0; Const Int BLOCKF_USE = 128;
Const Int AAPTR_NULL = 0x1;
Const Int AAPTR_TARGET = 0x2; // Pointer constants, bitfield-enabled
Const Int AAPTR_MASTER = 0x4;
Const Int AAPTR_TRACER = 0x8; Const Int AAPTR_DEFAULT = 0;
Const Int AAPTR_NULL = 0x1;
Const Int AAPTR_PLAYER_GETTARGET = 0x10; Const Int AAPTR_TARGET = 0x2;
Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20; Const Int AAPTR_MASTER = 0x4;
Const Int AAPTR_TRACER = 0x8;
Const Int AAPTR_PLAYER1 = 0x40;
Const Int AAPTR_PLAYER2 = 0x80; Const Int AAPTR_PLAYER_GETTARGET = 0x10;
Const Int AAPTR_PLAYER3 = 0x100; Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20;
Const Int AAPTR_PLAYER4 = 0x200;
Const Int AAPTR_PLAYER5 = 0x400; Const Int AAPTR_PLAYER1 = 0x40;
Const Int AAPTR_PLAYER6 = 0x800; Const Int AAPTR_PLAYER2 = 0x80;
Const Int AAPTR_PLAYER7 = 0x1000; Const Int AAPTR_PLAYER3 = 0x100;
Const Int AAPTR_PLAYER8 = 0x2000; Const Int AAPTR_PLAYER4 = 0x200;
Const Int AAPTR_PLAYER5 = 0x400;
Const Int AAPTR_FRIENDPLAYER = 0x4000; Const Int AAPTR_PLAYER6 = 0x800;
Const Int AAPTR_LINETARGET = 0x8000; Const Int AAPTR_PLAYER7 = 0x1000;
Const Int AAPTR_PLAYER8 = 0x2000;
// Pointer operation flags
Const Int AAPTR_FRIENDPLAYER = 0x4000;
Const Int PTROP_UNSAFETARGET = 1; Const Int AAPTR_LINETARGET = 0x8000;
Const Int PTROP_UNSAFEMASTER = 2;
Const Int PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER; // Pointer operation flags
Const Int PTROP_UNSAFETARGET = 1;
// Flags for A_Warp Const Int PTROP_UNSAFEMASTER = 2;
Const Int PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER;
Const Int WARPF_ABSOLUTEOFFSET = 0x1;
Const Int WARPF_ABSOLUTEANGLE = 0x2;
Const Int WARPF_USECALLERANGLE = 0x4; // Flags for A_Warp
Const Int WARPF_NOCHECKPOSITION = 0x8;
Const Int WARPF_INTERPOLATE = 0x10; Const Int WARPF_ABSOLUTEOFFSET = 0x1;
Const Int WARPF_WARPINTERPOLATION = 0x20; Const Int WARPF_ABSOLUTEANGLE = 0x2;
Const Int WARPF_COPYINTERPOLATION = 0x40; Const Int WARPF_USECALLERANGLE = 0x4;
Const Int WARPF_STOP = 0x80; Const Int WARPF_NOCHECKPOSITION = 0x8;
Const Int WARPF_TOFLOOR = 0x100; Const Int WARPF_INTERPOLATE = 0x10;
Const Int WARPF_TESTONLY = 0x200; Const Int WARPF_WARPINTERPOLATION = 0x20;
Const Int WAPRF_ABSOLUTEPOSITION = 0x400; Const Int WARPF_COPYINTERPOLATION = 0x40;
Const Int WARPF_STOP = 0x80;
// flags for A_SetPitch/SetAngle Const Int WARPF_TOFLOOR = 0x100;
const int SPF_FORCECLAMP = 1; Const Int WARPF_TESTONLY = 0x200;
const int SPF_INTERPOLATE = 2; Const Int WAPRF_ABSOLUTEPOSITION = 0x400;
// flags for A_SetPitch/SetAngle
// flags for A_CheckLOF const int SPF_FORCECLAMP = 1;
const int SPF_INTERPOLATE = 2;
enum
{
CLOFF_NOAIM_VERT = 0x1, // flags for A_CheckLOF
CLOFF_NOAIM_HORZ = 0x2,
enum
CLOFF_JUMPENEMY = 0x4, {
CLOFF_JUMPFRIEND = 0x8, CLOFF_NOAIM_VERT = 0x1,
CLOFF_JUMPOBJECT = 0x10, CLOFF_NOAIM_HORZ = 0x2,
CLOFF_JUMPNONHOSTILE = 0x20,
CLOFF_JUMPENEMY = 0x4,
CLOFF_SKIPENEMY = 0x40, CLOFF_JUMPFRIEND = 0x8,
CLOFF_SKIPFRIEND = 0x80, CLOFF_JUMPOBJECT = 0x10,
CLOFF_SKIPOBJECT = 0x100, CLOFF_JUMPNONHOSTILE = 0x20,
CLOFF_SKIPNONHOSTILE = 0x200,
CLOFF_SKIPENEMY = 0x40,
CLOFF_MUSTBESHOOTABLE = 0x400, CLOFF_SKIPFRIEND = 0x80,
CLOFF_SKIPOBJECT = 0x100,
CLOFF_SKIPTARGET = 0x800, CLOFF_SKIPNONHOSTILE = 0x200,
CLOFF_ALLOWNULL = 0x1000,
CLOFF_CHECKPARTIAL = 0x2000, CLOFF_MUSTBESHOOTABLE = 0x400,
CLOFF_MUSTBEGHOST = 0x4000, CLOFF_SKIPTARGET = 0x800,
CLOFF_IGNOREGHOST = 0x8000, CLOFF_ALLOWNULL = 0x1000,
CLOFF_CHECKPARTIAL = 0x2000,
CLOFF_MUSTBESOLID = 0x10000,
CLOFF_BEYONDTARGET = 0x20000, CLOFF_MUSTBEGHOST = 0x4000,
CLOFF_IGNOREGHOST = 0x8000,
CLOFF_FROMBASE = 0x40000,
CLOFF_MUL_HEIGHT = 0x80000, CLOFF_MUSTBESOLID = 0x10000,
CLOFF_MUL_WIDTH = 0x100000, CLOFF_BEYONDTARGET = 0x20000,
CLOFF_JUMP_ON_MISS = 0x200000, CLOFF_FROMBASE = 0x40000,
CLOFF_AIM_VERT_NOOFFSET = 0x400000, CLOFF_MUL_HEIGHT = 0x80000,
CLOFF_MUL_WIDTH = 0x100000,
CLOFF_SKIPOBSTACLES = CLOFF_SKIPENEMY|CLOFF_SKIPFRIEND|CLOFF_SKIPOBJECT|CLOFF_SKIPNONHOSTILE,
CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ CLOFF_JUMP_ON_MISS = 0x200000,
}; CLOFF_AIM_VERT_NOOFFSET = 0x400000,
// Flags for A_Kill (Master/Target/Tracer/Children/Siblings) series CLOFF_SKIPOBSTACLES = CLOFF_SKIPENEMY|CLOFF_SKIPFRIEND|CLOFF_SKIPOBJECT|CLOFF_SKIPNONHOSTILE,
CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
const int KILS_FOILINVUL = 1; };
const int KILS_KILLMISSILES = 2;
const int KILS_NOMONSTERS = 4; // Flags for A_Kill (Master/Target/Tracer/Children/Siblings) series
// Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series const int KILS_FOILINVUL = 1;
const int DMSS_FOILINVUL = 1; const int KILS_KILLMISSILES = 2;
const int DMSS_AFFECTARMOR = 2; const int KILS_NOMONSTERS = 4;
const int DMSS_KILL = 4;
const int DMSS_NOFACTOR = 8; // Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series
const int DMSS_FOILINVUL = 1;
// Flags for A_AlertMonsters const int DMSS_AFFECTARMOR = 2;
const int AMF_TARGETEMITTER = 1; const int DMSS_KILL = 4;
const int AMF_TARGETNONPLAYER = 2; const int DMSS_NOFACTOR = 8;
const int AMF_EMITFROMTARGET = 4;
// Flags for A_AlertMonsters
// Flags for A_Remove* const int AMF_TARGETEMITTER = 1;
enum const int AMF_TARGETNONPLAYER = 2;
{ const int AMF_EMITFROMTARGET = 4;
RMVF_MISSILES = 1 << 0,
RMVF_NOMONSTERS = 1 << 1, // Flags for A_Remove*
RMVF_MISC = 1 << 2, enum
RMVF_EVERYTHING = 1 << 3 {
}; RMVF_MISSILES = 1 << 0,
RMVF_NOMONSTERS = 1 << 1,
RMVF_MISC = 1 << 2,
// This is only here to provide one global variable for testing. RMVF_EVERYTHING = 1 << 3,
native int testglobalvar; };
// This is only here to provide one global variable for testing.
native int testglobalvar;