DECORATE
Warning: DECORATE has been deprecated since GZDoom 2.3.0 and is currently completely superseded by ZScript. Authors should avoid using DECORATE for new projects. All DECORATE methods and features are still available and function the same way in ZScript, and DECORATE knowledge can easily be applied to ZScript with minimal syntax changes. |
DECORATE is a text-format lump which allows one to define actors that can be placed in a level. DECORATE was originally intended to aid in the creation of decorative objects such as the lamps and torches in Doom and other games without using up extra frames in DeHacked. However, it has been expanded to create virtually anything you want, not just decorations.
DECORATE is currently deprecated in GZDoom: while it's still supported, it has been fully replaced by ZScript. All DECORATE features, such as actor properties, flags and functions are available in ZScript. Using DECORATE is still possible but is not recommended since it doesn't offer any advantages over ZScript, and all DECORATE methods can still be applied in ZScript.
For historical reasons there are two distinct ways to define actors here. However, the old method has been completely superseded by the new one and it is strongly advised not to use it anymore.
DECORATE lumps are cumulative, meaning several may be loaded at once without overwriting each other in memory. Therefore, adding new actors to ZDoom does not require editing the pre-existing actor definitions. Instead, authors should simply create a new text-format lump (WAD format) or file (PK3 format) called DECORATE and define only their new actors there. DECORATE lumps support including other lumps with the #include directive.
For examples of valid DECORATE code, see the list of ZDoom classes. Many DECORATE actors are also available on Realm 667.
List of DECORATE topics:
- DECORATE format specifications
- The old DECORATE format (deprecated)
- Creating non-interactive decorations
- Creating new monsters or other complex items
- Creating new projectiles
- Creating new inventory items
- Creating new weapons
- Creating decorations that can be (de)activated
- Creating new player classes
- Using inheritance
- Improving original monsters with DECORATE
- Using Constants in DECORATE
- Making weapon pieces
- Projectile Trap
- Custom CVARs with DECORATE
- Advanced DECORATE functions guide
- Creating new sprite graphics
- Converting Sprites
List of actor references: