Skip to content

DDF Games

Lobo edited this page Jul 5, 2024 · 3 revisions

Stored in the DDFGAME data lump, or the games.ddf file.

Each entry represents an episode of Doom, for example the four 9-level episodes of Doom or the 30 level episodes of Doom 2, TNT or Plutonia, and consists of a unique name enclosed in square brackets, plus a series of commands that specify the intermission screens, title graphics, sounds and levels of the episode.

The episode name should be descriptive and is referred to in the DDFLEVL/levels.ddf file.

Commands

The commands used for game entries are as follows:

COMMAND TYPE DESCRIPTION
ACCEL_SOUND [sound] Sound played during the intermission screen.
[ANIM](#anim) [special] An animation to play -- Used in Doom and Ultimate Doom episodes.
DEFAULT_DAMAGE_FLASH [hex] Damage flashes from all sources will be that color unless specified otherwise in an individual DDFATK entry.
Example: DEFAULT_DAMAGE_FLASH = #008800; //green for ChexQuest
DESCRIPTION [lang] The text name displayed on the "Choose Episode" screen. If unspecified it will just use the Game entry name itself.
DONE_SOUND [sound] Sound played during the intermission screen when the scoring finishes.
ENDMAP_SOUND [sound] Sound played during the intermission screen when the map is completed.
FIRSTMAP [lumpname] Specifies the first level in this game. (Does not have to be in e1m1 or map01 format). Level name is limited to an 8 letter string. However creating non standard map names usually creates problems with map editors. However, the limits on the number of maps that can appear should now have been removed. (e.g you could put 50 maps in a wad).
FRAG_SOUND [sound] Sound played during the intermission screen when scoring frags in a multiplayer game.
INTERMISSION_CAMERA [thing] The first thing in the map to have this DDF name will be used as a camera to generate the intermission screen at the end of the level. (similar to the camera views seen in quake) If no such object exists, the normal background is used. For best results, you should ensure your camera is tagged as NOBLOCKMAP and NOSECTOR in things.ddf (so it cannot move or be killed).
INTERMISSION_GRAPHIC [lumpname] This is the background picture for intermissions.
INTERMISSION_MUSIC [music] The music to play during this intermission, refer to [ENTRY NUMBER] in PLAYLIST.DDF.
LIGHTING [special] Specifies the type of lighting to use. Options are DOOM, DOOMISH(no special treatment of E/W and N/S walls) or FLAT.(Possibly VERTEX as well?)
[MAP](#map) [special] Specifies where to place SPLATs for levels completed -- Used in Doom and Ultimate Doom episodes.
NAME_GRAPHIC [lumpname] Specifies a picture of the episodes's name to go into the start new game menu.
NEXTMAP_SOUND [sound] Sound played during the intermission screen before loading the next map.
NO_SKILL_MENU [boolean] Will skip "Difficulty" menu and start selected episode at skill 2 ("Hurt Me Plenty" for Doom)
PERCENT_SOUND [sound] Sound played during the intermission screen while scoring kills, items and secrets etc.
SPLAT_GRAPHIC [lumpname] This is the picture placed over levels that are finished -- Used in Doom and Ultimate Doom episodes.
TEMPLATE [existing DDF entry] This allows a new DDF entry to be based off an existing one. Inheritance for DDF basically.
TITLE_GRAPHIC [lumpname] Specifies a picture to add to the sequence when the game starts. You can specify more than one graphic, separated commas.
TITLE_MOVIE [lumpname] Specifies a movie to add to the sequence when the game starts. Will always play before any defined TITLE_GRAPHIC entry in the same definition.
TITLE_MUSIC [music] Some music to play when the TITLE_GRAPHIC is displayed. Note that the game is assumed not to exist if this music does not exist, refer to [ENTRY NUMBER] in PLAYLIST.DDF.
TITLE_TIME [time] Specifies how long to leave the titlepic graphic/s displayed before changing it.
YAH1_GRAPHIC [lumpname] This is the picture placed over the level you are at. (You are Here) -- Used in Doom and Ultimate Doom episodes.
YAH2_GRAPHIC [lumpname] If YAH1 doesn't fit on the page, this pic will be used instead -- Used in Doom and Ultimate Doom episodes.

Notes

ANIM Command

A frame in the animation is specified by: picture:tics:x:y
where picture is the name of the graphic, tics is how long to wait before the next frame, and x and y are the screen coordinates to place the animation. The screen coordinates are based on a 320x200 screen and are automatically adjusted for different resolutions.

Use #END to end the animation and loop back to the start, e.g:

ANIM=ADOOM:3:224:104, 
    BDOOM:3:224:104,#END;

Plays 2 different graphics for a period of 3 tics each (about 1/10th second) at coordinates 224, 104.

MAP Command

Specifies the position to draw splats on maps: mapname:x:y
where mapname is the name of the map, and x and y are the screen coordinates to place the splat. These coordinates are also used for the "You are Here" graphic.  

Examples

The following are examples of complete games entries:

[THY_FLESH_CONSUMED]  
INTERMISSION_GRAPHIC="INTERPIC";  
INTERMISSION_MUSIC=63;  
NAME_GRAPHIC="M_EPI4";  
PERCENT_SOUND=PISTOL;  
DONE_SOUND=BAREXP;  
ACCEL_SOUND="SLOP";  
FRAG_SOUND="PLDETH";  
FIRSTMAP=E4M1;  

[KNEE_DEEP_IN_THE_DEAD]  
INTERMISSION_GRAPHIC="WIMAP0";  
INTERMISSION_MUSIC=63;  
SPLAT_GRAPHIC="WISPLAT";  
YAH1_GRAPHIC="WIURH0";  
YAH2_GRAPHIC="WIURH1";  
NAME_GRAPHIC="M_EPI1";  
PERCENT_SOUND=PISTOL;  
DONE_SOUND=BAREXP;  
ENDMAP_SOUND=BAREXP;  
NEXTMAP_SOUND=SGCOCK;  
ACCEL_SOUND="SLOP";  
FRAG_SOUND="PLDETH";  
FIRSTMAP=E1M1;  
TITLE_GRAPHIC="TITLEPIC","HELP2","CREDIT";  
TITLE_TIME=170T;  
TITLE_MUSIC=62;  
MAP=E1M1:185:164,  
    E1M2:148:143,  
    E1M3:69:122,  
    E1M4:209:102,  
    E1M5:116:89,  
    E1M6:166:55,  
    E1M7:71:56,  
    E1M8:135:29,  
    E1M9:71:24;  
ANIM=WIA00000:3:224:104,  
    WIA00001:3:224:104,  
    WIA00002:3:224:104,#END,  
    WIA00100:4:184:160,  
    WIA00101:4:184:160,  
    WIA00102:4:184:160,#END,  
    WIA00200:3:112:136,  
    WIA00201:2:112:136,  
    WIA00202:3:112:136,#END,  
    WIA00300:3:72:112,  
    WIA00301:3:72:112,  
    WIA00302:4:72:112,#END,  
    WIA00400:5:88:96,  
    WIA00401:5:88:96,  
    WIA00402:3:88:96,#END,  
    WIA00500:2:64:48,  
    WIA00501:3:64:48,  
    WIA00502:2:64:48,#END,  
    WIA00600:3:192:40,  
    WIA00601:2:192:40,  
    WIA00602:3:192:40,#END,  
    WIA00700:3:136:16,  
    WIA00701:5:136:16,  
    WIA00702:3:136:16,#END,  
    WIA00800:3:80:16,  
    WIA00801:7:80:16,  
    WIA00802:3:80:16,#END,  
    WIA00900:3:64:24,  
    WIA00901:2:64:24,  
    WIA00902:3:64:24,#END;  




DDF docs written by Andy Baker and Ziggy Gnarly, with updates by Andrew Apted, Andy Brewood and Luke Brennan. © EDGE Team, at al. 1998 - 2024.

Home

EDGE-Classic Mod Downloads

COAL

DDF     Introduction
    Animations
    Attacks
    Colormaps
    Flats
    Fonts
    Games
    Images
    Languages
    Levels
    Lines and Sectors
    Playlist
    Sounds
    Styles
    Switches
    Things
    Weapons
RTS     Introduction
    Conditions
    Directives
    Flow Control
    Level Commands
    Maps and Triggers
    Properties
    Thing Commands
    Tips and Menus
Tutorials     Creating a Weapon
    Creating an Enemy
    Creating a Friendly Creature

Compiling EDGE-Classic

Clone this wiki locally