Decompilation of The Legend of Zelda: Twilight Princess (GCN, USA)
Go to file
icogn f6f7e7ce38
d_kankyo_data and d_kankyo work (#158)
* Copy over progress

* Comment other d_kankyo_data dat section stuff

* Compiling

* Progress

* Progress

* Close

* Match

* Clean

* Change loop

* Clean

* Clean

* Before attempt clean

* Work on dKy_F_SP121Check, not compiling

* Adjust comparisons

* Adjust headers

* Close

* Matching

* Remove

* Comments

* Fix u8 pointer

* Comment

* Adjust

* Comment stage names

* Rename member

* Decomp dKy_darkworld_spot_check

* Decomp dKy_darkworld_Area_set

* Adjust

* Comments, small adjust

* Add phase1 base txt

* Working through d_s_play phase_1

* Finish function outline

* Comments

* Add darkLv enum

* Rename enum

* Refactor

* Comment

* Documentation

* Move out notes

* Comments

* Adjust

* Rename structs

* Comments

* Minor adjust

* Comment

* Adjust and Comments

* Adjust

* Adjust

* Comment

* Clean

* Add back addresses

* Adjust comment

* Adjust comments

* Comments

* Comment

* Adjust for clang-format-10

* Edit getName

* Fix fog table

* Make l_field_data use placeholder struct

* Make l_envr_default use placeholder struct

* Make l_vr_box_data use placeholder struct

* Make l_pselect_default use placeholder struct
2021-12-02 23:43:22 +01:00
.github/workflows Clean up and improvements to tools (#163) 2021-12-02 23:38:37 +01:00
asm c_lib OK 2021-11-26 00:44:17 +01:00
defs demangle data-symbols 2021-04-08 01:47:05 +02:00
docs Doxygen (#84) 2021-01-18 14:00:28 -05:00
include d_kankyo_data and d_kankyo work (#158) 2021-12-02 23:43:22 +01:00
libs Clean up and improvements to tools (#163) 2021-12-02 23:38:37 +01:00
rel Clean up and improvements to tools (#163) 2021-12-02 23:38:37 +01:00
src d_kankyo_data and d_kankyo work (#158) 2021-12-02 23:43:22 +01:00
tools Clean up and improvements to tools (#163) 2021-12-02 23:38:37 +01:00
.clang-format fix clang-format check 2021-01-31 20:49:35 -05:00
.gitignore add asset extract script 2021-06-13 19:07:06 -04:00
Doxyfile Doxygen (#84) 2021-01-18 14:00:28 -05:00
Makefile Clean up and improvements to tools (#163) 2021-12-02 23:38:37 +01:00
README.md add make assets target 2021-06-13 19:47:12 -04:00
asmdiff.sh Makefile fixes / JUTNameTab (#129) 2021-05-10 11:54:07 -04:00
diff.py Makefile fixes / JUTNameTab (#129) 2021-05-10 11:54:07 -04:00
diff_settings.py Makefile fixes / JUTNameTab (#129) 2021-05-10 11:54:07 -04:00
dolzel2.sha1
include_link.mk dol2asm OK 2021-03-28 22:49:05 +02:00
obj_files.mk dol2asm OK 2021-03-28 22:49:05 +02:00
tp move tp from tools 2021-03-28 23:54:55 +02:00

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

  1. Download and run the latest release of the Windows devkitpro installer
  2. Run the executable located at devkitPro\msys2\msys2.exe
  3. Update pacman by running the following command: pacman -Syu
  4. Install the necessary dependencies by running the following command: pacman -S python3-pip base-devel gcc vim cmake
  5. Change to the directory of where you cloned this repository
  6. Install the required python dependencies with python3 -mpip install -r tools/requirements.txt

Build Instructions

  1. Obtain a clean DOL of TP (GCN USA) and place it at the root of the repo and name it baserom.dol.
  2. 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.
  3. Replace tools/mwcc_compiler/2.7/mwcceppc.exe with the custom one also pinned in the #tp-decomp channel.
  4. Run make at the root of the repo.

Dump Assets

  1. Place a vanilla copy of the NTSC-U version at the root of the folder and call it gz2e01.iso.
  2. Make the game directory.
mkdir game
  1. Run make assets.
make assets

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.