2010-08-21 09:46:16 +00:00
/*******************************************************************\
Doom Builder Script highlighting definitions for ACS
\*******************************************************************/
// Compiler settings
2010-08-24 19:55:44 +00:00
compiler = "hexen_acc";
2010-08-21 09:46:16 +00:00
parameters = "-H -I \"%PT\" -I \"%PS\" %FI %FO";
resultlump = "BEHAVIOR";
// Editor settings
description = "Hexen ACS script";
codepage = 0;
extensions = "acs";
casesensitive = false;
insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
2014-05-13 09:43:58 +00:00
snippetsdir = "acs";
2014-07-11 10:13:26 +00:00
scripttype = 1; //0 = unknown script, 1 = acc, 2 = modeldef, 3 = decorate
2010-08-21 09:46:16 +00:00
keywords
{
#Define = "#Define identifier expression";
#Import = "#Import";
#Include = "#Include";
#Library = "#Library";
#LibDefine = "#LibDefine identifier expression";
ACS_Execute = "ACS_Execute(script, map, arg1, arg2, arg3)";
ACS_LockedExecute = "ACS_LockedExecute(script, map, arg1, arg2, lock)";
ACS_Suspend = "ACS_Suspend(script, map)";
ACS_Terminate = "ACS_Terminate(script, map)";
ActivatorSound = "ActivatorSound(name, volume)";
ActivatorTID = "ActivatorTID()";
Bool = "Bool expression";
Break = "Break";
Return = "Return";
Case = "Case expression:";
Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush)";
Ceiling_CrushRaiseAndStay = "Ceiling_CrushRaiseAndStay(tag, speed, crush)";
Ceiling_CrushStop = "Ceiling_CrushStop(tag)";
Ceiling_LowerAndCrush = "Ceiling_LowerAndCrush(tag, speed, crush)";
Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
2015-10-23 12:01:27 +00:00
ChangeCeiling = "void ChangeCeiling(int tag, str flatname)";
ChangeFloor = "void ChangeFloor(int tag, str flatname)";
ClearLineSpecial = "void ClearLineSpecial(void)\nClears the special of the line that activated the script.";
2010-08-21 09:46:16 +00:00
Const = "Const";
Continue = "Continue";
DamageThing = "DamageThing(amount)";
Death = "Script expression Death";
Default = "Default:";
2015-10-23 12:01:27 +00:00
Delay = "void Delay(int tics)";
2010-08-21 09:46:16 +00:00
Disconnect = "Script expression Disconnect";
Do = "Do";
Door_Close = "Door_Close(tag, speed)";
Door_LockedRaise = "Door_LockedRaise(tag, speed, delay, lock)";
Door_Open = "Door_Open(tag, speed)";
Door_Raise = "Door_Raise(tag, speed, delay)";
Else = "Else";
Enter = "Script expression Enter";
Floor_CrushStop = "Floor_CrushStop(tag)";
Floor_LowerByValue = "Floor_LowerByValue(tag, speed, height)";
Floor_LowerByValueTimes8 = "Floor_LowerByValueTimes8(tag, speed, height)";
Floor_LowerInstant = "Floor_LowerInstant(tag, arg1, height)";
Floor_LowerToLowest = "Floor_LowerToLowest(tag, speed)";
Floor_LowerToNearest = "Floor_LowerToNearest(tag, speed)";
Floor_MoveToValueTimes8 = "Floor_MoveToValueTimes8(tag, speed, height, neg)";
Floor_RaiseAndCrush = "Floor_RaiseAndCrush(tag, speed, crush)";
Floor_RaiseByValue = "Floor_RaiseByValue(tag, speed, height)";
Floor_RaiseByValueTimes8 = "Floor_RaiseByValueTimes8(tag, speed, height)";
Floor_RaiseInstant = "Floor_RaiseInstant(tag, arg1, height)";
Floor_RaiseToHighest = "Floor_RaiseToHighest(tag, speed)";
Floor_RaiseToNearest = "Floor_RaiseToNearest(tag, speed)";
Floor_Waggle = "Floor_Waggle(tag, amp, freq, offset, time)";
FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
For = "For(initialization, condition, iteration)";
Function = "Function Void expression (Void)";
2015-10-23 12:01:27 +00:00
GameSkill = "int GameSkill(void)";
GameType = "int GameType(void)";
If = "if(expression)";
Int = "int expression";
2010-08-21 09:46:16 +00:00
Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
Light_Fade = "Light_Fade(tag, value, tics)";
Light_Flicker = "Light_Flicker(tag, upper, lower)";
Light_ForceLightning = "Light_ForceLightning()";
Light_Glow = "Light_Glow(tag, upper, lower, tics)";
Light_LowerByValue = "Light_LowerByValue(tag, value)";
Light_RaiseByValue = "Light_RaiseByValue(tag, value)";
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
2015-10-23 12:01:27 +00:00
LineSide = "int LineSide(void)";
Open = "Script expression Open";
2010-08-21 09:46:16 +00:00
Pillar_Build = "Pillar_Build(tag, speed, height)";
Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
Plat_DownByValue = "Plat_DownByValue(tag, speed, delay, height)";
Plat_DownWaitUpStay = "Plat_DownWaitUpStay(tag, speed, delay)";
Plat_PerpetualRaise = "Plat_PerpetualRaise(tag, speed, delay)";
Plat_Stop = "Plat_Stop(tag)";
Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
2015-10-23 12:01:27 +00:00
PlayerCount = "int PlayerCount(void)\nReturns the number of players currently in the game";
2010-08-21 09:46:16 +00:00
Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
Polyobj_Move = "Polyobj_Move(po, speed, angle, dist)";
Polyobj_MoveTimes8 = "Polyobj_MoveTimes8(po, speed, angle, dist)";
Polyobj_OR_Move = "Polyobj_OR_Move(po, speed, angle, distance)";
Polyobj_OR_MoveTimes8 = "Polyobj_OR_MoveTimes8(po, speed, angle, distance)";
Polyobj_OR_RotateLeft = "Polyobj_OR_RotateLeft(po, speed)";
Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
2015-10-23 12:01:27 +00:00
PolyWait = "void PolyWait(int polyid)";
Print = "void Print(type:expression)\nPrint will print something to the screen.\nPrint will only display for the activator of the script\nFor printing to all players, use PrintBold.";
PrintBold = "void PrintBold(type:expression)\nThis is exactly the same as Print, except all players will see the printed text\non the screen instead of just the activator of the script.";
2010-08-21 09:46:16 +00:00
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
2015-10-23 12:01:27 +00:00
Random = "int Random(int min, int max)";
Restart = "Restart";
Script = "Script expression";
ScriptWait = "void ScriptWait(int script)";
2010-08-21 09:46:16 +00:00
Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
2015-10-23 12:01:27 +00:00
SectorSound = "void SectorSound(str sound, int volume)";
SetLineBlocking = "void SetLineBlocking(int lineid, int blocking)";
SetLineSpecial = "void SetLineSpecial(int lineid, int special[, int arg0[, int arg1[, int arg2[, int arg3[, int arg4]]]]])\nSetLineSpecial will change the special on all lines with the line id number specified.";
SetLineTexture = "void SetLineTexture(int lineid, int line_side, int sidedef_texture, str texturename)\nSetLineTexture will change the specified texture on all lines with the line id number specified\nline_side: SIDE_ flags can be used.\nsidedef_texture: TEXTURE_ flags can be used.\ntexturename: the texture that will be set on the line. Use '-' to remove a texture.";
SoundSequence = "void SoundSequence(str sndseq)\nPlays a sound sequence defined in SNDSEQ lump.";
Special = "Special";
2010-08-21 09:46:16 +00:00
Stairs_BuildDown = "Stairs_BuildDown(tag, speed, height, delay, reset)";
Stairs_BuildDownSync = "Stairs_BuildDownSync(tag, speed, height, reset)";
Stairs_BuildUp = "Stairs_BuildUp(tag, speed, height, delay, reset)";
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
2015-10-23 12:01:27 +00:00
str = "str expression";
Suspend = "Suspend";
Switch = "Switch(expression)";
TagWait = "void TagWait(int tag)";
2010-08-21 09:46:16 +00:00
Teleport = "Teleport(tid, tag, nosourcefog)";
Teleport_NewMap = "Teleport_NewMap(map, pos)";
Teleport_NoFog = "Teleport_NoFog(tid)";
2015-10-23 12:01:27 +00:00
Terminate = "Terminate";
2010-08-21 09:46:16 +00:00
Thing_Activate = "Thing_Activate(tid)";
Thing_Deactivate = "Thing_Deactivate(tid)";
Thing_Destroy = "Thing_Destroy(tid, extreme)";
Thing_Projectile = "Thing_Projectile(tid, type, angle, speed, vspeed)";
Thing_ProjectileGravity = "Thing_ProjectileGravity(tid, type, angle, speed, vspeed)";
Thing_Remove = "Thing_Remove(tid)";
Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
2015-10-23 12:01:27 +00:00
ThingCount = "int ThingCount(int type, int tid)";
2010-08-21 09:46:16 +00:00
ThrustThing = "ThrustThing(angle, force, limit, tid)";
2015-10-23 12:01:27 +00:00
Timer = "int Timer(void)";
2010-08-21 09:46:16 +00:00
Unloading = "Script expression Unloading";
2015-10-23 12:01:27 +00:00
Until = "Until(expression)";
2010-08-21 09:46:16 +00:00
Void = "Void";
While = "While(expression)";
World = "World Int expression:identifier";
}
constants
{
TRUE;
FALSE;
ON;
OFF;
YES;
NO;
LINE_FRONT;
2010-08-24 19:55:44 +00:00
LINE_BACK;
2010-08-21 09:46:16 +00:00
SIDE_FRONT;
2010-08-24 19:55:44 +00:00
SIDE_BACK;
TEXTURE_TOP;
TEXTURE_MIDDLE;
TEXTURE_BOTTOM;
GAME_SINGLE_PLAYER;
GAME_NET_COOPERATIVE;
GAME_NET_DEATHMATCH;
CLASS_FIGHTER;
CLASS_CLERIC;
CLASS_MAGE;
SKILL_VERY_EASY;
2010-08-21 09:46:16 +00:00
SKILL_EASY;
SKILL_NORMAL;
2010-08-24 19:55:44 +00:00
SKILL_HARD;
2010-08-21 09:46:16 +00:00
SKILL_VERY_HARD;
2010-08-24 19:55:44 +00:00
T_NONE;
2010-08-21 09:46:16 +00:00
T_CENTAUR;
T_CENTAURLEADER;
T_DEMON;
T_ETTIN;
T_FIREGARGOYLE;
2010-08-24 19:55:44 +00:00
T_WATERLURKER;
T_WATERLURKERLEADER;
T_WRAITH;
T_WRAITHBURIED;
T_FIREBALL1;
T_MANA1;
T_MANA2;
2010-08-21 09:46:16 +00:00
T_ITEMBOOTS;
T_ITEMEGG;
T_ITEMFLIGHT;
T_ITEMSUMMON;
T_ITEMTPORTOTHER;
2010-08-24 19:55:44 +00:00
T_ITEMTELEPORT;
T_BISHOP;
T_ICEGOLEM;
T_BRIDGE;
T_DRAGONSKINBRACERS;
T_ITEMHEALTHPOTION;
T_ITEMHEALTHFLASK;
T_ITEMHEALTHFULL;
T_ITEMBOOSTMANA;
T_FIGHTERAXE;
T_FIGHTERHAMMER;
T_FIGHTERSWORD1;
T_FIGHTERSWORD2;
T_FIGHTERSWORD3;
T_CLERICSTAFF;
T_CLERICHOLY1;
T_CLERICHOLY2;
T_CLERICHOLY3;
2010-08-21 09:46:16 +00:00
T_MAGESHARDS;
T_MAGESTAFF1;
T_MAGESTAFF2;
T_MAGESTAFF3;
T_MORPHBLAST;
T_ROCK1;
T_ROCK2;
T_ROCK3;
2010-08-24 19:55:44 +00:00
T_DIRT1;
T_DIRT2;
T_DIRT3;
T_DIRT4;
T_DIRT5;
T_DIRT6;
T_ARROW;
T_DART;
T_POISONDART;
T_RIPPERBALL;
2010-08-21 09:46:16 +00:00
T_STAINEDGLASS1;
T_STAINEDGLASS2;
T_STAINEDGLASS3;
T_STAINEDGLASS4;
T_STAINEDGLASS5;
T_STAINEDGLASS6;
T_STAINEDGLASS7;
T_STAINEDGLASS8;
T_STAINEDGLASS9;
2010-08-24 19:55:44 +00:00
T_STAINEDGLASS0;
T_BLADE;
T_ICESHARD;
T_FLAME_SMALL;
T_FLAME_LARGE;
T_MESHARMOR;
T_FALCONSHIELD;
T_PLATINUMHELM;
T_AMULETOFWARDING;
T_ITEMFLECHETTE;
T_ITEMTORCH;
T_ITEMREPULSION;
T_MANA3;
T_PUZZSKULL;
T_PUZZGEMBIG;
T_PUZZGEMRED;
T_PUZZGEMGREEN1;
T_PUZZGEMGREEN2;
T_PUZZGEMBLUE1;
T_PUZZGEMBLUE2;
T_PUZZBOOK1;
T_PUZZBOOK2;
T_METALKEY;
T_SMALLMETALKEY;
T_AXEKEY;
T_FIREKEY;
T_GREENKEY;
T_MACEKEY;
T_SILVERKEY;
T_RUSTYKEY;
T_HORNKEY;
T_SERPENTKEY;
T_WATERDRIP;
2010-08-21 09:46:16 +00:00
T_TEMPSMALLFLAME;
2010-08-24 19:55:44 +00:00
T_PERMSMALLFLAME;
T_TEMPLARGEFLAME;
T_PERMLARGEFLAME;
T_DEMON_MASH;
T_DEMON2_MASH;
T_ETTIN_MASH;
T_CENTAUR_MASH;
2010-08-21 09:46:16 +00:00
T_THRUSTSPIKEUP;
2010-08-24 19:55:44 +00:00
T_THRUSTSPIKEDOWN;
T_FLESH_DRIP1;
T_FLESH_DRIP2;
T_SPARK_DRIP;
2010-08-21 09:46:16 +00:00
}