Editing UDMF

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 6: Line 6:


Maps designed in UDMF no longer need ExtraData.
Maps designed in UDMF no longer need ExtraData.
The standard was defined by James "Quasar" Haley and has also been successfully implemented in Vavoom, ZDoom and the ZDoom-derivative ports.
* See also the [https://www.doomworld.com/eternity/engine/stuff/udmf11.txt base UDMF specifications]


==Basics==
==Basics==
Line 30: Line 26:
  linedef
  linedef
  {
  {
  blocklandmonsters = <boolean>;
  blockplayers = <boolean>;
   polycross = <boolean>;
   polycross = <boolean>;
  monstershoot = <boolean>;
   
   
   midtex3d = <boolean>;
   midtex3d = <boolean>;
Line 47: Line 39:
   portal = <integer>;
   portal = <integer>;
   
   
   alpha = <floating-point>;       // default 1.0
   alpha = <floating-point>;
   renderstyle = <string>;
   renderstyle = <string>;
   tranmap = <string>;
   tranmap = <string>;
  }
  }
===Explanation of fields===
===Explanation of fields===
*'''blocklandmonsters'''
:If true, linedef blocks walking monsters but allows fliers to pass. Players can pass anyway.
*'''blockplayers'''
:If true, linedef blocks players but allows monsters and projectiles to pass.
*'''polycross'''
*'''polycross'''
:If true, linedef is activated when a polyobject's center point crosses it.
:If true, linedef is activated when a polyobject's center point crosses it.
*'''monstershoot'''
:If true, linedef is activated when a monster fires hitscan on it.
*'''midtex3d'''
*'''midtex3d'''
:If true, this linedef's middle texture uses [[3DMidTex_tutorial|3dmidtex]] physics.
:If true, this linedef's middle texture uses [[3DMidTex_tutorial|3dmidtex]] physics.
Line 84: Line 70:


==Sidedefs==
==Sidedefs==
sidedef
No new fields are in Eternity, but '''offsetx''' and '''offsety''' now work as floating-point, instead of integer.
{
  offsetx = <floating-point>;
  offsety = <floating-point>;
  offsetx_top = <floating-point>;
  offsety_top = <floating-point>;
  offsetx_mid = <floating-point>;
  offsety_mid = <floating-point>;
  offsetx_bottom = <floating-point>;
  offsety_bottom = <floating-point>;
  light = <integer>;
  lightabsolute = <boolean>;
  light_top = <integer>;
  lightabsolute_top = <boolean>;
  light_mid = <integer>;
  lightabsolute_mid = <boolean>;
  light_bottom = <integer>;
  lightabsolute_bottom = <boolean>;
  skew_top_type = <string>;
  skew_middle_type = <string>;
  skew_bottom_type = <string>;
}
 
===Explanation of fields===
*'''offsetx''', '''offsety'''
:Overall horizontal and vertical offsets for the top, middle, and bottom textures of this sidedef.
*'''offsetx_top''', '''offsety_top''', '''offsetx_mid''', '''offsety_mid''', '''offsetx_bottom''', '''offsety_bottom'''
:Horizontal and vertical offsets for the individual top, middle, and bottom portions of this sidedef.
*'''light''', '''light_top''', '''light_mid''', '''light_bottom''', '''lightabsolute''', '''lightabsolute_top''', '''lightabsolute_mid''', '''lightabsolute_bottom'''
:Brightness for the whole, and the individual top, middle, and bottom portions of this sidedef. By default the values are additive to the inherited brightness. If the "absolute" properties are set to "true" the values are not additive anymore, but absolute.
*'''skew_top_type''', '''skew_bottom_type''', '''skew_middle_type'''
:The type of skewing that the a given texture of this sidedef has. This skew starts at the left side of the sidedef (if viewing the sidedef straight-on) and conforms to either the slope on the front or back side of the line the sidedef is on. Either the floor or ceiling slope can be picked as the slope for the skewing to conform to. Values are "none", "front_floor", "front_ceiling", "back_floor", and "back_ceiling", with "none" being the default.


==Vertices==
==Vertices==
Line 157: Line 110:
   lightfloorabsolute = <boolean>;
   lightfloorabsolute = <boolean>;
   lightceilingabsolute = <boolean>;
   lightceilingabsolute = <boolean>;
  phasedlight = <boolean>;
  lightsequence = <boolean>;
  lightseqalt = <boolean>;
   
   
   colormaptop = <string>;
   colormaptop = <string>;
Line 171: Line 120:
   scroll_floor_x = <floating-point>;
   scroll_floor_x = <floating-point>;
   scroll_floor_y = <floating-point>;
   scroll_floor_y = <floating-point>;
   scroll_floor_type = <string>;
   scroll_floot_type = <string>;
   
   
   floorid = <integer>;
   floorid = <integer>;
Line 228: Line 177:
:If true, then each damage hit will produce a splash, like the Heretic lava.
:If true, then each damage hit will produce a splash, like the Heretic lava.
*'''damagetype''' (default: "Unknown")
*'''damagetype''' (default: "Unknown")
:The [[damagetype|damage type]] of the floor. For Doom damaging floors you can use "Slime".
:The [[damagetype|damage type]] of the floor.
*'''floorterrain''' (default: "@flat")
*'''floorterrain''' (default: "@flat")
:The [[terrain]] effect of the floor.
:The [[terrain]] effect of the floor.
Line 237: Line 186:
*'''lightfloorabsolute''', '''lightceilingabsolute'''
*'''lightfloorabsolute''', '''lightceilingabsolute'''
:If true, then '''lightfloor''' or '''lightceiling''' just overrides the light.
:If true, then '''lightfloor''' or '''lightceiling''' just overrides the light.
* phasedlight = <boolean>;
:Equivalent to ExtraData flag.
* lightsequence = <boolean>;
:Equivalent to ExtraData flag.
* lightseqalt = <boolean>;
:Equivalent to ExtraData flag.
*'''colormaptop''', '''colormapmid''', '''colormapbottom''' (default: "@default")
*'''colormaptop''', '''colormapmid''', '''colormapbottom''' (default: "@default")
:The colormap to set for the top, normal or bottom part of a Boom sector with fake flats. Or for any normal part, if it's '''colormapmid'''. Use a lump from between '''C_START''' and '''C_END'''. "WATERMAP" and "LAVAMAP" are provided by Eternity.
:The colormap to set for the top, normal or bottom part of a Boom sector with fake flats. Or for any normal part, if it's '''colormapmid'''. Use a lump from between '''C_START''' and '''C_END'''. "WATERMAP" and "LAVAMAP" are provided by Eternity.
Line 254: Line 197:
:Makes the floor or ceiling of this sector move whenever sectors with '''floorid''' or '''ceilingid''' with the same number move their respective surfaces. If you want this sector's floor or ceiling to move in opposite direction, use the negative value.
:Makes the floor or ceiling of this sector move whenever sectors with '''floorid''' or '''ceilingid''' with the same number move their respective surfaces. If you want this sector's floor or ceiling to move in opposite direction, use the negative value.
*'''soundsequence'''
*'''soundsequence'''
:Name of the [[soundsequence]] to use for the movement of this sector. It will only work if said soundsequence has an '''id'''. It can also be a number (the sound sequence '''id''') surrounded by quotes.
:Name of the [[soundsequence]] to use for the movement of this sector.
*'''portalfloor''', '''portalceiling'''
*'''portalfloor''', '''portalceiling'''
:Portal ID to use on the floor or ceiling of this sector, using the same value as the one set in [[Portal_Define]]. For two-way portals, use the negative number for the opposite portal (i.e. one way uses portal ''n'', and the other way uses -''n'').
:Portal ID to use on the floor or ceiling of this sector, using the same value as the one set in [[Portal_Define]]. For two-way portals, use the negative number for the opposite portal (i.e. one way uses portal ''n'', and the other way uses -''n'').
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)