UltimateZoneBuilder/Build/Compilers/ZDoom/zspecial.acs

447 lines
12 KiB
Text
Executable file

//**************************************************************************
//**
//** zspecials.acs
//**
//**************************************************************************
special
// 1:Polyobj_StartLine
2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight(3),
4:Polyobj_Move(4),
// 5:Polyobj_ExplicitLine
6:Polyobj_MoveTimes8(4),
7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5),
9:Line_Horizon(0),
10:Door_Close(2,3),
11:Door_Open(2,3),
12:Door_Raise(3,4),
13:Door_LockedRaise(4,5),
14:Door_Animated(3,4),
15:Autosave(0),
// 16:Transfer_WallLight
17:Thing_Raise(1,2),
18:StartConversation(1,2),
19:Thing_Stop(1),
20:Floor_LowerByValue(3,4),
21:Floor_LowerToLowest(2,3),
22:Floor_LowerToNearest(2,3),
23:Floor_RaiseByValue(3,5),
24:Floor_RaiseToHighest(2,5),
25:Floor_RaiseToNearest(2,4),
26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5),
28:Floor_RaiseAndCrush(3,4),
29:Pillar_Build(3),
30:Pillar_Open(4),
31:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4),
33:ForceField(0),
34:ClearForceField(1),
35:Floor_RaiseByValueTimes8(3,5),
36:Floor_LowerByValueTimes8(3,4),
37:Floor_MoveToValue(3,5),
38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2),
40:Ceiling_LowerByValue(3,5),
41:Ceiling_RaiseByValue(3,4),
42:Ceiling_CrushAndRaise(3,4),
43:Ceiling_LowerAndCrush(3,4),
44:Ceiling_CrushStop(1,2),
45:Ceiling_CrushRaiseAndStay(3,4),
46:Floor_CrushStop(1),
47:Ceiling_MoveToValue(3,5),
// 48:Sector_Attach3dMidtex
49:GlassBreak(0,2),
// 50:ExtraFloor_LightOnly
51:Sector_SetLink(4),
52:Scroll_Wall(5),
53:Line_SetTextureOffset(5),
54:Sector_ChangeFlags(3),
55:Line_SetBlocking(3),
56:Line_SetTextureScale(5),
// 57: Sector_SetPortal
// 58: Sector_CopyScroller
59:Polyobj_OR_MoveToSpot(3),
60:Plat_PerpetualRaise(3),
61:Plat_Stop(1,2),
62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4),
66:Floor_LowerInstant(3,4),
67:Floor_RaiseInstant(3,5),
68:Floor_MoveToValueTimes8(4,5),
69:Ceiling_MoveToValueTimes8(4,5),
70:Teleport(1,3),
71:Teleport_NoFog(1,4),
72:ThrustThing(2,4),
73:DamageThing(1,2),
74:Teleport_NewMap(2,3),
75:Teleport_EndGame(0),
76:TeleportOther(3),
77:TeleportGroup(5),
78:TeleportInSector(4,5),
79:Thing_SetConversation(2),
80:ACS_Execute(2,5),
81:ACS_Suspend(2),
82:ACS_Terminate(2),
83:ACS_LockedExecute(5),
84:ACS_ExecuteWithResult(1,5),
85:ACS_LockedExecuteDoor(5),
86:Polyobj_MoveToSpot(3),
87:Polyobj_Stop(1),
88:Polyobj_MoveTo(4),
89:Polyobj_OR_MoveTo(4),
90:Polyobj_OR_RotateLeft(3),
91:Polyobj_OR_RotateRight(3),
92:Polyobj_OR_Move(4),
93:Polyobj_OR_MoveTimes8(4),
94:Pillar_BuildAndCrush(4,5),
95:FloorAndCeiling_LowerByValue(3),
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
// 103:Scroll_Texture_Down
104:Ceiling_CrushAndRaiseSilentDist(4,5),
105:Door_WaitRaise(4,5),
106:Door_WaitClose(3,4),
107:Line_SetPortalTarget(2),
109:Light_ForceLightning(1),
110:Light_RaiseByValue(2),
111:Light_LowerByValue(2),
112:Light_ChangeToValue(2),
113:Light_Fade(3),
114:Light_Glow(4),
115:Light_Flicker(3),
116:Light_Strobe(5),
117:Light_Stop(1),
// 118:Plane_Copy
119:Thing_Damage(2,3),
120:Radius_Quake(5),
// 121:Line_SetIdentification
125:Thing_Move(2,3),
127:Thing_SetSpecial(5),
128:ThrustThingZ(4),
129:UsePuzzleItem(0), // only for setting it on a line. Cannot be called!
130:Thing_Activate(1),
131:Thing_Deactivate(1),
132:Thing_Remove(1),
133:Thing_Destroy(1,3),
134:Thing_Projectile(5),
135:Thing_Spawn(3,4),
136:Thing_ProjectileGravity(5),
137:Thing_SpawnNoFog(3,4),
138:Floor_Waggle(5),
139:Thing_SpawnFacing(2,4),
140:Sector_ChangeSound(2),
143:Player_RemoveItem(2), // Skulltag Functions
144:Player_GiveItem(2), // Skulltag Functions
145:Player_SetTeam(1), // Skulltag Functions
150:Line_SetHealth(2),
151:Sector_SetHealth(3),
152:Team_Score(2), // Skulltag Functions
153:Team_GivePoints(3), // Skulltag Functions
154:Teleport_NoStop(2, 3),
157:SetGlobalFogParameter(2), // GZDoom only!
158:FS_Execute(1,4),
159:Sector_SetPlaneReflection(3), // GZDoom only!
// 160:Sector_Set3DFloor
// 161:Sector_SetContents
168:Ceiling_CrushAndRaiseDist(3,5),
169:Generic_Crusher2(5),
170:Sector_SetCeilingScale2(3),
171:Sector_SetFloorScale2(3),
172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2),
174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5),
176:Thing_ChangeTID(2),
177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1),
180:Thing_SetTranslation(2),
// 181:Plane_Align,
182:Line_Mirror(0),
183:Line_AlignCeiling(2),
184:Line_AlignFloor(2),
185:Sector_SetRotation(3),
186:Sector_SetCeilingPanning(5),
187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2,5),
193:Ceiling_LowerInstant(3,5),
194:Ceiling_RaiseInstant(3,4),
195:Ceiling_CrushRaiseAndStayA(4,5),
196:Ceiling_CrushAndRaiseA(4,5),
197:Ceiling_CrushAndRaiseSilentA(4,5),
198:Ceiling_RaiseByValueTimes8(3,4),
199:Ceiling_LowerByValueTimes8(3,5),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
203:Generic_Lift(5),
204:Generic_Stairs(5),
205:Generic_Crusher(5),
206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3),
// 209:Transfer_Heights,
// 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3,5),
215:Teleport_Line(2,3),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
219:Sector_SetFriction(2),
220:Sector_SetCurrent(4),
221:Scroll_Texture_Both(5),
// 222:Scroll_Texture_Model,
223:Scroll_Floor(4),
224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2,3),
229:Thing_SetGoal(3,4),
230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1),
232:Light_StrobeDoom(3),
233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2,5),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2,4),
241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3,4),
243:Exit_Normal(1),
244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2),
246:Elevator_MoveToFloor(2),
247:Elevator_LowerToNearest(2),
248:HealThing(1,2),
249:Door_CloseWaitOpen(3, 4),
250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3,4),
252:Ceiling_RaiseToNearest(2,3),
253:Ceiling_LowerToLowest(2,4),
254:Ceiling_LowerToFloor(2,5),
255:Ceiling_CrushRaiseAndStaySilA(4,5),
// These are specialized versions of the Generic_* specials which are defined for EE Extradata.
256:Floor_LowerToHighestEE(2, 3),
257:Floor_RaiseToLowest(2, 3),
258:Floor_LowerToLowestCeiling(2,3),
259:Floor_RaiseToCeiling(2, 5),
260:Floor_ToCeilingInstant(1, 4),
261:Floor_LowerByTexture(2, 3),
262:Ceiling_RaiseToHighest(2, 3),
263:Ceiling_ToHighestInstant(1, 3),
264:Ceiling_LowerToNearest(2, 4),
265:Ceiling_RaiseToLowest(2, 3),
266:Ceiling_RaiseToHighestFloor(2, 3),
267:Ceiling_ToFloorInstant(1, 4),
268:Ceiling_RaiseByTexture(2, 3),
269:Ceiling_LowerByTexture(2, 4),
270:Stairs_BuildDownDoom(5),
271:Stairs_BuildUpDoomSync(4),
272:Stairs_BuildDownDoomSync(4),
// New additions can go above 255 now.
273:Stairs_BuildUpDoomCrush(5),
274:Door_AnimatedClose(2),
275:Floor_Stop(1),
276:Ceiling_Stop(1),
277:Sector_SetFloorGlow(5),
278:Sector_SetCeilingGlow(5),
279:Floor_MoveToValueAndCrush(4, 5),
280:Ceiling_MoveToValueAndCrush(4, 5),
281:Line_SetAutomapFlags(3),
282:Line_SetAutomapStyle(2),
// new to Eternity
// 300:Portal_Define(5),
// 301:Line_QuickPortal(1),
// internal functions have negative values
-1:GetLineUDMFInt(2),
-2:GetLineUDMFFixed(2),
-3:GetThingUDMFInt(2),
-4:GetThingUDMFFixed(2),
-5:GetSectorUDMFInt(2),
-6:GetSectorUDMFFixed(2),
-7:GetSideUDMFInt(3),
-8:GetSideUDMFFixed(3),
-9:GetActorVelX(1),
-10:GetActorVelY(1),
-11:GetActorVelZ(1),
-12:SetActivator(1,2),
-13:SetActivatorToTarget(1),
-14:GetActorViewHeight(1),
-15:GetChar(2),
-16:GetAirSupply(1),
-17:SetAirSupply(2),
-18:SetSkyScrollSpeed(2),
-19:GetArmorType(2),
-20:SpawnSpotForced(4),
-21:SpawnSpotFacingForced(3),
-22:CheckActorProperty(3),
-23:SetActorVelocity(6),
-24:SetUserVariable(3),
-25:GetUserVariable(2),
-26:Radius_Quake2(6),
-27:CheckActorClass(2),
-28:SetUserArray(4),
-29:GetUserArray(3),
-30:SoundSequenceOnActor(2),
-31:SoundSequenceOnSector(3),
-32:SoundSequenceOnPolyobj(2),
-33:GetPolyobjX(1),
-34:GetPolyobjY(1),
-35:CheckSight(3),
-36:SpawnForced(4,6),
-37:AnnouncerSound(2),
-38:SetPointer(2,4),
-39:ACS_NamedExecute(2,5),
-40:ACS_NamedSuspend(2),
-41:ACS_NamedTerminate(2),
-42:ACS_NamedLockedExecute(5),
-43:ACS_NamedLockedExecuteDoor(5),
-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),
-51:SetHUDClipRect(4,6),
-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(4,9),
-61:PlaySound(2,7),
-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),
-72:SpawnDecal(2,6),
-73:CheckFont(1),
-74:DropItem(2,4),
-75:CheckFlag(2),
-76:SetLineActivation(2),
-77:GetLineActivation(1),
-78:GetActorPowerupTics(2),
-79:ChangeActorAngle(2,3),
-80:ChangeActorPitch(2,3),
-81:GetArmorInfo(1),
-82:DropInventory(2),
-83:PickActor(5,8),
-84:IsPointerEqual(2,4),
-85:CanRaiseActor(1),
-86:SetActorTeleFog(3),
-87:SwapActorTeleFog(1),
-88:SetActorRoll(2),
-89:ChangeActorRoll(2,3),
-90:GetActorRoll(1),
-91:QuakeEx(8,16),
-92:Warp(6,11),
-93:GetMaxInventory(2),
-94:SetSectorDamage(2,5),
-95:SetSectorTerrain(3),
-96:SpawnParticle(1,16),
-97:SetMusicVolume(1),
-98:CheckProximity(3, 6),
-99:CheckActorState(2,3),
// Zandronum's
-100:ResetMap(0),
-101:PlayerIsSpectator(1),
-102:ConsolePlayerNumber(0),
-103:GetTeamProperty(2),
-104:GetPlayerLivesLeft(1),
-105:SetPlayerLivesLeft(2),
-106:KickFromGame(2),
-107:GetGamemodeState(0),
-108:SetDBEntry(3),
-109:GetDBEntry(2),
-110:SetDBEntryString(3),
-111:GetDBEntryString(2),
-112:IncrementDBEntry(3),
-113:PlayerIsLoggedIn(1),
-114:GetPlayerAccountName(1),
-115:SortDBEntries(4),
-116:CountDBResults(1),
-117:FreeDBResults(1),
-118:GetDBResultKeyString(2),
-119:GetDBResultValueString(2),
-120:GetDBResultValue(2),
-121:GetDBEntryRank(3),
-122:RequestScriptPuke(4),
-123:BeginDBTransaction(0),
-124:EndDBTransaction(0),
-125:GetDBEntries(1),
// -1xx are reserved for Zandronum
-200:CheckClass(1),
-201:DamageActor(6), // [arookas]
-202:SetActorFlag(3),
-203:SetTranslation(2),
-204:GetActorFloorTexture(1),
-205:GetActorFloorTerrain(1),
-206:StrArg(1),
-207:Floor(1),
-208:Round(1),
-209:Ceil(1),
-210:ScriptCall(2, 100), // ACS does not know varargs so use something large as maximum.
-211:StartSlideshow(1),
-212:GetSectorHealth(2),
-213:GetLineHealth(1),
// Eternity's
-300:GetLineX(3),
-301:GetLineY(3),
-302:SetAirFriction(1),
// GZDoom OpenGL
-400:SetSectorGlow(6),
-401:SetFogDensity(2),
// ZDaemon's
-19620:GetTeamScore(1),
-19621:SetTeamScore(2),
-100000:__EndOfList__(10);