26 Commits

Author SHA1 Message Date
Aurel 51640eb100 Decompile Game_16 (#167)
* 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.
2026-05-23 17:10:58 +02:00
Aetias e704ec9942 ActorCharacter OK (#162)
* ActorCharacter 93%

* ActorCharacter 98%

* ActorCharacter OK

* Fix broken matches
2026-05-11 20:34:17 +02:00
Aetias b44496319d ActorShopItem 98% (#151)
* 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
2026-05-04 22:07:42 +02:00
Aetias 38e9378f8f Delink ActorShopItem.cpp (#147)
* Make types compatible with dsd-ghidra typesync

* Update actors.md

* Update docs

* Delink ActorShopItem.cpp
2026-04-16 23:10:14 +02:00
enzofc708 ef2caebcef Decomp sbc.c (100%) (#144)
* 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
2026-04-16 20:38:59 +02:00
Aetias fc691f4c8f LinkStateInteract (#135)
* Map symbol in Game

* LinkStateInteract 19%

* DebugHierarchy -> Bhio

* LinkStateInteract 89%

* LinkStateInteract 93%

* Japanese strings

* Fix build

* Fix regression

* Fix regressions

* Rename BhioBase.cpp
2025-11-16 17:14:48 +01:00
Aetias cb52c8c23f ActorNavi (#132)
* 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
2025-08-29 20:01:10 +02:00
Aetias 82f54b2f07 EquipBombchu (#131)
* Map symbol in Game

* EquipBombchu 12%

* EquipBombchu 53%

* EquipBombchu 71%

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

* EquipBombchu 89%

* Fix regression
2025-07-31 21:22:55 +02:00
Aetias 8ad6359c7d ActorSwitchObject OK (#130)
* Map symbol in Game

* ActorSwitchObject OK

* Mark ActorSwitchObject as complete

* Document `mTrapActors`

* Fix FilterActorBase

* Fix regressions
2025-07-25 15:59:54 +02:00
Aetias 383ca6aaa2 Game 99% (#125)
* Game 74%

* Game 99%

* Fix symbol name
2025-07-22 15:54:46 +02:00
Aetias 32cc123547 Game 73% (#122)
* Game 73%

* Fix build
2025-07-19 18:51:07 +02:00
Aetias 573b696ff8 Bump dsd to v0.10.1; UnkStruct_027e05f8_2 OK (#121)
* 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
2025-07-17 12:21:10 +02:00
Yanis 93b942b2de name symbols based on GameSpy (#116)
Co-authored-by: Yanis002 <Yanis002@users.noreply.github.com>
2025-07-13 19:27:55 +02:00
Yanis002 0f53991581 Merge remote-tracking branch 'upstream/main' into displaytext 2025-06-29 21:29:34 +02:00
Aetias ef04313d45 Decomp PlayerControl 98% 2025-05-24 12:23:03 +02:00
Aetias 0ae9b8c149 Merge remote-tracking branch 'zeldaret/main' into decomp-PlayerControl 2025-05-22 22:05:31 +02:00
SammygoodTunes 145601ed21 Fix overlay include typo 2025-05-11 12:22:16 +02:00
Aetias 1240571595 Add relocatable overlay IDs 2025-04-26 08:41:25 +02:00
Aetias 83bdfdb892 PlayerControl: Decomp 68% 2025-02-16 16:07:22 +01:00
Yanis002 53cc55fb20 format 2025-02-12 20:20:59 +01:00
Yanis002 27ae64893a started debug display/error 2025-02-12 12:50:35 +01:00
Aetias 57de079397 PlayerControl: Decomp 27% 2025-02-09 09:38:23 +01:00
Yanis002 f27b60d4fe match most of OverlayManager.cpp 2025-02-08 22:25:31 +01:00
Aetias 370e632197 Move ITCM documentation from Ghidra 2025-01-18 16:24:12 +01:00
Aetias fe4c283ba2 Document math functions 2025-01-18 15:50:03 +01:00
Aetias 13108e3ae4 Move ARM9 Main documentation from Ghidra 2025-01-18 09:44:01 +01:00