Decompile overlay 24 (Part 2) (#66)

* remove scratch links

* UnkAdventureModeSystem1 OK

* UnkStruct_ov024_020d8694_024 OK

* UnkTitleCardSystem1_024 99%

* UnkTitleCardSystem1_024 OK

* fix regressions

* title card vfunc_08 oddity

* tools: make build.ninja deterministic and delink when objdiff rebuild-on-change

* clean up link node mess

* UnkStruct_020d8698_024 24%

* UnkStruct_020d8698_024 49%

* UnkStruct_020d8698_024 65%

* fix build issues

* UnkStruct_020d8698_024 92%

* UnkStruct_020d8698_024 OK

* delink data_ov024_020d8694 symbol

* tools: revert previous objdiff change and reduce ds-rom logs on objdiff
This commit is contained in:
Yanis
2026-05-24 17:20:48 +02:00
committed by GitHub
parent 0698c28bb0
commit 530fcd8c07
100 changed files with 4150 additions and 1201 deletions
+3 -2
View File
@@ -35,9 +35,9 @@ src/Main/UnkFileSystem.cpp:
src/Main/System/Random.cpp:
.text start:0x02016384 end:0x02016404
src/Main/Game/GameModeLinkListNode.cpp:
src/Main/LinkList.cpp:
complete
.text start:0x0201667c end:0x02016720
.text start:0x0201667c end:0x02016798
src/Main/func_02017ea4.cpp:
.text start:0x02017ea4 end:0x02017f38
@@ -53,6 +53,7 @@ src/Main/UnkStruct_0204a060.cpp:
.data start:0x02044040 end:0x0204405c
src/Main/Game/GameModeManagerBase.cpp:
complete
.text start:0x0201847c end:0x02018bc4
.data start:0x0204405c end:0x0204409c
+1 -1
View File
@@ -155,7 +155,7 @@ func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
_ZN18UnkStruct_027e09a413func_01ffd3d8Ev kind:function(arm,size=0x28) addr:0x01ffd3d8
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
_ZNK18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c
@@ -11,9 +11,13 @@ src/000_Second/Game/GameModeManagerBase_104_0C.cpp:
.data start:0x020b1e40 end:0x020b1e58
src/000_Second/Game/GameModeManagerBase_104.cpp:
complete
.text start:0x02061ae4 end:0x02061ce0
.data start:0x020b1e58 end:0x020b1e7c
src/000_Second/code_020657fc.cpp:
.text start:0x020657fc end:0x02065c20
src/000_Second/UnkSystem1_Base.cpp:
.text start:0x020667b0 end:0x02067244
.data start:0x020b2070 end:0x020b209c
+2 -2
View File
@@ -1403,9 +1403,9 @@ from:0x02061dfc kind:arm_call to:0x02008a0c module:main
from:0x02061eac kind:arm_call to:0x0200ab00 module:main
from:0x02061ef8 kind:arm_call to:0x02028c90 module:main
from:0x02061f38 kind:arm_call to:0x02061ce0 module:overlay(0)
from:0x02061f5c kind:load to:0x020b1e9c module:overlay(0)
from:0x02061f5c kind:load to:0x020b1e94 add:0x8 module:overlay(0)
from:0x02061f7c kind:arm_call to:0x02062144 module:overlay(0)
from:0x02061f88 kind:load to:0x020b1e9c module:overlay(0)
from:0x02061f88 kind:load to:0x020b1e94 add:0x8 module:overlay(0)
from:0x02061ff0 kind:arm_call to:0x02008b58 module:main
from:0x020620f4 kind:arm_call to:0x02015ef8 module:main
from:0x02062100 kind:arm_call to:0x0203a3c8 module:main
+43 -43
View File
@@ -424,7 +424,7 @@ func_ov000_02060738 kind:function(arm,size=0x24) addr:0x02060738
func_ov000_0206075c kind:function(arm,size=0x80) addr:0x0206075c
func_ov000_020607dc kind:function(arm,size=0x28) addr:0x020607dc
_ZN14UnkSubStruct19C1Ev kind:function(arm,size=0x28) addr:0x02060804
_ZN14UnkSubStruct1919func_ov000_0206082cEii kind:function(arm,size=0x124) addr:0x0206082c
_ZN14UnkSubStruct1919func_ov000_0206082cEsi kind:function(arm,size=0x124) addr:0x0206082c
_ZN14UnkSubStruct1919func_ov000_02060950Ev kind:function(arm,size=0x60) addr:0x02060950
_ZN14UnkSubStruct1919func_ov000_020609b0Ev kind:function(arm,size=0x14) addr:0x020609b0
_ZN14UnkSubStruct1919func_ov000_020609c4Ev kind:function(arm,size=0xd4) addr:0x020609c4
@@ -434,15 +434,15 @@ _ZN14UnkSubStruct1919func_ov000_02060af8Ev kind:function(arm,size=0x58) addr:0x0
_ZN14UnkSubStruct1919func_ov000_02060b50Ev kind:function(arm,size=0x14) addr:0x02060b50
_ZN14UnkSubStruct1919func_ov000_02060b64Ev kind:function(arm,size=0x20) addr:0x02060b64
func_ov000_02060b84 kind:function(arm,size=0x28) addr:0x02060b84
func_ov000_02060bac kind:function(arm,size=0x2c) addr:0x02060bac
_ZN14UnkSubStruct1919func_ov000_02060bacEv kind:function(arm,size=0x2c) addr:0x02060bac
_ZN14UnkSubStruct1919func_ov000_02060bd8Ei kind:function(arm,size=0x50) addr:0x02060bd8
_ZN14UnkSubStruct1919func_ov000_02060c28Ev kind:function(arm,size=0xc) addr:0x02060c28
func_ov000_02060c34 kind:function(arm,size=0x1c) addr:0x02060c34
func_ov000_02060c50 kind:function(arm,size=0x2c) addr:0x02060c50
func_ov000_02060c7c kind:function(arm,size=0x100) addr:0x02060c7c
func_ov000_02060d7c kind:function(arm,size=0x3c) addr:0x02060d7c
func_ov000_02060db8 kind:function(arm,size=0x84) addr:0x02060db8
func_ov000_02060e3c kind:function(arm,size=0x88) addr:0x02060e3c
_ZN25UnkStruct_020d8698_2C_14CC1Ev kind:function(arm,size=0x1c) addr:0x02060c34
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060c50EPKwP25UnkStruct_020d8698_2C_198iP34UnkStruct_ov019_020d24c8_28_258_00 kind:function(arm,size=0x2c) addr:0x02060c50
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060c7cEi kind:function(arm,size=0x100) addr:0x02060c7c
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060d7cEit kind:function(arm,size=0x3c) addr:0x02060d7c
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060db8Et kind:function(arm,size=0x84) addr:0x02060db8
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060e3cEiPKcPw kind:function(arm,size=0x88) addr:0x02060e3c
func_ov000_02060ec4 kind:function(arm,size=0x20) addr:0x02060ec4
_ZN23TitleScreenManager_BaseC2Ev kind:function(arm,size=0x30) addr:0x02060ee4
_ZN23TitleScreenManager_BaseD1Ev kind:function(arm,size=0x38) addr:0x02060f14
@@ -505,33 +505,33 @@ _ZN23GameModeManagerBase_1048vfunc_0CEi kind:function(arm,size=0x4) addr:0x02061
_ZN23GameModeManagerBase_1048vfunc_10EPc kind:function(arm,size=0x4) addr:0x02061cd4
_ZN23GameModeManagerBase_1048vfunc_14EPc kind:function(arm,size=0x4) addr:0x02061cd8
_ZN23GameModeManagerBase_1048vfunc_18Ev kind:function(arm,size=0x4) addr:0x02061cdc
func_ov000_02061ce0 kind:function(arm,size=0x58) addr:0x02061ce0
func_ov000_02061d38 kind:function(arm,size=0x50) addr:0x02061d38
func_ov000_02061d88 kind:function(arm,size=0x20) addr:0x02061d88
func_ov000_02061da8 kind:function(arm,size=0x10) addr:0x02061da8
func_ov000_02061db8 kind:function(arm,size=0x24) addr:0x02061db8
func_ov000_02061ddc kind:function(arm,size=0x2c) addr:0x02061ddc
func_ov000_02061e08 kind:function(arm,size=0xb0) addr:0x02061e08
func_ov000_02061eb8 kind:function(arm,size=0x48) addr:0x02061eb8
func_ov000_02061f00 kind:function(arm,size=0x30) addr:0x02061f00
func_ov000_02061f30 kind:function(arm,size=0x30) addr:0x02061f30
_ZN25UnkSystem2_UnkSubSystem11D1Ev kind:function(arm,size=0x2c) addr:0x02061f60
func_ov000_02061f8c kind:function(arm,size=0x1b8) addr:0x02061f8c
func_ov000_02062144 kind:function(arm,size=0x28) addr:0x02062144
func_ov000_0206216c kind:function(arm,size=0xbc) addr:0x0206216c
func_ov000_02062228 kind:function(arm,size=0xf8) addr:0x02062228
func_ov000_02062320 kind:function(arm,size=0x3c) addr:0x02062320
func_ov000_0206235c kind:function(arm,size=0x24) addr:0x0206235c
func_ov000_02062380 kind:function(arm,size=0x34) addr:0x02062380
func_ov000_020623b4 kind:function(arm,size=0x24) addr:0x020623b4
_ZN30UnkSystem2_UnkSubSystem11_BaseC2Ev kind:function(arm,size=0x58) addr:0x02061ce0
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061d38Ev kind:function(arm,size=0x50) addr:0x02061d38
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061d88Ev kind:function(arm,size=0x20) addr:0x02061d88
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061da8Ev kind:function(arm,size=0x10) addr:0x02061da8
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061db8Ev kind:function(arm,size=0x24) addr:0x02061db8
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_04Ev kind:function(arm,size=0x2c) addr:0x02061ddc
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x02061e08
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_0CEv kind:function(arm,size=0x48) addr:0x02061eb8
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_00Ev kind:function(arm,size=0x30) addr:0x02061f00
_ZN34UnkSystem2_UnkSubSystem11_Derived1C2Ev kind:function(arm,size=0x30) addr:0x02061f30
_ZN34UnkSystem2_UnkSubSystem11_Derived1D2Ev kind:function(arm,size=0x2c) addr:0x02061f60
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02061f8cEv kind:function(arm,size=0x1b8) addr:0x02061f8c
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062144Ev kind:function(arm,size=0x28) addr:0x02062144
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_0206216cEP5Vec2sii kind:function(arm,size=0xbc) addr:0x0206216c
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062228Ev kind:function(arm,size=0xf8) addr:0x02062228
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_00Ev kind:function(arm,size=0x3c) addr:0x02062320
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_04Ev kind:function(arm,size=0x24) addr:0x0206235c
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_08Ev kind:function(arm,size=0x34) addr:0x02062380
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_0CEv kind:function(arm,size=0x24) addr:0x020623b4
func_ov000_020623d8 kind:function(arm,size=0x30) addr:0x020623d8
func_ov000_02062408 kind:function(arm,size=0x30) addr:0x02062408
func_ov000_02062438 kind:function(arm,size=0x100) addr:0x02062438
func_ov000_02062538 kind:function(arm,size=0x8c) addr:0x02062538
func_ov000_020625c4 kind:function(arm,size=0x120) addr:0x020625c4
func_ov000_020626e4 kind:function(arm,size=0x124) addr:0x020626e4
_ZN34UnkSystem2_UnkSubSystem11_Derived219func_ov000_020626e4EPvbPiiiii kind:function(arm,size=0x124) addr:0x020626e4
func_ov000_02062808 kind:function(arm,size=0x30) addr:0x02062808
func_ov000_02062838 kind:function(arm,size=0x8c) addr:0x02062838
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062838EPv kind:function(arm,size=0x8c) addr:0x02062838
_ZN17struct_aStack_2d8C1Ev kind:function(arm,size=0x20) addr:0x020628c4
_ZN17struct_aStack_2d819func_ov000_020628e4Eiiiiiiiii kind:function(arm,size=0xcc) addr:0x020628e4
func_ov000_020629b0 kind:function(arm,size=0x8c) addr:0x020629b0
@@ -637,15 +637,15 @@ func_ov000_020655c4 kind:function(arm,size=0x9c) addr:0x020655c4
func_ov000_02065660 kind:function(arm,size=0xb4) addr:0x02065660
func_ov000_02065714 kind:function(arm,size=0xb4) addr:0x02065714
func_ov000_020657c8 kind:function(arm,size=0x34) addr:0x020657c8
func_ov000_020657fc kind:function(arm,size=0x88) addr:0x020657fc
func_ov000_02065884 kind:function(arm,size=0x88) addr:0x02065884
func_ov000_0206590c kind:function(arm,size=0x24) addr:0x0206590c
func_ov000_02065930 kind:function(arm,size=0x58) addr:0x02065930
func_ov000_02065988 kind:function(arm,size=0x48) addr:0x02065988
func_ov000_020659d0 kind:function(arm,size=0x148) addr:0x020659d0
func_ov000_02065b18 kind:function(arm,size=0x30) addr:0x02065b18
func_ov000_02065b48 kind:function(arm,size=0x44) addr:0x02065b48
func_ov000_02065b8c kind:function(arm,size=0x94) addr:0x02065b8c
_ZN29UnkStruct_020d8698_24_5C_BaseC2EiPKtti kind:function(arm,size=0x88) addr:0x020657fc
_ZN29UnkStruct_020d8698_24_5C_BaseC1EiPKtti kind:function(arm,size=0x88) addr:0x02065884
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_0206590cEti kind:function(arm,size=0x24) addr:0x0206590c
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_02065930Ev kind:function(arm,size=0x58) addr:0x02065930
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_02065988EtPKt kind:function(arm,size=0x48) addr:0x02065988
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_020659d0EPcP14UnkDataStruct1 kind:function(arm,size=0x148) addr:0x020659d0
_ZN24UnkStruct_020d8698_24_5CC1EiPKtti kind:function(arm,size=0x30) addr:0x02065b18
_ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b48Eii kind:function(arm,size=0x44) addr:0x02065b48
_ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b8cEv kind:function(arm,size=0x94) addr:0x02065b8c
func_ov000_02065c20 kind:function(arm,size=0x4c) addr:0x02065c20
func_ov000_02065c6c kind:function(arm,size=0x4c) addr:0x02065c6c
func_ov000_02065cb8 kind:function(arm,size=0x48) addr:0x02065cb8
@@ -717,8 +717,8 @@ func_ov000_020677b0 kind:function(arm,size=0x54) addr:0x020677b0
func_ov000_02067804 kind:function(arm,size=0xdc) addr:0x02067804
func_ov000_020678e0 kind:function(arm,size=0x90) addr:0x020678e0
func_ov000_02067970 kind:function(arm,size=0xbc) addr:0x02067970
func_ov000_02067a2c kind:function(arm,size=0x34) addr:0x02067a2c
_ZN17struct_aStack_2e0C1EP24UnkStruct_ov000_020b504ci kind:function(arm,size=0x44) addr:0x02067a60
_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067a2cEj kind:function(arm,size=0x34) addr:0x02067a2c
_ZN17UnkMsgDataStruct119func_ov000_02067a60EPvi kind:function(arm,size=0x44) addr:0x02067a60
func_ov000_02067aa4 kind:function(arm,size=0x7c) addr:0x02067aa4
_ZN24UnkStruct_ov000_020b504c19func_ov000_02067b20Ev kind:function(arm,size=0x40) addr:0x02067b20
_ZN24UnkStruct_ov000_020b504c19func_ov000_02067b60Ev kind:function(arm,size=0x54) addr:0x02067b60
@@ -757,7 +757,7 @@ _ZN17struct_aStack_2d819func_ov000_0206869cEv kind:function(arm,size=0x8) addr:0
_ZN17struct_aStack_2d819func_ov000_020686a4Ei kind:function(arm,size=0x34) addr:0x020686a4
func_ov000_020686d8 kind:function(arm,size=0xb4) addr:0x020686d8
_ZN17struct_aStack_2d819func_ov000_0206878cEv kind:function(arm,size=0xc) addr:0x0206878c
func_ov000_02068798 kind:function(arm,size=0x1c) addr:0x02068798
_ZN32UnkSystem2_UnkSubSystem5_Base_1019func_ov000_02068798EP5Vec2s kind:function(arm,size=0x1c) addr:0x02068798
func_ov000_020687b4 kind:function(arm,size=0x48) addr:0x020687b4
func_ov000_020687fc kind:function(arm,size=0x6c) addr:0x020687fc
func_ov000_02068868 kind:function(arm,size=0xb4) addr:0x02068868
@@ -773,7 +773,7 @@ func_ov000_02068d50 kind:function(arm,size=0x29c) addr:0x02068d50
_ZN17struct_aStack_2d819func_ov000_02068fecEv kind:function(arm,size=0x1c8) addr:0x02068fec
func_ov000_020691b4 kind:function(arm,size=0x24) addr:0x020691b4
func_ov000_020691d8 kind:function(arm,size=0x8) addr:0x020691d8
func_ov000_020691e0 kind:function(arm,size=0x3f4) addr:0x020691e0
_ZN32UnkSystem2_UnkSubSystem5_Base_1019func_ov000_020691e0EPv kind:function(arm,size=0x3f4) addr:0x020691e0
func_ov000_020695d4 kind:function(arm,size=0x80) addr:0x020695d4
func_ov000_02069654 kind:function(arm,size=0x50) addr:0x02069654
func_ov000_020696a4 kind:function(arm,size=0x4) addr:0x020696a4
@@ -3459,7 +3459,7 @@ data_ov000_020b1e30 kind:data(any) addr:0x020b1e30
_ZTV26GameModeManagerBase_104_0C kind:data(any) addr:0x020b1e40
_ZTV23GameModeManagerBase_104 kind:data(any) addr:0x020b1e58
data_ov000_020b1e84 kind:data(any) addr:0x020b1e7c
data_ov000_020b1e9c kind:data(any) addr:0x020b1e9c
_ZTV34UnkSystem2_UnkSubSystem11_Derived1 kind:data(any) addr:0x020b1e94
data_ov000_020b1eb4 kind:data(any) addr:0x020b1eb4
_ZTV19data_ov000_020b1ec4 kind:data(any) addr:0x020b1ec4
_ZTV19data_ov000_020b1edc kind:data(any) addr:0x020b1edc
+1 -1
View File
@@ -22,7 +22,7 @@ _ZN17FileSelectManager8vfunc_24Ev kind:function(arm,size=0x40) addr:0x020c4ff8
_ZN17FileSelectManager19func_ov019_020c5038Ev kind:function(arm,size=0x4) addr:0x020c5038
_ZN17FileSelectManager19func_ov019_020c503cEv kind:function(arm,size=0x12c) addr:0x020c503c
_ZN17FileSelectManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c5168
_ZN17FileSelectManager8vfunc_2CEPc kind:function(arm,size=0x20) addr:0x020c5188
_ZN17FileSelectManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c5188
_ZN17FileSelectManager19func_ov019_020c51a8Ev kind:function(arm,size=0x44) addr:0x020c51a8
_ZN23UnkStruct_0204a088_BaseD2Ev kind:function(arm,size=0x14) addr:0x020c51ec
_ZN25UnkSystem1_ov019_Derived1C1Ev kind:function(arm,size=0x3c) addr:0x020c5200
@@ -95,16 +95,27 @@ src/024_MainGame/Game/AdventureModeManager_15C_20_00_024.cpp:
.data start:0x020d7f50 end:0x020d7f74
src/024_MainGame/UnkAdventureModeSystem1_024.cpp:
complete
.text start:0x020caa58 end:0x020cada0
.data start:0x020d7f74 end:0x020d7f80
src/024_MainGame/UnkStruct_ov024_020d8694_024.cpp:
.text start:0x020cada0 end:0x020cb1f0
.rodata start:0x020d7328 end:0x020d73d8
.data start:0x020d7f80 end:0x020d7fa4
.bss start:0x020d8694 end:0x020d8698
src/024_MainGame/UnkTitleCardSystem1_024.cpp:
complete
.text start:0x020cb1f0 end:0x020ccd1c
.data start:0x020d7fa4 end:0x020d8064
src/024_MainGame/UnkStruct_020d8698_024.cpp:
complete
.text start:0x020ccd1c end:0x020cf968
.rodata start:0x020d73d8 end:0x020d7454
.data start:0x020d8064 end:0x020d8094
.bss start:0x020d8698 end:0x020d869c
src/024_MainGame/UnkStruct_027e0cf8_00_0C_024.cpp:
.text start:0x020cf968 end:0x020d05ec
+6 -6
View File
@@ -1265,7 +1265,7 @@ from:0x020cae84 kind:arm_call to:0x020cb274 module:overlay(24)
from:0x020cae94 kind:arm_call to:0x020cb274 module:overlay(24)
from:0x020caea4 kind:arm_call to:0x020cb274 module:overlay(24)
from:0x020caeb0 kind:load to:0x020d7f80 add:0x8 module:overlay(24)
from:0x020caeb4 kind:load to:0x020443a8 module:main
from:0x020caeb4 kind:load to:0x020443a0 add:0x8 module:main
from:0x020caedc kind:arm_call to:0x02061f60 module:overlay(0)
from:0x020caee4 kind:arm_call to:0x02011ff4 module:main
from:0x020caf04 kind:arm_call to:0x020cb280 module:overlay(24)
@@ -1310,7 +1310,7 @@ from:0x020cb1ec kind:load to:0x020d8694 module:overlay(24)
from:0x020cb250 kind:arm_call to:0x0201e6d0 module:main
from:0x020cb258 kind:arm_call to:0x0201e6d0 module:main
from:0x020cb260 kind:arm_call to:0x0201e6d0 module:main
from:0x020cb270 kind:load to:0x020d7fd0 module:overlay(24)
from:0x020cb270 kind:load to:0x020d7fc8 add:0x8 module:overlay(24)
from:0x020cb2a8 kind:arm_call to:0x02067f88 module:overlay(0)
from:0x020cb2c8 kind:arm_call to:0x02067f5c module:overlay(0)
from:0x020cb2e4 kind:arm_call to:0x02067a2c module:overlay(0)
@@ -1352,7 +1352,7 @@ from:0x020cb86c kind:arm_call to:0x0201e8d4 module:main
from:0x020cb8a0 kind:arm_call to:0x0206216c module:overlay(0)
from:0x020cb8ac kind:load to:0x0204af1c module:main
from:0x020cb8d4 kind:arm_call to:0x020cb1f0 module:overlay(24)
from:0x020cb900 kind:load to:0x020d8044 module:overlay(24)
from:0x020cb900 kind:load to:0x020d803c add:0x8 module:overlay(24)
from:0x020cb940 kind:arm_call to:0x020cb284 module:overlay(24)
from:0x020cb974 kind:arm_call to:0x0201e874 module:main
from:0x020cb9c0 kind:arm_call to:0x0201e874 module:main
@@ -1409,7 +1409,7 @@ from:0x020cc138 kind:load to:0x0204a088 module:main
from:0x020cc13c kind:load to:0x027e0994 module:dtcm
from:0x020cc15c kind:arm_call to:0x020cb8cc module:overlay(24)
from:0x020cc16c kind:arm_call to:0x0201ef9c module:main
from:0x020cc180 kind:load to:0x020d7ff4 module:overlay(24)
from:0x020cc180 kind:load to:0x020d7fec add:0x8 module:overlay(24)
from:0x020cc1c0 kind:arm_call to:0x020cb904 module:overlay(24)
from:0x020cc1d4 kind:arm_call to:0x0201effc module:main
from:0x020cc208 kind:arm_call to:0x0201f04c module:main
@@ -1425,7 +1425,7 @@ from:0x020cc448 kind:arm_call to:0x020cbf98 module:overlay(24)
from:0x020cc454 kind:load to:0x0204a110 add:0xd9c module:main
from:0x020cc460 kind:arm_call to:0x020cb8cc module:overlay(24)
from:0x020cc470 kind:arm_call to:0x0201eb4c module:main
from:0x020cc47c kind:load to:0x020d801c module:overlay(24)
from:0x020cc47c kind:load to:0x020d8014 add:0x8 module:overlay(24)
from:0x020cc488 kind:arm_call to:0x020cb904 module:overlay(24)
from:0x020cc4a4 kind:arm_call to:0x0201ebf8 module:main
from:0x020cc508 kind:arm_call to:0x020cc088 module:overlay(24)
@@ -1439,7 +1439,7 @@ from:0x020cc738 kind:load to:0x027e0120 module:dtcm
from:0x020cc744 kind:arm_call to:0x020cb8b0 module:overlay(24)
from:0x020cc754 kind:arm_call to:0x0201ec30 module:main
from:0x020cc774 kind:arm_call to:0x020cb1f0 module:overlay(24)
from:0x020cc788 kind:load to:0x020d7fac module:overlay(24)
from:0x020cc788 kind:load to:0x020d7fa4 add:0x8 module:overlay(24)
from:0x020ccb08 kind:load to:0x020d8694 module:overlay(24)
from:0x020ccb0c kind:load to:0x020cb178 module:overlay(24)
from:0x020ccb2c kind:arm_call to:0x020cb284 module:overlay(24)
+112 -112
View File
@@ -68,7 +68,7 @@ _ZN20AdventureModeManager19func_ov024_020c5f70Ev kind:function(arm,size=0x184) a
_ZN20AdventureModeManager19func_ov024_020c60f4Ev kind:function(arm,size=0x148) addr:0x020c60f4
_ZN20AdventureModeManager19func_ov024_020c623cEv kind:function(arm,size=0x8c) addr:0x020c623c
_ZN20AdventureModeManager8vfunc_28EPc kind:function(arm,size=0x60) addr:0x020c62c8
_ZN20AdventureModeManager8vfunc_2CEPc kind:function(arm,size=0x138) addr:0x020c6328
_ZN20AdventureModeManager6DrawUIEPc kind:function(arm,size=0x138) addr:0x020c6328
_ZN20AdventureModeManager8vfunc_34Eii kind:function(arm,size=0xa0) addr:0x020c6460
_ZN20AdventureModeManager8vfunc_38Ejhss kind:function(arm,size=0x14) addr:0x020c6500
_ZN20AdventureModeManager19func_ov024_020c6514Ejhss kind:function(arm,size=0x160) addr:0x020c6514
@@ -85,7 +85,7 @@ _ZN20AdventureModeManager19func_ov024_020c6940Eii kind:function(arm,size=0x5c) a
_ZN20AdventureModeManager19func_ov024_020c699cEv kind:function(arm,size=0x34) addr:0x020c699c
_ZN20AdventureModeManager19func_ov024_020c69d0Ev kind:function(arm,size=0x50) addr:0x020c69d0
_ZN20AdventureModeManager19func_ov024_020c6a20Ev kind:function(arm,size=0x28) addr:0x020c6a20
_ZN20AdventureModeManager19func_ov024_020c6a48Eii kind:function(arm,size=0xac) addr:0x020c6a48
_ZN20AdventureModeManager19func_ov024_020c6a48Eib kind:function(arm,size=0xac) addr:0x020c6a48
_ZN20AdventureModeManager19func_ov024_020c6af4Ei kind:function(arm,size=0x98) addr:0x020c6af4
_ZN20AdventureModeManager19func_ov024_020c6b8cEv kind:function(arm,size=0xd4) addr:0x020c6b8c
_ZN20AdventureModeManager19func_ov024_020c6c60Ev kind:function(arm,size=0x74) addr:0x020c6c60
@@ -275,137 +275,137 @@ _ZN30AdventureModeManager_15C_20_0019func_ov024_020ca658Ev kind:function(arm,siz
_ZN30AdventureModeManager_15C_20_008vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x2d0) addr:0x020ca6a8
_ZN30AdventureModeManager_15C_20_00D1Ev kind:function(arm,size=0x6c) addr:0x020ca978
_ZN30AdventureModeManager_15C_20_00D0Ev kind:function(arm,size=0x74) addr:0x020ca9e4
_ZN23UnkAdventureModeSystem1C2EPsPsi kind:function(arm,size=0xa4) addr:0x020caa58
_ZN23UnkAdventureModeSystem1C2Ei kind:function(arm,size=0x5c) addr:0x020caafc
_ZN23UnkAdventureModeSystem119func_ov024_020cab58Ev kind:function(arm,size=0x4c) addr:0x020cab58
_ZN23UnkAdventureModeSystem119func_ov024_020caba4Ev kind:function(arm,size=0x1d8) addr:0x020caba4
_ZN23UnkAdventureModeSystem119func_ov024_020cad7cEv kind:function(arm,size=0x24) addr:0x020cad7c
_ZN23UnkAdventureModeSystem1C2EP5Vec2sS1_b kind:function(arm,size=0xa4) addr:0x020caa58
_ZN23UnkAdventureModeSystem1C2Eb kind:function(arm,size=0x5c) addr:0x020caafc
_ZN23UnkAdventureModeSystem119func_ov024_020cab58EP5Vec2sS1_ kind:function(arm,size=0x4c) addr:0x020cab58
_ZN23UnkAdventureModeSystem119func_ov024_020caba4Ei kind:function(arm,size=0x1d8) addr:0x020caba4
_ZN23UnkAdventureModeSystem119func_ov024_020cad7cEi kind:function(arm,size=0x24) addr:0x020cad7c
_ZN24UnkStruct_ov024_020d86946CreateEP23GameModeManagerBase_004 kind:function(arm,size=0x2c) addr:0x020cada0
_ZN24UnkStruct_ov024_020d8694C1Ev kind:function(arm,size=0xec) addr:0x020cadcc
_ZN24UnkStruct_ov024_020d8694C1EP23GameModeManagerBase_004 kind:function(arm,size=0xec) addr:0x020cadcc
_ZN24UnkStruct_ov024_020d8694D1Ev kind:function(arm,size=0x7c) addr:0x020caeb8
_ZN24UnkStruct_ov024_020d8694D0Ev kind:function(arm,size=0x84) addr:0x020caf34
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafb8Ev kind:function(arm,size=0x20) addr:0x020cafb8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafd8Ev kind:function(arm,size=0x28) addr:0x020cafd8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb000Ev kind:function(arm,size=0x20) addr:0x020cb000
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb020Ev kind:function(arm,size=0x20) addr:0x020cb020
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafb8Ei kind:function(arm,size=0x20) addr:0x020cafb8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafd8Ei kind:function(arm,size=0x28) addr:0x020cafd8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb000Ei kind:function(arm,size=0x20) addr:0x020cb000
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb020Ei kind:function(arm,size=0x20) addr:0x020cb020
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb040Ev kind:function(arm,size=0x14) addr:0x020cb040
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb054Ev kind:function(arm,size=0x58) addr:0x020cb054
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb0acEv kind:function(arm,size=0x18) addr:0x020cb0ac
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb054EiP5Vec2sS1_ kind:function(arm,size=0x58) addr:0x020cb054
_ZN24UnkStruct_ov024_020d869412GetMessageIDEi kind:function(arm,size=0x18) addr:0x020cb0ac
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb0c4Ev kind:function(arm,size=0x30) addr:0x020cb0c4
_ZN24UnkStruct_ov024_020d86948vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x3c) addr:0x020cb0f4
_ZN24UnkStruct_ov024_020d86948vfunc_10EPc kind:function(arm,size=0x48) addr:0x020cb130
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb178Ev kind:function(arm,size=0x1c) addr:0x020cb178
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb194Ev kind:function(arm,size=0x38) addr:0x020cb194
func_ov024_020cb1cc kind:function(arm,size=0x10) addr:0x020cb1cc
func_ov024_020cb1dc kind:function(arm,size=0x14) addr:0x020cb1dc
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb178Ei kind:function(arm,size=0x1c) addr:0x020cb178
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb194Es kind:function(arm,size=0x38) addr:0x020cb194
_ZN8InstanceI24UnkStruct_ov024_020d8694EC2Ev kind:function(arm,size=0x10) addr:0x020cb1cc
_ZN8InstanceI24UnkStruct_ov024_020d8694ED2Ev kind:function(arm,size=0x14) addr:0x020cb1dc
_ZN19UnkTitleCardSystem1C2EP23GameModeManagerBase_004 kind:function(arm,size=0x84) addr:0x020cb1f0
func_ov024_020cb274 kind:function(arm,size=0xc) addr:0x020cb274
func_ov024_020cb280 kind:function(arm,size=0x4) addr:0x020cb280
func_ov024_020cb284 kind:function(arm,size=0x20c) addr:0x020cb284
func_ov024_020cb490 kind:function(arm,size=0x11c) addr:0x020cb490
_ZN19UnkTitleCardSystem119func_ov024_020cb274EP34UnkSystem2_UnkSubSystem11_Derived2P32UnkSystem2_UnkSubSystem5_Base_10 kind:function(arm,size=0xc) addr:0x020cb274
_ZN19UnkTitleCardSystem119func_ov024_020cb280Ev kind:function(arm,size=0x4) addr:0x020cb280
_ZN19UnkTitleCardSystem119func_ov024_020cb284Eii kind:function(arm,size=0x20c) addr:0x020cb284
_ZN19UnkTitleCardSystem119func_ov024_020cb490EP14UnkDataStruct2Pi kind:function(arm,size=0x11c) addr:0x020cb490
_ZN19UnkTitleCardSystem18vfunc_08Ev kind:function(arm,size=0x8) addr:0x020cb5ac
_ZN19UnkTitleCardSystem18vfunc_0CEv kind:function(arm,size=0x4) addr:0x020cb5b4
_ZN19UnkTitleCardSystem18vfunc_10Ev kind:function(arm,size=0x4) addr:0x020cb5b8
func_ov024_020cb5bc kind:function(arm,size=0x3c) addr:0x020cb5bc
_ZN19UnkTitleCardSystem119func_ov024_020cb5bcEv kind:function(arm,size=0x3c) addr:0x020cb5bc
_ZN19UnkTitleCardSystem18vfunc_00Ev kind:function(arm,size=0x4) addr:0x020cb5f8
_ZN19UnkTitleCardSystem18vfunc_04Ev kind:function(arm,size=0x58) addr:0x020cb5fc
func_ov024_020cb654 kind:function(arm,size=0x25c) addr:0x020cb654
_ZN19UnkTitleCardSystem18vfunc_04EPc kind:function(arm,size=0x58) addr:0x020cb5fc
_ZN19UnkTitleCardSystem119func_ov024_020cb654EPcP14UnkDataStruct1 kind:function(arm,size=0x25c) addr:0x020cb654
_ZN19UnkTitleCardSystem18vfunc_14Ev kind:function(arm,size=0x14) addr:0x020cb8b0
_ZN19UnkTitleCardSystem18vfunc_18Ev kind:function(arm,size=0x8) addr:0x020cb8c4
_ZN28UnkTitleCardSystem1_Derived1C2EP23GameModeManagerBase_004 kind:function(arm,size=0x38) addr:0x020cb8cc
_ZN28UnkTitleCardSystem1_Derived18vfunc_1CEv kind:function(arm,size=0x114) addr:0x020cb904
_ZN28UnkTitleCardSystem1_Derived18vfunc_1CEjib kind:function(arm,size=0x114) addr:0x020cb904
_ZN28UnkTitleCardSystem1_Derived18vfunc_08Ev kind:function(arm,size=0x80) addr:0x020cba18
_ZN28UnkTitleCardSystem1_Derived18vfunc_0CEv kind:function(arm,size=0x338) addr:0x020cba98
_ZN28UnkTitleCardSystem1_Derived18vfunc_10Ev kind:function(arm,size=0xc4) addr:0x020cbdd0
func_ov024_020cbe94 kind:function(arm,size=0x24) addr:0x020cbe94
func_ov024_020cbeb8 kind:function(arm,size=0xbc) addr:0x020cbeb8
func_ov024_020cbf74 kind:function(arm,size=0x24) addr:0x020cbf74
func_ov024_020cbf98 kind:function(arm,size=0xc4) addr:0x020cbf98
func_ov024_020cc05c kind:function(arm,size=0x2c) addr:0x020cc05c
func_ov024_020cc088 kind:function(arm,size=0x2c) addr:0x020cc088
func_ov024_020cc0b4 kind:function(arm,size=0x8c) addr:0x020cc0b4
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbe94Ei kind:function(arm,size=0x24) addr:0x020cbe94
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbeb8Ev kind:function(arm,size=0xbc) addr:0x020cbeb8
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbf74Ei kind:function(arm,size=0x24) addr:0x020cbf74
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbf98Ev kind:function(arm,size=0xc4) addr:0x020cbf98
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc05cEj kind:function(arm,size=0x2c) addr:0x020cc05c
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc088Eb kind:function(arm,size=0x2c) addr:0x020cc088
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc0b4Ev kind:function(arm,size=0x8c) addr:0x020cc0b4
_ZN28UnkTitleCardSystem1_Derived18vfunc_18Ev kind:function(arm,size=0x14) addr:0x020cc140
_ZN28UnkStruct_ov024_020d8694_01CC1EP23GameModeManagerBase_004 kind:function(arm,size=0x30) addr:0x020cc154
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_1CEv kind:function(arm,size=0xa8) addr:0x020cc184
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_1CEjib kind:function(arm,size=0xa8) addr:0x020cc184
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_00Ev kind:function(arm,size=0x22c) addr:0x020cc22c
_ZN28UnkStruct_ov024_020d8694_188C1EP23GameModeManagerBase_004 kind:function(arm,size=0x28) addr:0x020cc458
_ZN28UnkStruct_ov024_020d8694_1888vfunc_1CEv kind:function(arm,size=0x54) addr:0x020cc480
_ZN28UnkStruct_ov024_020d8694_1888vfunc_1CEjib kind:function(arm,size=0x54) addr:0x020cc480
_ZN28UnkStruct_ov024_020d8694_1888vfunc_00Ev kind:function(arm,size=0x1e0) addr:0x020cc4d4
_ZN28UnkStruct_ov024_020d8694_1888vfunc_04Ev kind:function(arm,size=0x88) addr:0x020cc6b4
_ZN28UnkStruct_ov024_020d8694_1888vfunc_04EPc kind:function(arm,size=0x88) addr:0x020cc6b4
_ZN28UnkStruct_ov024_020d8694_1888vfunc_14Ev kind:function(arm,size=0x30) addr:0x020cc73c
_ZN28UnkStruct_ov024_020d8694_2FCC1EP23GameModeManagerBase_004 kind:function(arm,size=0x20) addr:0x020cc76c
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_00Ev kind:function(arm,size=0x364) addr:0x020cc78c
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_10Ev kind:function(arm,size=0x20) addr:0x020ccaf0
func_ov024_020ccb10 kind:function(arm,size=0x17c) addr:0x020ccb10
_ZN28UnkStruct_ov024_020d8694_2FC19func_ov024_020ccb10EiP5Vec2sS1_ kind:function(arm,size=0x17c) addr:0x020ccb10
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_08Ev kind:function(arm,size=0x8) addr:0x020ccc8c
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_0CEv kind:function(arm,size=0x88) addr:0x020ccc94
func_ov024_020ccd1c kind:function(arm,size=0x24) addr:0x020ccd1c
func_ov024_020ccd40 kind:function(arm,size=0x19c) addr:0x020ccd40
func_ov024_020ccedc kind:function(arm,size=0xd8) addr:0x020ccedc
_ZN19func_ov024_020ccfb4D0Ev kind:function(arm,size=0xe0) addr:0x020ccfb4
_ZN18UnkStruct_020d86986CreateEv kind:function(arm,size=0x24) addr:0x020ccd1c
_ZN18UnkStruct_020d8698C1Ev kind:function(arm,size=0x19c) addr:0x020ccd40
_ZN18UnkStruct_020d8698D1Ev kind:function(arm,size=0xd8) addr:0x020ccedc
_ZN18UnkStruct_020d8698D0Ev kind:function(arm,size=0xe0) addr:0x020ccfb4
_ZN18UnkStruct_020d869819func_ov024_020cd094Ev kind:function(arm,size=0xbc) addr:0x020cd094
_ZN18UnkStruct_020d869819func_ov024_020cd150Ev kind:function(arm,size=0x94) addr:0x020cd150
func_ov024_020cd1e4 kind:function(arm,size=0x98) addr:0x020cd1e4
func_ov024_020cd27c kind:function(arm,size=0xcc) addr:0x020cd27c
func_ov024_020cd348 kind:function(arm,size=0x10) addr:0x020cd348
func_ov024_020cd358 kind:function(arm,size=0x10) addr:0x020cd358
_ZN18UnkStruct_020d86988vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x98) addr:0x020cd1e4
_ZN18UnkStruct_020d86988vfunc_10EPc kind:function(arm,size=0xcc) addr:0x020cd27c
_ZN18UnkStruct_020d869819func_ov024_020cd348Ehh kind:function(arm,size=0x10) addr:0x020cd348
_ZN18UnkStruct_020d869819func_ov024_020cd358Eh kind:function(arm,size=0x10) addr:0x020cd358
_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cd368
_ZN18UnkStruct_020d869819func_ov024_020cd3a4Ev kind:function(arm,size=0x2c) addr:0x020cd3a4
_ZN18UnkStruct_020d869819func_ov024_020cd3d0Ev kind:function(arm,size=0x10) addr:0x020cd3d0
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Ei kind:function(arm,size=0x10) addr:0x020cd3e0
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Ei kind:function(arm,size=0x10) addr:0x020cd3f0
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Eb kind:function(arm,size=0x10) addr:0x020cd3e0
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Eb kind:function(arm,size=0x10) addr:0x020cd3f0
_ZN18UnkStruct_020d869819func_ov024_020cd400Ev kind:function(arm,size=0x10) addr:0x020cd400
_ZN18UnkStruct_020d869819func_ov024_020cd410Ev kind:function(arm,size=0x10) addr:0x020cd410
_ZN18UnkStruct_020d869819func_ov024_020cd420Ev kind:function(arm,size=0x38) addr:0x020cd420
_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020cd458
func_ov024_020cd4a4 kind:function(arm,size=0x40) addr:0x020cd4a4
_ZN18UnkStruct_020d869819func_ov024_020cd4e4Et kind:function(arm,size=0xdc) addr:0x020cd4e4
_ZN18UnkStruct_020d869819func_ov024_020cd458Ejb kind:function(arm,size=0x4c) addr:0x020cd458
_ZN18UnkStruct_020d869819func_ov024_020cd4a4Eb kind:function(arm,size=0x40) addr:0x020cd4a4
_ZN18UnkStruct_020d869819func_ov024_020cd4e4Etb kind:function(arm,size=0xdc) addr:0x020cd4e4
_ZN18UnkStruct_020d869819func_ov024_020cd5c0Et kind:function(arm,size=0x44) addr:0x020cd5c0
func_ov024_020cd604 kind:function(arm,size=0x6c) addr:0x020cd604
func_ov024_020cd670 kind:function(arm,size=0xf8) addr:0x020cd670
func_ov024_020cd768 kind:function(arm,size=0xc) addr:0x020cd768
func_ov024_020cd774 kind:function(arm,size=0x27c) addr:0x020cd774
func_ov024_020cd9f0 kind:function(arm,size=0xbc) addr:0x020cd9f0
func_ov024_020cdaac kind:function(arm,size=0x290) addr:0x020cdaac
func_ov024_020cdd3c kind:function(arm,size=0x118) addr:0x020cdd3c
func_ov024_020cde54 kind:function(arm,size=0x74) addr:0x020cde54
func_ov024_020cdec8 kind:function(arm,size=0x110) addr:0x020cdec8
func_ov024_020cdfd8 kind:function(arm,size=0x240) addr:0x020cdfd8
func_ov024_020ce218 kind:function(arm,size=0x48) addr:0x020ce218
func_ov024_020ce260 kind:function(arm,size=0x48) addr:0x020ce260
func_ov024_020ce2a8 kind:function(arm,size=0x24) addr:0x020ce2a8
func_ov024_020ce2cc kind:function(arm,size=0x24c) addr:0x020ce2cc
func_ov024_020ce518 kind:function(arm,size=0x58) addr:0x020ce518
func_ov024_020ce570 kind:function(arm,size=0x5c) addr:0x020ce570
func_ov024_020ce5cc kind:function(arm,size=0x2c0) addr:0x020ce5cc
func_ov024_020ce88c kind:function(arm,size=0x104) addr:0x020ce88c
func_ov024_020ce990 kind:function(arm,size=0x1c) addr:0x020ce990
func_ov024_020ce9ac kind:function(arm,size=0x50) addr:0x020ce9ac
func_ov024_020ce9fc kind:function(arm,size=0x358) addr:0x020ce9fc
func_ov024_020ced54 kind:function(arm,size=0x54) addr:0x020ced54
func_ov024_020ceda8 kind:function(arm,size=0xb0) addr:0x020ceda8
func_ov024_020cee58 kind:function(arm,size=0xc) addr:0x020cee58
func_ov024_020cee64 kind:function(arm,size=0x20) addr:0x020cee64
func_ov024_020cee84 kind:function(arm,size=0xd4) addr:0x020cee84
func_ov024_020cef58 kind:function(arm,size=0x360) addr:0x020cef58
func_ov024_020cf2b8 kind:function(arm,size=0x1dc) addr:0x020cf2b8
func_ov024_020cf494 kind:function(arm,size=0x30) addr:0x020cf494
func_ov024_020cf4c4 kind:function(arm,size=0x50) addr:0x020cf4c4
func_ov024_020cf514 kind:function(arm,size=0x28) addr:0x020cf514
func_ov024_020cf53c kind:function(arm,size=0x34) addr:0x020cf53c
func_ov024_020cf570 kind:function(arm,size=0x14) addr:0x020cf570
func_ov024_020cf584 kind:function(arm,size=0x24) addr:0x020cf584
func_ov024_020cf5a8 kind:function(arm,size=0x38) addr:0x020cf5a8
func_ov024_020cf5e0 kind:function(arm,size=0xb8) addr:0x020cf5e0
func_ov024_020cf698 kind:function(arm,size=0x4c) addr:0x020cf698
func_ov024_020cf6e4 kind:function(arm,size=0x40) addr:0x020cf6e4
func_ov024_020cf724 kind:function(arm,size=0xd0) addr:0x020cf724
func_ov024_020cf7f4 kind:function(arm,size=0x38) addr:0x020cf7f4
func_ov024_020cf82c kind:function(arm,size=0x5c) addr:0x020cf82c
func_ov024_020cf888 kind:function(arm,size=0x4) addr:0x020cf888
func_ov024_020cf88c kind:function(arm,size=0xb8) addr:0x020cf88c
func_ov024_020cf944 kind:function(arm,size=0x10) addr:0x020cf944
func_ov024_020cf954 kind:function(arm,size=0x14) addr:0x020cf954
_ZN18UnkStruct_020d869819func_ov024_020cd604Ev kind:function(arm,size=0x6c) addr:0x020cd604
_ZN21UnkStruct_020d8698_1CC1Ev kind:function(arm,size=0xf8) addr:0x020cd670
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd768Ev kind:function(arm,size=0xc) addr:0x020cd768
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd774Ev kind:function(arm,size=0x27c) addr:0x020cd774
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd9f0Ev kind:function(arm,size=0xbc) addr:0x020cd9f0
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdaacEv kind:function(arm,size=0x290) addr:0x020cdaac
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdd3cEhh kind:function(arm,size=0x118) addr:0x020cdd3c
_ZN21UnkStruct_020d8698_1C19func_ov024_020cde54Eh kind:function(arm,size=0x74) addr:0x020cde54
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdec8Ev kind:function(arm,size=0x110) addr:0x020cdec8
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdfd8Ev kind:function(arm,size=0x240) addr:0x020cdfd8
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce218Ev kind:function(arm,size=0x48) addr:0x020ce218
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce260Ev kind:function(arm,size=0x48) addr:0x020ce260
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce2a8Ev kind:function(arm,size=0x24) addr:0x020ce2a8
_ZN21UnkStruct_020d8698_24C1Ev kind:function(arm,size=0x24c) addr:0x020ce2cc
_ZN21UnkStruct_020d8698_2419func_ov024_020ce518Ev kind:function(arm,size=0x58) addr:0x020ce518
_ZN21UnkStruct_020d8698_2419func_ov024_020ce570Ev kind:function(arm,size=0x5c) addr:0x020ce570
_ZN21UnkStruct_020d8698_2419func_ov024_020ce5ccEv kind:function(arm,size=0x2c0) addr:0x020ce5cc
_ZN21UnkStruct_020d8698_2419func_ov024_020ce88cEPc kind:function(arm,size=0x104) addr:0x020ce88c
_ZN21UnkStruct_020d8698_2419func_ov024_020ce990Ebb kind:function(arm,size=0x1c) addr:0x020ce990
_ZN21UnkStruct_020d8698_2419func_ov024_020ce9acEv kind:function(arm,size=0x50) addr:0x020ce9ac
_ZN21UnkStruct_020d8698_2CC1Ev kind:function(arm,size=0x358) addr:0x020ce9fc
_ZN21UnkStruct_020d8698_2C19func_ov024_020ced54Ev kind:function(arm,size=0x54) addr:0x020ced54
_ZN21UnkStruct_020d8698_2C19func_ov024_020ceda8Ev kind:function(arm,size=0xb0) addr:0x020ceda8
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee58Ev kind:function(arm,size=0xc) addr:0x020cee58
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee64Ev kind:function(arm,size=0x20) addr:0x020cee64
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee84Ev kind:function(arm,size=0xd4) addr:0x020cee84
_ZN21UnkStruct_020d8698_2C19func_ov024_020cef58Ev kind:function(arm,size=0x360) addr:0x020cef58
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf2b8EPc kind:function(arm,size=0x1dc) addr:0x020cf2b8
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf494Eb kind:function(arm,size=0x30) addr:0x020cf494
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf4c4Ev kind:function(arm,size=0x50) addr:0x020cf4c4
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf514Ev kind:function(arm,size=0x28) addr:0x020cf514
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf53cEb kind:function(arm,size=0x34) addr:0x020cf53c
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf570Ev kind:function(arm,size=0x14) addr:0x020cf570
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf584Ev kind:function(arm,size=0x24) addr:0x020cf584
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf5a8Eb kind:function(arm,size=0x38) addr:0x020cf5a8
_ZN21UnkStruct_020d8698_34C1Ev kind:function(arm,size=0xb8) addr:0x020cf5e0
_ZN21UnkStruct_020d8698_3419func_ov024_020cf698Ev kind:function(arm,size=0x4c) addr:0x020cf698
_ZN21UnkStruct_020d8698_3419func_ov024_020cf6e4Ev kind:function(arm,size=0x40) addr:0x020cf6e4
_ZN21UnkStruct_020d8698_3419func_ov024_020cf724Ev kind:function(arm,size=0xd0) addr:0x020cf724
_ZN21UnkStruct_020d8698_3CC1Ev kind:function(arm,size=0x38) addr:0x020cf7f4
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf82cEv kind:function(arm,size=0x5c) addr:0x020cf82c
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf888Ev kind:function(arm,size=0x4) addr:0x020cf888
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf88cEv kind:function(arm,size=0xb8) addr:0x020cf88c
_ZN8InstanceI18UnkStruct_020d8698EC2Ev kind:function(arm,size=0x10) addr:0x020cf944
_ZN8InstanceI18UnkStruct_020d8698ED2Ev kind:function(arm,size=0x14) addr:0x020cf954
_ZN21UnkStruct_027e0cf8_00C1Ev kind:function(arm,size=0x68) addr:0x020cf968
_ZN21UnkStruct_027e0cf8_00D1Ev kind:function(arm,size=0x4) addr:0x020cf9d0
func_ov024_020cf9d4 kind:function(arm,size=0x1a8) addr:0x020cf9d4
@@ -723,14 +723,14 @@ data_ov024_020d7318 kind:data(any) addr:0x020d7318 ambiguous
data_ov024_020d731c kind:data(any) addr:0x020d731c ambiguous
data_ov024_020d7320 kind:data(any) addr:0x020d7320 ambiguous
data_ov024_020d7324 kind:data(any) addr:0x020d7324 ambiguous
data_ov024_020d7328 kind:data(any) addr:0x020d7328
data_ov024_020d73d8 kind:data(any) addr:0x020d73d8
data_ov024_020d73de kind:data(any) addr:0x020d73de
data_ov024_020d73ec kind:data(any) addr:0x020d73ec
data_ov024_020d73fa kind:data(any) addr:0x020d73fa
data_ov024_020d740a kind:data(any) addr:0x020d740a
data_ov024_020d741e kind:data(any) addr:0x020d741e
data_ov024_020d7432 kind:data(any) addr:0x020d7432
sBMGSceneMap kind:data(any) addr:0x020d7328 local
data_ov024_020d73d8 kind:data(any) addr:0x020d73d8 local
data_ov024_020d73de kind:data(any) addr:0x020d73de local
data_ov024_020d73ec kind:data(any) addr:0x020d73ec local
data_ov024_020d73fa kind:data(any) addr:0x020d73fa local
data_ov024_020d740a kind:data(any) addr:0x020d740a local
data_ov024_020d741e kind:data(any) addr:0x020d741e local
data_ov024_020d7432 kind:data(any) addr:0x020d7432 local
data_ov024_020d7454 kind:data(any) addr:0x020d7454
data_ov024_020d7544 kind:data(any) addr:0x020d7544 local
data_ov024_020d7547 kind:data(any) addr:0x020d7547 local
@@ -803,15 +803,15 @@ _ZTV27AdventureModeManager_190_14 kind:data(any) addr:0x020d7ef4
_ZTV24AdventureModeManager_190 kind:data(any) addr:0x020d7f10
data_ov024_020d7f40 kind:data(any) addr:0x020d7f40
_ZTV30AdventureModeManager_15C_20_00 kind:data(any) addr:0x020d7f50
_ZTV19data_ov024_020d7f7c kind:data(any) addr:0x020d7f74
_ZTV19data_ov024_020d7f80 kind:data(any) addr:0x020d7f80
data_ov024_020d7fac kind:data(any) addr:0x020d7fac
data_ov024_020d7fd0 kind:data(any) addr:0x020d7fd0
data_ov024_020d7ff4 kind:data(any) addr:0x020d7ff4
data_ov024_020d801c kind:data(any) addr:0x020d801c
data_ov024_020d8044 kind:data(any) addr:0x020d8044
_ZTV19data_ov024_020d8064 kind:data(any) addr:0x020d8064
data_ov024_020d8088 kind:data(any) addr:0x020d8088
_ZTV23UnkAdventureModeSystem1 kind:data(any) addr:0x020d7f74
_ZTV24UnkStruct_ov024_020d8694 kind:data(any) addr:0x020d7f80
_ZTV28UnkStruct_ov024_020d8694_2FC kind:data(any) addr:0x020d7fa4
_ZTV19UnkTitleCardSystem1 kind:data(any) addr:0x020d7fc8
_ZTV28UnkStruct_ov024_020d8694_01C kind:data(any) addr:0x020d7fec
_ZTV28UnkStruct_ov024_020d8694_188 kind:data(any) addr:0x020d8014
_ZTV28UnkTitleCardSystem1_Derived1 kind:data(any) addr:0x020d803c
_ZTV18UnkStruct_020d8698 kind:data(any) addr:0x020d8064
@4721 kind:data(byte[11]) addr:0x020d8088 local
data_ov024_020d8094 kind:data(any) addr:0x020d8094
data_ov024_020d8098 kind:data(any) addr:0x020d8098
data_ov024_020d809e kind:data(any) addr:0x020d809e
+1 -1
View File
@@ -15,7 +15,7 @@ _ZN18TitleScreenManager8vfunc_14Ev kind:function(arm,size=0x78) addr:0x020c4b10
_ZN18TitleScreenManager8vfunc_18Ev kind:function(arm,size=0x34) addr:0x020c4b88
_ZN18TitleScreenManager8vfunc_24Ev kind:function(arm,size=0x20) addr:0x020c4bbc
_ZN18TitleScreenManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c4bdc
_ZN18TitleScreenManager8vfunc_2CEPc kind:function(arm,size=0x20) addr:0x020c4bfc
_ZN18TitleScreenManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c4bfc
_ZN18TitleScreenManager8vfunc_38Ejhss kind:function(arm,size=0x4) addr:0x020c4c1c
_ZN18TitleScreenManager19func_ov025_020c4c20Ev kind:function(arm,size=0x10) addr:0x020c4c20
_ZN18TitleScreenManager19func_ov025_020c4c30Ev kind:function(arm,size=0x10) addr:0x020c4c30
+8 -8
View File
@@ -1931,14 +1931,14 @@ func_ov031_0210ea58 kind:function(arm,size=0x2c) addr:0x0210ea58
_ZN19func_ov031_0210ea84D0Ev kind:function(arm,size=0x1c) addr:0x0210ea84
_ZN19func_ov031_0210eaa0D1Ev kind:function(arm,size=0x20) addr:0x0210eaa0
_ZN19func_ov031_0210eac0D0Ev kind:function(arm,size=0x28) addr:0x0210eac0
func_ov031_0210eae8 kind:function(thumb,size=0x3cc) addr:0x0210eae8
func_ov031_0210eeb4 kind:function(arm,size=0x200) addr:0x0210eeb4
func_ov031_0210f0b4 kind:function(arm,size=0x580) addr:0x0210f0b4
func_ov031_0210f634 kind:function(arm,size=0x1b0) addr:0x0210f634
func_ov031_0210f7e4 kind:function(arm,size=0x30) addr:0x0210f7e4
func_ov031_0210f814 kind:function(arm,size=0xec) addr:0x0210f814
_ZN19func_ov031_0210f900D1Ev kind:function(arm,size=0x14) addr:0x0210f900
_ZN19func_ov031_0210f914D0Ev kind:function(arm,size=0x1c) addr:0x0210f914
_ZN21UnkStruct_020d8698_44C1Ev kind:function(thumb,size=0x3cc) addr:0x0210eae8
_ZN21UnkStruct_020d8698_4419func_ov031_0210eeb4Ev kind:function(arm,size=0x200) addr:0x0210eeb4
_ZN21UnkStruct_020d8698_448vfunc_08Ev kind:function(arm,size=0x580) addr:0x0210f0b4
_ZN21UnkStruct_020d8698_448vfunc_0CEv kind:function(arm,size=0x1b0) addr:0x0210f634
_ZN21UnkStruct_020d8698_4419func_ov031_0210f7e4Ejb kind:function(arm,size=0x30) addr:0x0210f7e4
_ZN21UnkStruct_020d8698_4419func_ov031_0210f814Ev kind:function(arm,size=0xec) addr:0x0210f814
_ZN21UnkStruct_020d8698_44D1Ev kind:function(arm,size=0x14) addr:0x0210f900
_ZN21UnkStruct_020d8698_44D0Ev kind:function(arm,size=0x1c) addr:0x0210f914
func_ov031_0210f930 kind:function(arm,size=0xac) addr:0x0210f930
func_ov031_0210f9dc kind:function(arm,size=0x4c) addr:0x0210f9dc
_ZN19func_ov031_0210fa28D1Ev kind:function(arm,size=0x14) addr:0x0210fa28
+4 -4
View File
@@ -2925,19 +2925,19 @@ from:0x0201f63c kind:load to:0x0204a110 module:main
from:0x0201f64c kind:arm_call to:0x0201f244 module:main
from:0x0201f65c kind:arm_call to:0x02061f30 module:overlay(0)
from:0x0201f670 kind:load to:0x02044394 add:0x8 module:main
from:0x0201f674 kind:load to:0x020443a8 module:main
from:0x0201f674 kind:load to:0x020443a0 add:0x8 module:main
from:0x0201f684 kind:arm_call to:0x0201f244 module:main
from:0x0201f694 kind:arm_call to:0x02061f30 module:overlay(0)
from:0x0201f6a8 kind:load to:0x02044394 add:0x8 module:main
from:0x0201f6ac kind:load to:0x020443a8 module:main
from:0x0201f6ac kind:load to:0x020443a0 add:0x8 module:main
from:0x0201f6c4 kind:arm_call to:0x0201f288 module:main
from:0x0201f6d4 kind:arm_call to:0x02061f30 module:overlay(0)
from:0x0201f6e8 kind:load to:0x02044394 add:0x8 module:main
from:0x0201f6ec kind:load to:0x020443a8 module:main
from:0x0201f6ec kind:load to:0x020443a0 add:0x8 module:main
from:0x0201f704 kind:arm_call to:0x0201f288 module:main
from:0x0201f714 kind:arm_call to:0x02061f30 module:overlay(0)
from:0x0201f728 kind:load to:0x02044394 add:0x8 module:main
from:0x0201f72c kind:load to:0x020443a8 module:main
from:0x0201f72c kind:load to:0x020443a0 add:0x8 module:main
from:0x0201f748 kind:arm_call to:0x02067a2c module:overlay(0)
from:0x0201f780 kind:arm_call to:0x02019590 module:main
from:0x0201f7f0 kind:arm_call to:0x02015348 module:main
+26 -26
View File
@@ -747,9 +747,9 @@ func_02015244 kind:function(arm,size=0x40) addr:0x02015244
func_02015284 kind:function(arm,size=0x7c) addr:0x02015284
func_02015300 kind:function(arm,size=0x38) addr:0x02015300
func_02015338 kind:function(arm,size=0x10) addr:0x02015338
_ZN18SomeSaveFileStructC1Ei kind:function(arm,size=0x38) addr:0x02015348
_ZN14UnkDataStruct2C1Ei kind:function(arm,size=0x38) addr:0x02015348
func_02015380 kind:function(arm,size=0x24) addr:0x02015380
_ZN18SomeSaveFileStructD1Ev kind:function(arm,size=0x20) addr:0x020153a4
_ZN14UnkDataStruct2D1Ev kind:function(arm,size=0x20) addr:0x020153a4
_ZN17UnkFileSystem2_10D1Ev kind:function(arm,size=0x20) addr:0x020153c4
func_020153e4 kind:function(arm,size=0x18) addr:0x020153e4
func_020153fc kind:function(thumb,size=0x12) addr:0x020153fc
@@ -823,15 +823,15 @@ func_020165b0 kind:function(arm,size=0x50) addr:0x020165b0
func_02016600 kind:function(arm,size=0x20) addr:0x02016600
func_02016620 kind:function(arm,size=0x3c) addr:0x02016620
func_0201665c kind:function(arm,size=0x20) addr:0x0201665c
_ZN20GameModeLinkListNodeC2Ev kind:function(arm,size=0xc) addr:0x0201667c
_ZN20GameModeLinkListNodeC1Ev kind:function(arm,size=0xc) addr:0x02016688
_ZN20GameModeLinkListNodeD2Ev kind:function(arm,size=0x18) addr:0x02016694
_ZN20GameModeLinkListNode13func_020166acEPS_ kind:function(arm,size=0x20) addr:0x020166ac
_ZN20GameModeLinkListNode13func_020166ccEPS_ kind:function(arm,size=0x28) addr:0x020166cc
_ZN20GameModeLinkListNode13func_020166f4EPS_ kind:function(arm,size=0x2c) addr:0x020166f4
func_02016720 kind:function(arm,size=0x1c) addr:0x02016720
_ZN20GameModeLinkListNode13func_0201673cEv kind:function(arm,size=0x28) addr:0x0201673c
func_02016764 kind:function(arm,size=0x34) addr:0x02016764
_ZN12LinkListImplC2Ev kind:function(arm,size=0xc) addr:0x0201667c
_ZN12LinkListImplC1Ev kind:function(arm,size=0xc) addr:0x02016688
_ZN12LinkListImplD2Ev kind:function(arm,size=0x18) addr:0x02016694
_ZN12LinkListImpl6DetachEP12LinkListNode kind:function(arm,size=0x20) addr:0x020166ac
_ZN12LinkListImpl6AppendEP12LinkListNode kind:function(arm,size=0x28) addr:0x020166cc
_ZN12LinkListImpl7PrependEP12LinkListNode kind:function(arm,size=0x2c) addr:0x020166f4
_ZN12LinkListImpl6ExtendEP12LinkListNode kind:function(arm,size=0x1c) addr:0x02016720
_ZN12LinkListImpl13GetListLengthEv kind:function(arm,size=0x28) addr:0x0201673c
_ZN12LinkListImpl8ContainsEP12LinkListNode kind:function(arm,size=0x34) addr:0x02016764
func_02016798 kind:function(arm,size=0x10) addr:0x02016798
func_020167a8 kind:function(arm,size=0x4) addr:0x020167a8
func_020167ac kind:function(arm,size=0x34) addr:0x020167ac
@@ -937,7 +937,7 @@ _ZN19GameModeManagerBase8vfunc_04Ei kind:function(arm,size=0x28) addr:0x0201860c
_ZN19GameModeManagerBase13func_02018634Et kind:function(arm,size=0x48) addr:0x02018634
_ZN19GameModeManagerBase8vfunc_24Ev kind:function(arm,size=0x18) addr:0x0201867c
_ZN19GameModeManagerBase8vfunc_28EPc kind:function(arm,size=0x10) addr:0x02018694
_ZN19GameModeManagerBase8vfunc_2CEPc kind:function(arm,size=0x4) addr:0x020186a4
_ZN19GameModeManagerBase6DrawUIEPc kind:function(arm,size=0x4) addr:0x020186a4
_ZN19GameModeManagerBase8vfunc_30Ei kind:function(arm,size=0x4c) addr:0x020186a8
_ZN19GameModeManagerBase8vfunc_34Eii kind:function(arm,size=0x4) addr:0x020186f4
_ZN19GameModeManagerBase13func_020186f8Ei kind:function(arm,size=0xc) addr:0x020186f8
@@ -952,12 +952,12 @@ _ZN19GameModeManagerBase13func_02018984EPc kind:function(arm,size=0x90) addr:0x0
_ZN19GameModeManagerBase13func_02018a14EPc kind:function(arm,size=0x78) addr:0x02018a14
_ZN19GameModeManagerBase13func_02018a8cEv kind:function(arm,size=0x10) addr:0x02018a8c
_ZN19GameModeManagerBase13func_02018a9cEii kind:function(arm,size=0x10) addr:0x02018a9c
_ZN19GameModeManagerBase13func_02018aacEi kind:function(arm,size=0x18) addr:0x02018aac
_ZN19GameModeManagerBase13func_02018ac4Ev kind:function(arm,size=0x10) addr:0x02018ac4
_ZN19GameModeManagerBase13func_02018aacEib kind:function(arm,size=0x18) addr:0x02018aac
_ZN19GameModeManagerBase13func_02018ac4Es kind:function(arm,size=0x10) addr:0x02018ac4
_ZN19GameModeManagerBase13func_02018ad4Ev kind:function(arm,size=0x1c) addr:0x02018ad4
_ZN19GameModeManagerBase13func_02018af0EP16GameModeLinkListI23GameModeManagerBase_104E kind:function(arm,size=0x64) addr:0x02018af0
_ZN19GameModeManagerBase13func_02018b54EP16GameModeLinkListI23GameModeManagerBase_104E kind:function(arm,size=0x3c) addr:0x02018b54
_ZN19GameModeManagerBase13func_02018b90EP16GameModeLinkListI23GameModeManagerBase_104EPc kind:function(arm,size=0x34) addr:0x02018b90
_ZN19GameModeManagerBase13func_02018af0EP23GameModeManagerBase_104 kind:function(arm,size=0x64) addr:0x02018af0
_ZN19GameModeManagerBase13func_02018b54EP23GameModeManagerBase_104 kind:function(arm,size=0x3c) addr:0x02018b54
_ZN19GameModeManagerBase13func_02018b90EP23GameModeManagerBase_104Pc kind:function(arm,size=0x34) addr:0x02018b90
_ZN19GameModeManagerBase13func_02018bc4Ei kind:function(arm,size=0x1c) addr:0x02018bc4
_ZN18UnkStruct_0204a11013func_02018be0Ei kind:function(arm,size=0x4c) addr:0x02018be0
_ZN18UnkStruct_0204a11013func_02018c2cEv kind:function(arm,size=0x4c) addr:0x02018c2c
@@ -979,7 +979,7 @@ _ZN18UnkStruct_0204a11013func_02019538Eii kind:function(arm,size=0x10) addr:0x02
_ZN18UnkStruct_0204a11013func_02019548Ev kind:function(arm,size=0x10) addr:0x02019548
func_02019558 kind:function(arm,size=0x28) addr:0x02019558
func_02019580 kind:function(arm,size=0x10) addr:0x02019580
func_02019590 kind:function(arm,size=0x10) addr:0x02019590
_ZN18UnkStruct_0204a11013func_02019590Esi kind:function(arm,size=0x10) addr:0x02019590
func_020195a0 kind:function(arm,size=0x84) addr:0x020195a0
func_02019624 kind:function(arm,size=0x2c) addr:0x02019624
func_02019650 kind:function(arm,size=0x2c) addr:0x02019650
@@ -1010,8 +1010,8 @@ func_0201a7b8 kind:function(arm,size=0x48) addr:0x0201a7b8
_ZN18UnkStruct_0204af1c13func_0201a800Ev kind:function(arm,size=0x7c) addr:0x0201a800
func_0201a87c kind:function(arm,size=0xf8) addr:0x0201a87c
func_0201a974 kind:function(arm,size=0xd0) addr:0x0201a974
_ZN18UnkStruct_0204af1c13func_0201aa44EPvS0_iS0_ kind:function(arm,size=0x48) addr:0x0201aa44
func_0201aa8c kind:function(arm,size=0x44) addr:0x0201aa8c
_ZN18UnkStruct_0204af1c13func_0201aa44EP34UnkStruct_ov019_020d24c8_28_258_00PviS2_ kind:function(arm,size=0x48) addr:0x0201aa44
_ZN18UnkStruct_0204af1c13func_0201aa8cEP34UnkStruct_ov019_020d24c8_28_258_00iiii kind:function(arm,size=0x44) addr:0x0201aa8c
_ZN18UnkStruct_0204af1c13func_0201aad0EP14UnkSubStruct19PviS2_ kind:function(arm,size=0x1a0) addr:0x0201aad0
func_0201ac70 kind:function(arm,size=0x13c) addr:0x0201ac70
func_0201adac kind:function(arm,size=0x50) addr:0x0201adac
@@ -1063,9 +1063,9 @@ _ZN23GameModeManagerBase_004D1Ev kind:function(arm,size=0x3c) addr:0x0201bee8
_ZN23GameModeManagerBase_00413func_0201bf24Ev kind:function(arm,size=0x30) addr:0x0201bf24
_ZN23GameModeManagerBase_00413func_0201bf54Ev kind:function(arm,size=0x3c) addr:0x0201bf54
_ZN23GameModeManagerBase_00413func_0201bf90Ev kind:function(arm,size=0x5c) addr:0x0201bf90
_ZN23GameModeManagerBase_00413func_0201bfecEv kind:function(arm,size=0x20) addr:0x0201bfec
_ZN23GameModeManagerBase_00413func_0201bfecEs kind:function(arm,size=0x20) addr:0x0201bfec
_ZN23GameModeManagerBase_00413func_0201c00cEii kind:function(arm,size=0x5c) addr:0x0201c00c
_ZN23GameModeManagerBase_00413func_0201c068Es kind:function(arm,size=0x3c) addr:0x0201c068
_ZN23GameModeManagerBase_00413func_0201c068Esb kind:function(arm,size=0x3c) addr:0x0201c068
func_0201c0a4 kind:function(arm,size=0x20) addr:0x0201c0a4
_ZN23GameModeManagerBase_00413func_0201c0c4Ei kind:function(arm,size=0x20) addr:0x0201c0c4
_ZN23GameModeManagerBase_00413func_0201c0e4Ev kind:function(arm,size=0x40) addr:0x0201c0e4
@@ -1074,7 +1074,7 @@ _ZN23GameModeManagerBase_00413func_0201c19cEv kind:function(arm,size=0x48) addr:
_ZN23GameModeManagerBase_00413func_0201c1e4Ev kind:function(arm,size=0x48) addr:0x0201c1e4
_ZN23GameModeManagerBase_00413func_0201c22cEv kind:function(arm,size=0x40) addr:0x0201c22c
func_0201c26c kind:function(arm,size=0x44) addr:0x0201c26c
func_0201c2b0 kind:function(arm,size=0x30) addr:0x0201c2b0
_ZN23GameModeManagerBase_00413func_0201c2b0Ei kind:function(arm,size=0x30) addr:0x0201c2b0
func_0201c2e0 kind:function(arm,size=0xc4) addr:0x0201c2e0
func_0201c3a4 kind:function(arm,size=0xac) addr:0x0201c3a4
_ZN23UnkStruct_0204a110_Sub5C1Ev kind:function(thumb,size=0x10) addr:0x0201c450
@@ -1097,7 +1097,7 @@ func_0201c99c kind:function(thumb,size=0x20) addr:0x0201c99c
func_0201c9bc kind:function(thumb,size=0x26) addr:0x0201c9bc
func_0201c9e4 kind:function(thumb,size=0x2e) addr:0x0201c9e4
func_0201ca14 kind:function(thumb,size=0x12) addr:0x0201ca14
func_0201ca28 kind:function(thumb,size=0xa) addr:0x0201ca28
_ZN23UnkStruct_0204a110_Sub213func_0201ca28Ei kind:function(thumb,size=0xa) addr:0x0201ca28
func_0201ca34 kind:function(arm,size=0x104) addr:0x0201ca34
func_0201cb38 kind:function(arm,size=0x44) addr:0x0201cb38
func_0201cb7c kind:function(arm,size=0x148) addr:0x0201cb7c
@@ -1142,7 +1142,7 @@ func_0201eb24 kind:function(arm,size=0x14) addr:0x0201eb24
func_0201eb38 kind:function(arm,size=0x14) addr:0x0201eb38
_ZN26UnkStruct_0204a110_Sub7_08C1Ev kind:function(arm,size=0x60) addr:0x0201eb4c
func_0201ebac kind:function(arm,size=0x4c) addr:0x0201ebac
func_0201ebf8 kind:function(arm,size=0x38) addr:0x0201ebf8
_ZN26UnkStruct_0204a110_Sub7_0813func_0201ebf8Eiiii kind:function(arm,size=0x38) addr:0x0201ebf8
_ZN26UnkStruct_0204a110_Sub7_0813func_0201ec30Ev kind:function(arm,size=0x8) addr:0x0201ec30
func_0201ec38 kind:function(arm,size=0x70) addr:0x0201ec38
func_0201eca8 kind:function(arm,size=0x14) addr:0x0201eca8
@@ -2554,7 +2554,7 @@ data_02044340 kind:data(any) addr:0x02044340
data_02044384 kind:data(any) addr:0x02044384
data_02044390 kind:data(any) addr:0x02044390
_ZTV24UnkSystem2_UnkSubSystem5 kind:data(any) addr:0x02044394
data_020443a8 kind:data(any) addr:0x020443a8
_ZTV34UnkSystem2_UnkSubSystem11_Derived2 kind:data(any) addr:0x020443a0
data_020443c0 kind:data(any) addr:0x020443c0
_ZTV21UnkStruct_0204e64c_00 kind:data(any) addr:0x020443d0
data_020443e8 kind:data(any) addr:0x020443e8
+3 -2
View File
@@ -35,9 +35,9 @@ src/Main/UnkFileSystem.cpp:
src/Main/System/Random.cpp:
.text start:0x0201631c end:0x0201639c
src/Main/Game/GameModeLinkListNode.cpp:
src/Main/LinkList.cpp:
complete
.text start:0x02016614 end:0x020166b8
.text start:0x02016614 end:0x02016730
src/Main/func_02017ea4.cpp:
.text start:0x02017e3c end:0x02017ed0
@@ -53,6 +53,7 @@ src/Main/UnkStruct_0204a060.cpp:
.data start:0x02045584 end:0x020455a0
src/Main/Game/GameModeManagerBase.cpp:
complete
.text start:0x02018414 end:0x02018b5c
.data start:0x020455a0 end:0x020455e0
+1 -1
View File
@@ -155,7 +155,7 @@ func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
_ZN18UnkStruct_027e09a413func_01ffd3d8Ev kind:function(arm,size=0x28) addr:0x01ffd3d8
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
_ZNK18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c
@@ -11,9 +11,13 @@ src/000_Second/Game/GameModeManagerBase_104_0C.cpp:
.data start:0x020b3640 end:0x020b3658
src/000_Second/Game/GameModeManagerBase_104.cpp:
complete
.text start:0x0206306c end:0x02063268
.data start:0x020b3658 end:0x020b367c
src/000_Second/code_020657fc.cpp:
.text start:0x02066d84 end:0x020671a8
src/000_Second/UnkSystem1_Base.cpp:
.text start:0x02067d38 end:0x020687e0
.data start:0x020b3870 end:0x020b389c
+2 -2
View File
@@ -1403,9 +1403,9 @@ from:0x02063384 kind:arm_call to:0x02008a0c module:main
from:0x02063434 kind:arm_call to:0x0200ab00 module:main
from:0x02063480 kind:arm_call to:0x0202a1c0 module:main
from:0x020634c0 kind:arm_call to:0x02063268 module:overlay(0)
from:0x020634e4 kind:load to:0x020b369c module:overlay(0)
from:0x020634e4 kind:load to:0x020b3694 add:0x8 module:overlay(0)
from:0x02063504 kind:arm_call to:0x020636cc module:overlay(0)
from:0x02063510 kind:load to:0x020b369c module:overlay(0)
from:0x02063510 kind:load to:0x020b3694 add:0x8 module:overlay(0)
from:0x02063578 kind:arm_call to:0x02008b58 module:main
from:0x0206367c kind:arm_call to:0x02015e90 module:main
from:0x02063688 kind:arm_call to:0x0203b8f8 module:main
+44 -44
View File
@@ -424,7 +424,7 @@ func_ov000_02061cc0 kind:function(arm,size=0x24) addr:0x02061cc0
func_ov000_02061ce4 kind:function(arm,size=0x80) addr:0x02061ce4
func_ov000_02061d64 kind:function(arm,size=0x28) addr:0x02061d64
_ZN14UnkSubStruct19C1Ev kind:function(arm,size=0x28) addr:0x02061d8c
_ZN14UnkSubStruct1919func_ov000_0206082cEii kind:function(arm,size=0x124) addr:0x02061db4
_ZN14UnkSubStruct1919func_ov000_0206082cEsi kind:function(arm,size=0x124) addr:0x02061db4
_ZN14UnkSubStruct1919func_ov000_02060950Ev kind:function(arm,size=0x60) addr:0x02061ed8
_ZN14UnkSubStruct1919func_ov000_020609b0Ev kind:function(arm,size=0x14) addr:0x02061f38
_ZN14UnkSubStruct1919func_ov000_020609c4Ev kind:function(arm,size=0xd4) addr:0x02061f4c
@@ -434,15 +434,15 @@ _ZN14UnkSubStruct1919func_ov000_02060af8Ev kind:function(arm,size=0x58) addr:0x0
_ZN14UnkSubStruct1919func_ov000_02060b50Ev kind:function(arm,size=0x14) addr:0x020620d8
_ZN14UnkSubStruct1919func_ov000_02060b64Ev kind:function(arm,size=0x20) addr:0x020620ec
func_ov000_0206210c kind:function(arm,size=0x28) addr:0x0206210c
func_ov000_02062134 kind:function(arm,size=0x2c) addr:0x02062134
_ZN14UnkSubStruct1919func_ov000_02060bacEv kind:function(arm,size=0x2c) addr:0x02062134
_ZN14UnkSubStruct1919func_ov000_02060bd8Ei kind:function(arm,size=0x50) addr:0x02062160
_ZN14UnkSubStruct1919func_ov000_02060c28Ev kind:function(arm,size=0xc) addr:0x020621b0
func_ov000_020621bc kind:function(arm,size=0x1c) addr:0x020621bc
func_ov000_020621d8 kind:function(arm,size=0x2c) addr:0x020621d8
func_ov000_02062204 kind:function(arm,size=0x100) addr:0x02062204
func_ov000_02062304 kind:function(arm,size=0x3c) addr:0x02062304
func_ov000_02062340 kind:function(arm,size=0x84) addr:0x02062340
func_ov000_020623c4 kind:function(arm,size=0x88) addr:0x020623c4
_ZN25UnkStruct_020d8698_2C_14CC1Ev kind:function(arm,size=0x1c) addr:0x020621bc
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060c50EPKwP25UnkStruct_020d8698_2C_198iP34UnkStruct_ov019_020d24c8_28_258_00 kind:function(arm,size=0x2c) addr:0x020621d8
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060c7cEi kind:function(arm,size=0x100) addr:0x02062204
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060d7cEit kind:function(arm,size=0x3c) addr:0x02062304
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060db8Et kind:function(arm,size=0x84) addr:0x02062340
_ZN25UnkStruct_020d8698_2C_14C19func_ov000_02060e3cEiPKcPw kind:function(arm,size=0x88) addr:0x020623c4
func_ov000_0206244c kind:function(arm,size=0x20) addr:0x0206244c
_ZN23TitleScreenManager_BaseC2Ev kind:function(arm,size=0x30) addr:0x0206246c
_ZN23TitleScreenManager_BaseD1Ev kind:function(arm,size=0x38) addr:0x0206249c
@@ -505,33 +505,33 @@ _ZN23GameModeManagerBase_1048vfunc_0CEi kind:function(arm,size=0x4) addr:0x02063
_ZN23GameModeManagerBase_1048vfunc_10EPc kind:function(arm,size=0x4) addr:0x0206325c
_ZN23GameModeManagerBase_1048vfunc_14EPc kind:function(arm,size=0x4) addr:0x02063260
_ZN23GameModeManagerBase_1048vfunc_18Ev kind:function(arm,size=0x4) addr:0x02063264
func_ov000_02063268 kind:function(arm,size=0x58) addr:0x02063268
func_ov000_020632c0 kind:function(arm,size=0x50) addr:0x020632c0
func_ov000_02063310 kind:function(arm,size=0x20) addr:0x02063310
func_ov000_02063330 kind:function(arm,size=0x10) addr:0x02063330
func_ov000_02063340 kind:function(arm,size=0x24) addr:0x02063340
func_ov000_02063364 kind:function(arm,size=0x2c) addr:0x02063364
func_ov000_02063390 kind:function(arm,size=0xb0) addr:0x02063390
func_ov000_02063440 kind:function(arm,size=0x48) addr:0x02063440
func_ov000_02063488 kind:function(arm,size=0x30) addr:0x02063488
func_ov000_020634b8 kind:function(arm,size=0x30) addr:0x020634b8
_ZN25UnkSystem2_UnkSubSystem11D1Ev kind:function(arm,size=0x2c) addr:0x020634e8
func_ov000_02063514 kind:function(arm,size=0x1b8) addr:0x02063514
func_ov000_020636cc kind:function(arm,size=0x28) addr:0x020636cc
func_ov000_020636f4 kind:function(arm,size=0xbc) addr:0x020636f4
func_ov000_020637b0 kind:function(arm,size=0xf8) addr:0x020637b0
func_ov000_020638a8 kind:function(arm,size=0x3c) addr:0x020638a8
func_ov000_020638e4 kind:function(arm,size=0x24) addr:0x020638e4
func_ov000_02063908 kind:function(arm,size=0x34) addr:0x02063908
func_ov000_0206393c kind:function(arm,size=0x24) addr:0x0206393c
_ZN30UnkSystem2_UnkSubSystem11_BaseC2Ev kind:function(arm,size=0x58) addr:0x02063268
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061d38Ev kind:function(arm,size=0x50) addr:0x020632c0
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061d88Ev kind:function(arm,size=0x20) addr:0x02063310
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061da8Ev kind:function(arm,size=0x10) addr:0x02063330
_ZN30UnkSystem2_UnkSubSystem11_Base19func_ov000_02061db8Ev kind:function(arm,size=0x24) addr:0x02063340
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_04Ev kind:function(arm,size=0x2c) addr:0x02063364
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x02063390
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_0CEv kind:function(arm,size=0x48) addr:0x02063440
_ZN30UnkSystem2_UnkSubSystem11_Base8vfunc_00Ev kind:function(arm,size=0x30) addr:0x02063488
_ZN34UnkSystem2_UnkSubSystem11_Derived1C2Ev kind:function(arm,size=0x30) addr:0x020634b8
_ZN34UnkSystem2_UnkSubSystem11_Derived1D2Ev kind:function(arm,size=0x2c) addr:0x020634e8
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02061f8cEv kind:function(arm,size=0x1b8) addr:0x02063514
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062144Ev kind:function(arm,size=0x28) addr:0x020636cc
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_0206216cEP5Vec2sii kind:function(arm,size=0xbc) addr:0x020636f4
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062228Ev kind:function(arm,size=0xf8) addr:0x020637b0
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_00Ev kind:function(arm,size=0x3c) addr:0x020638a8
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_04Ev kind:function(arm,size=0x24) addr:0x020638e4
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_08Ev kind:function(arm,size=0x34) addr:0x02063908
_ZN34UnkSystem2_UnkSubSystem11_Derived18vfunc_0CEv kind:function(arm,size=0x24) addr:0x0206393c
func_ov000_02063960 kind:function(arm,size=0x30) addr:0x02063960
func_ov000_02063990 kind:function(arm,size=0x30) addr:0x02063990
func_ov000_020639c0 kind:function(arm,size=0x100) addr:0x020639c0
func_ov000_02063ac0 kind:function(arm,size=0x8c) addr:0x02063ac0
func_ov000_02063b4c kind:function(arm,size=0x120) addr:0x02063b4c
func_ov000_02063c6c kind:function(arm,size=0x124) addr:0x02063c6c
_ZN34UnkSystem2_UnkSubSystem11_Derived219func_ov000_020626e4EPvbPiiiii kind:function(arm,size=0x124) addr:0x02063c6c
func_ov000_02063d90 kind:function(arm,size=0x30) addr:0x02063d90
func_ov000_02063dc0 kind:function(arm,size=0x8c) addr:0x02063dc0
_ZN34UnkSystem2_UnkSubSystem11_Derived119func_ov000_02062838EPv kind:function(arm,size=0x8c) addr:0x02063dc0
_ZN17struct_aStack_2d8C1Ev kind:function(arm,size=0x20) addr:0x02063e4c
_ZN17struct_aStack_2d819func_ov000_020628e4Eiiiiiiiii kind:function(arm,size=0xcc) addr:0x02063e6c
func_ov000_02063f38 kind:function(arm,size=0x8c) addr:0x02063f38
@@ -637,15 +637,15 @@ func_ov000_02066b4c kind:function(arm,size=0x9c) addr:0x02066b4c
func_ov000_02066be8 kind:function(arm,size=0xb4) addr:0x02066be8
func_ov000_02066c9c kind:function(arm,size=0xb4) addr:0x02066c9c
func_ov000_02066d50 kind:function(arm,size=0x34) addr:0x02066d50
func_ov000_02066d84 kind:function(arm,size=0x88) addr:0x02066d84
func_ov000_02066e0c kind:function(arm,size=0x88) addr:0x02066e0c
func_ov000_02066e94 kind:function(arm,size=0x24) addr:0x02066e94
func_ov000_02066eb8 kind:function(arm,size=0x58) addr:0x02066eb8
func_ov000_02066f10 kind:function(arm,size=0x48) addr:0x02066f10
func_ov000_02066f58 kind:function(arm,size=0x148) addr:0x02066f58
func_ov000_020670a0 kind:function(arm,size=0x30) addr:0x020670a0
func_ov000_020670d0 kind:function(arm,size=0x44) addr:0x020670d0
func_ov000_02067114 kind:function(arm,size=0x94) addr:0x02067114
_ZN29UnkStruct_020d8698_24_5C_BaseC2EiPKtti kind:function(arm,size=0x88) addr:0x02066d84
_ZN29UnkStruct_020d8698_24_5C_BaseC1EiPKtti kind:function(arm,size=0x88) addr:0x02066e0c
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_0206590cEti kind:function(arm,size=0x24) addr:0x02066e94
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_02065930Ev kind:function(arm,size=0x58) addr:0x02066eb8
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_02065988EtPKt kind:function(arm,size=0x48) addr:0x02066f10
_ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_020659d0EPcP14UnkDataStruct1 kind:function(arm,size=0x148) addr:0x02066f58
_ZN24UnkStruct_020d8698_24_5CC1EiPKtti kind:function(arm,size=0x30) addr:0x020670a0
_ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b48Eii kind:function(arm,size=0x44) addr:0x020670d0
_ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b8cEv kind:function(arm,size=0x94) addr:0x02067114
func_ov000_020671a8 kind:function(arm,size=0x4c) addr:0x020671a8
func_ov000_020671f4 kind:function(arm,size=0x4c) addr:0x020671f4
func_ov000_02067240 kind:function(arm,size=0x48) addr:0x02067240
@@ -717,8 +717,8 @@ func_ov000_02068d4c kind:function(arm,size=0x54) addr:0x02068d4c
func_ov000_02068da0 kind:function(arm,size=0xdc) addr:0x02068da0
func_ov000_02068e7c kind:function(arm,size=0x90) addr:0x02068e7c
func_ov000_02068f0c kind:function(arm,size=0xbc) addr:0x02068f0c
func_ov000_02068fc8 kind:function(arm,size=0x34) addr:0x02068fc8
_ZN17struct_aStack_2e0C1EP24UnkStruct_ov000_020b504ci kind:function(arm,size=0x44) addr:0x02068ffc
_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067a2cEj kind:function(arm,size=0x34) addr:0x02068fc8
_ZN17UnkMsgDataStruct119func_ov000_02067a60EPvi kind:function(arm,size=0x44) addr:0x02068ffc
func_ov000_02069040 kind:function(arm,size=0x7c) addr:0x02069040
_ZN24UnkStruct_ov000_020b504c19func_ov000_02067b20Ev kind:function(arm,size=0x40) addr:0x020690bc
_ZN24UnkStruct_ov000_020b504c19func_ov000_02067b60Ev kind:function(arm,size=0x54) addr:0x020690fc
@@ -758,7 +758,7 @@ _ZN17struct_aStack_2d819func_ov000_0206869cEv kind:function(arm,size=0x8) addr:0
_ZN17struct_aStack_2d819func_ov000_020686a4Ei kind:function(arm,size=0x34) addr:0x02069c48
func_ov000_02069c7c kind:function(arm,size=0xb4) addr:0x02069c7c
_ZN17struct_aStack_2d819func_ov000_0206878cEv kind:function(arm,size=0xc) addr:0x02069d30
func_ov000_02069d3c kind:function(arm,size=0x1c) addr:0x02069d3c
_ZN32UnkSystem2_UnkSubSystem5_Base_1019func_ov000_02068798EP5Vec2s kind:function(arm,size=0x1c) addr:0x02069d3c
func_ov000_02069d58 kind:function(arm,size=0x48) addr:0x02069d58
func_ov000_02069da0 kind:function(arm,size=0x6c) addr:0x02069da0
func_ov000_02069e0c kind:function(arm,size=0xb4) addr:0x02069e0c
@@ -774,7 +774,7 @@ func_ov000_0206a2f4 kind:function(arm,size=0x29c) addr:0x0206a2f4
_ZN17struct_aStack_2d819func_ov000_02068fecEv kind:function(arm,size=0x1c8) addr:0x0206a590
func_ov000_0206a758 kind:function(arm,size=0x24) addr:0x0206a758
func_ov000_0206a77c kind:function(arm,size=0x8) addr:0x0206a77c
func_ov000_0206a784 kind:function(arm,size=0x3f4) addr:0x0206a784
_ZN32UnkSystem2_UnkSubSystem5_Base_1019func_ov000_020691e0EPv kind:function(arm,size=0x3f4) addr:0x0206a784
func_ov000_0206ab78 kind:function(arm,size=0x80) addr:0x0206ab78
func_ov000_0206abf8 kind:function(arm,size=0x50) addr:0x0206abf8
func_ov000_0206ac48 kind:function(arm,size=0x4) addr:0x0206ac48
@@ -3459,7 +3459,7 @@ data_ov000_020b3630 kind:data(any) addr:0x020b3630
_ZTV26GameModeManagerBase_104_0C kind:data(any) addr:0x020b3640
_ZTV23GameModeManagerBase_104 kind:data(any) addr:0x020b3658
data_ov000_020b3684 kind:data(any) addr:0x020b367c
data_ov000_020b369c kind:data(any) addr:0x020b369c
_ZTV34UnkSystem2_UnkSubSystem11_Derived1 kind:data(any) addr:0x020b3694
data_ov000_020b36b4 kind:data(any) addr:0x020b36b4
_ZTV19data_ov000_020b36c4 kind:data(any) addr:0x020b36c4
_ZTV19data_ov000_020b36dc kind:data(any) addr:0x020b36dc
@@ -4015,7 +4015,7 @@ data_ov000_020b4eec kind:bss addr:0x020b66ec
data_ov000_020b4f70 kind:bss addr:0x020b6770
data_ov000_020b6774 kind:bss addr:0x020b6774
data_ov000_020b6778 kind:bss addr:0x020b6778
data_ov000_020b6784 kind:bss addr:0x020b6784
data_ov000_020b4f84 kind:bss addr:0x020b6784
data_ov000_020b6848 kind:bss addr:0x020b6848
data_ov000_020b504c kind:bss addr:0x020b684c
data_ov000_020b68a8 kind:bss addr:0x020b68a8
+4 -4
View File
@@ -61,10 +61,10 @@ from:0x020b80f4 kind:load to:0x020da040 module:overlay(24)
from:0x020b80f8 kind:load to:0x020b684c module:overlay(0)
from:0x020b80fc kind:load to:0x027e0cf8 module:dtcm
from:0x020b8156 kind:thumb_call_arm to:0x02062784 module:overlay(0)
from:0x020b8166 kind:thumb_call_arm to:0x020cecf4 module:overlays(20,24)
from:0x020b8166 kind:thumb_call_arm to:0x020cecf4 module:overlay(24)
from:0x020b8182 kind:thumb_call_arm to:0x01ff9b50 module:itcm
from:0x020b81d2 kind:thumb_call_arm to:0x02069620 module:overlay(0)
from:0x020b81dc kind:thumb_call_arm to:0x020cecf4 module:overlays(20,24)
from:0x020b81dc kind:thumb_call_arm to:0x020cecf4 module:overlay(24)
from:0x020b81e6 kind:thumb_call_arm to:0x02062784 module:overlay(0)
from:0x020b8200 kind:thumb_call_arm to:0x02062784 module:overlay(0)
from:0x020b8208 kind:thumb_call_arm to:0x0206f100 module:overlay(0)
@@ -170,7 +170,7 @@ from:0x020b91be kind:thumb_call_arm to:0x02064948 module:overlay(0)
from:0x020b91e4 kind:thumb_call_arm to:0x02064948 module:overlay(0)
from:0x020b9204 kind:thumb_call_arm to:0x02064948 module:overlay(0)
from:0x020b9280 kind:thumb_call_arm to:0x02062784 module:overlay(0)
from:0x020b9290 kind:thumb_call_arm to:0x020cecf4 module:overlays(20,24)
from:0x020b9290 kind:thumb_call_arm to:0x020cecf4 module:overlay(24)
from:0x020b9298 kind:thumb_call to:0x020b8108 module:overlay(10)
from:0x020b92de kind:thumb_call_arm to:0x020a9f28 module:overlay(0)
from:0x020b92e8 kind:thumb_call_arm to:0x020a9f48 module:overlay(0)
@@ -205,7 +205,7 @@ from:0x020b972c kind:load to:0x020da000 module:overlay(24)
from:0x020b9864 kind:thumb_call_arm to:0x01ff9b50 module:itcm
from:0x020b98a6 kind:thumb_call_arm to:0x020db154 module:overlay(31)
from:0x020b98c8 kind:thumb_call_arm to:0x02069620 module:overlay(0)
from:0x020b98d2 kind:thumb_call_arm to:0x020cecf4 module:overlays(20,24)
from:0x020b98d2 kind:thumb_call_arm to:0x020cecf4 module:overlay(24)
from:0x020b990a kind:thumb_call_arm to:0x02019648 module:main
from:0x020b9924 kind:thumb_call_arm to:0x020611a8 module:overlay(0)
from:0x020b9942 kind:thumb_call_arm to:0x02019648 module:main
+1 -1
View File
@@ -22,7 +22,7 @@ _ZN17FileSelectManager8vfunc_24Ev kind:function(arm,size=0x40) addr:0x020c6818
_ZN17FileSelectManager19func_ov019_020c5038Ev kind:function(arm,size=0x4) addr:0x020c6858
_ZN17FileSelectManager19func_ov019_020c503cEv kind:function(arm,size=0x12c) addr:0x020c685c
_ZN17FileSelectManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c6988
_ZN17FileSelectManager8vfunc_2CEPc kind:function(arm,size=0x20) addr:0x020c69a8
_ZN17FileSelectManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c69a8
_ZN17FileSelectManager19func_ov019_020c51a8Ev kind:function(arm,size=0x44) addr:0x020c69c8
_ZN23UnkStruct_0204a088_BaseD2Ev kind:function(arm,size=0x14) addr:0x020c6a0c
_ZN25UnkSystem1_ov019_Derived1C1Ev kind:function(arm,size=0x3c) addr:0x020c6a20
+2 -2
View File
@@ -1832,7 +1832,7 @@ from:0x020d2e0c kind:load to:0x020eb22c module:overlay(20)
from:0x020d2ea4 kind:arm_call to:0x020d2d9c module:overlay(20)
from:0x020d2f18 kind:arm_call to:0x0202a2cc module:main
from:0x020d2f3c kind:arm_call to:0x0202a2cc module:main
from:0x020d2f44 kind:arm_call to:0x020d99e4 module:overlay(20)
from:0x020d2f44 kind:arm_call to:0x020d99dc add:0x8 module:overlay(20)
from:0x020d3074 kind:arm_call to:0x020d2d9c module:overlay(20)
from:0x020d3084 kind:arm_call to:0x020d2d9c module:overlay(20)
from:0x020d30a8 kind:arm_call to:0x020d3750 module:overlay(20)
@@ -2192,7 +2192,7 @@ from:0x020d7a20 kind:load to:0x020eb220 module:overlay(20)
from:0x020d7a34 kind:arm_call to:0x020d179c module:overlay(20)
from:0x020d7a80 kind:arm_call to:0x0202a2cc module:main
from:0x020d7a9c kind:arm_call to:0x0202a2cc module:main
from:0x020d7aa4 kind:arm_call to:0x020d99e4 module:overlay(20)
from:0x020d7aa4 kind:arm_call to:0x020d99dc add:0x8 module:overlay(20)
from:0x020d7bb4 kind:load to:0x020d62ec module:overlay(20)
from:0x020d7bb8 kind:load to:0x020eb220 module:overlay(20)
from:0x020d7bc8 kind:load to:0x020eb220 module:overlay(20)
+1 -1
View File
@@ -276,7 +276,7 @@ from:0x020ec884 kind:load to:0x020e9ffa module:overlay(20)
from:0x020ec894 kind:load to:0x020e9ff2 module:overlay(20)
from:0x020ec8b8 kind:load to:0x020e9fdc module:overlay(20)
from:0x020ec8cc kind:load to:0x020e9fdc module:overlay(20)
from:0x020ec8d0 kind:load to:0x020cfe0c module:overlays(20,24)
from:0x020ec8d0 kind:load to:0x020cfe0c module:overlay(20)
from:0x020ec8e4 kind:load to:0x020efc28 module:overlay(22)
from:0x020ec8f4 kind:arm_call to:0x0206306c module:overlay(0)
from:0x020ec924 kind:arm_call to:0x02064450 module:overlay(0)
+11
View File
@@ -95,16 +95,27 @@ src/024_MainGame/Game/AdventureModeManager_15C_20_00_024.cpp:
.data start:0x020d98f0 end:0x020d9914
src/024_MainGame/UnkAdventureModeSystem1_024.cpp:
complete
.text start:0x020cc2a8 end:0x020cc5f0
.data start:0x020d9914 end:0x020d9920
src/024_MainGame/UnkStruct_ov024_020d8694_024.cpp:
.text start:0x020cc5f0 end:0x020cca40
.rodata start:0x020d8ccc end:0x020d8d7c
.data start:0x020d9920 end:0x020d9944
.bss start:0x020da034 end:0x020da038
src/024_MainGame/UnkTitleCardSystem1_024.cpp:
complete
.text start:0x020cca40 end:0x020ce56c
.data start:0x020d9944 end:0x020d9a04
src/024_MainGame/UnkStruct_020d8698_024.cpp:
complete
.text start:0x020ce56c end:0x020d129c
.rodata start:0x020d8d7c end:0x020d8df8
.data start:0x020d9a04 end:0x020d9a34
.bss start:0x020da038 end:0x020da03c
src/024_MainGame/UnkStruct_027e0cf8_00_0C_024.cpp:
.text start:0x020d129c end:0x020d1f40
+6 -6
View File
@@ -1267,7 +1267,7 @@ from:0x020cc6d4 kind:arm_call to:0x020ccac4 module:overlay(24)
from:0x020cc6e4 kind:arm_call to:0x020ccac4 module:overlay(24)
from:0x020cc6f4 kind:arm_call to:0x020ccac4 module:overlay(24)
from:0x020cc700 kind:load to:0x020d9920 add:0x8 module:overlay(24)
from:0x020cc704 kind:load to:0x020458ec module:main
from:0x020cc704 kind:load to:0x020458e4 add:0x8 module:main
from:0x020cc72c kind:arm_call to:0x020634e8 module:overlay(0)
from:0x020cc734 kind:arm_call to:0x02011ff4 module:main
from:0x020cc754 kind:arm_call to:0x020ccad0 module:overlay(24)
@@ -1312,7 +1312,7 @@ from:0x020cca3c kind:load to:0x020da034 module:overlay(24)
from:0x020ccaa0 kind:arm_call to:0x0201e4c0 module:main
from:0x020ccaa8 kind:arm_call to:0x0201e4c0 module:main
from:0x020ccab0 kind:arm_call to:0x0201e4c0 module:main
from:0x020ccac0 kind:load to:0x020d9970 module:overlay(24)
from:0x020ccac0 kind:load to:0x020d9968 add:0x8 module:overlay(24)
from:0x020ccaf8 kind:arm_call to:0x0206952c module:overlay(0)
from:0x020ccb18 kind:arm_call to:0x02069500 module:overlay(0)
from:0x020ccb34 kind:arm_call to:0x02068fc8 module:overlay(0)
@@ -1354,7 +1354,7 @@ from:0x020cd0bc kind:arm_call to:0x0201e6c4 module:main
from:0x020cd0f0 kind:arm_call to:0x020636f4 module:overlay(0)
from:0x020cd0fc kind:load to:0x0204c49c module:main
from:0x020cd124 kind:arm_call to:0x020cca40 module:overlay(24)
from:0x020cd150 kind:load to:0x020d99e4 module:overlay(24)
from:0x020cd150 kind:load to:0x020d99dc add:0x8 module:overlay(24)
from:0x020cd190 kind:arm_call to:0x020ccad4 module:overlay(24)
from:0x020cd1c4 kind:arm_call to:0x0201e664 module:main
from:0x020cd210 kind:arm_call to:0x0201e664 module:main
@@ -1411,7 +1411,7 @@ from:0x020cd988 kind:load to:0x0204b608 module:main
from:0x020cd98c kind:load to:0x027e0994 module:dtcm
from:0x020cd9ac kind:arm_call to:0x020cd11c module:overlay(24)
from:0x020cd9bc kind:arm_call to:0x0201ed8c module:main
from:0x020cd9d0 kind:load to:0x020d9994 module:overlay(24)
from:0x020cd9d0 kind:load to:0x020d998c add:0x8 module:overlay(24)
from:0x020cda10 kind:arm_call to:0x020cd154 module:overlay(24)
from:0x020cda24 kind:arm_call to:0x0201edec module:main
from:0x020cda58 kind:arm_call to:0x0201ee3c module:main
@@ -1427,7 +1427,7 @@ from:0x020cdc98 kind:arm_call to:0x020cd7e8 module:overlay(24)
from:0x020cdca4 kind:load to:0x0204b690 add:0xd9c module:main
from:0x020cdcb0 kind:arm_call to:0x020cd11c module:overlay(24)
from:0x020cdcc0 kind:arm_call to:0x0201e93c module:main
from:0x020cdccc kind:load to:0x020d99bc module:overlay(24)
from:0x020cdccc kind:load to:0x020d99b4 add:0x8 module:overlay(24)
from:0x020cdcd8 kind:arm_call to:0x020cd154 module:overlay(24)
from:0x020cdcf4 kind:arm_call to:0x0201e9e8 module:main
from:0x020cdd58 kind:arm_call to:0x020cd8d8 module:overlay(24)
@@ -1441,7 +1441,7 @@ from:0x020cdf88 kind:load to:0x027e0120 module:dtcm
from:0x020cdf94 kind:arm_call to:0x020cd100 module:overlay(24)
from:0x020cdfa4 kind:arm_call to:0x0201ea20 module:main
from:0x020cdfc4 kind:arm_call to:0x020cca40 module:overlay(24)
from:0x020cdfd8 kind:load to:0x020d994c module:overlay(24)
from:0x020cdfd8 kind:load to:0x020d9944 add:0x8 module:overlay(24)
from:0x020ce358 kind:load to:0x020da034 module:overlay(24)
from:0x020ce35c kind:load to:0x020cc9c8 module:overlay(24)
from:0x020ce37c kind:arm_call to:0x020ccad4 module:overlay(24)
+112 -112
View File
@@ -68,7 +68,7 @@ _ZN20AdventureModeManager19func_ov024_020c5f70Ev kind:function(arm,size=0x184) a
_ZN20AdventureModeManager19func_ov024_020c60f4Ev kind:function(arm,size=0x148) addr:0x020c7914
_ZN20AdventureModeManager19func_ov024_020c623cEv kind:function(arm,size=0x8c) addr:0x020c7a5c
_ZN20AdventureModeManager8vfunc_28EPc kind:function(arm,size=0x60) addr:0x020c7ae8
_ZN20AdventureModeManager8vfunc_2CEPc kind:function(arm,size=0x138) addr:0x020c7b48
_ZN20AdventureModeManager6DrawUIEPc kind:function(arm,size=0x138) addr:0x020c7b48
_ZN20AdventureModeManager8vfunc_34Eii kind:function(arm,size=0xa0) addr:0x020c7c80
_ZN20AdventureModeManager8vfunc_38Ejhss kind:function(arm,size=0x14) addr:0x020c7d20
_ZN20AdventureModeManager19func_ov024_020c6514Ejhss kind:function(arm,size=0x160) addr:0x020c7d34
@@ -85,7 +85,7 @@ _ZN20AdventureModeManager19func_ov024_020c6940Eii kind:function(arm,size=0x8c) a
_ZN20AdventureModeManager19func_ov024_020c699cEv kind:function(arm,size=0x34) addr:0x020c81ec
_ZN20AdventureModeManager19func_ov024_020c69d0Ev kind:function(arm,size=0x50) addr:0x020c8220
_ZN20AdventureModeManager19func_ov024_020c6a20Ev kind:function(arm,size=0x28) addr:0x020c8270
_ZN20AdventureModeManager19func_ov024_020c6a48Eii kind:function(arm,size=0xac) addr:0x020c8298
_ZN20AdventureModeManager19func_ov024_020c6a48Eib kind:function(arm,size=0xac) addr:0x020c8298
_ZN20AdventureModeManager19func_ov024_020c6af4Ei kind:function(arm,size=0x98) addr:0x020c8344
_ZN20AdventureModeManager19func_ov024_020c6b8cEv kind:function(arm,size=0xd4) addr:0x020c83dc
_ZN20AdventureModeManager19func_ov024_020c6c60Ev kind:function(arm,size=0x74) addr:0x020c84b0
@@ -275,137 +275,137 @@ _ZN30AdventureModeManager_15C_20_0019func_ov024_020ca658Ev kind:function(arm,siz
_ZN30AdventureModeManager_15C_20_008vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x2d0) addr:0x020cbef8
_ZN30AdventureModeManager_15C_20_00D1Ev kind:function(arm,size=0x6c) addr:0x020cc1c8
_ZN30AdventureModeManager_15C_20_00D0Ev kind:function(arm,size=0x74) addr:0x020cc234
_ZN23UnkAdventureModeSystem1C2EPsPsi kind:function(arm,size=0xa4) addr:0x020cc2a8
_ZN23UnkAdventureModeSystem1C2Ei kind:function(arm,size=0x5c) addr:0x020cc34c
_ZN23UnkAdventureModeSystem119func_ov024_020cab58Ev kind:function(arm,size=0x4c) addr:0x020cc3a8
_ZN23UnkAdventureModeSystem119func_ov024_020caba4Ev kind:function(arm,size=0x1d8) addr:0x020cc3f4
_ZN23UnkAdventureModeSystem119func_ov024_020cad7cEv kind:function(arm,size=0x24) addr:0x020cc5cc
_ZN23UnkAdventureModeSystem1C2EP5Vec2sS1_b kind:function(arm,size=0xa4) addr:0x020cc2a8
_ZN23UnkAdventureModeSystem1C2Eb kind:function(arm,size=0x5c) addr:0x020cc34c
_ZN23UnkAdventureModeSystem119func_ov024_020cab58EP5Vec2sS1_ kind:function(arm,size=0x4c) addr:0x020cc3a8
_ZN23UnkAdventureModeSystem119func_ov024_020caba4Ei kind:function(arm,size=0x1d8) addr:0x020cc3f4
_ZN23UnkAdventureModeSystem119func_ov024_020cad7cEi kind:function(arm,size=0x24) addr:0x020cc5cc
_ZN24UnkStruct_ov024_020d86946CreateEP23GameModeManagerBase_004 kind:function(arm,size=0x2c) addr:0x020cc5f0
_ZN24UnkStruct_ov024_020d8694C1Ev kind:function(arm,size=0xec) addr:0x020cc61c
_ZN24UnkStruct_ov024_020d8694C1EP23GameModeManagerBase_004 kind:function(arm,size=0xec) addr:0x020cc61c
_ZN24UnkStruct_ov024_020d8694D1Ev kind:function(arm,size=0x7c) addr:0x020cc708
_ZN24UnkStruct_ov024_020d8694D0Ev kind:function(arm,size=0x84) addr:0x020cc784
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafb8Ev kind:function(arm,size=0x20) addr:0x020cc808
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafd8Ev kind:function(arm,size=0x28) addr:0x020cc828
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb000Ev kind:function(arm,size=0x20) addr:0x020cc850
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb020Ev kind:function(arm,size=0x20) addr:0x020cc870
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafb8Ei kind:function(arm,size=0x20) addr:0x020cc808
_ZN24UnkStruct_ov024_020d869419func_ov024_020cafd8Ei kind:function(arm,size=0x28) addr:0x020cc828
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb000Ei kind:function(arm,size=0x20) addr:0x020cc850
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb020Ei kind:function(arm,size=0x20) addr:0x020cc870
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb040Ev kind:function(arm,size=0x14) addr:0x020cc890
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb054Ev kind:function(arm,size=0x58) addr:0x020cc8a4
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb0acEv kind:function(arm,size=0x18) addr:0x020cc8fc
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb054EiP5Vec2sS1_ kind:function(arm,size=0x58) addr:0x020cc8a4
_ZN24UnkStruct_ov024_020d869412GetMessageIDEi kind:function(arm,size=0x18) addr:0x020cc8fc
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb0c4Ev kind:function(arm,size=0x30) addr:0x020cc914
_ZN24UnkStruct_ov024_020d86948vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x3c) addr:0x020cc944
_ZN24UnkStruct_ov024_020d86948vfunc_10EPc kind:function(arm,size=0x48) addr:0x020cc980
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb178Ev kind:function(arm,size=0x1c) addr:0x020cc9c8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb194Ev kind:function(arm,size=0x38) addr:0x020cc9e4
func_ov024_020cb1cc kind:function(arm,size=0x10) addr:0x020cca1c
func_ov024_020cb1dc kind:function(arm,size=0x14) addr:0x020cca2c
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb178Ei kind:function(arm,size=0x1c) addr:0x020cc9c8
_ZN24UnkStruct_ov024_020d869419func_ov024_020cb194Es kind:function(arm,size=0x38) addr:0x020cc9e4
_ZN8InstanceI24UnkStruct_ov024_020d8694EC2Ev kind:function(arm,size=0x10) addr:0x020cca1c
_ZN8InstanceI24UnkStruct_ov024_020d8694ED2Ev kind:function(arm,size=0x14) addr:0x020cca2c
_ZN19UnkTitleCardSystem1C2EP23GameModeManagerBase_004 kind:function(arm,size=0x84) addr:0x020cca40
func_ov024_020cb274 kind:function(arm,size=0xc) addr:0x020ccac4
func_ov024_020cb280 kind:function(arm,size=0x4) addr:0x020ccad0
func_ov024_020cb284 kind:function(arm,size=0x20c) addr:0x020ccad4
func_ov024_020cb490 kind:function(arm,size=0x11c) addr:0x020ccce0
_ZN19UnkTitleCardSystem119func_ov024_020cb274EP34UnkSystem2_UnkSubSystem11_Derived2P32UnkSystem2_UnkSubSystem5_Base_10 kind:function(arm,size=0xc) addr:0x020ccac4
_ZN19UnkTitleCardSystem119func_ov024_020cb280Ev kind:function(arm,size=0x4) addr:0x020ccad0
_ZN19UnkTitleCardSystem119func_ov024_020cb284Eii kind:function(arm,size=0x20c) addr:0x020ccad4
_ZN19UnkTitleCardSystem119func_ov024_020cb490EP14UnkDataStruct2Pi kind:function(arm,size=0x11c) addr:0x020ccce0
_ZN19UnkTitleCardSystem18vfunc_08Ev kind:function(arm,size=0x8) addr:0x020ccdfc
_ZN19UnkTitleCardSystem18vfunc_0CEv kind:function(arm,size=0x4) addr:0x020cce04
_ZN19UnkTitleCardSystem18vfunc_10Ev kind:function(arm,size=0x4) addr:0x020cce08
func_ov024_020cb5bc kind:function(arm,size=0x3c) addr:0x020cce0c
_ZN19UnkTitleCardSystem119func_ov024_020cb5bcEv kind:function(arm,size=0x3c) addr:0x020cce0c
_ZN19UnkTitleCardSystem18vfunc_00Ev kind:function(arm,size=0x4) addr:0x020cce48
_ZN19UnkTitleCardSystem18vfunc_04Ev kind:function(arm,size=0x58) addr:0x020cce4c
func_ov024_020cb654 kind:function(arm,size=0x25c) addr:0x020ccea4
_ZN19UnkTitleCardSystem18vfunc_04EPc kind:function(arm,size=0x58) addr:0x020cce4c
_ZN19UnkTitleCardSystem119func_ov024_020cb654EPcP14UnkDataStruct1 kind:function(arm,size=0x25c) addr:0x020ccea4
_ZN19UnkTitleCardSystem18vfunc_14Ev kind:function(arm,size=0x14) addr:0x020cd100
_ZN19UnkTitleCardSystem18vfunc_18Ev kind:function(arm,size=0x8) addr:0x020cd114
_ZN28UnkTitleCardSystem1_Derived1C2EP23GameModeManagerBase_004 kind:function(arm,size=0x38) addr:0x020cd11c
_ZN28UnkTitleCardSystem1_Derived18vfunc_1CEv kind:function(arm,size=0x114) addr:0x020cd154
_ZN28UnkTitleCardSystem1_Derived18vfunc_1CEjib kind:function(arm,size=0x114) addr:0x020cd154
_ZN28UnkTitleCardSystem1_Derived18vfunc_08Ev kind:function(arm,size=0x80) addr:0x020cd268
_ZN28UnkTitleCardSystem1_Derived18vfunc_0CEv kind:function(arm,size=0x338) addr:0x020cd2e8
_ZN28UnkTitleCardSystem1_Derived18vfunc_10Ev kind:function(arm,size=0xc4) addr:0x020cd620
func_ov024_020cbe94 kind:function(arm,size=0x24) addr:0x020cd6e4
func_ov024_020cbeb8 kind:function(arm,size=0xbc) addr:0x020cd708
func_ov024_020cbf74 kind:function(arm,size=0x24) addr:0x020cd7c4
func_ov024_020cbf98 kind:function(arm,size=0xc4) addr:0x020cd7e8
func_ov024_020cc05c kind:function(arm,size=0x2c) addr:0x020cd8ac
func_ov024_020cc088 kind:function(arm,size=0x2c) addr:0x020cd8d8
func_ov024_020cc0b4 kind:function(arm,size=0x8c) addr:0x020cd904
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbe94Ei kind:function(arm,size=0x24) addr:0x020cd6e4
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbeb8Ev kind:function(arm,size=0xbc) addr:0x020cd708
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbf74Ei kind:function(arm,size=0x24) addr:0x020cd7c4
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cbf98Ev kind:function(arm,size=0xc4) addr:0x020cd7e8
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc05cEj kind:function(arm,size=0x2c) addr:0x020cd8ac
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc088Eb kind:function(arm,size=0x2c) addr:0x020cd8d8
_ZN28UnkTitleCardSystem1_Derived119func_ov024_020cc0b4Ev kind:function(arm,size=0x8c) addr:0x020cd904
_ZN28UnkTitleCardSystem1_Derived18vfunc_18Ev kind:function(arm,size=0x14) addr:0x020cd990
_ZN28UnkStruct_ov024_020d8694_01CC1EP23GameModeManagerBase_004 kind:function(arm,size=0x30) addr:0x020cd9a4
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_1CEv kind:function(arm,size=0xa8) addr:0x020cd9d4
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_1CEjib kind:function(arm,size=0xa8) addr:0x020cd9d4
_ZN28UnkStruct_ov024_020d8694_01C8vfunc_00Ev kind:function(arm,size=0x22c) addr:0x020cda7c
_ZN28UnkStruct_ov024_020d8694_188C1EP23GameModeManagerBase_004 kind:function(arm,size=0x28) addr:0x020cdca8
_ZN28UnkStruct_ov024_020d8694_1888vfunc_1CEv kind:function(arm,size=0x54) addr:0x020cdcd0
_ZN28UnkStruct_ov024_020d8694_1888vfunc_1CEjib kind:function(arm,size=0x54) addr:0x020cdcd0
_ZN28UnkStruct_ov024_020d8694_1888vfunc_00Ev kind:function(arm,size=0x1e0) addr:0x020cdd24
_ZN28UnkStruct_ov024_020d8694_1888vfunc_04Ev kind:function(arm,size=0x88) addr:0x020cdf04
_ZN28UnkStruct_ov024_020d8694_1888vfunc_04EPc kind:function(arm,size=0x88) addr:0x020cdf04
_ZN28UnkStruct_ov024_020d8694_1888vfunc_14Ev kind:function(arm,size=0x30) addr:0x020cdf8c
_ZN28UnkStruct_ov024_020d8694_2FCC1EP23GameModeManagerBase_004 kind:function(arm,size=0x20) addr:0x020cdfbc
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_00Ev kind:function(arm,size=0x364) addr:0x020cdfdc
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_10Ev kind:function(arm,size=0x20) addr:0x020ce340
func_ov024_020ccb10 kind:function(arm,size=0x17c) addr:0x020ce360
_ZN28UnkStruct_ov024_020d8694_2FC19func_ov024_020ccb10EiP5Vec2sS1_ kind:function(arm,size=0x17c) addr:0x020ce360
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_08Ev kind:function(arm,size=0x8) addr:0x020ce4dc
_ZN28UnkStruct_ov024_020d8694_2FC8vfunc_0CEv kind:function(arm,size=0x88) addr:0x020ce4e4
func_ov024_020ce56c kind:function(arm,size=0x24) addr:0x020ce56c
func_ov024_020ce590 kind:function(arm,size=0x19c) addr:0x020ce590
func_ov024_020ce72c kind:function(arm,size=0xd8) addr:0x020ce72c
_ZN19func_ov024_020ce804D0Ev kind:function(arm,size=0xe0) addr:0x020ce804
_ZN18UnkStruct_020d86986CreateEv kind:function(arm,size=0x24) addr:0x020ce56c
_ZN18UnkStruct_020d8698C1Ev kind:function(arm,size=0x19c) addr:0x020ce590
_ZN18UnkStruct_020d8698D1Ev kind:function(arm,size=0xd8) addr:0x020ce72c
_ZN18UnkStruct_020d8698D0Ev kind:function(arm,size=0xe0) addr:0x020ce804
_ZN18UnkStruct_020d869819func_ov024_020cd094Ev kind:function(arm,size=0xbc) addr:0x020ce8e4
_ZN18UnkStruct_020d869819func_ov024_020cd150Ev kind:function(arm,size=0x94) addr:0x020ce9a0
func_ov024_020cea34 kind:function(arm,size=0x98) addr:0x020cea34
func_ov024_020ceacc kind:function(arm,size=0xcc) addr:0x020ceacc
func_ov024_020ceb98 kind:function(arm,size=0x10) addr:0x020ceb98
func_ov024_020ceba8 kind:function(arm,size=0x10) addr:0x020ceba8
_ZN18UnkStruct_020d86988vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x98) addr:0x020cea34
_ZN18UnkStruct_020d86988vfunc_10EPc kind:function(arm,size=0xcc) addr:0x020ceacc
_ZN18UnkStruct_020d869819func_ov024_020cd348Ehh kind:function(arm,size=0x10) addr:0x020ceb98
_ZN18UnkStruct_020d869819func_ov024_020cd358Eh kind:function(arm,size=0x10) addr:0x020ceba8
_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cebb8
_ZN18UnkStruct_020d869819func_ov024_020cd3a4Ev kind:function(arm,size=0x2c) addr:0x020cebf4
_ZN18UnkStruct_020d869819func_ov024_020cd3d0Ev kind:function(arm,size=0x10) addr:0x020cec20
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Ei kind:function(arm,size=0x10) addr:0x020cec30
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Ei kind:function(arm,size=0x10) addr:0x020cec40
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Eb kind:function(arm,size=0x10) addr:0x020cec30
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Eb kind:function(arm,size=0x10) addr:0x020cec40
_ZN18UnkStruct_020d869819func_ov024_020cd400Ev kind:function(arm,size=0x10) addr:0x020cec50
_ZN18UnkStruct_020d869819func_ov024_020cd410Ev kind:function(arm,size=0x10) addr:0x020cec60
_ZN18UnkStruct_020d869819func_ov024_020cd420Ev kind:function(arm,size=0x38) addr:0x020cec70
_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020ceca8
func_ov024_020cecf4 kind:function(arm,size=0x40) addr:0x020cecf4
_ZN18UnkStruct_020d869819func_ov024_020cd4e4Et kind:function(arm,size=0xdc) addr:0x020ced34
_ZN18UnkStruct_020d869819func_ov024_020cd458Ejb kind:function(arm,size=0x4c) addr:0x020ceca8
_ZN18UnkStruct_020d869819func_ov024_020cd4a4Eb kind:function(arm,size=0x40) addr:0x020cecf4
_ZN18UnkStruct_020d869819func_ov024_020cd4e4Etb kind:function(arm,size=0xdc) addr:0x020ced34
_ZN18UnkStruct_020d869819func_ov024_020cd5c0Et kind:function(arm,size=0x44) addr:0x020cee10
func_ov024_020cee54 kind:function(arm,size=0x6c) addr:0x020cee54
func_ov024_020ceec0 kind:function(arm,size=0xf8) addr:0x020ceec0
func_ov024_020cefb8 kind:function(arm,size=0xc) addr:0x020cefb8
func_ov024_020cefc4 kind:function(arm,size=0x27c) addr:0x020cefc4
func_ov024_020cf240 kind:function(arm,size=0xbc) addr:0x020cf240
func_ov024_020cf2fc kind:function(arm,size=0x290) addr:0x020cf2fc
func_ov024_020cf58c kind:function(arm,size=0x144) addr:0x020cf58c
func_ov024_020cf6d0 kind:function(arm,size=0x74) addr:0x020cf6d0
func_ov024_020cf744 kind:function(arm,size=0x110) addr:0x020cf744
func_ov024_020cf854 kind:function(arm,size=0x2b8) addr:0x020cf854
func_ov024_020cfb0c kind:function(arm,size=0x48) addr:0x020cfb0c
func_ov024_020cfb54 kind:function(arm,size=0x48) addr:0x020cfb54
func_ov024_020cfb9c kind:function(arm,size=0x24) addr:0x020cfb9c
func_ov024_020cfbc0 kind:function(arm,size=0x24c) addr:0x020cfbc0
func_ov024_020cfe0c kind:function(arm,size=0x58) addr:0x020cfe0c
func_ov024_020cfe64 kind:function(arm,size=0x5c) addr:0x020cfe64
func_ov024_020cfec0 kind:function(arm,size=0x2c0) addr:0x020cfec0
func_ov024_020d0180 kind:function(arm,size=0x104) addr:0x020d0180
func_ov024_020d0284 kind:function(arm,size=0x1c) addr:0x020d0284
func_ov024_020d02a0 kind:function(arm,size=0x50) addr:0x020d02a0
func_ov024_020d02f0 kind:function(arm,size=0x358) addr:0x020d02f0
func_ov024_020d0648 kind:function(arm,size=0x54) addr:0x020d0648
func_ov024_020d069c kind:function(arm,size=0xb0) addr:0x020d069c
func_ov024_020d074c kind:function(arm,size=0xc) addr:0x020d074c
func_ov024_020d0758 kind:function(arm,size=0x4c) addr:0x020d0758
func_ov024_020d07a4 kind:function(arm,size=0xe8) addr:0x020d07a4
func_ov024_020d088c kind:function(arm,size=0x360) addr:0x020d088c
func_ov024_020d0bec kind:function(arm,size=0x1dc) addr:0x020d0bec
func_ov024_020d0dc8 kind:function(arm,size=0x30) addr:0x020d0dc8
func_ov024_020d0df8 kind:function(arm,size=0x50) addr:0x020d0df8
func_ov024_020d0e48 kind:function(arm,size=0x28) addr:0x020d0e48
func_ov024_020d0e70 kind:function(arm,size=0x34) addr:0x020d0e70
func_ov024_020d0ea4 kind:function(arm,size=0x14) addr:0x020d0ea4
func_ov024_020d0eb8 kind:function(arm,size=0x24) addr:0x020d0eb8
func_ov024_020d0edc kind:function(arm,size=0x38) addr:0x020d0edc
func_ov024_020d0f14 kind:function(arm,size=0xb8) addr:0x020d0f14
func_ov024_020d0fcc kind:function(arm,size=0x4c) addr:0x020d0fcc
func_ov024_020d1018 kind:function(arm,size=0x40) addr:0x020d1018
func_ov024_020d1058 kind:function(arm,size=0xd0) addr:0x020d1058
func_ov024_020d1128 kind:function(arm,size=0x38) addr:0x020d1128
func_ov024_020d1160 kind:function(arm,size=0x5c) addr:0x020d1160
func_ov024_020d11bc kind:function(arm,size=0x4) addr:0x020d11bc
func_ov024_020d11c0 kind:function(arm,size=0xb8) addr:0x020d11c0
func_ov024_020d1278 kind:function(arm,size=0x10) addr:0x020d1278
func_ov024_020d1288 kind:function(arm,size=0x14) addr:0x020d1288
_ZN18UnkStruct_020d869819func_ov024_020cd604Ev kind:function(arm,size=0x6c) addr:0x020cee54
_ZN21UnkStruct_020d8698_1CC1Ev kind:function(arm,size=0xf8) addr:0x020ceec0
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd768Ev kind:function(arm,size=0xc) addr:0x020cefb8
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd774Ev kind:function(arm,size=0x27c) addr:0x020cefc4
_ZN21UnkStruct_020d8698_1C19func_ov024_020cd9f0Ev kind:function(arm,size=0xbc) addr:0x020cf240
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdaacEv kind:function(arm,size=0x290) addr:0x020cf2fc
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdd3cEhh kind:function(arm,size=0x144) addr:0x020cf58c
_ZN21UnkStruct_020d8698_1C19func_ov024_020cde54Eh kind:function(arm,size=0x74) addr:0x020cf6d0
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdec8Ev kind:function(arm,size=0x110) addr:0x020cf744
_ZN21UnkStruct_020d8698_1C19func_ov024_020cdfd8Ev kind:function(arm,size=0x2b8) addr:0x020cf854
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce218Ev kind:function(arm,size=0x48) addr:0x020cfb0c
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce260Ev kind:function(arm,size=0x48) addr:0x020cfb54
_ZN21UnkStruct_020d8698_1C19func_ov024_020ce2a8Ev kind:function(arm,size=0x24) addr:0x020cfb9c
_ZN21UnkStruct_020d8698_24C1Ev kind:function(arm,size=0x24c) addr:0x020cfbc0
_ZN21UnkStruct_020d8698_2419func_ov024_020ce518Ev kind:function(arm,size=0x58) addr:0x020cfe0c
_ZN21UnkStruct_020d8698_2419func_ov024_020ce570Ev kind:function(arm,size=0x5c) addr:0x020cfe64
_ZN21UnkStruct_020d8698_2419func_ov024_020ce5ccEv kind:function(arm,size=0x2c0) addr:0x020cfec0
_ZN21UnkStruct_020d8698_2419func_ov024_020ce88cEPc kind:function(arm,size=0x104) addr:0x020d0180
_ZN21UnkStruct_020d8698_2419func_ov024_020ce990Ebb kind:function(arm,size=0x1c) addr:0x020d0284
_ZN21UnkStruct_020d8698_2419func_ov024_020ce9acEv kind:function(arm,size=0x50) addr:0x020d02a0
_ZN21UnkStruct_020d8698_2CC1Ev kind:function(arm,size=0x358) addr:0x020d02f0
_ZN21UnkStruct_020d8698_2C19func_ov024_020ced54Ev kind:function(arm,size=0x54) addr:0x020d0648
_ZN21UnkStruct_020d8698_2C19func_ov024_020ceda8Ev kind:function(arm,size=0xb0) addr:0x020d069c
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee58Ev kind:function(arm,size=0xc) addr:0x020d074c
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee64Ev kind:function(arm,size=0x4c) addr:0x020d0758
_ZN21UnkStruct_020d8698_2C19func_ov024_020cee84Ev kind:function(arm,size=0xe8) addr:0x020d07a4
_ZN21UnkStruct_020d8698_2C19func_ov024_020cef58Ev kind:function(arm,size=0x360) addr:0x020d088c
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf2b8EPc kind:function(arm,size=0x1dc) addr:0x020d0bec
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf494Eb kind:function(arm,size=0x30) addr:0x020d0dc8
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf4c4Ev kind:function(arm,size=0x50) addr:0x020d0df8
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf514Ev kind:function(arm,size=0x28) addr:0x020d0e48
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf53cEb kind:function(arm,size=0x34) addr:0x020d0e70
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf570Ev kind:function(arm,size=0x14) addr:0x020d0ea4
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf584Ev kind:function(arm,size=0x24) addr:0x020d0eb8
_ZN21UnkStruct_020d8698_2C19func_ov024_020cf5a8Eb kind:function(arm,size=0x38) addr:0x020d0edc
_ZN21UnkStruct_020d8698_34C1Ev kind:function(arm,size=0xb8) addr:0x020d0f14
_ZN21UnkStruct_020d8698_3419func_ov024_020cf698Ev kind:function(arm,size=0x4c) addr:0x020d0fcc
_ZN21UnkStruct_020d8698_3419func_ov024_020cf6e4Ev kind:function(arm,size=0x40) addr:0x020d1018
_ZN21UnkStruct_020d8698_3419func_ov024_020cf724Ev kind:function(arm,size=0xd0) addr:0x020d1058
_ZN21UnkStruct_020d8698_3CC1Ev kind:function(arm,size=0x38) addr:0x020d1128
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf82cEv kind:function(arm,size=0x5c) addr:0x020d1160
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf888Ev kind:function(arm,size=0x4) addr:0x020d11bc
_ZN21UnkStruct_020d8698_3C19func_ov024_020cf88cEv kind:function(arm,size=0xb8) addr:0x020d11c0
_ZN8InstanceI18UnkStruct_020d8698EC2Ev kind:function(arm,size=0x10) addr:0x020d1278
_ZN8InstanceI18UnkStruct_020d8698ED2Ev kind:function(arm,size=0x14) addr:0x020d1288
_ZN21UnkStruct_027e0cf8_00C1Ev kind:function(arm,size=0x68) addr:0x020d129c
_ZN21UnkStruct_027e0cf8_00D1Ev kind:function(arm,size=0x4) addr:0x020d1304
func_ov024_020d1308 kind:function(arm,size=0x1a8) addr:0x020d1308
@@ -723,14 +723,14 @@ data_ov024_020d8cbc kind:data(any) addr:0x020d8cbc ambiguous
data_ov024_020d8cc0 kind:data(any) addr:0x020d8cc0 ambiguous
data_ov024_020d8cc4 kind:data(any) addr:0x020d8cc4 ambiguous
data_ov024_020d8cc8 kind:data(any) addr:0x020d8cc8 ambiguous
data_ov024_020d8ccc kind:data(any) addr:0x020d8ccc
data_ov024_020d8d7c kind:data(any) addr:0x020d8d7c
data_ov024_020d8d82 kind:data(any) addr:0x020d8d82
data_ov024_020d8d90 kind:data(any) addr:0x020d8d90
data_ov024_020d8d9e kind:data(any) addr:0x020d8d9e
data_ov024_020d8dae kind:data(any) addr:0x020d8dae
data_ov024_020d8dc2 kind:data(any) addr:0x020d8dc2
data_ov024_020d8dd6 kind:data(any) addr:0x020d8dd6
sBMGSceneMap kind:data(any) addr:0x020d8ccc local
data_ov024_020d73d8 kind:data(any) addr:0x020d8d7c local
data_ov024_020d73de kind:data(any) addr:0x020d8d82 local
data_ov024_020d73ec kind:data(any) addr:0x020d8d90 local
data_ov024_020d73fa kind:data(any) addr:0x020d8d9e local
data_ov024_020d740a kind:data(any) addr:0x020d8dae local
data_ov024_020d741e kind:data(any) addr:0x020d8dc2 local
data_ov024_020d7432 kind:data(any) addr:0x020d8dd6 local
data_ov024_020d8df8 kind:data(any) addr:0x020d8df8
data_ov024_020d7544 kind:data(any) addr:0x020d8ee8 local
data_ov024_020d7547 kind:data(any) addr:0x020d8eeb local
@@ -803,15 +803,15 @@ _ZTV27AdventureModeManager_190_14 kind:data(any) addr:0x020d9894
_ZTV24AdventureModeManager_190 kind:data(any) addr:0x020d98b0
data_ov024_020d98e0 kind:data(any) addr:0x020d98e0
_ZTV30AdventureModeManager_15C_20_00 kind:data(any) addr:0x020d98f0
_ZTV19data_ov024_020d7f7c kind:data(any) addr:0x020d9914
_ZTV19data_ov024_020d9920 kind:data(any) addr:0x020d9920
data_ov024_020d994c kind:data(any) addr:0x020d994c
data_ov024_020d9970 kind:data(any) addr:0x020d9970
data_ov024_020d9994 kind:data(any) addr:0x020d9994
data_ov024_020d99bc kind:data(any) addr:0x020d99bc
data_ov024_020d99e4 kind:data(any) addr:0x020d99e4
_ZTV19data_ov024_020d9a04 kind:data(any) addr:0x020d9a04
data_ov024_020d9a28 kind:data(any) addr:0x020d9a28
_ZTV23UnkAdventureModeSystem1 kind:data(any) addr:0x020d9914
_ZTV24UnkStruct_ov024_020d8694 kind:data(any) addr:0x020d9920
_ZTV28UnkStruct_ov024_020d8694_2FC kind:data(any) addr:0x020d9944
_ZTV19UnkTitleCardSystem1 kind:data(any) addr:0x020d9968
_ZTV28UnkStruct_ov024_020d8694_01C kind:data(any) addr:0x020d998c
_ZTV28UnkStruct_ov024_020d8694_188 kind:data(any) addr:0x020d99b4
_ZTV28UnkTitleCardSystem1_Derived1 kind:data(any) addr:0x020d99dc
_ZTV18UnkStruct_020d8698 kind:data(any) addr:0x020d9a04
@5034 kind:data(byte[11]) addr:0x020d9a28 local
data_ov024_020d9a34 kind:data(any) addr:0x020d9a34
data_ov024_020d9a38 kind:data(any) addr:0x020d9a38
data_ov024_020d9a3e kind:data(any) addr:0x020d9a3e
+1 -1
View File
@@ -15,7 +15,7 @@ _ZN18TitleScreenManager8vfunc_14Ev kind:function(arm,size=0x78) addr:0x020c6330
_ZN18TitleScreenManager8vfunc_18Ev kind:function(arm,size=0x34) addr:0x020c63a8
_ZN18TitleScreenManager8vfunc_24Ev kind:function(arm,size=0x20) addr:0x020c63dc
_ZN18TitleScreenManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c63fc
_ZN18TitleScreenManager8vfunc_2CEPc kind:function(arm,size=0x20) addr:0x020c641c
_ZN18TitleScreenManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c641c
_ZN18TitleScreenManager8vfunc_38Ejhss kind:function(arm,size=0x4) addr:0x020c643c
_ZN18TitleScreenManager19func_ov025_020c4c20Ev kind:function(arm,size=0x10) addr:0x020c6440
_ZN18TitleScreenManager19func_ov025_020c4c30Ev kind:function(arm,size=0x10) addr:0x020c6450
+8 -8
View File
@@ -1931,14 +1931,14 @@ func_ov031_0210ea58 kind:function(arm,size=0x2c) addr:0x021107c8
_ZN19func_ov031_0210ea84D0Ev kind:function(arm,size=0x1c) addr:0x021107f4
_ZN19func_ov031_0210eaa0D1Ev kind:function(arm,size=0x20) addr:0x02110810
_ZN19func_ov031_0210eac0D0Ev kind:function(arm,size=0x28) addr:0x02110830
func_ov031_0210eae8 kind:function(thumb,size=0x3cc) addr:0x02110858
func_ov031_0210eeb4 kind:function(arm,size=0x200) addr:0x02110c24
func_ov031_0210f0b4 kind:function(arm,size=0x580) addr:0x02110e24
func_ov031_0210f634 kind:function(arm,size=0x1b0) addr:0x021113a4
func_ov031_0210f7e4 kind:function(arm,size=0x30) addr:0x02111554
func_ov031_0210f814 kind:function(arm,size=0xec) addr:0x02111584
_ZN19func_ov031_0210f900D1Ev kind:function(arm,size=0x14) addr:0x02111670
_ZN19func_ov031_0210f914D0Ev kind:function(arm,size=0x1c) addr:0x02111684
_ZN21UnkStruct_020d8698_44C1Ev kind:function(thumb,size=0x3cc) addr:0x02110858
_ZN21UnkStruct_020d8698_4419func_ov031_0210eeb4Ev kind:function(arm,size=0x200) addr:0x02110c24
_ZN21UnkStruct_020d8698_448vfunc_08Ev kind:function(arm,size=0x580) addr:0x02110e24
_ZN21UnkStruct_020d8698_448vfunc_0CEv kind:function(arm,size=0x1b0) addr:0x021113a4
_ZN21UnkStruct_020d8698_4419func_ov031_0210f7e4Ejb kind:function(arm,size=0x30) addr:0x02111554
_ZN21UnkStruct_020d8698_4419func_ov031_0210f814Ev kind:function(arm,size=0xec) addr:0x02111584
_ZN21UnkStruct_020d8698_44D1Ev kind:function(arm,size=0x14) addr:0x02111670
_ZN21UnkStruct_020d8698_44D0Ev kind:function(arm,size=0x1c) addr:0x02111684
func_ov031_0210f930 kind:function(arm,size=0xac) addr:0x021116a0
func_ov031_0210f9dc kind:function(arm,size=0x4c) addr:0x0211174c
_ZN19func_ov031_0210fa28D1Ev kind:function(arm,size=0x14) addr:0x02111798
+4 -4
View File
@@ -2925,19 +2925,19 @@ from:0x0201f42c kind:load to:0x0204b690 module:main
from:0x0201f43c kind:arm_call to:0x0201f034 module:main
from:0x0201f44c kind:arm_call to:0x020634b8 module:overlay(0)
from:0x0201f460 kind:load to:0x020458d8 add:0x8 module:main
from:0x0201f464 kind:load to:0x020458ec module:main
from:0x0201f464 kind:load to:0x020458e4 add:0x8 module:main
from:0x0201f474 kind:arm_call to:0x0201f034 module:main
from:0x0201f484 kind:arm_call to:0x020634b8 module:overlay(0)
from:0x0201f498 kind:load to:0x020458d8 add:0x8 module:main
from:0x0201f49c kind:load to:0x020458ec module:main
from:0x0201f49c kind:load to:0x020458e4 add:0x8 module:main
from:0x0201f4b4 kind:arm_call to:0x0201f078 module:main
from:0x0201f4c4 kind:arm_call to:0x020634b8 module:overlay(0)
from:0x0201f4d8 kind:load to:0x020458d8 add:0x8 module:main
from:0x0201f4dc kind:load to:0x020458ec module:main
from:0x0201f4dc kind:load to:0x020458e4 add:0x8 module:main
from:0x0201f4f4 kind:arm_call to:0x0201f078 module:main
from:0x0201f504 kind:arm_call to:0x020634b8 module:overlay(0)
from:0x0201f518 kind:load to:0x020458d8 add:0x8 module:main
from:0x0201f51c kind:load to:0x020458ec module:main
from:0x0201f51c kind:load to:0x020458e4 add:0x8 module:main
from:0x0201f538 kind:arm_call to:0x02068fc8 module:overlay(0)
from:0x0201f570 kind:arm_call to:0x02019528 module:main
from:0x0201f5e0 kind:arm_call to:0x020152e0 module:main
+33 -33
View File
@@ -736,7 +736,7 @@ func_02014ea4 kind:function(arm,size=0x5c) addr:0x02014ea4
func_02014f00 kind:function(arm,size=0x58) addr:0x02014f00
func_02014f58 kind:function(arm,size=0x18) addr:0x02014f58
func_02014f70 kind:function(arm,size=0x8) addr:0x02014f70
func_02014f78 kind:function(arm,size=0x8) addr:0x02014f78
func_02014fe0 kind:function(arm,size=0x8) addr:0x02014f78
func_02014f80 kind:function(arm,size=0xc) addr:0x02014f80
_ZN18UnkStruct_02049be013func_02014ff4Ev kind:function(arm,size=0x14) addr:0x02014f8c
func_02014fa0 kind:function(arm,size=0x28) addr:0x02014fa0
@@ -747,9 +747,9 @@ func_020151dc kind:function(arm,size=0x40) addr:0x020151dc
func_0201521c kind:function(arm,size=0x7c) addr:0x0201521c
func_02015298 kind:function(arm,size=0x38) addr:0x02015298
func_020152d0 kind:function(arm,size=0x10) addr:0x020152d0
_ZN18SomeSaveFileStructC1Ei kind:function(arm,size=0x38) addr:0x020152e0
_ZN14UnkDataStruct2C1Ei kind:function(arm,size=0x38) addr:0x020152e0
func_02015318 kind:function(arm,size=0x24) addr:0x02015318
_ZN18SomeSaveFileStructD1Ev kind:function(arm,size=0x20) addr:0x0201533c
_ZN14UnkDataStruct2D1Ev kind:function(arm,size=0x20) addr:0x0201533c
_ZN17UnkFileSystem2_10D1Ev kind:function(arm,size=0x20) addr:0x0201535c
func_0201537c kind:function(arm,size=0x18) addr:0x0201537c
func_02015394 kind:function(thumb,size=0x12) addr:0x02015394
@@ -787,9 +787,9 @@ _ZN14UnkFileSystem2D0Ev kind:function(thumb,size=0x1a) addr:0x020156a0
_ZN14UnkFileSystem28vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x020156bc
_ZN14UnkFileSystem28vfunc_0CEv kind:function(thumb,size=0x6) addr:0x020156e8
_ZN14UnkFileSystem28vfunc_10Ei kind:function(thumb,size=0x30) addr:0x020156f0
func_02015720 kind:function(arm,size=0x38) addr:0x02015720
func_02015788 kind:function(arm,size=0x38) addr:0x02015720
func_02015758 kind:function(arm,size=0x30) addr:0x02015758
func_02015788 kind:function(arm,size=0x30) addr:0x02015788
func_02015788_jp kind:function(arm,size=0x30) addr:0x02015788
func_020157b8 kind:function(arm,size=0xc8) addr:0x020157b8
func_02015880 kind:function(arm,size=0xb4) addr:0x02015880
func_02015934 kind:function(arm,size=0x7c) addr:0x02015934
@@ -823,15 +823,15 @@ func_02016548 kind:function(arm,size=0x50) addr:0x02016548
func_02016598 kind:function(arm,size=0x20) addr:0x02016598
func_020165b8 kind:function(arm,size=0x3c) addr:0x020165b8
func_020165f4 kind:function(arm,size=0x20) addr:0x020165f4
_ZN20GameModeLinkListNodeC2Ev kind:function(arm,size=0xc) addr:0x02016614
_ZN20GameModeLinkListNodeC1Ev kind:function(arm,size=0xc) addr:0x02016620
_ZN20GameModeLinkListNodeD2Ev kind:function(arm,size=0x18) addr:0x0201662c
_ZN20GameModeLinkListNode13func_020166acEPS_ kind:function(arm,size=0x20) addr:0x02016644
_ZN20GameModeLinkListNode13func_020166ccEPS_ kind:function(arm,size=0x28) addr:0x02016664
_ZN20GameModeLinkListNode13func_020166f4EPS_ kind:function(arm,size=0x2c) addr:0x0201668c
func_020166b8 kind:function(arm,size=0x1c) addr:0x020166b8
_ZN20GameModeLinkListNode13func_0201673cEv kind:function(arm,size=0x28) addr:0x020166d4
func_020166fc kind:function(arm,size=0x34) addr:0x020166fc
_ZN12LinkListImplC2Ev kind:function(arm,size=0xc) addr:0x02016614
_ZN12LinkListImplC1Ev kind:function(arm,size=0xc) addr:0x02016620
_ZN12LinkListImplD2Ev kind:function(arm,size=0x18) addr:0x0201662c
_ZN12LinkListImpl6DetachEP12LinkListNode kind:function(arm,size=0x20) addr:0x02016644
_ZN12LinkListImpl6AppendEP12LinkListNode kind:function(arm,size=0x28) addr:0x02016664
_ZN12LinkListImpl7PrependEP12LinkListNode kind:function(arm,size=0x2c) addr:0x0201668c
_ZN12LinkListImpl6ExtendEP12LinkListNode kind:function(arm,size=0x1c) addr:0x020166b8
_ZN12LinkListImpl13GetListLengthEv kind:function(arm,size=0x28) addr:0x020166d4
_ZN12LinkListImpl8ContainsEP12LinkListNode kind:function(arm,size=0x34) addr:0x020166fc
func_02016730 kind:function(arm,size=0x10) addr:0x02016730
func_02016740 kind:function(arm,size=0x4) addr:0x02016740
func_02016744 kind:function(arm,size=0x34) addr:0x02016744
@@ -937,7 +937,7 @@ _ZN19GameModeManagerBase8vfunc_04Ei kind:function(arm,size=0x28) addr:0x020185a4
_ZN19GameModeManagerBase13func_02018634Et kind:function(arm,size=0x48) addr:0x020185cc
_ZN19GameModeManagerBase8vfunc_24Ev kind:function(arm,size=0x18) addr:0x02018614
_ZN19GameModeManagerBase8vfunc_28EPc kind:function(arm,size=0x10) addr:0x0201862c
_ZN19GameModeManagerBase8vfunc_2CEPc kind:function(arm,size=0x4) addr:0x0201863c
_ZN19GameModeManagerBase6DrawUIEPc kind:function(arm,size=0x4) addr:0x0201863c
_ZN19GameModeManagerBase8vfunc_30Ei kind:function(arm,size=0x4c) addr:0x02018640
_ZN19GameModeManagerBase8vfunc_34Eii kind:function(arm,size=0x4) addr:0x0201868c
_ZN19GameModeManagerBase13func_020186f8Ei kind:function(arm,size=0xc) addr:0x02018690
@@ -952,12 +952,12 @@ _ZN19GameModeManagerBase13func_02018984EPc kind:function(arm,size=0x90) addr:0x0
_ZN19GameModeManagerBase13func_02018a14EPc kind:function(arm,size=0x78) addr:0x020189ac
_ZN19GameModeManagerBase13func_02018a8cEv kind:function(arm,size=0x10) addr:0x02018a24
_ZN19GameModeManagerBase13func_02018a9cEii kind:function(arm,size=0x10) addr:0x02018a34
_ZN19GameModeManagerBase13func_02018aacEi kind:function(arm,size=0x18) addr:0x02018a44
_ZN19GameModeManagerBase13func_02018ac4Ev kind:function(arm,size=0x10) addr:0x02018a5c
_ZN19GameModeManagerBase13func_02018aacEib kind:function(arm,size=0x18) addr:0x02018a44
_ZN19GameModeManagerBase13func_02018ac4Es kind:function(arm,size=0x10) addr:0x02018a5c
_ZN19GameModeManagerBase13func_02018ad4Ev kind:function(arm,size=0x1c) addr:0x02018a6c
_ZN19GameModeManagerBase13func_02018af0EP16GameModeLinkListI23GameModeManagerBase_104E kind:function(arm,size=0x64) addr:0x02018a88
_ZN19GameModeManagerBase13func_02018b54EP16GameModeLinkListI23GameModeManagerBase_104E kind:function(arm,size=0x3c) addr:0x02018aec
_ZN19GameModeManagerBase13func_02018b90EP16GameModeLinkListI23GameModeManagerBase_104EPc kind:function(arm,size=0x34) addr:0x02018b28
_ZN19GameModeManagerBase13func_02018af0EP23GameModeManagerBase_104 kind:function(arm,size=0x64) addr:0x02018a88
_ZN19GameModeManagerBase13func_02018b54EP23GameModeManagerBase_104 kind:function(arm,size=0x3c) addr:0x02018aec
_ZN19GameModeManagerBase13func_02018b90EP23GameModeManagerBase_104Pc kind:function(arm,size=0x34) addr:0x02018b28
_ZN19GameModeManagerBase13func_02018bc4Ei kind:function(arm,size=0x1c) addr:0x02018b5c
_ZN18UnkStruct_0204a11013func_02018be0Ei kind:function(arm,size=0x4c) addr:0x02018b78
_ZN18UnkStruct_0204a11013func_02018c2cEv kind:function(arm,size=0x4c) addr:0x02018bc4
@@ -979,12 +979,12 @@ _ZN18UnkStruct_0204a11013func_02019538Eii kind:function(arm,size=0x10) addr:0x02
_ZN18UnkStruct_0204a11013func_02019548Ev kind:function(arm,size=0x10) addr:0x020194e0
func_020194f0 kind:function(arm,size=0x28) addr:0x020194f0
func_02019518 kind:function(arm,size=0x10) addr:0x02019518
func_02019528 kind:function(arm,size=0x10) addr:0x02019528
_ZN18UnkStruct_0204a11013func_02019590Esi kind:function(arm,size=0x10) addr:0x02019528
func_02019538 kind:function(arm,size=0x84) addr:0x02019538
func_020195bc kind:function(arm,size=0x2c) addr:0x020195bc
func_020195e8 kind:function(arm,size=0x2c) addr:0x020195e8
_ZN18UnkStruct_0204a11013func_0201967cEiiiii kind:function(arm,size=0x34) addr:0x02019614
func_02019648 kind:function(arm,size=0x4c) addr:0x02019648
func_020196b0 kind:function(arm,size=0x4c) addr:0x02019648
func_02019694 kind:function(arm,size=0x238) addr:0x02019694
func_020198cc kind:function(arm,size=0x140) addr:0x020198cc
func_02019a74 kind:function(arm,size=0xc8) addr:0x02019a0c
@@ -1010,8 +1010,8 @@ func_0201a750 kind:function(arm,size=0x48) addr:0x0201a750
_ZN18UnkStruct_0204af1c13func_0201a800Ev kind:function(arm,size=0x7c) addr:0x0201a798
func_0201a814 kind:function(arm,size=0xf8) addr:0x0201a814
func_0201a90c kind:function(arm,size=0xd0) addr:0x0201a90c
_ZN18UnkStruct_0204af1c13func_0201aa44EPvS0_iS0_ kind:function(arm,size=0x48) addr:0x0201a9dc
func_0201aa24 kind:function(arm,size=0x44) addr:0x0201aa24
_ZN18UnkStruct_0204af1c13func_0201aa44EP34UnkStruct_ov019_020d24c8_28_258_00PviS2_ kind:function(arm,size=0x48) addr:0x0201a9dc
_ZN18UnkStruct_0204af1c13func_0201aa8cEP34UnkStruct_ov019_020d24c8_28_258_00iiii kind:function(arm,size=0x44) addr:0x0201aa24
_ZN18UnkStruct_0204af1c13func_0201aad0EP14UnkSubStruct19PviS2_ kind:function(arm,size=0x1a0) addr:0x0201aa68
func_0201ac08 kind:function(arm,size=0x13c) addr:0x0201ac08
func_0201ad44 kind:function(arm,size=0x50) addr:0x0201ad44
@@ -1063,9 +1063,9 @@ _ZN23GameModeManagerBase_004D1Ev kind:function(arm,size=0x3c) addr:0x0201bcd8
_ZN23GameModeManagerBase_00413func_0201bf24Ev kind:function(arm,size=0x30) addr:0x0201bd14
_ZN23GameModeManagerBase_00413func_0201bf54Ev kind:function(arm,size=0x3c) addr:0x0201bd44
_ZN23GameModeManagerBase_00413func_0201bf90Ev kind:function(arm,size=0x5c) addr:0x0201bd80
_ZN23GameModeManagerBase_00413func_0201bfecEv kind:function(arm,size=0x20) addr:0x0201bddc
_ZN23GameModeManagerBase_00413func_0201bfecEs kind:function(arm,size=0x20) addr:0x0201bddc
_ZN23GameModeManagerBase_00413func_0201c00cEii kind:function(arm,size=0x5c) addr:0x0201bdfc
_ZN23GameModeManagerBase_00413func_0201c068Es kind:function(arm,size=0x3c) addr:0x0201be58
_ZN23GameModeManagerBase_00413func_0201c068Esb kind:function(arm,size=0x3c) addr:0x0201be58
func_0201be94 kind:function(arm,size=0x20) addr:0x0201be94
_ZN23GameModeManagerBase_00413func_0201c0c4Ei kind:function(arm,size=0x20) addr:0x0201beb4
_ZN23GameModeManagerBase_00413func_0201c0e4Ev kind:function(arm,size=0x40) addr:0x0201bed4
@@ -1074,7 +1074,7 @@ _ZN23GameModeManagerBase_00413func_0201c19cEv kind:function(arm,size=0x48) addr:
_ZN23GameModeManagerBase_00413func_0201c1e4Ev kind:function(arm,size=0x48) addr:0x0201bfd4
_ZN23GameModeManagerBase_00413func_0201c22cEv kind:function(arm,size=0x40) addr:0x0201c01c
func_0201c05c kind:function(arm,size=0x44) addr:0x0201c05c
func_0201c0a0 kind:function(arm,size=0x30) addr:0x0201c0a0
_ZN23GameModeManagerBase_00413func_0201c2b0Ei kind:function(arm,size=0x30) addr:0x0201c0a0
func_0201c0d0 kind:function(arm,size=0xc4) addr:0x0201c0d0
func_0201c194 kind:function(arm,size=0xac) addr:0x0201c194
_ZN23UnkStruct_0204a110_Sub5C1Ev kind:function(thumb,size=0x10) addr:0x0201c240
@@ -1097,7 +1097,7 @@ func_0201c78c kind:function(thumb,size=0x20) addr:0x0201c78c
func_0201c7ac kind:function(thumb,size=0x26) addr:0x0201c7ac
func_0201c7d4 kind:function(thumb,size=0x2e) addr:0x0201c7d4
func_0201c804 kind:function(thumb,size=0x12) addr:0x0201c804
func_0201c818 kind:function(thumb,size=0xa) addr:0x0201c818
_ZN23UnkStruct_0204a110_Sub213func_0201ca28Ei kind:function(thumb,size=0xa) addr:0x0201c818
func_0201c824 kind:function(arm,size=0x104) addr:0x0201c824
func_0201c928 kind:function(arm,size=0x44) addr:0x0201c928
func_0201c96c kind:function(arm,size=0x148) addr:0x0201c96c
@@ -1142,7 +1142,7 @@ func_0201e914 kind:function(arm,size=0x14) addr:0x0201e914
func_0201e928 kind:function(arm,size=0x14) addr:0x0201e928
_ZN26UnkStruct_0204a110_Sub7_08C1Ev kind:function(arm,size=0x60) addr:0x0201e93c
func_0201e99c kind:function(arm,size=0x4c) addr:0x0201e99c
func_0201e9e8 kind:function(arm,size=0x38) addr:0x0201e9e8
_ZN26UnkStruct_0204a110_Sub7_0813func_0201ebf8Eiiii kind:function(arm,size=0x38) addr:0x0201e9e8
_ZN26UnkStruct_0204a110_Sub7_0813func_0201ec30Ev kind:function(arm,size=0x8) addr:0x0201ea20
func_0201ea28 kind:function(arm,size=0x70) addr:0x0201ea28
func_0201ea98 kind:function(arm,size=0x14) addr:0x0201ea98
@@ -2581,7 +2581,7 @@ data_02045884 kind:data(any) addr:0x02045884
data_020458c8 kind:data(any) addr:0x020458c8
data_020458d4 kind:data(any) addr:0x020458d4
_ZTV24UnkSystem2_UnkSubSystem5 kind:data(any) addr:0x020458d8
data_020458ec kind:data(any) addr:0x020458ec
_ZTV34UnkSystem2_UnkSubSystem11_Derived2 kind:data(any) addr:0x020458e4
data_02045904 kind:data(any) addr:0x02045904
_ZTV21UnkStruct_0204e64c_00 kind:data(any) addr:0x02045914
data_0204592c kind:data(any) addr:0x0204592c
@@ -2750,9 +2750,9 @@ data_0204af9c kind:bss addr:0x0204af9c
data_0204afa0 kind:bss addr:0x0204afa0
gGame kind:bss addr:0x0204afac
data_0204b094 kind:bss addr:0x0204b094
data_0204b098 kind:bss addr:0x0204b098
data_02049b18 kind:bss addr:0x0204b098
data_0204b0aa kind:bss addr:0x0204b0aa
data_0204b0cc kind:bss addr:0x0204b0cc
data_02049b4c kind:bss addr:0x0204b0cc
data_0204b0d2 kind:bss addr:0x0204b0d2
data_0204b0f4 kind:bss addr:0x0204b0f4
data_0204b0fc kind:bss addr:0x0204b0fc
@@ -2762,7 +2762,7 @@ data_0204b128 kind:bss addr:0x0204b128
data_02049bac kind:bss addr:0x0204b12c
data_0204b150 kind:bss addr:0x0204b150
data_0204b154 kind:bss addr:0x0204b154
data_0204b15c kind:bss addr:0x0204b15c
data_02049be0 kind:bss addr:0x0204b15c
gRandom kind:bss addr:0x0204b164
data_0204b17c kind:bss addr:0x0204b17c
data_0204b480 kind:bss addr:0x0204b480
+1 -9
View File
@@ -66,14 +66,6 @@ public:
/* 0FE4 */ UnkResult mUnk_0FE4;
/* 1020 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectSubScreen();
void func_ov019_020cf73c(unk32 param1, unk32 param2);
@@ -122,7 +114,7 @@ public:
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3) override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
/* 2C */ virtual void DrawUI(unk8 *param1) override;
static GameModeManagerBase *Create(unk32 param1);
};
+2 -10
View File
@@ -9,7 +9,7 @@
#include "math.hpp"
#include "types.h"
typedef Iterator<UnkSubStruct9, MAX_SAVE_SLOTS> FileSlotIterator;
typedef Iterator<UnkSubStruct9> FileSlotIterator;
/*
- "Slot Select" refers to the screen where you choose which file to use
@@ -153,21 +153,13 @@ public:
/* 1C28 */
UnkSubStruct9 &GetUnk03E0(int saveSlotIndex) {
return this->mUnk_03E0.GetRef(saveSlotIndex);
return this->mUnk_03E0.Get(saveSlotIndex);
}
UnkSubStruct9 &GetUnk03E0() {
return this->GetUnk03E0(this->mSaveSlotIndex);
}
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectMain();
void func_ov019_020c61dc();
void func_ov019_020c63dc();
-8
View File
@@ -74,14 +74,6 @@ public:
/* 633 */ unk8 mUnk_633;
/* 634 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectMicTest();
void func_ov019_020cea74();
void func_ov019_020cefe4();
-8
View File
@@ -135,14 +135,6 @@ public:
/* 1CF7 */ unk8 mUnk_1CF7;
/* 1CF8 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectOptions(s32 saveSlotIndex);
void func_ov019_020ccd40();
void func_ov019_020ccdf4();
@@ -29,14 +29,6 @@ public:
/* 2C */ FileSelectOptions *mpOptions;
/* 30 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectOptionsManager(void *param1, unk32 param2);
void func_ov019_020cc85c(unk32 param1);
unk32 func_ov019_020cc874();
+1 -1
View File
@@ -8,7 +8,7 @@
class FileSelectManager_UnkDrawBase : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ GameModeLinkListNode mUnk_04;
/* 04 */ LinkListImpl mUnk_04;
/* 0C */
FileSelectManager_UnkDrawBase();
+1 -2
View File
@@ -43,8 +43,7 @@ public:
UnkSubStruct9();
UnkSubStruct9(stack_struct1 param1);
void Init();
void Init(stack_struct1 param1);
void func_ov019_020cbaec();
bool IsPlayerNameSet();
void func_ov019_020cbb40();
+22 -134
View File
@@ -1,11 +1,13 @@
#pragma once
#include "Game/GameMode.hpp"
#include "LinkList.hpp"
#include "Player/TouchControl.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_02049b18.hpp"
#include "math.hpp"
#include "types.h"
#include <nitro/button.h>
#include <nitro/touch.h>
@@ -23,126 +25,26 @@ public:
void func_0201bf24();
void func_0201bf54();
void func_0201bf90();
void func_0201bfec();
void func_0201bfec(unk16 param1);
void func_0201c00c(unk32 param1, unk32 param2);
void func_0201c068(unk16 param1);
void func_0201c068(unk16 param1, bool param2);
void func_0201c0c4(unk32 param1);
void func_0201c0e4();
void func_0201c19c();
void func_0201c124(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_0201c1e4();
void func_0201c22c();
bool func_0201c2b0(unk32 param1);
void func_ov001_020bd734(unk32 *param1);
void func_ov001_020bd784();
};
class GameModeLinkListNode {
class GameModeManagerBase_104_0C : public LinkList<GameModeManagerBase_104_0C> {
public:
/* 00 */ GameModeLinkListNode *mNext;
/* 04 */ GameModeLinkListNode *mPrev;
/* 08 */
GameModeLinkListNode();
~GameModeLinkListNode();
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (node != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
GameModeLinkListNode *GetNext() {
GameModeLinkListNode *next = mNext;
if (next != NULL) {
next = (GameModeLinkListNode *) ((u32 *) next - 1);
}
return next;
}
GameModeLinkListNode *GetNext3() {
GameModeLinkListNode *next = this;
if (next != NULL) {
next = (GameModeLinkListNode *) ((u32 *) next - 1);
}
return next;
}
GameModeLinkListNode *GetUnk() {
GameModeLinkListNode *prev = (GameModeLinkListNode *) *((u32 *) this + 2);
if (prev != NULL) {
prev = (GameModeLinkListNode *) ((u32 *) prev - 1);
}
return prev;
}
GameModeLinkListNode *GetUnk2() {
GameModeLinkListNode *prev = (GameModeLinkListNode *) *((u32 *) this + 1);
if (prev != NULL) {
prev = (GameModeLinkListNode *) ((u32 *) prev - 1);
}
return prev;
}
GameModeLinkListNode *GetPrev() {
GameModeLinkListNode *prev = mPrev;
if (prev != NULL) {
prev = (GameModeLinkListNode *) ((u32 *) prev - 1);
}
return prev;
}
template <typename T> T *GetTarget() {
return (T *) this;
}
void func_020166cc(GameModeLinkListNode *param1);
void func_020166f4(GameModeLinkListNode *param1);
unk32 func_0201673c();
static void func_020166ac(GameModeLinkListNode *param1);
};
template <typename T> class GameModeLinkList : public GameModeLinkListNode {
public:
GameModeLinkList *GetNext2() {
GameModeLinkListNode *next = (GameModeLinkListNode *) *((u8 **) this + 2);
if (next != NULL) {
next = (GameModeLinkListNode *) ((u32 *) next - 1);
}
return (GameModeLinkList *) next;
}
GameModeLinkList *GetNextList() {
return (GameModeLinkList *) this->GetNext();
}
GameModeLinkList *GetPrevList() {
return (GameModeLinkList *) this->GetPrev();
}
T *GetTarget() {
return (T *) this;
}
};
class GameModeManagerBase_104_0C : public SysObject {
public:
GameModeLinkList<GameModeManagerBase_104_0C> mList;
GameModeLinkList<GameModeManagerBase_104_0C> *GetOrigin() {
return (GameModeLinkList<GameModeManagerBase_104_0C> *) this;
}
GameModeLinkListNode *GetUnk3() {
GameModeLinkListNode *prev = (GameModeLinkListNode *) *((u32 *) this - 1);
if (prev != NULL) {
prev = (GameModeLinkListNode *) ((u32 *) prev - 1);
}
return prev;
}
/* 00 (vtable) */
/* 04 (base) */
/* 0C */
// data_ov000_020b1e48 vtable
/* 00 */ virtual ~GameModeManagerBase_104_0C();
@@ -150,38 +52,20 @@ public:
/* 0C */ virtual void vfunc_0C(void *param1);
};
class GameModeManagerBase_104_00 : public SysObject {
public:
GameModeManagerBase_104_00() {}
/* 04 */ GameModeLinkList<GameModeManagerBase_104> mList;
/* 0C */ GameModeManagerBase_104_0C mUnk_0C;
};
class AdventureModeManager_160_14;
class AdventureModeManager_160_18;
class AdventureModeManager_1B8;
class GameModeManagerBase_104 : public GameModeManagerBase_104_00 {
class GameModeManagerBase_104 : public LinkList<GameModeManagerBase_104> {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */ GameModeManagerBase_104_0C mUnk_0C;
/* 18 */ bool mUnk_18;
/* 19 */ bool mUnk_19;
/* 1A */ bool mUnk_1A;
/* 1C */
GameModeLinkList<GameModeManagerBase_104> *GetOrigin() {
return (GameModeLinkList<GameModeManagerBase_104> *) this;
}
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (node != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
GameModeManagerBase_104();
// data_ov000_020b1e60 vtable
@@ -226,6 +110,10 @@ public:
/* 150 */ unk8 mUnk_153;
/* 154 */
BOOL IsUnk150() {
return this->mUnk_150;
}
GameModeManagerBase(unk32 param1);
void func_02018550(void);
void func_02018554(void);
@@ -242,12 +130,12 @@ public:
void func_02018a14(unk8 *param1);
void func_02018a8c(void);
void func_02018a9c(unk32 param1, unk32 param2);
void func_02018aac(unk32 param1);
void func_02018ac4(void);
void func_02018aac(unk32 param1, bool param2);
void func_02018ac4(unk16 param1);
bool func_02018ad4(void);
bool func_02018af0(GameModeLinkList<GameModeManagerBase_104> *param1);
bool func_02018b54(GameModeLinkList<GameModeManagerBase_104> *param1);
bool func_02018b90(GameModeLinkList<GameModeManagerBase_104> *param1, unk8 *param2);
bool func_02018af0(GameModeManagerBase_104 *param1);
bool func_02018b54(GameModeManagerBase_104 *param1);
bool func_02018b90(GameModeManagerBase_104 *param1, unk8 *param2);
void func_02018bc4(unk32 param1);
// data_02044064 vtable
@@ -261,7 +149,7 @@ public:
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28(unk8 *param1);
/* 2C */ virtual void vfunc_2C(unk8 *param1);
/* 2C */ virtual void DrawUI(unk8 *param1);
/* 30 */ virtual void vfunc_30(unk32 param1);
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2);
+8
View File
@@ -77,6 +77,14 @@ public:
/* 24 */ unk8 mUnk_27;
/* 28 */
u8 GetTearsAmount() const {
return this->mTearsAmount;
}
u8 GetKeyAmount() const {
return this->mKeyAmount;
}
ItemManager();
~ItemManager();
+201
View File
@@ -0,0 +1,201 @@
#pragma once
#include "types.h"
//! TODO: inlines in the class
#define GetLinkListRef(l) (&l)
#define GetLinkListOrigin(l) GetLinkListRef(l)
class LinkListNode {
private:
/* 00 */ LinkListNode *mpNext;
/* 04 */ LinkListNode *mpPrev;
/* 08 */
public:
LinkListNode *GetNext() {
return this->mpNext;
}
LinkListNode *GetPrev() {
return this->mpPrev;
}
void SetNext(LinkListNode *pNext) {
this->mpNext = pNext;
}
void SetPrev(LinkListNode *pPrev) {
this->mpPrev = pPrev;
}
};
class LinkListIterImpl {
private:
LinkListNode *mPointer;
public:
LinkListIterImpl(LinkListNode *pNode) {
this->mPointer = pNode;
}
LinkListNode *operator->() {
return this->mPointer;
}
LinkListNode &operator*() {
return *this->mPointer;
}
LinkListIterImpl &operator++() {
this->mPointer = (LinkListNode *) ((u8 *) this->mPointer + 4);
return *this;
}
LinkListIterImpl &operator++(int) {
this->mPointer = this->mPointer->GetNext();
return *this;
}
LinkListIterImpl &operator--(int) {
this->mPointer = mPointer->GetPrev();
return *this;
}
friend bool operator==(LinkListIterImpl &left, LinkListNode *right) {
return left.mPointer == right;
}
friend bool operator!=(LinkListIterImpl &left, LinkListNode *right) {
return left.mPointer != right;
}
};
class LinkListImpl : public LinkListNode {
public:
/* 00 (base) */
/* 08 */
public:
LinkListImpl();
~LinkListImpl();
LinkListNode *GetOriginNode() {
return (LinkListNode *) this;
}
LinkListNode *GetBeginIterImpl() {
return this->GetNext();
}
LinkListNode *GetEndIterImpl() {
return this;
}
// insert B (`node`) between A (`this`) and C (`this->mNext`)
void Append(LinkListNode *node);
// insert B (`node`) between A (`this->mPrev`) and C (`this`)
void Prepend(LinkListNode *node);
// links list `node` to list `this` (append)
void Extend(LinkListNode *node);
// returns the number of how many nodes are following `this`
s32 GetListLength();
// search through the list to determine if the node is inside it
bool Contains(LinkListNode *node);
static void Detach(LinkListNode *pNode);
};
#define GetBeginIter(l) (GetLinkListRef(l)->GetNextTarget())
#define GetBeginIterReverse(l) (GetLinkListRef(l)->GetPrevTarget())
#define GetEndIter(l) GetLinkListRef(l)
#define GetNextIter(it) (it = it->GetNextTarget())
#define GetPrevIter(it) (it = it->GetPrevTarget())
template <typename T> class LinkListIter {
private:
T *mPointer;
public:
LinkListIter() {}
LinkListIter(T *pNode) {
this->mPointer = pNode;
}
T *operator->() const {
return this->mPointer;
}
T &operator*() const {
return *this->mPointer;
}
void operator++() {
this->mPointer = (T *) ((u8 *) this->mPointer + 4);
}
void operator++(int) {
this->mPointer = this->mPointer->GetNextTarget();
}
void operator--(int) {
this->mPointer = mPointer->GetPrevTarget();
}
friend const bool operator==(LinkListIter &left, T *right) {
return left.mPointer == right;
}
friend const bool operator!=(LinkListIter &left, T *right) {
return left.mPointer != right;
}
friend const bool operator==(LinkListIter &left, T &right) {
return left.mPointer == &right;
}
friend const bool operator!=(LinkListIter &left, T &right) {
return left.mPointer != &right;
}
};
template <typename T> class LinkList : public LinkListImpl {
private:
/* 00 (base) */
/* 08 */
public:
LinkList() {}
~LinkList() {}
LinkListNode *GetNextNode() {
return this->GetNext();
}
LinkListNode *GetPrevNode() {
return this->GetPrev();
}
T *GetNextTarget() {
return (T *) this->GetNextNode();
}
T *GetPrevTarget() {
return (T *) this->GetPrevNode();
}
T *GetRef() {
return (T *) this;
}
void Detach() {
LinkListImpl::Detach(this);
}
typedef LinkListIter<T> Iterator;
};
+8 -14
View File
@@ -115,10 +115,10 @@ public:
void func_ov000_02066218(unk32 param1);
};
class AdventureModeManager_160_18 {
class AdventureModeManager_160_18 : public LinkList<AdventureModeManager_160_18> {
public:
/* 00 (vtable) */
/* 04 */
/* 04 (base) */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
@@ -695,7 +695,8 @@ public:
class AdventureModeManager_1A0 : public AdventureModeManager_174_Base {
public:
/* 00 (base) */
/* 0C */ STRUCT_PAD(0x0C, 0xBC);
/* B8 */ unk32 mUnk_B8;
/* BC */
AdventureModeManager_1A0(GameModeManagerBase_104 *param1); // overlay 62
@@ -712,7 +713,8 @@ public:
class AdventureModeManager_1A4 : public AdventureModeManager_174_Base {
public:
/* 00 (base) */
/* 0C */ STRUCT_PAD(0x0C, 0xBC);
/* B8 */ unk32 mUnk_B8;
/* BC */
AdventureModeManager_1A4(GameModeManagerBase_104 *param1); // overlay 62
@@ -762,14 +764,6 @@ public:
/* 34 */ STRUCT_PAD(0x34, 0x50);
/* 50 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (node != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
AdventureModeManager_1B0(); // overlay 31
void func_ov031_0210fad0();
@@ -957,7 +951,7 @@ public:
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
/* 2C */ virtual void DrawUI(unk8 *param1) override;
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2) override;
/* 38 */ virtual void vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) override;
@@ -991,7 +985,7 @@ public:
bool func_ov024_020c6940(unk32 param1, unk32 param2);
unk32 func_ov024_020c69d0();
unk32 func_ov024_020c6a20();
void func_ov024_020c6a48(unk32 param1, unk32 param2);
void func_ov024_020c6a48(unk32 param1, bool param2);
bool func_ov024_020c6af4(unk32 param1);
void func_ov024_020c6b8c();
void func_ov024_020c6c60();
+18 -1
View File
@@ -2,6 +2,7 @@
#include "types.h"
typedef s32 CargoType;
enum CargoType_ {
CargoType_None = -1,
CargoType_MegaIce,
@@ -16,7 +17,7 @@ enum CargoType_ {
class Cargo {
public:
/* 00 */ unk32 mType;
/* 00 */ CargoType mType;
/* 04 */ unk32 mAmount;
/* 08 */ u32 mDecayTimer;
/* 0C */
@@ -36,6 +37,18 @@ public:
this->mAmount = 0;
this->mDecayTimer = 0;
}
CargoType GetType() {
return this->mType;
}
bool IsTypeSet() {
return this->mType != CargoType_None;
}
unk32 GetAmount() {
return this->mAmount;
}
};
class CargoManager : public AutoInstance<CargoManager> {
@@ -46,6 +59,10 @@ public:
/* 1C */ bool mUnk_1C;
/* 20 */
Cargo *GetCargo() {
return &this->mCargo;
}
// overlay 1
CargoManager();
~CargoManager();
+15 -7
View File
@@ -3,19 +3,27 @@
#include "Unknown/Common.hpp"
#include "types.h"
#include <nitro/math.h>
struct UnkAdventureModeSystem1_48 {
/* 00 */ STRUCT_PAD(0x00, 0x2A);
/* 2A */ bool mUnk_2A;
};
class UnkAdventureModeSystem1 {
public:
/* 00 (vtable) */
/* 04 */ UnkSystem2_UnkSubSystem9 mUnk_04;
/* 48 */
/* 48 */ UnkAdventureModeSystem1_48 *mUnk_48;
/* 4A */
UnkAdventureModeSystem1(unk16 *param1, unk16 *param2, unk32 param3);
UnkAdventureModeSystem1(unk32 param3);
UnkAdventureModeSystem1(Vec2s *param1, Vec2s *param2, bool param3);
UnkAdventureModeSystem1(bool param3);
// data_ov024_020d7f7c
/* 00 */ virtual void vfunc_00() = 0;
/* 00 */ virtual unk32 vfunc_00(unk32 param1) = 0;
void func_ov024_020cab58();
void func_ov024_020caba4();
void func_ov024_020cad7c();
void func_ov024_020cab58(Vec2s *param1, Vec2s *param2);
bool func_ov024_020caba4(unk32 param1);
bool func_ov024_020cad7c(unk32 param1);
};
+3 -2
View File
@@ -12,6 +12,7 @@
((u32) (pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1))
#define BMG_ID(group, infIndex) (((group) << 16) | (infIndex))
#define BMG_ID_NONE 0
enum BMGGroup_ {
BMGGroup_regular = 0x00,
@@ -89,8 +90,8 @@ struct EntryINF1 {
/* 00 */ u32 offset; // relative to the end of the DAT1 header
/* 04 */ u8 mUnk_04; // flags/attributes? (+0x04 to +0x06)
/* 05 */ u8 mUnk_05;
/* 06 */ u8 mUnk_06;
/* 07 */ u8 mUnk_07;
/* 06 */ u8 fontIndex; // see FontIndex enum
/* 07 */ s8 mUnk_07;
/* 08 */
};
+34 -1
View File
@@ -188,6 +188,38 @@ enum MsgIndex_ {
MsgIndex_ValleySanctuary,
MsgIndex_DuneSanctuary,
MsgIndex_BridgeWorkersHouse,
#if IS_JP
//! TODO: add the indices from the other files so we can improve this
// BMGGroup_dungeon
MsgIndex_BossStagnox = 0x90,
MsgIndex_BossFraaz,
MsgIndex_BossCactops,
MsgIndex_BossVulcano,
MsgIndex_BossCapbone,
// BMGGroup_train_extra
MsgIndex_BossGhostTrain = 0x1A,
// BMGGroup_dungeon
MsgIndex_BossStaven = 0x95,
MsgIndex_BossMalladus1,
MsgIndex_BossMalladus2,
MsgIndex_GoronTargetRange = 0xB2,
MsgIndex_SnowdriftStation,
MsgIndex_LostAtSeaStation,
MsgIndex_DisorientationStation,
MsgIndex_EndsOfTheEarthStation,
MsgIndex_DarkOreMine,
MsgIndex_RabbitHaven,
MsgIndex_SlipperyStation,
MsgIndex_ThreeQuestionMarks,
MsgIndex_Floor1,
MsgIndex_Floor2,
MsgIndex_Floor3,
MsgIndex_ZeldaPhantomTooFar,
#else
MsgIndex_BossStagnox,
MsgIndex_BossFraaz,
MsgIndex_BossCactops,
@@ -202,7 +234,7 @@ enum MsgIndex_ {
MsgIndex_LostAtSeaStation,
MsgIndex_DisorientationStation,
MsgIndex_EndsOfTheEarthStation,
MsgIndex_DarOreMine,
MsgIndex_DarkOreMine,
MsgIndex_RabbitHaven,
MsgIndex_SlipperyStation,
MsgIndex_ThreeQuestionMarks,
@@ -210,4 +242,5 @@ enum MsgIndex_ {
MsgIndex_Floor2,
MsgIndex_Floor3,
MsgIndex_ZeldaPhantomTooFar,
#endif
};
+2 -14
View File
@@ -24,7 +24,7 @@ enum TitleScreenState_ {
TitleScreenState_Max = 6
};
class TitleScreen_Sub2 : public GameModeLinkListNode {
class TitleScreen_Sub2 : public LinkList<TitleScreen_Sub2> {
public:
/* 00 (vtable) */
/* 0C */ unk32 mUnk_0C;
@@ -37,10 +37,6 @@ public:
mUnk_0C(0),
mUnk_10(false) {}
GameModeLinkListNode *GetNode() {
return this;
}
// data_ov025_020c5b24 vtable
/* 00 */ virtual void vfunc_00();
};
@@ -92,14 +88,6 @@ public:
/* 344 */ unk32 mUnk_344;
/* 348 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
TitleScreen();
void func_ov025_020c4e54();
@@ -148,7 +136,7 @@ public:
/* 18 */ virtual void vfunc_18() override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
/* 2C */ virtual void DrawUI(unk8 *param1) override;
/* 38 */ virtual void vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) override;
static TitleScreenManager *Create(unk32 param1);
+195 -45
View File
@@ -3,12 +3,15 @@
#include "Game/GameModeManager.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkFileSystem.hpp"
#include "Unknown/UnkMemFuncs.h"
#include "global.h"
#include "math.hpp"
#include "profile.hpp"
#include "types.h"
#include <nns/text.h>
class UnkDataStruct2;
extern "C" void func_0201e8d4(void *param1, void *param2);
//! TODO: make this work with templates?
@@ -120,6 +123,35 @@ public:
/* 1C */ unk32 mUnk_1C;
/* 20 */
void UnkOperations1() {
this->mUnk_0A = true;
this->mUnk_0B = false;
this->mUnk_0C = false;
if (this->mUnk_04 == this->mUnk_06) {
this->mUnk_0A = false;
this->mUnk_0C = true;
}
}
void UnkOperations2() {
this->mUnk_0A = false;
this->mUnk_0B = true;
this->mUnk_0C = false;
if (this->mUnk_04 == 0) {
this->mUnk_0B = false;
this->mUnk_0C = true;
}
}
void UnkOperations3() {
this->mUnk_04 = 0;
this->mUnk_0A = false;
this->mUnk_0B = false;
this->mUnk_0C = true;
}
UnkSubStruct1_Base();
// data_02044330 vtable
@@ -181,14 +213,25 @@ public:
struct UnkStruct_ov019_020d24c8_28_258_00 {
/* 00 */ void *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
UnkStruct_ov019_020d24c8_28_258_00() {
this->mUnk_00 = NULL;
this->mUnk_04 = 0;
}
UnkStruct_ov019_020d24c8_28_258_00() {}
UnkStruct_ov019_020d24c8_28_258_00(void *param1, unk32 param2) :
mUnk_00(param1),
mUnk_04(param2) {}
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
};
struct UnkStruct_ov019_020d24c8_28_258_00_Derived1 : public UnkStruct_ov019_020d24c8_28_258_00 {
/* 00 (base) */
/* 08 */ unk32 mUnk_08;
/* 0C */
};
class UnkStruct_ov019_020d24c8_28_258 : public UnkStruct_ov019_020d24c8_28_258_00 {
public:
/* 08 */ unk16 mUnk_08;
@@ -196,26 +239,22 @@ public:
Vec2s mPos;
Vec2us mPosU;
};
/* 0E */ s16 mUnk_0E;
/* 10 */ unk16 mUnk_10;
/* 0E */ Vec2s mUnk_0E;
/* 12 */ unk16 mUnk_12;
/* 14 */ unk16 mUnk_14;
/* 16 */ unk16 mUnk_16;
/* 18 */
UnkStruct_ov019_020d24c8_28_258() {
this->mUnk_00 = NULL;
this->mUnk_04 = 0;
this->mPos.x = 0;
this->mPos.y = 0;
this->mPos.x = 0;
this->mPos.y = 0;
};
UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) :
UnkStruct_ov019_020d24c8_28_258_00(NULL, 0) {
UnkStruct_ov019_020d24c8_28_258(s16 param1, unk32 param2) {
this->UnknownAction(param1, param2);
}
void UnknownAction(unk32 param1, unk32 param2) {
void UnknownAction(s16 param1, unk32 param2) {
this->func_ov000_0205fc20(param1, param2, &this->mPos, &this->mUnk_0E);
this->mUnk_12 = param1;
this->mUnk_14 = param2;
@@ -223,9 +262,15 @@ public:
};
#define BTN_ID_NONE -1
#define BTN_ID_UNK_00 0x00
#define BTN_ID_ITEM 0x03
#define BTN_ID_RETURN 0x05
#define BTN_ID_UNK_08 0x08
#define BTN_ID_UNK_0C 0x0C
#define BTN_ID_TRAIN_ROUTE_GO 0x0E
#define BTN_ID_TRAIN_ROUTE_CANCEL 0x0F
#define BTN_ID_TRAIN_ROUTE_QUIT 0x10
@@ -256,6 +301,8 @@ public:
#define BTN_ID_MENU_PAN_FLUTE 0x3C
#define BTN_ID_MENU_CLOSE_TOP 0x3D
#define BTN_ID_FILE_SELECT_UNK_0F 0x0F
#define BTN_ID_FILE_SELECT_UNK_14 0x14
#define BTN_ID_FILE_SELECT_FILE_1 0x40
#define BTN_ID_FILE_SELECT_FILE_2 0x41
#define BTN_ID_FILE_SELECT_42 0x42 // unused file 3 probably
@@ -413,7 +460,7 @@ public:
#define BTN_ID_BATTLE_MENU_JOIN_GROUP 0xBB
#define BTN_ID_BATTLE_MENU_PLAYER_LIST 0xBD
class UnkSystem2_UnkSubSystem1_Base : public GameModeLinkList<UnkSystem2_UnkSubSystem1_Base> {
class UnkSystem2_UnkSubSystem1_Base : public LinkList<UnkSystem2_UnkSubSystem1_Base> {
public:
/* 00 (vtable) */
/* 0C */ void *mUnk_0C;
@@ -538,25 +585,33 @@ public:
class UnkSystem2_UnkSubSystem5_Base_10 {
public:
/* 000 (vtable) */
/* 014 */ void *mUnk_014;
/* 018 */ unk32 mUnk_018;
/* 01C */ void *mUnk_01C;
/* 020 */ unk32 mUnk_020;
/* 024 */ unk32 mUnk_024;
/* 028 */ unk8 mUnk_028;
/* 029 */ unk8 mUnk_029;
/* 02A */ unk8 mUnk_02A;
/* 02B */ unk8 mUnk_02B;
/* 02C */ unk32 mUnk_02C;
/* 030 */ unk32 mUnk_030;
/* 034 */ unk32 mUnk_034;
/* 038 */ unk32 mUnk_038;
/* 03C */ unk32 mUnk_03C;
/* 040 */ unk32 mUnk_040;
/* 044 */ unk32 mUnk_044;
/* 048 */ unk32 mUnk_048;
/* 04C */ unk32 mUnk_04C;
/* 050 */ STRUCT_PAD(0x50, 0x130); // e0
/* 014 */ void *mUnk_004;
/* 018 */ unk32 mUnk_008;
/* 01C */ void *mUnk_00C;
/* 020 */ unk32 mUnk_010;
/* 024 */ unk16 mUnk_014;
/* 026 */ u16 mUnk_016;
/* 028 */ unk8 mUnk_018;
/* 029 */ unk8 mUnk_019;
/* 02A */ unk8 mUnk_01A;
/* 02B */ unk8 mUnk_01B;
/* 02C */ unk32 mUnk_01C;
/* 030 */ unk32 mUnk_020;
/* 034 */ unk32 mUnk_024;
/* 038 */ unk32 mUnk_028;
/* 03C */ unk32 mUnk_02C;
/* 040 */ unk32 mUnk_030;
/* 044 */ unk32 mUnk_034;
/* 048 */ unk32 mUnk_038;
/* 04C */ unk32 mUnk_03C;
/* 050 */ unk32 mUnk_040;
/* 054 */ unk32 mUnk_044;
/* 058 */ unk32 mUnk_048;
/* 05C */ unk32 mUnk_04C;
/* 060 */ unk32 mUnk_050;
/* 064 */ unk32 mUnk_054;
/* 068 */ STRUCT_PAD(0x58, 0x130);
/* 130 */
UnkSystem2_UnkSubSystem5_Base_10();
@@ -565,7 +620,7 @@ public:
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10(void *param1);
/* 14 */ virtual void vfunc_14();
/* 14 */ virtual void vfunc_14(unk32 param1);
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C();
/* 20 */ virtual void vfunc_20();
@@ -580,10 +635,19 @@ public:
/* 44 */ virtual void vfunc_44();
/* 48 */ virtual void vfunc_48();
/* 4C */
unk32 func_ov000_020691e0(void *param1);
void func_ov000_02068798(Vec2s *param1);
void func_ov000_02068798(void *, void *);
};
struct Font_UnkStruct1;
struct UnkSystem2_UnkSubSystem11_Base_1C {
u8 pad[0x10];
/* 00 */ unk32 mUnk_00;
/* 04 */ Font_UnkStruct1 *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */
};
class UnkSystem2_UnkSubSystem11_Base {
@@ -591,7 +655,9 @@ public:
/* 00 (vtable) */
/* 04 */ Text_UnkStruct2 mUnk_04;
/* 1C */ UnkSystem2_UnkSubSystem11_Base_1C mUnk_1C; // +0x24: space between characters, set from BMG INF1 entry
/* 2C */
/* 2C */ s16 mUnk_2C;
/* 2E */ unk16 mUnk_2E; // pad?
/* 30 */
UnkSystem2_UnkSubSystem11_Base(); // func_ov000_02061ce0
@@ -600,23 +666,48 @@ public:
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
void func_ov000_02061d38();
void func_ov000_02061d88();
unk32 func_ov000_02061da8();
unk32 func_ov000_02061db8();
};
class UnkSystem2_UnkSubSystem11 : public UnkSystem2_UnkSubSystem11_Base {
class UnkSystem2_UnkSubSystem11_Derived1 : public UnkSystem2_UnkSubSystem11_Base {
public:
/* 00 (base) */
/* 2C */ STRUCT_PAD(0x2C, 0xE8);
/* E8 */
/* 30 */ STRUCT_PAD(0x30, 0xC0);
/* C0 */
UnkSystem2_UnkSubSystem11(); // func_ov000_02061f30
~UnkSystem2_UnkSubSystem11();
void func_ov000_02061f60();
UnkSystem2_UnkSubSystem11_Derived1(); // func_ov000_02061f30
~UnkSystem2_UnkSubSystem11_Derived1();
// data_ov000_020b1e9c vtable
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
void func_ov000_02061f8c();
void func_ov000_02062144();
void func_ov000_0206216c(Vec2s *param1, unk32 param2, unk32 param3);
void func_ov000_02062228();
void func_ov000_02062838(void *param1);
};
class UnkSystem2_UnkSubSystem11_Derived2 : public UnkSystem2_UnkSubSystem11_Derived1 {
public:
/* 00 (base) */
/* C0 */ STRUCT_PAD(0xC0, 0xE0);
/* E0 */
UnkSystem2_UnkSubSystem11_Derived2() {}
~UnkSystem2_UnkSubSystem11_Derived2() {}
// data_020443a8 (vtable)
void func_ov000_020626e4(void *param1, bool param2, unk32 *param3, void *param4);
void func_ov000_020626e4(void *param1, bool param2, unk32 *param3, unk32 param4, unk32 param5, unk32 param6, unk32 param7);
};
class UnkSystem2_UnkSubSystem5_Base {
@@ -627,7 +718,6 @@ public:
/* 00A */ unk16 mUnk_00A; // UnkSystem2_UnkSubSystem5()'s param2
/* 00C */ void *mUnk_00C;
/* 010 */ UnkSystem2_UnkSubSystem5_Base_10 mUnk_010;
/* 130 */ STRUCT_PAD(0x130, 0x140);
/* 140 */ unk16 mUnk_140;
/* 142 */ unk16 mUnk_142;
/* 144 */ unk16 mUnk_144;
@@ -638,7 +728,7 @@ public:
/* 14E */ unk8 mUnk_14E; // 0x546
/* 14F */ unk8 mUnk_14F; // 0x547
UnkSystem2_UnkSubSystem5_Base(UnkSystem2_UnkSubSystem11 *param1, unk32 param2, unk32 param3); // func_0201f288
UnkSystem2_UnkSubSystem5_Base(UnkSystem2_UnkSubSystem11_Derived2 *param1, unk32 param2, unk32 param3); // func_0201f288
~UnkSystem2_UnkSubSystem5_Base();
/* 00 */ virtual void vfunc_00();
@@ -649,7 +739,9 @@ public:
class UnkSystem2_UnkSubSystem5 : public UnkSystem2_UnkSubSystem5_Base {
public:
/* 000 (base) */
/* 150 */ UnkSystem2_UnkSubSystem11 mUnk_150;
/* 150 */ UnkSystem2_UnkSubSystem11_Derived2 mUnk_150;
/* 230 */ unk32 mUnk_230;
/* 234 */ unk32 mUnk_234;
/* 238 */
UnkSystem2_UnkSubSystem5(unk32 param1, unk32 param2);
@@ -717,7 +809,7 @@ public:
/* 0C */
//! TODO: conflict with UnkStruct_ov019_020d24c8_28_304
void func_0201e874(unk32 param1, void *param2, void *param3, unk32 param4);
void func_0201e874(unk32 buttonID, void *param2, void *param3, unk32 param4);
};
class UnkSystem2_UnkSubSystem8 : public UnkSystem2_UnkSubSystem8_Base {
@@ -834,15 +926,16 @@ public:
this->func_ov000_0206082c(param1, param2);
}
void func_ov000_0206082c(unk32 param1, unk32 param2);
void func_ov000_0206082c(s16 param1, unk32 param2);
void func_ov000_02060950();
void func_ov000_020609b0();
void func_ov000_020609c4(void);
bool func_ov000_02060a98(unk32 param1);
void func_ov000_02060ad0();
unk32 func_ov000_02060af8(void);
bool func_ov000_02060af8(void);
void func_ov000_02060b50();
void func_ov000_02060b64(void);
void func_ov000_02060bac();
unk32 func_ov000_02060c28(void);
void func_ov000_02060bd8(unk32 param1);
};
@@ -1133,3 +1226,60 @@ public:
bool func_ov024_020c510c();
void func_ov024_020c5120(bool param1);
};
struct UnkDataStruct1 {
/* 00 */ void *mUnk_00;
/* 04 */ u8 mUnk_04;
/* 05 */ unk8 mUnk_05;
/* 06 */ u16 mUnk_06;
/* 08 */
UnkDataStruct1() {}
UnkDataStruct1(u16 param1) {
this->Init();
this->mUnk_06 |= param1;
}
UnkDataStruct1(void *param1, u16 param2) {
this->Init();
this->mUnk_06 |= param2;
this->mUnk_00 = param1;
}
void Init() {
this->mUnk_06 = 0x00;
MI_CpuFill32(0, this, sizeof(UnkDataStruct1));
this->mUnk_05 = -1;
}
void SetUnk04(u8 param1) {
this->mUnk_04 = param1;
}
};
struct UnkDataStruct2 {
/* 00 */ void *unk_00;
/* 04 */
UnkDataStruct2(unk32 param1);
~UnkDataStruct2();
};
struct UnkDataStruct3 {
/* 00 */ UnkDataStruct2 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ STRUCT_PAD(0x08, 0xCC);
/* CC */ unk32 mUnk_CC;
/* D0 */ unk32 mUnk_D0;
/* D4 */
UnkDataStruct3(unk32 param1) :
mUnk_00(param1) {}
};
struct InputInformations {
void *unk_00;
void *unk_04;
void *unk_08;
void *unk_0C;
};
+3 -2
View File
@@ -2,6 +2,7 @@
#include "Game/GameMode.hpp"
#include "Game/GameModeManager.hpp"
#include "LinkList.hpp"
#include "System/SysNew.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
@@ -9,10 +10,10 @@
class GameModeFileSelect;
class UnkStruct_0204a060_Base3 : public SysObject {
class UnkStruct_0204a060_Base3 : public LinkList<UnkStruct_0204a060_Base3> {
public:
/* 00 (vtable) */
/* 04 */ GameModeLinkList<UnkStruct_0204a060_Base3> mUnk_04;
/* 04 (base) */
/* 0C */ bool mUnk_0C;
/* 0D */ unk8 mUnk_0D;
/* 0E */ unk8 mUnk_0E;
+33 -11
View File
@@ -60,6 +60,7 @@ public:
UnkStruct_0204a110_Sub2();
void func_0201c890(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_0201ca28(unk32 param1);
};
class UnkStruct_0204a110_Sub3_00 {
@@ -131,12 +132,10 @@ public:
void func_0201cf30();
};
class UnkStruct_0204a110_Sub7_08 : public SysObject {
class UnkStruct_0204a110_Sub7_08 : public UnkSubStruct1_Base {
public:
/* 00 (vtable) */
/* 04 */ STRUCT_PAD(0x04, 0x0A);
/* 0A */ bool mUnk_0A;
/* 0B */ STRUCT_PAD(0x0B, 0x30);
/* 0B */ STRUCT_PAD(0x20, 0x30);
/* 30 */
UnkStruct_0204a110_Sub7_08();
@@ -147,14 +146,21 @@ public:
/* 08 */ virtual void vfunc_08();
unk32 func_0201ec30();
void func_0201ebf8(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void Subprocess1_UnkValueSets() {
this->mUnk_10 = this->mUnk_18;
}
void Subprocess2_UnkValueSets() {
this->mUnk_10 = this->mUnk_14;
}
UnkSubStruct1_Methods;
};
struct UnkStruct_027e0120 {
/* 00 */ unk32 mUnk_00[4];
/* 10 */
};
extern UnkStruct_027e0120 data_027e0120;
//! TODO: actually a matrix
extern Vec4p data_027e0120;
class UnkStruct_0204a110_Sub7 {
public:
@@ -164,7 +170,7 @@ public:
/* 03 */ unk8 mUnk_03;
/* 04 */ UnkSystem2_UnkSubSystem9 *mUnk_04;
/* 08 */ UnkStruct_0204a110_Sub7_08 *mUnk_08;
/* 0C */ UnkStruct_027e0120 mUnk_0C;
/* 0C */ Vec4p mUnk_0C; // same type as data_027e0120?
/* 1C */
UnkStruct_0204a110_Sub7();
@@ -195,6 +201,21 @@ public:
void func_0201e698(void);
};
//! TODO: is this real?
struct UnkStruct_func_02019590 {
s16 a : 12;
s16 b : 12;
union {
unk32 c_raw;
struct {
u16 c_b1 : 8;
u16 c_b2 : 8;
};
};
u16 d : 8;
u16 e : 4;
};
class UnkStruct_0204a110 {
public:
/* 000 */ unk32 mUnk_000;
@@ -261,6 +282,7 @@ public:
unk32 func_02019514();
void func_02019528();
bool func_02019548();
UnkStruct_func_02019590 *func_02019590(unk16 param1, unk32 param2);
void func_ov001_020bd514(unk32 param1, void *param2, unk32 param3, unk32 param4);
void func_ov001_020bd58c(void);
+2 -1
View File
@@ -21,8 +21,9 @@ public:
UnkStruct_0204af1c();
void func_0201a800();
void func_0201aa44(void *param1, void *param2, unk32 param3, void *param4);
void func_0201aa44(UnkStruct_ov019_020d24c8_28_258_00 *param1, void *param2, unk32 param3, void *param4);
void func_0201aad0(UnkSubStruct19 *param1, void *param2, unk32 param3, void *param4);
void func_0201aa8c(UnkStruct_ov019_020d24c8_28_258_00 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
};
extern UnkStruct_0204af1c data_0204af1c;
+1 -1
View File
@@ -5,7 +5,7 @@
#include "global.h"
#include "types.h"
class UnkStruct_0204e5f8_1C_Base : GameModeLinkListNode {
class UnkStruct_0204e5f8_1C_Base : public LinkList<UnkStruct_0204e5f8_1C_Base> {
public:
/* 00 (base) */
/* 08 */ unk32 mUnk_08;
+267 -19
View File
@@ -2,30 +2,278 @@
#include "Game/GameModeManager.hpp"
#include "Item/Item.hpp"
#include "Unknown/Common.hpp"
#include "iterator.hpp"
#include "types.h"
class UnkStruct_020d8698 : public GameModeManagerBase_104 {
struct UnkStructIterator1 {
/* 00 */ unk32 mUnk_00;
UnkStructIterator1() {
this->mUnk_00 = 0;
}
~UnkStructIterator1() {}
};
typedef Iterator<UnkStructIterator1> UnkIterator1;
class UnkStruct_020d8698_1C {
public:
void func_ov024_020cd094();
void func_ov024_020cd150();
void func_ov024_020cd368(bool param1, bool param2);
void func_ov024_020cd3d0();
void func_ov024_020cd3e0(unk32 param1);
void func_ov024_020cd3f0(unk32 param1);
void func_ov024_020cd410();
void func_ov024_020cd420();
void func_ov024_020cd458(ItemFlag itemFlag, unk32 param2);
void func_ov024_020cd4e4(u16 param1);
bool func_ov024_020cd5c0(u16 param1);
void func_ov024_020cd3a4();
void func_ov024_020cd400();
/* 000 */ UnkIterator1 mUnk_000;
/* 008 */ u8 mUnk_008;
/* 009 */ u8 mUnk_009;
/* 00A */ u8 mUnk_00A;
/* 00B */ unk8 mUnk_00B;
/* 000 */ UnkStruct_ov019_020d24c8_28_258 mUnk_00C;
/* 018 */ UnkSubStruct19 mUnk_024;
/* 090 */ UnkSubStruct19 mUnk_09C;
/* 108 */ UnkSubStruct19 mUnk_114;
/* 180 */ UnkSubStruct19 mUnk_18C;
/* 1F8 */ UnkSubStruct19 mUnk_204;
/* 270 */ UnkSubStruct19 mUnk_27C;
/* 2E8 */ UnkSubStruct19 mUnk_2F4;
/* 360 */ UnkSubStruct19 mUnk_36C;
/* 3E4 */ UnkSubStruct19 mUnk_3E4[2];
/* 4D4 */ u8 mUnk_4D4;
/* 4D5 */ u8 mUnk_4D5;
/* 4D6 */ unk8 mUnk_4D6; // pad?
/* 4D7 */ unk8 mUnk_4D7; // pad?
/* 4D8 */
unk32 GetIterValue(int index) {
return this->mUnk_000.Get(index).mUnk_00;
}
void SetIterValue(u32 index, u32 value) {
this->mUnk_000.Get(index).mUnk_00 = value;
}
UnkStruct_020d8698_1C();
void func_ov024_020cd768();
void func_ov024_020cd774();
void func_ov024_020cd9f0();
void func_ov024_020cdaac();
void func_ov024_020cdd3c(u8 param1, u8 param2);
void func_ov024_020cde54(u8 param1);
void func_ov024_020cdec8();
void func_ov024_020cdfd8();
u8 func_ov024_020ce218();
u8 func_ov024_020ce260();
u32 func_ov024_020ce2a8();
};
class UnkStruct_020d8698_24_5C_Base {
public:
/* 00 */ Vec2s mUnk_00;
/* 04 */ unk16 mUnk_04;
/* 06 */ unk16 mUnk_06;
/* 08 */ UnkStruct_ov019_020d24c8_28_258_00_Derived1 mUnk_08[10];
/* 80 */ unk32 mUnk_80;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8C */ unk32 mUnk_8C;
/* 90 */ unk32 mUnk_90;
/* 94 */ unk32 mUnk_94;
/* 98 */
UnkStruct_020d8698_24_5C_Base(unk32 param1, const u16 *param2, u16 param3, unk32 param4);
void func_ov000_02065884();
void func_ov000_0206590c(u16 param1, unk32 param2);
void func_ov000_02065930();
void func_ov000_02065988(u16 param1, const u16 *param2);
void func_ov000_020659d0(unk8 *param1, UnkDataStruct1 *param2);
};
class UnkStruct_020d8698_24_5C : public UnkStruct_020d8698_24_5C_Base {
public:
/* 00 (base) */
/* 98 */ unk32 mUnk_98;
/* 98 */ unk32 mUnk_9C;
/* A0 */
UnkStruct_020d8698_24_5C(unk32 param1, const u16 *param2, u16 param3, unk32 param4);
void func_ov000_02065b48(unk32 param1, unk32 param2);
void func_ov000_02065b8c();
};
class UnkStruct_020d8698_24 {
public:
/* 000 */ UnkStruct_ov019_020d24c8_28_258 mUnk_000;
/* 018 */ UnkSystem2_UnkSubSystem9 mUnk_018;
/* 05C */ UnkStruct_020d8698_24_5C mUnk_05C;
/* 0FC */ Vec2s mUnk_0FC;
/* 100 */ unk32 mUnk_100;
/* 104 */ bool mUnk_104;
/* 105 */ bool mUnk_105;
/* 106 */ Vec2s mUnk_106;
/* 10C */
UnkStruct_020d8698_24();
void func_ov024_020ce518();
void func_ov024_020ce570();
void func_ov024_020ce5cc();
void func_ov024_020ce88c(unk8 *param1);
void func_ov024_020ce990(bool param1, bool param2);
void func_ov024_020ce9ac();
};
class UnkStruct_020d8698_2C_198 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x80);
/* 80 */
};
class UnkStruct_020d8698_2C_14C {
public:
/* 00 */ wchar_t mUnk_00[31]; // path to a ncgr file
/* 40 */ unk32 mUnk_40;
/* 44 */ unk32 mUnk_44;
/* 48 */ unk32 mUnk_48;
/* 4C */
UnkStruct_020d8698_2C_14C();
void func_ov000_02060c50(const wchar_t *path, UnkStruct_020d8698_2C_198 *param2, unk32 param3,
UnkStruct_ov019_020d24c8_28_258_00 *param4); // is param3 sizeof(param2)?
void func_ov000_02060c7c(unk32 param1);
void func_ov000_02060d7c(unk32 param1, u16 param2);
void func_ov000_02060db8(u16 param1);
void func_ov000_02060e3c(unk32 param1, const char *filename, wchar_t *param3);
};
class UnkStruct_020d8698_2C {
public:
/* 000 */ unk32 mUnk_000;
/* 004 */ UnkStruct_ov019_020d24c8_28_258 mUnk_004;
/* 01C */ UnkStruct_ov019_020d24c8_28_258 mUnk_01C;
/* 034 */ UnkStruct_ov019_020d24c8_28_258 mUnk_034;
/* 04C */ UnkSystem2_UnkSubSystem9 mUnk_04C;
/* 090 */ UnkStruct_020d8698_24_5C mUnk_090;
/* 130 */ Vec2s mUnk_130;
/* 134 */ Vec2s mUnk_134;
/* 138 */ Vec2s mUnk_138;
/* 13C */ unk32 mUnk_13C;
/* 140 */ bool mUnk_140;
/* 141 */ bool mUnk_141;
/* 142 */ bool mUnk_142;
/* 143 */ bool mUnk_143;
/* 144 */ unk16 mUnk_144;
/* 144 */ bool mUnk_146;
/* 148 */ unk16 mUnk_148;
/* 14A */ unk16 mUnk_14A;
/* 14C */ UnkStruct_020d8698_2C_14C mUnk_14C;
/* 198 */ UnkStruct_020d8698_2C_198 mUnk_198;
/* 218 */ Vec2s mUnk_218;
/* 21C */
UnkStruct_020d8698_2C();
void func_ov024_020ced54();
void func_ov024_020ceda8();
void func_ov024_020cee58();
void func_ov024_020cee64();
void func_ov024_020cee84();
void func_ov024_020cef58();
void func_ov024_020cf2b8(unk8 *param1);
void func_ov024_020cf494(bool param1);
void func_ov024_020cf4c4();
void func_ov024_020cf514();
void func_ov024_020cf53c(bool param1);
void func_ov024_020cf570();
void func_ov024_020cf584();
void func_ov024_020cf5a8(bool param1);
};
class UnkStruct_020d8698_34 {
public:
/* 00 */ UnkStruct_ov019_020d24c8_28_258 mUnk_00;
/* 18 */ UnkSubStruct19 mUnk_18;
/* 90 */ unk16 mUnk_90;
/* 92 */ unk16 mUnk_92;
/* 94 */
UnkStruct_020d8698_34();
void func_ov024_020cf698();
void func_ov024_020cf6e4();
void func_ov024_020cf724();
};
class UnkStruct_020d8698_3C {
public:
/* 00 */ UnkStruct_ov019_020d24c8_28_258 mUnk_00;
/* 18 */ UnkStruct_ov019_020d24c8_28_258 mUnk_18;
/* 30 */
UnkStruct_020d8698_3C();
void func_ov024_020cf82c();
void func_ov024_020cf888();
void func_ov024_020cf88c();
};
class UnkStruct_020d8698_44 : public LinkList<UnkStruct_020d8698_44> {
public:
/* 008 */ STRUCT_PAD(0x0C, 0x18B);
/* 18B */ bool mUnk_18B;
/* 18C */ STRUCT_PAD(0x18C, 0x52C);
/* 52C */
UnkStruct_020d8698_44(); // overlay 31
/* 00 */ virtual ~UnkStruct_020d8698_44();
/* 08 */
void func_ov031_0210eeb4();
void func_ov031_0210f7e4(ItemFlag itemFlag, bool param2);
void func_ov031_0210f814();
};
class UnkStruct_020d8698 : public GameModeManagerBase_104, AutoInstance<UnkStruct_020d8698> {
public:
/* 000 (base) */
/* 01C */ UnkStruct_020d8698_1C *mUnk_01C;
/* 020 */ bool mUnk_020;
/* 024 */ UnkStruct_020d8698_24 *mUnk_024;
/* 028 */ bool mUnk_028;
/* 02C */ UnkStruct_020d8698_2C *mUnk_02C;
/* 030 */ bool mUnk_030;
/* 034 */ UnkStruct_020d8698_34 *mUnk_034;
/* 038 */ bool mUnk_038;
/* 03C */ UnkStruct_020d8698_3C *mUnk_03C;
/* 040 */ bool mUnk_040;
/* 044 */ UnkStruct_020d8698_44 *mUnk_044;
/* 048 */ bool mUnk_048;
UnkStruct_020d8698();
/* 00 */ virtual ~UnkStruct_020d8698();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl);
/* 10 */ virtual void vfunc_10(unk8 *param1);
void func_ov024_020cd094();
void func_ov024_020cd150();
void func_ov024_020cd348(u8 param1, u8 param2);
void func_ov024_020cd358(u8 param1);
void func_ov024_020cd368(bool param1, bool param2);
void func_ov024_020cd3a4();
void func_ov024_020cd3d0();
void func_ov024_020cd3e0(bool param1);
void func_ov024_020cd3f0(bool param1);
void func_ov024_020cd400();
void func_ov024_020cd410();
void func_ov024_020cd420();
void func_ov024_020cd458(ItemFlag itemFlag, bool param2);
void func_ov024_020cd4a4(bool param1);
void func_ov024_020cd4e4(u16 param1, bool param2);
bool func_ov024_020cd5c0(u16 param1);
bool func_ov024_020cd604();
static UnkStruct_020d8698 *Create();
};
extern UnkStruct_020d8698 *data_ov024_020d8698;
+1 -1
View File
@@ -11,7 +11,7 @@ public:
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ GameModeLinkListNode mUnk_14;
/* 14 */ LinkListImpl mUnk_14;
UnkStruct_027e0954();
~UnkStruct_027e0954();
+33 -9
View File
@@ -78,7 +78,7 @@ enum SceneIndex_ {
/* 54 */ SceneIndex_f_bridge = 0x36, // Bridge Worker's House
/* 55 */ SceneIndex_f_bridge2 = 0x37, // Trading Post
/* 56 */ SceneIndex_f_forest3 = 0x38, // whittleton forest
/* 57 */ SceneIndex_f_water3 = 0x39, // papuchia south
/* 57 */ SceneIndex_f_water3 = 0x39, // papuchia south and lost at sea station
/* 58 */ SceneIndex_f_ajito = 0x3A, // Pirate Hideout
/* 59 */ SceneIndex_f_ajito2 = 0x3B, // same as above
/* 60 */ SceneIndex_f_flame3 = 0x3C, // Goron Target Range
@@ -147,11 +147,13 @@ enum SceneIndex_ {
struct UnkStruct_func_01ffd400 {
/* 00 */ STRUCT_PAD(0x00, 0x10);
/* 1B */ unk32 mUnk_10;
/* 1B */ unk32 mUnk_14;
/* 1B */ unk8 mUnk_18;
/* 1B */ unk8 mUnk_19;
/* 1B */ unk8 mUnk_1A;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk16 mUnk_14;
/* 16 */ s8 mUnk_16;
/* 17 */ unk8 mUnk_17;
/* 18 */ unk8 mUnk_18;
/* 19 */ unk8 mUnk_19;
/* 1A */ unk8 mUnk_1A;
/* 1B */ u8 mUnk_1B;
};
@@ -269,6 +271,16 @@ public:
return false;
}
bool UnkCheck2() const {
bool result = true;
if (this->func_01ffd400()->mUnk_10 != 1 && this->func_01ffd400()->mUnk_10 != 3) {
result = false;
}
return result;
}
SceneIndex CurrentSceneIndex() {
return this->mUnk_00.mSceneIndex;
}
@@ -277,18 +289,30 @@ public:
return this->mUnk_00.mSceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.mSceneIndex >= SceneIndex_t_eviltrain;
}
bool IsDungeonTower() {
return this->mUnk_00.mSceneIndex == SceneIndex_d_main;
}
bool IsPirate() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_pirate;
}
bool IsWater3() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_water3;
}
bool IsSnowdriftStation() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_kakushi1;
}
bool IsPassenger() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_passenger;
}
~UnkStruct_027e09a4();
bool func_01ffd3d8();
UnkStruct_func_01ffd400 *func_01ffd400();
bool func_01ffd3d8(); // is on train?
UnkStruct_func_01ffd400 *func_01ffd400() const;
unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2);
UnkStruct_SceneChange1 *func_ov000_02070560();
@@ -302,7 +326,7 @@ public:
unk16 *func_ov000_02070538();
bool func_ov000_02070a9c(UnkStruct_SceneChange1 *param1);
bool func_ov000_02072154(UnkStruct_SceneChange1 *param1, unk32 param2);
void func_ov000_0207056c();
bool func_ov000_0207056c();
void func_ov000_020705e8(SaveFile *param1, unk32 param2);
void func_ov017_020bb994(void *param1);
+5 -2
View File
@@ -109,7 +109,10 @@ public:
class UnkStruct_027e0cd8_04_0C {
public:
/* 00 */ STRUCT_PAD(0x00, 0x50);
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ s16 mUnk_08;
/* 0C */ STRUCT_PAD(0x0C, 0x50);
/* 50 */
UnkStruct_027e0cd8_04_0C();
@@ -144,7 +147,7 @@ public:
void func_ov000_02081ecc(unk16 param1, unk32 param2);
void func_ov000_02081eec(unk16 param1, unk32 param2, unk32 param3);
bool func_ov000_02081f3c(unk16 param1, unk32 param2);
unk32 func_ov000_02081d5c();
u32 func_ov000_02081d5c(); // returns current room index?
bool func_ov000_02082124();
bool func_ov000_02081c28();
};
+26 -11
View File
@@ -26,14 +26,20 @@ class UnkStruct_ov000_02067bc4 {
public:
class UnkStruct1 {
public:
unk16 mUnk_00;
unk16 mUnk_02;
unk32 mUnk_04;
unk32 mUnk_08;
unk8 mUnk_0C;
unk8 mUnk_0D;
unk8 mUnk_0E;
unk8 mUnk_0F;
union {
struct {
unk16 mUnk_00;
unk16 mUnk_02;
unk32 mUnk_04;
unk32 mUnk_08;
u8 mUnk_0C;
unk8 mUnk_0D;
unk8 mUnk_0E;
unk8 mUnk_0F;
};
u32 data[4];
};
UnkStruct1(unk32 param1, unk32 param2) {
mUnk_00 = 0;
@@ -64,12 +70,14 @@ public:
/* 000 (vtable) */
/* 004 */ unk32 mUnk_004;
/* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008;
/* 00C */ STRUCT_PAD(0x0C, 0x160);
/* 00C */ STRUCT_PAD(0x0C, 0x28);
/* 028 */ UnkStruct1 mUnk_028;
/* 038 */ STRUCT_PAD(0x38, 0x160);
/* 160 */ UnkStruct_ov000_02067bc4_Sub1 mUnk_160;
/* 00 */ virtual unk32 vfunc_00();
/* 04 */ virtual unk32 vfunc_04();
/* 08 */ virtual unk32 vfunc_08();
/* 08 */ virtual bool vfunc_08();
void func_02021bec(unk16 param1);
void func_02021c08();
@@ -99,6 +107,7 @@ public:
UnkStruct_ov000_020b504c_Sub3(unk32 param1);
void func_ov000_020676f8(const char *bmgFileName, unk32 param2);
EntryINF1 *func_ov000_02067a2c(u32 msgId);
};
class UnkStruct_ov000_020b504c_Sub4_00 {
@@ -145,7 +154,7 @@ public:
void func_ov000_02067e60(u8 param1, unk32 param2);
unk32 func_ov000_020682c0(unk32 param1);
void func_ov000_02067f5c(unk32 param1);
unk32 func_ov000_02067f88(unk32 param1, unk32 param2);
bool func_ov000_02067f88(unk32 param1, unk32 param2);
UnkStruct_ov000_020b504c_Sub4_00 *func_ov000_02067bf0();
void func_ov000_02067b20();
void func_ov000_02068068(unk32 param1);
@@ -165,3 +174,9 @@ public:
// gMessageManager?
extern UnkStruct_ov000_020b504c data_ov000_020b504c;
struct UnkMsgDataStruct1 {
unk32 mUnk_00;
void func_ov000_02067a60(void *, int);
};
+3 -3
View File
@@ -5,7 +5,7 @@
#include "types.h"
#include <nns/font.h>
enum {
enum FontIndex_ {
FontIndex_DSZ2_msg = 0,
FontIndex_LC_Font_s = 1, // unused?
FontIndex_DSZ2_endL = 2,
@@ -16,9 +16,9 @@ enum {
};
// FontEntry?
class UnkStruct_ov000_020b4f84_00 : public UnkFileSystem5 {
class UnkStruct_ov000_020b4f84_00 {
public:
/* 00 (base) */
/* 00 */ UnkFileSystem5 mUnk_00;
/* 14 */ Font_UnkStruct1 mUnk_14;
/* 1C */ unk16 mUnk_1C;
/* 1E */ unk16 mUnk_1E;
+100 -53
View File
@@ -9,43 +9,69 @@
#include <nitro/button.h>
// Title Card Scene Message Index (see sBMGSceneMap)
typedef s32 TC_SceneMsgIdx;
enum TC_SceneMsgIdx_ {
/* -1 */ TC_SceneMsgIdx_None = -1,
/* 0 */ TC_SceneMsgIdx_ForestLand,
/* 1 */ TC_SceneMsgIdx_SnowLand,
/* 2 */ TC_SceneMsgIdx_OceanLand,
/* 3 */ TC_SceneMsgIdx_FireLand,
/* 4 */ TC_SceneMsgIdx_TowerOfSpirits,
/* 5 */ TC_SceneMsgIdx_TunnelToTheTower,
/* 6 */ TC_SceneMsgIdx_WoodedTemple,
/* 7 */ TC_SceneMsgIdx_BlizzardTemple,
/* 8 */ TC_SceneMsgIdx_MarineTemple,
/* 9 */ TC_SceneMsgIdx_MountainTemple,
/* 10 */ TC_SceneMsgIdx_DesertTemple,
/* 11 */ TC_SceneMsgIdx_PirateHideout,
/* 12 */ TC_SceneMsgIdx_HyruleCastle,
/* 13 */ TC_SceneMsgIdx_CastleTown,
/* 14 */ TC_SceneMsgIdx_Mayscore,
/* 15 */ TC_SceneMsgIdx_AnoukiVillage,
/* 16 */ TC_SceneMsgIdx_PapuziaVillage,
/* 17 */ TC_SceneMsgIdx_GoronVillage,
/* 18 */ TC_SceneMsgIdx_TradingPost,
/* 19 */ TC_SceneMsgIdx_IcySpring,
/* 20 */ TC_SceneMsgIdx_OutsetVillage,
/* 21 */ TC_SceneMsgIdx_WoodlandSanctuary,
/* 22 */ TC_SceneMsgIdx_SnowfallSanctuary,
/* 23 */ TC_SceneMsgIdx_IslandSanctuary,
/* 24 */ TC_SceneMsgIdx_ValleySanctuary,
/* 25 */ TC_SceneMsgIdx_DuneSanctuary,
/* 26 */ TC_SceneMsgIdx_BridgeWorkersHouse,
/* 27 */ TC_SceneMsgIdx_BossStagnox,
/* 28 */ TC_SceneMsgIdx_BossFraaz,
/* 29 */ TC_SceneMsgIdx_BossCactops,
/* 30 */ TC_SceneMsgIdx_BossVulcano,
/* 31 */ TC_SceneMsgIdx_BossCapbone,
/* 32 */ TC_SceneMsgIdx_BossGhostTrain,
/* 33 */ TC_SceneMsgIdx_BossStaven,
/* 34 */ TC_SceneMsgIdx_BossMalladus1,
/* 35 */ TC_SceneMsgIdx_BossMalladus2,
/* 36 */ TC_SceneMsgIdx_GoronTargetRange,
/* 37 */ TC_SceneMsgIdx_SnowdriftStation,
/* 38 */ TC_SceneMsgIdx_LostAtSeaStation,
/* 39 */ TC_SceneMsgIdx_DisorientationStation,
/* 40 */ TC_SceneMsgIdx_EndsOfTheEarthStation,
/* 41 */ TC_SceneMsgIdx_DarkOreMine,
/* 42 */ TC_SceneMsgIdx_RabbitHaven,
/* 43 */ TC_SceneMsgIdx_SlipperyStation,
};
class UnkTitleCardSystem1 {
public:
/* 000 (vtable) */
/* 004 */ unk16 mUnk_004;
/* 006 */ unk16 mUnk_006; // pad?
/* 008 */ unk32 mUnk_008;
/* 00C */ unk32 mUnk_00C;
/* 008 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_008;
/* 00C */ UnkSystem2_UnkSubSystem5_Base_10 *mUnk_00C;
/* 010 */ unk32 mUnk_010;
/* 014 */ GameModeManagerBase_004 *mUnk_014;
/* 018 */ unk32 mUnk_018;
/* 01C */ unk32 mUnk_01C;
/* 020 */ unk16 mUnk_020;
/* 022 */ unk16 mUnk_022;
/* 024 */ unk16 mUnk_024;
/* 026 */ unk16 mUnk_026;
/* 028 */ unk32 mUnk_028;
/* 02C */ unk32 mUnk_02C;
/* 030 */ unk16 mUnk_030;
/* 034 */ unk16 mUnk_034;
/* 036 */ unk16 mUnk_036;
/* 038 */ unk16 mUnk_038;
/* 03A */ unk16 mUnk_03A;
/* 03C */ unk16 mUnk_03C;
/* 03E */ unk16 mUnk_03E;
/* 040 */ unk32 mUnk_040;
/* 044 */ unk32 mUnk_044;
/* 048 */ unk16 mUnk_048;
/* 04A */ unk16 mUnk_04A;
/* 04C */ unk16 mUnk_04C;
/* 04E */ unk16 mUnk_04E;
/* 050 */ unk16 mUnk_050;
/* 052 */ unk16 mUnk_052;
/* 054 */ unk16 mUnk_054;
/* 056 */ unk16 mUnk_056;
/* 058 */ unk32 mUnk_058;
/* 05C */ unk32 mUnk_05C;
/* 060 */ unk32 mUnk_060;
/* 018 */ UnkStruct_ov019_020d24c8_28_258 mUnk_018;
/* 030 */ UnkStruct_ov019_020d24c8_28_258 mUnk_030;
/* 048 */ UnkStruct_ov019_020d24c8_28_258 mUnk_048;
/* 060 */ Vec2s mUnk_060;
/* 064 */ UnkSystem2_UnkSubSystem9 mUnk_064;
/* 0A8 */ UnkSystem2_UnkSubSystem9 mUnk_0A8;
/* 0EC */ UnkSystem2_UnkSubSystem9 mUnk_0EC;
@@ -60,21 +86,29 @@ public:
// data_ov024_020d7fd0
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 04 */ virtual void vfunc_04(unk8 *param1);
/* 08 */ virtual unk32 vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 14 */ virtual bool vfunc_14();
/* 18 */ virtual unk32 vfunc_18();
/* 1C */
void func_ov024_020cb274(UnkSystem2_UnkSubSystem11_Derived2 *param1, UnkSystem2_UnkSubSystem5_Base_10 *param2);
void func_ov024_020cb280();
void func_ov024_020cb284(unk32 param1, unk32 param2);
void func_ov024_020cb490(UnkDataStruct2 *param1, unk32 *param2);
void func_ov024_020cb490(UnkDataStruct2 *param1, unk32 *param2, void *);
void func_ov024_020cb5bc();
void func_ov024_020cb654(unk8 *param1, UnkDataStruct1 *param2);
};
class UnkTitleCardSystem1_Derived1 : public UnkTitleCardSystem1 {
public:
/* 000 (base) */
/* 138 */ unk32 mUnk_138;
/* 13C */ unk16 mUnk_13C;
/* 13E */ unk16 mUnk_13E;
/* 13C */ u16 mUnk_13C;
/* 13E */ u16 mUnk_13E;
/* 140 */ bool mUnk_140;
/* 141 */ unk8 mUnk_141; // pad?
/* 142 */ unk8 mUnk_142; // pad?
@@ -84,12 +118,20 @@ public:
UnkTitleCardSystem1_Derived1(GameModeManagerBase_004 *param1);
// data_ov024_020d8044
/* 08 */ virtual void vfunc_08() override;
/* 08 */ virtual unk32 vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual void vfunc_10() override;
/* 18 */ virtual void vfunc_18() override;
/* 1C */ virtual void vfunc_1C();
/* 18 */ virtual unk32 vfunc_18() override;
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3);
/* 20 */
void func_ov024_020cbe94(unk32 param1);
void func_ov024_020cbeb8();
void func_ov024_020cbf74(unk32 param1);
void func_ov024_020cbf98();
void func_ov024_020cc05c(u32 msgId);
void func_ov024_020cc088(bool param1);
bool func_ov024_020cc0b4();
};
class UnkStruct_ov024_020d8694_01C : public UnkTitleCardSystem1_Derived1 {
@@ -106,7 +148,7 @@ public:
// data_ov024_020d7ff4
/* 00 */ virtual void vfunc_00() override;
/* 1C */ virtual void vfunc_1C() override;
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3) override;
};
class UnkStruct_ov024_020d8694_188 : public UnkTitleCardSystem1_Derived1 {
@@ -119,9 +161,9 @@ public:
// data_ov024_020d801c
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual void vfunc_1C() override;
/* 04 */ virtual void vfunc_04(unk8 *param1) override;
/* 14 */ virtual bool vfunc_14() override;
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3) override;
};
class UnkStruct_ov024_020d8694_2FC : public UnkTitleCardSystem1 {
@@ -133,17 +175,22 @@ public:
// data_ov024_020d7fac
/* 00 */ virtual void vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 08 */ virtual unk32 vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual void vfunc_10() override;
void func_ov024_020ccb10(unk32 param1, Vec2s *param2, Vec2s *param3);
};
class UnkStruct_ov024_020d8694 : public AutoInstance<UnkStruct_ov024_020d8694>, public GameModeManagerBase_104 {
class UnkStruct_ov024_020d8694 : public GameModeManagerBase_104, public AutoInstance<UnkStruct_ov024_020d8694> {
public:
/* 000 (vtable) */
/* 01C */ UnkStruct_ov024_020d8694_01C mUnk_01C;
/* 188 */ UnkStruct_ov024_020d8694_188 mUnk_188;
/* 2FC */ UnkStruct_ov024_020d8694_2FC mUnk_2FC;
/* 434 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_434;
/* 438 */ UnkSystem2_UnkSubSystem5_Base_10 *mUnk_438;
/* 43C */ GameModeManagerBase_004 *mUnk_43C;
/* 440 */
UnkStruct_ov024_020d8694(GameModeManagerBase_004 *param1);
@@ -153,16 +200,16 @@ public:
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl);
/* 10 */ virtual void vfunc_10(unk8 *param1);
void func_ov024_020cafb8();
void func_ov024_020cafd8();
void func_ov024_020cb000();
void func_ov024_020cb020();
void func_ov024_020cafb8(unk32 param1);
void func_ov024_020cafd8(unk32 param1);
void func_ov024_020cb000(unk32 param1);
void func_ov024_020cb020(unk32 param1);
void func_ov024_020cb040();
void func_ov024_020cb054();
void func_ov024_020cb0ac();
void func_ov024_020cb054(unk32 param1, Vec2s *param2, Vec2s *param3);
u32 GetMessageID(int index);
void func_ov024_020cb0c4();
void func_ov024_020cb178();
void func_ov024_020cb194();
void func_ov024_020cb178(unk32 param1);
void func_ov024_020cb194(unk16 param1);
static UnkStruct_ov024_020d8694 *Create(GameModeManagerBase_004 *param1);
};
+52 -31
View File
@@ -3,50 +3,57 @@
#include "System/SysNew.hpp"
#include "types.h"
// link list?
struct stack_struct1 {
void *param1;
int param2;
union {
void *param2;
unk32 arg2;
};
};
template <typename T, int arrayLength> class Iterator {
template <typename T> class Iterator {
public:
class ListData : public SysObject {
public:
u8 data[sizeof(T) * arrayLength];
};
/* 00 */ void *begin;
/* 04 */ void *end;
/* 08 */
ListData *begin;
ListData *end;
Iterator() {}
Iterator() {
this->Clear();
}
~Iterator() {
this->Destroy();
}
void Init(stack_struct1 *param1) {
if (this->begin != this->end) {
T *it = (T *) this->end;
do {
(--it)->~T();
} while (it != (T *) this->begin);
delete this->begin;
}
ListData *ptr = new(HeapIndex_1) ListData();
this->begin = ptr;
this->end = ptr + (arrayLength - 1);
// allocate the list and run the constructors for each element
void Init(size_t arrayLength) {
this->Destroy();
this->Set(arrayLength * 4);
if (this->begin != this->end) {
T *it = (T *) this->begin;
stack_struct1 *p;
do {
if (it != NULL) {
it->Init(*p);
}
new(it) T(); // using placement new to run the ctor
it++;
} while (it != (T *) this->end);
}
}
// same as the other `Init` except this takes a node list
void Init(size_t arrayLength, void *params) {
this->Destroy();
this->Set(arrayLength);
if (this->begin != this->end) {
T *it = (T *) this->begin;
stack_struct1 *p = (stack_struct1 *) params;
do {
new(it) T(*p);
it++;
p++;
@@ -54,6 +61,7 @@ public:
}
}
// iterate the array and run the destructors for each element
void Destroy() {
if (this->begin != this->end) {
T *it = (T *) this->end;
@@ -66,13 +74,26 @@ public:
}
}
void Reset() {
this->Destroy();
// allocate and set pointers
void Set(size_t arrayLength) {
void *ptr = ::operator new(arrayLength, HeapIndex_1, 4);
this->begin = ptr;
this->end = (void *) ((u8 *) ptr + arrayLength);
}
// clear pointers
void Clear() {
this->begin = NULL;
this->end = NULL;
}
T &GetRef(int index) {
// destroy and clear
void Reset() {
this->Destroy();
this->Clear();
}
T &Get(int index) {
return ((T *) this->begin)[index];
}
};
+45
View File
@@ -67,6 +67,35 @@ static inline void Vec2s_Sub(const Vec2s *a, const Vec2s *b, Vec2s *dst) {
dst->y = y;
}
//! TODO: Vec2s_OffsetAdd and Vec2s_OffsetAdd2 are probably fake?
static inline void Vec2s_OffsetAdd(Vec2s *a, Vec2s *b, Vec2s *c, Vec2s *dst) {
s16 y;
s16 x;
y = a->y + b->y;
x = a->x + b->x;
x += c->x;
y += c->y;
dst->x = x;
dst->y = y;
}
static inline void Vec2s_OffsetAdd2(Vec2s *a, Vec2s *b, Vec2s *c, Vec2s *dst) {
s16 y;
s16 x;
y = a->y + b->y;
x = a->x + b->x;
y += c->y;
x += c->x;
dst->x = x;
dst->y = y;
}
static inline void Vec2s_Copy(const Vec2s *a, Vec2s *dst) {
#if __MWERKS__
dst->coords = a->coords;
@@ -261,3 +290,19 @@ static inline void Vec2pCpp_Copy(const Vec2pCpp *a, Vec2pCpp *dst) {
dst->y = a->y;
#endif
}
//! TODO: remove
extern "C" static inline Vec2s *Vec2s_New(s16 x, s16 y) {
Vec2s vec;
vec.x = x;
vec.y = y;
return &vec;
}
//! TODO: remove
extern "C" static inline Vec2s *Vec2s_GetCopy(Vec2s *src) {
Vec2s vec;
vec.x = src->x;
vec.y = src->y;
return &vec;
}
+14 -5
View File
@@ -4,11 +4,20 @@
#include "global.h"
#include "types.h"
#define Vec2_Set(a, dst) \
{ \
(dst)->coords = (a)->coords; \
} \
((void) 0)
#if __MWERKS__
#define Vec2_Set(a, dst) \
{ \
(dst)->coords = (a)->coords; \
} \
((void) 0)
#else
#define Vec2_Set(a, dst) \
{ \
(dst)->x = (a)->x; \
(dst)->y = (a)->y; \
} \
((void) 0)
#endif
#define Vec2_CopyAdd(type, a, b, dst) \
{ \
@@ -6,14 +6,13 @@ ARM GameModeManagerBase_104::GameModeManagerBase_104() :
mUnk_1A(false) {}
ARM GameModeManagerBase_104::~GameModeManagerBase_104() {
GameModeLinkList<GameModeManagerBase_104_0C> *pNode = this->mUnk_0C.mList.GetPrevList();
GameModeLinkList<GameModeManagerBase_104_0C> *pOrigin =
(GameModeLinkList<GameModeManagerBase_104_0C> *) ((u8 *) this + offsetof(GameModeManagerBase_104, mUnk_0C));
GameModeManagerBase_104_0C *pTarget = this->mUnk_0C.GetPrevTarget();
GameModeManagerBase_104_0C *pOrigin = &this->mUnk_0C;
while (pNode != pOrigin) {
GameModeLinkList<GameModeManagerBase_104_0C> *pNextNode = pNode->GetNext2();
delete pNode->GetTarget();
pNode = pNextNode;
while (pTarget != pOrigin) {
GameModeManagerBase_104_0C *pNext = pTarget->GetPrevTarget();
delete pTarget;
pTarget = pNext;
}
}
+2 -2
View File
@@ -82,7 +82,7 @@ ARM void ItemManager::GiveRupees(s32 amount, bool param2, bool param3) {
this->mNumRupees = newAmount;
if (param3) {
data_ov024_020d8698->func_ov024_020cd368(param2 && prevNumRupees != this->mNumRupees, 1);
data_ov024_020d8698->func_ov024_020cd368(param2 && prevNumRupees != this->mNumRupees, true);
}
}
@@ -128,7 +128,7 @@ ARM bool ItemManager::TryEquipForcedItem() {
if (this->mForcedItem != ItemFlag_None) {
this->mEquippedItem = this->mForcedItem;
this->mForcedItem = ItemFlag_None;
data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, 0);
data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, false);
return true;
}
@@ -12,7 +12,7 @@ extern "C" unk32 func_0200f218(unk32, const char *);
static const char data_ov000_020af550[] = "switch";
static const char data_ov000_020af560[] = "switchB";
UnkStruct_ov019_020d24c8_28_258_00 MapObjectSwitchStep_data_020b6118(0, 0);
UnkStruct_ov019_020d24c8_28_258_00 MapObjectSwitchStep_data_020b6118(NULL, 0);
ARM DECL_PROFILE(MapObjectProfileSwitchStep);
+19
View File
@@ -0,0 +1,19 @@
#include "Unknown/UnkStruct_020d8698.hpp"
// non-matching
UnkStruct_020d8698_24_5C_Base::UnkStruct_020d8698_24_5C_Base(unk32 param1, const u16 *param2, u16 param3, unk32 param4) {
this->mUnk_80 = 0;
this->mUnk_84 = 0;
this->func_ov000_0206590c(param3, param4);
for (int i = 0; i < 10; i++) {
this->mUnk_08[i].func_ov000_0205fc20(param1, param2[i], NULL, NULL);
}
}
UnkStruct_020d8698_24_5C::UnkStruct_020d8698_24_5C(unk32 param1, const u16 *param2, u16 param3, unk32 param4) :
UnkStruct_020d8698_24_5C_Base(param1, param2, param3, param4) {
this->mUnk_98 = 0;
this->mUnk_9C = 0;
}
@@ -18,7 +18,6 @@
extern "C" {
void *func_ov024_020d1658();
void *func_ov000_02066294();
void *func_ov024_020ccd1c();
void GX_SetGraphicsMode(unk32 param1, unk32 param2, unk32 param3);
void GXS_SetGraphicsMode(unk32 param1);
}
@@ -164,11 +163,10 @@ void AdventureModeManager::vfunc_14() {
this->mUnk_1B0 = var_r5;
if (data_027e09a4->IsNotCutscene()) {
//! TODO: fake match?
GameModeLinkListNode *pList = (GameModeLinkListNode *) &this->mUnk_104;
((GameModeLinkListNode *) ((u8 *) pList + 4))->func_020166cc(var_r5->GetNode());
GameModeManagerBase_104 *pList = GetLinkListRef(this->mUnk_104);
pList->Append(var_r5);
var_r5->vfunc_18();
this->mUnk_1B5 = true;
}
@@ -179,13 +177,14 @@ void AdventureModeManager::vfunc_14() {
func_ov000_02066294();
}
func_ov024_020ccd1c();
UnkStruct_020d8698::Create();
if (data_027e09a4->IsNotCutscene()) {
GameModeManagerBase_104 *ptr = &this->mUnk_104;
GameModeLinkListNode *origin = data_ov024_020d8698->GetOrigin();
ptr->mList.func_020166cc(data_ov024_020d8698->GetNode());
((UnkStruct_020d8698 *) origin)->vfunc_18();
GameModeManagerBase_104 *pList = GetLinkListRef(this->mUnk_104);
UnkStruct_020d8698 *ptr = data_ov024_020d8698;
pList->Append(ptr);
ptr->vfunc_18();
this->mUnk_1B4 = true;
}
+4 -4
View File
@@ -108,15 +108,15 @@ void CargoManager::Update() {
if (this->mCargo.mDecayTimer >= sCargoInfos[this->mCargo.mType].timerMax) {
this->RemoveAmount(1);
this->mCargo.mDecayTimer = 0;
data_ov024_020d8698->func_ov024_020cd3f0(1);
data_ov024_020d8698->func_ov024_020cd3f0(true);
}
}
}
if (this->mCargo.mAmount <= sCargoInfos[this->mCargo.mType].amount) {
data_ov024_020d8698->func_ov024_020cd3e0(1);
data_ov024_020d8698->func_ov024_020cd3e0(true);
} else {
data_ov024_020d8698->func_ov024_020cd3e0(0);
data_ov024_020d8698->func_ov024_020cd3e0(false);
}
if (this->mUnk_18 > 0) {
@@ -139,7 +139,7 @@ void CargoManager::Init(unk32 type, unk32 amount) {
pUnkStruct_027e0d00->func_ov024_020d4cc0(this->mCargo.mType);
data_ov024_020d8698->func_ov024_020cd410();
data_ov024_020d8698->func_ov024_020cd3f0(1);
data_ov024_020d8698->func_ov024_020cd3f0(true);
}
void CargoManager::func_ov017_020bebdc() {
+5 -5
View File
@@ -273,11 +273,11 @@ ARM UnkStruct_0204a110_Sub6::UnkStruct_0204a110_Sub6() {
}
ARM UnkStruct_0204a110_Sub7::UnkStruct_0204a110_Sub7() {
this->mUnk_00 = 0;
this->mUnk_01 = 0;
this->mUnk_0C = data_027e0120;
this->mUnk_04 = new(HeapIndex_Main) UnkSystem2_UnkSubSystem9();
this->mUnk_08 = new(HeapIndex_Main) UnkStruct_0204a110_Sub7_08();
this->mUnk_00 = 0;
this->mUnk_01 = 0;
this->mUnk_0C.coords = data_027e0120.coords;
this->mUnk_04 = new(HeapIndex_Main) UnkSystem2_UnkSubSystem9();
this->mUnk_08 = new(HeapIndex_Main) UnkStruct_0204a110_Sub7_08();
}
ARM UnkStruct_0204a110_Sub8::UnkStruct_0204a110_Sub8() {
+7 -9
View File
@@ -4,15 +4,14 @@
#include "Unknown/UnkStruct_0204af1c.hpp"
extern "C" {
void func_020166cc(void *param1, void *param2, void *);
void func_ov000_02062e44(void *param1, void *param2);
};
// non-matching
ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) :
mSaveSlotIndex(param1.param2),
mSaveSlotIndex(param1.arg2),
mUnk_064(0x89, 0x01),
mUnk_29C(0x89, UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_04[param1.param2]),
mUnk_29C(0x89, UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_04[param1.arg2]),
mUnk_2B4(0x89, 0x15),
mUnk_2CC(0x89, 0x00),
mUnk_344(0x89, 0x03),
@@ -35,16 +34,15 @@ ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) :
UnkStruct_ov019_020d24c8_28_258 local_40(0x89, 0x02); // sp28
UnkStruct_ov019_020d24c8_28_258 local_58(0x89, 0x01); // sp10
s16 temp_r2 = local_58.mPos.x - local_40.mPos.x;
s16 spE = local_58.mPos.y - local_40.mPos.y;
param1.param2 = temp_r2;
s16 temp_r2 = local_58.mPos.x - local_40.mPos.x;
s16 spE = local_58.mPos.y - local_40.mPos.y;
param1.arg2 = temp_r2;
this->mUnk_77C.x = param1.param2;
this->mUnk_77C.x = param1.arg2;
this->mUnk_77C.y = spE;
}
stack = &this->mUnk_004;
func_020166cc(&this->mUnk_004, &stack, param1.param1);
this->mUnk_004.Append((LinkListNode *) param1.param1);
this->mUnk_004.mUnk_2C = 1;
}
@@ -21,7 +21,7 @@ ARM unk32 UnkSystem1_ov019_Derived1::vfunc_1C(u32 param1, unk32 param2, unk32 pa
if (this->mUnk_04 <= 0) {
this->func_ov019_020c5590(BMG_ID(BMGGroup_select, 0x1B), param2, param3);
this->mUnk_04++;
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08() != 0) {
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08()) {
switch (this->mUnk_04) {
case 0x1E:
switch (param1) {
@@ -34,7 +34,7 @@ ARM unk32 UnkSystem1_ov019_Derived2::vfunc_1C(u32 param1, unk32 param2, unk32 pa
data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1);
data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021c08();
this->mUnk_04++;
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08() != 0) {
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08()) {
if (this->mUnk_04 == 0x0F) {
SaveFile *pSaveFile = gSaveManager.mpSaveFile;
pSaveFile->func_ov019_020d1aac(this->mUnk_12, data_ov003_020ba740->mUnk_9D0);
@@ -48,7 +48,7 @@ ARM unk32 UnkSystem1_ov019_Derived3::vfunc_1C(u32 param1, unk32 param2, unk32 pa
data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1);
data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021c08();
this->mUnk_04++;
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08() != 0) {
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08()) {
if (this->mUnk_04 == 0x1E) {
if (this->mUnk_18 == 0) {
gSaveManager.func_ov019_020d0ae0(this->mUnk_12);
+19 -21
View File
@@ -154,9 +154,9 @@ ARM FileSelectMain::FileSelectMain() :
stack_struct1 params;
params.param2 = NULL;
params.param1 = &this->mUnk_0C;
this->mUnk_03E0.Init(&params);
this->mUnk_03E0.Init(sizeof(UnkSubStruct9) * MAX_SAVE_SLOTS, &params);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_0100);
this->mUnk_0C.Append(&this->mUnk_0100);
this->mUnk_0100.mUnk_2A = 0;
this->mUnk_0488.mUnk_2C = 1;
this->mUnk_07E4.mUnk_2C = 1;
@@ -188,7 +188,7 @@ ARM FileSelectMain::FileSelectMain() :
REG_DISPCNT &= 0xFFFFE0FF;
REG_DISPCNT |= 0x00001C00;
_G2_SetBlend(&REG_BLDCNT, 4, 8, 0, 0x10);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_005C);
this->mUnk_0C.Append(&this->mUnk_005C);
this->func_ov019_020c63dc();
this->func_ov019_020c6d10();
}
@@ -200,31 +200,31 @@ ARM FileSelectMain::~FileSelectMain() {
ARM void FileSelectMain::func_ov019_020c6c14() {}
ARM void FileSelectMain::func_ov019_020c6c18() {
this->mUnk_0C.mList.func_020166cc(&this->mUnk_0488);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_07E4);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_0AC4);
this->mUnk_0C.Append(&this->mUnk_0488);
this->mUnk_0C.Append(&this->mUnk_07E4);
this->mUnk_0C.Append(&this->mUnk_0AC4);
}
ARM void FileSelectMain::func_ov019_020c6c54() {
this->mUnk_0C.mList.func_020166cc(&this->mUnk_0DA4);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_11BC);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_15D4);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_18EC);
this->mUnk_0C.Append(&this->mUnk_0DA4);
this->mUnk_0C.Append(&this->mUnk_11BC);
this->mUnk_0C.Append(&this->mUnk_15D4);
this->mUnk_0C.Append(&this->mUnk_18EC);
}
ARM void FileSelectMain::func_ov019_020c6c9c() {}
ARM void FileSelectMain::func_ov019_020c6ca0() {
GameModeLinkListNode::func_020166ac(&this->mUnk_0488);
GameModeLinkListNode::func_020166ac(&this->mUnk_07E4);
GameModeLinkListNode::func_020166ac(&this->mUnk_0AC4);
this->mUnk_0488.Detach();
this->mUnk_07E4.Detach();
this->mUnk_0AC4.Detach();
}
ARM void FileSelectMain::func_ov019_020c6cd0() {
GameModeLinkListNode::func_020166ac(&this->mUnk_0DA4);
GameModeLinkListNode::func_020166ac(&this->mUnk_11BC);
GameModeLinkListNode::func_020166ac(&this->mUnk_15D4);
GameModeLinkListNode::func_020166ac(&this->mUnk_18EC);
this->mUnk_0DA4.Detach();
this->mUnk_11BC.Detach();
this->mUnk_15D4.Detach();
this->mUnk_18EC.Detach();
}
ARM void FileSelectMain::func_ov019_020c6d08() {}
@@ -1127,7 +1127,6 @@ ARM void FileSelectMain::func_ov019_020c80e8() {
ARM void FileSelectMain::func_ov019_020c80f4() {}
// non-matching
ARM void FileSelectMain::vfunc_08(Input *pButtons, TouchControl *pTouchControl) {
for (int i = 0; i < MAX_SAVE_SLOTS; i++) {
this->mUnk_03E8[i].func_ov000_02063f64();
@@ -1145,7 +1144,6 @@ ARM void FileSelectMain::func_ov019_020c8290() {
}
}
// non-matching
ARM void FileSelectMain::func_ov019_020c82c4() {
this->mUnk_039C.Update(&this->mUnk_0100.mPos);
@@ -1382,14 +1380,14 @@ ARM void FileSelectMain::func_ov019_020c9d88() {
this->mUnk_155C.func_ov000_020609c4();
if (this->mExitMode == FileSelectExitMode_AdventureMode) {
if (this->mUnk_1144.func_ov000_02060af8() != 0) {
if (this->mUnk_1144.func_ov000_02060af8()) {
this->SetState(FileSelectState_EnterGameMode);
return;
}
}
if (this->mExitMode == FileSelectExitMode_BattleMode) {
if (this->mUnk_155C.func_ov000_02060af8() != 0) {
if (this->mUnk_155C.func_ov000_02060af8()) {
this->SetState(FileSelectState_EnterGameMode);
return;
}
+3 -3
View File
@@ -36,12 +36,12 @@ ARM void FileSelectManager::vfunc_10(unk32 param1, unk32 param2, unk32 param3) {
FileSelectMain *newSub3 = new(HeapIndex_1) FileSelectMain();
this->mUnk_158 = newSub3;
this->mUnk_154->mList.func_020166cc(newSub3->GetNode());
this->mUnk_154->Append(newSub3);
newSub3->vfunc_18();
FileSelectSubScreen *newSub4 = new(HeapIndex_1) FileSelectSubScreen();
this->mUnk_15C = newSub4;
this->mUnk_154->mList.func_020166cc(newSub4->GetNode());
this->mUnk_154->Append(newSub4);
newSub4->vfunc_18();
this->mUnk_160 = new(HeapIndex_1) FileSelectManager_160(&this->mUnk_104, this->mUnk_158);
@@ -114,7 +114,7 @@ ARM void FileSelectManager::vfunc_28(unk8 *param1) {
this->func_02018a14(param1);
}
ARM void FileSelectManager::vfunc_2C(unk8 *param1) {
ARM void FileSelectManager::DrawUI(unk8 *param1) {
this->func_02018984(param1);
this->func_02018830(param1);
}
+2 -2
View File
@@ -48,7 +48,7 @@ ARM void FileSelectManager_160::vfunc_10(unk32 param1, unk32 param2) {
data_0204999c.mUnk_60 = 0xD6D8;
data_0204a088->func_ov000_02061248();
data_0204a110.func_02019538(0x27, 1);
GameModeLinkListNode::func_020166ac(&this->mUnk_10->mList);
this->mUnk_10->Detach();
this->mUnk_10->func_ov019_020cb664();
this->mUnk_14 = func_ov003_020b6520(&this->mUnk_18, this->mUnk_1C);
REG_DISPCNT &= 0xFFFFE0FF;
@@ -88,7 +88,7 @@ ARM void FileSelectManager_160::vfunc_20(unk32 param1, unk32 param2) {
data_0204a110.func_02019538(0x25, 1);
FileSelectMain *temp_r4 = this->mUnk_10;
this->mUnk_18->mList.func_020166cc(temp_r4->GetNode());
this->mUnk_18->Append(temp_r4);
temp_r4->vfunc_18();
this->mUnk_10->func_ov019_020cb5dc();
+3 -3
View File
@@ -49,13 +49,13 @@ ARM void FileSelectManager_164::vfunc_10(unk32 param1, unk32 param2) {
data_0204999c.func_02013014();
data_0204999c.mUnk_60 = 0xD6D8;
data_ov000_020b50c0.func_ov000_0206a758();
GameModeLinkListNode::func_020166ac(&this->mUnk_10->mList);
this->mUnk_10->Detach();
this->mUnk_10->func_ov019_020cb664();
data_0204a110.func_02019538(0x26, 1);
FileSelectOptionsManager::Create(this->mUnk_18, this->mUnk_10->mSaveSlotIndex);
FileSelectOptionsManager *pVar1 = gpFSOptionsManager;
this->mUnk_14->mList.func_020166cc(pVar1->GetNode());
this->mUnk_14->Append(pVar1);
pVar1->vfunc_18();
data_0204999c.func_02013070();
@@ -96,7 +96,7 @@ ARM void FileSelectManager_164::vfunc_20(unk32 param1, unk32 param2) {
data_0204a110.func_02019538(0x25, 1);
FileSelectMain *temp_r4 = this->mUnk_10;
this->mUnk_14->mList.func_020166cc(temp_r4->GetNode());
this->mUnk_14->Append(temp_r4);
temp_r4->vfunc_18();
this->mUnk_10->func_ov019_020cb5dc();
+4 -4
View File
@@ -55,7 +55,7 @@ ARM FileSelectMicTest::FileSelectMicTest() :
mUnk_304(BTN_ID_RETURN, 0x8E, 0x00, 0x01, 0x8E, 0x00),
mUnk_3F8(0x8D, 0x01),
mUnk_630(1) {
this->mUnk_0C.mList.func_020166cc(&this->mUnk_304.mUnk_044);
this->mUnk_0C.Append(&this->mUnk_304.mUnk_044);
this->mUnk_020.func_0201f730(BMG_ID(BMGGroup_select, 0x06));
this->mUnk_3F8.mUnk_14E = 1;
this->mUnk_3F8.func_0201f730(BMG_ID(BMGGroup_select, 0x43));
@@ -95,7 +95,7 @@ ARM void FileSelectMicTest::func_ov019_020ceaac() {
local_38.x = 0;
local_38.y = 0;
this->mUnk_304.func_0201e874(0x0C, (void *) &local_34, (void *) &local_38, 0);
this->mUnk_304.func_0201e874(BTN_ID_UNK_0C, (void *) &local_34, (void *) &local_38, 0);
this->mUnk_304.mUnk_000.mUnk_0A = true;
this->mUnk_304.mUnk_000.mUnk_0B = false;
@@ -191,7 +191,7 @@ ARM void FileSelectMicTest::vfunc_08(Input *pButtons, TouchControl *pTouchContro
ARM void FileSelectMicTest::vfunc_10(unk8 *param1) {
this->mUnk_270.func_ov019_020cf21c();
data_0204af1c.func_0201aa44(&this->mUnk_258.mUnk_00, &this->mUnk_258.mPos, 0, 0);
data_0204af1c.func_0201aa44(&this->mUnk_258, &this->mUnk_258.mPos, 0, 0);
this->mUnk_020.func_0201f4b4(0);
unk32 stack;
@@ -310,7 +310,7 @@ ARM void UnkStruct_ov019_020d24c8_28_270::func_ov019_020cf168() {
}
ARM void UnkStruct_ov019_020d24c8_28_270::func_ov019_020cf21c() {
data_0204af1c.func_0201aa44(this, &this->mUnk_8E, 0, 0);
data_0204af1c.func_0201aa44(&this->mUnk_00, &this->mUnk_8E, 0, 0);
for (int i = 0; i < ARRAY_LEN(this->mUnk_18.mUnk_00); i++) {
if (this->mUnk_78[i] != 0) {
+21 -21
View File
@@ -106,7 +106,7 @@ ARM FileSelectOptionsManager::FileSelectOptionsManager(void *param1, s32 saveSlo
FileSelectOptions *var_r5 = new(HeapIndex_1) FileSelectOptions(saveSlotIndex);
this->mpOptions = var_r5;
this->mUnk_24->mList.func_020166cc(var_r5->GetNode());
this->mUnk_24->Append(var_r5);
var_r5->vfunc_18();
}
@@ -128,17 +128,17 @@ ARM void FileSelectOptionsManager::vfunc_08(Input *pButtons, TouchControl *pTouc
switch (this->mUnk_1C) {
case 0:
FileSelectOptions *pFVar4 = this->mpOptions;
this->mUnk_24->mList.func_020166cc(pFVar4->GetNode());
this->mUnk_24->Append(pFVar4);
pFVar4->vfunc_18();
this->mpOptions->func_ov019_020cde9c();
GameModeLinkListNode::func_020166ac(&this->mpMicTest->mList);
this->mpMicTest->Detach();
break;
case 1:
FileSelectMicTest *pFVar5 = this->mpMicTest;
this->mUnk_24->mList.func_020166cc(pFVar5->GetNode());
this->mUnk_24->Append(pFVar5);
pFVar5->vfunc_18();
this->mpMicTest->func_ov019_020cefe4();
GameModeLinkListNode::func_020166ac(&this->mpOptions->mList);
this->mpOptions->Detach();
break;
case 2:
this->mpOptions->func_ov019_020ccdf4();
@@ -179,10 +179,10 @@ ARM FileSelectOptions::FileSelectOptions(s32 saveSlotIndex) :
mUnk_1A68(&mUnk_19D0),
mUnk_1AB8(&mUnk_19D0, 0x8C, 0x09, BMG_ID(BMGGroup_select, 0x07)) {
this->mUnk_1CF5 = false;
this->mUnk_0C.mList.func_020166cc(&this->mUnk_10A8);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_19D0);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_1388);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_16AC);
this->mUnk_0C.Append(&this->mUnk_10A8);
this->mUnk_0C.Append(&this->mUnk_19D0);
this->mUnk_0C.Append(&this->mUnk_1388);
this->mUnk_0C.Append(&this->mUnk_16AC);
this->mUnk_10A8.mUnk_2A = false;
this->mUnk_1388.mUnk_2C = true;
this->mUnk_16AC.mUnk_2C = true;
@@ -246,7 +246,7 @@ ARM void FileSelectOptions::func_ov019_020cce30() {
local_4c.x = sVar2_1.x;
local_4c.y = sVar2_1.y;
this->mUnk_1344.func_0201e874(0x0F, &local_4c, &local_50, 6);
this->mUnk_1344.func_0201e874(BTN_ID_FILE_SELECT_UNK_0F, &local_4c, &local_50, 6);
this->mUnk_1344.mUnk_0A = true;
this->mUnk_1344.mUnk_0B = false;
this->mUnk_1344.mUnk_0C = false;
@@ -268,7 +268,7 @@ ARM void FileSelectOptions::func_ov019_020cce30() {
local_5c.x = local_38.mPos.x;
local_5c.y = local_38.mPos.y;
this->mUnk_1064.func_0201e874(0x14, &local_58, &local_5c, 6);
this->mUnk_1064.func_0201e874(BTN_ID_FILE_SELECT_UNK_14, &local_58, &local_5c, 6);
this->mUnk_1064.mUnk_0A = true;
this->mUnk_1064.mUnk_0B = false;
this->mUnk_1064.mUnk_0C = false;
@@ -341,7 +341,7 @@ ARM void FileSelectOptions::func_ov019_020cd16c() {
local_50.y = local_48.y + UnkStruct_ov019_020d2170::data_ov019_020d215c.mUnk_04.y;
local_4c.x = local_38.x;
local_4c.y = local_38.y;
this->mUnk_1344.func_0201e874(0xf, &local_4c, &local_50, 7);
this->mUnk_1344.func_0201e874(BTN_ID_FILE_SELECT_UNK_0F, &local_4c, &local_50, 7);
uVar1 = this->mUnk_1344.mUnk_04;
uVar2 = this->mUnk_1344.mUnk_06;
this->mUnk_1344.mUnk_0A = true;
@@ -357,7 +357,7 @@ ARM void FileSelectOptions::func_ov019_020cd16c() {
local_58.y = local_34.mPosU.y + UnkStruct_ov019_020d2170::data_ov019_020d215c.mUnk_08.y;
local_54.y = local_34.mPosU.y;
local_54.x = local_34.mPosU.x;
this->mUnk_1064.func_0201e874(0x14, &local_54, &local_58, 7);
this->mUnk_1064.func_0201e874(BTN_ID_FILE_SELECT_UNK_14, &local_54, &local_58, 7);
this->mUnk_1064.mUnk_0A = true;
this->mUnk_1064.mUnk_0B = false;
@@ -396,7 +396,7 @@ ARM void FileSelectOptions::func_ov019_020cd41c() {
local_40.y = local_34.mPosU.y + UnkStruct_ov019_020d2170::data_ov019_020d215c.mUnk_00.y;
local_3c.x = local_34.mPosU.x;
local_3c.y = local_34.mPosU.y;
this->mUnk_1064.func_0201e874(0x0C, &local_3c, &local_40, 0);
this->mUnk_1064.func_0201e874(BTN_ID_UNK_0C, &local_3c, &local_40, 0);
this->mUnk_1064.mUnk_0A = true;
this->mUnk_1064.mUnk_0C = false;
this->mUnk_1064.mUnk_0B = false;
@@ -445,7 +445,7 @@ ARM void FileSelectOptions::func_ov019_020cd614() {
local_3c.x = local_30.mPos.x;
local_3c.y = local_30.mPos.y;
this->mUnk_1064.func_0201e874(0x0C, &local_38, &local_3c, 0);
this->mUnk_1064.func_0201e874(BTN_ID_UNK_0C, &local_38, &local_3c, 0);
this->mUnk_1064.mUnk_0A = true;
this->mUnk_1064.mUnk_0B = false;
this->mUnk_1064.mUnk_0C = false;
@@ -634,12 +634,12 @@ ARM UnkStruct_ov019_020d24c8_2C_24::UnkStruct_ov019_020d24c8_2C_24(GameModeManag
this->mUnk_FC3[0].mUnk_00 = *src;
this->mUnk_103E = pSaveSub17->mUnk_7E;
param1->mList.func_020166cc(&this->mUnk_490);
param1->mList.func_020166cc(&this->mUnk_4F0);
param1->mList.func_020166cc(&this->mUnk_9C0);
param1->mList.func_020166cc(&this->mUnk_A20);
param1->mList.func_020166cc(&this->mUnk_EF0);
param1->mList.func_020166cc(&this->mUnk_F50);
param1->Append(&this->mUnk_490);
param1->Append(&this->mUnk_4F0);
param1->Append(&this->mUnk_9C0);
param1->Append(&this->mUnk_A20);
param1->Append(&this->mUnk_EF0);
param1->Append(&this->mUnk_F50);
this->mUnk_490.mPosOffset.x = 0;
this->mUnk_490.mPosOffset.y = 0;
+1 -1
View File
@@ -186,7 +186,7 @@ ARM void FileSelect_UnkClass7::vfunc_00() {
for (int i = 0; i < ARRAY_LEN(this->mUnk_004.mUnk_000); i++) {
this->mUnk_004.mUnk_000[i].func_ov000_020609c4();
if (this->mUnk_004.mUnk_000[i].func_ov000_02060af8() != 0) {
if (this->mUnk_004.mUnk_000[i].func_ov000_02060af8()) {
this->mUnk_004.mUnk_000[i].func_ov000_02060b64();
Vec2us pos;
@@ -45,13 +45,6 @@ void func_ov024_020d2518(void *);
extern void *data_ov000_020b64f8;
struct InputInformations {
void *unk_00;
void *unk_04;
void *unk_08;
void *unk_0C;
};
AdventureModeManager::~AdventureModeManager() {
delete this->mUnk_1B8;
delete this->mUnk_170;
@@ -176,12 +169,6 @@ void AdventureModeManager::func_ov024_020c555c(unk32 param1) {
this->mUnk_154 = param1;
}
struct UnkNodeStruct5 {
virtual void vfunc_00();
virtual void vfunc_04();
virtual void vfunc_08(InputInformations *);
};
void AdventureModeManager::vfunc_24() {
u16 press;
@@ -207,26 +194,18 @@ void AdventureModeManager::vfunc_24() {
sp24.unk_08 = &this->mButtons;
sp24.unk_0C = &this->mTouchControl;
GameModeLinkListNode *var_r4 = this->mUnk_15C->mUnk_04.mList.mNext->GetNext3();
while (var_r4 != this->mUnk_15C->mUnk_04.GetOrigin()) {
GameModeManagerBase_104 *pTarget = var_r4->GetTarget<GameModeManagerBase_104>();
GameModeLinkListNode *var_r9 = pTarget->mUnk_0C.mList.GetNext();
while (var_r9 != pTarget->mUnk_0C.GetOrigin()) {
//! TODO: figure out which class it is
var_r9->GetTarget<UnkNodeStruct5>()->vfunc_08(&sp24);
var_r9 = var_r9->GetUnk2();
for (GameModeManagerBase_104::Iterator it1 = GetBeginIter(this->mUnk_15C->mUnk_04);
it1 != GetEndIter(this->mUnk_15C->mUnk_04); it1++) {
//! TODO: regalloc issues when using the iterator
for (GameModeManagerBase_104_0C *it2 = GetBeginIter(it1->mUnk_0C); it2 != GetEndIter(it1->mUnk_0C);
GetNextIter(it2)) {
it2->vfunc_08(&sp24);
}
var_r4 = var_r4->GetUnk2();
}
GameModeLinkListNode *var_r4_2 = this->mUnk_15C->mUnk_04.mList.mNext->GetNext3();
while (var_r4_2 != this->mUnk_15C->mUnk_04.GetOrigin()) {
var_r4_2->GetTarget<GameModeManagerBase_104>()->vfunc_08(&this->mButtons, &this->mTouchControl);
var_r4_2 = var_r4_2->GetUnk2();
for (GameModeManagerBase_104::Iterator it = GetBeginIter(this->mUnk_15C->mUnk_04);
it != GetEndIter(this->mUnk_15C->mUnk_04); it++) {
it->vfunc_08(&this->mButtons, &this->mTouchControl);
}
if (!this->mTouchControl.mState.touch) {
@@ -432,7 +411,7 @@ void AdventureModeManager::vfunc_24() {
return;
}
if (data_ov000_020b504c.func_ov000_02067bc4(0)->vfunc_08() != 0) {
if (data_ov000_020b504c.func_ov000_02067bc4(0)->vfunc_08()) {
return;
}
}
@@ -454,7 +433,7 @@ void AdventureModeManager::func_ov024_020c5cec() {
data_ov024_020d8698->func_ov024_020cd420();
if (!data_027e09a4->func_01ffd3d8()) {
data_ov024_020d8698->func_ov024_020cd458(data_027e0ce0->mUnk_2C->mEquippedItem, 1);
data_ov024_020d8698->func_ov024_020cd458(data_027e0ce0->mUnk_2C->mEquippedItem, true);
if (gOverlayManager.IsPlayerSub() && data_0204a088->mUnk_00 == OverlayIndex_SceneInit) {
this->mUnk_168->func_ov031_0210df60(1);
@@ -463,8 +442,7 @@ void AdventureModeManager::func_ov024_020c5cec() {
if (this->mUnk_160 != NULL && this->mUnk_160->mUnk_18 != NULL) {
AdventureModeManager_160_18 *ptr = this->mUnk_160->mUnk_18;
GameModeLinkListNode *pUVar3 = (GameModeLinkListNode *) ptr;
this->mUnk_104.mList.func_020166cc(pUVar3->GetNode());
this->mUnk_104.Append(this->mUnk_160->mUnk_18);
ptr->vfunc_18();
}
}
@@ -475,9 +453,8 @@ bool AdventureModeManager::func_ov024_020c5dac() {
if (this->func_ov024_020c6af4(4)) {
if (!data_027e09b8->func_ov000_020732dc(0) && !data_027e09b8->func_ov000_020732dc(1) &&
!data_027e09b8->func_ov000_020732dc(3) && !data_027e09b8->func_ov000_020732dc(4)) {
GameModeLinkListNode *node = data_0204e5f8.mUnk_00.mUnk_04.GetNext();
if ((void *) node == (void *) &data_0204e5f8 && (unk_00 != 1 || this->func_ov024_020c69d0() != 0) &&
if (data_0204e5f8.mUnk_00.GetNextTarget() == GetLinkListOrigin(data_0204e5f8.mUnk_00) &&
(unk_00 != 1 || this->func_ov024_020c69d0() != 0) &&
(data_027e09a4->func_01ffd3d8() || this->mUnk_168->func_ov031_0210dfd8() == 0) &&
(!data_027e09a4->func_01ffd3d8() || data_ov026_02138d10->func_ov026_020e18fc() != 0)) {
return true;
@@ -512,10 +489,8 @@ bool AdventureModeManager::func_ov024_020c5f70() {
if (var_r4) {
if (this->func_ov024_020c6af4(4) && data_0204a110.mUnk_008 != 1 && !data_027e09b8->func_ov000_020732dc(0) &&
!data_027e09b8->func_ov000_020732dc(1) && !data_027e09b8->func_ov000_020732dc(4)) {
GameModeLinkListNode *node = data_0204e5f8.mUnk_00.mUnk_04.GetNext();
if ((void *) node == (void *) &data_0204e5f8 && (unk_00 == 1 || unk_00 - 6 <= 1) &&
(unk_00 != 1 || this->func_ov024_020c69d0() != 0) &&
if (data_0204e5f8.mUnk_00.GetNextTarget() == GetLinkListOrigin(data_0204e5f8.mUnk_00) &&
(unk_00 == 1 || unk_00 - 6 <= 1) && (unk_00 != 1 || this->func_ov024_020c69d0() != 0) &&
(data_ov024_020d8660 == NULL || data_ov024_020d8660->mUnk_00 == NULL) &&
(data_027e09a4->func_01ffd3d8() || this->mUnk_168->func_ov031_0210dfd8() == 0) &&
!data_027e09a4->IsDarkRealm()) {
@@ -575,7 +550,7 @@ void AdventureModeManager::vfunc_28(unk8 *param1) {
}
}
void AdventureModeManager::vfunc_2C(unk8 *param1) {
void AdventureModeManager::DrawUI(unk8 *param1) {
s8 value = *param1;
this->func_02018984(param1);
@@ -588,25 +563,17 @@ void AdventureModeManager::vfunc_2C(unk8 *param1) {
savedUnk[1] = this->mNextButtonID;
savedUnk[0] = (u32) param1;
GameModeLinkListNode *var_r4 = this->mUnk_15C->mUnk_04.mUnk_0C.GetUnk3();
while (var_r4 != this->mUnk_15C->mUnk_04.GetOrigin()) {
GameModeManagerBase_104 *pTarget = var_r4->GetTarget<GameModeManagerBase_104>();
GameModeLinkListNode *var_r9 = pTarget->mUnk_0C.mList.GetPrev();
while (var_r9 != pTarget->mUnk_0C.GetOrigin()) {
var_r9->GetTarget<GameModeManagerBase_104_0C>()->vfunc_0C(savedUnk);
var_r9 = var_r9->GetUnk();
for (GameModeManagerBase_104::Iterator it1 = GetBeginIterReverse(this->mUnk_15C->mUnk_04);
it1 != GetEndIter(this->mUnk_15C->mUnk_04); it1--) {
for (GameModeManagerBase_104_0C::Iterator it2 = GetBeginIterReverse(it1->mUnk_0C);
it2 != GetEndIter(it1->mUnk_0C); it2--) {
it2->vfunc_0C(savedUnk);
}
var_r4 = var_r4->GetUnk();
}
GameModeLinkListNode *var_r4_2 = this->mUnk_15C->mUnk_04.mUnk_0C.GetUnk3();
while (var_r4_2 != this->mUnk_15C->mUnk_04.GetOrigin()) {
var_r4_2->GetTarget<GameModeManagerBase_104>()->vfunc_10(param1);
var_r4_2 = var_r4_2->GetUnk();
for (GameModeManagerBase_104::Iterator it = GetBeginIterReverse(this->mUnk_15C->mUnk_04);
it != GetEndIter(this->mUnk_15C->mUnk_04); it--) {
it->vfunc_10(param1);
}
}
}
@@ -722,10 +689,10 @@ void AdventureModeManager::func_ov024_020c6770(SceneIndex sceneIndex, u8 param2,
this->func_ov024_020c6840(sceneIndex);
data_027e0cf8->func_ov024_020c7780();
if (this->mUnk_1AC->mList.func_0201673c() == 0) {
GameModeLinkListNode *origin = this->mUnk_1AC->GetOrigin();
this->mUnk_158->mList.func_020166cc(origin->GetNode());
origin->GetTarget<AdventureModeManager_1AC>()->vfunc_18();
if (this->mUnk_1AC->GetListLength() == 0) {
AdventureModeManager_1AC *ptr = this->mUnk_1AC;
this->mUnk_158->Append(ptr);
ptr->vfunc_18();
}
}
@@ -737,14 +704,6 @@ bool AdventureModeManager::func_ov024_020c681c() {
return false;
}
struct SomeSaveFileStruct {
/* 00 */ SaveFile *mpSaveFiles[MAX_SAVE_SLOTS];
STRUCT_PAD(0x00, 0xCC);
SomeSaveFileStruct(unk32 param1);
~SomeSaveFileStruct();
};
void AdventureModeManager::func_ov024_020c6840(SceneIndex sceneIndex) {
if (this->func_ov024_020c6d64() != 0) {
return;
@@ -755,12 +714,11 @@ void AdventureModeManager::func_ov024_020c6840(SceneIndex sceneIndex) {
}
{
//! TODO: fake match most likely
SomeSaveFileStruct uStack_e8(0x1770);
func_ov024_020d24d4(&uStack_e8.mpSaveFiles[1]);
func_ov024_020d2538(&uStack_e8.mpSaveFiles[1], sceneIndex, 0, uStack_e8.mpSaveFiles[0]);
data_027e0cf8->func_ov024_020c755c(&uStack_e8.mpSaveFiles[1]);
func_ov024_020d2518(&uStack_e8.mpSaveFiles[1]);
UnkDataStruct3 uStack_e8(0x1770);
func_ov024_020d24d4(&uStack_e8.mUnk_04);
func_ov024_020d2538(&uStack_e8.mUnk_04, sceneIndex, 0, uStack_e8.mUnk_00.unk_00);
data_027e0cf8->func_ov024_020c755c(&uStack_e8.mUnk_04);
func_ov024_020d2518(&uStack_e8.mUnk_04);
}
}
@@ -804,7 +762,7 @@ bool AdventureModeManager::func_ov024_020c6940(unk32 param1, unk32 param2) {
void AdventureModeManager::func_ov024_020c699c() {
if (data_027e0cf8->mUnk_1C) {
data_027e0cf8->func_ov024_020c7724();
GameModeLinkListNode::func_020166ac(&this->mUnk_1AC->mList);
this->mUnk_1AC->Detach();
}
}
@@ -832,13 +790,13 @@ unk32 AdventureModeManager::func_ov024_020c6a20() {
return uVar2;
}
void AdventureModeManager::func_ov024_020c6a48(unk32 param1, unk32 param2) {
void AdventureModeManager::func_ov024_020c6a48(unk32 param1, bool param2) {
switch (param1) {
case 0:
case 1:
case 2:
case 3:
data_ov024_020d8698->func_ov024_020cd4e4(param1);
data_ov024_020d8698->func_ov024_020cd4e4(param1, param2);
break;
case 4:
if (data_027e09a4->func_01ffd3d8()) {
@@ -848,7 +806,7 @@ void AdventureModeManager::func_ov024_020c6a48(unk32 param1, unk32 param2) {
}
break;
case 5:
data_ov024_020d8698->func_ov024_020cd4e4(param1);
data_ov024_020d8698->func_ov024_020cd4e4(param1, param2);
this->func_ov024_020c6a48(4, param2);
break;
default:
@@ -890,13 +848,13 @@ bool AdventureModeManager::func_ov024_020c6af4(unk32 param1) {
void AdventureModeManager::func_ov024_020c6b8c() {
if (this->mUnk_1B4 && data_ov024_020d8698 != NULL) {
GameModeLinkListNode::func_020166ac(&data_ov024_020d8698->mList);
data_ov024_020d8698->Detach();
}
if (data_ov024_020d8698 != NULL) {
GameModeLinkListNode *origin = data_ov024_020d8698->GetOrigin();
this->mUnk_104.mList.func_020166cc(data_ov024_020d8698->GetNode());
origin->GetTarget<UnkStruct_020d8698>()->vfunc_18();
UnkStruct_020d8698 *ptr = data_ov024_020d8698;
this->mUnk_104.Append(ptr);
ptr->vfunc_18();
if (!this->mUnk_1B4) {
data_ov024_020d8698->func_ov024_020cd094();
@@ -907,9 +865,9 @@ void AdventureModeManager::func_ov024_020c6b8c() {
if (!data_027e09a4->func_01ffd3d8()) {
if (!this->mUnk_1B5 && this->mUnk_1B0 != NULL) {
GameModeLinkListNode *origin = this->mUnk_1B0->GetOrigin();
this->mUnk_104.mList.func_020166cc(this->mUnk_1B0->GetNode());
origin->GetTarget<AdventureModeManager_1B0>()->vfunc_18();
AdventureModeManager_1B0 *ptr = this->mUnk_1B0;
this->mUnk_104.Append(ptr);
ptr->vfunc_18();
this->mUnk_1B5 = true;
}
@@ -918,13 +876,13 @@ void AdventureModeManager::func_ov024_020c6b8c() {
void AdventureModeManager::func_ov024_020c6c60() {
if (this->mUnk_1B4 && data_ov024_020d8698 != NULL) {
GameModeLinkListNode::func_020166ac(&data_ov024_020d8698->mList);
data_ov024_020d8698->Detach();
this->mUnk_1B4 = false;
}
if (!data_027e09a4->func_01ffd3d8()) {
if (this->mUnk_1B5 && this->mUnk_1B0 != NULL) {
GameModeLinkListNode::func_020166ac(&this->mUnk_1B0->mList);
this->mUnk_1B0->Detach();
this->mUnk_1B5 = false;
}
}
@@ -29,8 +29,8 @@ AdventureModeManager_15C_20_00::AdventureModeManager_15C_20_00(bool param1) :
this->mUnk_01C = 0;
}
this->mUnk_0C.mList.func_020166cc(this->mUnk_020);
this->mUnk_0C.mList.func_020166cc(this->mUnk_024);
this->mUnk_0C.Append(this->mUnk_020);
this->mUnk_0C.Append(this->mUnk_024);
this->mUnk_028.mUnk_04 = this->mUnk_020;
this->mUnk_078.mUnk_04 = this->mUnk_024;
@@ -95,7 +95,7 @@ void AdventureModeManager_160::vfunc_0C(unk32 param1) {
}
break;
case 6:
if (data_ov000_020b504c.func_ov000_02067f88(0, 1) != 0) {
if (data_ov000_020b504c.func_ov000_02067f88(0, 1)) {
this->func_ov024_020c7d4c(param1);
}
break;
@@ -153,7 +153,7 @@ void AdventureModeManager_160::func_ov024_020c7d4c(unk32 param1) {
this->func_ov024_020c851c(param1);
UnkStruct_ov019_020d24c8_28_258 local_30(0x5F, 0);
data_0204a110.GetUnkDDC()->func_0201e588(1, (s16) (-local_30.mUnk_0E / 2), 0, 8, 0);
data_0204a110.GetUnkDDC()->func_0201e588(1, (s16) (-local_30.mUnk_0E.x / 2), 0, 8, 0);
this->mUnk_18->func_ov006_020b6c74();
this->mUnk_0C = 7;
@@ -56,8 +56,8 @@ void AdventureModeManager_184::vfunc_0C(unk32 param1) {
}
this->mUnk_10->func_ov010_020b7008();
data_ov024_020d8698->func_ov024_020cd368(0, 0);
data_ov024_020d8698->func_ov024_020cd3f0(0);
data_ov024_020d8698->func_ov024_020cd368(false, false);
data_ov024_020d8698->func_ov024_020cd3f0(false);
}
if (this->mUnk_10 != NULL && this->mUnk_10->vfunc_20()) {
@@ -38,14 +38,6 @@ static const bool data_ov024_020d7544[] = {true, false, true};
static const u8 data_ov024_020d7547[] = {0x03, 0x01, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00};
static u16 data_ov024_020d869c;
//! TODO figure this out
struct SomeSaveFileStruct {
/* 00 */ void *unk_00;
SomeSaveFileStruct(unk32 param1);
~SomeSaveFileStruct();
};
static const AdventureModeManager_1B8_Base_1C data_ov024_020d8200(0x14, 0x08, 0xD8, 0xB0);
AdventureModeManager_1B8_Base::AdventureModeManager_1B8_Base(u8 bgType, bool param2,
@@ -110,7 +102,6 @@ static inline void SetUnkValue4(int a, int b, int *pVal) {
}
}
// https://decomp.me/scratch/LhXwS
bool AdventureModeManager_1B8_Base::func_ov024_020d0744(s32 arg1, s32 arg2, s32 arg3, s32 arg4, u8 arg5, u8 arg6) {
bool sp10;
s32 sp8;
@@ -258,7 +249,6 @@ bool AdventureModeManager_1B8_Base::func_ov024_020d0924(unk32 param1, unk32 para
return true;
}
// https://decomp.me/scratch/e7SZ5
void AdventureModeManager_1B8_Base::func_ov024_020d0a64() {
u32 var_r2;
s32 var_r2_2;
@@ -281,7 +271,7 @@ void AdventureModeManager_1B8_Base::func_ov024_020d0a64() {
}
if (var_r6 != 0) {
SomeSaveFileStruct sp4(var_r6);
UnkDataStruct2 sp4(var_r6);
_MI_CpuFill(0, sp4.unk_00, var_r6);
this->TryLoadBGChar(sp4.unk_00, GetUnkValue2(), var_r6);
}
@@ -290,7 +280,7 @@ void AdventureModeManager_1B8_Base::func_ov024_020d0a64() {
var_r7 = GetUnkValue(0xC0 - var_r6);
if (var_r7 != 0) {
SomeSaveFileStruct sp0(var_r7);
UnkDataStruct2 sp0(var_r7);
_MI_CpuFill(0, sp0.unk_00, var_r7);
this->TryLoadBGChar(sp0.unk_00, GetUnkValue2() + GetUnkValue(var_r6), var_r7);
}
@@ -510,7 +500,7 @@ void AdventureModeManager_1B8::func_ov024_020d114c() {
}
bool AdventureModeManager_1B8::func_ov024_020d1160() {
SomeSaveFileStruct sp1C(0x4A90);
UnkDataStruct2 sp1C(0x4A90);
s32 *unk_00 = (s32 *) sp1C.unk_00;
void *sp14 = (void *) ((u8 *) sp1C.unk_00 + 0x1290);
@@ -601,7 +591,7 @@ void AdventureModeManager_1B8::func_ov024_020d13cc(s32 param1) {
}
if (GET_FLAG(gSaveManager.mUnk_000->mUnk_B30, this->mUnk_24)) {
SomeSaveFileStruct sp4(0x2290);
UnkDataStruct2 sp4(0x2290);
void *unk_00 = sp4.unk_00;
if (gSaveManager.func_ov000_020a0b70(unk_00, this->mUnk_24)) {
@@ -63,22 +63,13 @@ void UnkStruct_027e0cf8::func_ov024_020c755c(void *param1) {
}
}
//! TODO: figure this out
struct SomeSaveFileStruct {
/* 00 */ SaveFile *mpSaveFiles[MAX_SAVE_SLOTS];
/* 08 */ STRUCT_PAD(0x00, 0xC4);
/* CC */ unk32 mUnk_CC;
SomeSaveFileStruct(unk32 param1);
~SomeSaveFileStruct();
};
void UnkStruct_027e0cf8::func_ov024_020c75d0(void *param1, unk32 param2, u16 param3) {
if (this->mUnk_1C) {
UnkStruct_027e0cf8::func_ov024_020c7724();
}
unk32 uVar1 = ((SomeSaveFileStruct *) param1)->mUnk_CC;
//! TODO: confirm what UnkDataStruct3 is so we can remove the cast
unk32 uVar1 = ((UnkDataStruct3 *) param1)->mUnk_CC;
volatile Vec2us local_1c;
func_ov024_020d524c((Vec2us *) &local_1c, uVar1);
@@ -0,0 +1,86 @@
#include "MainGame/UnkAdventureModeSystem1.hpp"
UnkAdventureModeSystem1::UnkAdventureModeSystem1(Vec2s *param1, Vec2s *param2, bool param3) {
Vec2s local_24;
Vec2s local_20;
local_20.x = param2->x;
local_20.y = param2->y;
local_24.x = param1->x;
local_24.y = param1->y;
this->mUnk_04.func_0201e874(BTN_ID_UNK_08, &local_24, &local_20, 0);
if (!param3) {
this->mUnk_04.mUnk_10 = this->mUnk_04.mUnk_20;
this->mUnk_04.mUnk_14 = this->mUnk_04.mUnk_24;
this->mUnk_04.mUnk_04 = this->mUnk_04.mUnk_06;
this->mUnk_04.mUnk_0A = false;
this->mUnk_04.mUnk_0B = false;
this->mUnk_04.mUnk_0C = true;
}
}
UnkAdventureModeSystem1::UnkAdventureModeSystem1(bool param3) {
if (!param3) {
this->mUnk_04.mUnk_10 = this->mUnk_04.mUnk_20;
this->mUnk_04.mUnk_14 = this->mUnk_04.mUnk_24;
this->mUnk_04.mUnk_04 = this->mUnk_04.mUnk_06;
this->mUnk_04.mUnk_0A = false;
this->mUnk_04.mUnk_0B = false;
this->mUnk_04.mUnk_0C = true;
}
}
void UnkAdventureModeSystem1::func_ov024_020cab58(Vec2s *param1, Vec2s *param2) {
Vec2s local_24;
Vec2s local_20;
local_20.x = param2->x;
local_20.y = param2->y;
local_24.x = param1->x;
local_24.y = param1->y;
this->mUnk_04.func_0201e874(BTN_ID_UNK_08, &local_24, &local_20, 0);
}
bool UnkAdventureModeSystem1::func_ov024_020caba4(unk32 param1) {
this->mUnk_04.UpdateLogic();
switch (this->vfunc_00(param1)) {
case 0:
if (!this->mUnk_04.mUnk_0A) {
this->mUnk_04.UnkOperations1();
}
break;
case 2:
if (!this->mUnk_04.mUnk_0B) {
this->mUnk_04.UnkOperations2();
}
case 1:
default:
break;
}
if (this->mUnk_04.mUnk_10 == this->mUnk_04.mUnk_18 && this->mUnk_04.mUnk_14 == this->mUnk_04.mUnk_1C &&
!this->mUnk_04.mUnk_0A) {
return true;
}
return false;
}
bool UnkAdventureModeSystem1::func_ov024_020cad7c(unk32 param1) {
bool ret = this->func_ov024_020caba4(param1);
bool result = true;
if (!ret) {
result = false;
}
this->mUnk_48->mUnk_2A = result;
return ret;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,177 @@
#include "Message/BMG.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_ov024_020d8694.hpp"
UnkStruct_ov024_020d8694 *data_ov024_020d8694 = NULL;
static const u32 sBMGSceneMap[] = {
BMG_ID(BMGGroup_maingame, MsgIndex_ForestLand), // TC_SceneMsgIdx_ForestLand
BMG_ID(BMGGroup_maingame, MsgIndex_SnowLand), // TC_SceneMsgIdx_SnowLand
BMG_ID(BMGGroup_maingame, MsgIndex_OceanLand), // TC_SceneMsgIdx_OceanLand
BMG_ID(BMGGroup_maingame, MsgIndex_FireLand), // TC_SceneMsgIdx_FireLand
BMG_ID(BMGGroup_maingame, MsgIndex_TowerOfSpirits), // TC_SceneMsgIdx_TowerOfSpirits
BMG_ID(BMGGroup_maingame, MsgIndex_TunnelToTheTower), // TC_SceneMsgIdx_TunnelToTheTower
BMG_ID(BMGGroup_maingame, MsgIndex_WoodedTemple), // TC_SceneMsgIdx_WoodedTemple
BMG_ID(BMGGroup_maingame, MsgIndex_BlizzardTemple), // TC_SceneMsgIdx_BlizzardTemple
BMG_ID(BMGGroup_maingame, MsgIndex_MarineTemple), // TC_SceneMsgIdx_MarineTemple
BMG_ID(BMGGroup_maingame, MsgIndex_MountainTemple), // TC_SceneMsgIdx_MountainTemple
BMG_ID(BMGGroup_maingame, MsgIndex_DesertTemple), // TC_SceneMsgIdx_DesertTemple
BMG_ID(BMGGroup_maingame, MsgIndex_PirateHideout), // TC_SceneMsgIdx_PirateHideout
BMG_ID(BMGGroup_maingame, MsgIndex_HyruleCastle), // TC_SceneMsgIdx_HyruleCastle
BMG_ID(BMGGroup_maingame, MsgIndex_CastleTown), // TC_SceneMsgIdx_CastleTown
BMG_ID(BMGGroup_maingame, MsgIndex_Mayscore), // TC_SceneMsgIdx_Mayscore
BMG_ID(BMGGroup_maingame, MsgIndex_AnoukiVillage), // TC_SceneMsgIdx_AnoukiVillage
BMG_ID(BMGGroup_maingame, MsgIndex_PapuziaVillage), // TC_SceneMsgIdx_PapuziaVillage
BMG_ID(BMGGroup_maingame, MsgIndex_GoronVillage), // TC_SceneMsgIdx_GoronVillage
BMG_ID(BMGGroup_maingame, MsgIndex_TradingPost), // TC_SceneMsgIdx_TradingPost
BMG_ID(BMGGroup_maingame, MsgIndex_IcySpring), // TC_SceneMsgIdx_IcySpring
BMG_ID(BMGGroup_maingame, MsgIndex_OutsetVillage), // TC_SceneMsgIdx_OutsetVillage
BMG_ID(BMGGroup_maingame, MsgIndex_WoodlandSanctuary), // TC_SceneMsgIdx_WoodlandSanctuary
BMG_ID(BMGGroup_maingame, MsgIndex_SnowfallSanctuary), // TC_SceneMsgIdx_SnowfallSanctuary
BMG_ID(BMGGroup_maingame, MsgIndex_IslandSanctuary), // TC_SceneMsgIdx_IslandSanctuary
BMG_ID(BMGGroup_maingame, MsgIndex_ValleySanctuary), // TC_SceneMsgIdx_ValleySanctuary
BMG_ID(BMGGroup_maingame, MsgIndex_DuneSanctuary), // TC_SceneMsgIdx_DuneSanctuary
BMG_ID(BMGGroup_maingame, MsgIndex_BridgeWorkersHouse), // TC_SceneMsgIdx_BridgeWorkersHouse
#if IS_JP
BMG_ID(BMGGroup_dungeon, MsgIndex_BossStagnox), // TC_SceneMsgIdx_BossStagnox
BMG_ID(BMGGroup_dungeon, MsgIndex_BossFraaz), // TC_SceneMsgIdx_BossFraaz
BMG_ID(BMGGroup_dungeon, MsgIndex_BossCactops), // TC_SceneMsgIdx_BossCactops
BMG_ID(BMGGroup_dungeon, MsgIndex_BossVulcano), // TC_SceneMsgIdx_BossVulcano
BMG_ID(BMGGroup_dungeon, MsgIndex_BossCapbone), // TC_SceneMsgIdx_BossCapbone
BMG_ID(BMGGroup_train_extra, MsgIndex_BossGhostTrain), // TC_SceneMsgIdx_BossGhostTrain
BMG_ID(BMGGroup_dungeon, MsgIndex_BossStaven), // TC_SceneMsgIdx_BossStaven
BMG_ID(BMGGroup_dungeon, MsgIndex_BossMalladus1), // TC_SceneMsgIdx_BossMalladus1
BMG_ID(BMGGroup_dungeon, MsgIndex_BossMalladus2), // TC_SceneMsgIdx_BossMalladus2
#else
BMG_ID(BMGGroup_maingame, MsgIndex_BossStagnox), // TC_SceneMsgIdx_BossStagnox
BMG_ID(BMGGroup_maingame, MsgIndex_BossFraaz), // TC_SceneMsgIdx_BossFraaz
BMG_ID(BMGGroup_maingame, MsgIndex_BossCactops), // TC_SceneMsgIdx_BossCactops
BMG_ID(BMGGroup_maingame, MsgIndex_BossVulcano), // TC_SceneMsgIdx_BossVulcano
BMG_ID(BMGGroup_maingame, MsgIndex_BossCapbone), // TC_SceneMsgIdx_BossCapbone
BMG_ID(BMGGroup_maingame, MsgIndex_BossGhostTrain), // TC_SceneMsgIdx_BossGhostTrain
BMG_ID(BMGGroup_maingame, MsgIndex_BossStaven), // TC_SceneMsgIdx_BossStaven
BMG_ID(BMGGroup_maingame, MsgIndex_BossMalladus1), // TC_SceneMsgIdx_BossMalladus1
BMG_ID(BMGGroup_maingame, MsgIndex_BossMalladus2), // TC_SceneMsgIdx_BossMalladus2
#endif
BMG_ID(BMGGroup_maingame, MsgIndex_GoronTargetRange), // TC_SceneMsgIdx_GoronTargetRange
BMG_ID(BMGGroup_maingame, MsgIndex_SnowdriftStation), // TC_SceneMsgIdx_SnowdriftStation
BMG_ID(BMGGroup_maingame, MsgIndex_LostAtSeaStation), // TC_SceneMsgIdx_LostAtSeaStation
BMG_ID(BMGGroup_maingame, MsgIndex_DisorientationStation), // TC_SceneMsgIdx_DisorientationStation
BMG_ID(BMGGroup_maingame, MsgIndex_EndsOfTheEarthStation), // TC_SceneMsgIdx_EndsOfTheEarthStation
BMG_ID(BMGGroup_maingame, MsgIndex_DarkOreMine), // TC_SceneMsgIdx_DarkOreMine
BMG_ID(BMGGroup_maingame, MsgIndex_RabbitHaven), // TC_SceneMsgIdx_RabbitHaven
BMG_ID(BMGGroup_maingame, MsgIndex_SlipperyStation), // TC_SceneMsgIdx_SlipperyStation
};
UnkStruct_ov024_020d8694 *UnkStruct_ov024_020d8694::Create(GameModeManagerBase_004 *param1) {
return new(HeapIndex_1) UnkStruct_ov024_020d8694(param1);
}
UnkStruct_ov024_020d8694::UnkStruct_ov024_020d8694(GameModeManagerBase_004 *param1) :
mUnk_01C(param1),
mUnk_188(param1),
mUnk_2FC(param1),
mUnk_434(NULL),
mUnk_438(NULL),
mUnk_43C(param1) {
this->mUnk_434 = new(HeapIndex_1) UnkSystem2_UnkSubSystem11_Derived2();
this->mUnk_438 = new(HeapIndex_1) UnkSystem2_UnkSubSystem5_Base_10();
this->mUnk_438->vfunc_10(this->mUnk_434);
this->mUnk_01C.func_ov024_020cb274(this->mUnk_434, this->mUnk_438);
this->mUnk_188.func_ov024_020cb274(this->mUnk_434, this->mUnk_438);
this->mUnk_2FC.func_ov024_020cb274(this->mUnk_434, this->mUnk_438);
}
UnkStruct_ov024_020d8694::~UnkStruct_ov024_020d8694() {
if (this->mUnk_434 != NULL) {
delete this->mUnk_434;
}
if (this->mUnk_438 != NULL) {
delete this->mUnk_438;
}
this->mUnk_2FC.func_ov024_020cb280();
this->mUnk_188.func_ov024_020cb280();
this->mUnk_01C.func_ov024_020cb280();
}
void UnkStruct_ov024_020d8694::func_ov024_020cafb8(unk32 param1) {
this->func_ov024_020cb0c4();
this->mUnk_01C.func_ov024_020cbe94(param1);
}
void UnkStruct_ov024_020d8694::func_ov024_020cafd8(unk32 param1) {
this->func_ov024_020cb0c4();
this->mUnk_01C.mUnk_168 = true;
this->mUnk_01C.func_ov024_020cbe94(param1);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb000(unk32 param1) {
this->func_ov024_020cb0c4();
this->mUnk_01C.func_ov024_020cbf74(param1);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb020(unk32 param1) {
this->func_ov024_020cb0c4();
this->mUnk_01C.func_ov024_020cc05c(param1);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb040() {
this->mUnk_01C.func_ov024_020cc088(true);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb054(unk32 param1, Vec2s *param2, Vec2s *param3) {
this->func_ov024_020cb0c4();
Vec2s local_20;
Vec2s local_24;
local_24.x = param3->x;
local_24.y = param3->y;
local_20.x = param2->x;
local_20.y = param2->y;
this->mUnk_2FC.func_ov024_020ccb10(param1, &local_20, &local_24);
}
u32 UnkStruct_ov024_020d8694::GetMessageID(int index) {
if (index >= 0) {
return sBMGSceneMap[index];
}
return BMG_ID_NONE;
}
void UnkStruct_ov024_020d8694::func_ov024_020cb0c4() {
this->mUnk_01C.func_ov024_020cc088(false);
this->mUnk_188.func_ov024_020cc088(false);
this->mUnk_2FC.func_ov024_020cb5bc();
}
void UnkStruct_ov024_020d8694::vfunc_08(Input *pButtons, TouchControl *pTouchControl) {
this->mUnk_01C.vfunc_00();
this->mUnk_188.vfunc_00();
this->mUnk_2FC.vfunc_00();
}
void UnkStruct_ov024_020d8694::vfunc_10(unk8 *param1) {
this->mUnk_01C.vfunc_04(param1);
this->mUnk_188.vfunc_04(param1);
this->mUnk_2FC.vfunc_04(param1);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb178(unk32 param1) {
data_027e0994->func_02018aac(param1, true);
}
void UnkStruct_ov024_020d8694::func_ov024_020cb194(unk16 param1) {
data_027e0994->func_02018ac4(param1);
data_0204a110.mUnk_010.func_0201ca28(0);
data_0204a110.mUnk_010.func_0201ca28(1);
}
DECL_INSTANCE(UnkStruct_ov024_020d8694, data_ov024_020d8694);
@@ -0,0 +1,620 @@
#include "Game/GameModeManager.hpp"
#include "System/OverlayManager.hpp"
#include "Unknown/UnkMemFuncs.h"
#include "Unknown/UnkStruct_02049be0.hpp"
#include "Unknown/UnkStruct_0204a088.hpp"
#include "Unknown/UnkStruct_0204a110.hpp"
#include "Unknown/UnkStruct_0204af1c.hpp"
#include "Unknown/UnkStruct_0204e5f8.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "Unknown/UnkStruct_027e0cd8.hpp"
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
#include "Unknown/UnkStruct_ov000_020b4f84.hpp"
#include "Unknown/UnkStruct_ov024_020d8694.hpp"
extern "C" unk32 func_02014fe0();
extern "C" q20 func_01ffb428(unk32, unk32);
UnkTitleCardSystem1::UnkTitleCardSystem1(GameModeManagerBase_004 *param1) :
mUnk_004(4),
mUnk_008(NULL),
mUnk_00C(NULL),
mUnk_010(0),
mUnk_014(param1),
mUnk_134(false) {}
void UnkTitleCardSystem1::func_ov024_020cb274(UnkSystem2_UnkSubSystem11_Derived2 *param1,
UnkSystem2_UnkSubSystem5_Base_10 *param2) {
this->mUnk_008 = param1;
this->mUnk_00C = param2;
}
void UnkTitleCardSystem1::func_ov024_020cb280() {}
void UnkTitleCardSystem1::func_ov024_020cb284(unk32 param1, unk32 param2) {
if (!data_ov000_020b504c.func_ov000_02067f88(0, param2)) {
return;
}
if (param2 == 1) {
data_ov000_020b504c.func_ov000_02067f5c(0);
}
this->mUnk_134 = true;
this->mUnk_010 = param2;
EntryINF1 *pINF1 = data_ov000_020b504c.mUnk_000->func_ov000_02067a2c(param1);
u8 fontIndex = pINF1->fontIndex;
if (fontIndex == FontIndex_04) {
fontIndex = FontIndex_DSZ2_msg;
}
this->mUnk_008->mUnk_1C.mUnk_04 = &data_ov000_020b4f84.mUnk_00[fontIndex].mUnk_14;
this->vfunc_10();
this->vfunc_0C();
UnkStruct_func_02019590 *puVar5 = data_0204a110.func_02019590(this->mUnk_004, this->vfunc_08());
s16 bitFieldVal2 = puVar5->c_b2;
s16 bitFieldVal1 = puVar5->c_b1;
if (bitFieldVal1 == 0) {
bitFieldVal1 = 0x100;
}
UnkDataStruct2 sp10(((bitFieldVal1 * bitFieldVal2) / 64) * 32);
UnkMsgDataStruct1 spC;
UnkMsgDataStruct1 sp8;
Vec2s sp4;
sp4.x = bitFieldVal1;
sp4.y = bitFieldVal2;
this->func_ov024_020cb490(&sp10, (unk32 *) &sp4);
this->mUnk_008->mUnk_1C.mUnk_08 = pINF1->mUnk_07;
spC.func_ov000_02067a60(data_ov000_020b504c.mUnk_000, param1);
unk32 temp_r7 = this->mUnk_00C->func_ov000_020691e0(&spC);
UnkSystem2_UnkSubSystem11_Derived2 *temp_r8 = this->mUnk_008;
this->mUnk_130 = temp_r7 + this->vfunc_18();
unk32 temp_r0_3 = (this->mUnk_008->mUnk_04.unk_08 * 8);
int temp_r5_3 = (this->mUnk_008->func_ov000_02061db8() / 2) + ((temp_r0_3 - this->mUnk_008->func_ov000_02061da8()) / 2);
int temp_r6_2 = (((this->mUnk_008->mUnk_04.unk_04 * 8) - temp_r7) / 2);
UnkMsgDataStruct1 *ptr = (UnkMsgDataStruct1 *) &sp8; // cast is required
ptr->func_ov000_02067a60(data_ov000_020b504c.mUnk_000, param1);
this->mUnk_00C->vfunc_14(ptr->mUnk_00);
Vec2s sp0;
sp0.x = temp_r6_2;
sp0.y = temp_r5_3;
this->mUnk_00C->func_ov000_02068798(&sp0);
this->mUnk_008->func_ov000_02062838(sp10.unk_00);
}
//! TODO: fake match? see UnkStruct_func_02019590
void UnkTitleCardSystem1::func_ov024_020cb490(UnkDataStruct2 *param1, unk32 *param2) {
UnkStruct_func_02019590 *ptr = data_0204a110.func_02019590(this->mUnk_004, this->vfunc_08());
u16 arg7_val = ptr->e;
bool var_r2 = this->mUnk_010 == 1;
if (this->mUnk_004 == 0x63) {
this->mUnk_008->func_ov000_020626e4(param1->unk_00, var_r2, param2, 0, 0, 0, arg7_val);
} else {
this->mUnk_008->func_ov000_020626e4(param1->unk_00, var_r2, param2, 0, 1, 0, arg7_val);
}
ptr = data_0204a110.func_02019590(this->mUnk_004, this->vfunc_08());
int x_div = (this->mUnk_008->mUnk_04.unk_04 * 8) / 2;
int x = (ptr->a - this->mUnk_018.mPos.x - x_div);
this->mUnk_060.x = x;
int y_div = (this->mUnk_008->mUnk_04.unk_08 * 8) / 2;
int y = (ptr->b - this->mUnk_018.mPos.y - y_div);
this->mUnk_060.y = y;
this->mUnk_00C->mUnk_016 = ptr->d;
}
unk32 UnkTitleCardSystem1::vfunc_08() {
return 0;
}
void UnkTitleCardSystem1::vfunc_0C() {}
void UnkTitleCardSystem1::vfunc_10() {}
void UnkTitleCardSystem1::func_ov024_020cb5bc() {
if (this->mUnk_134) {
this->mUnk_008->func_ov000_02062144();
this->mUnk_134 = false;
data_ov024_020d8694->func_ov024_020cb194(this->mUnk_004);
}
}
void UnkTitleCardSystem1::vfunc_00() {}
void UnkTitleCardSystem1::vfunc_04(unk8 *param1) {
UnkDataStruct1 auStack_20(0x40);
this->func_ov024_020cb654(param1, &auStack_20);
}
void UnkTitleCardSystem1::func_ov024_020cb654(unk8 *param1, UnkDataStruct1 *param2) {
Vec2s sp34;
Vec2s sp30;
Vec2s sp2C;
Vec2s sp28;
bool r3 = false;
bool r4 = false;
if (!(!this->mUnk_134 || this->mUnk_008->mUnk_2C == -1)) {
r4 = true;
}
if (r4) {
unk8 param = ((volatile unk8 *) param1)[this->mUnk_010];
if (this->mUnk_008->mUnk_2C == param) {
r3 = true;
}
}
if (!r3) {
return;
}
Vec2s sp24;
Vec2s sp20;
func_0201e8d4(&sp20, &this->mUnk_0A8);
Vec2s *pSp24 = (Vec2s *) &sp24;
func_0201e8d4(pSp24, &this->mUnk_064);
Vec2s_Add(pSp24, &sp20, &sp34);
data_0204af1c.func_0201aa44(&this->mUnk_030, &sp34, 1, (void *) param2);
s16 unk_056 = this->mUnk_048.mUnk_0E.x;
Vec2s sp18;
Vec2s sp1C;
func_0201e8d4(&sp18, &this->mUnk_0EC);
func_0201e8d4(&sp1C, &this->mUnk_0A8);
int var_r7 = (sp18.x - sp1C.x) - unk_056;
Vec2s sp14;
Vec2s sp10;
Vec2s offset;
offset.x = (this->mUnk_030.mUnk_0E.x / 2) + (this->mUnk_018.mUnk_0E.x / 2);
offset.y = 0;
func_0201e8d4(&sp10, &this->mUnk_0A8);
Vec2s *pSp14 = (Vec2s *) &sp14;
func_0201e8d4(pSp14, &this->mUnk_064);
Vec2s_OffsetAdd(pSp14, &sp10, &offset, &sp30);
while (true) {
data_0204af1c.func_0201aa44(&this->mUnk_018, &sp30, 1, (void *) param2);
s16 step_x = this->mUnk_018.mUnk_0E.x;
var_r7 -= step_x;
if (var_r7 <= 0) {
break;
}
if (var_r7 < step_x) {
sp30.x += var_r7;
} else {
sp30.x += step_x;
}
}
Vec2s spC;
Vec2s sp8;
func_0201e8d4(&sp8, &this->mUnk_0EC);
Vec2s *pSpC = (Vec2s *) &spC;
func_0201e8d4(pSpC, &this->mUnk_064);
Vec2s_Add(pSpC, &sp8, &sp2C);
data_0204af1c.func_0201aa44(&this->mUnk_048, &sp2C, 1, (void *) param2);
if (this->vfunc_14()) {
Vec2s sp4;
Vec2s *pSp4 = (Vec2s *) &sp4;
func_0201e8d4(pSp4, &this->mUnk_064);
Vec2s_Add(pSp4, &this->mUnk_060, &sp28);
this->mUnk_008->func_ov000_0206216c(&sp28, 0, 0);
}
}
bool UnkTitleCardSystem1::vfunc_14() {
return this->mUnk_064.mUnk_0A ? false : true;
}
unk32 UnkTitleCardSystem1::vfunc_18() {
return 0x1E;
}
UnkTitleCardSystem1_Derived1::UnkTitleCardSystem1_Derived1(GameModeManagerBase_004 *param1) :
UnkTitleCardSystem1(param1),
mUnk_138(0),
mUnk_13C(0),
mUnk_13E(0),
mUnk_140(false) {}
void UnkTitleCardSystem1_Derived1::vfunc_1C(u32 msgId, unk32 param2, bool param3) {
s16 x;
if (data_027e09a4->IsCutscene()) {
return;
}
if (param3) {
this->mUnk_13C = 90;
} else {
this->mUnk_13C = 0;
}
this->func_ov024_020cb284(msgId, param2);
this->mUnk_064.func_0201e874(BTN_ID_UNK_00, Vec2s_GetCopy(&this->mUnk_018.mPos), Vec2s_GetCopy(&this->mUnk_018.mPos), 0);
x = -((this->mUnk_130 / 2) + (this->mUnk_048.mUnk_0E.x / 2));
this->mUnk_0A8.func_0201e874(BTN_ID_UNK_00, Vec2s_New(x, 0), Vec2s_New(x, 0), 0);
x = (this->mUnk_130 / 2) + (this->mUnk_030.mUnk_0E.x / 2);
this->mUnk_0EC.func_0201e874(BTN_ID_UNK_00, Vec2s_New(x, 0), Vec2s_New(x, 0), 0);
}
unk32 UnkTitleCardSystem1_Derived1::vfunc_08() {
switch (this->mUnk_004) {
case 0x04:
return 0;
case 0x06:
return 0;
case 0x05:
return 0;
case 0x14:
return 0;
case 0x15:
return 0;
case 0x07:
return 0;
case 0x63:
return 0;
default:
break;
}
//! @bug: missing return
}
void UnkTitleCardSystem1_Derived1::vfunc_0C() {
switch (this->mUnk_004) {
case 0x04:
this->mUnk_018.UnknownAction(0x04, 0x01);
this->mUnk_030.UnknownAction(0x04, 0x00);
this->mUnk_048.UnknownAction(0x04, 0x02);
break;
case 0x06:
this->mUnk_018.UnknownAction(0x06, 0x01);
this->mUnk_030.UnknownAction(0x06, 0x00);
this->mUnk_048.UnknownAction(0x06, 0x02);
break;
case 0x05:
this->mUnk_018.UnknownAction(0x05, 0x01);
this->mUnk_030.UnknownAction(0x05, 0x00);
this->mUnk_048.UnknownAction(0x05, 0x02);
break;
case 0x14:
this->mUnk_018.UnknownAction(0x14, 0x01);
this->mUnk_030.UnknownAction(0x14, 0x00);
this->mUnk_048.UnknownAction(0x14, 0x02);
break;
case 0x15:
this->mUnk_018.UnknownAction(0x15, 0x01);
this->mUnk_030.UnknownAction(0x15, 0x00);
this->mUnk_048.UnknownAction(0x15, 0x02);
break;
case 0x07:
this->mUnk_018.UnknownAction(0x07, 0x01);
this->mUnk_030.UnknownAction(0x07, 0x00);
this->mUnk_048.UnknownAction(0x07, 0x02);
break;
default:
break;
}
}
void UnkTitleCardSystem1_Derived1::vfunc_10() {
if (data_027e09a4->func_01ffd3d8()) {
if (data_0204a110.mUnk_DF4 == 0) {
this->mUnk_004 = 0x07;
} else {
this->mUnk_004 = 0x15;
}
} else if (this->mUnk_140) {
this->mUnk_004 = 0x06;
} else {
if (data_027e09a4->UnkCheck2()) {
this->mUnk_004 = 0x05;
} else {
if (this->mUnk_010 == 0) {
this->mUnk_004 = 4;
} else {
this->mUnk_004 = 0x14;
}
}
}
data_ov024_020d8694->func_ov024_020cb178(this->mUnk_004);
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cbe94(unk32 param1) {
if (param1 != 0) {
this->mUnk_13E = param1;
this->mUnk_138 = 0;
} else {
this->func_ov024_020cbeb8();
}
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cbeb8() {
if (!this->func_ov024_020cc0b4()) {
return;
}
TC_SceneMsgIdx index = TC_SceneMsgIdx_None;
if (data_027e09a4->IsSnowdriftStation()) {
if (data_027e0cd8->func_ov000_02081d5c() < 6) {
index = TC_SceneMsgIdx_SnowdriftStation;
} else {
index = TC_SceneMsgIdx_SlipperyStation;
}
} else if (data_027e09a4->IsWater3()) {
if (data_027e0cd8->func_ov000_02081d5c() >= 10) {
index = TC_SceneMsgIdx_LostAtSeaStation;
}
} else {
index = data_027e09a4->func_01ffd400()->mUnk_16;
}
if (index >= 0) {
this->vfunc_1C(data_ov024_020d8694->GetMessageID(index), data_0204a110.mUnk_DF4, 1);
}
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cbf74(unk32 param1) {
if (param1 != 0) {
this->mUnk_13E = param1;
this->mUnk_138 = 1;
} else {
this->func_ov024_020cbf98();
}
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cbf98() {
if (!this->func_ov024_020cc0b4()) {
return;
}
UnkStruct_027e0cd8_04_0C *ptr = data_027e0cd8->mUnk_04->mUnk_0C;
s32 unk_08 = ptr->mUnk_08;
u32 msgId = BMG_ID_NONE;
if (unk_08 == 1) {
msgId = BMG_ID(BMGGroup_maingame, MsgIndex_Floor2);
} else if (unk_08 < 0) {
this->mUnk_00C->mUnk_054 = -unk_08;
msgId = BMG_ID(BMGGroup_maingame, MsgIndex_Floor3);
} else if (unk_08 > 1) {
unk32 value = func_02014fe0();
if ((data_02049be0.mUnk_00 == 5 || data_02049be0.mUnk_00 == 4 || data_02049be0.mUnk_00 == 2) ||
(data_02049be0.mUnk_00 == 3 && value == 2)) {
unk_08--;
}
this->mUnk_00C->mUnk_054 = unk_08;
msgId = BMG_ID(BMGGroup_maingame, MsgIndex_Floor1);
} else {
return;
}
this->vfunc_1C(msgId, data_0204a110.mUnk_DF4, 1);
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cc05c(u32 msgId) {
this->mUnk_140 = true;
this->vfunc_1C(msgId, data_0204a110.mUnk_DF4, 0);
}
void UnkTitleCardSystem1_Derived1::func_ov024_020cc088(bool param1) {
if (param1) {
this->mUnk_13C = 5;
} else {
this->func_ov024_020cb5bc();
}
this->mUnk_140 = false;
}
bool UnkTitleCardSystem1_Derived1::func_ov024_020cc0b4() {
unk32 unk_DF4 = data_0204a110.mUnk_DF4;
if (data_ov000_020b504c.func_ov000_02067bc4(unk_DF4) != NULL) {
if (data_ov000_020b504c.func_ov000_02067bc4(unk_DF4)->vfunc_08()) {
return false;
}
}
if (data_0204a088->mUnk_00 != OverlayIndex_SceneInit) {
return false;
}
return !data_027e0994->IsUnk150();
}
unk32 UnkTitleCardSystem1_Derived1::vfunc_18() {
if (this->mUnk_140) {
return 0;
}
return 0x1E;
}
UnkStruct_ov024_020d8694_01C::UnkStruct_ov024_020d8694_01C(GameModeManagerBase_004 *param1) :
UnkTitleCardSystem1_Derived1(param1),
mUnk_168(false) {}
void UnkStruct_ov024_020d8694_01C::vfunc_1C(u32 msgId, unk32 param2, bool param3) {
if (this->mUnk_168) {
this->mUnk_168 = false;
if (data_0204e5f8.mUnk_3A == 0 && data_0204e5f8.mUnk_3E == 0) {
return;
}
}
this->UnkTitleCardSystem1_Derived1::vfunc_1C(msgId, param2, param3);
this->mUnk_144.func_0201effc(0x08, 0x03, 0x0D);
this->mUnk_144.UnkOperations1();
data_0204a110.GetUnkD9C()->func_0201c4d8(this->mUnk_010, this->mUnk_144.func_0201f04c(), 5);
}
void UnkStruct_ov024_020d8694_01C::vfunc_00() {
if (this->mUnk_13C != 0) {
this->mUnk_13C--;
if (this->mUnk_13C == 0) {
this->func_ov024_020cc088(false);
}
if (this->mUnk_13C == 4) {
this->mUnk_144.func_0201effc(0x08, 0x0D, 0x03);
this->mUnk_144.UnkOperations1();
}
}
if (this->mUnk_134 != 0) {
this->mUnk_144.UpdateLogic();
data_0204a110.GetUnkD9C()->func_0201c4d8(this->mUnk_010, this->mUnk_144.func_0201f04c(), 5);
}
if (this->mUnk_13E != 0) {
this->mUnk_13E--;
if (this->mUnk_13E == 0) {
switch (this->mUnk_138) {
case 0:
this->func_ov024_020cbeb8();
break;
case 1:
this->func_ov024_020cbf98();
break;
default:
break;
}
}
}
}
UnkStruct_ov024_020d8694_188::UnkStruct_ov024_020d8694_188(GameModeManagerBase_004 *param1) :
UnkTitleCardSystem1_Derived1(param1) {}
void UnkStruct_ov024_020d8694_188::vfunc_1C(u32 msgId, unk32 param2, bool param3) {
this->UnkTitleCardSystem1_Derived1::vfunc_1C(msgId, param2, param3);
this->mUnk_144.func_0201ebf8(0x08, 0x47, 0x1000, 0);
this->mUnk_144.UnkOperations1();
}
void UnkStruct_ov024_020d8694_188::vfunc_00() {
if (this->mUnk_13C != 0) {
this->mUnk_13C--;
if (this->mUnk_13C == 0) {
this->func_ov024_020cc088(false);
}
if (this->mUnk_13C == 4) {
this->mUnk_144.func_0201ebf8(0x08, 0x1000, 0x47, 0x00);
this->mUnk_144.UnkOperations1();
}
}
if (this->mUnk_13E != 0) {
this->mUnk_13E--;
if (this->mUnk_13E == 0) {
this->func_ov024_020cbeb8();
}
}
this->mUnk_144.UpdateLogic();
}
void UnkStruct_ov024_020d8694_188::vfunc_04(unk8 *param1) {
Vec4p local;
local.coords = data_027e0120.coords;
local.w = func_01ffb428(0x1000, this->mUnk_144.func_0201ec30());
UnkDataStruct1 local_30(&local, 0x40);
this->func_ov024_020cb654(param1, &local_30);
}
bool UnkStruct_ov024_020d8694_188::vfunc_14() {
if (this->UnkTitleCardSystem1::vfunc_14() && this->mUnk_144.func_0201ec30() == 0x1000) {
return true;
}
return false;
}
UnkStruct_ov024_020d8694_2FC::UnkStruct_ov024_020d8694_2FC(GameModeManagerBase_004 *param1) :
UnkTitleCardSystem1(param1) {}
void UnkStruct_ov024_020d8694_2FC::vfunc_00() {
//! TODO: volatile hack
if ((*(volatile bool *) &this->mUnk_064.mUnk_0A)) {
this->mUnk_064.UpdateLogic();
this->mUnk_0A8.UpdateLogic();
this->mUnk_0EC.UpdateLogic();
}
}
void UnkStruct_ov024_020d8694_2FC::vfunc_10() {
this->mUnk_004 = 0x63;
data_ov024_020d8694->func_ov024_020cb178(this->mUnk_004);
}
void UnkStruct_ov024_020d8694_2FC::func_ov024_020ccb10(unk32 param1, Vec2s *param2, Vec2s *param3) {
s16 x1;
s16 x2;
this->func_ov024_020cb284(param1, 1);
this->mUnk_064.func_0201e874(BTN_ID_UNK_08, Vec2s_GetCopy(param2), Vec2s_GetCopy(param3), 0);
this->mUnk_064.UnkOperations1();
x1 = (-this->mUnk_018.mUnk_0E.x / 2) - (this->mUnk_030.mUnk_0E.x / 2);
x2 = -((this->mUnk_130 / 2) + (this->mUnk_030.mUnk_0E.x / 2));
this->mUnk_0A8.func_0201e874(BTN_ID_UNK_08, Vec2s_New(x1, 0), Vec2s_New(x2, 0), 0);
this->mUnk_0A8.UnkOperations1();
x1 = (this->mUnk_018.mUnk_0E.x / 2) + (this->mUnk_048.mUnk_0E.x / 2);
x2 = (this->mUnk_130 / 2) + (this->mUnk_048.mUnk_0E.x / 2);
this->mUnk_0EC.func_0201e874(BTN_ID_UNK_08, Vec2s_New(x1, 0), Vec2s_New(x2, 0), 0);
this->mUnk_0EC.UnkOperations1();
}
unk32 UnkStruct_ov024_020d8694_2FC::vfunc_08() {
return 0;
}
void UnkStruct_ov024_020d8694_2FC::vfunc_0C() {
this->mUnk_018.UnknownAction(0x63, 0x01);
this->mUnk_030.UnknownAction(0x63, 0x00);
this->mUnk_048.UnknownAction(0x63, 0x02);
}
+14 -13
View File
@@ -196,19 +196,19 @@ void TitleScreen::func_ov025_020c5240(Input *pButtons, TouchControl *pTouchContr
this->mUnk_218.UpdateLogic();
this->mUnk_204.mUnk_10 = this->mUnk_218.func_0201f04c();
if (this->mUnk_024.func_ov000_02060af8() == 0) {
if (!this->mUnk_024.func_ov000_02060af8()) {
return;
}
if (this->mUnk_09C.func_ov000_02060af8() == 0) {
if (!this->mUnk_09C.func_ov000_02060af8()) {
return;
}
if (this->mUnk_114.func_ov000_02060af8() == 0) {
if (!this->mUnk_114.func_ov000_02060af8()) {
return;
}
if (this->mUnk_18C.func_ov000_02060af8() == 0) {
if (!this->mUnk_18C.func_ov000_02060af8()) {
return;
}
@@ -234,19 +234,19 @@ void TitleScreen::func_ov025_020c53d0(Input *pButtons, TouchControl *pTouchContr
this->mUnk_204.mUnk_10 = this->mUnk_218.func_0201f04c();
if (this->mUnk_218.mUnk_0C) {
if (this->mUnk_024.func_ov000_02060af8() == 0) {
if (!this->mUnk_024.func_ov000_02060af8()) {
return;
}
if (this->mUnk_09C.func_ov000_02060af8() == 0) {
if (!this->mUnk_09C.func_ov000_02060af8()) {
return;
}
if (this->mUnk_114.func_ov000_02060af8() == 0) {
if (!this->mUnk_114.func_ov000_02060af8()) {
return;
}
if (this->mUnk_18C.func_ov000_02060af8() == 0) {
if (!this->mUnk_18C.func_ov000_02060af8()) {
return;
}
@@ -262,19 +262,19 @@ void TitleScreen::func_ov025_020c55a4(Input *pButtons, TouchControl *pTouchContr
}
void TitleScreen::func_ov025_020c55e4(Input *pButtons, TouchControl *pTouchControl) {
if (this->mUnk_024.func_ov000_02060af8() == 0) {
if (!this->mUnk_024.func_ov000_02060af8()) {
return;
}
if (this->mUnk_09C.func_ov000_02060af8() == 0) {
if (!this->mUnk_09C.func_ov000_02060af8()) {
return;
}
if (this->mUnk_114.func_ov000_02060af8() == 0) {
if (!this->mUnk_114.func_ov000_02060af8()) {
return;
}
if (this->mUnk_18C.func_ov000_02060af8() == 0) {
if (!this->mUnk_18C.func_ov000_02060af8()) {
return;
}
@@ -343,7 +343,8 @@ void TitleScreen::vfunc_10(unk8 *param1) {
void TitleScreen::vfunc_0C(unk32 param1) {
if (param1 == 1 && this->mShowUI) {
UnkStruct_027e0954 *ptr = data_027e0954;
ptr->mUnk_14.func_020166f4(this->mUnk_204.GetNode());
TitleScreen_Sub2 *pList = GetLinkListRef(this->mUnk_204);
ptr->mUnk_14.Prepend(pList);
}
}
+2 -2
View File
@@ -18,7 +18,7 @@ ARM void TitleScreenManager::vfunc_14() {
TitleScreen *pTitleScreen = new(HeapIndex_1) TitleScreen();
this->mpGameMode = (GameModeBase *) pTitleScreen;
this->mUnk_104.mList.func_020166cc(pTitleScreen->GetNode());
this->mUnk_104.Append(pTitleScreen);
pTitleScreen->vfunc_18();
}
@@ -40,7 +40,7 @@ ARM void TitleScreenManager::vfunc_28(unk8 *param1) {
this->func_02018a14(param1);
}
ARM void TitleScreenManager::vfunc_2C(unk8 *param1) {
ARM void TitleScreenManager::DrawUI(unk8 *param1) {
this->func_02018984(param1);
this->func_02018830(param1);
}
+1 -1
View File
@@ -155,7 +155,7 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
if (this->mEquippedItem == ItemFlag_None) {
this->mEquippedItem = itemFlag;
data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, 0);
data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, false);
}
} else {
itemFlag = GetItemFlag(itemId);
+4 -11
View File
@@ -20,14 +20,7 @@ extern "C" void func_02013354();
extern "C" void func_0201328c();
extern "C" int OS_DisableInterrupts_Irq();
extern "C" void OS_RestoreInterrupts(int enabled);
extern Mat3p data_027e02c4;
struct SomeSaveFileStruct {
/* 00 */ SaveFile *mpSaveFiles[MAX_SAVE_SLOTS];
SomeSaveFileStruct(unk32 param1);
~SomeSaveFileStruct();
};
extern Mat3p gGeomMatrix;
ARM void Game::func_02013370(unk32 param1) {
data_0204a110.func_02018c78(param1);
@@ -43,8 +36,8 @@ ARM void Game::Run() {
data_0204999c.func_02013014();
{
SomeSaveFileStruct local_28(0x1300);
this->mpSaveFile = local_28.mpSaveFiles[0];
UnkDataStruct2 local_28(0x1300);
this->mpSaveFile = (SaveFile *) local_28.unk_00;
if (this->mpCurrentGameMode != NULL) {
delete this->mpCurrentGameMode;
@@ -103,7 +96,7 @@ ARM void Game::Run() {
data_027e0208.mUnk_0E4 = 0;
data_027e0208.mUnk_0E8 = 0;
Mat3p_InitIdentity(&data_027e02c4);
Mat3p_InitIdentity(&gGeomMatrix);
data_027e0208.mUnk_0FC = 0;
FlushGfxQueue();
this->mpCurrentGameMode->vfunc_18();
-39
View File
@@ -1,39 +0,0 @@
#include "Game/GameModeManager.hpp"
ARM GameModeLinkListNode::GameModeLinkListNode() {
this->mNext = this;
this->mPrev = this;
}
ARM GameModeLinkListNode::~GameModeLinkListNode() {
this->mNext->mPrev = this->mPrev;
this->mPrev->mNext = this->mNext;
}
ARM void GameModeLinkListNode::func_020166ac(GameModeLinkListNode *node) {
node->mNext->mPrev = node->mPrev;
node->mPrev->mNext = node->mNext;
node->mNext = node;
node->mPrev = node;
}
ARM void GameModeLinkListNode::func_020166cc(GameModeLinkListNode *node) {
this->func_020166ac(node);
GameModeLinkListNode *nextNode = this->mNext;
nextNode->mPrev = node;
node->mNext = nextNode;
node->mPrev = this;
this->mNext = node;
}
ARM void GameModeLinkListNode::func_020166f4(GameModeLinkListNode *node) {
this->func_020166ac(node);
GameModeLinkListNode *prevNode = this->mPrev;
prevNode->mNext = node;
node->mPrev = prevNode;
node->mNext = this;
this->mPrev = node;
}
+47 -63
View File
@@ -66,13 +66,11 @@ ARM void GameModeManagerBase::vfunc_28(unk8 *param1) {
this->mUnk_004.func_0201bf54();
}
ARM void GameModeManagerBase::vfunc_2C(unk8 *param1) {}
ARM void GameModeManagerBase::DrawUI(unk8 *param1) {}
ARM void GameModeManagerBase::vfunc_30(unk32 param1) {
GameModeLinkList<GameModeManagerBase_104> *pNode;
for (pNode = this->mUnk_104.mList.GetNextList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetPrevList()) {
pNode->GetTarget()->vfunc_0C(param1);
for (GameModeManagerBase_104::Iterator it = GetBeginIter(this->mUnk_104); it != GetEndIter(this->mUnk_104); it++) {
it->vfunc_0C(param1);
}
}
@@ -104,84 +102,70 @@ ARM void GameModeManagerBase::func_0201874c(void) {
this->mUnk_004.func_0201c1e4();
}
struct UnkStruct4 {
void *a;
void *b;
void *c;
void *d;
};
// non-matching
ARM void GameModeManagerBase::func_0201875c(void) {
GameModeLinkList<GameModeManagerBase_104_0C> *pNode2;
GameModeLinkList<GameModeManagerBase_104> *pNode;
InputInformations local_30;
local_30.unk_00 = &this->mNextButtonID;
local_30.unk_04 = &this->mButtonID;
local_30.unk_08 = &this->mButtons;
local_30.unk_0C = &this->mTouchControl;
UnkStruct4 local_30;
local_30.a = &this->mNextButtonID;
local_30.b = &this->mButtonID;
local_30.c = &this->mButtons;
local_30.d = &this->mTouchControl;
for (pNode = this->mUnk_104.mList.GetNextList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetPrevList()) {
if (this->func_02018af0(pNode) && this->func_02018b54(pNode)) {
for (pNode2 = pNode->GetTarget()->mUnk_0C.mList.GetNextList(); pNode2 != pNode->GetTarget()->mUnk_0C.GetOrigin();
pNode2 = pNode2->GetPrevList()) {
pNode2->GetTarget()->vfunc_08(&local_30);
for (GameModeManagerBase_104::Iterator it1 = GetBeginIter(this->mUnk_104); it1 != GetEndIter(this->mUnk_104); it1++) {
if (this->func_02018af0(it1.operator->()) && this->func_02018b54(it1.operator->())) {
//! TODO: regalloc issues when using the iterator
for (GameModeManagerBase_104_0C *it2 = GetBeginIter(it1->mUnk_0C); it2 != GetEndIter(it1->mUnk_0C);
GetNextIter(it2)) {
it2->vfunc_08(&local_30);
}
}
}
}
struct UnkStruct5 {
unk32 a;
void *b;
void *a;
unk32 b;
};
// non-matching
ARM void GameModeManagerBase::func_02018830(unk8 *param1) {
GameModeLinkList<GameModeManagerBase_104_0C> *pNode2;
GameModeLinkList<GameModeManagerBase_104> *pNode;
unk32 id = this->mNextButtonID;
UnkStruct5 local_28;
local_28.a = this->mNextButtonID;
local_28.b = param1;
local_28.a = param1;
local_28.b = id;
for (pNode = this->mUnk_104.mList.GetPrevList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetNext2()) {
if (this->func_02018af0(pNode) && this->func_02018b54(pNode) && this->func_02018b90(pNode, (unk8 *) param1)) {
for (pNode2 = pNode->GetTarget()->mUnk_0C.mList.GetPrevList(); pNode2 != pNode->GetTarget()->mUnk_0C.GetOrigin();
pNode2 = pNode2->GetNext2()) {
pNode2->GetTarget()->vfunc_0C(&local_28);
for (GameModeManagerBase_104::Iterator it1 = GetBeginIterReverse(this->mUnk_104); it1 != GetEndIter(this->mUnk_104);
it1--) {
if (this->func_02018af0(it1.operator->()) && this->func_02018b54(it1.operator->()) &&
this->func_02018b90(it1.operator->(), (unk8 *) param1)) {
//! TODO: regalloc issues when using the iterator
for (GameModeManagerBase_104_0C *it2 = GetBeginIterReverse(it1->mUnk_0C); it2 != GetEndIter(it1->mUnk_0C);
GetPrevIter(it2)) {
it2->vfunc_0C(&local_28);
}
}
}
}
ARM void GameModeManagerBase::func_02018908() {
GameModeLinkList<GameModeManagerBase_104> *pNode;
for (pNode = this->mUnk_104.mList.GetNextList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetPrevList()) {
if (this->func_02018af0(pNode) && this->func_02018b54(pNode)) {
pNode->GetTarget()->vfunc_08(&this->mButtons, &this->mTouchControl);
for (GameModeManagerBase_104::Iterator it = GetBeginIter(this->mUnk_104); it != GetEndIter(this->mUnk_104); it++) {
if (this->func_02018af0(it.operator->()) && this->func_02018b54(it.operator->())) {
it->vfunc_08(&this->mButtons, &this->mTouchControl);
}
}
}
ARM void GameModeManagerBase::func_02018984(unk8 *param1) {
GameModeLinkList<GameModeManagerBase_104> *pNode;
for (pNode = this->mUnk_104.mList.GetPrevList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetNext2()) {
if (this->func_02018af0(pNode) && this->func_02018b54(pNode) && this->func_02018b90(pNode, param1)) {
pNode->GetTarget()->vfunc_10(param1);
for (GameModeManagerBase_104::Iterator it = GetBeginIterReverse(this->mUnk_104); it != GetEndIter(this->mUnk_104); it--) {
if (this->func_02018af0(it.operator->()) && this->func_02018b54(it.operator->()) &&
this->func_02018b90(it.operator->(), param1)) {
it->vfunc_10(param1);
}
}
}
ARM void GameModeManagerBase::func_02018a14(unk8 *param1) {
GameModeLinkList<GameModeManagerBase_104> *pNode;
for (pNode = this->mUnk_104.mList.GetNextList(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetPrevList()) {
if (this->func_02018af0(pNode) && this->func_02018b54(pNode)) {
pNode->GetTarget()->vfunc_14(param1);
for (GameModeManagerBase_104::Iterator it = GetBeginIter(this->mUnk_104); it != GetEndIter(this->mUnk_104); it++) {
if (this->func_02018af0(it.operator->()) && this->func_02018b54(it.operator->())) {
it->vfunc_14(param1);
}
}
}
@@ -194,20 +178,20 @@ void GameModeManagerBase::func_02018a9c(unk32 param1, unk32 param2) {
this->mUnk_004.func_0201c00c(param1, param2);
}
void GameModeManagerBase::func_02018aac(unk32 param1) {
this->mUnk_004.func_0201c068(param1);
void GameModeManagerBase::func_02018aac(unk32 param1, bool param2) {
this->mUnk_004.func_0201c068(param1, param2);
}
void GameModeManagerBase::func_02018ac4(void) {
this->mUnk_004.func_0201bfec();
void GameModeManagerBase::func_02018ac4(unk16 param1) {
this->mUnk_004.func_0201bfec(param1);
}
bool GameModeManagerBase::func_02018ad4(void) {
return !this->mUnk_0F4 && !this->mUnk_0F5;
}
bool GameModeManagerBase::func_02018af0(GameModeLinkList<GameModeManagerBase_104> *param1) {
if (param1->GetTarget()->mUnk_18) {
bool GameModeManagerBase::func_02018af0(GameModeManagerBase_104 *param1) {
if (param1->mUnk_18) {
return true;
}
@@ -222,8 +206,8 @@ bool GameModeManagerBase::func_02018af0(GameModeLinkList<GameModeManagerBase_104
return true;
}
bool GameModeManagerBase::func_02018b54(GameModeLinkList<GameModeManagerBase_104> *param1) {
if (param1->GetTarget()->mUnk_19) {
bool GameModeManagerBase::func_02018b54(GameModeManagerBase_104 *param1) {
if (param1->mUnk_19) {
return true;
}
@@ -234,8 +218,8 @@ bool GameModeManagerBase::func_02018b54(GameModeLinkList<GameModeManagerBase_104
return true;
}
bool GameModeManagerBase::func_02018b90(GameModeLinkList<GameModeManagerBase_104> *param1, unk8 *param2) {
if (param1->GetTarget()->mUnk_1A) {
bool GameModeManagerBase::func_02018b90(GameModeManagerBase_104 *param1, unk8 *param2) {
if (param1->mUnk_1A) {
return true;
}
+110
View File
@@ -0,0 +1,110 @@
#include "LinkList.hpp"
LinkListImpl::LinkListImpl() {
this->SetNext(this);
this->SetPrev(this);
}
LinkListImpl::~LinkListImpl() {
// link the previous node with the next node since
// the one in-between (`this`) is getting removed
// A <- B <- C will become A <- C
this->GetNext()->SetPrev(this->GetPrev());
// A -> B -> C will become A -> C
this->GetPrev()->SetNext(this->GetNext());
}
void LinkListImpl::Detach(LinkListNode *node) {
// remove the links from `node`
// A <- B <- C will become A <- C
node->GetNext()->SetPrev(node->GetPrev());
// A -> B -> C will become A -> C
node->GetPrev()->SetNext(node->GetNext());
node->SetNext(node);
node->SetPrev(node);
}
void LinkListImpl::Append(LinkListNode *node) {
LinkListImpl::Detach(node);
LinkListNode *nextNode = this->GetNext();
// current: A -> C and A <- C
// create link B <- C
nextNode->SetPrev(node);
// create link B -> C
node->SetNext(nextNode);
// create link A <- B
node->SetPrev(this);
// create link A -> B
this->SetNext(node);
// updated: A -> B -> C and A <- B <- C
}
void LinkListImpl::Prepend(LinkListNode *node) {
LinkListImpl::Detach(node);
LinkListNode *prevNode = this->GetPrev();
// current: A -> C and A <- C
// create link A -> B
prevNode->SetNext(node);
// create link A <- B
node->SetPrev(prevNode);
// create link B -> C
node->SetNext(this);
// create link B <- C
this->SetPrev(node);
// updated: A -> B -> C and A <- B <- C
}
void LinkListImpl::Extend(LinkListNode *node) {
LinkListNode *prevNode = this->GetPrev();
LinkListNode *paramPrev = node->GetPrev();
prevNode->SetNext(node);
paramPrev->SetNext(this);
this->SetPrev(paramPrev);
node->SetPrev(prevNode);
}
s32 LinkListImpl::GetListLength() {
s32 count = 0;
for (LinkListIterImpl it = this->GetBeginIterImpl(); it != this->GetEndIterImpl(); it++) {
count++;
}
return count;
}
bool LinkListImpl::Contains(LinkListNode *node) {
// iterates through the list to try to find the node
for (LinkListIterImpl it = this->GetBeginIterImpl(); it != this->GetEndIterImpl(); it++) {
if (it == node) {
return true;
}
}
// if the node parameter has the same address as this
if (node == this) {
return true;
}
return false;
}
+4 -7
View File
@@ -33,11 +33,6 @@ extern u16 data_0203e0c4[];
extern int data_0203e0be;
extern int data_ov020_20e8580;
struct struct_aStack_2e0 {
int mUnk_00;
struct_aStack_2e0(void *, int);
};
struct struct_aStack_2d8 {
struct_aStack_2d8();
void func_ov000_020685cc();
@@ -146,7 +141,8 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
{
UnkSystem2_UnkSubSystem5_Base_10 aStack_278;
aStack_2d8.func_ov000_0206869c();
struct_aStack_2e0 uStack_2e0(data_ov000_020b504c.mUnk_000, 0x25);
UnkMsgDataStruct1 uStack_2e0;
uStack_2e0.func_ov000_02067a60(data_ov000_020b504c.mUnk_000, 0x25);
aStack_2d8.func_ov000_020686a4(uStack_2e0.mUnk_00);
aStack_2d8.func_ov000_02068fec();
aStack_2d8.func_ov000_0206878c();
@@ -166,7 +162,8 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
{
UnkSystem2_UnkSubSystem5_Base_10 aStack_278;
aStack_2d8.func_ov000_0206869c();
struct_aStack_2e0 uStack_2e0(data_ov000_020b504c.mUnk_000, 0x26);
UnkMsgDataStruct1 uStack_2e0;
uStack_2e0.func_ov000_02067a60(data_ov000_020b504c.mUnk_000, 0x26);
aStack_2d8.func_ov000_020686a4(uStack_2e0.mUnk_00);
aStack_2d8.func_ov000_02068fec();
aStack_2d8.func_ov000_0206878c();
+2 -1
View File
@@ -148,7 +148,7 @@ config.libs = [
Object("Main/System/OverlayManager.cpp"),
Object("Main/UnkFileSystem.cpp"),
Object("Main/System/Random.cpp"),
Object("Main/Game/GameModeLinkListNode.cpp"),
Object("Main/LinkList.cpp"),
Object("Main/func_02017ea4.cpp"),
Object("Main/Game/GameModeBase.cpp"),
Object("Main/UnkStruct_0204a060.cpp"),
@@ -161,6 +161,7 @@ config.libs = [
[
Object("000_Second/Game/GameModeManagerBase_104_0C.cpp"),
Object("000_Second/Game/GameModeManagerBase_104.cpp"),
Object("000_Second/code_020657fc.cpp"),
Object("000_Second/UnkSystem1_Base.cpp"),
Object("000_Second/UnkSystem1_Derived1.cpp"),
Object("000_Second/data_ov000_020af58c.cpp"),
+11 -1
View File
@@ -25,11 +25,21 @@ class ConfigVersion:
objdiff_json = json.loads(self.objdiff_path.read_text())
self.objdiff_json: dict = copy.copy(objdiff_json)
# deprecated options
# remove deprecated options
self.objdiff_json.pop("target_dir")
self.objdiff_json.pop("base_dir")
self.objdiff_json.pop("build_base")
# fix watch patterns, remove yaml, json and all txt files
# except symbols, delinks and relocs
self.objdiff_json["watch_patterns"].remove("*.yml")
self.objdiff_json["watch_patterns"].remove("*.yaml")
self.objdiff_json["watch_patterns"].remove("*.json")
self.objdiff_json["watch_patterns"].remove("*.txt")
self.objdiff_json["watch_patterns"].append("*symbols.txt")
self.objdiff_json["watch_patterns"].append("*delinks.txt")
self.objdiff_json["watch_patterns"].append("*relocs.txt")
for i, unit_dict in enumerate(objdiff_json["units"]):
if "name" in unit_dict:
unit_dict["name"] = f"{self.name}/{unit_dict['name']}"
+16 -6
View File
@@ -305,7 +305,9 @@ class ProjectConfig:
def delink_files(self, version: str) -> list[str]:
delink_files = [file['delink_file'] for file in self.files(version)]
return list(set(delink_files))
delink_files = list(set(delink_files))
delink_files.sort()
return delink_files
def arm9_lcf_file(self, version: str) -> str:
if self.delinks_jsons[version] is None:
@@ -318,12 +320,14 @@ class ProjectConfig:
return self.delinks_jsons[version]['arm9_objects_file']
def get_config_files(self, version: str, name: str) -> list[str]:
return [
files = [
f"{root}/{file}"
for root, _, files in os.walk(self.get_game_config(version))
for file in files
if file == name
]
files.sort()
return files
def get_decompme_compiler(self):
return COMPILER_MAP[self.mwcc_version]
@@ -535,6 +539,7 @@ def add_mwcc_builds(cfg: ProjectConfig, version: str, objects: Dict[str, Object]
"basedir": str(src_obj_path.parent),
"basefile": str(src_obj_path.with_suffix("")),
},
# order_only="objdiff",
)
n.newline()
@@ -743,6 +748,10 @@ def process_project(cfg: ProjectConfig, args: Any):
create_objdiff_fixup_config(cfg, objects)
rust_log = "RUST_LOG=ds_rom::rom::rom=warn"
if cfg.platform.system == "windows":
rust_log = f"set {rust_log} &&"
with cfg.build_ninja_path.open("w") as file:
n = ninja_syntax.Writer(file)
@@ -760,7 +769,7 @@ def process_project(cfg: ProjectConfig, args: Any):
n.rule(
name="extract",
command=f"{cfg.dsd_path} {cfg.dsd_flags} rom extract --rom $in --output-path $output_path $arm7_bios_flag"
command=f"{rust_log} {cfg.dsd_path} {cfg.dsd_flags} rom extract --rom $in --output-path $output_path $arm7_bios_flag"
)
n.newline()
@@ -806,13 +815,13 @@ def process_project(cfg: ProjectConfig, args: Any):
n.rule(
name="rom_config",
command=f"{cfg.dsd_path} {cfg.dsd_flags} rom config --elf $in --config $config_path"
command=f"{rust_log} {cfg.dsd_path} {cfg.dsd_flags} rom config --elf $in --config $config_path"
)
n.newline()
n.rule(
name="rom_build",
command=f"{cfg.dsd_path} {cfg.dsd_flags} rom build --config $in --rom $out $arm7_bios_flag"
command=f"{rust_log} {cfg.dsd_path} {cfg.dsd_flags} rom build --config $in --rom $out $arm7_bios_flag"
)
n.newline()
@@ -936,7 +945,8 @@ def process_project(cfg: ProjectConfig, args: Any):
n.build(
rule="post_objdiff",
implicit=[f"objdiff_{version}.json" for version in cfg.game_versions],
outputs="objdiff"
outputs="objdiff",
order_only=cmds_map["delink"],
)
n.newline()
+1 -1
View File
@@ -55,7 +55,7 @@ def main():
# Try next symbols.txt file
continue
file_name = str(symbol_file.relative_to(config_path))
file_name = str(symbol_file.relative_to(base_config_path))
if file_name.endswith("dtcm/symbols.txt"):
dest_module = ("dtcm", 0)
elif file_name.endswith("itcm/symbols.txt"):