Doom Definition File

A Doom Definition File, or DDF, is a method used by the Source Port EDGE as an alternative to DeHackEd and as a method of expanded editing for EDGE's features. Many believe DDF is the most powerful function of EDGE so far, due to it's expandibility to control attacks, weapons, things, sector properties/animations, wall properties/animation, add new sounds, add new music, add new levels/episodes, and many other extended features. Many weapon modifications, such as Immoral Conduct have spawned from EDGE and DDF, although ZDoom and various other ports also have claim to some of the weapons mods as well.

Current DDF Library
As of 1.29 Beta 1 (released on December 23, 2004), there are 16 different individual DDF files, each covering a specfic aspect of EDGE's customability. More DDF types are planned for release in later versions of EDGE.


 * ANIMS.DDF: Allows the modder to define or alter animated flats and textures both. This can be used with custom patches as well.
 * ATTACKS.DDF: Likely the second most edited DDF of the bunch, this allows the modder to create new attacks or alter old ones. Attack class(correpsonds to Resistance and Immunity classes in THINGS.DDF) can be defined, along with custom radius areas, or even altered to kill or harm enemies and players in unique ways, including custom pain and death states.
 * COLMAP.DDF: Allows modders to define new colormaps(which are usually used with powerups, or submerged liquid sectors) in EDGE.
 * FONTS.DDF: *NEW* Released recently with 1.29 Beta 1, this DDF allows modders to add or modify the fonts that are used in the game.
 * GAMES.DDF: Allows the modder to define or alter episodes for their current MOD. Because of the manner of the DDF, this gives you the bonus feature of being able to play BOTH Doom and Doom 2 in the same game if the modder has both, as the episodes of both games are visible in the menu. "Hell on Earth" will be the name for the Doom II 'episode' when it is used in EDGE.
 * IMAGES.DDF: *NEW* Released recently with 1.29 Beta 1, this DDF allows extensive editing of many types of images, such as flats, sprites, textures, etc to be customized through various unique manners, and currently supports PNG files, and later will support JPG.
 * LANGUAGE.LDF: Although under the LDF format, it still works much like a DDF. Allows the modder to create new language support, or create brand new text strings in any language for their MODs. ENGLISH, TURKISH, FRENCH, SPANISH, SWEDISH, DUTCH, GERMAN and FINNISH languages are initally supported as of 1.29 Beta 1.
 * LEVELS.DDF: Allows the modder to create definations for new mapname lumps, such as MAP00, or E0M0, for example. The modder can also define whether or not levels have an intermission screen, story intermission screen, or secret level exits in them, as well as define the episode the level is part of.
 * LINES.DDF: Allows the modder to create new line types, usually used for various new types of switches, Wolfenstein-stype line-doors, light switches, teleporting, level exits, or several unique types, such as a shootable end switch for example.
 * PLAYLIST.DDF: Allows the modder to alter or create support for various music lumps in the PWAD/IWAD files, or can be used to refer to files on the user's hard drive or CD-ROM to play in-game. Supports MUS, MIDI, CD Tracks, and now OGG format as of 1.29 Beta 1(although MP3 used to be supported prior, but concern of legal issues convinced them to drop MP3 support for OGG).
 * SECTORS.DDF: Allows the modder to create unique and custom sector types. Examples can include a damage sector that damage much more often, or silent teleporters, or even 'liquid' sectors with the help of Extrafloors.
 * SOUNDS.DDF: Allows the modder to define new sounds for their MOD, or alter existing ones.
 * STYLES.DDF: *NEW* Released recently with 1.29 Beta 1, this DDF allows modders to alter the format of menus, the intermission screens, the console, the automap, and includes font support with FONTS.DDF.
 * SWITCH.DDF: Allows the modder to create custom on/off frames for wall switches, such as SW1STON6/SW2STON6, and define the sounds the switches make for turning on and off.
 * THINGS.DDF: More than likely the most edited of the DDFs by modders, this allows customization of things, such as monsters, items, keys, ammo, and even allows you to create helper creatures that can be used to attack hostile monsters or opposing players. Also, attack immunity and resistances are supported, as is a seemless image resizing engine that allows sprites to be toned down without pixelization in the game, making them very smooth-looking. Other features include the permission for custom states, allowing a modder to create complex creatures or items, such as a monster with 20+ different weapons for example. Another little-known example is that one mod has used this in conjunction with ATTACKS.DDF to 'revamp' the Icon of Sin's spawn cubes to spawn enemies outside of the normal range of monsters.
 * WEAPONS.DDF: Likely the least of the three mainly edited DDFs, it allows extensive customability of weapons, including support for Secondary attacks, weapon silencing, weapon upgrading, spin up, and spin down states, and other various options, many of which of only been recently introduced. Up to 64 different weapons can be defined in the current release of EDGE.

Oddball files related to, but not directly DDF

 * EDGE.SCR: Not an actual DDF in the sense, but more of a somewhat primative scripting language, this is actually called "Radius Script" and uses radius markers on X, Y and optionally, Z planes to define an area for scripted actions to occur. It is said around the main EDGE website that the team plans on replacing the script with a more powerful variety in the future.

DDF file types not yet released but have been confirmed for future use

 * HUD.DDF: According to the EDGE team, this will allow the modder to customize the HUD display in a manner more suited to their liking, while adding more features overall, including 4+ digit values, seperate counters for armor types, and support to display the 12 different ammo types ultilized in EDGE.