2012-07-12 22:34:12 +00:00
/*******************************************************************\
2014-09-29 09:52:36 +00:00
GZDoom Builder Script highlighting definitions for DECORATE
2012-07-12 22:34:12 +00:00
\*******************************************************************/
// Editor settings
description = "ZDoom DECORATE";
codepage = 0;
extensions = "txt";
casesensitive = false;
2014-09-29 09:52:36 +00:00
insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
2012-07-16 09:45:21 +00:00
lexer = 35;
functionopen = "(";
functionclose = ")";
argumentdelimiter = ",";
2012-07-12 22:34:12 +00:00
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
2014-07-11 10:13:26 +00:00
scripttype = 3; //0 = unknown script, 1 = acc, 2 = modeldef, 3 = decorate
2012-07-12 22:34:12 +00:00
keywords
{
2014-09-29 09:52:36 +00:00
#Include = "#Include";
2012-07-12 22:34:12 +00:00
//Monster AI
2014-09-29 09:52:36 +00:00
A_AlertMonsters = "A_AlertMonsters[(float maxrange[, int flags)]]";
A_Burst = "A_Burst(string classname)";
A_CentaurDefend = "A_CentaurDefend";
A_Chase = "A_Chase[(string meleestate[, string rangedstate[, int flags]])]";
A_CheckLOF = "A_CheckLOF(state jump[, int flags[, float range[, float minrange[, float angle[, float pitch[, float offsetheight[, float offsetwidth[, int ptr_targe]]]]]]]])";
A_CheckRange = "A_CheckRange(float distance, int offset OR string state)";
A_ClearLastHeard = "A_ClearLastHeard";
A_ClearSoundTarget = "A_ClearSoundTarget";
A_ClearTarget = "A_ClearTarget";
A_DamageChildren = "A_DamageChildren(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_DamageMaster = "A_DamageMaster(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_DamageSelf = "A_DamageSelf(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_DamageSiblings = "A_DamageSiblings(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_DamageTarget = "A_DamageTarget(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_DamageTracer = "A_DamageTracer(int amount[, string damagetype = 'None'[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
A_Die = "A_Die[(string damagetype)]";
A_FaceTarget = "A_FaceTarget[(float angle[, float pitch])]";
A_FaceMaster = "A_FaceMaster[(float angle[, float pitch])]";
A_KillChildren = "A_KillChildren[(string damagetype[, int flags])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.";
A_KillMaster = "A_KillMaster[(string damagetype[, int flags])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.";
A_KillSiblings = "A_KillSiblings[(string damagetype[, int flags])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.";
A_KillTarget = "A_KillTarget[(string damagetype[, int flags])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.";
A_KillTracer = "A_KillTracer[(string damagetype[, int flags])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.";
A_Look2 = "A_Look2";
A_LookEx = "A_LookEx(int flags, fixed minseedist, fixed maxseedist, fixed maxheardist, fixed fov, state seestate)";
A_RaiseChildren = "A_RaiseChildren";
A_RaiseMaster = "A_RaiseMaster";
A_RaiseSiblings = "A_RaiseSiblings";
2014-10-28 09:31:37 +00:00
A_Remove = "A_Remove(int pointer, int flags)\nFlags: RMVF flags.";
A_RemoveChildren = "A_RemoveChildren[(bool = false[, int flags = 0])]\nFlags: RMVF flags.";
A_RemoveMaster = "A_RemoveMaster[(int flags = 0)]\nFlags: RMVF flags.";
A_RemoveSiblings = "A_RemoveSiblings[(bool all = false[, int flags = 0])]\nFlags: RMVF flags.";
A_RemoveTarget = "A_RemoveTarget[(int flags)]\nFlags: RMVF flags.";
A_RemoveTracer = "A_RemoveTracer[(int flags)]\nFlags: RMVF flags.";
2014-09-29 09:52:36 +00:00
A_SentinelBob = "A_SentinelBob";
2014-10-28 09:31:37 +00:00
A_Teleport = "A_Teleport[(string teleportstate = 'Teleport'[, string targettype = 'BossSpot'[, string fogtype = 'TeleportFog'[, int flags = 0[, float mindist = 0[, float maxdist = 0]]]]])]";
2014-09-29 09:52:36 +00:00
A_VileChase = "A_VileChase";
A_Wander = "A_Wander";
2012-07-16 09:45:21 +00:00
//Generic monster attacks
2014-09-29 09:52:36 +00:00
A_CustomMissile = "A_CustomMissile(string missiletype[, float spawnheight[, int spawnofs_horiz[, angle angle[, int aimflags[, angle pitch]]]]])";
A_CustomBulletAttack = "A_CustomBulletAttack(float horz_spread, float vert_spread, int numbullets, int damageperbullet, string pufftype[, float range[, int flags]])";
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags[, bool aim[, float maxdiff[, stringpufftype[, float spread_xy[, float spread_z[, fixed range[, int duration[, float sparsity[, float driftspeed[, stringspawnclass]]]]]]]]]]]]]])";
A_CustomMeleeAttack = "A_CustomMeleeAttack(int damage[, string meleesound[, stringmisssound[, stringdamagetype[, bool bleed]]]])";
A_CustomComboAttack = "A_CustomComboAttack(string missiletype, float spawnheight, int damage, string meleesound, string damagetype, bool bleed)";
A_MeleeAttack = "A_MeleeAttack";
A_MissileAttack = "A_BasicAttack(int meleedamage, string meleesound, string missiletype, float missileheight)";
A_MonsterRefire = "A_MonsterRefire(int chancecontinue, string abortstate) ";
A_ComboAttack = "A_ComboAttack";
A_BasicAttack = "A_BasicAttack(int meleedamage, string meleesound, string missiletype, float missileheight)";
A_BulletAttack = "A_BulletAttack";
A_MonsterRail = "A_MonsterRail";
A_Explode = "A_Explode[(int explosiondamage[, int explosionradius[, bool hurtshooter[, bool alert[, int fulldamageradius[, int nails[, int naildamage]]]]]])]";
A_RadiusThrust = "A_RadiusThrust(int force, int distance[, int flags[, int fullthrustdistance]])";
A_Detonate = "A_Detonate";
A_ThrowGrenade = "A_ThrowGrenade(string spawntype [float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
2012-07-16 09:45:21 +00:00
//Freeze death functions
2014-09-29 09:52:36 +00:00
A_FreezeDeath = "A_FreezeDeath";
A_GenericFreezeDeath = "A_GenericFreezeDeath";
A_FreezeDeathChunks = "A_FreezeDeathChunks";
A_IceGuyDie = "A_IceGuyDie";
2012-07-16 09:45:21 +00:00
//Sound functions
2014-09-29 09:52:36 +00:00
A_PlaySound = "A_PlaySound(string soundname[, int slot[, float volume[, bool looping[, float attenuation]]]])";
A_PlaySoundEx = "A_PlaySoundEx(string soundname, string channel[, bool loop[, int attenuation]])";
A_PlayWeaponSound = "A_PlayWeaponSound(string soundname)";
A_ActiveSound = "A_ActiveSound";
A_LoopActiveSound = "A_LoopActiveSound";
A_FLoopActiveSound = "A_FLoopActiveSound";
A_StopSound = "A_StopSound[(int slot)]";
A_StopSoundEx = "A_StopSoundEx(string channel)";
A_Pain = "A_Pain";
A_Scream = "A_Scream";
A_XScream = "A_XScream";
A_PlayerScream = "A_PlayerScream";
A_VileStart = "A_VileStart";
A_BrainPain = "A_BrainPain";
A_BrainAwake = "A_BrainAwake";
A_BFGSound = "A_BFGSound";
2012-07-16 09:45:21 +00:00
//Print actions
2014-09-29 09:52:36 +00:00
A_Print = "A_Print(string text[, float time[, string fontname]])";
A_PrintBold = "A_PrintBold(string text[, float time[, string fontname]])";
A_Log = "A_Log(string text)";
A_LogInt = "A_LogInt(int number)";
2012-07-16 09:45:21 +00:00
//Special actions
2014-09-29 09:52:36 +00:00
A_BossDeath = "A_BossDeath";
A_KeenDie = "A_KeenDie[(int tag)]";
A_BrainDie = "A_BrainDie";
A_GetHurt = "A_GetHurt";
A_KlaxonBlare = "A_KlaxonBlare";
A_CheckTerrain = "A_CheckTerrain";
A_SetBlend = "A_SetBlend(color blendcolor, float alpha, int duration[, color fadecolor])";
A_CheckPlayerDone = "A_CheckPlayerDone";
A_PlayerSkinCheck = "A_PlayerSkinCheck(string state)";
A_SkullPop = "A_SkullPop[(string className)]";
2012-07-16 09:45:21 +00:00
//Spawn functions
2014-09-29 09:52:36 +00:00
A_TossGib = "A_TossGib";
A_SpawnDebris = "A_SpawnDebris(string type, bool translation)";
A_SpawnItem = "A_SpawnItem(string type, int distance, float zpos, bool useammo, bool translation)";
A_SpawnItemEx = "A_SpawnItemEx(string type[, float xoffset[, float yoffset[, float zoffset[, float xvelocity[, float yvelocity[, float zvelocity[, float angle[, int flags[, int skipchance[, int tid]]]]]]]]]])";
2012-07-16 09:45:21 +00:00
//State jumps
2014-09-29 09:52:36 +00:00
A_CheckCeiling = "A_CheckCeiling(int offset OR string state)";
A_CheckFloor = "A_CheckFloor(int offset OR string state)";
A_CheckFlag = "A_CheckFlag(string flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
A_CheckSight = "A_CheckSight(int offset OR string state)";
A_CheckSightOrRange = "A_CheckSightOrRange(float distance, int offset OR string state)";
A_Jump = "A_Jump(int chance, int offset OR string state, ...)";
A_JumpIf = "A_JumpIf(expression, int offset OR string state)";
A_JumpIfArmorType = "A_JumpIfArmorType(string armortype, string state[, int minimum])";
A_JumpIfCloser = "A_JumpIfCloser(int distance, int offset OR string state)";
A_JumpIfHealthLower = "A_JumpIfHealthLower(int health, int offset OR string state[, int pointer])";
A_JumpIfInventory = "A_JumpIfInventory (string inventorytype, int amount, int offset OR string state[, int owner])";
A_JumpIfInTargetInventory = "A_JumpIfInTargetInventory(string item, int count, int offset OR string state[, pointer forward])";
2014-10-28 09:31:37 +00:00
A_JumpIfInTargetLOS = "A_JumpIfInTargetLOS(int offset OR string state[, float fov = 0[, int flags = 0[, float dist_max = 0[, float dist_close = 0]]]])\nflags: JLOSF flags.";
2014-09-29 09:52:36 +00:00
A_JumpIfMasterCloser = "A_JumpIfMasterCloser(int distance, int offset OR string state)";
A_JumpIfNoAmmo = "A_JumpIfNoAmmo(int offset OR string state)";
2014-10-28 09:31:37 +00:00
A_JumpIfTargetInLOS = "A_JumpIfTargetInLOS(int offset OR string state[, float fov = 0[, int flags = 0[, float dist_max = 0[, float dist_close = 0]]]])\nflags: JLOSF flags.";
2014-09-29 09:52:36 +00:00
A_JumpIfTargetInsideMeleeRange = "A_JumpIfTargetInsideMeleeRange(int offset OR string state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is within melee range of the caller.";
A_JumpIfTargetOutsideMeleeRange = "A_JumpIfTargetOutsideMeleeRange(int offset OR string state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is beyond melee range of the caller.";
A_JumpIfTracerCloser = "A_JumpIfTracerCloser (int distance, int offset OR string state)";
2012-07-16 09:45:21 +00:00
//Status changes
2014-09-29 09:52:36 +00:00
A_ActiveAndUnblock = "A_ActiveAndUnblock";
A_ChangeFlag = "A_ChangeFlag(string flagname, bool value)";
A_ChangeVelocity = "A_ChangeVelocity(float x, float y, float z, int flags)";
A_CheckFlag = "A_CheckFlag(string flagname, state label, int check_pointer = AAPTR_DEFAULT)";
A_ClearShadow = "A_ClearShadow";
A_CopyFriendliness = "A_CopyFriendliness[(pointer copyfrom)]";
A_DeQueueCorpse = "A_DeQueueCorpse";
A_FadeIn = "A_FadeIn[(float increase_amount)]";
A_FadeOut = "A_FadeOut[(float reduce_amount[, bool remove])]";
A_FadeTo = "A_FadeTo(float target[, float amount[, bool remove]])";
A_Fall = "A_Fall";
A_Gravity = "A_Gravity";
A_HideThing = "A_HideThing";
A_LowGravity = "A_LowGravity";
A_NoBlocking = "A_NoBlocking";
A_NoGravity = "A_NoGravity";
A_QueueCorpse = "A_QueueCorpse";
A_RearrangePointers = "A_RearrangePointers(pointer target, pointer master, pointer tracer[, int flags])";
A_Respawn = "A_Respawn[(bool fog)]";
A_ScaleVelocity = "A_ScaleVelocity(float scale)";
A_ScreamAndUnblock = "A_ScreamAndUnblock";
A_SetAngle = "A_SetAngle(float angle)";
A_SetArg = "A_SetArg(int position, int value)";
A_SetDamageType = "A_SetDamageType(string damagetype)";
A_SetFloat = "A_SetFloat";
A_SetFloorClip = "A_SetFloorClip";
A_SetInvulnerable = "A_SetInvulnerable";
A_SetMass = "A_SetMass(int mass)";
A_SetPitch = "A_SetPitch(float pitch[, int flags])";
A_SetReflective = "A_SetReflective";
A_SetReflectiveInvulnerable = "A_SetReflectiveInvulnerable";
A_SetScale = "A_SetScale(float scaleX[, float scaleY])";
A_SetShadow = "A_SetShadow";
A_SetShootable = "A_SetShootable";
A_SetSolid = "A_SetSolid";
A_SetSpecial = "A_SetSpecial(int special, int arg0, int arg1, int arg2, int arg3, int arg4)";
A_SetSpeed = "A_SetSpeed(float speed)";
A_SetTics = "A_SetTics(int tics)";
A_SetTranslucent = "A_SetTranslucent(float alpha, int mode)";
A_SetUserVar = "A_SetUserVar(string name, int value)";
A_TransferPointer = "A_TransferPointer(pointer source, pointer recipient, pointer sourcefield, pointer recipientfield[, int flags])";
A_UnHideThing = "A_UnHideThing";
A_UnsetFloat = "A_UnsetFloat";
A_UnSetFloorClip = "A_UnSetFloorClip";
A_UnSetInvulnerable = "A_UnSetInvulnerable";
A_UnSetReflective = "A_UnSetReflective";
A_UnSetReflectiveInvulnerable = "A_UnSetReflectiveInvulnerable";
A_UnSetShootable = "A_UnSetShootable";
A_UnsetSolid = "A_UnsetSolid";
2012-07-16 09:45:21 +00:00
//Missile movement
2014-09-29 09:52:36 +00:00
A_SeekerMissile = "A_SeekerMissile(angle threshold, angle maxturnangle, int flags = 0, int chance = 50, int distance = 10)";
A_Tracer = "A_Tracer";
A_Tracer2 = "A_Tracer2";
A_FaceTracer = "A_FaceTracer[(float angle)[, float pitch]]";
A_Fire = "A_Fire[(int height)]";
A_BishopMissileWeave = "A_BishopMissileWeave";
A_CStaffMissileSlither = "A_CStaffMissileSlither";
A_Weave = "A_Weave(int horzspeed, int vertspeed, float horzdist, float vertdist)";
A_Warp = "A_Warp(int ptr_destination, float x-offset, float y-offset, float z-offset, float angle, int flags, state success_state)";
A_Countdown = "A_Countdown";
A_CountdownArg = "A_CountdownArg(int arg[, string targstate])";
A_Stop = "A_Stop";
2012-07-16 09:45:21 +00:00
//Inventory functions
2014-09-29 09:52:36 +00:00
A_GiveInventory = "A_GiveInventory(string type, int count[, pointer giveto])";
A_GiveToTarget = "A_GiveToTarget(string type, int count[, pointer giveto])";
A_TakeInventory = "A_TakeInventory(string type, int count[, int flags[, pointer takefrom]])";
A_DropItem = "A_DropItem(string item[, int dropamount = -1[, int chance = 256]])\nThe calling actor drops the specified item.\nThis works in a similar way to the DropItem actor property.";
A_TakeFromTarget = "A_TakeFromTarget(string type, int count[, pointer takefrom])";
A_DropInventory = "A_DropInventory(string type)";
A_SelectWeapon = "A_SelectWeapon(string type)";
A_RadiusGive = "A_RadiusGive(string item, fixed distance, int flags, int amount)";
2012-07-16 09:45:21 +00:00
//Weapon functions
2014-09-29 09:52:36 +00:00
A_WeaponReady = "A_WeaponReady[(int flags)]";
A_Lower = "A_Lower";
A_Raise = "A_Raise";
A_ReFire = "A_ReFire[(string state)]";
A_ClearReFire = "A_ClearReFire";
A_GunFlash = "A_GunFlash[(string state[, int flags])]";
A_CheckReload = "A_CheckReload";
A_CheckForReload = "A_CheckForReload(int counter, string state[, bool dontincrement])";
A_ResetReloadCounter = "A_ResetReloadCounter";
A_Light = "A_Light(int intensity)";
A_Light0 = "A_Light0";
A_Light1 = "A_Light1";
A_Light2 = "A_Light2";
A_LightInverse = "A_LightInverse";
A_Recoil = "A_Recoil(float force)";
A_ZoomFactor = "A_ZoomFactor(float zoom[, int flags])";
A_SetCrosshair = "A_SetCrosshair(int number)";
2012-07-16 09:45:21 +00:00
//Weapon attack functions
2014-09-29 09:52:36 +00:00
A_Punch = "A_Punch";
A_Saw = "A_Saw[(string fullsound[, string hitsound[, int damage[, string pufftype[, int flags[, float range[, float spread_xy[, float spread_z[, float lifesteal]]]]]]]])]";
A_CustomPunch = "A_CustomPunch(int damage[, bool norandom[, int flags[, string pufftype, [float range[, float lifesteal]]]]])";
A_FireBullets = "A_FireBullets(angle spread_horz, angle spread_vert, int numbullets, int damage[, string pufftype[,int flags[, float range]]])";
A_FireCustomMissile = "A_FireCustomMissile(string missiletype[, angle angle[, bool useammo[, int spawnofs_horz[, int spawnheight[, bool aim OR int flags[, angle pitch]]]]]])";
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, color ringcolor[, color corecolor[, int flags[, int maxdiff[, string pufftype[, float spread_xy[, float spread_z[, fixed range[, int duration[, float sparsity[, float driftspeed[, string spawnclass[, float spawnofs_z]]]]]]]]]]]]]]])";
A_FireAssaultGun = "A_FireAssaultGun";
A_FireBFG = "A_FireBFG";
A_FireOldBFG = "A_FireOldBFG";
A_FireShotgun = "A_FireShotgun";
A_FireShotgun2 = "A_FireShotgun2";
A_FireCGun = "A_FireCGun";
A_FireMissile = "A_FireMissile";
A_FirePlasma = "A_FirePlasma";
2012-07-16 09:45:21 +00:00
//Script functions
2014-09-29 09:52:36 +00:00
ACS_NamedExecute = "bool ACS_NamedExecute(string script, int map, int s_arg1, int s_arg2, int s_arg3)";
ACS_NamedSuspend = "bool ACS_NamedSuspend(string script, int map)";
ACS_NamedTerminate = "bool ACS_NamedTerminate(string script, int map)";
ACS_NamedLockedExecute = "bool ACS_NamedLockedExecute(string script, int map, int s_arg1, int s_arg2, int lock)";
ACS_NamedLockedExecuteDoor = "bool ACS_NamedLockedExecuteDoor(string script, int map, int s_arg1, int s_arg2, int lock)";
ACS_NamedExecuteWithResult = "int ACS_NamedExecuteWithResult(string script, int s_arg1, int s_arg2, int s_arg3)";
ACS_NamedExecuteAlways = "bool ACS_NamedExecuteAlways(string script, int map, int s_arg1, int s_arg2, int s_arg3)";
2012-07-16 09:45:21 +00:00
//Original Doom/Strife monster attacks
2014-09-29 09:52:36 +00:00
A_PosAttack = "A_PosAttack";
A_SPosAttack = "A_SPosAttack";
A_CPosAttack = "A_CPosAttack";
A_CPosRefire = "A_CPosRefire";
A_SpidRefire = "A_SpidRefire";
A_TroopAttack = "A_TroopAttack";
A_SargAttack = "A_SargAttack";
A_HeadAttack = "A_HeadAttack";
A_BruisAttack = "A_BruisAttack";
A_SkullAttack = "A_SkullAttack[(int speed)]";
A_BspiAttack = "A_BspiAttack";
A_CyberAttack = "A_CyberAttack";
A_PainAttack = "A_PainAttack[(string spawntype)[, float angle[, int flags[, int limit]]]]";
A_DualPainAttack = "A_DualPainAttack[(string spawntype)]";
A_PainDie = "A_PainDie[(string spawntype)]";
A_SkelFist = "A_SkelFist";
A_SkelMissile = "A_SkelMissile";
A_FatAttack1 = "A_FatAttack1[(string spawntype)]";
A_FatAttack2 = "A_FatAttack2[(string spawntype)]";
A_FatAttack3 = "A_FatAttack3[(string spawntype)]";
A_VileTarget = "A_VileTarget[(string type)]";
A_VileAttack = "A_VileAttack(string sound, int initialdamage, int blastdamage, int blastradius, float thrustfactor, stringdamagetype)";
A_BrainSpit = "A_BrainSpit[(string spawntype)]";
A_SpawnFly = "A_SpawnFly[(string FogActor)]";
A_SpawnSound = "A_SpawnSound";
A_BrainScream = "A_BrainScream";
A_BrainExplode = "A_BrainExplode";
A_Mushroom = "A_Mushroom[(string spawntype[, int amount[, int flags[, float vrange[, float hrange]]]])]";
A_M_Saw = "A_M_Saw[(string fullsound[, string hitsound[, int damage[, string pufftype]]])]";
A_SentinelRefire = "A_SentinelRefire";
A_BetaSkullAttack = "A_BetaSkullAttack";
2012-07-16 09:45:21 +00:00
//Miscellaneous functions for Doom
2014-09-29 09:52:36 +00:00
A_Hoof = "A_Hoof";
A_Metal = "A_Metal";
A_BabyMetal = "A_BabyMetal";
A_FatRaise = "A_FatRaise";
A_SkelWhoosh = "A_SkelWhoosh";
A_StartFire = "A_StartFire";
A_FireCrackle = "A_FireCrackle";
2014-09-29 14:05:38 +00:00
A_BFGSpray = "A_BFGSpray[(string flashtype = 'BFGExtra'[, int numrays = 40[, int damage = 15[, float angle = 90[, float distance = 1024[, float vrange = 32[, int explicit_damage = 0]]]]]])]";
2014-09-29 09:52:36 +00:00
A_BarrelDestroy = "A_BarrelDestroy";
2014-09-26 07:48:47 +00:00
//State keywords
2014-09-29 09:52:36 +00:00
Light = "Light(string lightname)";
Offset = "Offset(int x, int y)";
2014-09-26 07:48:47 +00:00
//Special functions
2014-10-28 09:31:37 +00:00
CheckClass = "bool CheckClass(string classname[, int ptr_select = AAPTR_DEFAULT[, bool match_superclass = false]])";
IsPointerEqual = "bool IsPointerEqual(int ptr_select1, int ptr_select2)";
2012-07-12 22:34:12 +00:00
}
constants
{
2014-09-29 09:52:36 +00:00
Actor;
2012-07-16 09:45:21 +00:00
//states:
2014-09-29 09:52:36 +00:00
Spawn:;
Idle:;
See:;
Melee:;
Missile:;
Pain:;
Death:;
XDeath:;
Burn:;
Ice:;
Disintegrate:;
Raise:;
Heal:;
Crash:;
Crush:;
Wound:;
Greetings:;
Yes:;
No:;
Active:;
Inactive:;
Bounce:;
Bounce.Floor:;
Bounce.Ceiling:;
Bounce.Wall:;
Bounce.Actor:;
Bounce.Actor.Creature:;
2012-07-16 09:45:21 +00:00
//State keywords
2014-09-29 09:52:36 +00:00
//Bright;
CanRaise;
Fast;
NoDelay;
Slow;
2012-07-16 09:45:21 +00:00
//flow control
2014-09-29 09:52:36 +00:00
loop;
stop;
wait;
fail;
goto;
2012-07-16 09:45:21 +00:00
//pointers
2014-09-29 09:52:36 +00:00
AAPTR_DEFAULT;
AAPTR_NULL;
AAPTR_TARGET;
AAPTR_MASTER;
AAPTR_TRACER;
AAPTR_PLAYER;
AAPTR_PLAYER_GETTARGET;
2014-10-28 09:31:37 +00:00
AAPTR_PLAYER_GETCONVERSATION;
SXF_TRANSFERTRANSLATION;
2014-09-29 09:52:36 +00:00
SXF_ABSOLUTEPOSITION;
2014-10-28 09:31:37 +00:00
SXF_ABSOLUTEANGLE;
2014-09-29 09:52:36 +00:00
SXF_ABSOLUTEVELOCITY;
SXF_SETMASTER;
2014-10-28 09:31:37 +00:00
SXF_NOCHECKPOSITION;
2014-09-29 09:52:36 +00:00
SXF_TELEFRAG;
SXF_TRANSFERAMBUSHFLAG;
SXF_TRANSFERPITCH;
SXF_TRANSFERPOINTERS;
2014-10-28 09:31:37 +00:00
SXF_USEBLOODCOLOR;
SXF_CLEARCALLERTID;
SXF_MULTIPLYSPEED;
2014-09-29 09:52:36 +00:00
SXF_TRANSFERSCALE;
SXF_TRANSFERSPECIAL;
2014-10-28 09:31:37 +00:00
SXF_CLEARCALLERSPECIAL;
2014-09-29 09:52:36 +00:00
SXF_TRANSFERSTENCILCOL;
2014-10-28 09:31:37 +00:00
SXF_TRANSFERALPHA;
SXF_TRANSFERRENDERSTYLE;
SXF_SETTARGET;
SXF_SETTRACER;
SXF_NOPOINTERS;
SXF_ORIGINATOR;
2012-07-16 09:45:21 +00:00
//weapon flags
2014-09-29 09:52:36 +00:00
WRF_NOBOB;
WRF_NOFIRE;
WRF_NOSWITCH;
WRF_NOPRIMARY;
WRF_NOSECONDARY;
WRF_ALLOWRELOAD;
WRF_ALLOWZOOM;
ZOOM_INSTANT;
ZOOM_NOSCALETURNING;
CPF_USEAMMO;
CPF_DAGGER;
CPF_PULLIN;
FBF_USEAMMO;
FBF_NORANDOM;
FBF_EXPLICITANGLE;
FBF_NOPITCH;
RGF_SILENT;
RGF_NOPIERCING;
RGF_EXPLICITANGLE;
RGF_FULLBRIGHT;
RGF_CENTERZ;
2012-07-16 09:45:21 +00:00
//monster flags
2014-09-29 09:52:36 +00:00
PAF_NOSKULLATTACK;
PAF_AIMFACING;
PAF_NOTARGET;
2014-08-08 12:35:59 +00:00
//Sound channels flags
2014-09-29 09:52:36 +00:00
CHAN_AUTO;
CHAN_WEAPON;
CHAN_VOICE;
CHAN_ITEM;
CHAN_BODY;
CHAN_5;
CHAN_6;
CHAN_7;
CHAN_LISTENERZ;
CHAN_MAYBE_LOCAL;
CHAN_UI;
CHAN_NOPAUSE;
CHAN_LOOP;
2012-07-16 09:45:21 +00:00
//misc flags
2014-09-29 09:52:36 +00:00
MSF_Standard;
MSF_Classic;
MSF_DontHurt;
2014-10-28 09:31:37 +00:00
TF_TELEFRAG;
TF_RANDOMDECIDE;
2012-07-12 22:34:12 +00:00
//combo flags
2014-09-29 09:52:36 +00:00
Monster;
Projectile;
2012-07-12 22:34:12 +00:00
//physics
2014-09-29 09:52:36 +00:00
SOLID;
SHOOTABLE;
FLOAT;
NOGRAVITY;
WINDTHRUST;
PUSHABLE;
DONTFALL;
CANPASS;
ACTLIKEBRIDGE;
NOBLOCKMAP;
MOVEWITHSECTOR;
RELATIVETOFLOOR;
NOLIFTDROP;
SLIDESONWALLS;
NODROPOFF;
NOTRIGGER;
BLOCKEDBYSOLIDACTORS;
2012-07-12 22:34:12 +00:00
//Behavior
2014-09-29 09:52:36 +00:00
ALWAYSRESPAWN;
AMBUSH;
AVOIDMELEE;
BOSS;
DONTCORPSE;
DORMANT;
FRIENDLY;
JUMPDOWN;
LOOKALLAROUND;
MISSILEEVENMORE;
MISSILEMORE;
NEVERRESPAWN;
NOSPLASHALERT;
NOTARGETSWITCH;
NOVERTICALMELEERANGE;
QUICKTORETALIATE;
STANDSTILL;
2012-07-12 22:34:12 +00:00
//(In)Abilities
2014-09-29 09:52:36 +00:00
CANNOTPUSH;
NOTELEPORT;
ACTIVATEIMPACT;
CANPUSHWALLS;
CANUSEWALLS;
ACTIVATEPCROSS;
CANTLEAVEFLOORPIC;
TELESTOMP;
NOTELESTOMP;
STAYMORPHED;
CANBLAST;
NOBLOCKMONST;
THRUGHOST;
THRUACTORS;
THRUSPECIES;
MTHRUSPECIES;
SPECTRAL;
FRIGHTENED;
NOTARGET;
NEVERTARGET;
NOINFIGHTING;
NOTIMEFREEZE;
NOFEAR;
CANTSEEK;
SEEINVISIBLE;
2012-07-12 22:34:12 +00:00
//Defenses
2014-09-29 09:52:36 +00:00
INVULNERABLE;
2014-10-28 09:31:37 +00:00
BUDDHA;
2014-09-29 09:52:36 +00:00
REFLECTIVE;
SHIELDREFLECT;
DEFLECT;
NORADIUSDMG;
DONTBLAST;
GHOST;
DONTMORPH;
DONTSQUASH;
NOTELEOTHER;
2014-10-28 09:31:37 +00:00
HARMFRIENDS;
2014-09-29 09:52:36 +00:00
DOHARMSPECIES;
DONTHARMCLASS;
DONTHARMSPECIES;
NODAMAGE;
DONTRIP;
NOTELEFRAG;
ALWAYSTELEFRAG;
DONTDRAIN;
2012-07-12 22:34:12 +00:00
//Appearance & Sound
2014-09-29 09:52:36 +00:00
BRIGHT;
INVISIBLE;
SHADOW;
NOBLOOD;
NOBLOODDECALS;
STEALTH;
FLOORCLIP;
SPAWNFLOAT;
SPAWNCEILING;
FLOATBOB;
NOICEDEATH;
DONTGIB;
DONTSPLASH;
DONTOVERLAP;
RANDOMIZE;
FIXMAPTHINGPOS;
FULLVOLACTIVE;
FULLVOLDEATH;
NOWALLBOUNCESND;
VISIBILITYPULSE;
ROCKETTRAIL;
GRENADETRAIL;
NOBOUNCESOUND;
NOSKIN;
DONTTRANSLATE;
NOPAIN;
FORCEYBILLBOARD;
FORCEXYBILLBOARD;
2012-07-12 22:34:12 +00:00
//Projectile
2014-09-29 09:52:36 +00:00
MISSILE;
RIPPER;
NOBOSSRIP;
NODAMAGETHRUST;
DONTREFLECT;
FLOORHUGGER;
CEILINGHUGGER;
BLOODLESSIMPACT;
BLOODSPLATTER;
FOILINVUL;
2014-10-28 09:31:37 +00:00
FOILBUDDHA;
2014-09-29 09:52:36 +00:00
SEEKERMISSILE;
SCREENSEEKER;
SKYEXPLODE;
NOEXPLODEFLOOR;
STRIFEDAMAGE;
EXTREMEDEATH;
NOEXTREMEDEATH;
DEHEXPLOSION;
PIERCEARMOR;
FORCERADIUSDMG;
SPAWNSOUNDSOURCE;
PAINLESS;
FORCEPAIN;
DONTSEEKINVISIBLE;
STEPMISSILE;
ADDITIVEPOISONDAMAGE;
ADDITIVEPOISONDURATION;
NOFORWARDFALL;
2012-07-12 22:34:12 +00:00
//Bouncing
2014-09-29 09:52:36 +00:00
BOUNCEONWALLS;
BOUNCEONFLOORS;
BOUNCEONCEILINGS;
ALLOWBOUNCEONACTORS;
BOUNCEAUTOOFF;
BOUNCEAUTOOFFFLOORONLY;
BOUNCELIKEHERETIC;
BOUNCEONACTORS;
NOWALLBOUNCESND;
EXPLODEONWATER;
CANBOUNCEWATER;
MBFBOUNCER;
USEBOUNCESTATE;
2012-07-12 22:34:12 +00:00
//Miscellaneous
2014-09-29 09:52:36 +00:00
DROPPED;
ISMONSTER;
CORPSE;
COUNTITEM;
COUNTKILL;
COUNTSECRET;
NOTDMATCH;
NONSHOOTABLE;
DROPOFF;
PUFFONACTORS;
ALLOWPARTICLES;
ALWAYSPUFF;
PUFFGETSOWNER;
SYNCHRONIZED;
ALWAYSFAST;
NEVERFAST;
OLDRADIUSDMG;
USESPECIAL;
BUMPSPECIAL;
BOSSDEATH;
NOINTERACTION;
NOTAUTOAIMED;
NOTONAUTOMAP;
WEAPONSPAWN;
PICKUP;
TOUCHY;
VULNERABLE;
2012-07-12 22:34:12 +00:00
//Limited Use
2014-09-29 09:52:36 +00:00
SEESDAGGERS;
INCOMBAT;
NOCLIP;
NOSECTOR;
ICECORPSE;
JUSTHIT;
JUSTATTACKED;
TELEPORT;
BLASTED;
EXPLOCOUNT;
SKULLFLY;
2014-08-08 11:49:05 +00:00
//Inventory
2014-09-29 09:52:36 +00:00
INVENTORY.QUIET;
INVENTORY.AUTOACTIVATE;
INVENTORY.UNDROPPABLE;
INVENTORY.INVBAR;
INVENTORY.HUBPOWER;
INVENTORY.PERSISTENTPOWER;
INVENTORY.ALWAYSPICKUP;
INVENTORY.FANCYPICKUPSOUND;
INVENTORY.NOATTENPICKUPSOUND;
INVENTORY.BIGPOWERUP;
INVENTORY.NEVERRESPAWN;
INVENTORY.KEEPDEPLETED;
INVENTORY.IGNORESKILL;
INVENTORY.ADDITIVETIME;
INVENTORY.UNTOSSABLE;
INVENTORY.RESTRICTABSOLUTELY;
INVENTORY.NOSCREENFLASH;
INVENTORY.TOSSED;
2014-10-28 09:31:37 +00:00
INVENTORY.ALWAYSRESPAWN;
2014-09-29 09:52:36 +00:00
//Weapons
WEAPON.NOAUTOFIRE;
WEAPON.READYSNDHALF;
WEAPON.DONTBOB;
WEAPON.AXEBLOOD;
WEAPON.NOALERT;
WEAPON.AMMO_OPTIONAL;
WEAPON.ALT_AMMO_OPTIONAL;
WEAPON.AMMO_CHECKBOTH;
WEAPON.PRIMARY_USES_BOTH;
WEAPON.ALT_USES_BOTH;
WEAPON.WIMPY_WEAPON;
WEAPON.POWERED_UP;
WEAPON.STAFF2_KICKBACK;
WEAPON.EXPLOSIVE;
WEAPON.MELEEWEAPON;
WEAPON.BFG;
WEAPON.CHEATNOTWEAPON;
WEAPON.NO_AUTO_SWITCH;
WEAPON.NOAUTOAIM;
2014-08-08 11:49:05 +00:00
//Player
2014-09-29 09:52:36 +00:00
PLAYERPAWN.NOTHRUSTWHENINVUL;
PLAYERPAWN.CANSUPERMORPH;
PLAYERPAWN.CROUCHABLEMORPH;
//Function flags
AMF_TARGETEMITTER;
AMF_TARGETNONPLAYER;
AMF_EMITFROMTARGET;
CHF_FASTCHASE;
CHF_NOPLAYACTIVE;
CHF_NIGHTMAREFAST;
CHF_RESURRECT;
CHF_DONTMOVE;
CLOFF_AIM_VERT_NOOFFSET;
CLOFF_ALLOWNULL;
CLOFF_BEYONDTARGET;
CLOFF_CHECKPARTIAL;
CLOFF_FROMBASE;
CLOFF_IGNOREGHOST;
CLOFF_JUMPENEMY;
CLOFF_JUMPFRIEND;
CLOFF_JUMPNONHOSTILE;
CLOFF_JUMPOBJECT;
CLOFF_JUMP_ON_MISS;
CLOFF_MUL_HEIGHT;
CLOFF_MUL_WIDTH;
CLOFF_MUSTBEGHOST;
CLOFF_MUSTBESHOOTABLE;
CLOFF_MUSTBESOLID;
CLOFF_NOAIM;
CLOFF_NOAIM_HORZ;
CLOFF_NOAIM_VERT;
CLOFF_SKIPENEMY;
CLOFF_SKIPFRIEND;
CLOFF_SKIPNONHOSTILE;
CLOFF_SKIPOBJECT;
CLOFF_SKIPOBSTACLES;
CLOFF_SKIPTARGET;
DMSS_AFFECTARMOR;
2014-10-28 09:31:37 +00:00
DMSS_FOILBUDDHA;
2014-09-29 09:52:36 +00:00
DMSS_FOILINVUL;
DMSS_KILL;
Textures Browser form: empty texture sets are no longer shown when mixed textures & flats is disabled in the current game configuration.
Textures Browser form: PK3/Directory TEXTURES images are now shown in a separate folder in the resources tree.
Fixed, Textures Browser form: fixed a logic error when trying to select initial flat when mix textures & flats was disabled in the current game configuration (this resulted in the blank textures list after opening the form).
Fixed, Textures Browser form: resources tree showed textures count even when browsing flats.
Fixed, Textures Browser form: PK3/Directory textures took precedence even when browsing flats (this means when there were a flat and a texture with the same name, a texture was displayed when browsing flats).
Fixed, Classic modes: actor's scale set in DECORATE was ignored when rendering models.
Fixed, MODELDEF parser: in some cases, several model definitions were skipped when trying to skip the current one.
Fixed, resource management: flat and sprite TEXTURES definitions were loaded only from TEXTURES files named "TEXTURES".
Fixed/added, PK3/folder resource management: patch locations for sprites defined in TEXTURES are now checked the same way as in ZDoom (previously only the "sprites" folder was checked).
Fixed/added, PK3/folder resource management: patch locations for textures defined in TEXTURES are now checked the same way as in ZDoom (previously only the "textures" folder was checked).
Fixed, PK3/folder resource management: flats defined in TEXTURES were not added to the global Flats image list.
Fixed, PK3/folder resource management: in some cases, the image search algorithm could find flats, textures, patches or sprites in incorrect folders (for example, it could find a flat in "flats_backup" folder).
2014-10-07 00:23:02 +00:00
DMSS_NOFACTOR;
2014-09-29 09:52:36 +00:00
FPF_AIMATANGLE;
FPF_TRANSFERTRANSLATION;
JLOSF_PROJECTILE;
JLOSF_NOSIGHT;
JLOSF_CLOSENOFOV;
JLOSF_CLOSENOSIGHT;
JLOSF_CLOSENOJUMP;
JLOSF_DEADNOJUMP;
JLOSF_CHECKMASTER;
2014-10-28 09:31:37 +00:00
JLOSF_TARGETLOS;
JLOSF_FLIPFOV;
JLOSF_ALLYNOJUMP;
JLOSF_COMBATANTONLY;
JLOSF_NOAUTOAIM;
JLOSF_CHECKTRACER;
KILS_FOILBUDDHA;
2014-09-29 09:52:36 +00:00
KILS_FOILINVUL;
KILS_KILLMISSILES;
KILS_NOMONSTERS;
PTROP_UNSAFETARGET;
PTROP_UNSAFEMASTER;
PTROP_NOSAFEGUARDS;
RMVF_MISSILES;
RMVF_NOMONSTERS;
RMVF_MISC;
RMVF_EVERYTHING;
SF_NOPULLIN;
SF_NORANDOM;
SF_NOTURN;
SF_NOUSEAMMO;
SF_NOUSEAMMOMISS;
SF_RANDOMLIGHTBOTH;
SF_RANDOMLIGHTHIT;
SF_RANDOMLIGHTMISS;
WARPF_ABSOLUTEOFFSET;
WARPF_ABSOLUTEANGLE;
WARPF_ABSOLUTEPOSITION;
WARPF_USECALLERANGLE;
WARPF_NOCHECKPOSITION;
WARPF_STOP;
WARPF_TOFLOOR;
WARPF_TESTONLY;
WARPF_INTERPOLATE;
WARPF_WARPINTERPOLATION;
WARPF_COPYINTERPOLATION;
2012-07-12 22:34:12 +00:00
}