Difference between revisions of "Behavior"

From DoomWiki.org

[checked revision][checked revision]
(Marisa)
(Standard article layout)
Line 1: Line 1:
 
{{Doom level format}}
 
{{Doom level format}}
 +
The '''BEHAVIOR''' [[lump]] is part of the [[Hexen]] map format, and stores the {{wp|bytecode}} of compiled [[ACS]] scripts, which are output created by the [[ACC]] {{wp|compiler}} tool. Given the difference in records size between the Doom and Hexen format for [[Thing|THINGS]] and [[Linedef|LINEDEFS]] lump, the presence or absence of a BEHAVIOR lump also serves to identify the format of the entire map in ports which support several different formats.
 +
 
==Lump structure==
 
==Lump structure==
 
The '''BEHAVIOR''' lump originates from the [[Hexen]] map format and is never found in the other games. Given the difference in records size between the Doom and Hexen format for [[Thing|THINGS]] and [[Linedef|LINEDEFS]] lump, the presence or absence of a BEHAVIOR lump serves to identify the format of the entire map in ports which support several different formats.
 
 
 
The BEHAVIOR lump contains compiled [[ACS]] scripts for the map. There exist three different formats for BEHAVIOR lumps, the original Hexen one is identified by a four-byte header of ACS\0 (0x41435300); ZDoom also uses two different "enhanced" formats identified by ACSE (0x41435345) and ACSe (0x41435365).
 
The BEHAVIOR lump contains compiled [[ACS]] scripts for the map. There exist three different formats for BEHAVIOR lumps, the original Hexen one is identified by a four-byte header of ACS\0 (0x41435300); ZDoom also uses two different "enhanced" formats identified by ACSE (0x41435345) and ACSe (0x41435365).
  
Line 12: Line 11:
 
==See also==
 
==See also==
 
* [[ACS]]
 
* [[ACS]]
 +
* [[ACC]]
 +
* [[DEACC]]
  
 
==External links==
 
==External links==

Revision as of 23:29, 15 January 2022

Doom level format

Extensions:

The BEHAVIOR lump is part of the Hexen map format, and stores the bytecode of compiled ACS scripts, which are output created by the ACC compiler tool. Given the difference in records size between the Doom and Hexen format for THINGS and LINEDEFS lump, the presence or absence of a BEHAVIOR lump also serves to identify the format of the entire map in ports which support several different formats.

Lump structure

The BEHAVIOR lump contains compiled ACS scripts for the map. There exist three different formats for BEHAVIOR lumps, the original Hexen one is identified by a four-byte header of ACS\0 (0x41435300); ZDoom also uses two different "enhanced" formats identified by ACSE (0x41435345) and ACSe (0x41435365).

Behavior lumps are compiled with ACC. The version of ACC maintained by Marisa Heit (Randi) needs the -h command line parameter to produce ACS\0 bytecode, since many of the ACS functions it supports are only available in the ZDoom formats.

The Eternity Engine's ACS VM can now interpret all three bytecode formats.

See also

External links