Skip to content

LivewireCB/Hero-s-Tail-Decomp

Repository files navigation

Spyro: A Hero's Tail

A work-in-progress decompilation of the GameCube and PS2 versions of Spyro: A Hero's Tail.

This repository does not contain any game assets or assembly whatsoever. An existing copy of the game is required.

Supported versions:

  • G5SE7D: (NTSC)
  • PS2: (Pal PS2 Release)

Dependencies

Windows

On Windows, it's highly recommended to use native tooling. WSL or msys2 are not required.
When running under WSL, objdiff is unable to get filesystem notifications for automatic rebuilds.

  • Install Python and add it to %PATH%.
  • Download ninja and add it to %PATH%.
    • Quick install via pip: pip install ninja

macOS

  • Install ninja:

    brew install ninja

wibo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.

Linux

wibo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.

Building

  • Clone the repository:
git clone https://github.com/LivewireCB/Hero-s-Tail-Decomp.git

Gamecube

  • Configure:
  python configure.py
  • Build:
  ninja
  • Extract Spyro.ELF, copy it into orig/G5SE7D, and convert it into a DOL using the following command:
  ./build/tools/dtk elf2dol ./orig/G5SE7D/Spyro.ELF ./orig/G5SE7D/sys/main.dol
  • Build:
  ninja

PS2

  • Install Prerequisites:
  pip install -r requirements.txt
  • Configure:
  python configure.py -v PS2
  • Extract SLES525.69, and copy it into orig/PS2

  • Build:

  ninja

Dual Configure System

The ability to switch between the GC and PS2 versions is extremely new, Any bugs have not been caught yet. If you were to run into a bug, most times it can be solved by deleting the build folder and the .splache

Bare with me as I work out the kinks of this system.

Diffing

Once the initial build succeeds, an objdiff.json should exist in the project root.

Download the latest release from encounter/objdiff. Under project settings, set Project directory. The configuration should be loaded automatically.

Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, configure.py, splits.txt or symbols.txt.

About

No description, website, or topics provided.

Resources

License

Stars

4 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Generated from encounter/dtk-template