Skip to content

DDF Levels

Lobo edited this page Jul 5, 2024 · 6 revisions

Stored in the DDFLEVL data lump, or the levels.ddf file.

DDFLEVL allows you to specify what order maps are play in, and what the settings are for each one. Each entry consists of a unique name, enclosed in square brackets, plus a series of commands that specify the wadfile entry, episode it belongs to, music played during the level etc.

The level name should refer to the episode and where in the order it appears e.g. QD04. This will often be the same name used in the wadfile to identify the level.

Commands

The commands used for level entries are as follows:

COMMAND TYPE DESCRIPTION
AUTOTAG [integer] When the level is started, find a linedef with this tag and push it. (As seen in Doom2 MAP07)
DESCRIPTION [lang] Description of the level for the automap.
END.BUNNY [boolean] Show the bunny. (Doom 1 ending).
END.CAST [boolean] Show the cast list. (Doom 2 ending).
END.COLOURMAP [colmap] Use this colourmap for the text.
END.GRAPHIC [lumpname] Picture to draw after all text has been written.
END.GRAPHIC_WAIT [time] Time to wait on each picture.
END.MOVIE [lumpname] Text will always be displayed first, followed by movie playback, followed by any defined graphics for this entry.
END.MUSIC [music] Music to play while writing text / drawing pics, reference the [ENTRY NUMBER] in PLAYLIST.DDF.
END.TEXT [lang] Some text to display when the level is finished.
END.TEXT_FLAT [flat] Floor texture to be drawn behind the text, as an alternative to TEXT_GRAPHIC. Note: don't use TEXT_FLAT and TEXT_GRAPHIC at the same time !
END.TEXT_GRAPHIC [lumpname] Picture to display behind the text.
END.TEXT_SPEED [integer] How fast the end text should be written to the screen, in tics.
END.TEXT_WAIT [integer] How long to wait after writing all the text before proceeding, in tics.
ENTERING_BACKGROUND [lumpname] Picture to draw which can be used to override the intermission background defined in games.ddf on a per level basis.
EPISODE [string] Specifies which episode the map belongs to. e.g always HELL_ON_EARTH for Doom2.
INDOOR_FOG_COLOR [colmap entry] Sets the fog color for all indoor sectors to the RGB value of the provided colormap entry in colmap.ddf.
INDOOR_FOG_DENSITY [percentage] Sets the fog density for all indoor sectors to the provided percentage.
LEAVING_BACKGROUND [lumpname] Picture to draw which can be used to override the intermission background defined in games.ddf on a per level basis.
LUMPNAME [lumpname] The lump to load the level from. (Can be different from E1M1 and MAP03 format).
MUSIC_ENTRY [music] The level's background music, reference the [ENTRY NUMBER] in PLAYLIST.DDF.
NAME_GRAPHIC [lumpname] Picture of the level's name for the intermissions.
NEXT_MAP [string] The level to go to when this level is finished.
OUTDOOR_FOG_COLOR [colmap entry] Sets the fog color for all outdoor sectors to the RGB value of the provided colormap entry in colmap.ddf.
OUTDOOR_FOG_DENSITY [percentage] Sets the fog density for all outdoor sectors to the provided percentage.
PARTIME [time] The par time for this level.
PRE.COLOURMAP [colmap] Use this colourmap for the text.
PRE.GRAPHIC [lumpname] Picture to draw after all pre-text has been printed on the screen.
PRE.GRAPHIC_WAIT [time] Time to wait on each picture.
PRE.MOVIE [lumpname] Text will always be displayed first, followed by movie playback, followed by any defined graphics for this entry.
PRE.MUSIC [music] Music to play while writing text / drawing pics, reference the [ENTRY NUMBER] in PLAYLIST.DDF.
PRE.TEXT [lang] Some text to display before the level starts.
PRE.TEXT_FLAT [flat] Floor texture to be drawn behind the text, as an alternative to TEXT_GRAPHIC. Note: don't use TEXT_FLAT and TEXT_GRAPHIC at the same time !
PRE.TEXT_GRAPHIC [lumpname] Picture to display behind the text.
PRE.TEXT_SPEED [integer] How fast, in tics, the text should be printed on the screen.
PRE.TEXT_WAIT [integer] How long, in tics, to wait after writing all the text.
SECRET_MAP [string] The level to go to if the secret exit is found.
SKY_STRETCH [flags] See below
SKY_TEXTURE [lumpname] The texture for the sky for this level.
SPECIAL [flags] See below
STATS [special] What format of end of level statistics to use. Either DOOM or NONE at present
SURROUND_FLAT [flat] The floor texture to be drawn as a border for the screen.
TEMPLATE [existing DDF entry] This allows a new DDF entry to be based off an existing one. Inheritance for DDF basically.

SPECIAL Flags

These special flags allow full control over various aspects of a level. Most of the time you will use the same flags in all of your levels (e.g NO_JUMPING).

SPECIAL DESCRIPTION
AA_MLOOK Enables/disables combined autoaim / mlook.
AUTOAIM Enables/disables autoaiming for this level.
BOOM_COMPAT Forces Boom compatability mode for the level.
CHEATS Enables/disables cheating for this level.
CROUCHING Enables/disables crouching for this level.
ENEMY_STOMP Enables/disables monsters being able to telefrag other monsters and players.
FAST_MONSTERS Enables/disables fast monsters for this level.
ITEM_RESPAWN Enables/disables item respawning for this level.
JUMPING Enables/disables jumping for this level.
LIMIT_ZOOM Enables/disables zoomed in view.
MLOOK Enables/disables look up/look down for this level.
MORE_BLOOD Turns extra blood on for this level.
NORMAL_BLOOD Turns extra blood off for this level.
RESET_PLAYER Starting this level resets a players stats to the default state: health and armour are reset, all extra weapons and ammo are lost, etc.
RESPAWN Enables/disables respawning for this level.
RESURRECT_RESPAWN Sets monsters to respawn by resurrecting themselves.
TELEPORT_RESPAWN Sets monsters to respawn by teleporting back to their start location.
TRANSLUCENCY Enables/disables translucency for this level.
TRUE3D Enables/disables True3Dgameplay for this level.
WEAPON_KICK Turns Weapon Kick effects on for the level.

SKY_STRETCH Flags

These special flags force methods of drawing non-skybox skies.

SPECIAL DESCRIPTION
MIRROR Will invert the sky texture at the horizon, scaled to account for vertical mouselook.
REPEAT Will repeat the sky texture at the horizon, scaled to account for vertical mouselook.
STRETCH Will stretch from top to bottom to avoid texture repeat, scaled to account for vertical mouselook.
Does not preserve the original width/height ratio of the image.
VANILLA Will draw the sky texture once, but does not scale or otherwise account for vertical mouselook.

Most flags can be used with a modifying prefix, as follows:

  • none or "ENABLE_" : forces the setting on for the level, e.g ENABLE_RESPAWN turns on respawning.

  • "NO_" or "DISABLE_" : forces the setting off for the level, e.g NO_JUMPING - players aren't allowed to jump.

  • "USER_" : the user's preference (set via the option menu) is used for the level. This is the default when the flag is not mentioned at all.

Examples

The following are examples of complete level entries:

[MAP07]
LUMPNAME=MAP07;
NAME_GRAPHIC=CWILV06;
DESCRIPTION=Map07Desc;
SKY_TEXTURE=SKY1;
MUSIC_ENTRY=7;
SURROUND_FLAT=GRNROCK;
SPECIAL=NO_ENEMY_STOMP;
NEXT_MAP=MAP08;
PARTIME=120;<
PRE.TEXT=Level7Text;
PRE.TEXT_FLAT=SLIME16;
PRE.MUSIC="read_m";
EPISODE=HELL_ON_EARTH;

[E2M8]
LUMPNAME=E2M8;
NAME_GRAPHIC=WILV17;
DESCRIPTION=E2M8Desc;
SKY_TEXTURE=SKY2;
SURROUND_FLAT="FLOOR7_2";
SPECIAL=NO_ENEMY_STOMP;
SECRET_MAP=E2M9;
PARTIME=30;
MUSIC_ENTRY=49;
EPISODE=THE_SHORES_OF_HELL;
END.TEXT=Episode2Text;
END.TEXT_FLAT="SFLR6_1";
END.MUSIC=61;
END.GRAPHIC="VICTORY2";
END.GRAPHIC_WAIT=MAXT;




DDF docs written by Andy Baker and Ziggy Gnarly, with updates by Andrew Apted, Andy Brewood and Luke Brennan. © EDGE Team, et 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