DECORATE format specifications

From ZDoom Wiki
Jump to: navigation, search

This page describes the format to create a new actor in the DECORATE lump:

actor classname [ : parentclassname] [replaces replaceclassname] [doomednum]
{
  properties
  flags
  ...
}
  • classname
The name this new actor is referenced by in the game.
  • parentclassname
The name of a parent class this new actor inherits its attributes from (optional). If none is specified, the parent class is Actor.
  • replaceclassname
The name of the class this class replaces (optional). This works at a higher level than using duplicate doomednums and will affect all attempts to spawn the replaced actor in the map. However, this does not affect effect that create the actor through other means, such as giving an inventory item directly to a player. Player actors are handled differently from other actors, so this method also does not work for custom player classes.
  • doomednum
Editor number for this actor (optional). This is the number used to distinguish the actor from other things in a map editor. If the actor is intended to be placed in a map editor, it should have an editor number. The actual number value is generally arbitrary but should avoid conflicting with already used numbers.


An actor definition consists of properties, flags and state definitions. In the state definitions you can call Action functions.

Actor properties and flags define the general behavior of an actor.

States define the various sprite animations of an actor.

Action functions (a.k.a. code pointers) cause the actor to perform some particular action when the frame that calls them is shown. They form the basis of almost all enemy and weapon behaviour in the game. Instead of using one of the special action functions you can also use any action special that is available in ACS.

Comments are supported. Both types of C-style comments (// to end of line, and /* to */) are allowed. While not part of the specification, certain editing tools, such as Doom Builder and SLADE 3, may make use of specific comments for special purposes.