42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# (Open) Metroid Fusion Open Randomizer
|
||
|
||
This is the official unofficial Git repository for the Metroid Fusion Open Randomizer reverse engineering efforts, more casually referred to as MFOR or Fusion rando.
|
||
|
||
Considering the original repository states that the software is GPL-3.0 licensed, but no source was ever released, we're endeavouring on this (potentially failing) task of making MFOR Open Again️™️
|
||
|
||
## Project Status
|
||
|
||
- [x] Decent disassembly
|
||
- [x] GUI
|
||
- [x] CRC verification
|
||
- [ ] Logic
|
||
- [ ] Reconstructing missing parts of code
|
||
- [x] Patching
|
||
- [ ] Generating BPS patches
|
||
|
||
## Usage
|
||
|
||
Beware: stuff doesn't work as it should yet. Prerequisites are PySimpleGUI (and tkinter by proxy) and python-bps-continued. A prerequisites file is available so you can `pip install -r requirements.txt` away.
|
||
|
||
Clone the repository, install prerequisites manually via pip or your favourite package manager, `python MFOR.py`. Choose your game options (hover over a given option to see a tooltip explaining it), then click Generate. A popup will ask you to open an unmodified copy of the original game. This is not provided with the randomizer for legal reasons.
|
||
|
||
The randomizer currently works with **only** the USA/Australia version of the game. To ensure you have the correct version of the game, the CRC32 checksum should be: `6C75479C`
|
||
|
||
## Help
|
||
|
||
* Join the Metroid Fusion speedrunning Discord server
|
||
|
||
## Special Thanks
|
||
|
||
[Decompyle++](https://github.com/zrax/pycdc) has been used for the initial disassembly. [R. Bernstein](https://github.com/rocky) because uncompyle6, decompile3, xdis and python-control-flow kickstarted this project.
|
||
|
||
[Kazuto88](https://github.com/Kazuto88) for the actual development of the randomizer. Next lines are his special thanks to the people that contributed with the patching necessary to make this a reality:
|
||
|
||
Much thanks to the folks in the MAGConst Discord for longtime help with Metroid Fusion/general GBA modding.
|
||
|
||
Thanks to biospark for creating the Fusion level editor MAGE, and nearly all of the documented data on Metroid Fusion that helped make this randomizer a possibility.
|
||
|
||
Thanks to interdpth for direct code assistance, and for his longtime contributions to the GBAtroid modding scene.
|
||
|
||
Thanks to everyone who helped with early testing, bug finding, proposed fixes, etc.
|