Still working on the special volumes. Theres a couple of problems that I hadn't noticed before. The main one was I wasn't placing the volumes correctly, which was giving weird results. Using the SpecVol Edit Mode in C1 and comparing it to my engine helped to fix that problem. Love edit mode :) Heres the obligatory screenshot showing correctly rotated and scaled special volumes (from the Coastb track), and also the latest ripped font for rendering messages to the screen. Oh, and also the requested 'lighting switch'! Each font takes an hour or two because I have to manually cut each glyph from the original bitmap and massage it into the XNA bitmap font format. Its the only resource I have to modify instead of reading directly from the data files at runtime.
The other problem is implementing the 'default water' special volume. The race.txt file doesn't contain where the water is, so the C1 engine has to look at all the water materials, get a list of water vertices, then build up a list of locations. I've done all this, and for the most part it works, but theres still some weird edge cases to figure out.