User blog:RottenBlock/System 3 Compilation, Part 3

I've come up with a fix for the image problem, which was further-reaching than I had expected, though the solution is a little inconvenient. Beyond System 1, TTSys determines what game you're playing by calculating a cyclic redundancy check, and uses that to determine if it should employ and game-specific differences - like a transparency change that was missing in Rance 4.1. Unfortunately, the check will fail if we modify the game's code, and that's what happens during localization. As a result, I've had to bring over the preprocessor defs from System 1 to do the job, which means any localization job will have to know to add the things. But they do work, which is the best I can say at this point. Really got to get started on a full localization manual.

I've adjusted TTSys' existing CD playback feature to use local files in the bgm folder if the preprocessor def CD_OVERRIDE is in play. Seems to be working fine.

Also had to update Sys0Decompiler's handling of the \ command, both compile and decompile were wrong.

The biggest issue now is the font. Unfortunately, TTSys has a deep reliance on monospaced fonts, a problem that extends even to system3-sdl. I haven't been able to find any way around it, and either the original Alicesoft app didn't use these methods, or SomeLoliCatgirl just wrote and handled their own in the injection code. This means our output can't look exactly like the sans-serif text from the original localization. I did work out how to change the font, though some just don't want to work.

Starting soon, I'll start going through the game looking for minor errors. Before I do that, I'd like to have a final font in place so that I can check which lines overflow and which don't. If you're reading this and have any strong thoughts on which font should be used in Rance 4.1 and 4.2, speak up! The font has to be free and monospace to qualify, and I can't promise anything since the game rejects fonts for seemingly no reason. But I'll give it a shot!