<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ph/src/Main/Game, 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>ActorItemSellerBase OK (#163)</title>
<updated>2026-05-11T21:32:28+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2026-05-11T21:32:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=1570b7d2d63aed0a77fc2077618b766eebaba56e'/>
<id>1570b7d2d63aed0a77fc2077618b766eebaba56e</id>
<content type='text'>
* ActorItemSellerBase OK

* Fix broken matches</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ActorItemSellerBase OK

* Fix broken matches</pre>
</div>
</content>
</entry>
<entry>
<title>Decomp sbc.c (100%) (#144)</title>
<updated>2026-04-16T18:38:59+00:00</updated>
<author>
<name>enzofc708</name>
<email>47937189+enzofc708@users.noreply.github.com</email>
</author>
<published>2026-04-16T18:38:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=ef2caebcefe1a0d370a56340944931f71bcd39a8'/>
<id>ef2caebcefe1a0d370a56340944931f71bcd39a8</id>
<content type='text'>
* start sbc.cpp

* add G3d_SBCRender_007

* match G3d_SBCRender_007

* match G3d_SBCRender_008

* match G3d_SBCRender_SKN

* fix EUR relocs file

* match G3d_SBCRender_00C

* match G3d_SBCRender_00D

* complete sbc.cpp

* fix EUR delinks</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* start sbc.cpp

* add G3d_SBCRender_007

* match G3d_SBCRender_007

* match G3d_SBCRender_008

* match G3d_SBCRender_SKN

* fix EUR relocs file

* match G3d_SBCRender_00C

* match G3d_SBCRender_00D

* complete sbc.cpp

* fix EUR delinks</pre>
</div>
</content>
</entry>
<entry>
<title>Game 99% (#125)</title>
<updated>2025-07-22T13:54:46+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-22T13:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=383ca6aaa2b322869fe304eb5c277150859bfcc0'/>
<id>383ca6aaa2b322869fe304eb5c277150859bfcc0</id>
<content type='text'>
* Game 74%

* Game 99%

* Fix symbol name</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Game 74%

* Game 99%

* Fix symbol name</pre>
</div>
</content>
</entry>
<entry>
<title>ActorRupee 90% (#124)</title>
<updated>2025-07-21T17:09:56+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-21T17:09:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=aee9c362bbeb9ae717f4b93cbbd5fa0dd9a71450'/>
<id>aee9c362bbeb9ae717f4b93cbbd5fa0dd9a71450</id>
<content type='text'>
* Remove `force_data` macro

* Use size_t in `operator new`

* Bump objdiff to v3.0.0-beta.10

* Decompile functions using gRandom

* ActorRupee 90%

* Fix old gRandom.Next calls

* Revert objdiff

* Clean up</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove `force_data` macro

* Use size_t in `operator new`

* Bump objdiff to v3.0.0-beta.10

* Decompile functions using gRandom

* ActorRupee 90%

* Fix old gRandom.Next calls

* Revert objdiff

* Clean up</pre>
</div>
</content>
</entry>
<entry>
<title>Game 73% (#122)</title>
<updated>2025-07-19T16:51:07+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-19T16:51:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=32cc123547fef2ff4aa170ef27ee0a825957a859'/>
<id>32cc123547fef2ff4aa170ef27ee0a825957a859</id>
<content type='text'>
* Game 73%

* Fix build</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Game 73%

* Fix build</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>
<entry>
<title>Decompile overlay 8 (95%) (#115)</title>
<updated>2025-07-13T13:11:50+00:00</updated>
<author>
<name>Yanis</name>
<email>35189056+Yanis002@users.noreply.github.com</email>
</author>
<published>2025-07-13T13:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=0421d36979794e73793e40a92c55365e69f6944e'/>
<id>0421d36979794e73793e40a92c55365e69f6944e</id>
<content type='text'>
* started overlay 8

* progress

* progress

* progress

* more headers

* progress

* more progress

* symbols

* fix splits + new headers

* more progress

* func_ov008_02112ee0 &amp; func_ov008_02112f28

* document fish in save item manager and unrelated things because precommit is mad

* SaveItemManager ctor

* progress?

* fix build issues

* split files to match data

* format

* format

* cleanup and match vfunc_08

* add reloc for overlay 0

* fix vtable symbol

* improve non-matching functions

---------

Co-authored-by: Aetias &lt;144526980+AetiasHax@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* started overlay 8

* progress

* progress

* progress

* more headers

* progress

* more progress

* symbols

* fix splits + new headers

* more progress

* func_ov008_02112ee0 &amp; func_ov008_02112f28

* document fish in save item manager and unrelated things because precommit is mad

* SaveItemManager ctor

* progress?

* fix build issues

* split files to match data

* format

* format

* cleanup and match vfunc_08

* add reloc for overlay 0

* fix vtable symbol

* improve non-matching functions

---------

Co-authored-by: Aetias &lt;144526980+AetiasHax@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Game 26%</title>
<updated>2025-07-06T12:47:44+00:00</updated>
<author>
<name>Aetias</name>
<email>aetias@outlook.com</email>
</author>
<published>2025-07-06T12:47:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=36b9d9dea418bfde388216dd2e0707c4be7f19d2'/>
<id>36b9d9dea418bfde388216dd2e0707c4be7f19d2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update `GameMode::vfunc_14`</title>
<updated>2025-07-06T10:18:40+00:00</updated>
<author>
<name>Aetias</name>
<email>aetias@outlook.com</email>
</author>
<published>2025-07-06T10:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=f6b308ed82a89de31f90166215e0a88a5cdb1ad7'/>
<id>f6b308ed82a89de31f90166215e0a88a5cdb1ad7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
