Daniel Hajjar ed7a50cd86 d_a_auction (#654)
* Started working on d_a_auction

* daAuction_c Updated member variables

* daAuction_c Refactored class

* daAuction_c::getRand matching

* daAuction_c constructor matching

* d_a_auction CheckCreateHeap matching

* daAuction_c::_create matching

* d_a_auction l_item_dat matching

* daAuction_c::createHeap matching

* d_a_auction Added HIO classes

* daAuction_c::createInit WIP

* daAuction_c::_delete matching

* daAuction_c::_draw matching

* daAuction_c::_execute matching

* d_a_auction Fixed procfunc arrays

* daAuction_c moveProc funcs matching

* daAuction_c::checkOrder matching

* daAuction_c::eventOrder WIP

* daAuction_c::eventMove matching

* daAuction_c::privateCut WIP

* daAuction_c::eventTalkInit matching

* daAuction_c::eventMesSet matching

* daAuction_c::eventMesEnd matching

* daAuction_c::eventStartInit matching

* daAuction_c::eventStart matching

* daAuction_c::eventMainInit matching

* daAuction_c::eventMain matching

* daAuction_c::eventMainKai matching

* daAuction_c::eventMainKai Fixed formatting

* daAuction_c::eventMainUri matching

* d_a_auction matching fixes

* daAuction_c::eventMainMsgSet matching

* daAuction_c::eventMainMsgEnd matching

* daAuction_c::setMtx matching

* daAuction_c::getItemNo matching

* daAuction_c::setLinkAnm matching

* d_a_auction matched some functions

* d_a_auction matched SetMessage functions

* daAuction_c::getNpcActorP matching

* daAuction_c::eventMainMsgBikonC matching

* daAuction_c::eventMainMsgBikonW matching

* daAuction_c::eventGetItemInit matching

* daAuction_c::eventGetItemNpcInit matching

* daAuction_c::eventGetItemMesInit matching

* d_a_auction matched some functions

* daAuction_c::setCameraNpc matching

* daAuction_c::nextBet matching

* daAuction_c::privateCut Fixed matching

* d_a_auction .data section matching

* daAuction_c::next_msgStatus WIP

* daAuction_c::next_msgStatus matching

* Fixed variable names

* d_a_auction cleanup

* d_a_auction more cleanup

* d_a_auction non-matching

* d_a_auction minor tweak
2024-06-02 10:48:53 -07:00
2023-09-10 00:48:55 -04:00
2024-06-02 10:48:53 -07:00
2023-09-10 00:48:55 -04:00
2024-06-02 10:48:53 -07:00
2023-12-30 15:03:23 -08:00
2023-09-10 00:48:55 -04:00
2023-09-13 18:15:47 -04:00
2024-06-02 10:48:53 -07:00
2023-09-09 10:08:34 -04:00

The Legend of Zelda: The Wind Waker
Build Status Progress DOL Progress RELs Progress Discord Badge

A work-in-progress decompilation of The Legend of Zelda: The Wind Waker for GameCube.

This repository does not contain any game assets or assembly whatsoever. An existing copy of the game is required.

All GameCube versions are supported:

  • GZLE01: Rev 0 (USA), Rev 48 (KOR)
  • GZLP01: Rev 0 (PAL)
  • 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.

  • Install Python and add it to %PATH%.
  • Download ninja and add it to %PATH%.
    • Quick install via pip: pip install ninja

macOS:

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

After OS upgrades, if macOS complains about Wine Crossover.app being unverified, you can unquarantine it using:

sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app'

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

  • Clone the repository:
    git clone https://github.com/zeldaret/tww.git
    
  • Using Dolphin Emulator, extract your game to orig/GZLE01 (or GZLJ01 for JPN, GZLP01 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
    
    To use a version other than GZLE01 (USA), specify --version GZLJ01 (JPN) or --version GZLP01 (PAL).
  • 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

S
Description
No description provided
Readme CC0-1.0 48 MiB
Languages
C++ 89.4%
C 8.9%
Python 1%
Pawn 0.6%
Pascal 0.1%