MAPINFO: Difference between revisions

From ZDoom Wiki
Jump to navigation Jump to search
Content deleted Content added
Sargebaldy (talk | contribs)
mNo edit summary
No edit summary
Line 1: Line 1:
ZDoom supports a special MAPINFO lump that can be used to define special characteristics for the different maps in a wad. This lump contains two types of entries: map definitions and cluster definitions which are indicated by the keywords "map" and "clusterdef" respectively. Everything following one of these keywords up until the next "map" or "clusterdef" is considered to be part of the definition for a specific map or cluster.
New features for Zdoom's mapinfo since v1.22 are:
(Note: the '-' means that i don't know what it does, but i'#m sure some nice person can fill in the gaps ;-) ).


==Map definitions==
*fallingdamage


A map definition begins with the word "map". You can also specify standard characteristics for later map definitons by using the word "defaultmap" instead (and leaving <maplump> and <nice name> blank):
Enables falling damage on the level. This is set permanently meaning that you can't disable it.


===map <maplump> <nice name>===
*nofallingdamage
====defaultmap====
Substitute the name of the map in the wad for <maplump>, and the map's nice name (shown in the automap) for <nice name>. If <nice name> contains spaces, it must be enclosed in quotation marks ("). <Maplump> can be *any* lump in the wad, but since most editing utilities will only recognize maps of the form MAP?? or E?M?, you should probably stick to those if you want to be able to edit the levels easily.


After the map (or defaultmap) line, the following properties can be specified:
Disables falling damage. This also can not be re-enabled if set in the mapinfo lump.


====levelnum <levelnum>====
*cdtrack
This is the map's identification number that is used to identify it to the Teleport_NewMap special. 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.)


====next <maplump>====
You can now set tracks from a Cd as music for Zdoom. -
<maplump> is the name of the map to move to when the normal exit (Exit_Normal special) is used. This is also the map to travel to when the timelimit or fraglimit is hit in a deathmatch game. This should be the name of the map in the wad and not the map's nice name.


====secretnext <maplump>====
*cdid
<maplump> is the name of the map to move to when the secret exit is used. This should be the name of the map in the wad and not the map's nice name.
Next and secretnext also accept the special EndGame? names that indicate that ZDoom should end the game instead of continuing to another level. These are:
EndGameC = The cast finale for Doom II
EndGame1 = Displays the picture used after episode 1
EndGame2 = Displays the picture used after episode 2
EndGame3 = The bunny scroller after episode 3
EndGame4 = Displays the picture used after episode 4
Note that using these will not display any text. To do that, use an "exittext" for this level's cluster. (See clusterdef below.)


====cluster <number>====
-
<number> is the cluster that this map belongs to. See cluster definitions below for more details.


====doublesky====
*vertwallshade
Specifies that both sky textures are drawn, with sky1 in front of sky2. Sky2 will show through wherever sky1 is color 0 (*not* cyan).


====sky1 <texture> <scrollspeed>====
This controls the Vertical wall shading. -
<texture> is the name of the texture to use for the sky. <scrollspeed> is the rate at which the sky moves left or right (useful for clouds on windy maps). To keep the sky from moving, use a value of 0.0; to move it left, use a positive value; and to move it right, use a negative value. This is the number of steps that the sky moves each tic.


====sky2 <texture> <scrollspeed>====
*horizwallshade
Used the same as sky1, except it selects the properties for the background sky layer (if doublesky is used) or an alternate sky image that can be shown in selected sectors.


====fade <color>====
This controls the horizontal wall shading. -
<color> is the color that things fade to the further away or "darker" they are. Normally, this is black, so that things seem darker as they get further away. To simulate fog (ala Hexen), set this to a gray instead. Other colors are also supported, but may not necessarily look very good. <color> can be either the name of a color (such as red or cyan) or a color descriptor of the form "RR GG BB". For example, to set the fade to red, both of the following will work:
fade red
fade "ff 00 00"
To find a good fade within the game, you can use the testfade console command.


====outsidefog <color>====
*gravity
This is like fade except that the <color> fade is only applied to sectors with a sky ceiling and not all sectors on the map.


====titlepatch <patch>====
Gravity is now accessible through the mapinfo lump. Set this for the amount of gravity.
This is the name of a graphic to display on the intermission screen for this level (such as CWILV00). It should contain the name of the level. If this is omitted, the intermission screen will create a graphic for.


====par <partime>====
*aircontrol
Partime is the number of seconds shown as the level's par in the intermission screen.


====music <musiclump>====
<musiclump> is the name of the song to play while the player is playing the level.

====nointermission====
This indicates that when the current level is finished, ZDoom should continue immediately to the next level without showing the intermission screen.

====nosoundclipping====
This indicates that sounds should not be clipped on the current level no matter how far away they are. I can't say that it's terribly useful, but it is the behavior Doom used on maps E1M8, E2M8, E3M8, and E4M8.
allowmonstertelefrags
This indicates that monsters can telefrag each other or the player on the level. Normally, monsters will never telefrag anything.

====map07special====
This level wants the special feature of Doom II MAP07. In this case, when every mancubus on the level dies, any sectors tagged 666 will have their floors lower to the next lowest floor, and when every arachnotron on the level is dead, any sectors tagged 667 will have their floors raised by the height of their lower textures.

====baronspecial====
After every Baron of Hell on this level has died, a special action will be triggered.

====cyberdemonspecial====
After every Cyber Demon on this level has died, a special action will be triggered.

====spidermastermindspecial====
After every Spider Mastermind on this level has died, a special action will be triggered.

The above three specials should also be used with one of the following
three special actions:

====specialaction_exitlevel====
Exits the level after all of the specified monsters have died.

====specialaction_opendoor====
After all of the specified monsters have died, opens any doors tagged 666 with blazing speed.

====specialaction_lowerfloor====
After all of the specified monsters have died, lowers the floors of all sectors tagged 666 to the next lowest floor.

====lightning====
Creates lightning in the map.

====fadetable <colormap>====
Included for Hexen compatibility. Please don't use it. Right now, it does what it's supposed to (specify a default colormap to use instead of the regular COLORMAP lump), but in the future it will probably just act like a fadeto line.

====evenlighting==== (I don't know if this is still valid)
Specifies that lighting should be applied to walls evenly no matter what their orientation. DOOM would use different light levels for walls that were vertical, horizontal, or diagonal (when viewed from above). While this gives better definition to corners, it looks dumb if you have a rotating polyobject because the polyobject's lighting will vary as it rotates. You can disable that behavior by specifying this.

====forcenoskystretch====
If you have a sky graphic that looks fine whether it tiles or not, you can use this, and the sky will never be stretched on this level, regardless of the value of r_stretchsky.

====noautosequences====
By default, the sound sequence played in a sector when it moves is determined by the special used to activate it. If you specify this, whatever sound sequence has ID 0 will be used by default instead. In either case, placing a sound sequence thing (1400-1409) in a sector will cause the sound assigned to that thing to be played.

==Cluster definitions==

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

===clusterdef <cluster>===
<Cluster> is the cluster that this clusterdef defines. A cluster of 0 is used internally to mean "no cluster" and should be avoided.

After clusterdef, the following properties are valid:

====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. For Doom I, this is normally D_VICTOR, and for Doom II, this is normally D_READ_M.

====flat <flatlump>====
This is the name of the flat to use as a background while this cluster's entertext or exittext is displayed.

====hub====
Indicates that this cluster is a hub. When leaving a hub, the game will remember the contents of the level when the player left it and restore the level to that state when the player returns to it. Moving to a different cluster will cause the game to forget the state of the levels in this hub in order to save memory. Each level a player visits in a hub uses memory (about 20k for a typical level), so it's probably a good idea not to have too many levels in a single hub. Just how many is "too many" is arbitrary. Unless you use very large levels, you could probably use 50 levels in a hub, and only about 1 meg would be required to keep track of the state of each level.

==New features for Zdoom's mapinfo since v1.22 are:==
(Note: the '-' means that i don't know what it does, but i'#m sure some nice person can fill in the gaps ;-) ).

====fallingdamage====
Enables falling damage on the level. This is set permanently meaning that you can't disable it.

====nofallingdamage====
Disables falling damage. This also can not be re-enabled if set in the mapinfo lump.

====cdtrack====
You can now set tracks from a Cd as music for Zdoom. -

====cdid====
-
-


====vertwallshade====
*filterstarts
This controls the Vertical wall shading. -


====horizwallshade====
This filters out player starts based on skill and gametype settings.
This controls the horizontal wall shading. -


====gravity====
*NoInventoryBar
Gravity is now accessible through the mapinfo lump. Set this for the amount of gravity.

====aircontrol====
-

====filterstarts====
This filters out player starts based on skill and gametype settings.


====NoInventoryBar====
This prevents the inventory bar from ever being drawn in a doom map.
This prevents the inventory bar from ever being drawn in a doom map.

Revision as of 15:10, 4 January 2004

ZDoom supports a special MAPINFO lump that can be used to define special characteristics for the different maps in a wad. This lump contains two types of entries: map definitions and cluster definitions which are indicated by the keywords "map" and "clusterdef" respectively. Everything following one of these keywords up until the next "map" or "clusterdef" is considered to be part of the definition for a specific map or cluster.

Map definitions

A map definition begins with the word "map". You can also specify standard characteristics for later map definitons by using the word "defaultmap" instead (and leaving <maplump> and <nice name> blank):

map <maplump> <nice name>

defaultmap

Substitute the name of the map in the wad for <maplump>, and the map's nice name (shown in the automap) for <nice name>. If <nice name> contains spaces, it must be enclosed in quotation marks ("). <Maplump> can be *any* lump in the wad, but since most editing utilities will only recognize maps of the form MAP?? or E?M?, you should probably stick to those if you want to be able to edit the levels easily.

After the map (or defaultmap) line, the following properties can be specified:

levelnum <levelnum>

This is the map's identification number that is used to identify it to the Teleport_NewMap special. 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.)

next <maplump>

<maplump> is the name of the map to move to when the normal exit (Exit_Normal special) is used. This is also the map to travel to when the timelimit or fraglimit is hit in a deathmatch game. This should be the name of the map in the wad and not the map's nice name.

secretnext <maplump>

<maplump> is the name of the map to move to when the secret exit is used. This should be the name of the map in the wad and not the map's nice name. Next and secretnext also accept the special EndGame? names that indicate that ZDoom should end the game instead of continuing to another level. These are:

EndGameC = The cast finale for Doom II 
EndGame1 = Displays the picture used after episode 1 
EndGame2 = Displays the picture used after episode 2 
EndGame3 = The bunny scroller after episode 3 
EndGame4 = Displays the picture used after episode 4 

Note that using these will not display any text. To do that, use an "exittext" for this level's cluster. (See clusterdef below.)

cluster <number>

<number> is the cluster that this map belongs to. See cluster definitions below for more details.

doublesky

Specifies that both sky textures are drawn, with sky1 in front of sky2. Sky2 will show through wherever sky1 is color 0 (*not* cyan).

sky1 <texture> <scrollspeed>

<texture> is the name of the texture to use for the sky. <scrollspeed> is the rate at which the sky moves left or right (useful for clouds on windy maps). To keep the sky from moving, use a value of 0.0; to move it left, use a positive value; and to move it right, use a negative value. This is the number of steps that the sky moves each tic.

sky2 <texture> <scrollspeed>

Used the same as sky1, except it selects the properties for the background sky layer (if doublesky is used) or an alternate sky image that can be shown in selected sectors.

fade <color>

<color> is the color that things fade to the further away or "darker" they are. Normally, this is black, so that things seem darker as they get further away. To simulate fog (ala Hexen), set this to a gray instead. Other colors are also supported, but may not necessarily look very good. <color> can be either the name of a color (such as red or cyan) or a color descriptor of the form "RR GG BB". For example, to set the fade to red, both of the following will work:

fade red
fade "ff 00 00"

To find a good fade within the game, you can use the testfade console command.

outsidefog <color>

This is like fade except that the <color> fade is only applied to sectors with a sky ceiling and not all sectors on the map.

titlepatch <patch>

This is the name of a graphic to display on the intermission screen for this level (such as CWILV00). It should contain the name of the level. If this is omitted, the intermission screen will create a graphic for.

par <partime>

Partime is the number of seconds shown as the level's par in the intermission screen.

music <musiclump>

<musiclump> is the name of the song to play while the player is playing the level.

nointermission

This indicates that when the current level is finished, ZDoom should continue immediately to the next level without showing the intermission screen.

nosoundclipping

This indicates that sounds should not be clipped on the current level no matter how far away they are. I can't say that it's terribly useful, but it is the behavior Doom used on maps E1M8, E2M8, E3M8, and E4M8. allowmonstertelefrags This indicates that monsters can telefrag each other or the player on the level. Normally, monsters will never telefrag anything.

map07special

This level wants the special feature of Doom II MAP07. In this case, when every mancubus on the level dies, any sectors tagged 666 will have their floors lower to the next lowest floor, and when every arachnotron on the level is dead, any sectors tagged 667 will have their floors raised by the height of their lower textures.

baronspecial

After every Baron of Hell on this level has died, a special action will be triggered.

cyberdemonspecial

After every Cyber Demon on this level has died, a special action will be triggered.

spidermastermindspecial

After every Spider Mastermind on this level has died, a special action will be triggered.

The above three specials should also be used with one of the following three special actions:

specialaction_exitlevel

Exits the level after all of the specified monsters have died.

specialaction_opendoor

After all of the specified monsters have died, opens any doors tagged 666 with blazing speed.

specialaction_lowerfloor

After all of the specified monsters have died, lowers the floors of all sectors tagged 666 to the next lowest floor.

lightning

Creates lightning in the map.

fadetable <colormap>

Included for Hexen compatibility. Please don't use it. Right now, it does what it's supposed to (specify a default colormap to use instead of the regular COLORMAP lump), but in the future it will probably just act like a fadeto line.

====evenlighting==== (I don't know if this is still valid) Specifies that lighting should be applied to walls evenly no matter what their orientation. DOOM would use different light levels for walls that were vertical, horizontal, or diagonal (when viewed from above). While this gives better definition to corners, it looks dumb if you have a rotating polyobject because the polyobject's lighting will vary as it rotates. You can disable that behavior by specifying this.

forcenoskystretch

If you have a sky graphic that looks fine whether it tiles or not, you can use this, and the sky will never be stretched on this level, regardless of the value of r_stretchsky.

noautosequences

By default, the sound sequence played in a sector when it moves is determined by the special used to activate it. If you specify this, whatever sound sequence has ID 0 will be used by default instead. In either case, placing a sound sequence thing (1400-1409) in a sector will cause the sound assigned to that thing to be played.

Cluster definitions

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

clusterdef <cluster>

<Cluster> is the cluster that this clusterdef defines. A cluster of 0 is used internally to mean "no cluster" and should be avoided.

After clusterdef, the following properties are valid:

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. For Doom I, this is normally D_VICTOR, and for Doom II, this is normally D_READ_M.

flat <flatlump>

This is the name of the flat to use as a background while this cluster's entertext or exittext is displayed.

hub

Indicates that this cluster is a hub. When leaving a hub, the game will remember the contents of the level when the player left it and restore the level to that state when the player returns to it. Moving to a different cluster will cause the game to forget the state of the levels in this hub in order to save memory. Each level a player visits in a hub uses memory (about 20k for a typical level), so it's probably a good idea not to have too many levels in a single hub. Just how many is "too many" is arbitrary. Unless you use very large levels, you could probably use 50 levels in a hub, and only about 1 meg would be required to keep track of the state of each level.

New features for Zdoom's mapinfo since v1.22 are:

(Note: the '-' means that i don't know what it does, but i'#m sure some nice person can fill in the gaps ;-) ).

fallingdamage

Enables falling damage on the level. This is set permanently meaning that you can't disable it.

nofallingdamage

Disables falling damage. This also can not be re-enabled if set in the mapinfo lump.

cdtrack

You can now set tracks from a Cd as music for Zdoom. -

cdid

-

vertwallshade

This controls the Vertical wall shading. -

horizwallshade

This controls the horizontal wall shading. -

gravity

Gravity is now accessible through the mapinfo lump. Set this for the amount of gravity.

aircontrol

-

filterstarts

This filters out player starts based on skill and gametype settings.

NoInventoryBar

This prevents the inventory bar from ever being drawn in a doom map.