Editing EMAPINFO

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
The '''EMAPINFO''' lump customizes the properties of maps. It is the main Eternity lump for this purpose.
The '''EMAPINFO''' lump customizes properties of a map. It is the main Eternity lump for this purpose.
{{Backto|Eternity Engine}}
{{Backto|Eternity Engine}}
{{editref}}
{{editref}}
Line 30: Line 30:
||
||
  edf-intername = true
  edf-intername = true
|-
||enterpic||Name of a 320x200 graphic lump to be displayed as the background of the statistics intermission during the ''entering'' of this map's stage. If omitted and previous map's '''interpic''' property is set, it will continue displaying that.||
enterpic = INTOCAVE
|-
|-
||inter-levelname||Name of the map to display in the intermission score screen. This is separate from '''levelname''' which is for the automap display, and can be used as an alternative to '''levelpic''' which is a graphic lump for the intermission name. If both '''inter-levelname''' and '''levelpic''' are present, '''levelpic''' takes precedence. Unlike '''levelpic''', this one also works in Heretic.||
||inter-levelname||Name of the map to display in the intermission score screen. This is separate from '''levelname''' which is for the automap display, and can be used as an alternative to '''levelpic''' which is a graphic lump for the intermission name. If both '''inter-levelname''' and '''levelpic''' are present, '''levelpic''' takes precedence. Unlike '''levelpic''', this one also works in Heretic.||
Line 62: Line 59:
||nextsecret||The exact header name of the next level to go to when a secret exit occurs on this map. This can specify *any* lump name, but the lump should be a valid level header or an error will occur. Note that except for maps which normally have secret exits, the default behavior is to repeat the same level. This MapInfo value allows you to avoid that and use a secret exit on any map.||
||nextsecret||The exact header name of the next level to go to when a secret exit occurs on this map. This can specify *any* lump name, but the lump should be a valid level header or an error will occur. Note that except for maps which normally have secret exits, the default behavior is to repeat the same level. This MapInfo value allows you to avoid that and use a secret exit on any map.||
  nextsecret = MAP34
  nextsecret = MAP34
|-
||allowexittags||If true, allows the exit linedef ''classic'' linedef specials to use their tags to specify the number of the level to go to. This doesn't apply to the parameterized specials||
allowexittags = true
|-
||allowsecrettags||Same as '''allowexittags''', but applies to the secret exit ''classic'' linedef specials.||
allowsecrettags = true
|-
|-
||partime||Partime for the map in seconds. This value overrides any value provided via DeHackEd. Note that partimes are only supported in episodes 1-3 of DOOM and any map of DOOM II. Ultimate DOOM episode 4, Heretic, and non-standard maps currently never display par times.||
||partime||Partime for the map in seconds. This value overrides any value provided via DeHackEd. Note that partimes are only supported in episodes 1-3 of DOOM and any map of DOOM II. Ultimate DOOM episode 4, Heretic, and non-standard maps currently never display par times.||
  partime = 200
  partime = 200
|}
|}
===Scripting===
===Scripting===
{|class="wikitable sortable"
{|class="wikitable sortable"
Line 119: Line 109:
  altskyname = LBOLTSKY
  altskyname = LBOLTSKY
|-
|-
||colormap||Name of a colormap lump to use as the global colormap for this level. This colormap is applied to any sectors which do not have their own colormaps specified either via use of 242 height transfer linedefs or scripting. This lump must be between C_START and C_END tags or the "colormaps" directory in the PKE.||
||colormap||Name of a colormap lump to use as the global colormap for this level. This colormap is applied to any sectors which do not have their own colormaps specified either via use of 242 height transfer linedefs or scripting. This lump must be between C_START and C_END tags.||
  colormap = FOGMAP
  colormap = FOGMAP
|-
||outdoorfog||Name of a colormap lump to use as the outdoors colormap for this level. This lump must be between C_START and C_END tags or the "colormaps" directory in the PKE.||
outdoorfog = FOGMAP
|-
|-
||defaultenvironment||Sets the default sound environment (reverb) effect to happen in the map. Use two identifiers, as defined in [[EDF]].||
||defaultenvironment||Sets the default sound environment (reverb) effect to happen in the map. Use two identifiers, as defined in [[EDF]].||
Line 202: Line 189:
! Example
! Example
|-
|-
||'''boss-specials'''||A flags field that specifies what formerly level-specific boss "magic codepointer" actions are enabled for this level. This field takes a value in the same format as that used by [[EDF]], DeHackEd/BEX, and ExtraData flag fields, but the format will be reviewed here for completeness.
||boss-specials||A flags field that specifies what formerly level-specific boss "magic codepointer" actions are enabled for this level. This field takes a value in the same format as that used by [[EDF]], DeHackEd/BEX, and ExtraData flag fields, but the format will be reviewed here for completeness.


A BEX flag list is a string of flag names separated by whitespace, pipe characters, commas, or plus characters. Flags are combined using bitwise-OR logic, so a flag name can be specified more than once. Specifying a flag name causes that flag to be turned on. The default state of all flags is off.
A BEX flag list is a string of flag names separated by whitespace, pipe characters, commas, or plus characters. Flags are combined using bitwise-OR logic, so a flag name can be specified more than once. Specifying a flag name causes that flag to be turned on. The default state of all flags is off.
Line 233: Line 220:
  boss-specials = MAP07_1 MAP07_2
  boss-specials = MAP07_1 MAP07_2
|-
|-
||'''endofgame'''||Boolean value which, if true, causes a DOOM II cast call to occur when this map is exited. This value is currently only usable in DOOM II. A level must also have intermission text defined for a cast call to take place.||
||endofgame||Boolean value which, if true, causes a DOOM II cast call to occur when this map is exited. This value is currently only usable in DOOM II. A level must also have intermission text defined for a cast call to take place.||
  endofgame = true
  endofgame = true
|-
|-
||'''endpic'''||String value. If '''finaletype''' has been set to '''endpic''', this value specifies the picture lump to display for the finale.||
||finale-early||Boolean value which, if true, indicates that a text intermission should occur after this map without displaying the usual score screen. If no intermission text is defined for this map, this variable has no effect.||
finaletype = endpic
endpic = FINALPIC    // show a custom patch lump named FINALPIC
|-
||'''finale-early'''||Boolean value which, if true, indicates that a text intermission should occur after this map without displaying the usual score screen. If no intermission text is defined for this map, this variable has no effect.||
  finale-early = true
  finale-early = true
|-
|-
||'''finale-normal'''||Boolean value which, if true, indicates that a text intermission should only occur after this map if a normal exit was taken. If no intermission text is defined for this map, this variable has no effect.||
||finale-normal||Boolean value which, if true, indicates that a text intermission should only occur after this map if a normal exit was taken. If no intermission text is defined for this map, this variable has no effect.||
  finale-normal = true
  finale-normal = true
|-
|-
||'''finale-secret'''||Boolean value which, if true, indicates that a text intermission should only occur after this map if a secret exit was taken. If no intermission text is defined for this map, this variable has no effect.||
||finale-secret||Boolean value which, if true, indicates that a text intermission should only occur after this map if a secret exit was taken. If no intermission text is defined for this map, this variable has no effect.||
  finale-secret = true
  finale-secret = true
|-
|-
||'''finaletype'''||Specifies which finale image sequence to use. Possible values are:
||finaletype||Specifies which finale image sequence to use. Possible values are:
*'''text''': Only the intertext will be displayed. Play will then continue to the next level normally.
*''text'': Only the intertext will be displayed. Play will then continue to the next level normally.
*'''doom_credits''': The DOOM CREDITS screen will be displayed after the intertext. Play ends after this map.
*''doom_credits'': The DOOM CREDITS screen will be displayed after the intertext. Play ends after this map.
*'''doom_deimos''': The DOOM picture of Deimos above Hell will be displayed after the intertext. Play ends after this map.
*''doom_deimos'': The DOOM picture of Deimos above Hell will be displayed after the intertext. Play ends after this map.
*'''doom_bunny''': The scrolling picture of Daisy's head on a pike will be displayed, accompanied by the words "THE END" which are shot up with several bullets. Play ends after this map.
*''doom_bunny'': The scrolling picture of Daisy's head on a pike will be displayed, accompanied by the words "THE END" which are shot up with several bullets. Play ends after this map.
*'''doom_marine''': The E4 ending picture of the Marine holding Daisy's head is displayed after the intertext. Play ends after this map.
*''doom_marine'': The E4 ending picture of the Marine holding Daisy's head is displayed after the intertext. Play ends after this map.
*'''htic_credits''': The Heretic CREDITS screen will be displayed after the intertext. Play ends after this map.
*''htic_credits'': The Heretic CREDITS screen will be displayed after the intertext. Play ends after this map.
*'''htic_water''': The Heretic underwater screen with special palette is displayed after the intertext. Play ends after this map.
*''htic_water'': The Heretic underwater screen with special palette is displayed after the intertext. Play ends after this map.
*'''htic_demon''': The Heretic demon scroller is displayed after the intertext. Play ends after this map.
*''htic_demon'': The Heretic demon scroller is displayed after the intertext. Play ends after this map.
*'''psx_udoom''': PSX Ultimate DOOM finale
*''psx_udoom'': PSX Ultimate DOOM finale
*'''psx_doom2''': PSX DOOM II finale
*''psx_doom2'': PSX DOOM II finale
*'''endpic''': End the game with a custom static picture set by the '''endpic''' property (see its relevant row in this table). This is a generalization of the DOOM I and Heretic intermediary episode endings.
||
||
|-
|-
||'''finalesecrettype'''||Like above, but for the secret exit.||
||finalesecrettype||Like above, but for the secret exit.||
|-
|-
||'''inter-backdrop'''||Name of a 64x64 flat OR a 320x200 graphic lump to be displayed as the background of a text intermission which occurs after this map. The flat namespace will be searched first, so if both a flat and a 320x200 picture of the same name exist, the flat will be chosen.||
||inter-backdrop||Name of a 64x64 flat OR a 320x200 graphic lump to be displayed as the background of a text intermission which occurs after this map. The flat namespace will be searched first, so if both a flat and a 320x200 picture of the same name exist, the flat will be chosen.||
  inter-backdrop = FLATHUH1
  inter-backdrop = FLATHUH1
|-
|-
||'''intermusic'''||Name of a MUS or MIDI lump to use as music during a text intermission which occurs after this map. If no intertext is defined for the map, this value will not be used. In DOOM gamemodes, the string provided should be the lump name minus the "D_" prefix. In Heretic, the string provided should be the lump name minus the "MUS_" prefix. You are *not* limited to using only the built-in music lump names; Eternity automatically adds any new lump which matches the naming convention for the current gamemode to the internal music list.||
||intermusic||Name of a MUS or MIDI lump to use as music during a text intermission which occurs after this map. If no intertext is defined for the map, this value will not be used. In DOOM gamemodes, the string provided should be the lump name minus the "D_" prefix. In Heretic, the string provided should be the lump name minus the "MUS_" prefix. You are *not* limited to using only the built-in music lump names; Eternity automatically adds any new lump which matches the naming convention for the current gamemode to the internal music list.||
  intermusic = ROMERO
  intermusic = ROMERO
|-
|-
||'''intertext'''||Lump name of a text lump to be loaded as intermission text for this level. If the level has an intermission by default, this will replace the default intermission text, even if it has been edited via DeHackEd. If there is not normally a text intermission after this map, the presence of this variable serves to enable it. If no intertext is defined, a text intermission will not occur after a map. The formatting of the text inside the indicated lump will be preserved exactly, with the exception of tabs, which are converted to spaces. There is no length limitation, but only one screen of text (40 columns, 17 rows) can be displayed. Any extra text will be drawn off the bottom of the screen.||
||intertext||Lump name of a text lump to be loaded as intermission text for this level. If the level has an intermission by default, this will replace the default intermission text, even if it has been edited via DeHackEd. If there is not normally a text intermission after this map, the presence of this variable serves to enable it. If no intertext is defined, a text intermission will not occur after a map. The formatting of the text inside the indicated lump will be preserved exactly, with the exception of tabs, which are converted to spaces. There is no length limitation, but only one screen of text (40 columns, 17 rows) can be displayed. Any extra text will be drawn off the bottom of the screen.||
  intertext = MAP04TXT
  intertext = MAP04TXT
|-
|-
||'''intertext-secret'''||Like '''intertext''', but for the secret exit.||
||killfinale||Boolean value that allows built-in text intermission points to be disabled. For example, if you do not want text to appear after DOOM II MAP11, set this variable to true.||
|-
||'''killfinale'''||Boolean value that allows built-in text intermission points to be disabled. For example, if you do not want text to appear after DOOM II MAP11, set this variable to true.||
  killfinale = true
  killfinale = true
|-
|-
||'''levelaction'''||Specifies what happens when certain species of monsters all die in the map. The syntax is such: ''thingtype'' ''special'' [''arg1'' [''arg2'' [''arg3'' [''arg4'' [''arg5'']]]]]. You can even have more than one per level.
||levelaction||Specifies what happens when certain species of monsters all die in the map. The syntax is such: ''thingtype'' ''special'' [''arg1'' [''arg2'' [''arg3'' [''arg4'' [''arg5'']]]]]. You can even have more than one per level.||
 
NOTE: this does not depend on the presence of the [[BossDeath]] or [[HticBossDeath]] codepointer in a monster's death sequence. Instead, it triggers immediately when the last monster is killed. In fact, if used in a map without such monsters, it will activate from the start. Also, it can only be used for actual monsters ('''COUNTKILL''' or '''KILLABLE''' in '''cflags'''), not for picking up items. Use '''levelaction-bossdeath''' if you want triggering when said codepointers are run.
||
  levelaction = BaronOfHell Floor_LowerToLowest 671 8
  levelaction = BaronOfHell Floor_LowerToLowest 671 8
  levelaction = Arachnotron Floor_RaiseByValue  667 8 24
  levelaction = Arachnotron Floor_RaiseByValue  667 8 24
|-
|-
||'''levelaction-bossdeath'''||Like '''levelaction''', but activated only during [[BossDeath]] or [[HticBossDeath]] from a dead monster of the intended species. Same syntax as '''levelaction'''. Warning: this one is susceptible to unexpected effects if the monsters can respawn or resurrect, then die again, retriggering the action. Use with care.
|}
|}


Line 305: Line 281:


The second example also sets a name and creator for the map (for the E1M1 mapslot, in this case), and also specifies that it will use SKY3 and scroll the sky slowly, using the skydelta variable.
The second example also sets a name and creator for the map (for the E1M1 mapslot, in this case), and also specifies that it will use SKY3 and scroll the sky slowly, using the skydelta variable.
==See also==
 
*[[UMAPINFO]]
[[Category:Editing]]
[[Category:Editing]]
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)