HTML cross-browser compat changes
Made properties writable
Fix typos in js-struct.js
Use jDataView to replace DataView
Pulling in jsDataView changes
missed another writable
Scale down textures, first pass at fixing skybox

Added code to scale textues down before loading them into video memory. My
graphics card can't handle TF2 itself at the highest quality, so this
should help. Planning to add UI to choose texture quality later.

Changed skybox code to cut the "side.png" texture in half, and use the
halves on alternating sides of the skybox. Not really sure how this should
be handled, and it's still not working completely, but this gets rid of
the non-square texture warning.
Fix normal vectors
Turn down look speed
List of features I'd like to add, if I'm able
Removed normalization from vertex shader

As suggested by Marek Sieradzki,
http://blog.tojicode.com/2011/10/source-engine-levels-in-webgl-video.html
It is better to normalize in the fragment shader, after interpolation is
done, rather than in the vertex shader. Moreover, these vectors were
effectively being normalized twice.
Missed two more "writable" attributes

It keeps happening!
Update todo list
Only display the first submodel of each bodypart.

This fixes the heavy's discolored left hand. The heavy's hand bodypart has
three submodels: one with the correct appearance, one that doesn't appear
to have any mesh associated with it, and one that applies too much black
texture to the left hand. I was not able to find any other models with
multiple submodels out of the props used in ctf_2fort, so hopefully this
change won't have any side-effects.
Whoops, forgot to take out some debug code
Got the 2D skybox working.

As far as I can tell, the 2fort skybox textures only cover the top half of
the skybox, so I'm cropping and adjusting to satisfy that.

The 3D skybox is not being displayed at all, so some black will be visible
below the horizon where that would go. Presumably the 3D skybox would need
a separate render pass, after the normal part of the map, but before the
skybox and transparent models.
Update todo list
Figured out how to extract lightmaps from BSP.

So this is just another preprocessing step, but unzipping inside the
browser would be pointless without writing code to convert VTF files
inside the browser. The downside is that this information will be
downloaded twice, once in the second half (yes, half) of the BSP, and once
as separate files.

Fun fact: It's also possible to extract these files by identifying the
first PK\x03\x04 magic number in the BSP, chopping off that part of the
file, and then treating it as a standard .zip file.
Add a menu to select texture quality
Favicon