Skip to content

randovania/open-samus-returns-rando

Repository files navigation

Open Samus Returns Rando

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

Installation and Usage

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

Development

This repository uses pre-commit.

Native code patch development

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.

About

Randomizer patcher for Metroid: Samus Returns

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors