mirror of https://github.com/zeldaret/tp.git
* splitter: v0.1 * basic demangle stuff * splitter: v0.2 - add from, to options to select line range in .s to process - infer referred labels from both loads and stores - dump our own function labels in addition to externs into functions.h, to provide forward declarations for labels that other functions might use. - fix off-by-one which was eating the last instruction of some functions * splitter: v0.3 merged a bunch of work lepelog did, including: - demangling support - better function identification - automatic FORCEACTIVE and did a little bit of cleanup * splitter: improve sda hack and format * splitter: fix comment_out(), patch GQR references * splitter: some speed optimizations * remove debug print * splitter: forceactive options * refactor demangler, add support for more operators and more mangling symbols * array and member (still one non working case) * fix some operands in demangler * make parents for funcs_out * splitter: fix off-by-one in last line of last function in some .s files Co-authored-by: lepelog <lepelog@users.noreply.github.com> Co-authored-by: Pheenoh <pheenoh@gmail.com> |
||
|---|---|---|
| .github/workflows | ||
| asm | ||
| include | ||
| libs | ||
| src | ||
| tools | ||
| .clang-format | ||
| .gitignore | ||
| Makefile | ||
| README.md | ||
| asmdiff.sh | ||
| diff.py | ||
| diff_settings.py | ||
| dolzel2.sha1 | ||
| ldscript.lcf | ||
| obj_files.mk | ||
| re_notes.md | ||
| rels_sha1.md | ||
README.md
The Legend of Zelda: Twilight Princess
This repo contains a WIP decompilation of The Legend of Zelda: Twilight Princess (GCN USA).
It builds the following DOL:
main.dol - sha1: 4997D93B9692620C40E90374A0F1DBF0E4889395
And will eventually build all the RELs.
Windows Prerequisites
- Download and run the latest release of the Windows devkitpro installer
- Run the executable located at
devkitPro\msys2\msys2.exe - Update pacman by running the following command:
pacman -Syu - Install the necessary dependencies by running the following command:
pacman -S python3-pip base-devel gcc vim cmake - Change to the directory of where you cloned this repository and you are ready to build!
Build Instructions
- Obtain a clean DOL of TP (GCN USA) and place it at the root of the repo and name it
baserom.dol. - Obtain a copy of the MWCC PowerPC compiler (version 2.7 to be exact). See below for a link to our Discord server which has the CodeWarrior compilers pinned in the #tp-decomp channel.
- Run
makeat the root of the repo.
Contributions
All contributions are welcome. This is a group effort, and even small contributions can make a difference. Some tasks also don't require much knowledge to get started.
Most discussions happen on our Discord Server, where you are welcome to ask if you need help getting started, or if you have any questions regarding this project and other decompilation projects.