Doom format

From ZDoom Wiki
Jump to: navigation, search

Doom format is the map format originally used by Doom, Doom II, and Heretic. Maps can be converted to Hexen format using ZWADCONV. A technical description of the Doom map format follows.

  • THINGS - 10 bytes
    • Bytes 0-2: Location (x) (short)
    • Bytes 2-4: Location (y) (short)
    • Bytes 4-6: Facing angle (short)
    • Bytes 6-8: Type ID (short)
    • Bytes 8-10: Flags (short)
  • LINEDEFS - 12 bytes
    • Bytes 0-2: Start VERTEX (short)
    • Bytes 2-4: End VERTEX (short)
    • Bytes 4-6: Attributes (short)
    • Bytes 6-8: Special effects type (short)
    • Bytes 8-10: Tag (short)
    • Bytes 10-12: Right SIDEDEF (short)
    • Bytes 12-14: Left SIDEDEF (short)
  • SIDEDEFS - 30 bytes
    • Bytes 0-2: Texture x offset (short)
    • Bytes 0-4: Texture y offset (short)
    • Bytes 4-12: Upper texture name (8 byte string)
    • Bytes 12-20: Lower texture name (8 byte string)
    • Bytes 20-28: Middle texture name (8 byte string)
    • Bytes 28-30: Sector id (short)
  • VERTEXES - 4 bytes
    • Bytes 0-2: x coordinate (short)
    • Bytes 2-4: y coordinate (short)
  • SEGS (created by node builder)
  • SSECTORS (created by node builder)
  • NODES (created by node builder)
  • SECTORS - 26 bytes
    • Bytes 0-2: Floor height (short)
    • Bytes 2-4: Ceiling height (short)
    • Bytes 4-12: Floor texture (8 byte string)
    • Bytes 12-20: Ceiling texture (8 byte string)
    • Bytes 20-22: Light level (short)
    • Bytes 22-24: Special sector (short)
    • Bytes 24-26: Tag (short)
  • REJECT (created by node builder)
  • BLOCKMAP (created by node builder)

All long integers are 32 bit unsigned longs in little-endian format (shorts are signed, 16 bits, little-endian as well). So the byte sequence 212 2 0 0 is really 0 0 2 212 which translates to 724 decimal.

Personal tools
Namespaces

Variants
Actions
Navigation
ACS
DECORATE
ZDoom mods
Toolbox