MAPINFO

From ZDoom Wiki
Jump to navigation Jump to search
DoomWiki.org
For more information on this article, visit the MAPINFO page on the Doom Wiki.

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.

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.

Error.gif
Warning: If a ZMAPINFO is present, MAPINFO will not be parsed at all. Using both only makes sense if a project is made to be compatible with multiple source ports, and some specific options must be applied in GZDoom only (since it will ignore MAPINFO in this case). In all other cases, only one lump should be used.


Format

MAPINFO contains eleven types of entries: game information, episode definitions, map definitions, cluster definitions, skill definitions, intermission definitions, automap definitions, editor number definitions, spawn number definitions, conversation number definitions and damage type definitions, which are indicated by the keywords “gameinfo”, “episode”, “map”, “cluster”, “skill”, “intermission”, “automap”, “doomednums”, “spawnnums”, “conversationids” and “damagetype”, 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.

Cluster definition

A cluster definition begins with the keyword “cluster”. For purposes of ZDoom, clusters are used to displays messages when moving between maps and to optionally group different levels into a hub.

See cluster definition for full list of properties and examples.

Episode definition

An episode definition begins with the keyword “episode”.

See episode definition for full list of properties and examples.

Map definition

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 definition

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 definition

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.

Intermission definition

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.

Automap definition

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.

Editor number definition

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.

Spawn number definition

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.

Conversation number definition

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.

Damage type definition

A damage type definition begins with the keyword “DamageType”, followed by a list of properties to create custom damage types.

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.

MAPINFO options for GZDoom's GL renderer OpenGL.png (OpenGL only: not supported by ZDoom)