MAPINFO Text Lump
MAPINFO is used to define properties of a map and is used to define text screens as well for the PC engines of Doom 64. It is defined as a text file, specifically "MAPINFO.txt".
Map Definitions
A map definition begins with the keyword "map", followed by the map lump name, actual name of level and lastly, open and close brackets. Inside the brackets, properties can be entered to define settings for a map.
- Example: map <maplump> <name> { properties }
Properties
Here are properties which can be assigned to each map.
- levelnum = <levelnumber>
- This is the map's identification number. If the map's name is of the form MAPxx, then it will automatically have a levelnum of xx unless you specify differently. (i.e. MAP23's levelnum will be 23 unless you set it to something else.).
- music = "<musiclump>"
- <musiclump> is the name of the song to play while the player is playing the level
- cluster = <number>
- <number> is the cluster that this map belongs to. See cluster definitions below for more details
- classtype = <number>
- Specifies the type of level this belongs to. This has no useful purpose other than acting as a label for the 'Warp To Level' cheat in the features menu.
- 0 = normal, 1 = fun, 2 = user level, 3 = lost level
- exitdelay = <number>
- <number> is the delay in tics before the level ends once the player hits an exit switch or trigger. 30 tics = 1 second
- allowjump = <boolean>
- (Unused) Forces jumping in the level to be either enabled or disabled. The user's setting for jumping will be ignored for the level.
- 0 = no jumping, 1 = jumping allowed
- clearcheats
- Disables all cheats when the level starts
- nointermission
- This indicates that when the current level is finished, the game should continue immediately to the next level without showing the statistics intermission screen. If no cluster definition is defined for the next level, the level will return to itself.
- continuemusiconexit
- This indicates that the music will continue to play, even after the level has ended
- forcegodmode
- Force god mode to be enabled when level begins
- compat_collision = <boolean>
- (Unused) If 1 is set, then Doom64 EX will force collision compatibility to true, even if the user tries to disable it. Visa versa if 0 is set, collision compatibility will be forced to stay as false.
Examples
map MAP01 "Staging Area" { levelnum = 1 music = "MUSAMB04" classtype = 0 cluster = 0 exitdelay = 15 }
map MAP33 "TITLE" { levelnum = 33 music = "MUSINTRO" classtype = 0 cluster = 0 exitdelay = 15 compat_collision = 1 nointermission continuemusiconexit forcegodmode }
Cluster Definitions
A cluster definition begins with the keyword "cluster". Clusters are used to display text screens when moving between maps.
- Example: cluster <value> { properties }
- <value> is the cluster number that this definition defines.
Properties
The following properties are supported within a cluster definition:
- entertext = "<message>"
- <message> is a message to be displayed when the player has just finished a level in another cluster and is entering a level in this cluster.
- exittext = "<message>"
- <message> is a message to be displayed when the player has just finished a level in a different cluster from the next one. If the next level's cluster has an entertext defined, then it will be shown instead of this cluster's exittext.
- music = "<musiclump>"
- This is the music to play while either the entertext or exittext of this cluster is displayed
- pic = "<piclump>"
- This is the pic to use as a background while this cluster's entertext or exittext is displayed
- pic_x = <offset>
- Set x offset for displayed background pic
- pic_y = <offset>
- Set y offset for displayed background pic
- nointermission
- If this is set and entertext or exittext is going to be displayed, then no intermission is shown when the level is completed
- scrolltextend
- After entertext or exittext is displayed, it will scroll off screen
Examples
cluster 2 { pic = "EVIL" pic_x = 64 pic_y = 30 entertext = "The vast silence reminds", "you of the military morgue.", "", "You knew the installation", "had a classified level.", "", "The U.A.C. had some good", "reason to hide this place.", "", "You wonder what it", "could be..." }
cluster 5 { pic = "EVIL" pic_x = 64 pic_y = 30 nointermission entertext = "Congratulations!", "You found...", "", "HECTIC", "", "Only the best will reap", "its rewards." }