toastedgreedo wrote:In my hex editor, the decoded text does not seem to render any Japanese or English characters. Is there a setting to fix that?
Look for character encoding settings in your hex editor, or find one with Shift-JIS support. I use 010 Editor.
For text replacement, you should write a tool to do the automated insertion based on the contents of that translation file. Of course, include logic for throwing warnings/errors when English text exceeds space allotted by the original Japanese.
Better yet, your tool should take all of the string locations from that document, add the game's base address (likely 0x8c010000), do an endian swap (e.g., 8c010123 becomes 2301018c), then automatically locate the position of all those text strings' pointers inside the game executable.
Assuming the game is using absolute pointers rather than relative ones for strings stored in the game executable, your text insertion tool can shift text around to maximize space, then calculate each string's new location and update its pointer accordingly. This prevents the need for squeezing English (which consumes more glyphs to express an idea) into small spaces in the executable originally holding Japanese text (which consumes fewer glyphs to express an idea, usually).
If writing such a tool is new territory for you, my humble suggestion would be to learn how to do so. It'll empower you in many romhacking endeavors, and ultimately save time while also breeding efficiency.
On top of that, the vast majority of games require the writing of custom tools, with some exceptions of course. Unless a game has very little text, at best you'll spend tons of time manually replacing it (and even more if you need to maximize space and adjust pointers), and at worst the translation will suffer immensely due to text space restrictions.
That said, if a game (like Gundam here) has native ASCII support (a rarity), right off the bat you get double space for storing English text. This is because ASCII character encoding uses 1 byte per character, whereas Shift-JIS uses 2 bytes.
If the concept of pointers is new to you, try searching for romhacking beginner guides on pointers. Likewise, try finding guides on working with binary data for purposes of writing custom tools, which can be done in many programming/scripting languages.