Hi all,
I want to translate a game ("Oz No Mahoutsukai: Another World-Rung Rung") from Japanese into English.
This is my first attempt at ROM hacking, but so far, I've been successful in writing some CLI tools (in Node.js) that's gotten me up to a point where I have a complete dump of the game's script and can modify it, and verify that the new text is in place when I play the game in an emulator.
But - the problem I'm facing is that reinserting the text only works if I'm reinserting Japanese text. The text just fails to appear (i.e., is invisible) if I insert English text (which, of course, is the point ) into the game's script - despite attempts with various encodings (UTF, ascii, some form of ISO, and even ShiftJIS for kicks).
From what I've read, it sounds like the issue is that the game probably doesn't have an English font embedded in it.
So, I'm currently at a spot where I'm currently trying to find where the Japanese font lives so that I can replace it (after which, I figure I can have my CLI tool map English characters to individual ShiftJIS-encoded kana/kanji before inserting them into the binary). My first attempt was to load the game's binary files up in TIMViewer to look for images. I was able to dump all the images out of all the binary files and convert them to .bmp files (and replaced the "New Game" and "Continue" images with English translations as a start). But after browsing through all the thousands of bmp files, I couldn't find any that contained kana or kanji. Small chance I might have overlooked them, because there are so many image files, but I did look multiple times, so I doubt it.
Doing some reading online, the next step seemed to be to load the game up in No$psx and examine the VRAM. So I did that, and can see the kana (screenshot below). I see memory addresses associated with them.
But that's about all I can understand here. I'm having a hard time figuring out exactly what this means and what my next step should be.
I want to translate a game ("Oz No Mahoutsukai: Another World-Rung Rung") from Japanese into English.
This is my first attempt at ROM hacking, but so far, I've been successful in writing some CLI tools (in Node.js) that's gotten me up to a point where I have a complete dump of the game's script and can modify it, and verify that the new text is in place when I play the game in an emulator.
But - the problem I'm facing is that reinserting the text only works if I'm reinserting Japanese text. The text just fails to appear (i.e., is invisible) if I insert English text (which, of course, is the point ) into the game's script - despite attempts with various encodings (UTF, ascii, some form of ISO, and even ShiftJIS for kicks).
From what I've read, it sounds like the issue is that the game probably doesn't have an English font embedded in it.
So, I'm currently at a spot where I'm currently trying to find where the Japanese font lives so that I can replace it (after which, I figure I can have my CLI tool map English characters to individual ShiftJIS-encoded kana/kanji before inserting them into the binary). My first attempt was to load the game's binary files up in TIMViewer to look for images. I was able to dump all the images out of all the binary files and convert them to .bmp files (and replaced the "New Game" and "Continue" images with English translations as a start). But after browsing through all the thousands of bmp files, I couldn't find any that contained kana or kanji. Small chance I might have overlooked them, because there are so many image files, but I did look multiple times, so I doubt it.
Doing some reading online, the next step seemed to be to load the game up in No$psx and examine the VRAM. So I did that, and can see the kana (screenshot below). I see memory addresses associated with them.
But that's about all I can understand here. I'm having a hard time figuring out exactly what this means and what my next step should be.