Skip to content

SwagSoftware/jeff-template

 
 

Repository files navigation

jeff Project Template

If starting a new Xbox 360 decompilation project, this repository can be used as a scaffold.

See jeff for background on the concept and more information on the tooling used.

Documentation

References

Although this template is meant for Xbox 360 projects, it has been forked from a GC/Wii template, and intentionally follows the same structure. Nearly all active GC/Wii decompilation projects use this structure, and will be useful for reference. A list of active GC/Wii projects can be found on decomp.dev.

Features

  • Few external dependencies: Just python for the generator and ninja for the build system. See Dependencies.
  • Simple configuration: Everything lives in config.yml, symbols.txt, and splits.txt.
  • Multi-version support: Separate configurations for each game version, and a configure.py --version flag to switch between them.
  • Feature-rich analyzer: Many time-consuming tasks are automated, allowing you to focus on the decompilation itself.
  • No manual assembly: decomp-toolkit handles splitting the XEX into relocatable objects based on the configuration. No game assets are committed to the repository.
  • Integration with objdiff for a diffing workflow.

COMING SOON(TM):

  • Progress calculation and integration with decomp.dev.
  • CI workflow template for GitHub Actions.

Project structure

  • configure.py - Project configuration and generator script.
  • config/[GAMEID] - Configuration files for each game version.
  • config/[GAMEID]/build.sha1 - SHA-1 hashes for each built artifact, for final verification.
  • build/ - Build artifacts generated by the the build process. Ignored by .gitignore.
  • orig/[GAMEID] - Original game files, extracted from the disc. Ignored by .gitignore.
  • orig/[GAMEID]/.gitkeep - Empty checked-in file to ensure the directory is created on clone.
  • src/ - C/C++ source files.
  • include/ - C/C++ header files.
  • tools/ - Scripts shared between projects.

Temporary, delete when done:

  • config/GAMEID/config.example.yml - Example configuration file and documentation.
  • docs/ - Documentation for decomp-toolkit configuration.
  • README.md - This file, replace with your own. For a template, see README.example.md.
  • LICENSE - This repository is licensed under the CC0 license. Replace with your own if desired.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%