Tools to read/write data and scripts for Sonic Riders (GC) & mods on dolphin
Project description
RidersPyTools
Package designed to write scripts for Sonic Riders (GameCube) and Sonic Riders: Zero Gravity (Wii). Compatible with vanilla/all mods.
Still a MAJOR work in progress, but functional at a basic level for now.
Code style
We enforce the same standards as the Sonic Riders: Tournament Edition C++ codebase for Sonic Riders, aiming to be as close as possible in syntax to the existing decompilation.
In some cases, this isn't 100% possible, but it remains the goal, as this allows us to read code similarly between C++ and python, as well as provide a bridge for newer users learning to program to jump into the C++ side of things.
Other games may have different data structures and syntax, feel free to add/modify classes as needed to fit your game.
Some concepts:
Ways to get a player pointer: Instantiate a player object in Python:
player1 = Player(0) # Instantiates a pointer to player 1, based on the current game version detected.
Instantiate a player object starting at X address:
player1Vanilla = Player(0, 0x80609440) # Vanilla address
player1TE = Player(0, TE_PLAYER_PTR) # Some addresses are given identifiers for ease of use
Things you can do:
Read data:
print(player1.rings)
Compare data:
player1 = Player(0, 0x80609440)
if player1.rings > 0:
print("You have at least one ring!")
Write data:
player1 = Player(0, 0x80609440)
player1.currentAir = 100000
player1.gearStats[int(player1.level)].boostSpeed = pSpeed(300.0)
Math operations:
player1 = Player(0, 0x80609440)
hundredRingDiff = 100 - int(player1.rings)
print(hundredRingDiff)
And you can integrate this into other scripts too!
We use hatchling to compile the builds. Build compilation instructions coming soon.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file riderspytools-0.0.2.tar.gz.
File metadata
- Download URL: riderspytools-0.0.2.tar.gz
- Upload date:
- Size: 26.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
625afd099fc6c40735df8556a5677c472489897e03164e3e7b021bbd7d6c2e9a
|
|
| MD5 |
043587cb17ea75283a9c141c6aa98373
|
|
| BLAKE2b-256 |
c468841c7032a3f080db6930e8054003e6589607b78f25d3d0e6b2438b7f0149
|
Provenance
The following attestation bundles were made for riderspytools-0.0.2.tar.gz:
Publisher:
python-publish.yml on KidWizardOfTheWeb/RidersPyTools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riderspytools-0.0.2.tar.gz -
Subject digest:
625afd099fc6c40735df8556a5677c472489897e03164e3e7b021bbd7d6c2e9a - Sigstore transparency entry: 2195681824
- Sigstore integration time:
-
Permalink:
KidWizardOfTheWeb/RidersPyTools@b4e4775023e3afa4c8c39cf4dc5c6b6728fd3d57 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/KidWizardOfTheWeb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@b4e4775023e3afa4c8c39cf4dc5c6b6728fd3d57 -
Trigger Event:
push
-
Statement type:
File details
Details for the file riderspytools-0.0.2-py3-none-any.whl.
File metadata
- Download URL: riderspytools-0.0.2-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b7809daab9d47e55a063182c02c3b4a99ab4cf19a2ab5e2c22e536efd2e46f
|
|
| MD5 |
459a44dac95e039db4ddef15a6d723d7
|
|
| BLAKE2b-256 |
768153e132d2fda3163fc19239a36f873045a94ab4e804b9fb428cb8815ef805
|
Provenance
The following attestation bundles were made for riderspytools-0.0.2-py3-none-any.whl:
Publisher:
python-publish.yml on KidWizardOfTheWeb/RidersPyTools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riderspytools-0.0.2-py3-none-any.whl -
Subject digest:
76b7809daab9d47e55a063182c02c3b4a99ab4cf19a2ab5e2c22e536efd2e46f - Sigstore transparency entry: 2195681836
- Sigstore integration time:
-
Permalink:
KidWizardOfTheWeb/RidersPyTools@b4e4775023e3afa4c8c39cf4dc5c6b6728fd3d57 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/KidWizardOfTheWeb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@b4e4775023e3afa4c8c39cf4dc5c6b6728fd3d57 -
Trigger Event:
push
-
Statement type: