Some of us have been discussing this elsewhere and we thought the AA forum would be a better location.
I started messing around with the Checkered Flag source a few months ago with a view to "can it be improved". Before you get excited, the answer is 'not yet'. However, some other guys have started discussing this now too so I thought it would be best to share what I had so far.
Before even getting to try and improve it, there were a couple of hurdles;
- The "Final Rev9 Source" is missing 7 graphic assets and some ROM compilation set up.
- Once you get the ROM built - it runs great in VJ but crashes on real hardware.
First up, the assets... Talking to CJ about this, he managed to track them down in the release binary and send them over. Thanks CJ!
Next came building the ROM. I played around with the makefile and noticed rom.rsp was also missing from the source. This is the file used to include all the relevant assets in the final binary. There's no way to know what this should have contained so all i've done is copy and rename the big.rsp file (to preserve the original). I then added a new label newrom.rom: to the makefile with some relevant parameters (text,data,bss start addresses etc). It then built a ROM. (I also had to take out all calls in the makefiles to 'touch.exe' as this no longer exists and we shouldn't really need it).
The ROM wouldn't work on real hardware. Through further poking around it looks as though (because this was developed on an Alpine) there is code that runs to copy data to the ROM space (and other things). In a read only environment like a skunk at run time, this isn't going to work. However, taking out those calls (by rts-ing them on entry) seemed to do the trick.
Finally it was up and running on the Jag.
There are two final points regarding things not working;
- There are hills/mountains missing - I think this is due to the normal data missing from the 3D dataset. This results in them being culled at run time. If you take out the culling, they appear (along with other artefacts for obvious reasons).
- The rain overlay doesn't work correctly.
Anyway, attached is a zip containing the source with my changes, the missing assets and a readme.txt that details what i've changed/found/observed etc.
The attached source should compile and run on the Jag - but it's been a few months since I tested it. Any problems then shout and i'll fix it up - I just can't test it right now from work.