``Oh, noe, a whole QuakeI DM1 map?''
You control pitch use a mouse.
You control yaw use a mouse.
You control roll with Q/E keys (Delete/Insert keys).
You control forward speed with W/A keys (W moves you forward, S moves you backwards). You can also use the '>' and '<' keys.
You control side-to-side speed with A/D keys (A moves you left, D moves you right).
You control up/down speed with Z/X keys (Z moves you up, X moves you down).
Use the mouse. A very convinient way to fly around is to control direction with the mouse, and keep holding down the 'W' key.
The program starts out by loading a 250k gzip `bsp' file, which it then uses to display the map (and do collision). So if it takes a while to start up, please be patient---it's downloading. This also means that if your VM doesn't have gzip input stream, then it won't work---the uncompressed file is 2MB, which is way over the reasonable limit.
There is a tool: maptool.pl, which is a Perl program that reads in a .map file (for any game in fact, for quake123, etc.) builds the BSP tree, and putputs some file, which I then gziped, and just read in via the applet.
The file format (and code) aren't particularly efficient. There is absolutely no BSP optimization, every point is treated independently (no vertex lists), every polygon is treated separately (no lists of those either). The old BSP code from the old example is also still there (eventhough it's not used). In short: it sux and needs major clean up---which isn't coming. I've decided to work on some interesting extentions rather than clean up this code (like portals). Once I get most of the basic things working, then I'll rewrite the whole thing from the beginning.