Skip to content

KidWizardOfTheWeb/RidersPyTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages