EDF

From DoomWiki.org

Revision as of 14:52, 24 February 2016 by Quasar (talk | contribs) (Capabilities: wl reverb)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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[edit]

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[edit]

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[edit]