Decompilation of The Legend of Zelda: Twilight Princess (GCN, USA)
Go to file
hatal175 4df6e8edea
Various matches and improvements (#299)
* Various matches and improvements

* Remove unnecessary comment
2023-02-23 08:41:05 -07:00
.devcontainer Undo Docker 2023-01-25 17:49:49 -05:00
.github/workflows rename mwcceppc_patched.exe to mwcceppc_modded.exe for better windows compatibility 2023-01-23 00:34:44 -08:00
asm Various matches and improvements (#299) 2023-02-23 08:41:05 -07:00
defs Fix change to dKyw_get_AllWind_vecpow__FP4cXyz return value 2023-02-01 18:09:23 +02:00
docs d_a_tag_attention & d_a_tag_spring OK (#297) 2023-02-19 21:39:09 -07:00
include Various matches and improvements (#299) 2023-02-23 08:41:05 -07:00
libs Various matches and improvements (#299) 2023-02-23 08:41:05 -07:00
rel d_a_guard_mng OK, d_a_obj_smoke OK, d_a_tag_smk_emt OK, d_a_hitobj OK (#298) 2023-02-20 00:53:33 -07:00
src Various matches and improvements (#299) 2023-02-23 08:41:05 -07:00
tools Add option to use oead and copy map files (#294) 2023-02-19 10:40:47 -07:00
.clang-format d_a_b_oh2 / d_a_obj_web0 / d_a_obj_web1 (#243) 2023-01-15 12:10:23 -07:00
.gitignore Add m2ctx stuff to gitignore 2022-04-23 14:27:14 -07:00
Doxyfile Doxygen (#84) 2021-01-18 14:00:28 -05:00
Makefile Add option to use oead and copy map files (#294) 2023-02-19 10:40:47 -07:00
Progress.md Various matches and improvements (#299) 2023-02-23 08:41:05 -07:00
README.md setup moved from makefile to tp 2023-01-24 22:50:19 -05:00
asmdiff.sh Makefile fixes / JUTNameTab (#129) 2021-05-10 11:54:07 -04:00
diff.py Print stderr in diff.py when make fails 2023-02-01 16:37:45 +02:00
diff_settings.py diff.py: invoke make with DISABLE_DEPS 2023-01-06 18:50:13 -08:00
dolzel2.sha1 ok 2020-08-29 17:54:55 -04:00
include_link.mk Fix REL Spelling + Tool Improvements (#285) 2023-02-15 07:02:56 -07:00
makewibo.sh d_menu_map_common progress 2023-01-21 16:47:18 -07:00
obj_files.mk Fix REL Spelling + Tool Improvements (#285) 2023-02-15 07:02:56 -07:00
sha1sums.json Fix REL Spelling + Tool Improvements (#285) 2023-02-15 07:02:56 -07:00
tp Add Progress.md (#187) 2022-04-10 18:29:58 -04:00

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

  1. Clone down project
git clone https://github.com/zeldaret/tp
  1. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it gz2e01.iso (find this on your own)

  2. Then run the setup script

./tp setup

Building The Game

  1. 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

  1. Run make
  2. 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.