Skip to main content

Python library to help parsing secrets from Zelda OoS/OoA

Project description

pyzora

Python decoder library for Zelda OoS/OoA secrets

Documentation Status license

This library has been inspired both by Paulygon's password generator for The Legend of Zelda: Oracle of Seasons/Ages (referred to as the Oracle games from now on) and Amy Nagle (aka kabili207)'s zora-sharp library for C#. It can handle all three types of secrets in the games.

But... what's a secret?

Let me explain. A secret is a password the Oracle games use to transfer data. There are three types of secrets :

  • Game secrets : they allow a player who has finished one of the two games to continue the story in the other game.
  • Ring secrets : once one of the two games is completed, Red Snake in the completed file will generate this kind of secret. It allows the player to transfer all their rings from one game to the other (for this to work, you need to talk to Red Snake in the non-completed file at least once).
  • Memory secrets : during a linked game, exclusive NPCs will spawn on the map. Some of these NPCs can be interacted with to get a short secret to transfer to another NPC in the completed file. The latter NPC will then give the player another code to transfer back to the non-finished file to carry his bonus over. The player might be required to play a minigame before getting the return secret.

As you can see, secrets are pretty vital if you want to have the full experience in The Legend of Zelda: Oracle of Ages/Seasons. (which is why this library exists, duh).

What does pyzora provide?

  • One class per secret type, with its own attributes and uses
  • Reading and writing secrets of any type in both available game regions (Japan and US. Note that PAL releases use the same encoding as US cartridges)
  • Easy to use

Okay, but how am I supposed to install this?

Don't worry! It's very simple! You just need to do the good old pip install pyzora!

If you want to manually install the library with the source code, follow the steps below:

  1. Clone the repository.
  2. Install Python 3.10 or above.
  3. Run this command to get the dependencies :
python3 -m pip install -r requirements.txt
  1. You're good to go!

I noticed a bug or want to contribute!

Found a bug? Don't panic! Simply head towards the Issues section in this repository and describe your problem! A solution will be worked on as soon as possible afterwards.

Want to contribute? You can start by forking the project. Once you're done, open a pull request in the repository, and it'll be reviewed as soon as possible!

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

pyzora-1.0.0.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

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

pyzora-1.0.0-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file pyzora-1.0.0.tar.gz.

File metadata

  • Download URL: pyzora-1.0.0.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for pyzora-1.0.0.tar.gz
Algorithm Hash digest
SHA256 51272cb78e84735c738d9ad2563b45f31aeb4702e78c19c060f1c127a35a2422
MD5 f7fdc6898cdbaa0c983ed57d00e2678d
BLAKE2b-256 cffad64020617e5c7c5a44ecd025f7390d4876fb0ab00ea01b0e1f5343e4a5fc

See more details on using hashes here.

File details

Details for the file pyzora-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pyzora-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for pyzora-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0f91d2d4063b66354e4db633781078f05a0af0f86f461f2773de8dcb474947b
MD5 c34ff7d6a6f17559442d477e33fa0eaf
BLAKE2b-256 94627fc0984ade31126b1d27820cb5e37b7e72703be79f9755892dd1dfa88fda

See more details on using hashes here.

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