Skip to main content

An open source randomizer patcher for Metroid Prime 2 and 3.

Project description

Open Prime Rando

Open Source randomizer patcher for Prime 2 and eventually 3.

Running the patcher standalone

After cloning the repository, install the project and its extras:

uv sync --all-groups --all-extras

The command line entrypoint is open-prime-rando. The currently supported game is echoes, and the randomizer subcommand expects a configuration JSON plus input and output ISO paths:

uv run open-prime-rando echoes \
  --input-iso /path/to/prime2.iso \
  --output-iso /path/to/output.iso \
  randomizer \
  --input-json /path/to/config.json

Use uv run open-prime-rando echoes --help to see the available arguments for the Echoes patcher.

Updating hash files

Some tests compare the output of the patcher against pre-recorded hash files. When a code change intentionally alters the output, these files need to be regenerated.

Setup

The tests require ISO files for Metroid Prime 2: Echoes. Create a .env file in the repository root:

PRIME2_ISO=/path/to/prime2_ntsc.iso
PRIME2_PAL_ISO=/path/to/prime2_pal.iso

These can also be set as regular environment variables instead of using .env.

Running locally

uv run pytest --update-hashes -n 2

This runs only the hash-comparison tests and writes the new hashes in place of the old ones.

Via GitHub (pull requests)

Anyone with write access to the repository can comment /update-hashes on a pull request. A workflow will run the tests on the self-hosted runner, commit the updated files, and push them to the PR branch.

Credits

Echoes

Banner image created by rekameohs.

Project details


Download files

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

Source Distribution

open_prime_rando-0.20.0.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

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

open_prime_rando-0.20.0-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

Details for the file open_prime_rando-0.20.0.tar.gz.

File metadata

  • Download URL: open_prime_rando-0.20.0.tar.gz
  • Upload date:
  • Size: 8.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for open_prime_rando-0.20.0.tar.gz
Algorithm Hash digest
SHA256 b6bdd1e92f03282c19b98f0548c2674412401ca840fa9fee232f7b0fd055acec
MD5 697110931ed8a6df55ddbc33be27e160
BLAKE2b-256 da10e141fd3e029dc792c6c39bfd02202a2bc1a88776130983dd93c4201bc129

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_prime_rando-0.20.0.tar.gz:

Publisher: python.yml on randovania/open-prime-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_prime_rando-0.20.0-py3-none-any.whl.

File metadata

File hashes

Hashes for open_prime_rando-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51fdf6fcbcedc6df67ede084bbe6c789b374c95686f18b94fd294cfd8c0b02cf
MD5 cb550ffeaeec718243ebd28f10185287
BLAKE2b-256 8a5bf9617355cebf6057de2375f682b72abb13372657919d1c8dbd79b4681d6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_prime_rando-0.20.0-py3-none-any.whl:

Publisher: python.yml on randovania/open-prime-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 Pingdom Monitoring Sentry Error logging StatusPage Status page