mirror of https://github.com/zeldaret/tp.git
				
				
				
			
				
					
						
							* d_a_tag_ret_room fully matching * most of d_a_tag_ret_room decompiled  | 
			||
|---|---|---|
| .devcontainer | ||
| .github/workflows | ||
| asm | ||
| defs | ||
| docs | ||
| include | ||
| libs | ||
| rel | ||
| src | ||
| tools | ||
| .clang-format | ||
| .gitignore | ||
| Doxyfile | ||
| Makefile | ||
| Progress.md | ||
| README.md | ||
| asmdiff.sh | ||
| diff.py | ||
| diff_settings.py | ||
| dolzel2.sha1 | ||
| include_link.mk | ||
| makewibo.sh | ||
| obj_files.mk | ||
| sha1sums.json | ||
| tp | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	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.