Skip to content

pyorot/sspc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sspc: Skyward Sword Practice Codes

This is the source code for Skyward Sword Practice Codes. At its core, the project is written in Gecko for the cheat engine used by GameCube/Wii emulators/loaders, with some snippets written in the assembly (ASM) language of those systems. However, a higher-level language developed by bob-zsr is used to aid the coding.

Release

The codes themselves and all help material are published at https://shoutplenty.uk/ss/pc.

(If this domain expires, there's also https://shoutplenty.netlify.app/ss/pc.)

Collab

I hope this becomes a more collaborative project. I'll review pull requests and discuss works on the Skyward Sword discord. I've done my best to document things in comments and in the docs folder, so jump in :P.

Dependencies

The project depends on Bob's Gecko compiler, which is currently a WIP. The modded version linked above will always work and be updated in tandem with this repo. The compiler repo should be extracted into a folder called /compiler. It depends on pyiiasmh, an ASM encoder, required only to build ASM codes; it should be extracted into a folder called /pyiiasmh. This itself requires Python 2 to be installed.

Compiler

To run the compiler, run the command python compiler/main.py from this repo's root folder. Add a word (after a space) to the command with the letters a,d,g (e.g. adg) to specify what to compile:

  • a: build the ASM codes (into build-asm);
  • d: build the result into Dolphin .ini format;
  • g: build the result into .gct format for console game loaders.

It defaults to dg if no such word is added.

The compiler builds all codes present in /src, resolving all references to ASM files in /build-asm (which may be stale if a is not specified), with results stored in /build. The Gecko syntax it accepts is specified in the readme of its repo, and is not standardised/versioned yet.

Directories

build (generated by compiler). Stores resultant Gecko codes.
build-asm (generated by compiler). Stores generated ASM codes for inclusion.
compiler (provided by user). Compiler used to build the project (into the build folder).
demo examples not built by the project.
docs project documentation.
pyiiasmh (provided by user). Asm encoder used by assemble.sh.
src all Gecko codes to be built.
src-asm all ASM codes to be built and referenced by Gecko codes.

Credits

context (Scaldera) shoutplenty
context (Sidehop CS Skip) shoutplenty, dragonbane0
cutscene shoutplenty
spawn shoutplenty, dragonbane0

Bob-zsr for his amazing Gecko compiler, which will hopefully be the cornerstone of many a successful Gecko codes project once it's finished.

Plus the whole Skyward Sword community for abridging info on memory locations (1 2 3 4 5), and MrCheeze in particular for reversing the cutscene scripting system.

And on whose shoulders this all stands...

— shoutplenty (Pyorot)

About

Practice codes for Zelda: Skyward Sword.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published