Doom Builder
Doom Builder is a Doom level editor with full support for ZDoom editing, including the "Game-in-Hexen" and "Game-in-UDMF" map formats. It is being developed by Pascal vd Heiden (alias CodeImp) and is free software, licensed under the terms of the GNU General Public License. Popular features include lots of customizability, prefabs, advanced drawing code, and a 3D mode that lets you browse and edit your levels in real time.
See also the Doom Builder ACS configuration.
The current version of Doom Builder is Doom Builder 2, a total rewrite. The last version of Doom Builder 1 is 1.68.
DECORATE keys
Both versions of Doom Builder include a DECORATE parser used to obtain relevant information (such as editor number, Radius Height, Scale, and so on) from custom actors. Additional information can be conveyed with keys in the form of special comments inserted within an actor's declaration block:
- //$Category <category>
- Specifies in which category (Monsters, Weapons, etc.) it should be sorted. By default, a custom actor not identified in a configuration file will be put in the Decorate category.
- //$Sprite <sprite>
- Specifies which sprite to use to represent the actor in the editor. By default, a custom actor not identified in a configuration file will use the first suitable sprite it finds in the actor definition, trying first the states in the sequence Idle, See, Inactive, Spawn, and if all these fail, the first defined state. This key is therefore especially useful for stateless actor definitions.
- //$Title <title>
- Specifies which name to give to the actor. By default, a custom actor not identified in a configuration file will use the Tag property, and if not present, will default to the class name.
Example
Note: It is a good idea to include the Doom Editor Number after the actor definition if you want it to show in Doom Builder, even if it is replacing a standard Doom actor.
Actor ChexShield : ResistanceRune replaces ResistanceRune 5104
{
//$Category powerups
//$Sprite ARMXA0
//$Title "Chex Shield"
Height 44
Radius 26
Inventory.PickupMessage "Picked up the energized Chex armor!"
States
{
Spawn:
ARMX A 1
Loop
}
}
