I’ve fixed a couple of problems that I hadn’t noticed before. The main one was I wasn’t always placing the volumes correctly, which was giving weird results (like water gravity being applied while driving down a road). Using the SpecVol Edit Mode in C1 and comparing it to my engine helped to fix that problem. I love the Stainless Software left edit mode available in the original game :) Heres a random screenshot showing correctly rotated and scaled special volumes (from the CoastB track). These particular special volumes define the engine sound to be used in the tunnels. Also shows the latest ripped font for rendering messages to the screen. 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, but I’m planning to code up a proper C1 bitmap font renderer.
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.