Editing ACS scripting
From Eternity Wiki
Jump to navigationJump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
For the upcoming Hexen implementation, Eternity supports ACS scripts. | For the upcoming Hexen implementation, Eternity supports ACS scripts. Note that unlike in ZDoom, it requires the vanilla Hexen format, which can be compiled using modern ACC by using the -h command-line switch, or by using an old version of ACC. Comprehensive information regarding the ACS language for Hexen can be found at the [http://doomlegacy.sourceforge.net/hosted/hexenspec09.txt Official Hexen Technical Specs] by Ben Morris and Ben Gokey. | ||
All [[Detailed parameterized linedef specification|parameterized]] specials can be called from ACS as functions. | |||
{{Backto|Editing reference}} | {{Backto|Editing reference}} | ||
== Using ACS for your map == | == Using ACS for your map == | ||
ACS scripts can be used with Doom-format maps through the help of [[MapInfo|EMAPINFO]] and [[ExtraData]]. The MapInfo entry for the map needs at least a specifier for its ExtraData lump and compiled ACS lump (setting the '''extradata''' and '''acsscript''' entries). | |||
ACS scripts can be | |||
The script can be written in a text editor and compiled using acc (or, in new ACC's case, acc -h) and imported with a tool like SLADE3, which supports editing your map with Doom Builder 2 simultaneously. | |||
''Important'': don't set the acs script name to BEHAVIOR and put it after BLOCKMAP. This will break forward compatibility of your map with future versions of Eternity that support the Hexen format, which can be identified by looking for the annexed BEHAVIOR lump. Only use BEHAVIOR when Hexen and/or UDMF format becomes possible in Eternity. | |||
ACS scripts will be callable from map linedefs by using the parameterized 365 ('''ACS_Execute''') special through an ExtraData record of the linedef. Note that currently there is no ACS_ExecuteAlways special. | |||
== Calling ACS scripts from actor frames == | == Calling ACS scripts from actor frames == | ||
Eternity actors can call ACS scripts directly, by using the [[StartScript | Eternity actors can call ACS scripts directly, by using the [[StartScript]] codepointer. | ||
== Testing ACS scripts from console == | == Testing ACS scripts from console == | ||
Line 35: | Line 22: | ||
ACS scripts can be tested from the [[console]] by using the '''puke''' command. | ACS scripts can be tested from the [[console]] by using the '''puke''' command. | ||
== ACS details == | == ACS details == | ||
*[[ACS spawn IDs]] | *[[ACS spawn IDs]] | ||
*[[ACS built-in functions]] | *[[ACS built-in functions]] | ||
[[Category:Editing reference]] | [[Category:Editing reference]] |