<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ph/libs/nds, 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>ActorCharacter OK (#162)</title>
<updated>2026-05-11T18:34:17+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2026-05-11T18:34:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=e704ec994219540b71da323a61ffa930f80ce492'/>
<id>e704ec994219540b71da323a61ffa930f80ce492</id>
<content type='text'>
* ActorCharacter 93%

* ActorCharacter 98%

* ActorCharacter OK

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

* ActorCharacter 98%

* ActorCharacter OK

* Fix broken matches</pre>
</div>
</content>
</entry>
<entry>
<title>ActorShopItem 98% (#151)</title>
<updated>2026-05-04T20:07:42+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2026-05-04T20:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=b44496319d3027a625fcf876cf22e467720355df'/>
<id>b44496319d3027a625fcf876cf22e467720355df</id>
<content type='text'>
* ActorShopItem 93%

* Fix build

* Add missing symbols to usa

* Document BMG message ID functions

* Create bmg.py for inspecting BMG files

* ActorShopItem 98%

* Match func_ov031_0217dfec

* Port reloc changes to usa

* Make `ModelRender::GetLcdcAddress` non-const</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ActorShopItem 93%

* Fix build

* Add missing symbols to usa

* Document BMG message ID functions

* Create bmg.py for inspecting BMG files

* ActorShopItem 98%

* Match func_ov031_0217dfec

* Port reloc changes to usa

* Make `ModelRender::GetLcdcAddress` non-const</pre>
</div>
</content>
</entry>
<entry>
<title>Delink ActorShopItem.cpp (#147)</title>
<updated>2026-04-16T21:10:14+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2026-04-16T21:10:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=38e9378f8f4bc465a09305e5021ead2eb89afb2b'/>
<id>38e9378f8f4bc465a09305e5021ead2eb89afb2b</id>
<content type='text'>
* Make types compatible with dsd-ghidra typesync

* Update actors.md

* Update docs

* Delink ActorShopItem.cpp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make types compatible with dsd-ghidra typesync

* Update actors.md

* Update docs

* Delink ActorShopItem.cpp</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>LinkStateInteract (#135)</title>
<updated>2025-11-16T16:14:48+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-11-16T16:14:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=fc691f4c8f76d11d6b47149fefadaca4470ab2a1'/>
<id>fc691f4c8f76d11d6b47149fefadaca4470ab2a1</id>
<content type='text'>
* Map symbol in Game

* LinkStateInteract 19%

* DebugHierarchy -&gt; Bhio

* LinkStateInteract 89%

* LinkStateInteract 93%

* Japanese strings

* Fix build

* Fix regression

* Fix regressions

* Rename BhioBase.cpp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Map symbol in Game

* LinkStateInteract 19%

* DebugHierarchy -&gt; Bhio

* LinkStateInteract 89%

* LinkStateInteract 93%

* Japanese strings

* Fix build

* Fix regression

* Fix regressions

* Rename BhioBase.cpp</pre>
</div>
</content>
</entry>
<entry>
<title>ActorNavi (#132)</title>
<updated>2025-08-29T18:01:10+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-08-29T18:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=cb52c8c23f5de5ba8509f9471025b4fa995e3b65'/>
<id>cb52c8c23f5de5ba8509f9471025b4fa995e3b65</id>
<content type='text'>
* Map symbol in Game

* ActorNavi 93%

* ActorNavi_04 96%

* Document Actor fields

* Move MAX_KEYS to ItemManager

* Move gTouchControl to its own header

* Fix missing includes

* Fix regressions

* Fix build

* Update decompiling guide images

* Fix regression</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Map symbol in Game

* ActorNavi 93%

* ActorNavi_04 96%

* Document Actor fields

* Move MAX_KEYS to ItemManager

* Move gTouchControl to its own header

* Fix missing includes

* Fix regressions

* Fix build

* Update decompiling guide images

* Fix regression</pre>
</div>
</content>
</entry>
<entry>
<title>EquipBombchu (#131)</title>
<updated>2025-07-31T19:22:55+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-31T19:22:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=82f54b2f075e7f6612b80edf52b37bb6377e0d49'/>
<id>82f54b2f075e7f6612b80edf52b37bb6377e0d49</id>
<content type='text'>
* Map symbol in Game

* EquipBombchu 12%

* EquipBombchu 53%

* EquipBombchu 71%

* configure: Don't verify dsd version if `--dsd` specified

* EquipBombchu 89%

* Fix regression</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Map symbol in Game

* EquipBombchu 12%

* EquipBombchu 53%

* EquipBombchu 71%

* configure: Don't verify dsd version if `--dsd` specified

* EquipBombchu 89%

* Fix regression</pre>
</div>
</content>
</entry>
<entry>
<title>ActorSwitchObject OK (#130)</title>
<updated>2025-07-25T13:59:54+00:00</updated>
<author>
<name>Aetias</name>
<email>144526980+AetiasHax@users.noreply.github.com</email>
</author>
<published>2025-07-25T13:59:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/ph/commit/?id=8ad6359c7d3c7afcbddd7d450b7fa4b9764255b6'/>
<id>8ad6359c7d3c7afcbddd7d450b7fa4b9764255b6</id>
<content type='text'>
* Map symbol in Game

* ActorSwitchObject OK

* Mark ActorSwitchObject as complete

* Document `mTrapActors`

* Fix FilterActorBase

* Fix regressions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Map symbol in Game

* ActorSwitchObject OK

* Mark ActorSwitchObject as complete

* Document `mTrapActors`

* Fix FilterActorBase

* Fix regressions</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>
</feed>
