<p>GZDoom Builder includes a DECORATE parser used to obtain relevant information (such as editor number, Radius, Height, Scale, and so on) from custom actors.<br/>
Additional information can be conveyed with keys in the form of special comments inserted in the global DECORATE block:<br/><br/>
<strong>//$GZDB_SKIP</strong><br/>
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.<br/>
<br/><br/>
<spanclass="big">Actor definitions:</span>
<br/>Additional information can be conveyed with keys in the form of special comments inserted within an actor's declaration block:<br/>
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.<br/>
GZDoom Builder supports hierarchical subgroups, using the backslash separator. For example, <strong>//$Category "Decorations/Tech"</strong> will put the actor within the "Tech" subgroup of the "Decorations" group.<br/>
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).<br/>
<br/>
<strong>//$Title <title></strong><br/>
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.<br/>
Allows to set the default value for this argument. This property must be used in conjunction with the "<strong>//$ArgN</strong>" property.<br/>
Allows to specify a tooltip text displayed for this argument. Newline character ("\n") can be used to format the text. This property must be used in conjunction with the "<strong>//$ArgN</strong>" property.<br/>
Allows to specify an <ahref="gc_argumentsettings.html#argtype">argument type</a> for this argument. This property must be used in conjunction with the "<strong>//$ArgN</strong>" property.<br/>
Allows to specify a rendering shape to display the value of this argument. Supported values are:<br/>
<ul>
<li>"<strong>Rectangle</strong>". The argument value is used as rectangle size.</li>
<li>"<strong>Circle</strong>". The argument value is used as circle radius.</li>
</ul>
Rendering shapes can be toggled using "<strong><ahref="gzdb/features/general/rendering_toolbar.html">Toggle Event Lines</a></strong>" action/menu button.<br/>
Currently rendering shapes are shown only in Classic modes.<br/>
This property must be used in conjunction with the "<strong>//$ArgN</strong>" property.<br/>
Allows to specify a color used by rendering shape. Supported values are hex color (like "<strong>FF0000</strong>"), HTML-formatted hex color (like "<strong>#F00</strong>" or "<strong>#FF0000</strong>") or color name (like "<strong>Red</strong>").<br/>
By default rendering shapes will use Event line <ahref="w_preferences.html">editor color</a>.<br/>
This property must be used in conjunction with "<strong>//$ArgN</strong>" and "<strong>//$ArgNRenderStyle</strong>" properties.<br/>
<br/>
<strong><aname="argenum"id="argenum"></a>//$ArgNEnum <string or structure></strong> - <spanclass="red">GZDB only</span>.<br/>
Allows to specify an enum for this argument. This can be either a name of an enum defined in the Game Configuration, or an explicit enum definition. This property must be used in conjunction with the "<strong>//$ArgN</strong>" property.<br/>
Marks the thing as obsolete. It will be detected by "Check obsolete things"<ahref="e_mapanalysis.html">Map Analysis Mode</a> check and will be marked in the <ahref="w_thingedit.html">Thing Properties Window</a> and the Thing Info panel.<br/>
<strong>Note:</strong> 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.<br/>
Thing categories can be defined in DECORATE using <strong>#region</strong> / <strong>#endregion</strong> blocks. Region name is used as thing category title. "<strong>//$Category</strong>" actor block definition overrides these. Additional information can be conveyed with keys in the form of special comments inserted within <strong>#region</strong> / <strong>#endregion</strong> block (these keys replicate Game Configuration <ahref="gc_thingsettings.html#catdefs">thing category properties</a> with a slightly different syntax):<br/>
Sets the color used by things in this category.<br/>Uses the same values as "<strong>//$Color</strong>"<ahref="#color">thing definition</a>.<br/>
When set to 1, thing angle will be shown as an arrow in Classic and Visual modes.<br/>
<br/>
<bclass="fat">//$Sprite</b> (string)<br/>
Sets the sprite graphic to use when rendering this thing or things in this category. This should be fully qualified sprite name without file extension, like "CPOSA2".<br/>
You can also use images from the"Sprites" directory by prefixing an image name without extension with "internal:", like so: "internal:Actor".<br/>