decompilation of the metroid fusion "open" randomizer, forked from https://git.inabaudonge.reisen/OpenMFOR/OpenMFOR
 
 
Go to file
Lucent 7c262f4f64 update readme 2023-10-11 11:51:38 +02:00
data initial commit 2023-10-10 12:13:02 +02:00
.gitignore initial commit 2023-10-10 12:13:02 +02:00
Fusion_Graph.py initial commit 2023-10-10 12:13:02 +02:00
Fusion_Items.py initial commit 2023-10-10 12:13:02 +02:00
GUI.py fix CRC computation 2023-10-11 11:51:12 +02:00
LICENSE initial commit 2023-10-10 12:13:02 +02:00
MFOR.py initial commit 2023-10-10 12:13:02 +02:00
README.md update readme 2023-10-11 11:51:38 +02:00
Randomizer.py fix CRC computation 2023-10-11 11:51:12 +02:00

README.md

(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

  • Decent disassembly
  • GUI
  • CRC verification
  • Logic
  • Patching

Usage

Beware: stuff doesn't work as it should yet. Prerequisites are PySimpleGUI (and tkinter by proxy). A prerequisites file is going to be added in the future.

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++ has been used for the initial disassembly. R. Bernstein because uncompyle6, decompile3, xdis and python-control-flow kickstarted this project.

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.