Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_samus_returns_rando-3.6.1.tar.gz (672.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_samus_returns_rando-3.6.1-py3-none-any.whl (601.0 kB view details)

Uploaded Python 3

File details

Details for the file open_samus_returns_rando-3.6.1.tar.gz.

File metadata

  • Download URL: open_samus_returns_rando-3.6.1.tar.gz
  • Upload date:
  • Size: 672.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for open_samus_returns_rando-3.6.1.tar.gz
Algorithm Hash digest
SHA256 654a25f03c2737091743e899b22668425efd397634d2bd4b46daa64268354564
MD5 3e23d9cf8c6c2b10bf61d3bfeec6abd5
BLAKE2b-256 387708813e2b0b73c10f81f809f440b064d2194fef98922caa334670753589a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_samus_returns_rando-3.6.1.tar.gz:

Publisher: python.yml on randovania/open-samus-returns-rando

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file open_samus_returns_rando-3.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_samus_returns_rando-3.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7788b5ce01b44fbc2977e265f57c3a2f90e242b920a30d6116f49b7a0b897ffc
MD5 f61139be0854c4bb76549f628fcf4299
BLAKE2b-256 891d68344729ae2a52cba8b3c6fc6ffbe89d7ee7f39c8fdf325382a1b27da5f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_samus_returns_rando-3.6.1-py3-none-any.whl:

Publisher: python.yml on randovania/open-samus-returns-rando

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page