Wednesday, July 7, 2010

Status Update - It's Alive! The translation tool, that is.

I find myself unable to use existing translation tools. For the record, I acknowledge that my difficulties may somehow be entirely the result of ignorance on my part. I'm running a 64-bit version of Windows 7 and I had no luck running most of them in virtualized environments, and no interest in dual-booting just for this project. Thus, I decided to develop my own, which I finished over the weekend. Just in time, too; I feel like it was starting to eat my brain. Below you can find some screenshots from the tool's test run. I have no illusions that it's perfect (or even good - some of the features illustrated in the UI don't and may never work) but it's functional and reliable enough for my purposes.

The first screenshot depicts the tool's UI. The tool automatically displays the hex values for the string taken from the ROM, the hex offset for the hex string, and the string's text value. The string the tool displays is an error message that the ROM displays if you try to play it on anything other than a Japanese system. Incidentally, this was the string that I used to determine that the ROM was translatable.

The bottom half of the UI displays a text box in which I can enter text translations for the string. The tool automatically generates a hex string for the entered text. I like keeping the hex around because it's easier to see the control codes that the ROM uses (line breaks, wait for user input, etc.). I feel a little guilty every time I look at the hex, though, because someone, somewhere on one of the ROM hacking websites I used during my initial research threw a fit about how you should never use a hex editor to hack a ROM. In retrospect, it's clear that he was talking about tools rather than the binary values themselves, and yet I'm still ashamed. Thanks, overly emphatic ROM dude. Anyway, I digress.

The tool can also generate hex offsets for the translated hex based on a function that identifies large sequences of uninitialized bytes. It can then use the generated offset data to patch the ROM with the translated hex. Right now the inject all strings option doesn't work, but honestly that won't matter for a while.

The only other big feature that doesn't work is the dictionary. I envision being able to select a Japanese substring and save it to a dictionary along with a rough translation. I'm interested in this for the sake of consistent translation more than any potential simplification of the process. This feature actually shouldn't be very hard to implement, but I hesitate to risk getting bogged down in a yellow feature.

This is the original error message.

This is the test error message "translation."

So that's it. I apologize that it's not something more exciting, but this string is known and easy to display. Right now, I'm roughly even with the previous English translation attempt which, as far as I know, only ever released a python tool and dummy text. That means anything from here on out is progress!

I've promised to elaborate on my lack of qualifications, and I will at some point, but rest assured that they are impressive. Right now I'm working on translating the game's user manual so that I have a better idea of how to handle the in-game text. Hopefully, I'll be able to post some results from that effort in the coming weeks.

Thursday, June 17, 2010

Status Update

Right now, I'm working on a tool that will allow me to inject new strings into the ROM so that I can play-test them. Stay tuned for screenshots.

Monday, June 14, 2010

Hello, World


I've been working on an English translation of Surging Aura since February, 2010. I'll discuss my lack of qualifications at a later date, but I've already extracted the Japanese strings from the ROM so it's all just a matter of time, really. I intended to keep a journal of my progress but haven't. Today I thought I'd set up a public blog to try to pressure myself to keep a better record of my activity and provide an account to those who've noticed my absence elsewhere on the internet.

Interestingly enough, as I was setting up this blog, I discovered that the French (or perhaps the Canadians) have beaten me to it. This has caused me to amend the planned name of my blog, and leads me to wonder whether there are now other English efforts out there.