Metadata-Version: 2.4
Name: open_samus_returns_rando
Version: 3.4.0
Summary: An open source randomizer patcher for Metroid: Samus Returns.
Project-URL: Homepage, https://github.com/randovania/open-samus-returns-rando
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mercury-engine-data-structures>=0.35.0
Requires-Dist: jsonschema>=4.0.0
Requires-Dist: ips.py>=0.1.2
Provides-Extra: typing
Requires-Dist: types-jsonschema; extra == "typing"
Requires-Dist: types-pyinstaller; extra == "typing"
Requires-Dist: mypy; extra == "typing"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# Open Samus Returns Rando
Open Source randomizer patcher for Metroid: Samus Returns. Intended for use in [Randovania](https://github.com/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

## Installation and Usage
`pip install open-samus-returns-rando`

You will need to provide JSON data matching the [JSON schema](https://github.com/randovania/open-samus-returns-rando/blob/main/src/open_samus_returns_rando/files/schema.json) in order to successfully patch the game.

The patcher expects a path to a `cia`, `3ds`, `app` or `cxi` file of Metroid: Samus Returns as well as the desired output directory. Output files are in a format compatible with either Luma3DS or Citra.

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](https://pre-commit.com/). 
```
pip install pre-commit
pre-commit install
```
