Difference between revisions of "EDF"

From DoomWiki.org

[checked revision][checked revision]
(Basic article here now)
m (Capabilities: Woops)
Line 4: Line 4:
 
EDF can be loaded directly from disk or from lumps. All types of definitions it supports can be specified in any EDF file or lump. It can contain the following types of definitions:
 
EDF can be loaded directly from disk or from lumps. All types of definitions it supports can be specified in any EDF file or lump. It can contain the following types of definitions:
 
* [[Actor]]s and their [[state]]s and [[sprite]]s. [[DECORATE]] syntax for state specification is supported.
 
* [[Actor]]s and their [[state]]s and [[sprite]]s. [[DECORATE]] syntax for state specification is supported.
* Damage types
 
 
* [[Final boss|Boss spawner]] properties for [[Doom II]]
 
* [[Final boss|Boss spawner]] properties for [[Doom II]]
 
* [[Cast sequence]] for Doom II
 
* [[Cast sequence]] for Doom II
 +
* Damage types
 
* Fonts
 
* Fonts
 
* Global game properties
 
* Global game properties

Revision as of 09:53, 6 June 2014

EDF, or Eternity Definition File, is a content definition language in the Eternity Engine source port that is used to define or modify most global aspects of the game engine.

Capabilities

EDF can be loaded directly from disk or from lumps. All types of definitions it supports can be specified in any EDF file or lump. It can contain the following types of definitions:

Much of the content defined in EDF can be affected by DeHackEd patches, as entities within EDF can specify a "DeHackEd number" that is then used to look them up when applying patches.

EDF can be loaded at runtime along with other WAD data by the Eternity Engine.

Syntax

EDF has a syntax similar to C or JSON, along with ability to contain other languages inside a type of string literal called a heredoc. Its syntax is based on the capabilities of the libConfuse library by Martin Hedenfalk, though the version of the library used by Eternity has been heavily modified and extended.

Example of an EDF definition for an actor:

thingtype EvilEye
{
  doomednum 41
  dehackednum 89
  radius 16.0
  correct_height 50.0
  cflags SOLID|3DDECORATION|NOTORQUE
  
  firstdecoratestate S_EVILEYE
  states
  @"
  Spawn:
    CEYE ABCB 6 bright
    loop
  "@
}

See also