Advertisement Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

The DLL of Doom!

Sign in to follow this  


Over the past week(s) I've been moving my Doom level loader into a DLL for public use. I know nobody will probably use it, but I thought I'd try it out anyway. It should be platform independent since I compiled it with Mono 1.1. I've tested it in Mono 1.1, 2.0 and .Net 1.1 and 2.0. I put in plenty of XML documentation/commenting and error checking of course, although SharpDevelop seems to have problems reading the documentation.

It supports the usual level loading and "connecting" of various elements, also supports glVIS( PVS system ), all glNodes versions and the normal node data if you don't want to use glNodes. Threw in plenty of helper functions as well. Loads all the usual graphics formats and conversion to 32-bit, only problem I've had is with Strife wall textures, but I'm working on that now.

The only thing it really can't do is music, although MUS lumps can be converted to MIDI using a program called MUS2MIDI.

Anyway I wrote a small map viewing program to test it out.



Doom 64:



(There are some problems with Heretic maps due to their construction, the original Doom engine is a little more forgiving)


Unfortunately it's windows only since it relies on zdbsp and glVIS. The source for the viewer is included along with the DLL, however the code to the viewer is extremely sloppy, I just wanted to get it done so I could get back to working on the DLL(adding my Quake code). So the viewer code isn't a reflection of what the DLL code looks like.

Le Download

Controls are WSAD for movement and the mouse for rotation. If you get lost in the wild blue yonder press R.

Oh yeah, it'll only work with PWADs(custom WADs) if they contain all the necessary data(like Doom64). So stick to normal IWADs(Doom, Doom2, TNT, Plutonia, etc..). Also glVIS can take forever on large levels, so if anyone does decide to use this and wants the GL_PVS lump, build it ahead of time.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!