Difference between revisions of "UDMF"

From DoomWiki.org

[unchecked revision][checked revision]
(links)
m (External links: clarify current version)
(30 intermediate revisions by 13 users not shown)
Line 1: Line 1:
'''UDMF''' (or unabbreviated to '''Universal Doom Map Format''') is a currently in-progress specification for laying out maps in a more textual way, it is essentially a new map format for doom engine based games. The format is not backwards-compatible with older Doom engine games.
+
'''UDMF''' (or unabbreviated to '''Universal Doom Map Format''') is a specification for laying out maps in a textual way, it is essentially a new map format for [[Doom engine]] based games. The format is not backwards-compatible with older Doom engine games.
  
The idea for this format was first suggested by [[James "Quasar" Haley]] as a universal solution to add unlimited extra information to map elements, so that the wide range of new features in Doom sourceports can be better supported by editors and implemented in the map information more easily. The UDMF format is correctly being developed with help of [[Christoph "Graf Zahl" Oelckers]] and [[Pascal "CodeImp" vd Heiden]] and a few others. The name for the map format was coined by [[Russell Rice]].
+
The idea for this format was first suggested by [[James Haley (Quasar)]] as a universal solution to add unlimited extra information to map elements, so that the wide range of new features in Doom source ports can be better supported by editors and implemented in the map information more easily. UDMF was further developed by Haley, [[Christoph Oelckers (Graf Zahl)]] and [[Pascal vd Heiden (CodeImp)]] and with suggestions of a few others. The name for the map format was coined by [[Russell Rice]].
  
The UDMF map format is expected to be supported in [[Eternity]], [[ZDoom]], [[GZDoom]], [[Doom Builder 2]] and [[Slade]].
+
UDMF version 1.0 was finalized on May 29th, 2008. Support for it is currently implemented in [[Eternity Engine|Eternity]], [[GZDoom]], [[3DGE]], [[Vavoom]], [[ZDoom]], [[Skulltag]], [[Zandronum]], [[ZDBSP]], [[Doom Builder 2]] and [[SLADE 3]]. It is also expected to be supported in [[Doomsday]]<ref>{{dwforumsp|1064767|"1.9.7's BSP Builder already supports the UDMF vertex spec and post 1.9.8 I intend to implement a UDMF map converter plugin."}}</ref>.
  
 +
== Namespaces ==
 +
To prevent conflicts, the UDMF specifications require maps to start with a declaration of the namespace used, which then defines which map editing features are available and used. "Map editing features" is used here to describe only features that are directly used when making a map: the correspondence between editor numbers and thing types (such as 3001 for the [[imp]]), the one between [[linedef types]] and their expected effects, and the list of flags and properties that can be set on things, sides, lines, sectors, and vertices. Four namespaces are reserved by the specifications, and they should not be enhanced or extended with additional map editing features.
 +
* {{c|Doom}}: all map editing features of [[vanilla Doom]], [[Boom]], and [[MBF]].
 +
* {{c|Heretic}}: all map editing features of vanilla [[Heretic]]
 +
* {{c|Hexen}}: all map editing features of vanilla [[Hexen]]
 +
* {{c|Strife}}: all map editing features of vanilla [[Strife]]
  
== External Links ==
+
Source ports wanting to add new map editing features should define their own namespace.
* [http://www.doomworld.com/vb/source-ports/43207-udmf-v1-0-rfc/ Doomworld thread on UDMF 1.0]
+
=== Eternity Engine namespaces ===
* [http://www.doomworld.com/eternity/engine/stuff/udmf10.txt In-progress 1.0 specification]
+
* {{c|Eternity}}: Shared by all games supported by Eternity, and allows full use of all map editing features available. Mostly compatible with ZDoom mapping features which are also supported by Eternity.
* [http://www.doomworld.com/vb/source-ports/43145-udmf-v0-99-specification-draft-aka-textmap/ Doomworld thread on 0.99 specification]
+
=== ZDoom namespaces ===
 +
* {{c|ZDoom}}: This namespace is shared by all games supported by ZDoom, and allows full use of all map editing features available.
 +
* {{c|ZDoomTranslated}}: This is namespace will be processed by a [[zdoom:map translator|map translator]] which will convert line types and sector types as if they were in the binary map format shared by Doom, Heretic, and Strife. It is otherwise identical to the main ZDoom namespace.
 +
 
 +
== External links ==
 +
* UDMF 1.1 specifications [https://github.com/rheit/zdoom/blob/master/specs/udmf.txt on ZDoom] (and [https://github.com/rheit/zdoom/blob/master/specs/udmf_zdoom.txt ZDoom extension]), on [https://www.doomworld.com/eternity/engine/stuff/udmf11.txt Eternity]
 +
* [https://www.doomworld.com/eternity/engine/stuff/udmf10.txt 1.0 specifications]
 +
 
 +
===Doomworld threads===
 +
* {{dwforums|34323|Creating a 32-bit map format}}
 +
* {{dwforums|42209|Finalizing specs}}
 +
* {{dwforums|43145|0.99 specifications}}
 +
* {{dwforums|43207|UDMF 1.0}}
 +
* {{dwforums|51939|UDMF revisions}}
 +
 
 +
==References==
 +
<references/>
  
 
[[Category:Resources]]
 
[[Category:Resources]]
 
[[Category:Doom engine]]
 
[[Category:Doom engine]]
 +
[[Category:UDMF|*]]

Revision as of 14:29, 11 January 2018

UDMF (or unabbreviated to Universal Doom Map Format) is a specification for laying out maps in a textual way, it is essentially a new map format for Doom engine based games. The format is not backwards-compatible with older Doom engine games.

The idea for this format was first suggested by James Haley (Quasar) as a universal solution to add unlimited extra information to map elements, so that the wide range of new features in Doom source ports can be better supported by editors and implemented in the map information more easily. UDMF was further developed by Haley, Christoph Oelckers (Graf Zahl) and Pascal vd Heiden (CodeImp) and with suggestions of a few others. The name for the map format was coined by Russell Rice.

UDMF version 1.0 was finalized on May 29th, 2008. Support for it is currently implemented in Eternity, GZDoom, 3DGE, Vavoom, ZDoom, Skulltag, Zandronum, ZDBSP, Doom Builder 2 and SLADE 3. It is also expected to be supported in Doomsday[1].

Namespaces

To prevent conflicts, the UDMF specifications require maps to start with a declaration of the namespace used, which then defines which map editing features are available and used. "Map editing features" is used here to describe only features that are directly used when making a map: the correspondence between editor numbers and thing types (such as 3001 for the imp), the one between linedef types and their expected effects, and the list of flags and properties that can be set on things, sides, lines, sectors, and vertices. Four namespaces are reserved by the specifications, and they should not be enhanced or extended with additional map editing features.

  • Doom: all map editing features of vanilla Doom, Boom, and MBF.
  • Heretic: all map editing features of vanilla Heretic
  • Hexen: all map editing features of vanilla Hexen
  • Strife: all map editing features of vanilla Strife

Source ports wanting to add new map editing features should define their own namespace.

Eternity Engine namespaces

  • Eternity: Shared by all games supported by Eternity, and allows full use of all map editing features available. Mostly compatible with ZDoom mapping features which are also supported by Eternity.

ZDoom namespaces

  • ZDoom: This namespace is shared by all games supported by ZDoom, and allows full use of all map editing features available.
  • ZDoomTranslated: This is namespace will be processed by a map translator which will convert line types and sector types as if they were in the binary map format shared by Doom, Heretic, and Strife. It is otherwise identical to the main ZDoom namespace.

External links

Doomworld threads

References

  1. "1.9.7's BSP Builder already supports the UDMF vertex spec and post 1.9.8 I intend to implement a UDMF map converter plugin."