Metroid Fusion
OrigenGame Boy Advance
TecnologíaRecompilación Estática (C/C++ nativo)
Disponible paraWindows
Ver proyecto oficialSobre el proyecto
Metroid Fusion (también conocido como Metroid 4), es el cuarto videojuego de la saga Metroid, el primero en haber salido para Game Boy Advance. Fue desarrollado por Nintendo Research & Development 1 y publicado por Nintendo en 2002. Es la secuela directa de Metroid: Other M (2010) de Wii y la precuela de Metroid Dread (2021) de Nintendo Switch. Los jugadores controlan a la cazarrecompensas Samus Aran, quien investiga una estación espacial infectada con parásitos metamorfos conocidos como «X».
Información oficial del proyecto
Metroid Fusion Decomp
This is a work in progress decompilation of Metroid Fusion.
3265/3607 functions decompiled (90.51%, 342 left)
0x5e21b0/0x6f9d24 bytes of data not in blobs (84.34%, 0x117b74 left)
Progress can be seen here: https://docs.google.com/spreadsheets/d/1HvJ-jynb-4P9tfEBVJmkQFpIg6mJRDRUBvDIBiLxQIo/
This decomp is not shiftable, don't use it as a base to work on anything
This repository can be used to build multiple ROMs. The ROMs are named like this: mf_{region}.gba (or mf_{region}_debug.gba)
Region indicates which region the ROM targets:
- us: USA, North America
sha1: ca33f4348c2c05dd330d37b97e2c5a69531dfe87 - eu: Europe (Not yet supported)
- jp: Japan (Not yet supported)
- cn: China (Not yet supported)
- eu_beta: Europe beta version (Not yet supported)
Debug simply indicates whether the ROM contains the debug features, it is optional.
Debug is not supported yet
The default built ROM is mf_us.gba
Discords:
- https://discord.gg/2MGB9Xbr9y Metroidret
- https://discord.gg/WtekHKb MAGConst
Dependencies
- agbcc
binutils-arm-none-eabi- A baserom for each ROM desired to be built (i.e.
mf_us_baserom.gbaif you wish to buildmf_us.gba). python3g++
Setup
-
WINDOWS ONLY: Install and setup WSL
-
Run
sudo apt updatejust in case -
Install
binutils-arm-none-eabiby running this command:sudo apt-get install binutils-arm-none-eabi -
Install
gitby running this command:sudo apt-get install git -
Install
makeby running this command:sudo apt-get install make -
Clone agbcc by running this command:
git clone https://github.com/pret/agbcc -
Enter the agbcc folder (run
cd agbcc) and build it (run./build.sh) -
Add agbcc to your path (
export PATH="<agbcc_path>:$PATH", where<agbcc_path>is the full path to the agbcc directory) -
Either:
- Install agbcc into this project (by using its
./install.sh <path>script, where<path>is the path to the root of this repository), or - Add agbcc to your path (
export PATH="<agbcc_path>:$PATH", where<agbcc_path>is the full path to the agbcc directory)
- Install agbcc into this project (by using its
Build
- Run
make cleanif necessary- Use
make clean DATA=1to remove data as well
- Use
- Run the data extractor if necessary:
python3 tools/extractor.py- Use the
-rflag to specify a region other thanus(ex:-r jp) - Use the
-dflag to extract only debug data from the US beta ROM (required for building a ROM with debug features)
- Use the
- Run
make(using the-joption is recommended to speed up the process) - To build another version of the ROM you can do either of the following:
- Specify it directly (ex:
make us_debugfor the US ROM with debug features) - Specify the flags, REGION (takes the region name, defaults to
us) and DEBUG (takes 0 or 1, defaults to 0)
- Specify it directly (ex:
- Optionally, you can combine the commands to make it easier:
python3 tools/extractor.py && make -j
Contributing
See CONTRIBUTING.md
