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.
(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.
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.