This is the map's identification number that is used to identify it to the Teleport_NewMap special. The following properties are supported within a map, defaultmap or gamedefaults definition: This is mainly used by Hexen and Strife so that PWADs which define their own defaultmap do not override basic game settings. Alternatively, the lookup keyword may be used to look the nice name up by finding the specified token within the LANGUAGE lump.ĭefaultmap Used to define default settings that apply to an entire game, even when PWADs are loaded for it. The provides the name of the map for the automap and, like any string, must be enclosed in quotes if it contains spaces or is empty. The map name may be any valid name for a lump though ExMx and MAPxx are generally used. You can also specify standard characteristics for later map definitions by using the keyword "defaultmap" or "adddefaultmap" instead:ĭefines a single map. Intermission screens are defined using separate InFine definitions, while level progression is defined using the XG system.A map definition begins with the keyword "map". Risen3D, derived from Doomsday, uses the same system. Because of its differences with older MAPINFO lumps that are read by other ports as well, the ZMAPINFO alias can be used to avoid compatibility issues with other ports.ĭoomsday does not use the MAPINFO lumps (except jHexen for obvious reasons), and instead features "Map Info" blocks in DED files, that serve the same purpose. The language was also extended to allow definition of skills and more generic game information (such as the name of the info screen lumps displayed by "Read This!"/F1 key, or of the ENDOOM lump). This also allows for keywords with optional parameters, such as sky1 here which does not mention its second parameter. The use of curly braces clearly delineates the extent of the map definition, and the use of the equal sign clearly identifies a token as being a keyword. This is an example of the new ZDoom MAPINFO syntax: The new ZDoom MAPINFO format was designed to have a strong syntax that would allow correct parsing of MAPINFO lumps with unknown keywords. Because cluster definitions include intermission messages (such as the one displayed between the MAP06 and MAP07 slots in Doom II), parsing must allow multi-line commands, which makes unknown commands problematic. Other ports, such as Vavoom, also use this syntax though with some minor differences in supported keywords (for example, Vavoom uses secret instead of secretnext). Syntactically is otherwise identical with the Hexen format. Contrarily to Hexen-format, clusters are not implicit and must be defined too, as well as episodes (episodes being actually merely a way to give a name to a choice of a starting map when starting a new game). Map E1M4 "UAC Waste and Storage Facility" This is an example of the old ZDoom MAPINFO syntax: The first ZDoom MAPINFO format was simply an evolution of the Hexen format, adapted to take into account the needs of other supported games. is unmodified compared to the hardcoded default values for MAP01.) (In this example, the sky, music, par time, etc. Map definitions are cumulative, so any value not mentioned uses the default value for the level. The Eternity Engine uses a different syntax, with a different lump name to avoid compatibility issues: EMAPINFO. There are no clear separators between two commands other than a linebreak, making it difficult to parse if unknown keywords are encountered since the amount of parameters for each command can only be known from the keyword (for example, two parameters for sky1 but only one for cdtrack). The map is identified by a number, which means this syntax is only adapted to map lumps named according to the MAPxx convention. There are several different MAPINFO syntaxes.Ī Hexen-style MAPINFO lump contains declarations of this form: