Difference between revisions of "DECORATE"

From DoomWiki.org

[checked revision][checked revision]
m (wl)
m (Additional input from Gez)
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''DECORATE''' is a scripting and [[content definition language]] in [[ZDoom]] that is used to create new actors. The origin of the name stems from its initial use merely as a way to create new decorations without having to steal frames from other actors, as required by [[DeHackEd]].
+
'''DECORATE''' is a scripting and [[content definition language]] originating in [[ZDoom]] that is used to create new actors. The origin of the name stems from its initial use merely as a way to create new decorations without having to steal frames from other actors, as required by [[DeHackEd]].
  
The original syntax, now deprecated, was very simple but did not allow for expansion. To allow modders to define new monsters, the language was redesigned with a more robust syntax. More and more features have been added and the language gradually expanded to cover all actor types, including monsters, weapons, powerups, player classes, and more.
+
The original syntax, now deprecated, was very simple but did not allow for expansion. To allow [[gameplay mod]]ders to define new monsters, the language was redesigned with a more robust syntax. More features were added and the language gradually expanded to cover all actor types, including monsters, weapons, powerups, player classes, and more.
  
Starting with ZDoom v.2.3.0, all actors from all games have been removed from the executable and exported to the DECORATE lump in zdoom.pk3. Their code can be browsed on the ZDoom wiki for reference, offering a large quantity of examples to someone wishing to learn the language.
+
ZDoom version 2.3.0 migrated all of the built-in game actors from C/C++ to DECORATE code. This code can be read on the ZDoom wiki, offering many examples to someone learning the language.
  
Other than ZDoom and its up-to-date derivatives such as [[GZDoom]] and [[Zandronum]], DECORATE is supported by [[Vavoom]].
+
ZDoom was itself discontinued in 2017, but DECORATE continues to be used since it is supported by several forks, notably [[GZDoom]] and [[Zandronum]], plus other [[source port]]s to some extent, including [[K8Vavoom]], [[DelphiDoom]], and [[ACE Engine]]. In GZDoom, it has been partially eclipsed by the more powerful [[ZScript]] language. Since other ports that support DECORATE do not support ZScript, DECORATE still remains useful to achieve a wider compatibility profile.
  
== See also ==
+
The state syntax of DECORATE was borrowed by [[Eternity Engine]] for its [[EDF]] language.
 +
 
 +
==External links==
 
* {{zdoomwiki|title=DECORATE}}
 
* {{zdoomwiki|title=DECORATE}}
 +
 
[[Category:ZDoom]]
 
[[Category:ZDoom]]
 
[[Category:WAD lumps]]
 
[[Category:WAD lumps]]
 
[[Category:Scripting languages]]
 
[[Category:Scripting languages]]

Latest revision as of 13:55, 9 January 2022

DECORATE is a scripting and content definition language originating in ZDoom that is used to create new actors. The origin of the name stems from its initial use merely as a way to create new decorations without having to steal frames from other actors, as required by DeHackEd.

The original syntax, now deprecated, was very simple but did not allow for expansion. To allow gameplay modders to define new monsters, the language was redesigned with a more robust syntax. More features were added and the language gradually expanded to cover all actor types, including monsters, weapons, powerups, player classes, and more.

ZDoom version 2.3.0 migrated all of the built-in game actors from C/C++ to DECORATE code. This code can be read on the ZDoom wiki, offering many examples to someone learning the language.

ZDoom was itself discontinued in 2017, but DECORATE continues to be used since it is supported by several forks, notably GZDoom and Zandronum, plus other source ports to some extent, including K8Vavoom, DelphiDoom, and ACE Engine. In GZDoom, it has been partially eclipsed by the more powerful ZScript language. Since other ports that support DECORATE do not support ZScript, DECORATE still remains useful to achieve a wider compatibility profile.

The state syntax of DECORATE was borrowed by Eternity Engine for its EDF language.

External links[edit]