DMAPINFO

The 2019 release of Doom and Doom II by id Software added support for MAPINFO lumps, called DMAPINFO. These are used by the engine to customize attributes of the game that cannot be changed through the WAD file. If DMAPINFO is not present, the engine will fall back to vanilla behavior.

There are currently three valid blocks in DMAPINFO:, and.

MAP block
blocks defines a level in the game. Each block has four required parts: a lump name, a display name, and valid  and  properties. All other fields are optional, and will fallback to vanilla behavior if not present.

map " " " " {    next = " " secretnext = " " par = music = " " episodenumber = <1-indexed episode number> mapnumber = <1-indexed map number within episode> endsequence = " " sky1 = " ", map07special }

- : When a level is completed, the field tells the game which map to load next. If not present, the game returns to the main menu. This is typically used on the last level of the episode, to end the game.

- : When a level is completed through a secret exit, the lump name is used to send the player to this level instead of the next one. If not present, the regular next map is used.

- : Sets the par time of the level to be shown to the player, in seconds.

- : If set, use the music stored at this lump name instead of the default. Currently, music lumps must be in MUS or MIDI formats.

- : This is a required field, and allows the level select UI to attach a map to an episode in a defined order. The value is an integer, and corresponds to the defined episode.

- : This is a required field, and allows the level select UI to order the maps in a set order. The value is an integer.

- : Play the end sequence with the given ID at the end of the level. After the sequence ends, the or  maps will be loaded next. There is not currently a way to set a sequence on a secret exit.

- : Override the sky with the specified sky lump. Scroll speed is an optional integer to set the speed of sky scrolling.

- : Enables special sectors 666 and 667 to be active for this map when playing DOOM II WADs.

EPISODE block
episode " " {    name = " " }

sections are currently only used by the UI in order for level selection. No other properties except name are currently supported.

ENDSEQUENCE block
endsequence "" {    text = "this is an example text" "This is how you do line breaks" ""    "Fourth line" flat = " " music = " " }

sections are used to override the built-in text screens, allowing map authors to place them after any map, with custom text, music, and textures. They are triggered after beating a map that has an option inside a  section.