Saturday isn't going to happen, by the way... I discovered that there's still one major detail that hasn't been completed yet, and that's the inclusion of the French script. It was included into one area, but has to be included everywhere... however, because adding the French script exceeds the 8KB limitation on near data, it has to be added as far data, which involves a partial code rewrite in many areas of the game. This takes awhile, because the dialogue has to be copied into a new external script file, control codes have to be added to it, and then it has to be run through my binary script parser, which also produces a guide file which is used to reference the exact location in the far data of each text string. It takes no less than six hours to re-implement an entire area's dialogue. Another issue with the French script is that the font had to be expanded to make room for all the special characters that aren't present in English or Spanish... I had to move parts of the UI into the extended space and do some minor code tweaks to accommodate.
Also, I was taking a look through some of the documentation for huc/pceas... just for the hell of it... and discovered an interesting flaw in pceas... it offers no method of procedure optimization, so procs often get padded with huge amounts of dead codespace. This becomes especially apparent when using HuC, since C coders are very used to just writing functions that sit just about anywhere with no real need for concern about their placement in the source. This changes everything; as a test, I reorganized the battle program, which was 240KB before the change, and managed to reduce it to 224KB just by grouping the smallest functions together. That's two entire banks worth of dead code eliminated from the game. That is EXTREMELY significant. With this in mind, I am going to write a small utility to calculate the size of each proc and organize them as optimally as possible to reduce codespace waste. Of course, such a utility will no doubt take awhile to write, so I'm going to wait until MSR is in final beta before attempting it. One thing's for sure though... it will most certainly help with Project MONOLITH, as the test program for that shot to 240KB with no understandable reason why... but now the reason is crystal clear and I bet I can wipe out four or more dead code banks just by reorganizing the function order.