-
Notifications
You must be signed in to change notification settings - Fork 13
DDF Games
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.
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. |
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.
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.