DECORATE keys

Doom Builder 2 includes 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. Keep in mind that this sprite name must match an image in the wad (i.e., if the sprite in your wad is named JUNKA0D0, you need to put JUNKA0D0, JUNKA0 won't work).

//$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.

//$ArgN <name> (GZDoom Builder only)
Allows to override default argument names for this actor.

//$Color <color index> (GZDoom Builder only)
Allows to override category color for this actor. Possible values:

Additionaly, you can use the following special comments in the global block:

//$GZDB_SKIP
DECORATE parser will stop parsing a file after encountering this comment. This can be used to speedup the parsing process by skipping files, which don't contain placeable actor definitions.

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.

Example:
Actor ChexShield : ResistanceRune replaces ResistanceRune 5104
{
  //$Category powerups
  //$Sprite ARMXA0
  //$Title "Chex Shield"
  //$Arg0 "Respawn Delay"
  //$Arg1 "Armor Ammount"
  //$Color 12

  Height 44
  Radius 26
  Inventory.PickupMessage "Picked up the energized Chex armor!"

  States
  {
    Spawn:
      ARMX A 1
      Loop
  }
}

//$GZDB_SKIP
actor SuperGiantImpBall : DoomImpBall
{
  Scale 8.0
  Damage 30
}