Doom3 stored all of its levels in “*.proc” files, which are plain text not binary. I have written a small parser to load these files and glob all of it into one large mesh. In the above picture you can see the mesh data, and the level covered in my procedural demo texture which is useful for debugging UVs.
The PROC files also contain BSP information for quickly mapping an item to a specific sector of the map. The next step would be to parse this, and implement a small portal system to quickly cull sectors that cannot be seen. Loading the real textures would be nice too.
Source Code: https://bitbucket.org/AidanDodds/demo_code