Decompilation of The Legend of Zelda: The Wind Waker
Go to file
Jasper St. Pierre c0d02ccfcf J3DVertex almost
2023-09-12 20:16:11 -07:00
.github/workflows Fix CI image name 2023-09-10 00:52:49 -04:00
assets Import project 2023-09-10 00:48:55 -04:00
config f_op_kankyo yeah, match splits 2023-09-10 09:41:23 -07:00
docs Import project 2023-09-10 00:48:55 -04:00
include J3DVertex almost 2023-09-12 20:16:11 -07:00
orig Import project 2023-09-10 00:48:55 -04:00
src J3DVertex almost 2023-09-12 20:16:11 -07:00
tools fix float issues and add decompctx.py tool (#15) 2023-09-11 21:28:23 -07:00
.clang-format Import project 2023-09-10 00:48:55 -04:00
.gitattributes Import project 2023-09-10 00:48:55 -04:00
.gitignore fix float issues and add decompctx.py tool (#15) 2023-09-11 21:28:23 -07:00
configure.py J3DVertex almost 2023-09-12 20:16:11 -07:00
LICENSE Initial commit 2023-09-09 10:08:34 -04:00
README.md Import project 2023-09-10 00:48:55 -04:00

The Legend of Zelda: The Wind Waker Build Status

This repository supports the following versions:

  • GZLE01 - Rev 0 (USA), Rev 48 (Korea)
  • GZLP01 - Rev 0 (EUR)
  • GZLJ01 - Rev 0 (JPN)

Dependencies

Windows:

On Windows, it's highly recommended to use native tooling. WSL or msys2 are not required.
When running under WSL, objdiff is unable to get filesystem notifications for automatic rebuilds.

macOS:

  • Install ninja:
    brew install ninja
    
  • Install wine-crossover:
    brew install --cask --no-quarantine gcenx/wine/wine-crossover
    

Linux:

  • Install ninja.
  • For non-x86(_64) platforms: Install wine from your package manager.
    • For x86(_64), WiBo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.

Building

  • Checkout the repository:
    git clone https://github.com/zeldaret/tww.git
    
  • Using Dolphin Emulator, extract your game to orig/GZLE01 (or GLZJ01 for JPN, GLZE01 for PAL).
    • To save space, the only necessary files are the following. Any others can be deleted.
      • sys/main.dol
      • files/rels/*.rel
      • files/RELS.arc
  • Configure:
    python configure.py
    
  • Build:
    ninja
    

Diffing

Once the initial build succeeds, an objdiff.json should exist in the project root.

Download the latest release from encounter/objdiff. Under project settings, set Project directory. The configuration should be loaded automatically.

Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, configure.py, splits.txt or symbols.txt.

More documentation