diff --git a/Build/Compilers/ZDoom/zdefs.acs b/Build/Compilers/ZDoom/zdefs.acs
index 80f0db713f19c0bd20e5de254b77a3182341e86b..d92504322f2e606b2e776462ca55ce30a5de1333 100644
--- a/Build/Compilers/ZDoom/zdefs.acs
+++ b/Build/Compilers/ZDoom/zdefs.acs
@@ -217,6 +217,9 @@
 // OR this with one of the above to use the extra alpha parameter
 #define HUDMSG_ALPHA				0x10000000
 
+// Or this with one of the above to not wrap lines
+#define HUDMSG_NOWRAP				0x08000000
+
 // HUD message layers; these are not flags
 #define HUDMSG_LAYER_OVERHUD		0x00000000
 #define HUDMSG_LAYER_UNDERHUD		0x00001000
@@ -280,6 +283,10 @@
 #define APROP_Mass			32
 #define APROP_Accuracy      33
 #define APROP_Stamina       34
+#define APROP_Height		35
+#define APROP_Radius		36
+#define APROP_Reactiontime	37
+#define APROP_MeleeRange	38
 
 // Render Styles ------------------------------------------------------------
 
@@ -669,6 +676,28 @@
 #define SECSEQ_FULLHEIGHT		3
 #define SECSEQ_INTERIOR			4
 
+// Channels for PlaySound and StopSound
+
+#define CHAN_AUTO				0
+#define CHAN_WEAPON				1
+#define CHAN_VOICE				2
+#define CHAN_ITEM				3
+#define CHAN_BODY				4
+
+// Modifier flags for PlaySound
+
+#define CHAN_LISTENERZ			8
+#define CHAN_MAYBE_LOCAL		16
+#define CHAN_UI					32
+#define CHAN_NOPAUSE			64
+
+// Standard attenuation values for PlaySound
+
+#define ATTN_NONE				0		// full volume the entire level
+#define ATTN_NORM				1.0
+#define ATTN_IDLE				1.001
+#define ATTN_STATIC				3.0		// dimish very rapidly with distance
+
 // Actor pointer selectors
 
 #DEFINE	AAPTR_DEFAULT 0
@@ -706,6 +735,26 @@
 #define TEAM_RED				1
 #define NO_TEAM					2
 
+// Team properties ----------------------------------------------------------
+#define TPROP_Name				0
+#define TPROP_Score				1
+#define TPROP_IsValid			2
+#define TPROP_NumPlayers		3
+#define TPROP_NumLivePlayers	4
+#define TPROP_TextColor			5
+#define TPROP_PlayerStartNum	6
+#define TPROP_Spread			7
+#define TPROP_Carrier			8
+#define TPROP_Assister			9
+#define TPROP_FragCount			10
+#define TPROP_DeathCount		11
+#define TPROP_WinCount			12
+#define TPROP_PointCount		13
+#define TPROP_ReturnTics		14
+#define TPROP_TeamItem			15
+#define TPROP_WinnerTheme		16
+#define TPROP_LoserTheme		17
+
 // Skulltag Invasion --------------------------------------------------------
 #define IS_WAITINGFORPLAYERS	0
 #define IS_FIRSTCOUNTDOWN		1
@@ -843,6 +892,7 @@
 #define CHANGELEVEL_CHANGESKILL 8
 #define CHANGELEVEL_NOINTERMISSION 16
 #define CHANGELEVEL_RESETHEALTH	32
+#define CHANGELEVEL_PRERAISEWEAPON 64
 
 #define NO_CHANGE 32767.0
 
diff --git a/Build/Compilers/ZDoom/zspecial.acs b/Build/Compilers/ZDoom/zspecial.acs
index 0dccd1c9a3a94bc843c68492b2ce80a30b06ce44..7518d444e6f7807d6ba0d23b9c1c3ccc3c56f320 100644
--- a/Build/Compilers/ZDoom/zspecial.acs
+++ b/Build/Compilers/ZDoom/zspecial.acs
@@ -103,7 +103,7 @@ special
 	 96:FloorAndCeiling_RaiseByValue(3),
 	 97:Ceiling_LowerAndCrushDist(3,5),
 	 98:Sector_SetTranslucent(3,4),
-
+	 99:Floor_RaiseAndCrushDoom(3,4),
 //	100:Scroll_Texture_Left
 //	101:Scroll_Texture_Right
 //	102:Scroll_Texture_Up
@@ -148,10 +148,10 @@ special
 	154:Teleport_NoStop(2, 3),
 
 	157:SetGlobalFogParameter(2),		// GZDoom only!
-	158:FS_Execute(1,4),				// GZDoom only!
+	158:FS_Execute(1,4),
 	159:Sector_SetPlaneReflection(3),	// GZDoom only!
-//	160:Sector_Set3DFloor				// GZDoom/Vavoom
-//	161:Sector_SetContents				// Vavoom
+//	160:Sector_Set3DFloor
+//	161:Sector_SetContents
 	
 	168:Ceiling_CrushAndRaiseDist(3,5),
 	169:Generic_Crusher2(5),
@@ -285,13 +285,48 @@ special
 	-41:ACS_NamedTerminate(2),
 	-42:ACS_NamedLockedExecute(5),
 	-43:ACS_NamedLockedExecuteDoor(5),
-	-44:ACS_NamedExecuteWithResult(1,4),
+	-44:ACS_NamedExecuteWithResult(1,5),
 	-45:ACS_NamedExecuteAlways(2,5),
 	-46:UniqueTID(0,2),
 	-47:IsTIDUsed(1),
 	-48:Sqrt(1),
 	-49:FixedSqrt(1),
 	-50:VectorLength(2),
-
-	-1000:__EndOfList__(10);
+	-51:SetHUDClipRect(4,5),
+	-52:SetHUDWrapWidth(1),
+	-53:SetCVar(2),
+	-54:GetUserCVar(2),
+	-55:SetUserCVar(3),
+	-56:GetCVarString(1),
+	-57:SetCVarString(2),
+	-58:GetUserCVarString(2),
+	-59:SetUserCVarString(3),
+	-60:LineAttack(3,6),
+	-61:PlaySound(2,6),
+	-62:StopSound(1,2),
+	-63:strcmp(2,3),
+	-64:stricmp(2,3),
+	-64:strcasecmp(2,3),	// an alias for stricmp
+	-65:StrLeft(2),
+	-66:StrRight(2),
+	-67:StrMid(3),
+	-68:GetActorClass(1),
+	-69:GetWeapon(0),
+	-70:SoundVolume(3),
+	-71:PlayActorSound(2,6),
+	
+	// Zandronum's
+	-100:ResetMap(0),
+	-101:PlayerIsSpectator(1),
+	-102:ConsolePlayerNumber(0),
+	-103:GetTeamProperty(2),
+	-104:GetPlayerLivesLeft(1),
+	-105:SetPlayerLivesLeft(2),
+	-106:KickFromGame(2),
+	
+	// ZDaemon's
+	-19260:GetTeamScore(1),
+	-19261:SetTeamScore(2),
+	
+	-100000:__EndOfList__(10);
 	
diff --git a/Build/Scripting/ZDoom_ACS.cfg b/Build/Scripting/ZDoom_ACS.cfg
index 67bacba260cef643a0cfd4df484fd141b92f59b4..045fbf2365ab197b109a36929ebadae3144175be 100644
--- a/Build/Scripting/ZDoom_ACS.cfg
+++ b/Build/Scripting/ZDoom_ACS.cfg
@@ -26,48 +26,54 @@ keywords
 	#EncryptStrings = "#EncryptStrings";
 	#Import = "#Import";
 	#Include = "#Include";
-	#Library = "#Library";
 	#LibDefine = "#LibDefine identifier expression";
+	#Library = "#Library";
 	#NoCompact = "#NoCompact";
 	#NoWadAuthor = "#NoWadAuthor";
 	#WadAuthor = "#WadAuthor";
 	ACS_Execute = "ACS_Execute(script, map, arg1, arg2, arg3)";
 	ACS_ExecuteAlways = "ACS_ExecuteAlways(script, map, arg1, arg2, arg3)";
-	ACS_ExecuteWait = "ACS_ExecuteWait(script, map, arg1, arg2, arg3)";
-	ACS_ExecuteWithResult = "ACS_ExecuteWithResult(script, s_arg1, s_arg2, s_arg3, s_arg4)";
+	ACS_ExecuteWait = "ACS_ExecuteWait(script, unused, arg1, arg2, arg3)";
+	ACS_ExecuteWithResult = "ACS_ExecuteWithResult(script, arg1, arg2, arg3)";
 	ACS_LockedExecute = "ACS_LockedExecute(script, map, arg1, arg2, lock)";
 	ACS_LockedExecuteDoor = "ACS_LockedExecuteDoor(script, map, arg1, arg2, lock)";
-	ACS_Suspend = "ACS_Suspend(script, map)";
-	ACS_Terminate = "ACS_Terminate(script, map)";
-	ACS_NamedExecute = "ACS_NamedExecute(string script, int map, [int s_arg1, [int s_arg2, [int s_arg3]]])";
+	ACS_NamedExecute = "ACS_NamedExecute(script, map, arg1, arg2, arg3)";
+	ACS_NamedExecuteAlways = "ACS_NamedExecuteAlways(script, map, arg1, arg2, arg3)";
+	ACS_NamedExecuteWait = "ACS_NamedExecuteWait(script, unused, arg1, arg2, arg3)";
+	ACS_NamedExecuteWithResult = "ACS_NamedExecuteWithResult(script, arg1, arg2, arg3)";
+	ACS_NamedLockedExecute = "ACS_NamedLockedExecute(script, map, arg1, arg2, lock)";
+	ACS_NamedLockedExecuteDoor = "ACS_NamedLockedExecuteDoor(script, map, arg1, arg2, lock)";
 	ACS_NamedSuspend = "ACS_NamedSuspend(script, map)";
 	ACS_NamedTerminate = "ACS_NamedTerminate(script, map)";
-	ACS_NamedLockedExecute = "ACS_NamedLockedExecute(script, map, arg1, arg2, lock)";
-	ACS_NamedLockedExecuteDoor = "ACS_LockedExecuteDoor(script, map, arg1, arg2, lock)";
-	ACS_NamedExecuteWithResult = "ACS_ExecuteWithResult(script, s_arg1, s_arg2, s_arg3, s_arg4)";
-	ACS_NamedExecuteAlways = "ACS_ExecuteAlways(script, map, arg1, arg2, arg3)";
-	ActivatorSound = "ActivatorSound(name, volume)";
+	ACS_Suspend = "ACS_Suspend(script, map)";
+	ACS_Terminate = "ACS_Terminate(script, map)";
+	ActivatorSound = "ActivatorSound(sound, volume)";
 	ActivatorTID = "ActivatorTID()";
-	AmbientSound = "AmbientSound(name, volume)";
+	AmbientSound = "AmbientSound(sound, volume)";
+	AnnouncerSound = "AnnouncerSound(sound, flags)";
 	Autosave = "Autosave()";
+	BlueCount = "BlueCount()";
+	BlueReturn = "Script expression BlueReturn";
+	BlueScore = "BlueScore()";
+	BlueTeamCount = "BlueTeamCount()";
+	BlueTeamScore = "BlueTeamScore()";
 	Bool = "Bool expression";
 	Break = "Break";
-	Return = "Return";
 	CancelFade = "CancelFade()";
 	Case = "Case expression:";
-	CheckSight = "CheckSight(source, dest, flags)";
-	Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush)";
-	Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush)";
-	Ceiling_CrushAndRaiseSilentA = "Ceiling_CrushAndRaiseSilentA(tag, dspeed, uspeed, crush)";
-	Ceiling_CrushRaiseAndStay = "Ceiling_CrushRaiseAndStay(tag, speed, crush)";
-	Ceiling_CrushRaiseAndStayA = "Ceiling_CrushRaiseAndStayA(tag, dspeed, uspeed, crush)";
-	Ceiling_CrushRaiseAndStaySilA = "Ceiling_CrushRaiseAndStaySilA(tag, dspeed, uspeed, crush)";
+	Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush, crushmode)";
+	Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush, crushmode)";
+	Ceiling_CrushAndRaiseDist = "Ceiling_CrushAndRaiseDist(tag, dist, speed, damage, crushmode)";
+	Ceiling_CrushAndRaiseSilentA = "Ceiling_CrushAndRaiseSilentA(tag, dspeed, uspeed, crush, crushmode)";
+	Ceiling_CrushRaiseAndStay = "Ceiling_CrushRaiseAndStay(tag, speed, crush, crushmode)";
+	Ceiling_CrushRaiseAndStayA = "Ceiling_CrushRaiseAndStayA(tag, dspeed, uspeed, crush, crushmode)";
+	Ceiling_CrushRaiseAndStaySilA = "Ceiling_CrushRaiseAndStaySilA(tag, dspeed, uspeed, crush, crushmode)";
 	Ceiling_CrushStop = "Ceiling_CrushStop(tag)";
-	Ceiling_LowerAndCrush = "Ceiling_LowerAndCrush(tag, speed, crush)";
-	Ceiling_LowerAndCrushDist = "Ceiling_LowerAndCrushDist(tag, speed, crush[, dist [, crushmode]])";
+	Ceiling_LowerAndCrush = "Ceiling_LowerAndCrush(tag, speed, crush, crushmode)";
+	Ceiling_LowerAndCrushDist = "Ceiling_LowerAndCrushDist(tag, speed, crush, dist, crushmode)";
 	Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
 	Ceiling_LowerByValueTimes8 = "Ceiling_LowerByValueTimes8(tag, speed, height)";
-	Ceiling_LowerInstant = "Ceiling_LowerInstant(tag, arg1, height)";
+	Ceiling_LowerInstant = "Ceiling_LowerInstant(tag, unused, height)";
 	Ceiling_LowerToFloor = "Ceiling_LowerToFloor(tag, speed)";
 	Ceiling_LowerToHighestFloor = "Ceiling_LowerToHighestFloor(tag, speed)";
 	Ceiling_LowerToLowest = "Ceiling_LowerToLowest(tag, speed)";
@@ -75,7 +81,7 @@ keywords
 	Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
 	Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
 	Ceiling_RaiseByValueTimes8 = "Ceiling_RaiseByValueTimes8(tag, speed, height)";
-	Ceiling_RaiseInstant = "Ceiling_RaiseInstant(tag, arg1, height)";
+	Ceiling_RaiseInstant = "Ceiling_RaiseInstant(tag, unused, height)";
 	Ceiling_RaiseToNearest = "Ceiling_RaiseToNearest(tag, speed)";
 	Ceiling_Waggle = "Ceiling_Waggle(tag, amp, freq, offset, time)";
 	ChangeCamera = "ChangeCamera(tid, who, revert)";
@@ -83,35 +89,38 @@ keywords
 	ChangeFloor = "ChangeFloor(tag, flat)";
 	ChangeLevel = "ChangeLevel(mapname, position, flags, skill)";
 	ChangeSkill = "ChangeSkill(skill)";
+	ChangeSky = "ChangeSky(sky1, sky2)";
 	CheckActorCeilingTexture = "CheckActorCeilingTexture(tid, texture)";
 	CheckActorClass = "CheckActorClass(tid, class)";
 	CheckActorFloorTexture = "CheckActorFloorTexture(tid, texture)";
-	CheckActorInventory = "CheckActorInventory(tid, type)";
+	CheckActorInventory = "CheckActorInventory(tid, inventoryitem)";
 	CheckActorProperty = "CheckActorProperty(tid, property, value)";
-	CheckInventory = "CheckInventory(type)";
+	CheckInventory = "CheckInventory(inventoryitem)";
 	CheckPlayerCamera = "CheckPlayerCamera(player)";
+	CheckSight = "CheckSight(source, dest, flags)";
 	CheckWeapon = "CheckWeapon(weapon)";
 	ClassifyActor = "ClassifyActor(tid)";
 	ClearActorInventory = "ClearActorInventory(tid)";
-	ClearForceField = "ClearForceField()";
+	ClearForceField = "ClearForceField(tag)";
 	ClearInventory = "ClearInventory()";
 	ClearLineSpecial = "ClearLineSpecial()";
+	ConsoleCommand = "ConsoleCommand(command)";
 	Const = "Const";
 	Continue = "Continue";
 	cos = "cos(angle)";
 	CreateTranslation = "CreateTranslation(transnumber, translation, translation, translation, ...)";
-	DamageThing = "DamageThing(amount)";
+	DamageThing = "DamageThing(amount, mod)";
 	Death = "Script expression Death";
 	Default = "Default:";
 	Delay = "Delay(tics)";
 	Disconnect = "Script expression Disconnect";
 	Do = "Do";
-	Door_Animated = "Door_Animated(tag, speed, delay)";
-	Door_Close = "Door_Close(tag, speed)";
-	Door_CloseWaitOpen = "Door_CloseWaitOpen(tag, speed, delay)";
-	Door_LockedRaise = "Door_LockedRaise(tag, speed, delay, lock)";
-	Door_Open = "Door_Open(tag, speed)";
-	Door_Raise = "Door_Raise(tag, speed, delay)";
+	Door_Animated = "Door_Animated(tag, speed, delay, lock)";
+	Door_Close = "Door_Close(tag, speed, lighttag)";
+	Door_CloseWaitOpen = "Door_CloseWaitOpen(tag, speed, delay, lighttag)";
+	Door_LockedRaise = "Door_LockedRaise(tag, speed, delay, lock, lighttag)";
+	Door_Open = "Door_Open(tag, speed, lighttag)";
+	Door_Raise = "Door_Raise(tag, speed, delay, lighttag)";
 	Elevator_LowerToNearest = "Elevator_LowerToNearest(tag, speed)";
 	Elevator_MoveToFloor = "Elevator_MoveToFloor(tag, speed)";
 	Elevator_RaiseToNearest = "Elevator_RaiseToNearest(tag, speed)";
@@ -121,25 +130,27 @@ keywords
 	Exit_Secret = "Exit_Secret(pos)";
 	FadeRange = "FadeRange(red1, green1, blue1, amount1, red2, green2, blue2, amount2, seconds)";
 	FadeTo = "FadeTo(red, green, blue, amount, seconds)";
-	FixedDiv = "FixedDiv(fa, fb)";
-	FixedMul = "FixedMul(fa, fb)";
+	FixedDiv = "FixedDiv(a, b)";
+	FixedMul = "FixedMul(a, b)";
+	FixedSqrt = "FixedSqrt(number)";
 	Floor_CrushStop = "Floor_CrushStop(tag)";
 	Floor_Donut = "Floor_Donut(ptag, pspeed, sspeed)";
 	Floor_LowerByValue = "Floor_LowerByValue(tag, speed, height)";
 	Floor_LowerByValueTimes8 = "Floor_LowerByValueTimes8(tag, speed, height)";
-	Floor_LowerInstant = "Floor_LowerInstant(tag, arg1, height)";
+	Floor_LowerInstant = "Floor_LowerInstant(tag, unused, height)";
 	Floor_LowerToHighest = "Floor_LowerToHighest(tag, speed, adjust, force_adjust)";
 	Floor_LowerToLowest = "Floor_LowerToLowest(tag, speed)";
 	Floor_LowerToLowestTxTy = "Floor_LowerToLowestTxTy(tag, speed)";
 	Floor_LowerToNearest = "Floor_LowerToNearest(tag, speed)";
 	Floor_MoveToValue = "Floor_MoveToValue(tag, speed, height, neg)";
 	Floor_MoveToValueTimes8 = "Floor_MoveToValueTimes8(tag, speed, height, neg)";
-	Floor_RaiseAndCrush = "Floor_RaiseAndCrush(tag, speed, crush)";
+	Floor_RaiseAndCrush = "Floor_RaiseAndCrush(tag, speed, crush, crushmode)";
+	Floor_RaiseAndCrushDoom = "Floor_RaiseAndCrushDoom(tag, speed, crush, crushmode)";
 	Floor_RaiseByTexture = "Floor_RaiseByTexture(tag, speed)";
 	Floor_RaiseByValue = "Floor_RaiseByValue(tag, speed, height)";
 	Floor_RaiseByValueTimes8 = "Floor_RaiseByValueTimes8(tag, speed, height)";
 	Floor_RaiseByValueTxTy = "Floor_RaiseByValueTxTy(tag, speed, height)";
-	Floor_RaiseInstant = "Floor_RaiseInstant(tag, arg1, height)";
+	Floor_RaiseInstant = "Floor_RaiseInstant(tag, unused, height)";
 	Floor_RaiseToHighest = "Floor_RaiseToHighest(tag, speed)";
 	Floor_RaiseToLowestCeiling = "Floor_RaiseToLowestCeiling(tag, speed)";
 	Floor_RaiseToNearest = "Floor_RaiseToNearest(tag, speed)";
@@ -147,21 +158,24 @@ keywords
 	Floor_TransferTrigger = "Floor_TransferTrigger(tag)";
 	Floor_Waggle = "Floor_Waggle(tag, amp, freq, offset, time)";
 	FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
-	FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed)";
+	FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed, boomemu)";
 	FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
 	For = "For(initialization, condition, iteration)";
 	ForceField = "ForceField()";
+	FS_Execute = "FS_Execute(script, side, keynum, message)";
 	Function = "Function Void expression (Void)";
 	GameSkill = "GameSkill()";
 	GameType = "GameType()";
 	Generic_Ceiling = "Generic_Ceiling(tag, speed, height, target, flag)";
 	Generic_Crusher = "Generic_Crusher(tag, dspeed, uspeed, silent, crush)";
+	Generic_Crusher2 = "Generic_Crusher2(tag, dspeed, uspeed, silent, crush)";
 	Generic_Door = "Generic_Door(tag, speed, kind, delay, lock)";
 	Generic_Floor = "Generic_Floor(tag, speed, height, target, flags)";
 	Generic_Lift = "Generic_Lift(tag, speed, delay, type, height)";
 	Generic_Stairs = "Generic_Stairs(tag, speed, height, flags, reset)";
 	GetActorAngle = "GetActorAngle(tid)";
 	GetActorCeilingZ = "GetActorCeilingZ(tid)";
+	GetActorClass = "GetActorClass(tid)";
 	GetActorFloorZ = "GetActorFloorZ(tid)";
 	GetActorLightLevel = "GetActorLightLevel(tid)";
 	GetActorPitch = "GetActorPitch(tid)";
@@ -174,46 +188,53 @@ keywords
 	GetActorY = "GetActorY(tid)";
 	GetActorZ = "GetActorZ(tid)";
 	GetAirSupply = "GetAirSupply(playernumber)";
-	GetAmmoCapacity = "GetAmmoCapacity(classname)";
+	GetAmmoCapacity = "GetAmmoCapacity(ammotype)";
 	GetArmorType = "GetArmorType(armortype, playernumber)";
 	GetChar = "GetChar(string, index)";
-	GetCVar = "int GetCVar(string name)";
-	GetCVarString = "string GetCVarString(string name)";
-	GetLevelInfo = "GetLevelInfo(infotype)";
+	GetCVar = "GetCVar(cvarname)";
+	GetCVarString = "GetCVarString(cvarname)";
+	GetInvasionState = "GetInvasionState()";
+	GetInvasionWave = "GetInvasionWave()";
+	GetLevelInfo = "GetLevelInfo(levelinfo)";
 	GetLineRowOffset = "GetLineRowOffset()";
-	GetLineUDMFInt = "GetLineUDMFInt(lineid, fieldname)";
-	GetLineUDMFFixed = "GetLineUDMFFixed(lineid, fieldname)";
-	GetPlayerInput = "GetPlayerInput(player, input)";
-	GetPolyobjX = "GetPolyobjX(po)";
-	GetPolyobjY = "GetPolyobjY(po)";
+	GetLineUDMFFixed = "GetLineUDMFFixed(lineid, key)";
+	GetLineUDMFInt = "GetLineUDMFInt(lineid, key)";
+	GetPlayerInfo = "GetPlayerInfo(playernumber, playerinfo)";
+	GetPlayerInput = "GetPlayerInput(playernumber, input)";
+	GetPolyobjX = "GetPolyobjX(polyid)";
+	GetPolyobjY = "GetPolyobjY(polyid)";
 	GetScreenHeight = "GetScreenHeight()";
 	GetScreenWidth = "GetScreenWidth()";
 	GetSectorCeilingZ = "GetSectorCeilingZ(tag, x, y)";
 	GetSectorFloorZ = "GetSectorFloorZ(tag, x, y)";
 	GetSectorLightLevel = "GetSectorLightLevel(tag)";
-	GetSectorUDMFInt = "GetSectorUDMFInt(tag, fieldname)";
-	GetSectorUDMFFixed = "GetSectorUDMFFixed(tag, fieldname)";
-	GetSideUDMFInt = "GetSideUDMFInt(lineid, side, fieldname)";
-	GetSideUDMFFixed = "GetSideUDMFFixed(lineid, side, fieldname)";
-	GetThingUDMFInt = "GetThingUDMFInt(tid, fieldname)";
-	GetThingUDMFFixed = "GetThingUDMFFixed(tid, fieldname)";
+	GetSectorUDMFFixed = "GetSectorUDMFFixed(tag, key)";
+	GetSectorUDMFInt = "GetSectorUDMFInt(tag, key)";
+	GetSideUDMFFixed = "GetSideUDMFFixed(lineid, side, key)";
+	GetSideUDMFInt = "GetSideUDMFInt(lineid, side, key)";
+	GetThingUDMFFixed = "GetThingUDMFFixed(tid, key)";
+	GetThingUDMFInt = "GetThingUDMFInt(tid, key)";
 	GetUserArray = "GetUserArray(tid, name, pos)";
-	GetUserCVar = "int GetUserCVar(int playernum, string cvarname)";
-	GetUserCVarString = "string GetUserCVarString(int playernum, string cvarname)";
+	GetUserCVar = "GetUserCVar(playernum, cvarname)";
+	GetUserCVarString = "GetUserCVarString(playernum, cvarname)";
 	GetUserVariable = "GetUserVariable(tid, name)";
-	GiveActorInventory = "GiveActorInventory(tid, type, amount)";
-	GiveInventory = "GiveInventory(type, amount)";
+	GetWeapon = "GetWeapon()";
+	GiveActorInventory = "GiveActorInventory(tid, inventoryitem, amount)";
+	GiveInventory = "GiveInventory(inventoryitem, amount)";
 	GlassBreak = "GlassBreak(dontspawnjunk)";
 	Global = "Global Int expression:identifier";
 	HealThing = "HealThing(amount)";
-	HudMessage = "HudMessage(text; type, id, color, x, y, holdtime)";
-	HudMessageBold = "HudMessageBold(text; type, id, color, x, y, holdtime)";
+	HudMessage = "HudMessage(text; type, id, color, x, y, holdtime, alpha)";
+	HudMessageBold = "HudMessageBold(text; type, id, color, x, y, holdtime, alpha)";
 	If = "If(expression)";
 	Int = "Int expression";
+	IsMultiplayer = "IsMultiplayer()";
+	IsOneFlagCTF = "IsOneFlagCTF()";
+	IsTIDUsed = "IsTIDUsed(tid)";
 	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_ForceLightning = "Light_ForceLightning(mode)";
 	Light_Glow = "Light_Glow(tag, upper, lower, tics)";
 	Light_LowerByValue = "Light_LowerByValue(tag, value)";
 	Light_MaxNeighbor = "Light_MaxNeighbor(tag)";
@@ -226,144 +247,184 @@ keywords
 	Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
 	Line_AlignFloor = "Line_AlignFloor(lineid, side)";
 	Line_SetBlocking = "Line_SetBlocking(lineid, setflags, clearflags)";
-	Line_SetTextureScale = "Line_SetTextureScale(lineid, x, y, side, flags)";
 	Line_SetTextureOffset = "Line_SetTextureOffset(lineid, x, y, side, flags)";
+	Line_SetTextureScale = "Line_SetTextureScale(lineid, x, y, side, flags)";
 	LineSide = "LineSide()";
-	LocalAmbientSound = "LocalAmbientSound(name, volume)";
-	LocalSetMusic = "LocalSetMusic(song, pattern, transition)";
+	LocalAmbientSound = "LocalAmbientSound(sound, volume)";
+	LocalSetMusic = "LocalSetMusic(song, order, unused)";
 	Log = "Log(type:expression)";
 	MorphActor = "MorphActor(tid, playerclass, monsterclass, duration, style, morphflash, unmorphflash)";
+	Music_Change = "Music_Change(music, pattern)";
+	NamedScriptWait = "NamedScriptWait(script)";
 	Net = "Script expression Net";
 	NoiseAlert = "NoiseAlert(target_tid, emiter_tid)";
 	Open = "Script expression Open";
+	Pickup = "Script expression Pickup";
 	Pillar_Build = "Pillar_Build(tag, speed, height)";
-	Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
+	Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush, crushmode)";
 	Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
 	Plat_DownByValue = "Plat_DownByValue(tag, speed, delay, height)";
 	Plat_DownWaitUpStay = "Plat_DownWaitUpStay(tag, speed, delay)";
-	Plat_DownWaitUpStayLip = "Plat_DownWaitUpStayLip(tag, speed, delay, lip)";
+	Plat_DownWaitUpStayLip = "Plat_DownWaitUpStayLip(tag, speed, delay, lip, sound)";
 	Plat_PerpetualRaise = "Plat_PerpetualRaise(tag, speed, delay)";
 	Plat_PerpetualRaiseLip = "Plat_PerpetualRaiseLip(tag, speed, delay, lip)";
-	Plat_RaiseAndStayTx0 = "Plat_RaiseAndStayTx0(tag, speed)";
+	Plat_RaiseAndStayTx0 = "Plat_RaiseAndStayTx0(tag, speed, lockout)";
 	Plat_Stop = "Plat_Stop(tag)";
 	Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
 	Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
 	Plat_UpByValueStayTx = "Plat_UpByValueStayTx(tag, speed, height)";
 	Plat_UpNearestWaitDownStay = "Plat_UpNearestWaitDownStay(tag, speed, delay)";
 	Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
-	Player_GiveItem = "Player_GiveItem(item, message)";
-	Player_RemoveItem = "Player_RemoveItem(item, message)";
+	PlayActorSound = "PlayActorSound(tid, sound, channel, volume, looping, attenuation)";
 	Player_SetTeam = "Player_SetTeam(team)";
-	PlayerClass = "PlayerClass(player_number)";
+	PlayerArmorpoints = "PlayerArmorpoints()";
+	PlayerClass = "PlayerClass(playernumber)";
 	PlayerCount = "PlayerCount()";
 	PlayerFrags = "PlayerFrags()";
-	PlayerInGame = "PlayerInGame(player_number)";
-	PlayerIsBot = "PlayerIsBot(player_number)";
+	PlayerHealth = "PlayerHealth()";
+	PlayerInGame = "PlayerInGame(playernumber)";
+	PlayerIsBot = "PlayerIsBot(playernumber)";
 	PlayerNumber = "PlayerNumber()";
+	PlayerTeam = "PlayerTeam()";
 	PlayMovie = "PlayMovie(moviename)";
+	PlaySound = "PlaySound(tid, sound, channel, volume, looping, attenuation)";
 	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_MoveTo = "Polyobj_MoveTo(po, speed, pos_x, pos_y)";
+	Polyobj_MoveToSpot = "Polyobj_MoveToSpot(po, speed, target)";
 	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_MoveTo = "Polyobj_OR_MoveTo(po, speed, pos_x, pos_y)";
+	Polyobj_OR_MoveToSpot = "Polyobj_OR_MoveToSpot(po, speed, target)";
+	Polyobj_OR_RotateLeft = "Polyobj_OR_RotateLeft(po, speed, angle)";
 	Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
 	Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
 	Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
-	PolyWait = "PolyWait(po)";
+	Polyobj_Stop = "Polyobj_Stop(po)";
+	PolyWait = "PolyWait(polyid)";
 	Print = "Print(type:expression)";
 	PrintBold = "PrintBold(type:expression)";
 	Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
-	Random = "Random(low, high)";
+	Radius_Quake2 = "Radius_Quake2(tid, intensity, duration, damrad, tremrad, sound)";
+	Random = "Random(min, max)";
+	RedCount = "RedCount()";
+	RedReturn = "Script expression RedReturn";
+	RedScore = "RedScore()";
+	RedTeamCount = "RedTeamCount()";
+	RedTeamScore = "RedTeamScore()";
 	ReplaceTextures = "ReplaceTextures(oldtexture, newtexture, flags)";
 	Respawn = "Script expression Respawn";
 	Restart = "Restart";
+	Return = "Return";
 	Script = "Script expression (Void)";
-	ScriptWait = "ScriptWait(scriptid)";
-	Scroll_Ceiling = "Scroll_Ceiling(tag, scrollbits, 0, xmove, ymove)";
-	Scroll_Floor = "Scroll_Floor(tag, scrollbits, method xmove, ymove)";
+	ScriptWait = "ScriptWait(script)";
+	Scroll_Ceiling = "Scroll_Ceiling(tag, x-move, y-move, unused)";
+	Scroll_Floor = "Scroll_Floor(tag, x-move, y-move, type)";
 	Scroll_Texture_Both = "Scroll_Texture_Both(lineid, left, right, down, up)";
 	Scroll_Wall = "Scroll_Wall(lineid, x, y, side, flags)";
+	Sector_ChangeFlags = "Sector_ChangeFlags(tag, setflags, clearflags)";
 	Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
 	Sector_SetCeilingPanning = "Sector_SetCeilingPanning(tag, u-int, u-frac, v-int, v-frac)";
 	Sector_SetCeilingScale = "Sector_SetCeilingScale(tag, u-int, u-frac, v-int, v-frac)";
-	Sector_SetColor = "Sector_SetColor(tag, r, g, b)";
+	Sector_SetCeilingScale2 = "Sector_SetCeilingScale2(tag, u-fixed, v-fixed)";
+	Sector_SetColor = "Sector_SetColor(tag, red, green, blue, desaturation)";
+	Sector_SetCurrent = "Sector_SetCurrent(tag, amount, angle, useline)";
 	Sector_SetDamage = "Sector_SetDamage(tag, amount, mod)";
-	Sector_SetFade = "Sector_SetFade(tag, r, g, b)";
+	Sector_SetFade = "Sector_SetFade(tag, red, green, blue)";
 	Sector_SetFloorPanning = "Sector_SetFloorPanning(tag, u-int, u-frac, v-int, v-frac)";
 	Sector_SetFloorScale = "Sector_SetFloorScale(tag, u-int, u-frac, v-int, v-frac)";
+	Sector_SetFloorScale2 = "Sector_SetFloorScale2(tag, u-fixed, v-fixed)";
 	Sector_SetFriction = "Sector_SetFriction(tag, amount)";
 	Sector_SetGravity = "Sector_SetGravity(tag, ipart, fpart)";
 	Sector_SetLink = "Sector_SetLink(controltag, tag, surface, movetype)";
 	Sector_SetPlaneReflection = "Sector_SetPlaneReflection(tag, floor, ceiling)";
 	Sector_SetRotation = "Sector_SetRotation(tag, floor-angle, ceiling-angle)";
 	Sector_SetTranslucent = "Sector_SetTranslucent(tag, plane, amount, type)";
-	SectorDamage = "SectorDamage(tag, amount, type, protection-item, flags)";
-	SectorSound = "SectorSound(name, volume)";
+	Sector_SetWind = "Sector_SetWind(tag, amount, angle, useline)";
+	SectorDamage = "SectorDamage(tag, amount, type, protectionitem, flags)";
+	SectorSound = "SectorSound(sound, volume)";
 	SendToCommunicator = "SendToCommunicator(voc_id, front_only, indentify, nolog)";
+	SetActivator = "SetActivator(tid, pointer_selector)";
+	SetActivatorToTarget = "SetActivatorToTarget(tid)";
 	SetActorAngle = "SetActorAngle(tid, angle)";
-	SetAirControl = "SetAirControl(amount)";
-	SetActorPitch = "SetActorPitch(tid, angle)";
+	SetActorPitch = "SetActorPitch(tid, pitch)";
 	SetActorPosition = "SetActorPosition(tid, x, y, z, fog)";
 	SetActorProperty = "SetActorProperty(tid, property, value)";
 	SetActorState = "SetActorState(tid, state, exact)";
 	SetActorVelocity = "SetActorVelocity(tid, velx, vely, velz, add, setbob)";
+	SetAirControl = "SetAirControl(amount)";
 	SetAirSupply = "SetAirSupply(playernumber, tics)";
+	SetAmmoCapacity = "SetAmmoCapacity(ammotype, maxamount)";
 	SetCameraToTexture = "SetCameraToTexture(tag, texture, fov)";
 	SetCeilingTrigger = "SetCeilingTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
-	SetCVar = "bool SetCVar(string cvarname, int newvalue)";
-	SetCVarString = "bool SetCVarString(string cvarname, string newvalue)";
+	SetCVar = "SetCVar(cvarname, newvalue)";
+	SetCVarString = "SetCVarString(cvarname, newvalue)";
 	SetFloorTrigger = "SetFloorTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
-	SetFont = "SetFont(fontname)";
+	SetFont = "SetFont(font)";
+	SetGlobalFogParameter = "SetGlobalFogParameter(property, value)";
 	SetGravity = "SetGravity(amount)";
+	SetHUDClipRect = "SetHUDClipRect(x, y, width, height, wrapwidth)";
 	SetHudSize = "SetHudSize(width, height, statusbar)";
-	SetLineBlocking = "SetLineBlocking(line, blocking)";
-	SetLineMonsterBlocking = "SetLineMonsterBlocking(line, blocking)";
-	SetLineSpecial = "SetLineSpecial(line, special, arg1, arg2, arg3, arg4, arg5)";
-	SetLineTexture = "SetLineTexture(line, side, position, texture)";
+	SetHUDWrapWidth = "SetHUDWrapWidth(wrapwidth)";
+	SetLineBlocking = "SetLineBlocking(lineid, setting)";
+	SetLineMonsterBlocking = "SetLineMonsterBlocking(lineid, setting)";
+	SetLineSpecial = "SetLineSpecial(lineid, special, arg1, arg2, arg3, arg4, arg5)";
+	SetLineTexture = "SetLineTexture(lineid, side, position, texture)";
 	SetMarineSprite = "SetMarineSprite(tid, actorclass)";
 	SetMarineWeapon = "SetMarineWeapon(tid, weapon)";
 	SetMugShotState = "SetMugShotState(state)";
-	SetMusic = "SetMusic(song, pattern, transition)";
+	SetMusic = "SetMusic(song, order, unused)";
 	SetPlayerProperty = "SetPlayerProperty(who, set, which)";
-	SetPointer = "SetPointer(int assign_slot, int tid[, int pointer_selector[, int flags]])";
+	SetPointer = "SetPointer(assign_slot, tid, pointer_selector, flags)";
 	SetResultValue = "SetResultValue(value)";
 	SetSkyScrollSpeed = "SetSkyScrollSpeed(skynumber, speed)";
 	SetThingSpecial = "SetThingSpecial(tid, special, arg1, arg2, arg3, arg4, arg5)";
-	SetUserCVar = "bool SetUserCVar(int playernum, string cvarname, int newvalue)";
-	SetUserCVarString = "bool SetUserCVarString(int playernum, string cvarname, string newvalue)";
-	SetWeapon = "SetWeapon(weaponname)";
+	SetUserArray = "SetUserArray(tid, name, pos, value)";
+	SetUserCVar = "SetUserCVar(playernum, cvarname, newvalue)";
+	SetUserCVarString = "SetUserCVarString(playernum, cvarname, newvalue)";
+	SetUserVariable = "SetUserVariable(tid, name, value)";
+	SetWeapon = "SetWeapon(weapon)";
 	sin = "sin(angle)";
+	SinglePlayer = "SinglePlayer()";
 	SoundSequence = "SoundSequence(sndseq)";
 	SoundSequenceOnActor = "SoundSequenceOnActor(tid, sndseq)";
+	SoundSequenceOnPolyObj = "SoundSequenceOnPolyObj(polyid, sndseq)";
 	SoundSequenceOnSector = "SoundSequenceOnSector(tag, sndseq, location)";
-	SoundSequenceOnPolyObj = "SoundSequenceOnPolyObj(tag, sndseq)";
-	Spawn = "Spawn(type, x, y, z, thingid, angle)";
-	SpawnForced = "SpawnForced(str classname, fixed x, fixed y, fixed z, int tid, int angle)";
-	SpawnProjectile = "SpawnProjectile(tid, type, angle, speed, vspeed, gravity, newtid)";
-	SpawnSpot = "SpawnSpot(type, spotid, thingid, angle)";
-	SpawnSpotFacing = "SpawnSpotFacing(type, spotid, thingid)";
+	SoundVolume = "SoundVolume(tid, channel, volume)";
+	Spawn = "Spawn(classname, x, y, z, newtid, angle)";
+	SpawnForced = "SpawnForced(classname, x, y, z, newtid, angle)";
+	SpawnProjectile = "SpawnProjectile(tid, classname, angle, speed, vspeed, gravity, newtid)";
+	SpawnSpot = "SpawnSpot(classname, spottid, newtid, angle)";
+	SpawnSpotFacing = "SpawnSpotFacing(classname, spottid, newtid)";
+	SpawnSpotFacingForced = "SpawnSpotFacingForced(classname, spottid, newtid)";
+	SpawnSpotForced = "SpawnSpotForced(classname, spottid, newtid, angle)";
 	Special = "Special";
+	Sqrt = "Sqrt(number)";
 	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_BuildUpDoom = "Stairs_BuildUpDoom(tag, speed, height, delay, reset)";
 	Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
-	StartConversation = "StartConversation(tid, facing)";
+	StartConversation = "StartConversation(talker_tid, facetalker)";
+	StopSound = "StopSound(tid, channel)";
 	Str = "Str expression";
-	strlen = "strlen(string)";
-	StrParam = "int StrParam(item(s))";
+	StrCmp = "StrCmp(string1, string2, maxcomparenum)";
+	StrCpy = "StrCpy(a:destination, source, sourceindex)";
+	StrIcmp = "StrIcmp(string1, string2, maxcomparenum)";
+	StrLen = "StrLen(string)";
+	StrParam = "StrParam(type:expression)";
 	Suspend = "Suspend";
 	Switch = "Switch(expression)";
 	TagWait = "TagWait(tag)";
-	TakeActorInventory = "TakeActorInventory(tid, type, amount)";
-	TakeInventory = "TakeInventory(type, amount)";
-	Team_Score = "Team_Score(amount, nogrin)";
+	TakeActorInventory = "TakeActorInventory(tid, inventoryitem, amount)";
+	TakeInventory = "TakeInventory(inventoryitem, amount)";
+	Team_GivePoints = "Team_GivePoints(team, points, announce)";
+	Team_Score = "Team_Score(points, nogrin)";
 	Teleport = "Teleport(tid, tag, nosourcefog)";
 	Teleport_EndGame = "Teleport_EndGame()";
-	Teleport_Line = "Teleport_Line(thisid, destid, flip)";
-	Teleport_NewMap = "Teleport_NewMap(map, pos)";
+	Teleport_NewMap = "Teleport_NewMap(map, pos, face)";
 	Teleport_NoFog = "Teleport_NoFog(tid, useangle, tag)";
 	Teleport_NoStop = "Teleport_NoStop(tid, tag, nofog)";
 	Teleport_ZombieChanger = "Teleport_ZombieChanger(tid, tag)";
@@ -374,682 +435,703 @@ keywords
 	Thing_Activate = "Thing_Activate(tid)";
 	Thing_ChangeTID = "Thing_ChangeTID(oldtid, newtid)";
 	Thing_Damage = "Thing_Damage(tid, amount, mod)";
-	Thing_Damage2 = "Thing_Damage2(tid, amount, type)";
+	Thing_Damage2 = "Thing_Damage2(tid, amount, damagetype)";
 	Thing_Deactivate = "Thing_Deactivate(tid)";
-	Thing_Destroy = "Thing_Destroy(tid, extreme, sectortag)";
+	Thing_Destroy = "Thing_Destroy(tid, extreme, tag)";
 	Thing_Hate = "Thing_Hate(hater, hatee, type)";
 	Thing_Move = "Thing_Move(tid, destid, nofog)";
 	Thing_Projectile = "Thing_Projectile(tid, type, angle, speed, vspeed)";
-	Thing_Projectile2 = "Thing_Projectile2(tid, type, angle, speed, vspeed, gravity, newtid)";
+	Thing_Projectile2 = "Thing_Projectile2(tid, classname, angle, speed, vspeed, gravity, newtid)";
 	Thing_ProjectileAimed = "Thing_ProjectileAimed(tid, type, speed, target, newtid)";
 	Thing_ProjectileGravity = "Thing_ProjectileGravity(tid, type, angle, speed, vspeed)";
 	Thing_ProjectileIntercept = "Thing_ProjectileIntercept(tid, type, speed, target, newtid)";
 	Thing_Raise = "Thing_Raise(tid)";
 	Thing_Remove = "Thing_Remove(tid)";
-	Thing_SetConversation = "Thing_SetConversation(tid, convid)";
-	Thing_SetFrame = "Thing_SetFrame(tid, frame)";
-	Thing_SetGoal = "Thing_SetGoal(tid, goal, delay, ignore)";
+	Thing_SetConversation = "Thing_SetConversation(tid, conversationid)";
+	Thing_SetGoal = "Thing_SetGoal(tid, goal, delay, dontchasetarget)";
 	Thing_SetSpecial = "Thing_SetSpecial(tid, special, arg1, arg2, arg3)";
 	Thing_SetTranslation = "Thing_SetTranslation(tid, translation)";
 	Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
 	Thing_SpawnFacing = "Thing_SpawnFacing(tid, type, nofog, newtid)";
 	Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
 	Thing_Stop = "Thing_Stop(tid)";
-	ThingCount = "ThingCount(type, id)";
-	ThingCountName = "ThingCountName(type, tid)";
-	ThingCountNameSector = "ThingCountNameSector(class, tid, tag)";
+	ThingCount = "ThingCount(type, tid)";
+	ThingCountName = "ThingCountName(classname, tid)";
+	ThingCountNameSector = "ThingCountNameSector(classname, tid, tag)";
 	ThingCountSector = "ThingCountSector(type, tid, tag)";
-	ThingSound = "ThingSound(thingid, name, volume)";
-	ThrustThing = "ThrustThing(angle, force, limit, tid)";
-	ThrustThingZ = "ThrustThingZ(tid, speed, upordown, addorset)";
+	ThingSound = "ThingSound(tid, sound, volume)";
+	ThrustThing = "ThrustThing(angle, force, nolimit, tid)";
+	ThrustThingZ = "ThrustThingZ(tid, speed, up_or_down, add_or_set)";
 	Timer = "Timer()";
-	TranslucentLine = "TranslucentLine(lineid, amount, additive)";
+	TranslucentLine = "TranslucentLine(lineid, amount, additive, moreflags)";
+	UniqueTID = "UniqueTID(tid, limit)";
 	Unloading = "Script expression Unloading";
-	UnmorphActor = "UnmorphActor(tid, force)";
+	UnMorphActor = "UnMorphActor(tid, force)";
 	Until = "Until(expression)";
-	UsePuzzleItem = "UsePuzzleItem(item, script)";
-	UseActorInventory = "UseActorInventory(tid, item)";
+	UseActorInventory = "UseActorInventory(tid, inventoryitem)";
+	UseInventory = "UseInventory(inventoryitem)";
+	UsePuzzleItem = "UsePuzzleItem(item, script, arg1, arg2, arg3)";
 	VectorAngle = "VectorAngle(x, y)";
+	VectorLength = "VectorLength(x, y)";
 	Void = "Void";
 	While = "While(expression)";
+	WhiteReturn = "Script expression WhiteReturn";
 	World = "World Int expression:identifier";
 }
 
 constants
 {
-AAPTR_DEFAULT;
-AAPTR_FRIENDPLAYER;
-AAPTR_MASTER;
-AAPTR_NULL;
-AAPTR_PLAYER_GETCONVERSATION;
-AAPTR_PLAYER_GETTARGET;
-AAPTR_PLAYER1;
-AAPTR_PLAYER2;
-AAPTR_PLAYER3;
-AAPTR_PLAYER4;
-AAPTR_PLAYER5;
-AAPTR_PLAYER6;
-AAPTR_PLAYER7;
-AAPTR_PLAYER8;
-AAPTR_TARGET;
-AAPTR_TRACER;
-ACTOR_ALIVE;
-ACTOR_BOT;
-ACTOR_DEAD;
-ACTOR_GENERIC;
-ACTOR_MISSILE;
-ACTOR_MONSTER;
-ACTOR_NONE;
-ACTOR_PLAYER;
-ACTOR_VOODOODOLL;
-ACTOR_WORLD;
-APROP_Accuracy;
-APROP_ActiveSound;
-APROP_Alpha;
-APROP_Ambush;
-APROP_AttackSound;
-APROP_ChaseGoal;
-APROP_Damage;
-APROP_DamageFactor;
-APROP_DeathSound;
-APROP_Dormant;
-APROP_Dropped;
-APROP_Friendly;
-APROP_Frightened;
-APROP_Gravity;
-APROP_Health;
-APROP_Invulnerable;
-APROP_JumpZ;
-APROP_Mass;
-APROP_MasterTID;
-APROP_Nametag;
-APROP_Notarget;
-APROP_Notrigger;
-APROP_PainSound;
-APROP_RenderStyle;
-APROP_ScaleX;
-APROP_ScaleY;
-APROP_Score;
-APROP_SeeSound;
-APROP_SpawnHealth;
-APROP_Species;
-APROP_Speed;
-APROP_Stamina;
-APROP_TargetTID;
-APROP_TracerTID;
-APROP_Waterlevel;
-BLOCK_CREATURES;
-BLOCK_EVERYTHING;
-BLOCK_NOTHING;
-BLOCK_PLAYERS;
-BLOCK_RAILING;
-BLOCKF_CREATURES;
-BLOCKF_EVERYTHING;
-BLOCKF_FLOATERS;
-BLOCKF_MONSTERS;
-BLOCKF_PLAYERS;
-BLOCKF_PROJECTILES;
-BLOCKF_RAILING;
-BLOCKF_SIGHT;
-BLOCKF_USE;
-BT_ALTATTACK;
-BT_ATTACK;
-BT_BACK;
-BT_CROUCH;
-BT_FORWARD;
-BT_JUMP;
-BT_LEFT;
-BT_LOOKDOWN;
-BT_LOOKUP;
-BT_MOVEDOWN;
-BT_MOVELEFT;
-BT_MOVERIGHT;
-BT_MOVEUP;
-BT_RELOAD;
-BT_RIGHT;
-BT_SHOWSCORES;
-BT_SPEED;
-BT_STRAFE;
-BT_TURN180;
-BT_USE;
-BT_USER1;
-BT_USER2;
-BT_USER3;
-BT_USER4;
-BT_ZOOM;
-CARRY;
-CHANGELEVEL_CHANGESKILL;
-CHANGELEVEL_KEEPFACING;
-CHANGELEVEL_NOINTERMISSION;
-CHANGELEVEL_NOMONSTERS;
-CHANGELEVEL_RESETHEALTH;
-CHANGELEVEL_RESETINVENTORY;
-CLASS_CLERIC;
-CLASS_FIGHTER;
-CLASS_MAGE;
-CR_BLACK;
-CR_BLUE;
-CR_BRICK;
-CR_BROWN;
-CR_CREAM;
-CR_DARKBROWN;
-CR_DARKGRAY;
-CR_DARKGREEN;
-CR_DARKGREY;
-CR_DARKRED;
-CR_GOLD;
-CR_GRAY;
-CR_GREEN;
-CR_GREY;
-CR_LIGHTBLUE;
-CR_OLIVE;
-CR_ORANGE;
-CR_PURPLE;
-CR_RED;
-CR_TAN;
-CR_UNTRANSLATED;
-CR_WHITE;
-CR_YELLOW;
-CSF_NOBLOCKALL;
-CSF_NOFAKEFLOORS;
-DAMAGE_IN_AIR;
-DAMAGE_NONPLAYERS;
-DAMAGE_PLAYERS;
-DAMAGE_SUBCLASSES_PROTECT;
-EV_Char;
-EV_KeyDown;
-EV_KeyRepeat;
-EV_KeyUp;
-EV_LButtonDblClick;
-EV_LButtonDown;
-EV_LButtonUp;
-EV_MButtonDblClick;
-EV_MButtonDown;
-EV_MButtonUp;
-EV_MouseMove;
-EV_RButtonDblClick;
-EV_RButtonDown;
-EV_RButtonUp;
-EV_WheelDown;
-EV_WheelUp;
-FALSE;
-FOGP_DENSITY;
-FOGP_OUTSIDEDENSITY;
-FOGP_SKYFOG;
-GAME_NET_COOPERATIVE;
-GAME_NET_DEATHMATCH;
-GAME_SINGLE_PLAYER;
-GAME_TITLE_MAP;
-GK_ALERT;
-GK_BACKSPACE;
-GK_CESCAPE;
-GK_DEL;
-GK_DOWN;
-GK_END;
-GK_ESCAPE;
-GK_F1;
-GK_F10;
-GK_F11;
-GK_F12;
-GK_F2;
-GK_F3;
-GK_F4;
-GK_F5;
-GK_F6;
-GK_F7;
-GK_F8;
-GK_F9;
-GK_FORMFEED;
-GK_FREE1;
-GK_FREE2;
-GK_FREE3;
-GK_HOME;
-GK_LEFT;
-GK_LINEFEED;
-GK_PGDN;
-GK_PGUP;
-GK_RETURN;
-GK_RIGHT;
-GK_TAB;
-GK_UP;
-GK_VTAB;
-GKM_ALT;
-GKM_CTRL;
-GKM_LBUTTON;
-GKM_MBUTTON;
-GKM_RBUTTON;
-GKM_SHIFT;
-HUDMSG_COLORSTRING;
-HUDMSG_FADEINOUT;
-HUDMSG_FADEOUT;
-HUDMSG_LOG;
-HUDMSG_PLAIN;
-HUDMSG_TYPEON;
-INPUT_BUTTONS;
-INPUT_FORWARDMOVE;
-INPUT_OLDBUTTONS;
-INPUT_PITCH;
-INPUT_ROLL;
-INPUT_SIDEMOVE;
-INPUT_UPMOVE;
-INPUT_YAW;
-LEVELINFO_CLUSTERNUM;
-LEVELINFO_FOUND_ITEMS;
-LEVELINFO_FOUND_SECRETS;
-LEVELINFO_KILLED_MONSTERS;
-LEVELINFO_LEVELNUM;
-LEVELINFO_PAR_TIME;
-LEVELINFO_SUCK_TIME;
-LEVELINFO_TOTAL_ITEMS;
-LEVELINFO_TOTAL_MONSTERS;
-LEVELINFO_TOTAL_SECRETS;
-LINE_BACK;
-LINE_FRONT;
-MARINEWEAPON_BerserkFist;
-MARINEWEAPON_BFG;
-MARINEWEAPON_Chaingun;
-MARINEWEAPON_Chainsaw;
-MARINEWEAPON_Dummy;
-MARINEWEAPON_Fist;
-MARINEWEAPON_Pistol;
-MARINEWEAPON_PlasmaRifle;
-MARINEWEAPON_Railgun;
-MARINEWEAPON_RocketLauncher;
-MARINEWEAPON_Shotgun;
-MARINEWEAPON_SuperShotgun;
-MOD_BARREL;
-MOD_BFG_BOOM;
-MOD_BFG_SPLASH;
-MOD_CHAINSAW;
-MOD_CRUSH;
-MOD_DISINTEGRATE;
-MOD_ELECTRIC;
-MOD_EXIT;
-MOD_FALLING;
-MOD_HIT;
-MOD_ICE;
-MOD_LAVA;
-MOD_PLASMARIFLE;
-MOD_POISON;
-MOD_R_SPLASH;
-MOD_RAILGUN;
-MOD_ROCKET;
-MOD_SLIME;
-MOD_SPLASH;
-MOD_SSHOTGUN;
-MOD_SUICIDE;
-MOD_TELEFRAG;
-MOD_UNKNOWN;
-MOD_WATER;
-MODINPUT_BUTTONS;
-MODINPUT_FORWARDMOVE;
-MODINPUT_OLDBUTTONS;
-MODINPUT_PITCH;
-MODINPUT_ROLL;
-MODINPUT_SIDEMOVE;
-MODINPUT_UPMOVE;
-MODINPUT_YAW;
-MOVIE_Failed;
-MOVIE_Played;
-MOVIE_Played_Aborted;
-MOVIE_Played_NoVideo;
-MRF_ADDSTAMINA;
-MRF_FAILNOLAUGH;
-MRF_FAILNOTELEFRAG;
-MRF_FULLHEALTH;
-MRF_LOSEACTUALWEAPON;
-MRF_NEWTIDBEHAVIOUR;
-MRF_OLDEFFECTS;
-MRF_UNDOBYCHAOSDEVICE;
-MRF_UNDOBYDEATH;
-MRF_UNDOBYDEATHFORCED;
-MRF_UNDOBYDEATHSAVES;
-MRF_UNDOBYTOMEOFPOWER;
-MRF_WHENINVULNERABLE;
-NO;
-NO_CHANGE;
-NOT_BOTTOM;
-NOT_CEILING;
-NOT_FLOOR;
-NOT_MIDDLE;
-NOT_TOP;
-OFF;
-ON;
-PLAYERINFO_AIMDIST;
-PLAYERINFO_COLOR;
-PLAYERINFO_GENDER;
-PLAYERINFO_MOVEBOB;
-PLAYERINFO_NEVERSWITCH;
-PLAYERINFO_PLAYERCLASS;
-PLAYERINFO_STILLBOB;
-PLAYERINFO_TEAM;
-PRINTNAME_LEVEL;
-PRINTNAME_LEVELNAME;
-PRINTNAME_SKILL;
-PROP_ALLMAP;
-PROP_BUDDHA;
-PROP_FLIGHT;
-PROP_FLY;
-PROP_FROZEN;
-PROP_INFRARED;
-PROP_INSTANTWEAPONSWITCH;
-PROP_INVISIBILITY;
-PROP_INVULNERABILITY;
-PROP_NOTARGET;
-PROP_RADIATIONSUIT;
-PROP_SPEED;
-PROP_STRENGTH;
-PROP_TOTALLYFROZEN;
-PROP_WEAPONLEVEL2;
-PTROP_NOSAFEGUARDS;
-PTROP_UNSAFEMASTER;
-PTROP_UNSAFETARGET;
-SCROLL;
-SCROLL_AND_CARRY;
-SECF_FLOORDROP;
-SECF_NOFALLINGDAMAGE;
-SECF_NORESPAWN;
-SECF_SILENT;
-SECSEQ_CEILING;
-SECSEQ_FLOOR;
-SECSEQ_FULLHEIGHT;
-SECSEQ_INTERIOR;
-SIDE_BACK;
-SIDE_FRONT;
-SKILL_EASY;
-SKILL_HARD;
-SKILL_NORMAL;
-SKILL_VERY_EASY;
-SKILL_VERY_HARD;
-STYLE_Add;
-STYLE_Fuzzy;
-STYLE_None;
-STYLE_Normal;
-STYLE_OptFuzzy;
-STYLE_SoulTrans;
-STYLE_Translucent;
-T_AMMOBOX;
-T_AMULETOFWARDING;
-T_ARACHNOTRON;
-T_ARACHNOTRONPLASMA;
-T_ARMORBONUS;
-T_ARROW;
-T_AXEKEY;
-T_BACKPACK;
-T_BARON;
-T_BARONBALL;
-T_BARREL;
-T_BATTERY;
-T_BEAST;
-T_BEASTBALL;
-T_BERSERK;
-T_BFG;
-T_BFGSHOT;
-T_BISHOP;
-T_BLADE;
-T_BLASTER;
-T_BLOOD;
-T_BLOODPOOL;
-T_BLOODPOOL1;
-T_BLOODPOOL2;
-T_BLUEARMOR;
-T_BLUEKEY;
-T_BLUEKEYCARD;
-T_BLUESKULLKEY;
-T_BLUETELEGLITTER;
-T_BOUNCYMACEBALL;
-T_BRAINS;
-T_BRIDGE;
-T_CACODEMON;
-T_CACODEMONSHOT;
-T_CELL;
-T_CENTAUR;
-T_CENTAUR_MASH;
-T_CENTAURLEADER;
-T_CHAINGUN;
-T_CHAINGUY;
-T_CHAINSAW;
-T_CHICKEN;
-T_CLERICHOLY1;
-T_CLERICHOLY2;
-T_CLERICHOLY3;
-T_CLERICSTAFF;
-T_CLINK;
-T_CLIP;
-T_COMPUTERMAP;
-T_CROSSBOW;
-T_CROSSBOWMAINBLAST;
-T_CROSSBOWMINIBLAST;
-T_CROSSBOWPOWERBLAST;
-T_CYBERDEMON;
-T_DART;
-T_DEATHBALL;
-T_DEMON;
-T_DEMON_MASH;
-T_DEMON1;
-T_DEMON2_MASH;
-T_DIRT1;
-T_DIRT2;
-T_DIRT3;
-T_DIRT4;
-T_DIRT5;
-T_DIRT6;
-T_DRAGONSKINBRACERS;
-T_DSPARILALONE;
-T_DSPARILBLUESHOT;
-T_DSPARILONSERPENT;
-T_DSPARILTELEPORTDEST;
-T_DSPARILWIZARDSPAWNER;
-T_EMERALDKEY;
-T_ETTIN;
-T_ETTIN_MASH;
-T_FALCONSHIELD;
-T_FEATHER;
-T_FIGHTERAXE;
-T_FIGHTERHAMMER;
-T_FIGHTERSWORD1;
-T_FIGHTERSWORD2;
-T_FIGHTERSWORD3;
-T_FIREBALL1;
-T_FIREGARGOYLE;
-T_FIREKEY;
-T_FLAME_LARGE;
-T_FLAME_SMALL;
-T_FLAMINGBARREL;
-T_FLESH_DRIP1;
-T_FLESH_DRIP2;
-T_GAUNTLETS;
-T_GREENARMOR;
-T_GREENKEY;
-T_GUTS;
-T_HEALTHBONUS;
-T_HEAVYMACEBALL;
-T_HEFTYBLASTERAMMO;
-T_HEFTYCROSSBOWAMMO;
-T_HEFTYMACEAMMO;
-T_HEFTYPHOENIXRODAMMO;
-T_HEFTYSKULLRODAMMO;
-T_HEFTYWANDAMMO;
-T_HELLKNIGHT;
-T_HORNKEY;
-T_ICEGOLEM;
-T_ICESHARD;
-T_IMP;
-T_IMPFIREBALL;
-T_IMPLEADER;
-T_INVISIBILITY;
-T_INVULNERABILITY;
-T_IRONFEET;
-T_IRONLICH;
-T_IRONLICHBLUESHOT;
-T_ITEMALLMAP;
-T_ITEMBAGOFHOLDING;
-T_ITEMBOOSTMANA;
-T_ITEMBOOTS;
-T_ITEMEGG;
-T_ITEMFLECHETTE;
-T_ITEMFLIGHT;
-T_ITEMHEALTHFLASH;
-T_ITEMHEALTHFLASK;
-T_ITEMHEALTHFULL;
-T_ITEMHEALTHPOTION;
-T_ITEMINVISIBILITY;
-T_ITEMINVULNERABILITY;
-T_ITEMPORK;
-T_ITEMREPULSION;
-T_ITEMSUMMON;
-T_ITEMTELEPORT;
-T_ITEMTIMEBOMB;
-T_ITEMTOME;
-T_ITEMTORCH;
-T_ITEMTPORTOTHER;
-T_KNIGHT;
-T_KNIGHTAXE;
-T_KNIGHTBLOODAXE;
-T_KNIGHTGHOST;
-T_LIGHTAMP;
-T_LOSTSOUL;
-T_MACE;
-T_MACEKEY;
-T_MAGESHARDS;
-T_MAGESTAFF1;
-T_MAGESTAFF2;
-T_MAGESTAFF3;
-T_MANA1;
-T_MANA2;
-T_MANA3;
-T_MANCUBUS;
-T_MANCUBUSSHOT;
-T_MEDKIT;
-T_MEGASPHERE;
-T_MESHARMOR;
-T_METALKEY;
-T_MORPHBLAST;
-T_MUMMY;
-T_MUMMYGHOST;
-T_MUMMYHEAD;
-T_MUMMYLEADER;
-T_MUMMYLEADERGHOST;
-T_NOGRAVITYMACEBALL;
-T_NONE;
-T_PAINELEMENTAL;
-T_PERMLARGEFLAME;
-T_PERMSMALLFLAME;
-T_PHOENIXROD;
-T_PHOENIXSHOT;
-T_PLASMABOLT;
-T_PLASMAGUN;
-T_PLATINUMHELM;
-T_POD;
-T_PODGENERATOR;
-T_POISONDART;
-T_POWERWANDBIGGERBLAST;
-T_POWERWANDMINIBLAST;
-T_PUFF;
-T_PUZZBOOK1;
-T_PUZZBOOK2;
-T_PUZZGEMBIG;
-T_PUZZGEMBLUE1;
-T_PUZZGEMBLUE2;
-T_PUZZGEMGREEN1;
-T_PUZZGEMGREEN2;
-T_PUZZGEMRED;
-T_PUZZSKULL;
-T_REDKEYCARD;
-T_REDSKULLKEY;
-T_REDTELEGLITTER;
-T_REVENANT;
-T_RIPPER;
-T_RIPPERBALL;
-T_ROCK1;
-T_ROCK2;
-T_ROCK3;
-T_ROCKET;
-T_ROCKETAMMO;
-T_ROCKETBOX;
-T_ROCKETLAUNCHER;
-T_RUSTYKEY;
-T_SCRIPTEDMARINE;
-T_SERPENTFIREBALL;
-T_SERPENTKEY;
-T_SHELLBOX;
-T_SHELLS;
-T_SHIELD1;
-T_SHIELD2;
-T_SHOTGUN;
-T_SHOTGUY;
-T_SILVERKEY;
-T_SKULLROD;
-T_SKULLRODBLAST;
-T_SMALLMETALKEY;
-T_SNAKE;
-T_SNAKEPROJECTILE;
-T_SNAKEPROJECTILEBIG;
-T_SOULSPHERE;
-T_SOUND_WATERFALL;
-T_SOUND_WIND;
-T_SPARK_DRIP;
-T_SPECTRE;
-T_SPIDERMASTERMIND;
-T_STAINEDGLASS0;
-T_STAINEDGLASS1;
-T_STAINEDGLASS2;
-T_STAINEDGLASS3;
-T_STAINEDGLASS4;
-T_STAINEDGLASS5;
-T_STAINEDGLASS6;
-T_STAINEDGLASS7;
-T_STAINEDGLASS8;
-T_STAINEDGLASS9;
-T_STEALTHARACHNOTRON;
-T_STEALTHBARON;
-T_STEALTHCACODEMON;
-T_STEALTHCHAINGUY;
-T_STEALTHIMP;
-T_STEALTHKNIGHT;
-T_STEALTHMANCUBUS;
-T_STEALTHREVENANT;
-T_STEALTHSERGEANT;
-T_STEALTHSHOTGUY;
-T_STEALTHVILE;
-T_STEALTHZOMBIE;
-T_STIMPACK;
-T_SUPERSHOTGUN;
-T_TEMPLARGEFLAME;
-T_TEMPSMALLFLAME;
-T_THRUSTSPIKEDOWN;
-T_THRUSTSPIKEUP;
-T_TINYVOLCANOBALL;
-T_TRACER;
-T_VILE;
-T_VOLCANO;
-T_VOLCANOBALL;
-T_WATERDRIP;
-T_WATERLURKER;
-T_WATERLURKERLEADER;
-T_WHIRLWIND;
-T_WIMPYBLASTERAMMO;
-T_WIMPYCROSSBOWAMMO;
-T_WIMPYMACEAMMO;
-T_WIMPYPHOENIXRODAMMO;
-T_WIMPYSKULLRODAMMO;
-T_WIMPYWANDAMMO;
-T_WIZARD;
-T_WIZARDSHOT;
-T_WOLFSS;
-T_WRAITH;
-T_WRAITHBURIED;
-T_YELLOWKEY;
-T_YELLOWKEYCARD;
-T_YELLOWSKULLKEY;
-T_ZOMBIE;
-TEXFLAG_ADDOFFSET;
-TEXFLAG_BOTTOM;
-TEXFLAG_MIDDLE;
-TEXFLAG_TOP;
-TEXTURE_BOTTOM;
-TEXTURE_MIDDLE;
-TEXTURE_TOP;
-TRUE;
-YES;
-}
+	AAPTR_DEFAULT;
+	AAPTR_FRIENDPLAYER;
+	AAPTR_MASTER;
+	AAPTR_NULL;
+	AAPTR_PLAYER_GETCONVERSATION;
+	AAPTR_PLAYER_GETTARGET;
+	AAPTR_PLAYER1;
+	AAPTR_PLAYER2;
+	AAPTR_PLAYER3;
+	AAPTR_PLAYER4;
+	AAPTR_PLAYER5;
+	AAPTR_PLAYER6;
+	AAPTR_PLAYER7;
+	AAPTR_PLAYER8;
+	AAPTR_TARGET;
+	AAPTR_TRACER;
+	ACTOR_ALIVE;
+	ACTOR_BOT;
+	ACTOR_DEAD;
+	ACTOR_GENERIC;
+	ACTOR_MISSILE;
+	ACTOR_MONSTER;
+	ACTOR_NONE;
+	ACTOR_PLAYER;
+	ACTOR_VOODOODOLL;
+	ACTOR_WORLD;
+	APROP_Accuracy;
+	APROP_ActiveSound;
+	APROP_Alpha;
+	APROP_Ambush;
+	APROP_AttackSound;
+	APROP_ChaseGoal;
+	APROP_Damage;
+	APROP_DamageFactor;
+	APROP_DeathSound;
+	APROP_Dormant;
+	APROP_Dropped;
+	APROP_Friendly;
+	APROP_Frightened;
+	APROP_Gravity;
+	APROP_Health;
+	APROP_Height;
+	APROP_Invulnerable;
+	APROP_JumpZ;
+	APROP_Mass;
+	APROP_MasterTID;
+	APROP_MeleeRange;
+	APROP_NameTag;
+	APROP_NoTarget;
+	APROP_NoTrigger;
+	APROP_PainSound;
+	APROP_Radius;
+	APROP_RenderStyle;
+	APROP_ScaleX;
+	APROP_ScaleY;
+	APROP_Score;
+	APROP_SeeSound;
+	APROP_SpawnHealth;
+	APROP_Species;
+	APROP_Speed;
+	APROP_Stamina;
+	APROP_TargetTID;
+	APROP_TracerTID;
+	APROP_Waterlevel;
+	ATTN_IDLE;
+	ATTN_NONE;
+	ATTN_NORM;
+	ATTN_STATIC;
+	BLOCK_CREATURES;
+	BLOCK_EVERYTHING;
+	BLOCK_NOTHING;
+	BLOCK_PLAYERS;
+	BLOCK_RAILING;
+	BLOCKF_CREATURES;
+	BLOCKF_EVERYTHING;
+	BLOCKF_FLOATERS;
+	BLOCKF_MONSTERS;
+	BLOCKF_PLAYERS;
+	BLOCKF_PROJECTILES;
+	BLOCKF_RAILING;
+	BLOCKF_SIGHT;
+	BLOCKF_USE;
+	BT_ALTATTACK;
+	BT_ATTACK;
+	BT_BACK;
+	BT_CROUCH;
+	BT_FORWARD;
+	BT_JUMP;
+	BT_LEFT;
+	BT_LOOKDOWN;
+	BT_LOOKUP;
+	BT_MOVEDOWN;
+	BT_MOVELEFT;
+	BT_MOVERIGHT;
+	BT_MOVEUP;
+	BT_RELOAD;
+	BT_RIGHT;
+	BT_SHOWSCORES;
+	BT_SPEED;
+	BT_STRAFE;
+	BT_TURN180;
+	BT_USE;
+	BT_USER1;
+	BT_USER2;
+	BT_USER3;
+	BT_USER4;
+	BT_ZOOM;
+	CARRY;
+	CHAN_AUTO;
+	CHAN_BODY;
+	CHAN_ITEM;
+	CHAN_LISTENERZ;
+	CHAN_MAYBE_LOCAL;
+	CHAN_NOPAUSE;
+	CHAN_UI;
+	CHAN_VOICE;
+	CHAN_WEAPON;
+	CHANGELEVEL_KEEPFACING;
+	CHANGELEVEL_NOINTERMISSION;
+	CHANGELEVEL_NOMONSTERS;
+	CHANGELEVEL_PRERAISEWEAPON;
+	CHANGELEVEL_RESETHEALTH;
+	CHANGELEVEL_RESETINVENTORY;
+	CLASS_CLERIC;
+	CLASS_FIGHTER;
+	CLASS_MAGE;
+	CR_BLACK;
+	CR_BLUE;
+	CR_BRICK;
+	CR_BROWN;
+	CR_CREAM;
+	CR_CYAN;
+	CR_DARKBROWN;
+	CR_DARKGRAY;
+	CR_DARKGREEN;
+	CR_DARKGREY;
+	CR_DARKRED;
+	CR_GOLD;
+	CR_GRAY;
+	CR_GREEN;
+	CR_GREY;
+	CR_LIGHTBLUE;
+	CR_OLIVE;
+	CR_ORANGE;
+	CR_PURPLE;
+	CR_RED;
+	CR_TAN;
+	CR_UNTRANSLATED;
+	CR_WHITE;
+	CR_YELLOW;
+	CSF_NOBLOCKALL;
+	CSF_NOFAKEFLOORS;
+	DAMAGE_IN_AIR;
+	DAMAGE_NONPLAYERS;
+	DAMAGE_PLAYERS;
+	DAMAGE_SUBCLASSES_PROTECT;
+	FALSE;
+	FOGP_DENSITY;
+	FOGP_OUTSIDEDENSITY;
+	FOGP_SKYFOG;
+	GAME_NET_COOPERATIVE;
+	GAME_NET_DEATHMATCH;
+	GAME_SINGLE_PLAYER;
+	GAME_TITLE_MAP;
+	HUDMSG_ADDBLEND;
+	HUDMSG_ALPHA;
+	HUDMSG_COLORSTRING;
+	HUDMSG_FADEINOUT;
+	HUDMSG_FADEOUT;
+	HUDMSG_LAYER_OVERHUD;
+	HUDMSG_LAYER_OVERMAP;
+	HUDMSG_LAYER_UNDERHUD;
+	HUDMSG_LOG;
+	HUDMSG_NOTWITH3DVIEW;
+	HUDMSG_NOTWITHFULLMAP;
+	HUDMSG_NOTWITHOVERLAYMAP;
+	HUDMSG_NOWRAP;
+	HUDMSG_PLAIN;
+	HUDMSG_TYPEON;
+	INPUT_BUTTONS;
+	INPUT_FORWARDMOVE;
+	INPUT_OLDBUTTONS;
+	INPUT_PITCH;
+	INPUT_ROLL;
+	INPUT_SIDEMOVE;
+	INPUT_UPMOVE;
+	INPUT_YAW;
+	IS_BOSSFIGHT;
+	IS_COUNTDOWN;
+	IS_FIRSTCOUNTDOWN;
+	IS_INPROGRESS;
+	IS_WAITINGFORPLAYERS;
+	IS_WAVECOMPLETE;
+	LEVELINFO_CLUSTERNUM;
+	LEVELINFO_FOUND_ITEMS;
+	LEVELINFO_FOUND_SECRETS;
+	LEVELINFO_KILLED_MONSTERS;
+	LEVELINFO_LEVELNUM;
+	LEVELINFO_PAR_TIME;
+	LEVELINFO_SUCK_TIME;
+	LEVELINFO_TOTAL_ITEMS;
+	LEVELINFO_TOTAL_MONSTERS;
+	LEVELINFO_TOTAL_SECRETS;
+	LINE_BACK;
+	LINE_FRONT;
+	MARINEWEAPON_BerserkFist;
+	MARINEWEAPON_BFG;
+	MARINEWEAPON_Chaingun;
+	MARINEWEAPON_Chainsaw;
+	MARINEWEAPON_Dummy;
+	MARINEWEAPON_Fist;
+	MARINEWEAPON_Pistol;
+	MARINEWEAPON_PlasmaRifle;
+	MARINEWEAPON_Railgun;
+	MARINEWEAPON_RocketLauncher;
+	MARINEWEAPON_Shotgun;
+	MARINEWEAPON_SuperShotgun;
+	MOD_BFG_SPLASH;
+	MOD_CRUSH;
+	MOD_DISINTEGRATE;
+	MOD_ELECTRIC;
+	MOD_EXIT;
+	MOD_FALLING;
+	MOD_HIT;
+	MOD_ICE;
+	MOD_LAVA;
+	MOD_POISON;
+	MOD_RAILGUN;
+	MOD_SLIME;
+	MOD_SUICIDE;
+	MOD_TELEFRAG;
+	MOD_UNKNOWN;
+	MOD_WATER;
+	MODINPUT_BUTTONS;
+	MODINPUT_FORWARDMOVE;
+	MODINPUT_OLDBUTTONS;
+	MODINPUT_PITCH;
+	MODINPUT_ROLL;
+	MODINPUT_SIDEMOVE;
+	MODINPUT_UPMOVE;
+	MODINPUT_YAW;
+	MOVIE_Failed;
+	MOVIE_Played;
+	MOVIE_Played_Aborted;
+	MOVIE_Played_NoVideo;
+	MRF_ADDSTAMINA;
+	MRF_FAILNOLAUGH;
+	MRF_FAILNOTELEFRAG;
+	MRF_FULLHEALTH;
+	MRF_LOSEACTUALWEAPON;
+	MRF_NEWTIDBEHAVIOUR;
+	MRF_OLDEFFECTS;
+	MRF_UNDOBYCHAOSDEVICE;
+	MRF_UNDOBYDEATH;
+	MRF_UNDOBYDEATHFORCED;
+	MRF_UNDOBYDEATHSAVES;
+	MRF_UNDOBYTOMEOFPOWER;
+	MRF_WHENINVULNERABLE;
+	NO;
+	NO_CHANGE;
+	NO_TEAM;
+	NOT_BOTTOM;
+	NOT_CEILING;
+	NOT_FLOOR;
+	NOT_MIDDLE;
+	NOT_TOP;
+	OFF;
+	ON;
+	PLAYERINFO_AIMDIST;
+	PLAYERINFO_COLOR;
+	PLAYERINFO_DESIREDFOV;
+	PLAYERINFO_FOV;
+	PLAYERINFO_GENDER;
+	PLAYERINFO_MOVEBOB;
+	PLAYERINFO_NEVERSWITCH;
+	PLAYERINFO_PLAYERCLASS;
+	PLAYERINFO_STILLBOB;
+	PLAYERINFO_TEAM;
+	PRINTNAME_LEVEL;
+	PRINTNAME_LEVELNAME;
+	PRINTNAME_SKILL;
+	PROP_ALLMAP;
+	PROP_BUDDHA;
+	PROP_FLIGHT;
+	PROP_FLY;
+	PROP_FROZEN;
+	PROP_INFRARED;
+	PROP_INSTANTWEAPONSWITCH;
+	PROP_INVISIBILITY;
+	PROP_INVULNERABILITY;
+	PROP_NOTARGET;
+	PROP_RADIATIONSUIT;
+	PROP_SPEED;
+	PROP_STRENGTH;
+	PROP_TOTALLYFROZEN;
+	PROP_WEAPONLEVEL2;
+	PTROP_NOSAFEGUARDS;
+	PTROP_UNSAFEMASTER;
+	PTROP_UNSAFETARGET;
+	SCROLL;
+	SCROLL_AND_CARRY;
+	SECF_FLOORDROP;
+	SECF_NOFALLINGDAMAGE;
+	SECF_NORESPAWN;
+	SECF_SILENT;
+	SECSEQ_CEILING;
+	SECSEQ_FLOOR;
+	SECSEQ_FULLHEIGHT;
+	SECSEQ_INTERIOR;
+	SIDE_BACK;
+	SIDE_FRONT;
+	SKILL_EASY;
+	SKILL_HARD;
+	SKILL_NORMAL;
+	SKILL_VERY_EASY;
+	SKILL_VERY_HARD;
+	STYLE_Add;
+	STYLE_Fuzzy;
+	STYLE_None;
+	STYLE_Normal;
+	STYLE_OptFuzzy;
+	STYLE_Shaded;
+	STYLE_SoulTrans;
+	STYLE_Stencil;
+	STYLE_Translucent;
+	STYLE_TranslucentStencil;
+	T_ABADDON;
+	T_ABADDONSHOT;
+	T_AMMOBOX;
+	T_AMULETOFWARDING;
+	T_ANTIGRAVBELT;
+	T_ARACHNOTRON;
+	T_ARACHNOTRONPLASMA;
+	T_ARMORBONUS;
+	T_ARROW;
+	T_AXEKEY;
+	T_BACKPACK;
+	T_BARON;
+	T_BARONBALL;
+	T_BARREL;
+	T_BATTERY;
+	T_BEAST;
+	T_BEASTBALL;
+	T_BELPHEGOR;
+	T_BERSERK;
+	T_BFG;
+	T_BFG10000;
+	T_BFG10KSHOT;
+	T_BFGSHOT;
+	T_BISHOP;
+	T_BLADE;
+	T_BLASTER;
+	T_BLOOD;
+	T_BLOODDEMON;
+	T_BLOODPOOL;
+	T_BLOODPOOL1;
+	T_BLOODPOOL2;
+	T_BLUEARMOR;
+	T_BLUEFLAG;
+	T_BLUEKEY;
+	T_BLUEKEYCARD;
+	T_BLUESKULLKEY;
+	T_BLUETELEGLITTER;
+	T_BOUNCYMACEBALL;
+	T_BRAINS;
+	T_BRIDGE;
+	T_CACODEMON;
+	T_CACODEMONSHOT;
+	T_CACOLANTERN;
+	T_CACOLANTERNSHOT;
+	T_CELL;
+	T_CENTAUR;
+	T_CENTAUR_MASH;
+	T_CENTAURLEADER;
+	T_CHAINGUN;
+	T_CHAINGUY;
+	T_CHAINSAW;
+	T_CHICKEN;
+  T_CLERICHOLY1;
+  T_CLERICHOLY2;
+  T_CLERICHOLY3;
+  T_CLERICSTAFF;
+  T_CLINK;
+  T_CLIP;
+  T_COMPUTERMAP;
+  T_CROSSBOW;
+  T_CROSSBOWMAINBLAST;
+  T_CROSSBOWMINIBLAST;
+  T_CROSSBOWPOWERBLAST;
+  T_CYBERDEMON;
+  T_DARKIMP;
+  T_DARKIMPFIREBALL;
+  T_DART;
+  T_DEATHBALL;
+  T_DEMON;
+  T_DEMON_MASH;
+  T_DEMON1;
+  T_DEMON2_MASH;
+  T_DIRT1;
+  T_DIRT2;
+  T_DIRT3;
+  T_DIRT4;
+  T_DIRT5;
+  T_DIRT6;
+  T_DOOMSPHERE;
+  T_DRAGONSKINBRACERS;
+  T_DRAIN;
+  T_DSPARILALONE;
+  T_DSPARILBLUESHOT;
+  T_DSPARILONSERPENT;
+  T_DSPARILTELEPORTDEST;
+  T_DSPARILWIZARDSPAWNER;
+  T_EMERALDKEY;
+  T_ETTIN;
+  T_ETTIN_MASH;
+  T_FALCONSHIELD;
+  T_FEATHER;
+  T_FIGHTERAXE;
+  T_FIGHTERHAMMER;
+  T_FIGHTERSWORD1;
+  T_FIGHTERSWORD2;
+  T_FIGHTERSWORD3;
+  T_FIREBALL1;
+  T_FIREGARGOYLE;
+  T_FIREKEY;
+  T_FLAME_LARGE;
+  T_FLAME_SMALL;
+  T_FLAMINGBARREL;
+  T_FLESH_DRIP1;
+  T_FLESH_DRIP2;
+  T_GAUNTLETS;
+  T_GREENARMOR;
+  T_GREENKEY;
+  T_GRENADE;
+  T_GRENADELAUNCHER;
+  T_GUTS;
+  T_HASTE;
+  T_HEALTHBONUS;
+  T_HEAVYMACEBALL;
+  T_HECTEBUS;
+  T_HEFTYBLASTERAMMO;
+  T_HEFTYCROSSBOWAMMO;
+  T_HEFTYMACEAMMO;
+  T_HEFTYPHOENIXRODAMMO;
+  T_HEFTYSKULLRODAMMO;
+  T_HEFTYWANDAMMO;
+  T_HELLKNIGHT;
+  T_HIGHJUMP;
+  T_HORNKEY;
+  T_ICEGOLEM;
+  T_ICESHARD;
+  T_IMP;
+  T_IMPFIREBALL;
+  T_IMPLEADER;
+  T_INFRAGOGGLES;
+  T_INFRATRACKER;
+  T_INVISIBILITY;
+  T_INVULNERABILITY;
+  T_IRONFEET;
+  T_IRONLICH;
+  T_IRONLICHBLUESHOT;
+  T_ITEMALLMAP;
+  T_ITEMBAGOFHOLDING;
+  T_ITEMBOOSTMANA;
+  T_ITEMBOOTS;
+  T_ITEMEGG;
+  T_ITEMFLECHETTE;
+  T_ITEMFLIGHT;
+  T_ITEMHEALTHFLASH;
+  T_ITEMHEALTHFLASK;
+  T_ITEMHEALTHFULL;
+  T_ITEMHEALTHPOTION;
+  T_ITEMINVISIBILITY;
+  T_ITEMINVULNERABILITY;
+  T_ITEMPORK;
+  T_ITEMREPULSION;
+  T_ITEMSUMMON;
+  T_ITEMTELEPORT;
+  T_ITEMTIMEBOMB;
+  T_ITEMTOME;
+  T_ITEMTORCH;
+  T_ITEMTPORTOTHER;
+  T_KNIGHT;
+  T_KNIGHTAXE;
+  T_KNIGHTBLOODAXE;
+  T_KNIGHTGHOST;
+  T_LIGHTAMP;
+  T_LOSTSOUL;
+  T_MACE;
+  T_MACEKEY;
+  T_MAGESHARDS;
+  T_MAGESTAFF1;
+  T_MAGESTAFF2;
+  T_MAGESTAFF3;
+  T_MANA1;
+  T_MANA2;
+  T_MANA3;
+  T_MANCUBUS;
+  T_MANCUBUSSHOT;
+  T_MAXARMORBONUS;
+  T_MAXHEALTHBONUS;
+  T_MEDKIT;
+  T_MEGASPHERE;
+  T_MESHARMOR;
+  T_METALKEY;
+  T_MINIGUN;
+  T_MORPHBLAST;
+  T_MUMMY;
+  T_MUMMYGHOST;
+  T_MUMMYHEAD;
+  T_MUMMYLEADER;
+  T_MUMMYLEADERGHOST;
+  T_NOGRAVITYMACEBALL;
+  T_NONE;
+  T_PAINELEMENTAL;
+  T_PERMLARGEFLAME;
+  T_PERMSMALLFLAME;
+  T_PHOENIXROD;
+  T_PHOENIXSHOT;
+  T_PISTOL;
+  T_PLASMABOLT;
+  T_PLASMAGUN;
+  T_PLATINUMHELM;
+  T_POD;
+  T_PODGENERATOR;
+  T_POISONDART;
+  T_POWERWANDBIGGERBLAST;
+  T_POWERWANDMINIBLAST;
+  T_PROSPERITY;
+  T_PUFF;
+  T_PUZZBOOK1;
+  T_PUZZBOOK2;
+  T_PUZZGEMBIG;
+  T_PUZZGEMBLUE1;
+  T_PUZZGEMBLUE2;
+  T_PUZZGEMGREEN1;
+  T_PUZZGEMGREEN2;
+  T_PUZZGEMRED;
+  T_PUZZSKULL;
+  T_RAGE;
+  T_RAILGUN;
+  T_RANDOMPOWERUP;
+  T_REDARMOR;
+  T_REDFLAG;
+  T_REDKEYCARD;
+  T_REDSKULLKEY;
+  T_REDTELEGLITTER;
+  T_REFLECTION;
+  T_REGENERATION;
+  T_RESISTANCE;
+  T_REVENANT;
+  T_RIPPER;
+  T_RIPPERBALL;
+  T_ROCK1;
+  T_ROCK2;
+  T_ROCK3;
+  T_ROCKET;
+  T_ROCKETAMMO;
+  T_ROCKETBOX;
+  T_ROCKETLAUNCHER;
+  T_RUSTYKEY;
+  T_SCRIPTEDMARINE;
+  T_SERPENTFIREBALL;
+  T_SERPENTKEY;
+  T_SHELLBOX;
+  T_SHELLS;
+  T_SHIELD1;
+  T_SHIELD2;
+  T_SHOTGUN;
+  T_SHOTGUY;
+  T_SILVERKEY;
+  T_SKULLROD;
+  T_SKULLRODBLAST;
+  T_SMALLMETALKEY;
+  T_SNAKE;
+  T_SNAKEPROJECTILE;
+  T_SNAKEPROJECTILEBIG;
+  T_SOULSPHERE;
+  T_SOUND_WATERFALL;
+  T_SOUND_WIND;
+  T_SPARK_DRIP;
+  T_SPECTRE;
+  T_SPIDERMASTERMIND;
+  T_SPREAD;
+  T_SSGGUY;
+  T_STAINEDGLASS0;
+  T_STAINEDGLASS1;
+  T_STAINEDGLASS2;
+  T_STAINEDGLASS3;
+  T_STAINEDGLASS4;
+  T_STAINEDGLASS5;
+  T_STAINEDGLASS6;
+  T_STAINEDGLASS7;
+  T_STAINEDGLASS8;
+  T_STAINEDGLASS9;
+  T_STEALTHARACHNOTRON;
+  T_STEALTHBARON;
+  T_STEALTHCACODEMON;
+  T_STEALTHCHAINGUY;
+  T_STEALTHIMP;
+  T_STEALTHKNIGHT;
+  T_STEALTHMANCUBUS;
+  T_STEALTHREVENANT;
+  T_STEALTHSERGEANT;
+  T_STEALTHSHOTGUY;
+  T_STEALTHVILE;
+  T_STEALTHZOMBIE;
+  T_STIMPACK;
+  T_STRENGTH;
+  T_SUPERSHOTGUN;
+  T_TEMPLARGEFLAME;
+  T_TEMPSMALLFLAME;
+	T_THRUSTSPIKEDOWN;
+	T_THRUSTSPIKEUP;
+	T_TIMEFREEZER;
+	T_TINYVOLCANOBALL;
+	T_TRACER;
+	T_TRANSLUCENCY;
+	T_TURBOSPHERE;
+	T_VILE;
+	T_VOLCANO;
+	T_VOLCANOBALL;
+	T_WATERDRIP;
+	T_WATERLURKER;
+	T_WATERLURKERLEADER;
+	T_WHIRLWIND;
+	T_WHITEFLAG;
+	T_WIMPYBLASTERAMMO;
+	T_WIMPYCROSSBOWAMMO;
+	T_WIMPYMACEAMMO;
+	T_WIMPYPHOENIXRODAMMO;
+	T_WIMPYSKULLRODAMMO;
+	T_WIMPYWANDAMMO;
+	T_WIZARD;
+	T_WIZARDSHOT;
+	T_WOLFSS;
+	T_WRAITH;
+	T_WRAITHBURIED;
+	T_YELLOWKEY;
+	T_YELLOWKEYCARD;
+	T_YELLOWSKULLKEY;
+	T_ZOMBIE;
+	TEAM_BLUE;
+	TEAM_RED;
+	TEXFLAG_ADDOFFSET;
+	TEXFLAG_BOTTOM;
+	TEXFLAG_MIDDLE;
+	TEXFLAG_TOP;
+	TEXTURE_BOTTOM;
+	TEXTURE_MIDDLE;
+	TEXTURE_TOP;
+	TRUE;
+	YES;
+}
\ No newline at end of file