This is a problem because the game doesn't do auto newlines lazily; that is, it will greedily scroll the text box on overflow, even if there's nothing left to be printed. This behaviour causes a problem when displaying "Which?" in the Equip screens, because the width of that string is exactly the width of the window. Because the window is only one line tall, the game was scrolling down and the string would get erased. Previously this was worked around by increasing the width of the window, but recently I have found that it looks weird with the Goods window open. So this is a slightly different workaround. I don't think we ever wanted auto-newline-on-overflow _anyway_ since we're putting manual linebreaks everywhere. Hopefully this doesn't cause problems. |
||
---|---|---|
ScriptTool | ||
SymbolTableBuilder | ||
screenshots | ||
working | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTORS.txt | ||
README.md | ||
TODO.md | ||
eb-doordump.txt | ||
eb-doorgapdump.txt | ||
eb-enemydump.txt | ||
insert.bat | ||
m2-bits-to-nybbles.bin | ||
m2-coord-table.bin | ||
m2-customcodes.asm | ||
m2-enemy-attributes.bin | ||
m2-font-main.bin | ||
m2-font-relocate.bin | ||
m2-font-saturn.bin | ||
m2-formatting.asm | ||
m2-hack.asm | ||
m2-mainfont1-empty.bin | ||
m2-mainfont2-empty.bin | ||
m2-mainfont3-empty.bin | ||
m2-notes.txt | ||
m2-nybbles-to-bits.bin | ||
m2-shifted-cursor.bin | ||
m2-status-initial.asm | ||
m2-status-switch.asm | ||
m2-subBAEF8.txt | ||
m2-subC1FBC.txt | ||
m2-subC8FFC.txt | ||
m2-subC87D0.txt | ||
m2-subC980C.txt | ||
m2-subCA4BC.txt | ||
m2-vwf-entries.asm | ||
m2-vwf.asm | ||
m2-widths-main.bin | ||
m12-enemydump.txt | ||
m12-symbols.sym |
README.md
MOTHER 2 Translation for the GBA
This is a work-in-progress translation patch for MOTHER 2 on the GBA.
Hasn't it been done?
There are at least two other projects that translate the MOTHER 2 side of the game:
Why start another project?
Neither of the above projects use a true variable-width-font (VWF) to render text. A VWF would look much better and would make the game more enjoyable.
Adding a VWF is hard, however. Mato explains here why it's generally a very difficult task to fully translate the game, let alone to insert a VWF.
A long time ago (before the release of the MOTHER 3 Fan Translation), I started working on a proof-of-concept VWF for MOTHER 2 on the GBA. It worked, but it quickly became apparent that the amount of hacking required would be huge; window-rendering functions contain a ton of repeated code and some of it is downright non-sensical.
A few years after that, I tried it again from scratch with the intent of having a more organized codebase. It went much better, but I was soon limited by not having any translated dialogue, rather than not having a VWF; I couldn't test much of my VWF code without any English text inserted into the ROM.
Now what?
This project aims to both complete the VWF codebase and to provide a tool for translating the game's dialogue. My new intent is to bring the hack to a state where I can just sit down and translate text efficiently in my spare time with a graphical tool. Not only that, but having such a tool means that other people can contribute!
Status
The core of the VWF is complete. But it needs to be implemented in dozens of different places in the game's code. I've finished many of them, but there are probably still many more. Pretty much all of the game's text still needs to be translated too.
Some screenshots:
Dependencies
If you want to just use the graphical tool to help with the translation, you just need .NET 4.5.1. If you want to actually compile the hack code and test it out, you will need armips. The game also crashes horribly 99% of the time in its current state, so there's no point in trying it.