Although the project is far from complete, I have built a drag and drop interface for viewing all of the main binary formats used by Quake (other than .dat, which is used for Quake C code lumps). I've named it Quake Web Tools. It should work perfectly in Chrome, and most of the functionality works in Firefox, although you can't currently extract files from .pak archives in Firefox at the moment (I plan to fix this!). Other browsers are currently untested, but as I work on the real UI and (hopefully) some editing functionality, I plan to do more compatibility testing. It does, however, work on Mac, Windows and Linux since it's just running in a browser.
Currently you can view the following formats:
- .pak - Uncompressed file archive
- .pal - 256 colour palette files
- .wad - Texture/image directories used for textures and console graphics
- .bsp - Game levels, with textured 3d preview and texture listing
- .mdl - Model files, with textured and animated 3d preview
- .spr - Billboard sprites
- .lmp - Graphics lump, simple images.
- Clean up of viewer code as it's currently very hacked together
- Proper UI based using Polymer or home made Web Components library (To learn about Web Components, not just polymer's little bubble).
- View files that are inside others without extracting manually.
- View animated textures and sprites
- .wav player (Quake uses .wav for all its sound.
- .map viewer (And possibly editor at a later date?)
- .wad editing (Add, delete, rename etc. Perhaps image editor?)
- .pak editing (Basic add, remove, move file functionality)
- .lit bsp viewer (Probably quite difficult to do in Three.js? Was enough hassle just to show textures).