Coder Social home page Coder Social logo

iemnur / mother2gbatranslation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jeffman/mother2gbatranslation

0.0 2.0 0.0 8.92 MB

A translation of MOTHER 2 for the GBA.

License: MIT License

C# 28.57% Assembly 28.35% PowerShell 2.90% Makefile 0.01% C 40.17%

mother2gbatranslation's Introduction

Branch Status
Project Build status
master Build status

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:

  • Mato's menu text translation: here
  • TheZunar123's full translation (in progress): here and here

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

  1. One-time setup
    1. Install .NET Core 2.1, PowerShell Core, and GNU Arm Embedded Toolchain. Make sure the Arm toolchain's bin folder is in your PATH.
    2. Create a bin folder in the root of the repo.
    3. Copy MOTHER 1+2 ROM to bin/m12fresh.gba.
    4. Copy EarthBound ROM to bin/eb.smc.
    5. Run build-tools.ps1.
      • Windows: .\build-tools.ps1 in a PowerShell prompt
      • Linux and MacOS: pwsh build-tools.ps1
    6. Copy/build armips to bin.
      • Windows: grab the latest release here and copy the executable to bin/armips.exe.
      • Linux: follow the README to build armips and copy the executable to bin/armips.
      • MacOS: grab the latest release here and copy the executable to bin/armips.
  2. Building the ROM
    1. Run build.ps1.
    2. The default compiled ROM is copied to bin/m12.gba.
  3. (Optional) Build the GUI script tool:
    1. dotnet build tools/ScriptTool (don't set the output directory)
    2. dotnet build tools/ScriptToolGui -o bin/ScriptToolGui
    3. Run with dotnet bin/ScriptToolGui/ScriptToolGui.dll (or just run the EXE file directly).

mother2gbatranslation's People

Contributors

batwing321 avatar epidgin avatar jeffman avatar john-enigma avatar lorenzooone avatar malbound avatar patrickstankard avatar phoenixbound avatar sterophonick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.