mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 15:01:37 -04:00
51640eb100522a3986779599f057d72c8cb9e42e
* Game_16 OK * Remove unnecessary FadeControl constructor definition * Define HW_RESET_PARAMETER_BUF macro to replace hardcoded address * Refactor Game constructor to use proper C++ initialization Address Yanis' review comments: - Make Game::func_0202cf44 static with Game* parameter to allow passing as callback pointer - Replace raw mUnk_00c array with Game_0c class containing constructor - Add Game_0c constructor with inline initialization calling func_ov016_0211fab8 - Add FadeControl_Derived1 class for mFadeControl member - Use C++ initializer list in Game constructor for mModeId, mPrevModeId, mMode, mUnk_00c, and mFadeControl * Fix Game constructor and FadeControl initialization - Use PAD macro in Game_0c instead of unk8 pad[] - Pass 'this' instead of 'pad' to func_ov016_0211fab8 - Add FadeControl constructor that calls _ZN11FadeControlC2Ev - FadeControl_Derived1 now uses empty constructor (base class ctor called automatically) - Update mUnk_00c.pad to mUnk_00c.pad_0x00 (PAD macro creates named member) - Add types.h include to nds/system.h * Remove explicit call to mangled constructor symbol - Removed _ZN11FadeControlC2Ev call from FadeControl constructor - FadeControl now has an empty constructor (called automatically by derived classes) - FadeControl_Derived1 uses empty constructor which calls base class ctor * Update symbols.txt for func_0202cf44 signature change Changed mangled name from _ZN4Game13func_0202cf44Ev to _ZN4Game13func_0202cf44EPS_ to reflect the function becoming static with a Game* parameter.
The Legend of Zelda: Phantom Hourglass

Work in progress! This project aims to recreate source code for The Legend of Zelda: Phantom Hourglass by decompiling its code by hand. The repository does not contain assets or assembly code. To build the ROM, you must own an existing copy of the game to extract assets from.
Note
The project targets the European and American versions, and other versions might be supported later.
How to install
See INSTALL.md for instructions on how to install the project.
Contribution
A work in progress, but CONTRIBUTING.md has guidelines for how to contribute to the project.
Documentation
See /docs for documentation about the game.
Languages
C++
90.6%
C
5.2%
Python
4.2%