Doom Struct
Type: Java 7 SE Library
Documentation: Online Javadoc
License: Open Source, LGPL v2.1
Description: A library that manipulates Doom Engine data structures.
The purpose of the Doom Structure project is to provide a means to read/write data structures in Doom.


  • Reads all Doom map and data structures in Doom, Hexen/ZDoom, or Strife formats. This includes textures, patches, lines, vertices, things, sectors, nodes, palettes, colormaps, text, PNG data, MUS data, flats, blockmaps, reject, and even ENDOOM-type VGA lumps.
  • Contains libraries for predicting game types for maps and Wads.
  • Can read both WAD and PK3 package types, as well as assist in converting between the two.
  • Contains a utility class for converting Doom graphics to standard Java graphics structures.
  • Contains a utility class for visualizing maps for graphic export or rendering to a canvas.
  • Full UDMF parsing/writing support.


Contained in this release is a series of libraries that allow reading, writing, and extracting data in Doom Engine structures, found in the com.blackrook.doom packages.

See the downloads page for project downloads.

This project is hosted at GitHub for cloning, forking, or perusal.


All projects Copyright © 2009-2016 Black Rook Software

All rights reserved. This program and the accompanying materials are made available under the terms of the GNU Lesser Public License v2.1 which accompanies this distribution, and is available at

A copy of the LGPL should have been included in this release (LICENSE.txt). If it was not, please contact us for a copy, or to notify us of a distribution that has not included it.