<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ph/src/16_Startup/Game/Game_16.cpp, branch main</title>
<subtitle>Decompilation of The Legend of Zelda: Phantom Hourglass (NDS)</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/'/>
<entry>
<title>Decompile Game_16 (#167)</title>
<updated>2026-05-23T15:10:58+00:00</updated>
<author>
<name>Aurel</name>
<email>285191559+0Aurel@users.noreply.github.com</email>
</author>
<published>2026-05-23T15:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=51640eb100522a3986779599f057d72c8cb9e42e'/>
<id>51640eb100522a3986779599f057d72c8cb9e42e</id>
<content type='text'>
* 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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.</pre>
</div>
</content>
</entry>
<entry>
<title>Bump dsd to v0.10.1; UnkStruct_027e05f8_2 OK (#121)</title>
<updated>2025-07-17T10:21:10+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-17T10:21:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=573b696ff8d3e83765d4483e5a31e0ec5676044d'/>
<id>573b696ff8d3e83765d4483e5a31e0ec5676044d</id>
<content type='text'>
* Unique delink file names

* Fix build

* Revert back to single link

* UnkStruct_027e05f8_2 OK

* `dsd fix ctor-symbols`

* Fix symbols spanning over two delink files

* `dsd fix ctor-symbols` again

* Add missing function `func_02050a20`

* Name `.p__sinit` symbols in USA after their EUR counterparts

* Apply dsd signatures

* Bump dsd to 0.10.0; Fix dsd not updating automatically

* Rename overlay functions

* Fix auto-download wibo

* Fix generating objdiff report</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Unique delink file names

* Fix build

* Revert back to single link

* UnkStruct_027e05f8_2 OK

* `dsd fix ctor-symbols`

* Fix symbols spanning over two delink files

* `dsd fix ctor-symbols` again

* Add missing function `func_02050a20`

* Name `.p__sinit` symbols in USA after their EUR counterparts

* Apply dsd signatures

* Bump dsd to 0.10.0; Fix dsd not updating automatically

* Rename overlay functions

* Fix auto-download wibo

* Fix generating objdiff report</pre>
</div>
</content>
</entry>
</feed>
