Open Source randomizer patcher for Metroid: Samus Returns. Intended for use in Randovania. Currently supports patching the following:
- Starting Items
- Starting Location
- Pickups (Vanilla and Custom)
- Items on Metroids
- Shuffled DNA
- Shuffled Baby Metroid
- Elevator Destinations
- Door Types
- Configurable Final Boss
pip install open-samus-returns-rando
You will need to provide JSON data matching the JSON schema in order to successfully patch the game.
The patcher expects a path to a cia, 3ds, app, cxi or cci file of Metroid: Samus Returns as well as the desired output directory. Output files are in a format compatible with either Luma3DS or Azahar.
With a JSON file:
python -m open_samus_returns_rando --input-path path/to/samus-returns/file.3ds --output-path path/to/the/output/mod --input-json path/to/patcher-config.json
This repository uses pre-commit.
The external/ directory contains the tools for compiling and patching the
native 3DS code (via msr-remote-connector and magikoopa-py). These are
managed as git submodules, so after cloning you need to initialise them:
git submodule update --init --recursive
See external/README.md for setup and build instructions.