SLADE ("SlayeR's Leet-Ass Doom Editor") is an all-purpose editing tool with support for ZDoom editing, developed by SlayeR (now known as sirjuddington). It is in active development, with version 3.1.0 currently available.
SLADE3 offers a range of features for ZDoom modding:
- All SLumpEd features and more
- Preview of all ZDoom font formats
- Support of all ZDoom image formats, including those used by the Hexen and Strife startup lumps
- Support for the ZDoom PNG chunks alPh and grAb
- Edition and conversion of ANIMATED and SWITCHES lumps to ANIMDEFS format
- Support for ZIP archives (only STORE and DEFLATE compression protocols at the moment)
- Full support for TEXTURES in the texture editor
- Support for UDMF as well as both Doom and Hexen binary map formats
Like Doom Builder, SLADE features 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:
- Specifies whether the direction matters (angled) or not. Things that are not angled are represented without a direction arrow.
- //$Category <category>
- //$Group <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. Since the default categories depend on editor configurations and differ between Doom Builder and SLADE, you can use Category for the DB2 configuration and follow it by Group for the SLADE 3 configuration. Note that SLADE 3 supports hierarchical subgroups, using the backslash separator. For example: //$Group "Decorations/Tech" will put the actor within the "Tech" subgroup of the "Decorations" group.
- //$Color <value>
- Allows to override category color for this actor. Possible values are integers between 0 and 19 inclusive. This is a compatibility feature with GZDoom Builder, refer to its own article for description of the values.
- //$Colour <string>
- Allows to override group color for this actor. Values are indicated either as a CSS-style syntax (RGB(red, green, blue) with decimal values in the 0-255 range for red, green, and blue) or as HTML-like hexadecimal value (#RRGGBB with hexadecimal values in the 00-FF range for red, green, and blue). If both the //$Color and the //$Colour keys are provided, //$Colour will be favored. This allows to adapt to the different colors used by both editors.
- //$EditorSprite <sprite>
- //$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.
- //$Icon <icon>
- Specifies which editor icon to use to represent the actor in the editor. This is useful for spriteless actors; if a sprite is defined it will be used instead.
- Tells that the actor is a decoration. This is used for filtering things in 3D mode, as it is possible to cycle between showing all things, only decorations, and no things at all with the thing filter key (T by default).
- //$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.