ZDoom supports a special MAPINFO lump that can be used to define special characteristics for the different maps in a WAD/PK3, in addition to defining custom skill levels, intermissions, and game settings.
- 1 MAPINFO and ZMAPINFO
- 2 Format
- 3 Cluster definition
- 4 Episode definition
- 5 Map definition
- 6 Skill definition
- 7 GameInfo definition
- 8 Intermission definition
- 9 Automap definition
- 10 Editor number definition
- 11 Spawn number definition
- 12 Conversation number definition
- 13 Damage type definition
- 14 Options for ZDoom's child ports
MAPINFO and ZMAPINFO
If you create a mod compatible with other source ports, but wish to use some ZDoom-specific MAPINFO options when played in ZDoom, it is advised to create a ZMAPINFO lump for ZDoom, and a different MAPINFO lump for other ports. The ZMAPINFO lump has to use the new format; while the MAPINFO can use the old syntax or the Hexen one, if the mod is for Hexen.
Note that if a ZMAPINFO is present, MAPINFO will not be parsed at all.
MAPINFO contains six types of entries: game information, episode definitions, map definitions, cluster definitions, skill definitions, and intermission definitions, which are indicated by the keywords “gameinfo”, “episode”, “map”, “cluster”, “skill”, and “intermission” respectively.
After the above keyword, the name or number of the defined element is specified (e.g. map E2M4) followed by a block of properties enclosed in curly-braces which affect the newly-created element. Properties may take zero or more parameters and are specified in the following format:
property = value1, value2, value3...
Within this article, parameters that are required are enclosed in <angle brackets>, while optional parameters are enclosed in [square brackets]. A parameter that is enclosed in neither type of bracket is a literal value that must be typed exactly as shown in order to work.
If a property is specified with no parameters, only the property name (no equals sign) is needed. In addition, all string parameters must be enclosed within quotation marks (as shown).
MAPINFO/ZMAPINFO lumps can include others with the include keyword. For example:
include mapinfo/gameconfig.txt include mapinfo/skills.txt include mapinfo/episode1.txt
Only the most important notions are described on this page, for examples and complete listing of all commands and properties, refer to each definition's subpage.
See cluster definition for full list of properties and examples.
An episode definition begins with the keyword “episode”.
See episode definition for full list of properties and examples.
A map definition begins with the keyword “map”. You can also specify standard characteristics for later map definitions by using the keyword “defaultmap” or “adddefaultmap” instead:
See map definition for full list of properties and examples.
Skill definitions begin with the keyword “skill” followed by the name of the skill and the properties block.
See skill definition for full list of properties and examples.
GameInfo definitions begin with the keyword "gameinfo" followed by a list of properties. This sets some miscellaneous data about the game such as what lump to use for the title picture.
See GameInfo definition for full list of properties and examples.
Custom intermission definitions begin with the keyword "intermission" followed by a name, and then a list of properties. This define an intermission sequence, such as Doom II's cast call or Hexen's chess game.
See Intermission definition for full list of properties and examples.
Custom automap definitions begin with the keyword "automap" followed by a list of properties. These colors and settings will apply to the player's automap if the am_customcolors console variable is enabled.
See Automap definition for full list of properties and examples.
An editor number definition begins with the keyword “DoomEdNums”, followed by a list of actor names and their assigned editor numbers.
See editor number definition for more information.
A spawn number definition begins with the keyword “SpawnNums”, followed by a list of actor names and their assigned spawn numbers.
See spawn number definition for more information.
A conversation number definition begins with the keyword “ConversationIDs”, followed by a list of actor names and their assigned conversation numbers.
See conversation number definition for more information.
See damage type definition for more information.
Options for ZDoom's child ports
The MAPINFO syntax allows properties to be specified for ZDoom-derivitave engines that support them. All others will skip over these lines.