5e58ad7130 | ||
---|---|---|
notes | ||
screenshots | ||
src | ||
tools | ||
working | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTORS.txt | ||
LICENSE | ||
README.md | ||
build-tools.ps1 | ||
build.ps1 |
README.md
MOTHER 2 Translation for the GBA
This is a work-in-progress translation patch for MOTHER 2 on the GBA.
Discord
Our Discord server is pretty active: https://discord.gg/ADXS5Ub
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!
Screenshots
Building
Dependencies
- .NET Core 2.1 or later
- PowerShell Core 6.0 or later
- GNU Arm Embedded Toolchain
- armips
- Unmodified MOTHER 1+2 ROM (SHA-1
F27336B9...
) - Unmodified, unheadered EarthBound ROM (SHA-1
D67A8EF3...
) - (Optional) For building the GUI script tool: .NET Core 3.0 or later
- One-time setup
- Install .NET Core 2.1, PowerShell Core, and GNU Arm Embedded Toolchain. Make sure the Arm toolchain's
bin
folder is in yourPATH
. - Create a
bin
folder in the root of the repo. - Copy MOTHER 1+2 ROM to
bin/m12fresh.gba
. - Copy EarthBound ROM to
bin/eb.smc
. - Run
build-tools.ps1
.- Windows:
.\build-tools.ps1
in a PowerShell prompt - Linux:
pwsh build-tools.ps1
- Windows:
- Copy/build
armips
tobin
.
- Install .NET Core 2.1, PowerShell Core, and GNU Arm Embedded Toolchain. Make sure the Arm toolchain's
- Building the ROM
- Run
build.ps1
(like in Step 4). - The default compiled ROM is copied to
bin/m12.gba
.
- Run
- (Optional) Build the GUI script tool:
dotnet build tools/ScriptTool
(don't set the output directory)dotnet build tools/ScriptToolGui -o bin/ScriptToolGui
- Run with
dotnet bin/ScriptToolGui/ScriptToolGui.dll
(or just run the EXE file directly).