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;
2015-01-19 19:53:58 +00:00
extensions = "txt,dec";
2012-07-12 22:34:12 +00:00
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 = ")";
2016-01-27 14:08:15 +00:00
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
2012-07-16 09:45:21 +00:00
argumentdelimiter = ",";
2012-07-12 22:34:12 +00:00
terminator = ";";
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
extrawordchars = "#.$"; // Extra characters to be treated as a part of a word by the Script Editor
2012-07-12 22:34:12 +00:00
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
{
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
//Editor special comments
//These are handled in a different fascion: key is replaced with the value and the caret is placed at [EP] position
$Angled = "$Angled";
$NotAngled = "$NotAngled";
$Category = "//$Category \"[EP]\"";
$Sprite = "//$Sprite \"[EP]\"";
$Title = "//$Title \"[EP]\"";
$Arg0 = "//$Arg0 \"[EP]\"";
$Arg1 = "//$Arg1 \"[EP]\"";
$Arg2 = "//$Arg2 \"[EP]\"";
$Arg3 = "//$Arg3 \"[EP]\"";
$Arg4 = "//$Arg4 \"[EP]\"";
$Arg0Default = "//$Arg0Default ";
$Arg1Default = "//$Arg1Default ";
$Arg2Default = "//$Arg2Default ";
$Arg3Default = "//$Arg3Default ";
$Arg4Default = "//$Arg4Default ";
$Arg0Tooltip = "//$Arg0Tooltip \"[EP]\"";
$Arg1Tooltip = "//$Arg1Tooltip \"[EP]\"";
$Arg2Tooltip = "//$Arg2Tooltip \"[EP]\"";
$Arg3Tooltip = "//$Arg3Tooltip \"[EP]\"";
$Arg4Tooltip = "//$Arg4Tooltip \"[EP]\"";
$Arg0Type = "//$Arg0Type ";
$Arg1Type = "//$Arg1Type ";
$Arg2Type = "//$Arg2Type ";
$Arg3Type = "//$Arg3Type ";
$Arg4Type = "//$Arg4Type ";
$Arg0Enum = "//$Arg0Enum ";
$Arg1Enum = "//$Arg1Enum ";
$Arg2Enum = "//$Arg2Enum ";
$Arg3Enum = "//$Arg3Enum ";
$Arg4Enum = "//$Arg4Enum ";
$Color = "//$Color ";
$Obsolete = "//$Obsolete \"[EP]\"";
$GZDB_SKIP = "//$GZDB_SKIP";
//Preprocessor directives
2014-09-29 09:52:36 +00:00
#Include = "#Include";
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
#region = "#region";
#endregion = "#endregion";
//WFDS
A_Bool = "return A_Bool(bool result);";
A_Int = "return A_Int(int result);";
A_State = "return A_State(int offset OR str state);";
2012-07-12 22:34:12 +00:00
//Monster AI
2015-03-17 14:54:49 +00:00
A_AlertMonsters = "A_AlertMonsters[(float maxrange = 0.0[, int flags = 0])]";
2016-02-02 12:35:10 +00:00
A_Burst = "A_Burst(str chunktype)";
2014-09-29 09:52:36 +00:00
A_CentaurDefend = "A_CentaurDefend";
2015-01-23 14:46:57 +00:00
A_Chase = "A_Chase[(str meleestate = \"Melee\"[, str rangedstate = \"Missile\"[, int flags = 0]])]";
2014-09-29 09:52:36 +00:00
A_ClearLastHeard = "A_ClearLastHeard";
A_ClearSoundTarget = "A_ClearSoundTarget";
A_ClearTarget = "A_ClearTarget";
2015-01-23 14:46:57 +00:00
A_DamageChildren = "A_DamageChildren(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageMaster = "A_DamageMaster(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageSelf = "A_DamageSelf(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageSiblings = "A_DamageSiblings(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageTarget = "A_DamageTarget(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageTracer = "A_DamageTracer(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2016-02-02 12:35:10 +00:00
A_Die = "A_Die[(str damagetype = \"none\")]";
A_FaceTarget = "A_FaceTarget[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceTarget([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
A_FaceMaster = "A_FaceMaster[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceMaster([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
2014-11-05 14:31:00 +00:00
A_FastChase = "A_FastChase";
2015-01-23 14:46:57 +00:00
A_KillChildren = "A_KillChildren[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\[, str species = \"None\]]])]\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.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillMaster = "A_KillMaster[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\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.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillSiblings = "A_KillSiblings[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\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.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillTarget = "A_KillTarget[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\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.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillTracer = "A_KillTracer[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\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.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2014-11-05 14:31:00 +00:00
A_Look = "A_Look";
2014-09-29 09:52:36 +00:00
A_Look2 = "A_Look2";
A_LookEx = "A_LookEx(int flags, fixed minseedist, fixed maxseedist, fixed maxheardist, fixed fov, state seestate)";
2015-01-11 19:42:57 +00:00
A_RaiseChildren = "A_RaiseChildren[(bool copyaffiliation = false)]";
A_RaiseMaster = "A_RaiseMaster[(bool copyaffiliation = false)]";
A_RaiseSiblings = "A_RaiseSiblings[(bool copyaffiliation = false)]";
2015-01-23 14:46:57 +00:00
A_RemoveChildren = "A_RemoveChildren[(bool all = false[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveMaster = "A_RemoveMaster[(int flags = 0[, str filter = \"None\"[, str species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveSiblings = "A_RemoveSiblings[(bool all = false[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveTarget = "A_RemoveTarget[(int flags = 0[, str filter = \"None\"[, str species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveTracer = "A_RemoveTracer[(int flags = 0[, str filter = \"None\"[, str species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_Remove = "A_Remove(int pointer[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2014-09-29 09:52:36 +00:00
A_SentinelBob = "A_SentinelBob";
2015-01-23 14:46:57 +00:00
A_SetTeleFog = "A_SetTeleFog(str telefogsourceclass, str telefogdestclass)";
2014-12-23 12:32:08 +00:00
A_Srcr2Decide = "A_Srcr2Decide";
2014-12-22 21:36:49 +00:00
A_SwapTeleFog = "A_SwapTeleFog";
2014-11-05 14:31:00 +00:00
A_TurretLook = "A_TurretLook";
2015-05-27 15:25:20 +00:00
A_Teleport = "A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]";
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
2015-03-17 14:54:49 +00:00
A_CustomMissile = "A_CustomMissile(str missiletype[, float spawnheight = 0.0[, int spawnofs_horiz = 0[, int angle = 0[, int aimflags = 0[, int pitch = 0[, int target = AAPTR_TARGET]]]]]])";
A_CustomBulletAttack = "A_CustomBulletAttack(float horz_spread, float vert_spread, int numbullets, int damageperbullet[, str pufftype = \"BulletPuff\"[, float range = 0.0[, int flags = 0[, int target = AAPTR_TARGET]]]])";
2015-04-28 08:31:06 +00:00
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags = 0[, bool aim = false[, float maxdiff = 0.0[, str pufftype = \"\"[, float spread_xy = 0.0[, float spread_z = 0.0[, fixed range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass = \"\"[, float spawnofs_z = 0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
2015-05-11 20:17:50 +00:00
A_CustomMeleeAttack = "A_CustomMeleeAttack[(int damage = 0[, str meleesound = \"\"[, str misssound = \"\"[, str damagetype = \"Melee\"[, bool bleed = true]]]])]";
2015-01-23 14:46:57 +00:00
A_CustomComboAttack = "A_CustomComboAttack(str missiletype, float spawnheight, int damage, str meleesound[, str damagetype = \"Melee\"[, bool bleed = true]])";
A_MonsterRefire = "A_MonsterRefire(int chancecontinue, str abortstate) ";
A_BasicAttack = "A_BasicAttack(int meleedamage, str meleesound, str missiletype, float missileheight)";
2014-09-29 09:52:36 +00:00
A_BulletAttack = "A_BulletAttack";
A_MonsterRail = "A_MonsterRail";
2015-01-23 14:46:57 +00:00
A_Explode = "A_Explode[(int explosiondamage = 128[, int explosionradius = 128[, int flags = XF_HURTSOURCE[, bool alert = false[, int fulldamageradius = 0[, int nails = 0[, int naildamage = 10[, str pufftype = \"BulletPuff\"]]]]]]])]";
2014-09-29 09:52:36 +00:00
A_RadiusThrust = "A_RadiusThrust(int force, int distance[, int flags[, int fullthrustdistance]])";
A_Detonate = "A_Detonate";
2015-01-23 14:46:57 +00:00
A_ThrowGrenade = "A_ThrowGrenade(str spawntype[, float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
A_WolfAttack = "A_WolfAttack[(int flags = 0[, str soundname = \"weapons/pistol\"[, float snipe = 1.0[, int damage = 64[, int blocksize = 128[, int pointblank = 0[, int longrange = 0[, float runspeed = 160.0[, str pufftype = \"BulletPuff\"]]]]]]]])]";
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
2015-03-17 14:54:49 +00:00
A_PlaySound = "A_PlaySound(str soundname[, int slot = CHAN_BODY[, float volume = 1.0[, bool looping = false[, float attenuation = ATTN_NORM]]]])";
2015-01-23 14:46:57 +00:00
A_PlayWeaponSound = "A_PlayWeaponSound(str soundname)";
2014-09-29 09:52:36 +00:00
A_ActiveSound = "A_ActiveSound";
A_LoopActiveSound = "A_LoopActiveSound";
A_FLoopActiveSound = "A_FLoopActiveSound";
2014-11-05 14:31:00 +00:00
A_StopSound = "A_StopSound[(int slot = CHAN_VOICE)]";
2014-09-29 09:52:36 +00:00
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
2015-01-23 14:46:57 +00:00
A_Print = "A_Print(str text[, float time = 0.0[, str fontname = \"SmallFont\"]])";
A_PrintBold = "A_PrintBold(str text[, float time = 0.0[, str fontname = \"SmallFont\"]])";
A_Log = "A_Log(str text)";
2014-09-29 09:52:36 +00:00
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";
2014-11-05 14:31:00 +00:00
A_KeenDie = "A_KeenDie[(int tag = 666)]";
2014-09-29 09:52:36 +00:00
A_BrainDie = "A_BrainDie";
A_GetHurt = "A_GetHurt";
A_KlaxonBlare = "A_KlaxonBlare";
A_CheckTerrain = "A_CheckTerrain";
2015-01-23 14:46:57 +00:00
A_SetBlend = "A_SetBlend(str blendcolor, float alpha, int duration[, str fadecolor])";
2014-09-29 09:52:36 +00:00
A_CheckPlayerDone = "A_CheckPlayerDone";
2015-01-23 14:46:57 +00:00
A_PlayerSkinCheck = "A_PlayerSkinCheck(str state)";
A_SkullPop = "A_SkullPop[(str type = \"BloodySkull\")]";
2015-02-19 20:50:03 +00:00
A_Quake = "A_Quake(int intensity, int duration, int damageradius, int tremorradius[, str sound = \"world/quake\"])";
2015-03-17 14:54:49 +00:00
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]]])";
2012-07-16 09:45:21 +00:00
//Spawn functions
2014-09-29 09:52:36 +00:00
A_TossGib = "A_TossGib";
2015-01-23 14:46:57 +00:00
A_SpawnDebris = "A_SpawnDebris(str type[, bool translation = false[, float horizontal_vel = 1.0[, float vertical_vel = 1.0]]])";
A_SpawnItem = "A_SpawnItem(str type, int distance, float zpos, bool useammo, bool translation)";
2015-03-17 14:54:49 +00:00
A_SpawnItemEx = "A_SpawnItemEx(str type[, float xoffset = 0.0[, float yoffset = 0.0[, float zoffset = 0.0[, float xvelocity = 0.0[, float yvelocity = 0.0[, float zvelocity = 0.0[, float angle = 0.0[, int flags = 0[, int skipchance = 0[, int tid = 0]]]]]]]]]])";
2016-02-01 22:04:00 +00:00
A_SpawnParticle = "A_SpawnParticle(color color[, int flags = 0[, int lifetime = 35[, int size = 1[, float angle = 0.0[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float velx = 0.0[, float vely = 0.0[, float velz = 0.0[, float accelx = 0.0[, float accely = 0.0[, float accelz = 0.0[, float startalpha = 1.0[, float fadestep = -1.0]]]]]]]]]]]]]]])";
2012-07-16 09:45:21 +00:00
//State jumps
Removed "Paste Properties Options" action.
Added "Paste Properties Special" actions in "Classic" and "Visual" categories. They work the same way as "Paste Special" action.
Added: "Copy Properties", "Paste Properties" and "Paste Properties Special" options are now shown in the Edit menu if current classic mode supports them.
Changed, Paste Properties Special window: only options relevant to current map format are now displayed.
Changed, Paste Properties Special window, UDMF: all UI-managed options are now available.
Fixed: MAPINFO parser was unable to process "include" directives.
Fixed, General interface: selection info was reset to "Nothing selected" after few seconds regardless of current selection.
Fixed, Visual mode: thing bounding boxes were not updated when changing things positions using Randomize mode.
Fixed, Visual mode: event lines were displayed at incorrect height when entering Visual mode for the first time.
Fixed, Texture Browser window: when MixTexturesFlats Game Configuration option is disabled, textures/flats are no longer shown in the Used group when flats/textures with the same names are used in the map.
Fixed(?): probably fixed an exception some users reported when trying to initialize a Classic mode after switching from Visual mode with "Sync cameras" option enabled.
Changed, Game configurations, Thing Categories: a block must have at least one thing category property to be recognized as a thing category.
Changed, Visplane Explorer: the plugin now outputs more info when it fails to initialize vpo.dll.
Cosmetic, Thing Edit window, Doom/Hexen map format: adjusted UI layout so thing flags control no longer displays scrollbars in Hexen map format.
Internal: merged methods from UDMFTools into UniFields, removed UDMFTools.
Updated Inno Setup script (added VC++ 2008 SP1 distributive).
Updated ZDoom_DECORATE.cfg (A_CheckBlock).
Updated documentation (added "System Requirements" page).
2015-10-09 12:38:12 +00:00
A_CheckBlock = "A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET]])";
2015-01-23 14:46:57 +00:00
A_CheckCeiling = "A_CheckCeiling(int offset OR str state)";
A_CheckFloor = "A_CheckFloor(int offset OR str state)";
A_CheckFlag = "A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
2015-03-17 14:54:49 +00:00
A_CheckLOF = "A_CheckLOF(state jump[, int flags = 0[, float range = 0.0[, float minrange = 0.0[, float angle = 0.0[, float pitch = 0.0[, float offsetheight = 0.0[, float offsetwidth = 0.0[, int ptr_target = AAPTR_DEFAULT]]]]]]]])";
2016-01-27 14:08:15 +00:00
A_CheckProximity = "A_CheckProximity(str jump, str classname, float distance[, int count = 1[, int flags = 0[, int pointer = AAPTR_DEFAULT]]])";
2016-02-02 12:35:10 +00:00
A_CheckRange = "A_CheckRange(float distance, int offset OR str state[, bool 2d_check = false])";
2015-01-23 14:46:57 +00:00
A_CheckSight = "A_CheckSight(int offset OR str state)";
2016-02-02 12:35:10 +00:00
A_CheckSightOrRange = "A_CheckSightOrRange(float distance, int offset OR str state[, bool 2d_check = false])";
2016-01-28 09:34:08 +00:00
A_CheckSpecies = "A_CheckSpecies(str jump[, str species=\"None\"[, int pointer = AAPTR_DEFAULT]]) ";
2015-01-23 14:46:57 +00:00
A_Jump = "A_Jump(int chance, int offset OR str state, ...)";
A_JumpIf = "A_JumpIf(expression, int offset OR str state)";
2016-02-02 12:35:10 +00:00
A_JumpIfArmorType = "A_JumpIfArmorType(str armortype, str state[, int minimum = 1])";
2015-10-15 15:16:31 +00:00
A_JumpIfCloser = "A_JumpIfCloser(int distance, int offset OR str state[, bool noz = false])";
2015-01-23 14:46:57 +00:00
A_JumpIfHealthLower = "A_JumpIfHealthLower(int health, int offset OR str state[, int pointer = AAPTR_DEFAULT])";
2015-05-11 20:17:50 +00:00
A_JumpIfHigherOrLower = "A_JumpIfHigherOrLower(str high, str low[, float offsethigh = 0.0[, float offsetlow = 0.0[, bool includeHeight = true[, int pointer = AAPTR_TARGET]]]])";
2015-02-19 20:50:03 +00:00
A_JumpIfInventory = "A_JumpIfInventory(str inventorytype, int amount, int offset OR str state[, int owner = AAPTR_DEFAULT])";
2016-02-02 12:35:10 +00:00
A_JumpIfInTargetInventory = "A_JumpIfInTargetInventory(str item, int count, int offset OR str state[, int forward = AAPTR_DEFAULT])";
2015-03-17 14:54:49 +00:00
A_JumpIfInTargetLOS = "A_JumpIfInTargetLOS(int offset OR str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
2015-10-15 15:16:31 +00:00
A_JumpIfMasterCloser = "A_JumpIfMasterCloser(int distance, int offset OR str state[, bool noz = false])";
2015-01-23 14:46:57 +00:00
A_JumpIfNoAmmo = "A_JumpIfNoAmmo(int offset OR str state)";
2015-03-17 14:54:49 +00:00
A_JumpIfTargetInLOS = "A_JumpIfTargetInLOS(int offset OR str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
2015-01-23 14:46:57 +00:00
A_JumpIfTargetInsideMeleeRange = "A_JumpIfTargetInsideMeleeRange(int offset OR str 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 str 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.";
2015-10-15 15:16:31 +00:00
A_JumpIfTracerCloser = "A_JumpIfTracerCloser(int distance, int offset OR str state[, bool noz = false])";
2012-07-16 09:45:21 +00:00
//Status changes
2014-12-05 14:33:31 +00:00
A_ActiveAndUnblock = "A_ActiveAndUnblock";
2016-02-02 12:35:10 +00:00
A_CallSpecial = "A_CallSpecial(int special[, int arg1 = 0[, int arg2 = 0[, int arg3 = 0[, int arg4 = 0[, int arg5 = 0]]]]])";
2015-01-23 14:46:57 +00:00
A_ChangeFlag = "A_ChangeFlag(str flagname, bool value)";
2015-03-17 14:54:49 +00:00
A_ChangeVelocity = "A_ChangeVelocity[(float x = 0.0[, float y = 0.0[, float z = 0.0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]])]\nflags: CVF flags.";
2014-09-29 09:52:36 +00:00
A_ClearShadow = "A_ClearShadow";
2014-11-05 14:31:00 +00:00
A_CopyFriendliness = "A_CopyFriendliness[(int copyfrom = AAPTR_MASTER)]";
2014-09-29 09:52:36 +00:00
A_DeQueueCorpse = "A_DeQueueCorpse";
2014-12-05 14:33:31 +00:00
A_FadeIn = "A_FadeIn[(float increase_amount = 0.1[, int flags = 0])]\nflags: FTF flags.";
A_FadeOut = "A_FadeOut[(float reduce_amount = 0.1[, int flags = FTF_REMOVE])]\nflags: FTF flags.";
A_FadeTo = "A_FadeTo(float target[, float amount = 0.1[, int flags = 0]])\nflags: FTF flags.";
2016-01-28 09:34:08 +00:00
A_FaceMovementDirection = "A_FaceMovementDirection([float offset = 0[, float anglelimit = 0[, float pitchlimit = 0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]]])";
2014-09-29 09:52:36 +00:00
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";
2014-11-05 14:31:00 +00:00
A_RearrangePointers = "A_RearrangePointers(int target, int master, int tracer, int flags)\nflags: AAPTR flags.";
2015-01-26 08:26:52 +00:00
A_ResetHealth = "A_ResetHealth[(int pointer = AAPTR_DEFAULT)]";
2014-11-05 14:31:00 +00:00
A_Respawn = "A_Respawn[(int flags = RSF_FOG)]\nflags: RSF flags";
2015-01-25 23:22:42 +00:00
A_ScaleVelocity = "A_ScaleVelocity(float scale[, int pointer = AAPTR_DEFAULT])";
2014-09-29 09:52:36 +00:00
A_ScreamAndUnblock = "A_ScreamAndUnblock";
2015-09-25 13:20:53 +00:00
A_SetAngle = "A_SetAngle(float angle[, int flags = 0[, int pointer = AAPTR_DEFAULT]])\nangle: the actor's new angle, in degrees.\nflags: SPF flags.";
2014-09-29 09:52:36 +00:00
A_SetArg = "A_SetArg(int position, int value)";
2016-02-08 21:51:03 +00:00
A_SetChaseThreshold = "A_SetChaseThreshold(int threshold[, bool setdefaultthreshhold = false[, int pointer = AAPTR_DEFAULT]])";
2015-01-23 14:46:57 +00:00
A_SetDamageType = "A_SetDamageType(str damagetype)";
2014-09-29 09:52:36 +00:00
A_SetFloat = "A_SetFloat";
2015-09-25 13:20:53 +00:00
A_SetFloatSpeed = "A_SetFloatSpeed(float speed[, int pointer = AAPTR_DEFAULT])";
2015-01-10 11:45:25 +00:00
A_FloatBobPhase = "A_FloatBobPhase(int bob)\nChanges the calling actor's FloatBobPhase to bob, which takes a number from 0 to 63.\nIf the number is invalid or not in range, the function does nothing.";
2014-09-29 09:52:36 +00:00
A_SetFloorClip = "A_SetFloorClip";
2015-01-23 12:02:35 +00:00
A_SetHealth = "A_SetHealth(int health[, int pointer = AAPTR_DEFAULT])\nhealth: The health value to set for the actor. Valid values are 1 and above.\npointer: The actor to set its health. Default is AAPTR_DEFAULT, which corresponds to the calling actor.";
2014-09-29 09:52:36 +00:00
A_SetInvulnerable = "A_SetInvulnerable";
A_SetMass = "A_SetMass(int mass)";
2016-01-28 09:34:08 +00:00
A_SetPainThreshold = "A_SetPainThreshold(int threshold[, int pointer = AAPTR_DEFAULT])";
2015-09-25 13:20:53 +00:00
A_SetPitch = "A_SetPitch(float pitch[, int flags = 0[, int pointer = AAPTR_DEFAULT]])\npitch: The actor's new pitch, in degrees.\nflags: SPF flags.";
2014-09-29 09:52:36 +00:00
A_SetReflective = "A_SetReflective";
A_SetReflectiveInvulnerable = "A_SetReflectiveInvulnerable";
2015-10-15 15:16:31 +00:00
A_SetRipperLevel = "A_SetRipperLevel(int level)";
A_SetRipMin = "A_SetRipMin(int min)";
A_SetRipMax = "A_SetRipMax(int max)";
2016-01-02 18:26:16 +00:00
A_SetRoll = "A_SetRoll(float roll[, int flags = 0[, int pointer = AAPTR_DEFAULT]])";
2015-10-15 15:16:31 +00:00
A_SetScale = "A_SetScale(float scaleX[, float scaleY = scaleX[, int pointer = AAPTR_DEFAULT]])";
2014-09-29 09:52:36 +00:00
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)";
2015-08-28 19:22:28 +00:00
A_SetSpecies = "A_SetSpecies(str species[, int pointer = AAPTR_DEFAULT])";
2015-01-25 23:22:42 +00:00
A_SetSpeed = "A_SetSpeed(float speed[, int pointer = AAPTR_DEFAULT])";
2014-09-29 09:52:36 +00:00
A_SetTics = "A_SetTics(int tics)";
2015-01-15 20:48:57 +00:00
A_SetTranslucent = "A_SetTranslucent(float alpha[, int mode = 0])";
2015-01-23 14:46:57 +00:00
A_SetUserVar = "A_SetUserVar(str name, int value)";
2014-11-05 14:31:00 +00:00
A_TransferPointer = "A_TransferPointer(int source, int recipient, int sourcefield, int recipientfield[, int flags])\nflags: PTROP flags.";
2014-09-29 09:52:36 +00:00
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-11-05 14:31:00 +00:00
A_SeekerMissile = "A_SeekerMissile(angle threshold, angle maxturnangle[, int flags = 0[, int chance = 50[, int distance = 10]]])\nflags: SMF flags.";
2014-09-29 09:52:36 +00:00
A_Tracer = "A_Tracer";
A_Tracer2 = "A_Tracer2";
2016-02-02 12:35:10 +00:00
A_FaceTracer = "A_FaceTracer[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceTracer([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
2015-03-17 14:54:49 +00:00
A_Fire = "A_Fire[(float height = 0.0)]";
2014-09-29 09:52:36 +00:00
A_Weave = "A_Weave(int horzspeed, int vertspeed, float horzdist, float vertdist)";
2015-10-26 11:58:33 +00:00
A_Warp = "A_Warp(int ptr_destination[, float x-offset = 0[, float y-offset = 0[, float z-offset = 0[, float angle = 0[, int flags = 0[, str success_state = \"\"[, float heightoffset = 0[, float radiusoffset = 0[, float pitch = 0]]]]]]]]])\nflags: WARPF flags.";
2014-09-29 09:52:36 +00:00
A_Countdown = "A_Countdown";
2015-01-23 14:46:57 +00:00
A_CountdownArg = "A_CountdownArg(int arg[, str targetstate])";
2014-09-29 09:52:36 +00:00
A_Stop = "A_Stop";
2012-07-16 09:45:21 +00:00
//Inventory functions
2015-01-23 14:46:57 +00:00
A_GiveInventory = "A_GiveInventory(str type[, int count = 0[, int giveto = AAPTR_DEFAULT]])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.\ngiveto: the actor to give the item to";
A_GiveToChildren = "A_GiveToChildren(str type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
A_GiveToSiblings = "A_GiveToSiblings(str type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
A_GiveToTarget = "A_GiveToTarget(str type, int count[, int giveto])";
A_TakeInventory = "A_TakeInventory(str type, int count[, int flags[, int takefrom = AAPTR_DEFAULT]])";
A_TakeFromChildren = "A_TakeFromChildren(str type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
A_TakeFromSiblings = "A_TakeFromSiblings(str type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
A_TakeFromTarget = "A_TakeFromTarget(str type, int count[, int flags[, int takefrom]])";
A_DropInventory = "A_DropInventory(str type)";
A_DropItem = "A_DropItem(str 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_SelectWeapon = "A_SelectWeapon(str type)";
2015-11-28 20:59:32 +00:00
A_RadiusGive = "A_RadiusGive(str item, fixed distance, int flags[, int amount = 0[, str filter = \"None\"[, str species = \"None\"[, fixed mindist = 0]]]])\nflags: RGF flags.";
2012-07-16 09:45:21 +00:00
//Weapon functions
2014-11-05 14:31:00 +00:00
A_WeaponReady = "A_WeaponReady[(int flags = 0)]\nflags: WRF flags.";
2014-09-29 09:52:36 +00:00
A_Lower = "A_Lower";
A_Raise = "A_Raise";
2015-01-23 14:46:57 +00:00
A_ReFire = "A_ReFire[(str state = \"Hold\")]";
2014-09-29 09:52:36 +00:00
A_ClearReFire = "A_ClearReFire";
2015-01-23 14:46:57 +00:00
A_GunFlash = "A_GunFlash[(str state = \"Flash\"[, int flags = 0])]\nflags: GFF flags.";
2014-09-29 09:52:36 +00:00
A_CheckReload = "A_CheckReload";
2015-01-23 14:46:57 +00:00
A_CheckForReload = "A_CheckForReload(int counter, str state[, bool dontincrement = false])";
2014-09-29 09:52:36 +00:00
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)";
2014-11-05 14:31:00 +00:00
A_ZoomFactor = "A_ZoomFactor[(float zoom = 1.0[, int flags = 0])]\nflags: ZOOM flags.";
2014-09-29 09:52:36 +00:00
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";
2015-03-17 14:54:49 +00:00
A_Saw = "A_Saw[(str fullsound = \"weapons/sawfull\"[, str hitsound = \"weapons/sawhit\"[, int damage = 0[, str pufftype = \"BulletPuff\"[, int flags = 0[, float range = 65.0[, float spread_xy = 2.8125[, float spread_z = 0.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"]]]]]]]]]])]";
2015-12-01 14:51:45 +00:00
A_CustomPunch = "A_CustomPunch(int damage[, bool norandom = false[, int flags = 0[, str pufftype = \"BulletPuff\"[, float range = 64.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"[, str meleesound[, str misssound]]]]]]]]])";
2015-03-17 14:54:49 +00:00
A_FireBullets = "A_FireBullets(int spread_horz, int spread_vert, int numbullets, int damage[, str pufftype = \"\"[, int flags = FBF_USEAMMO[, float range = 0.0]]])";
2015-01-23 14:46:57 +00:00
A_FireCustomMissile = "A_FireCustomMissile(str missiletype[, int angle = 0[, bool useammo = false[, int spawnofs_horz = 0[, int spawnheight = 0[, bool aim = false OR int flags = 0[, angle pitch = 0]]]]]])";
2015-12-01 14:51:45 +00:00
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, str ringcolor[, str corecolor[, int flags[, int maxdiff[, str pufftype[, float spread_xy = 0[, float spread_z = 0.0[, fixed range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass[, float spawnofs_z = 0.0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
2014-09-29 09:52:36 +00:00
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-11-05 14:31:00 +00:00
ACS_ExecuteWithResult = "int ACS_ExecuteWithResult(int script, int arg1, int arg2, int arg3, int arg4)";
2015-01-23 14:46:57 +00:00
ACS_NamedExecute = "bool ACS_NamedExecute(str script, int map, int arg1, int arg2, int arg3)";
ACS_NamedSuspend = "bool ACS_NamedSuspend(str script, int map)";
ACS_NamedTerminate = "bool ACS_NamedTerminate(str script, int map)";
ACS_NamedLockedExecute = "bool ACS_NamedLockedExecute(str script, int map, int arg1, int arg2, int lock)";
ACS_NamedLockedExecuteDoor = "bool ACS_NamedLockedExecuteDoor(str script, int map, int arg1, int arg2, int lock)";
ACS_NamedExecuteWithResult = "int ACS_NamedExecuteWithResult(str script, int arg1, int arg2, int arg3, int arg4)";
ACS_NamedExecuteAlways = "bool ACS_NamedExecuteAlways(str script, int map, int arg1, int arg2, int arg3)";
CallACS = "int CallACS(str script, int arg1, int arg2, int arg3, int arg4)";
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";
2014-11-05 14:31:00 +00:00
A_SkullAttack = "A_SkullAttack[(int speed = 20)]";
2014-09-29 09:52:36 +00:00
A_BspiAttack = "A_BspiAttack";
A_CyberAttack = "A_CyberAttack";
2015-03-17 14:54:49 +00:00
A_PainAttack = "A_PainAttack[(str spawntype = \"LostSoul\"[, float angle = 0.0[, int flags = 0[, int limit = 21]]])]";
2015-01-23 14:46:57 +00:00
A_DualPainAttack = "A_DualPainAttack[(str spawntype = \"LostSoul\")]";
A_PainDie = "A_PainDie[(str spawntype = \"LostSoul\")]";
2014-09-29 09:52:36 +00:00
A_SkelFist = "A_SkelFist";
A_SkelMissile = "A_SkelMissile";
2015-01-23 14:46:57 +00:00
A_FatAttack1 = "A_FatAttack1[(str spawntype = \"FatShot\")]";
A_FatAttack2 = "A_FatAttack2[(str spawntype = \"FatShot\")]";
A_FatAttack3 = "A_FatAttack3[(str spawntype = \"FatShot\")]";
A_VileTarget = "A_VileTarget[(str type = \"ArchvileFire\")]";
A_VileAttack = "A_VileAttack[(str sound = \"vile/stop\"[, int initialdamage = 20[, int blastdamage = 70[, int blastradius = 70[, float thrustfactor = 1.0[, str damagetype = \"Fire\"[, int flags = 0]]]]]])]";
A_BrainSpit = "A_BrainSpit[(str spawntype = \"SpawnShot\")]";
A_SpawnFly = "A_SpawnFly[(str fogactor = \"SpawnFire\")]";
2014-09-29 09:52:36 +00:00
A_SpawnSound = "A_SpawnSound";
A_BrainScream = "A_BrainScream";
A_BrainExplode = "A_BrainExplode";
2016-02-02 12:35:10 +00:00
A_Mushroom = "A_Mushroom[(str spawntype = \"FatShot\"[, int numspawns = 0[, int flags = MSF_STANDARD[, float vrange = 4.0[, float hrange = 0.5]]]])]";
A_M_Saw = "A_M_Saw[(str fullsound = \"weapons/sawfull\"[, str hitsound = \"weapons/sawhit\"[, int damage = 2[, str pufftype = \"BulletPuff\"]]])]";
2014-09-29 09:52:36 +00:00
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";
2015-06-03 13:20:06 +00:00
A_BFGSpray = "A_BFGSpray[(str flashtype = \"BFGExtra\"[, int numrays = 40[, int damagecnt = 15[, float angle = 90.0[, float distance = 1024.0[, float vrange = 32.0[, int explicit_damage = 0]]]]]])]";
2014-11-25 11:52:01 +00:00
A_BarrelDestroy = "A_BarrelDestroy";
//Miscellaneous functions not listed in the "Action functions" wiki article
A_Bang4Cloud = "A_Bang4Cloud";
2015-03-17 14:54:49 +00:00
A_Blast = "A_Blast[(int flags = 0[, int strength = 255[, int radius = 255[, float speed = 20.0[, str blasteffect = \"BlastEffect\"[, sound blastsound = \"BlastRadius\"]]]]])]";
2016-02-02 12:35:10 +00:00
A_BishopMissileWeave = "A_BishopMissileWeave";
2015-01-23 14:46:57 +00:00
A_DropWeaponPieces = "A_DropWeaponPieces(str actorclass1, str actorclass2, str actorclass3)";
2014-11-25 11:52:01 +00:00
A_Feathers = "A_Feathers";
2015-01-03 18:43:37 +00:00
A_GauntletAttack = "A_GauntletAttack(int power)";
2014-11-25 11:52:01 +00:00
A_GiveQuestItem = "A_GiveQuestItem(int itemnum)";
A_PigPain = "A_PigPain";
A_RemoveForcefield = "A_RemoveForcefield";
A_RocketInFlight = "A_RocketInFlight";
A_SetGravity = "A_SetGravity(float gravity)\nSets the amount of gravity for the calling actor.";
2015-01-23 14:46:57 +00:00
A_SetUserArray = "A_SetUserArray(str name, int index, int value)";
2014-11-25 11:52:01 +00:00
A_ShootGun = "A_ShootGun";
A_SPosAttackUseAtkSound = "A_SPosAttackUseAtkSound";
2014-11-05 14:31:00 +00:00
//Mathematical functions
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
abs = "float abs(x)\nReturns the absolute value of x.";
sin = "float sin(x)\nTrigonometry function, x must be in degrees.";
cos = "float cos(x)\nTrigonometry function, x must be in degrees.";
sqrt = "float sqrt(x)\nReturns the square root of x.";
random = "int random[identifier](min, max)\nReturns a random integer value between min and max.";
random2 = "int random2[identifier](mask)\nReturns a random integer value between -mask and +mask.";
frandom = "float frandom[identifier](min, max)\nReturns a random floating point value between min and max.";
randompick = "int randompick[identifier](int, ...)\nPicks a number from the numbers placed in it.\nThis can take an unlimited amount of parameters.";
frandompick = "float frandompick[identifier](int, ...)\nSimilar to randompick but for float-point values.";
2016-02-08 21:51:03 +00:00
//State functions
2015-01-23 14:46:57 +00:00
Light = "Light(str lightname)";
2014-09-29 09:52:36 +00:00
Offset = "Offset(int x, int y)";
2014-09-26 07:48:47 +00:00
//Special functions
2015-01-23 14:46:57 +00:00
CheckClass = "bool CheckClass(str classname[, int ptr_select = AAPTR_DEFAULT[, bool match_superclass = false]])";
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
IsPointerEqual = "bool IsPointerEqual(int ptr1, int ptr2)";
CountInv = "int CountInv(str itemclassname[, int ptr_select = AAPTR_DEFAULT])";
GetDistance = "float GetDistance(bool checkz[, int ptr_select = AAPTR_TARGET])";
2012-07-12 22:34:12 +00:00
}
2016-02-06 21:23:43 +00:00
properties
2012-07-12 22:34:12 +00:00
{
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
action;
native;
replaces;
2014-09-29 09:52:36 +00:00
Actor;
2016-02-08 21:51:03 +00:00
enum;
const;
var;
int;
float;
2016-02-06 21:23:43 +00:00
//WFDS
if;
else;
return;
//Flow control
Loop;
Stop;
Wait;
Fail;
goto;
2016-02-08 21:51:03 +00:00
//State keywords
Bright;
CanRaise;
Fast;
Slow;
NoDelay;
//States
2015-01-19 19:53:58 +00:00
States;
2014-09-29 09:52:36 +00:00
Spawn:;
Idle:;
See:;
Melee:;
Missile:;
Pain:;
2015-12-07 21:57:59 +00:00
Pain.Dagger:;
2014-09-29 09:52:36 +00:00
Death:;
2016-02-06 21:23:43 +00:00
Death.Extreme:;
2014-09-29 09:52:36 +00:00
XDeath:;
Burn:;
Ice:;
Disintegrate:;
Raise:;
Heal:;
Crash:;
2015-01-19 19:53:58 +00:00
Crash.Extreme:;
2014-09-29 09:52:36 +00:00
Crush:;
Wound:;
Greetings:;
Yes:;
No:;
Active:;
Inactive:;
Bounce:;
Bounce.Floor:;
Bounce.Ceiling:;
Bounce.Wall:;
Bounce.Actor:;
Bounce.Actor.Creature:;
2016-01-02 18:26:16 +00:00
//weapon states:
Ready:;
Select:;
Deselect:;
Fire:;
AltFire:;
Hold:;
AltHold:;
Flash:;
AltFlash:;
Reload:;
Zoom:;
User1:;
User2:;
User3:;
User4:;
2015-01-19 19:53:58 +00:00
////////////////////
//ACTOR PROPERTIES
////////////////////
//Map editing control
Game;
SpawnID;
ConversationID;
Tag;
//Behavior
Health;
GibHealth;
WoundHealth;
ReactionTime;
PainChance;
PainThreshold;
DamageFactor;
Damage;
PoisonDamage;
PoisonDamageType;
RadiusDamageFactor;
DesignatedTeam;
Speed;
VSpeed;
FastSpeed;
FloatSpeed;
Species;
Accuracy;
Stamina;
Activation;
TeleFogSourceType;
TeleFogDestType;
2016-02-08 21:51:03 +00:00
Threshold;
DefThreshold;
2015-01-19 19:53:58 +00:00
//Collision and 'Physics'
Radius;
Height;
DeathHeight;
BurnHeight;
ProjectilePassHeight;
CameraHeight;
Gravity;
Mass;
MaxStepHeight;
MaxDropOffHeight;
BounceType;
BounceFactor;
WallBounceFactor;
BounceCount;
ProjectileKickBack;
PushFactor;
WeaveIndexXY;
WeaveIndexZ;
//Sound
ActiveSound;
AttackSound;
BounceSound;
CrushPainSound;
DeathSound;
HowlSound;
PainSound;
SeeSound;
WallBounceSound;
//Rendering
RenderStyle;
Alpha;
DefaultAlpha;
XScale;
YScale;
Scale;
Translation;
BloodColor;
BloodType;
Decal;
StencilColor;
FloatBobPhase;
//Obituaries
HitObituary;
Obituary;
//Attacks
MinMissileChance;
DamageType;
DeathType;
MeleeThreshold;
MeleeRange;
MaxTargetRange;
PainType;
//Special
2016-02-06 21:23:43 +00:00
Args;
2015-01-19 19:53:58 +00:00
ClearFlags;
DropItem;
Skip_Super;
VisibleToTeam;
VisibleToPlayerClass;
//Inventory
Inventory.Amount;
Inventory.DefMaxAmount;
Inventory.MaxAmount;
Inventory.InterHubAmount;
Inventory.Icon;
Inventory.PickupMessage;
Inventory.PickupSound;
Inventory.PickupFlash;
Inventory.UseSound;
Inventory.RespawnTics;
Inventory.GiveQuest;
Inventory.ForbiddenTo;
Inventory.RestrictedTo;
//FakeInventory
FakeInventory.Respawns;
//BasicArmorPickup
Armor.SaveAmount;
Armor.SavePercent;
Armor.MaxFullAbsorb;
Armor.MaxAbsorb;
//BasicArmorBonus
Armor.SavePercent;
Armor.MaxSaveAmount;
Armor.SaveAmount;
Armor.MaxBonus;
Armor.MaxBonusMax;
//Weapons
Weapon.AmmoGive;
Weapon.AmmoGive1;
Weapon.AmmoGive2;
Weapon.AmmoType;
Weapon.AmmoType1;
Weapon.AmmoType2;
Weapon.AmmoUse;
Weapon.AmmoUse1;
Weapon.AmmoUse2;
Weapon.MinSelectionAmmo1;
Weapon.MinSelectionAmmo2;
Weapon.BobRangeX;
Weapon.BobRangeY;
Weapon.BobSpeed;
Weapon.BobStyle;
Weapon.KickBack;
2015-02-24 13:38:35 +00:00
Weapon.DefaultKickBack;
2015-01-19 19:53:58 +00:00
Weapon.ReadySound;
Weapon.SelectionOrder;
Weapon.SisterWeapon;
Weapon.SlotNumber;
Weapon.SlotPriority;
Weapon.UpSound;
Weapon.YAdjust;
//Ammo
Ammo.BackpackAmount;
Ammo.BackpackMaxAmount;
Ammo.DropAmount;
//Weapon Pieces
WeaponPiece.Number;
WeaponPiece.Weapon;
//Health
Health.LowMessage;
//Puzzle Items
PuzzleItem.Number;
PuzzleItem.FailMessage;
//Player
Player.AirCapacity;
Player.AttackZOffset;
Player.ColorRange;
Player.ColorSet;
Player.ColorSetFile;
Player.ClearColorSet;
Player.CrouchSprite;
Player.DamageScreenColor;
Player.DisplayName;
Player.Face;
Player.FallingScreamSpeed;
Player.FlechetteType;
Player.ForwardMove;
Player.GruntSpeed;
Player.HealRadiusType;
Player.HexenArmor;
Player.InvulnerabilityMode;
Player.JumpZ;
Player.MaxHealth;
Player.RunHealth;
Player.Portrait;
Player.ScoreIcon;
Player.SideMove;
Player.SoundClass;
Player.SpawnClass;
Player.StartItem;
Player.UseRange;
Player.WeaponSlot;
Player.ViewHeight;
Player.MorphWeapon;
Player.MugShotMaxHealth;
//Powerup
Powerup.Color;
Powerup.Colormap;
Powerup.Duration;
Powerup.Mode;
Powerup.Strength;
//Powerup Giver
Powerup.Type;
//Health Pickup
HealthPickup.AutoUse;
//Morph Projectile
MorphProjectile.PlayerClass;
MorphProjectile.MonsterClass;
MorphProjectile.Duration;
MorphProjectile.MorphStyle;
MorphProjectile.MorphFlash;
MorphProjectile.UnMorphFlash;
2014-11-05 14:31:00 +00:00
//Actor position and movement
x;
y;
z;
2015-01-19 19:53:58 +00:00
Angle;
CeilingZ;
FloorZ;
Pitch;
VelX;
VelY;
VelZ;
2014-11-05 14:31:00 +00:00
//Actor properties
2015-01-19 19:53:58 +00:00
ScaleX;
ScaleY;
Score;
Special;
Stamina;
2016-02-06 21:23:43 +00:00
}
constants
{
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;
2015-02-19 20:50:03 +00:00
AAPTR_PLAYER_GETCONVERSATION;
//A_SpawnItemEx flags
2014-10-28 09:31:37 +00:00
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;
2015-02-12 22:04:49 +00:00
SXF_TRANSFERSPRITEFRAME;
2015-02-19 20:50:03 +00:00
SXF_TRANSFERROLL;
2015-08-20 14:09:28 +00:00
SXF_ISTARGET;
SXF_ISMASTER;
SXF_ISTRACER;
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;
2014-11-05 14:31:00 +00:00
WRF_DISABLESWITCH;
2014-09-29 09:52:36 +00:00
WRF_NOSECONDARY;
WRF_ALLOWRELOAD;
WRF_ALLOWZOOM;
2016-01-02 18:26:16 +00:00
WRF_ALLOWUSER1;
WRF_ALLOWUSER2;
WRF_ALLOWUSER3;
WRF_ALLOWUSER4;
2014-09-29 09:52:36 +00:00
ZOOM_INSTANT;
ZOOM_NOSCALETURNING;
CPF_USEAMMO;
CPF_DAGGER;
CPF_PULLIN;
2014-11-05 14:31:00 +00:00
CPF_NORANDOMPUFFZ;
2015-01-03 18:43:37 +00:00
CPF_NOTURN;
CPF_STEALARMOR;
2014-09-29 09:52:36 +00:00
FBF_USEAMMO;
2014-11-05 14:31:00 +00:00
FBF_NOFLASH;
2014-09-29 09:52:36 +00:00
FBF_NORANDOM;
FBF_EXPLICITANGLE;
FBF_NOPITCH;
2014-11-05 14:31:00 +00:00
FBF_NORANDOMPUFFZ;
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-11-05 14:31:00 +00:00
MSF_STANDARD;
MSF_CLASSIC;
MSF_DONTHURT;
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;
2014-11-05 14:31:00 +00:00
DONTTHRUST;
ALLOWPAIN;
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;
2015-06-03 13:20:06 +00:00
LAXTELEFRAGDMG;
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;
2014-11-25 11:52:01 +00:00
CAUSEPAIN;
2014-09-29 09:52:36 +00:00
DONTSEEKINVISIBLE;
STEPMISSILE;
ADDITIVEPOISONDAMAGE;
ADDITIVEPOISONDURATION;
NOFORWARDFALL;
2015-01-19 19:53:58 +00:00
HITTARGET;
HITMASTER;
HITTRACER;
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
2015-10-15 15:16:31 +00:00
ICESHATTER;
2014-09-29 09:52:36 +00:00
DROPPED;
ISMONSTER;
CORPSE;
COUNTITEM;
COUNTKILL;
COUNTSECRET;
NOTDMATCH;
NONSHOOTABLE;
DROPOFF;
PUFFONACTORS;
ALLOWPARTICLES;
ALWAYSPUFF;
PUFFGETSOWNER;
2015-05-27 15:25:20 +00:00
FORCEDECAL;
NODECAL;
2014-09-29 09:52:36 +00:00
SYNCHRONIZED;
ALWAYSFAST;
NEVERFAST;
OLDRADIUSDMG;
USESPECIAL;
BUMPSPECIAL;
BOSSDEATH;
NOINTERACTION;
NOTAUTOAIMED;
NOTONAUTOMAP;
WEAPONSPAWN;
2014-11-25 11:52:01 +00:00
NOMENU;
2014-09-29 09:52:36 +00:00
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;
2015-02-22 21:07:43 +00:00
INVENTORY.TRANSFER;
Fixed, Draw Lines/Rectangle/Circle/Curve modes: line length labels displayed incorrect length.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: line length labels are now displayed the same way as in Draw modes.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: "lock movement to cardinal directions" mode (Alt-Shift-Drag) now locks movement in 4 directions instead of 8 and doesn't snap map elements to nearest grid intersections when they are not aligned to it.
Added, Visual mode, GZDoom, DECORATE: FORCEXYBILLBOARD flag is now supported.
Added, Visual mode, GLOOME, DECORATE: FLOORSPRITE, CEILSPRITE, WALLSPRITE, ROLLSPRITE and STICKTOPLANE flags are now supported (implementation is somewhat broken ATM and probably doesn't work the same way as in GLOOME, because Windows build with most these features is nowhere to be found...).
Fixed, Visual mode: in some cases Thing brightness was calculated incorrectly.
Updated ZDoom_DECORATE.cfg.
2015-08-25 22:05:14 +00:00
INVENTORY.NOTELEPORTFREEZE;
2015-01-19 19:53:58 +00:00
//Weapons
2014-09-29 09:52:36 +00:00
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;
2014-11-05 14:31:00 +00:00
//Action-specific flags
AMF_EMITFROMTARGET;
2014-09-29 09:52:36 +00:00
AMF_TARGETEMITTER;
AMF_TARGETNONPLAYER;
2014-11-25 11:52:01 +00:00
BF_USEAMMO;
BF_DONTWARN;
BF_AFFECTBOSSES;
BF_NOIMPACTDAMAGE;
2014-11-05 14:31:00 +00:00
CBAF_AIMFACING;
CBAF_EXPLICITANGLE;
CBAF_NOPITCH;
CBAF_NORANDOM;
CBAF_NORANDOMPUFFZ;
Removed "Paste Properties Options" action.
Added "Paste Properties Special" actions in "Classic" and "Visual" categories. They work the same way as "Paste Special" action.
Added: "Copy Properties", "Paste Properties" and "Paste Properties Special" options are now shown in the Edit menu if current classic mode supports them.
Changed, Paste Properties Special window: only options relevant to current map format are now displayed.
Changed, Paste Properties Special window, UDMF: all UI-managed options are now available.
Fixed: MAPINFO parser was unable to process "include" directives.
Fixed, General interface: selection info was reset to "Nothing selected" after few seconds regardless of current selection.
Fixed, Visual mode: thing bounding boxes were not updated when changing things positions using Randomize mode.
Fixed, Visual mode: event lines were displayed at incorrect height when entering Visual mode for the first time.
Fixed, Texture Browser window: when MixTexturesFlats Game Configuration option is disabled, textures/flats are no longer shown in the Used group when flats/textures with the same names are used in the map.
Fixed(?): probably fixed an exception some users reported when trying to initialize a Classic mode after switching from Visual mode with "Sync cameras" option enabled.
Changed, Game configurations, Thing Categories: a block must have at least one thing category property to be recognized as a thing category.
Changed, Visplane Explorer: the plugin now outputs more info when it fails to initialize vpo.dll.
Cosmetic, Thing Edit window, Doom/Hexen map format: adjusted UI layout so thing flags control no longer displays scrollbars in Hexen map format.
Internal: merged methods from UDMFTools into UniFields, removed UDMFTools.
Updated Inno Setup script (added VC++ 2008 SP1 distributive).
Updated ZDoom_DECORATE.cfg (A_CheckBlock).
Updated documentation (added "System Requirements" page).
2015-10-09 12:38:12 +00:00
CBF_NOLINES;
CBF_SETTARGET;
CBF_SETMASTER;
CBF_SETTRACER;
CBF_SETONPTR;
2016-02-02 12:35:10 +00:00
CBF_DROPOFF;
2014-11-05 14:31:00 +00:00
CHF_DONTMOVE;
2014-09-29 09:52:36 +00:00
CHF_FASTCHASE;
CHF_NIGHTMAREFAST;
2014-11-05 14:31:00 +00:00
CHF_NOPLAYACTIVE;
2014-09-29 09:52:36 +00:00
CHF_RESURRECT;
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;
2014-12-30 20:14:53 +00:00
CLOFF_SETTARGET;
CLOFF_SETMASTER;
CLOFF_SETTRACER;
2014-09-29 09:52:36 +00:00
CLOFF_SKIPENEMY;
CLOFF_SKIPFRIEND;
CLOFF_SKIPNONHOSTILE;
CLOFF_SKIPOBJECT;
CLOFF_SKIPOBSTACLES;
CLOFF_SKIPTARGET;
2014-11-05 14:31:00 +00:00
CMF_ABSOLUTEANGLE;
CMF_ABSOLUTEPITCH;
CMF_AIMDIRECTION;
CMF_AIMOFFSET;
CMF_CHECKTARGETDEAD;
CMF_OFFSETPITCH;
CMF_SAVEPITCH;
CMF_TRACKOWNER;
CVF_RELATIVE;
CVF_REPLACE;
2014-09-29 09:52:36 +00:00
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;
2015-01-10 11:45:25 +00:00
DMSS_NOPROTECT;
DMSS_EXFILTER;
DMSS_EXSPECIES;
DMSS_EITHER;
2016-01-28 09:34:08 +00:00
FMDF_NOPITCH;
FMDF_NOANGLE;
FMDF_INTERPOLATE;
2014-09-29 09:52:36 +00:00
FPF_AIMATANGLE;
FPF_TRANSFERTRANSLATION;
2015-09-16 12:10:43 +00:00
FPF_NOAUTOAIM;
2014-12-05 14:33:31 +00:00
FTF_CLAMP;
FTF_REMOVE;
2014-11-05 14:31:00 +00:00
GFF_NOEXTCHANGE;
JLOSF_ALLYNOJUMP;
JLOSF_CHECKMASTER;
JLOSF_CHECKTRACER;
2014-09-29 09:52:36 +00:00
JLOSF_CLOSENOFOV;
JLOSF_CLOSENOJUMP;
2014-11-05 14:31:00 +00:00
JLOSF_CLOSENOSIGHT;
JLOSF_COMBATANTONLY;
2014-09-29 09:52:36 +00:00
JLOSF_DEADNOJUMP;
2014-10-28 09:31:37 +00:00
JLOSF_FLIPFOV;
JLOSF_NOAUTOAIM;
2014-11-05 14:31:00 +00:00
JLOSF_NOSIGHT;
JLOSF_PROJECTILE;
JLOSF_TARGETLOS;
2014-10-28 09:31:37 +00:00
KILS_FOILBUDDHA;
2014-09-29 09:52:36 +00:00
KILS_FOILINVUL;
KILS_KILLMISSILES;
KILS_NOMONSTERS;
2015-01-11 19:42:57 +00:00
KILS_EXFILTER;
KILS_EXSPECIES;
KILS_EITHER;
2014-11-05 14:31:00 +00:00
LOF_DONTCHASEGOAL;
LOF_FULLVOLSEESOUND;
LOF_NOJUMP;
LOF_NOSEESOUND;
LOF_NOSIGHTCHECK;
LOF_NOSOUNDCHECK;
2014-09-29 09:52:36 +00:00
PTROP_NOSAFEGUARDS;
2014-11-05 14:31:00 +00:00
PTROP_UNSAFEMASTER;
PTROP_UNSAFETARGET;
RGF_CENTERZ;
RGF_CORPSES;
RGF_CUBE;
2015-07-26 23:18:13 +00:00
RGF_EXFILTER;
2014-11-05 14:31:00 +00:00
RGF_EXPLICITANGLE;
2015-07-26 23:18:13 +00:00
RGF_EXSPECIES;
2014-11-05 14:31:00 +00:00
RGF_FULLBRIGHT;
RGF_GIVESELF;
2015-07-26 23:18:13 +00:00
RGF_INCLUSIVE;
RGF_ITEMS;
RGF_KILLED;
2014-11-05 14:31:00 +00:00
RGF_MISSILES;
RGF_MONSTERS;
RGF_NOMASTER;
RGF_NOPIERCING;
RGF_NOSIGHT;
RGF_NOTARGET;
RGF_NOTRACER;
RGF_OBJECTS;
RGF_PLAYERS;
RGF_SILENT;
RGF_VOODOO;
RMVF_EVERYTHING;
RMVF_MISC;
2014-09-29 09:52:36 +00:00
RMVF_MISSILES;
RMVF_NOMONSTERS;
2015-01-11 19:42:57 +00:00
RMVF_EXFILTER;
RMVF_EXSPECIES;
RMVF_EITHER;
2014-11-05 14:31:00 +00:00
RSF_FOG;
RSF_KEEPTARGET;
RSF_TELEFRAG;
RTF_AFFECTSOURCE;
RTF_NOIMPACTDAMAGE;
RTF_NOTMISSILE;
2014-09-29 09:52:36 +00:00
SF_NOPULLIN;
SF_NORANDOM;
SF_NOTURN;
SF_NOUSEAMMO;
SF_NOUSEAMMOMISS;
SF_RANDOMLIGHTBOTH;
SF_RANDOMLIGHTHIT;
SF_RANDOMLIGHTMISS;
2015-01-03 18:43:37 +00:00
SF_STEALARMOR;
2014-11-05 14:31:00 +00:00
SMF_CURSPEED;
SMF_LOOK;
SMF_PRECISE;
SPF_FORCECLAMP;
SPF_INTERPOLATE;
TF_TELEFRAG;
2014-12-23 12:32:08 +00:00
TF_RANDOMDECIDE;
TF_FORCED;
TF_KEEPVELOCITY;
TF_KEEPANGLE;
TF_USESPOTZ;
TF_NOSRCFOG;
TF_NODESTFOG;
2015-05-27 15:25:20 +00:00
TF_NOFOG;
2014-12-23 12:32:08 +00:00
TF_USEACTORFOG;
TF_NOJUMP;
2015-05-27 15:25:20 +00:00
TF_OVERRIDE;
Fixed, Visual mode: in some cases ceiling glow effect was interfering with Transfer Brightness effect resulting in incorrectly lit sidedef geometry.
Fixed, Visual mode: UDMF sidedef brightness should be ignored when a wall section is affected by Transfer Brightness effect.
Fixed, Visual mode: any custom fog should be rendered regardless of sector brightness.
Fixed, Visual mode: "fogdensity" and "outsidefogdensity" MAPINFO values were processed incorrectly.
Fixed, Visual mode: in some cases Things were rendered twice during a render pass.
Fixed, Visual mode: floor glow effect should affect thing brightness only when applied to floor of the sector thing is in.
Fixed, TEXTURES parser: TEXTURES group was named incorrectly in the Textures Browser window when parsed from a WAD file.
Fixed, MAPINFO, GLDEFS, DECORATE parsers: "//$GZDB_SKIP" special comment was processed incorrectly.
Fixed, MAPINFO parser: "fogdensity" and "outsidefogdensity" properties are now initialized using GZDoom default value (255) instead of 0.
2016-01-25 13:42:53 +00:00
TF_SENSITIVEZ;
2014-11-05 14:31:00 +00:00
TIF_NOTAKEINFINITE;
VAF_DMGTYPEAPPLYTODIRECT;
WARPF_ABSOLUTEOFFSET;
2015-08-20 14:09:28 +00:00
WARPF_ABSOLUTEANGLE;
WARPF_USECALLERANGLE;
2014-09-29 09:52:36 +00:00
WARPF_NOCHECKPOSITION;
2015-08-20 14:09:28 +00:00
WARPF_INTERPOLATE;
WARPF_WARPINTERPOLATION;
WARPF_COPYINTERPOLATION;
2014-09-29 09:52:36 +00:00
WARPF_STOP;
2014-11-05 14:31:00 +00:00
WARPF_TOFLOOR;
2015-08-20 14:09:28 +00:00
WARPF_TESTONLY;
WAPRF_ABSOLUTEPOSITION;
WARPF_BOB;
WARPF_MOVEPTR;
WARPF_USETID;
2015-10-26 11:58:33 +00:00
WARPF_COPYVELOCITY;
WARPF_COPYPITCH;
2014-11-05 14:31:00 +00:00
XF_HURTSOURCE;
XF_NOTMISSILE;
2015-01-19 19:53:58 +00:00
//////////////////////////
//Property-specific flags
//////////////////////////
//Activation flags
THINGSPEC_Default;
THINGSPEC_ThingActs;
THINGSPEC_TriggerActs;
THINGSPEC_ThingTargets;
THINGSPEC_TriggerTargets;
THINGSPEC_MonsterTrigger;
THINGSPEC_MissileTrigger;
THINGSPEC_ClearSpecial;
THINGSPEC_NoDeathSpecial;
THINGSPEC_Activate;
THINGSPEC_Deactivate;
THINGSPEC_Switch;
//MorphProjectile.MorphStyle flags
MRF_ADDSTAMINA;
MRF_FULLHEALTH;
MRF_UNDOBYTOMEOFPOWER;
MRF_UNDOBYCHAOSDEVICE;
MRF_FAILNOTELEFRAG;
MRF_FAILNOLAUGH;
MRF_WHENINVULNERABLE;
MRF_LOSEACTUALWEAPON;
MRF_NEWTIDBEHAVIOUR;
MRF_UNDOBYDEATH;
MRF_UNDOBYDEATHFORCED;
MRF_UNDOBYDEATHSAVES;
2015-05-11 20:17:50 +00:00
MRF_UNDOALWAYS;
2015-12-07 21:57:59 +00:00
//A_CheckProximity flags
CPXF_ANCESTOR;
CPXF_NOZ;
CPXF_COUNTDEAD;
CPXF_DEADONLY;
CPXF_LESSOREQUAL;
CPXF_EXACT;
2016-01-27 14:08:15 +00:00
CPXF_CHECKSIGHT;
CPXF_SETTARGET;
CPXF_SETMASTER;
CPXF_SETTRACER;
CPXF_FARTHEST;
CPXF_CLOSEST;
CPXF_SETONPTR;
2015-02-12 22:04:49 +00:00
//A_FaceTraget/Master/Tracer flags
FAF_BOTTOM;
FAF_MIDDLE;
FAF_TOP;
2015-02-19 20:50:03 +00:00
//A_QuakeEx flags
QF_RELATIVE;
2015-02-22 21:07:43 +00:00
QF_SCALEDOWN;
QF_SCALEUP;
2015-03-04 20:05:54 +00:00
QF_WAVE;
2015-02-22 21:07:43 +00:00
QF_MAX;
QF_FULLINTENSITY;
2012-07-12 22:34:12 +00:00
}