mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 06:54:28 -04:00
221f40e6097dfe76c76602aa21aa07d5f760dce4
* add "global.h" to files that use it * add MSL_C includes to files that use them * remove dolphin includes from headers that don't need them * remove JSupport includes from headers that don't need them * remove JKernel includes from headers that don't need them * remove JUtility includes from headers that don't need them * remove J3D includes from headers that don't need them * remove J2D includes from headers that don't need them * remove JAudio2 includes from headers that don't need them * remove Z2AudioLib includes from headers that don't need them * remove JMessage includes from headers that don't need them * remove JParticle includes from headers that don't need them * remove SComponent includes from headers that don't need them * remove dol includes from headers that don't need them * sort includes
The Legend of Zelda: Twilight Princess
This repo contains a WIP decompilation of The Legend of Zelda: Twilight Princess (GCN USA).
Project Setup
- Clone down project
git clone https://github.com/zeldaret/tp
-
Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it
gz2e01.iso(find this on your own) -
Then run the setup script
./tp setup
Building The Game
- To build a playable game, complete the Project Setup steps, then run
make game
The completed build is under build/dolzel2/game/sys/main.dol
Build DOL
make
(Note that any time you run make you can add the -j# argument where # is the amount of threads your system has in order to greatly speed up build times)
Build RELs
make rels
The completed RELs will be under build/dolzel2/rel
Extract Game Assets
make assets
Create Expected Directory
- Run
make - Run:
./tp expected
Clean Directories
Clean RELs
make clean_rels
Clean Game Directory
make clean_game
Clean Build Directory
make clean_all
Clean Dol
make clean
Project Overview
tp/
├── .github # Github actions for this project.
├── asm # The assembly for unmatched functions.
├── defs # Python modules used by dol2asm.
├── docs # Notes and documentation about this project.
├── include # Header files used by this project.
├── libs # Source code for the libraries based on the symbol map.
├── rel # Source code for the game RELs.
├── src # Source code for the main game.
├── tools # Various tools to support the project.
├── .clang-format # Clang format file.
├── .gitignore # Files/folders to ignore changes to when making commits.
├── Doxyfile # Doxygen configuration file.
├── Makefile # Makefile for the project containing various targets.
├── Progress.md # Markdown file that displays the current progress of the project.
├── README.md # The file you're currently reading.
├── diff.py # Python script to diff two functions.
├── diff_settings.py # Settings for the diff.py script.
├── dolzel2.sha1 # SHA1 of the dol.
├── include_link.mk # Makefiles to include in the main Makefile.
├── obj_files.mk # Object files to include in the main Makefile.
└── tp # Bash script used to call the main tp python script in tools directory.
Description
Languages
C++
53.6%
C
45.4%
Python
0.4%
POV-Ray SDL
0.3%
Pawn
0.3%