User blog:RottenBlock/Mamanyonyo is Compiling and Nothing is On Fire

Mamanyonyo is compiling and virtually ready for localization!

Programmer Garbage Dump
Remember when I said the game had 70 errors due to changes in System 4 between Version 1 and 4? Turns out it had far more than 70 errors (I stopped counting), but only 3 of them were due to everyday changes. The other 67+ errors were due to the programmer being a slob. Addressing a global object and its class by the same name, defining variables in the weidest places... The rest of Alicesoft apparently agreed, because they changed System 4 so that they couldn't make the same mess ever again.

If you're curious about the three legit errors, it's simple: in Version 1, you could apparently define an array with a pre-set length using variables. In later versions, including the versions AIN Decompiler works with, you can only use constants and have to define its length with an Alloc statement. Easy fix. Thank you 14-year-old manual.

I've done my best to clean up after the original programmer. There's a chance that I may have made mistakes in the process, but the game seems to be working without any problems so far. Hopefully, if anything is going wrong, it will show itself with time.

As for the SLBLs, it turns out they were tied to an early form of what System 4 now calls "Scenario Functions." I won't go into how they work, I'll just say that I updated them into their modern format and called it a day. The revised AIN file doesn't even have SLBLs any more because it works fine without them. I do have a mild concern: the game uses the music menu code both as a scenario function and a regular function, something that smells like trouble, but I left it as-is and nothing's blown up in my face so far.

Now What?
Mamanyonyo's source code is now complete and ready for localization. Next up, I'm going to try to figure out what to do about CHR files. CHR files contain some of the data for each character, including their name and possibly other text, which will have to be localized. While we could hex-edit the CHR file to localize it directly (assuming it's not encrypted), it's probably easier to hard-code the game to to overwrite the CHR file's Japanese text with English text after it's loaded. Some existing System 4 localizations, like Evenicle, already do this in different contexts! I'll give hex editing a try, but I'm probably going to do the hard-coding, it's just easier. After CHR files, I'll do the same with MAP files if they have any text.

Once that's done, that should account for all the game's text, and it will be ready to be localized from top to bottom!