mirror of
https://github.com/zeldaret/st
synced 2026-05-31 09:21:46 -04:00
Misc Stuff 2 (#33)
* match UnkStruct_ov000_020b4f84_00_Base * lots of random stuff * match other funcs from game.cpp * data_02049a2c -> gGame, UnkStruct_02049a2c -> Game * match operator new * fix regressions * fix some warnings * another round of random things * another round of random things 2 * complete slots column in overlays.md * add scene indices * gamemode stuff * misc stuff * fix build issues * document random things * fix regressions * final round of random things (for now)
This commit is contained in:
@@ -13,12 +13,23 @@ src/Main/Main.cpp:
|
||||
src/Main/System/SysNew.cpp:
|
||||
.text start:0x02011e10 end:0x0201200c
|
||||
|
||||
src/Main/System/SysFault.cpp:
|
||||
.text start:0x020127f0 end:0x02012b00
|
||||
|
||||
src/Main/Game/Game.cpp:
|
||||
.text start:0x02013370 end:0x0201373c
|
||||
|
||||
src/Main/Player/TouchControl.cpp:
|
||||
.text start:0x02014124 end:0x020144a0
|
||||
|
||||
src/Main/System/OverlayManager.cpp:
|
||||
.text start:0x020147fc end:0x02014944
|
||||
|
||||
src/Main/UnkStruct_ov000_020b4f84_00_Base.cpp:
|
||||
complete
|
||||
.text start:0x02015528 end:0x02015628
|
||||
.data start:0x02043f00 end:0x02043f1c
|
||||
|
||||
src/Main/System/Random.cpp:
|
||||
.text start:0x02016384 end:0x02016404
|
||||
|
||||
@@ -43,6 +54,9 @@ src/Main/Game/GameModeManagerBase.cpp:
|
||||
.text start:0x0201847c end:0x02018bc4
|
||||
.data start:0x0204405c end:0x0204409c
|
||||
|
||||
src/Main/func_020196fc.cpp:
|
||||
.text start:0x020196fc end:0x02019934
|
||||
|
||||
libs/c/src/abort_exit_arm_eabi.c:
|
||||
complete
|
||||
.text start:0x020336e8 end:0x02033870
|
||||
|
||||
@@ -59,8 +59,8 @@ func_ov000_02057608 kind:function(arm,size=0x8) addr:0x02057608
|
||||
func_ov000_02057610 kind:function(arm,size=0x30) addr:0x02057610
|
||||
func_ov000_02057640 kind:function(arm,size=0x48) addr:0x02057640
|
||||
func_ov000_02057688 kind:function(arm,size=0x48) addr:0x02057688
|
||||
func_ov000_020576d0 kind:function(arm,size=0x3c) addr:0x020576d0
|
||||
func_ov000_0205770c kind:function(arm,size=0x14) addr:0x0205770c
|
||||
_ZN4Game19func_ov000_020576d0Ev kind:function(arm,size=0x3c) addr:0x020576d0
|
||||
_ZN4Game19func_ov000_0205770cEv kind:function(arm,size=0x14) addr:0x0205770c
|
||||
func_ov000_02057720 kind:function(arm,size=0x14) addr:0x02057720
|
||||
func_ov000_02057734 kind:function(arm,size=0x1c) addr:0x02057734
|
||||
func_ov000_02057750 kind:function(thumb,size=0xc) addr:0x02057750
|
||||
@@ -532,8 +532,8 @@ func_ov000_020625c4 kind:function(arm,size=0x120) addr:0x020625c4
|
||||
func_ov000_020626e4 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
|
||||
func_ov000_020628c4 kind:function(arm,size=0x20) addr:0x020628c4
|
||||
func_ov000_020628e4 kind:function(arm,size=0xcc) addr:0x020628e4
|
||||
_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
|
||||
func_ov000_02062a3c kind:function(arm,size=0x8c) addr:0x02062a3c
|
||||
_ZN29UnkSystem2_UnkSubSystem1_BaseC2Ev kind:function(arm,size=0x74) addr:0x02062ac8
|
||||
@@ -718,7 +718,7 @@ 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
|
||||
func_ov000_02067a60 kind:function(arm,size=0x44) addr:0x02067a60
|
||||
_ZN17struct_aStack_2e0C1EP24UnkStruct_ov000_020b504ci kind:function(arm,size=0x44) addr:0x02067a60
|
||||
func_ov000_02067aa4 kind:function(arm,size=0x7c) addr:0x02067aa4
|
||||
func_ov000_02067b20 kind:function(arm,size=0x40) addr:0x02067b20
|
||||
func_ov000_02067b60 kind:function(arm,size=0x54) addr:0x02067b60
|
||||
@@ -749,14 +749,14 @@ func_ov000_020684c8 kind:function(arm,size=0x14) addr:0x020684c8
|
||||
func_ov000_020684dc kind:function(arm,size=0x28) addr:0x020684dc
|
||||
func_ov000_02068504 kind:function(arm,size=0x14) addr:0x02068504
|
||||
func_ov000_02068518 kind:function(arm,size=0xb4) addr:0x02068518
|
||||
func_ov000_020685cc kind:function(arm,size=0xb4) addr:0x020685cc
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10C1Ev kind:function(arm,size=0xb4) addr:0x020685cc
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10D1Ev kind:function(arm,size=0x4) addr:0x02068680
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10D0Ev kind:function(arm,size=0x14) addr:0x02068684
|
||||
func_ov000_02068698 kind:function(arm,size=0x4) addr:0x02068698
|
||||
func_ov000_0206869c kind:function(arm,size=0x8) addr:0x0206869c
|
||||
func_ov000_020686a4 kind:function(arm,size=0x34) addr:0x020686a4
|
||||
_ZN17struct_aStack_2d819func_ov000_0206869cEv kind:function(arm,size=0x8) addr:0x0206869c
|
||||
_ZN17struct_aStack_2d819func_ov000_020686a4Ei kind:function(arm,size=0x34) addr:0x020686a4
|
||||
func_ov000_020686d8 kind:function(arm,size=0xb4) addr:0x020686d8
|
||||
func_ov000_0206878c kind:function(arm,size=0xc) addr:0x0206878c
|
||||
_ZN17struct_aStack_2d819func_ov000_0206878cEv kind:function(arm,size=0xc) addr:0x0206878c
|
||||
func_ov000_02068798 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
|
||||
@@ -770,7 +770,7 @@ func_ov000_02068bd4 kind:function(arm,size=0xac) addr:0x02068bd4
|
||||
func_ov000_02068c80 kind:function(arm,size=0xb0) addr:0x02068c80
|
||||
func_ov000_02068d30 kind:function(arm,size=0x20) addr:0x02068d30
|
||||
func_ov000_02068d50 kind:function(arm,size=0x29c) addr:0x02068d50
|
||||
func_ov000_02068fec kind:function(arm,size=0x1c8) addr:0x02068fec
|
||||
_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
|
||||
@@ -799,7 +799,7 @@ func_ov000_02069e40 kind:function(arm,size=0xc) addr:0x02069e40
|
||||
func_ov000_02069e4c kind:function(arm,size=0x50) addr:0x02069e4c
|
||||
func_ov000_02069e9c kind:function(arm,size=0x78) addr:0x02069e9c
|
||||
func_ov000_02069f14 kind:function(arm,size=0x44) addr:0x02069f14
|
||||
func_ov000_02069f58 kind:function(arm,size=0x6c) addr:0x02069f58
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov000_02069f58Ev kind:function(arm,size=0x6c) addr:0x02069f58
|
||||
func_ov000_02069fc4 kind:function(arm,size=0x50) addr:0x02069fc4
|
||||
func_ov000_0206a014 kind:function(arm,size=0x20) addr:0x0206a014
|
||||
func_ov000_0206a034 kind:function(arm,size=0x50) addr:0x0206a034
|
||||
@@ -3489,7 +3489,7 @@ data_ov000_020b20d0 kind:data(any) addr:0x020b20d0
|
||||
data_ov000_020b20dc kind:data(any) addr:0x020b20dc
|
||||
data_ov000_020b20e4 kind:data(any) addr:0x020b20e4
|
||||
data_ov000_020b20ec kind:data(any) addr:0x020b20ec
|
||||
data_ov000_020b20fc kind:data(any) addr:0x020b20f4
|
||||
_ZTV32UnkSystem2_UnkSubSystem5_Base_10 kind:data(any) addr:0x020b20f4
|
||||
data_ov000_020b2148 kind:data(any) addr:0x020b2148
|
||||
data_ov000_020b214c kind:data(any) addr:0x020b214c
|
||||
data_ov000_020b2150 kind:data(any) addr:0x020b2150
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
_ZN8SysFault19func_ov018_020c4840Ev kind:function(arm,size=0x30) addr:0x020c4840
|
||||
_ZN18UnkStruct_02049a2cC1Ev kind:function(arm,size=0x34) addr:0x020c4870
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c48a4Ei kind:function(arm,size=0x54) addr:0x020c48a4
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c48f8Ev kind:function(arm,size=0x58) addr:0x020c48f8
|
||||
_ZN4GameC1Ev kind:function(arm,size=0x34) addr:0x020c4870
|
||||
_ZN4Game19func_ov018_020c48a4Ev kind:function(arm,size=0x54) addr:0x020c48a4
|
||||
_ZN4Game19func_ov018_020c48f8Ev kind:function(arm,size=0x58) addr:0x020c48f8
|
||||
_ZN18UnkStruct_02049b18C1Ev kind:function(arm,size=0x30) addr:0x020c4950
|
||||
_ZN18UnkStruct_02011e1019func_ov018_020c4980Ev kind:function(arm,size=0xdc) addr:0x020c4980
|
||||
_ZN18UnkStruct_02011e1019func_ov018_020c4a5cEv kind:function(arm,size=0x6c) addr:0x020c4a5c
|
||||
@@ -10,7 +10,7 @@ _ZN18UnkStruct_02049b80C1Ev kind:function(arm,size=0x2c) addr:0x020c4adc
|
||||
_ZN21UnkStruct_02049b18_06C1Ev kind:function(arm,size=0x50) addr:0x020c4b08
|
||||
_ZN21UnkStruct_0204e64c_00C1Ev kind:function(arm,size=0x2c) addr:0x020c4b58
|
||||
_ZN18UnkStruct_0204e64cC1Ev kind:function(arm,size=0x24) addr:0x020c4b84
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c4ba8Ev kind:function(arm,size=0x54) addr:0x020c4ba8
|
||||
_ZN4Game19func_ov018_020c4ba8Ev kind:function(arm,size=0x54) addr:0x020c4ba8
|
||||
_ZN15GameModeStartUpD1Ev kind:function(arm,size=0x20) addr:0x020c4bfc
|
||||
_ZN15GameModeStartUpC1Ev kind:function(arm,size=0x180) addr:0x020c4c1c
|
||||
_ZN15GameModeStartUp8vfunc_0CEv kind:function(arm,size=0xcc) addr:0x020c4d9c
|
||||
|
||||
@@ -16,7 +16,7 @@ _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
|
||||
_ZN18TitleScreenManager8vfunc_38Ev kind:function(arm,size=0x4) addr:0x020c4c1c
|
||||
_ZN18TitleScreenManager8vfunc_38Eiiii 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
|
||||
_ZN18TitleScreenManagerD1Ev kind:function(arm,size=0x14) addr:0x020c4c40
|
||||
|
||||
+10
-10
@@ -1942,19 +1942,19 @@ from:0x020154e4 kind:thumb_call_arm to:0x020153c4 module:main
|
||||
from:0x020154f4 kind:thumb_call_arm to:0x02015338 module:main
|
||||
from:0x0201550a kind:thumb_call to:0x02012f08 module:main
|
||||
from:0x02015520 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x0201554c kind:load to:0x02043f08 module:main
|
||||
from:0x02015568 kind:load to:0x02043f08 module:main
|
||||
from:0x0201554c kind:load to:0x02043f00 add:8 module:main
|
||||
from:0x02015568 kind:load to:0x02043f00 add:8 module:main
|
||||
from:0x0201557c kind:thumb_call to:0x02015528 module:main
|
||||
from:0x02015584 kind:load to:0x02043f08 module:main
|
||||
from:0x02015584 kind:load to:0x02043f00 add:8 module:main
|
||||
from:0x02015598 kind:thumb_call to:0x02015528 module:main
|
||||
from:0x0201559e kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020155a8 kind:load to:0x02043f08 module:main
|
||||
from:0x020155a8 kind:load to:0x02043f00 add:8 module:main
|
||||
from:0x020155ca kind:thumb_call to:0x02012ec8 module:main
|
||||
from:0x020155e4 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020155ea kind:thumb_call to:0x0201552c module:main
|
||||
from:0x02015616 kind:thumb_call to:0x020010e0 module:main
|
||||
from:0x02015620 kind:load to:0x0204999c module:main
|
||||
from:0x02015640 kind:load to:0x02043f24 module:main
|
||||
from:0x02015640 kind:load to:0x02043f1c add:8 module:main
|
||||
from:0x02015648 kind:thumb_call to:0x02015528 module:main
|
||||
from:0x02015654 kind:thumb_call to:0x02015528 module:main
|
||||
from:0x0201565a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -2213,7 +2213,7 @@ from:0x02018410 kind:thumb_call_arm to:0x0201b9a8 module:main
|
||||
from:0x0201841c kind:load to:0x020b51b8 module:overlay(0)
|
||||
from:0x02018420 kind:load to:0x0204e5f8 module:main
|
||||
from:0x0201842a kind:thumb_call to:0x020148d0 module:main
|
||||
from:0x0201842e kind:thumb_call_arm to:0x020c4840 module:overlays(18,19,20,25)
|
||||
from:0x0201842e kind:thumb_call_arm to:0x020c4840 module:overlay(19)
|
||||
from:0x02018434 kind:load to:0x02049ba0 module:main
|
||||
from:0x02018440 kind:arm_call to:0x0201bacc module:main
|
||||
from:0x02018454 kind:arm_call to:0x0201bacc module:main
|
||||
@@ -2924,19 +2924,19 @@ from:0x0201f634 kind:arm_call to:0x02062408 module:overlay(0)
|
||||
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:0x0204439c module:main
|
||||
from:0x0201f670 kind:load to:0x02044394 add:8 module:main
|
||||
from:0x0201f674 kind:load to:0x020443a8 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:0x0204439c module:main
|
||||
from:0x0201f6a8 kind:load to:0x02044394 add:8 module:main
|
||||
from:0x0201f6ac kind:load to:0x020443a8 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:0x0204439c module:main
|
||||
from:0x0201f6e8 kind:load to:0x02044394 add:8 module:main
|
||||
from:0x0201f6ec kind:load to:0x020443a8 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:0x0204439c module:main
|
||||
from:0x0201f728 kind:load to:0x02044394 add:8 module:main
|
||||
from:0x0201f72c kind:load to:0x020443a8 module:main
|
||||
from:0x0201f748 kind:arm_call to:0x02067a2c module:overlay(0)
|
||||
from:0x0201f780 kind:arm_call to:0x02019590 module:main
|
||||
|
||||
+38
-38
@@ -616,10 +616,10 @@ func_0201245c kind:function(thumb,size=0x10) addr:0x0201245c
|
||||
func_0201246c kind:function(thumb,size=0x54) addr:0x0201246c
|
||||
func_020124c0 kind:function(thumb,size=0x30) addr:0x020124c0
|
||||
DisplayAssertError kind:function(thumb,size=0xb4) addr:0x020124f0
|
||||
func_020125a4 kind:function(thumb,size=0x24) addr:0x020125a4
|
||||
_ZN8SysFault13func_020125a4EPctS0_z kind:function(thumb,size=0x24) addr:0x020125a4
|
||||
func_020125c8 kind:function(thumb,size=0xc) addr:0x020125c8
|
||||
func_020125d4 kind:function(thumb,size=0x21c) addr:0x020125d4
|
||||
func_020127f0 kind:function(thumb,size=0x310) addr:0x020127f0
|
||||
_ZN8SysFault13func_020127f0Ei kind:function(thumb,size=0x310) addr:0x020127f0
|
||||
func_02012b00 kind:function(thumb,size=0x188) addr:0x02012b00
|
||||
func_02012c88 kind:function(thumb,size=0xac) addr:0x02012c88
|
||||
func_02012d34 kind:function(thumb,size=0xce) addr:0x02012d34
|
||||
@@ -651,24 +651,24 @@ func_0201328c kind:function(arm,size=0x3c) addr:0x0201328c
|
||||
func_020132c8 kind:function(arm,size=0x14) addr:0x020132c8
|
||||
func_020132dc kind:function(arm,size=0x78) addr:0x020132dc
|
||||
func_02013354 kind:function(arm,size=0x1c) addr:0x02013354
|
||||
_ZN18UnkStruct_02049a2c13func_02013370Ei kind:function(arm,size=0x24) addr:0x02013370
|
||||
_ZN18UnkStruct_02049a2c3RunEv kind:function(arm,size=0x390) addr:0x02013394
|
||||
_ZN18UnkStruct_02049a2c13func_02013724EPv kind:function(arm,size=0x18) addr:0x02013724
|
||||
_ZN4Game13func_02013370Ei kind:function(arm,size=0x24) addr:0x02013370
|
||||
_ZN4Game3RunEv kind:function(arm,size=0x390) addr:0x02013394
|
||||
_ZN4Game20TrySetCreateCallbackEPFP12GameModeBasevE kind:function(arm,size=0x18) addr:0x02013724
|
||||
func_0201373c kind:function(arm,size=0x18) addr:0x0201373c
|
||||
func_02013754 kind:function(arm,size=0x14) addr:0x02013754
|
||||
func_02013768 kind:function(arm,size=0x60) addr:0x02013768
|
||||
_ZN18UnkStruct_02049b1813func_02013768Ev kind:function(arm,size=0x60) addr:0x02013768
|
||||
func_020137c8 kind:function(arm,size=0x1c) addr:0x020137c8
|
||||
func_020137e4 kind:function(arm,size=0x5c) addr:0x020137e4
|
||||
func_02013840 kind:function(arm,size=0xb4) addr:0x02013840
|
||||
func_020138f4 kind:function(arm,size=0x140) addr:0x020138f4
|
||||
_ZN18UnkStruct_02049b1813func_02013840Eti kind:function(arm,size=0xb4) addr:0x02013840
|
||||
_ZN18UnkStruct_02049b1813func_020138f4Ei kind:function(arm,size=0x140) addr:0x020138f4
|
||||
func_02013a34 kind:function(arm,size=0x10) addr:0x02013a34
|
||||
func_02013a44 kind:function(arm,size=0x98) addr:0x02013a44
|
||||
_ZN18UnkStruct_02049b7413func_02013a44Ei kind:function(arm,size=0x98) addr:0x02013a44
|
||||
func_02013adc kind:function(arm,size=0x34) addr:0x02013adc
|
||||
_ZN5InputC1Ev kind:function(arm,size=0x14) addr:0x02013b10
|
||||
_ZN5Input13func_02013b24Ei kind:function(arm,size=0x64) addr:0x02013b24
|
||||
func_02013b88 kind:function(arm,size=0x10) addr:0x02013b88
|
||||
func_02013b98 kind:function(arm,size=0x24) addr:0x02013b98
|
||||
func_02013bbc kind:function(arm,size=0x4c) addr:0x02013bbc
|
||||
_ZN5Input13func_02013bbcEv kind:function(arm,size=0x4c) addr:0x02013bbc
|
||||
_ZN5Input13func_02013c08Et kind:function(arm,size=0x1c) addr:0x02013c08
|
||||
func_02013c24 kind:function(arm,size=0x58) addr:0x02013c24
|
||||
func_02013c7c kind:function(arm,size=0x58) addr:0x02013c7c
|
||||
@@ -676,7 +676,7 @@ func_02013cd4 kind:function(arm,size=0x5c) addr:0x02013cd4
|
||||
func_02013d30 kind:function(arm,size=0x64) addr:0x02013d30
|
||||
func_02013d94 kind:function(arm,size=0x5c) addr:0x02013d94
|
||||
func_02013df0 kind:function(arm,size=0x28) addr:0x02013df0
|
||||
func_02013e18 kind:function(arm,size=0x1c) addr:0x02013e18
|
||||
_ZN21UnkStruct_02049a2c_1C13func_02013e18EPvi kind:function(arm,size=0x1c) addr:0x02013e18
|
||||
func_02013e34 kind:function(arm,size=0x10) addr:0x02013e34
|
||||
func_02013e44 kind:function(arm,size=0x3c) addr:0x02013e44
|
||||
func_02013e80 kind:function(arm,size=0x4c) addr:0x02013e80
|
||||
@@ -713,7 +713,7 @@ _ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x28) addr:0x02
|
||||
_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x2c) addr:0x02014824
|
||||
_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x28) addr:0x02014850
|
||||
func_02014878 kind:function(thumb,size=0x58) addr:0x02014878
|
||||
_ZN14OverlayManager13func_020148d0Ei kind:function(thumb,size=0x46) addr:0x020148d0
|
||||
_ZN14OverlayManager13func_020148d0Ej kind:function(thumb,size=0x46) addr:0x020148d0
|
||||
func_02014918 kind:function(thumb,size=0x2c) addr:0x02014918
|
||||
func_02014944 kind:function(thumb,size=0x50) addr:0x02014944
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014994
|
||||
@@ -731,7 +731,7 @@ func_02014c3c kind:function(arm,size=0x24) addr:0x02014c3c
|
||||
_ZN18UnkStruct_02049bd413func_02014c60Ei kind:function(arm,size=0x7c) addr:0x02014c60
|
||||
_ZN18UnkStruct_02049bd413func_02014cdcEi kind:function(arm,size=0x5c) addr:0x02014cdc
|
||||
func_02014d38 kind:function(arm,size=0x60) addr:0x02014d38
|
||||
func_02014d98 kind:function(arm,size=0x108) addr:0x02014d98
|
||||
_ZN18UnkStruct_02049bd413func_02014d98Ev kind:function(arm,size=0x108) addr:0x02014d98
|
||||
func_02014ea0 kind:function(arm,size=0x5c) addr:0x02014ea0
|
||||
func_02014efc kind:function(arm,size=0x58) addr:0x02014efc
|
||||
func_02014f54 kind:function(arm,size=0x18) addr:0x02014f54
|
||||
@@ -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
|
||||
func_02015348 kind:function(arm,size=0x38) addr:0x02015348
|
||||
_ZN18SomeSaveFileStructC1Ei kind:function(arm,size=0x38) addr:0x02015348
|
||||
func_02015380 kind:function(arm,size=0x24) addr:0x02015380
|
||||
func_020153a4 kind:function(arm,size=0x20) addr:0x020153a4
|
||||
_ZN18SomeSaveFileStructD1Ev kind:function(arm,size=0x20) addr:0x020153a4
|
||||
func_020153c4 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
|
||||
@@ -764,16 +764,16 @@ func_020154d8 kind:function(thumb,size=0x14) addr:0x020154d8
|
||||
_ZN10UnkStruct213func_020154ecEPKc kind:function(thumb,size=0x2a) addr:0x020154ec
|
||||
func_02015518 kind:function(thumb,size=0x2) addr:0x02015518
|
||||
func_0201551c kind:function(thumb,size=0xc) addr:0x0201551c
|
||||
func_02015528 kind:function(thumb,size=0x2) addr:0x02015528
|
||||
func_0201552c kind:function(thumb,size=0x8) addr:0x0201552c
|
||||
func_02015534 kind:function(thumb,size=0x4) addr:0x02015534
|
||||
func_02015538 kind:function(thumb,size=0x18) addr:0x02015538
|
||||
func_02015550 kind:function(thumb,size=0x1c) addr:0x02015550
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD2Ev kind:function(thumb,size=0x1c) addr:0x0201556c
|
||||
func_02015588 kind:function(thumb,size=0x24) addr:0x02015588
|
||||
func_020155ac kind:function(thumb,size=0x2a) addr:0x020155ac
|
||||
func_020155d8 kind:function(thumb,size=0x18) addr:0x020155d8
|
||||
func_020155f0 kind:function(thumb,size=0x38) addr:0x020155f0
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_02015528Ev kind:function(thumb,size=0x2) addr:0x02015528
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_0201552cEv kind:function(thumb,size=0x8) addr:0x0201552c
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_02015534Ev kind:function(thumb,size=0x4) addr:0x02015534
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseC1Ev kind:function(thumb,size=0x18) addr:0x02015538
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseC1EPviih kind:function(thumb,size=0x1c) addr:0x02015550
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD1Ev kind:function(thumb,size=0x1c) addr:0x0201556c
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD0Ev kind:function(thumb,size=0x24) addr:0x02015588
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x020155ac
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_0CEv kind:function(thumb,size=0x18) addr:0x020155d8
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_10Ei kind:function(thumb,size=0x38) addr:0x020155f0
|
||||
func_02015628 kind:function(thumb,size=0x1c) addr:0x02015628
|
||||
func_02015644 kind:function(thumb,size=0xc) addr:0x02015644
|
||||
func_02015650 kind:function(thumb,size=0x12) addr:0x02015650
|
||||
@@ -914,7 +914,7 @@ _ZN12GameModeBase8vfunc_24Ev kind:function(arm,size=0x8) addr:0x0201839c
|
||||
_ZN18UnkStruct_0204a0608vfunc_0CEv kind:function(thumb,size=0x14) addr:0x020183a4
|
||||
_ZN18UnkStruct_0204a06013func_020183b8Ev kind:function(thumb,size=0x8) addr:0x020183b8
|
||||
_ZN18UnkStruct_0204a06013func_020183c0Ev kind:function(thumb,size=0x14) addr:0x020183c0
|
||||
_ZN18UnkStruct_0204a06013func_020183d4EbPvi kind:function(thumb,size=0x50) addr:0x020183d4
|
||||
_ZN18UnkStruct_0204a06013func_020183d4EbPFP12GameModeBasevEi kind:function(thumb,size=0x50) addr:0x020183d4
|
||||
_ZN18UnkStruct_0204a06013func_02018424Ev kind:function(thumb,size=0x14) addr:0x02018424
|
||||
_ZN18UnkStruct_0204a060D1Ev kind:function(arm,size=0x14) addr:0x02018438
|
||||
_ZN18UnkStruct_0204a060D0Ev kind:function(arm,size=0x1c) addr:0x0201844c
|
||||
@@ -939,7 +939,7 @@ _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
|
||||
_ZN19GameModeManagerBase8vfunc_30Ei kind:function(arm,size=0x4c) addr:0x020186a8
|
||||
_ZN19GameModeManagerBase8vfunc_34Ev kind:function(arm,size=0x4) addr:0x020186f4
|
||||
_ZN19GameModeManagerBase8vfunc_34Eii kind:function(arm,size=0x4) addr:0x020186f4
|
||||
_ZN19GameModeManagerBase13func_020186f8Ei kind:function(arm,size=0xc) addr:0x020186f8
|
||||
_ZN19GameModeManagerBase13func_02018704Ev kind:function(arm,size=0x10) addr:0x02018704
|
||||
_ZN19GameModeManagerBase13func_02018714Eiiiii kind:function(arm,size=0x28) addr:0x02018714
|
||||
@@ -967,13 +967,13 @@ _ZN18UnkStruct_0204a11013func_02018d34Ev kind:function(arm,size=0x44) addr:0x020
|
||||
func_02018d78 kind:function(arm,size=0x174) addr:0x02018d78
|
||||
func_02018eec kind:function(arm,size=0xac) addr:0x02018eec
|
||||
func_02018f98 kind:function(arm,size=0x368) addr:0x02018f98
|
||||
func_02019300 kind:function(arm,size=0x40) addr:0x02019300
|
||||
_ZN18UnkStruct_0204a11013func_02019300Ei kind:function(arm,size=0x40) addr:0x02019300
|
||||
func_02019340 kind:function(arm,size=0x10) addr:0x02019340
|
||||
func_02019350 kind:function(arm,size=0xb8) addr:0x02019350
|
||||
func_02019408 kind:function(arm,size=0x4c) addr:0x02019408
|
||||
func_02019454 kind:function(arm,size=0x88) addr:0x02019454
|
||||
func_020194dc kind:function(arm,size=0x38) addr:0x020194dc
|
||||
func_02019514 kind:function(arm,size=0x14) addr:0x02019514
|
||||
_ZN18UnkStruct_0204a11013func_02019350Ev kind:function(arm,size=0xb8) addr:0x02019350
|
||||
_ZN18UnkStruct_0204a11013func_02019408Ev kind:function(arm,size=0x4c) addr:0x02019408
|
||||
_ZN18UnkStruct_0204a11013func_02019454Ev kind:function(arm,size=0x88) addr:0x02019454
|
||||
_ZN18UnkStruct_0204a11013func_020194dcEv kind:function(arm,size=0x38) addr:0x020194dc
|
||||
_ZN18UnkStruct_0204a11013func_02019514Ev kind:function(arm,size=0x14) addr:0x02019514
|
||||
func_02019528 kind:function(arm,size=0x10) addr:0x02019528
|
||||
_ZN18UnkStruct_0204a11013func_02019538Eii kind:function(arm,size=0x10) addr:0x02019538
|
||||
func_02019548 kind:function(arm,size=0x10) addr:0x02019548
|
||||
@@ -1200,7 +1200,7 @@ func_0201ff4c kind:function(arm,size=0xf8) addr:0x0201ff4c
|
||||
func_02020044 kind:function(arm,size=0xcc) addr:0x02020044
|
||||
func_02020110 kind:function(thumb,size=0x90) addr:0x02020110
|
||||
func_020201a0 kind:function(thumb,size=0x24) addr:0x020201a0
|
||||
func_020201c4 kind:function(arm,size=0xa4) addr:0x020201c4
|
||||
_ZN18UnkStruct_0204e64c13func_020201c4Ei kind:function(arm,size=0xa4) addr:0x020201c4
|
||||
func_02020268 kind:function(arm,size=0x30) addr:0x02020268
|
||||
func_02020298 kind:function(arm,size=0x54) addr:0x02020298
|
||||
func_020202ec kind:function(arm,size=0x5c) addr:0x020202ec
|
||||
@@ -2525,8 +2525,8 @@ data_02043ed0 kind:data(any) addr:0x02043ed0
|
||||
data_02043ed8 kind:data(any) addr:0x02043ed8
|
||||
data_02043ee0 kind:data(any) addr:0x02043ee0
|
||||
data_02043efc kind:data(any) addr:0x02043efc
|
||||
data_02043f08 kind:data(any) addr:0x02043f08
|
||||
data_02043f24 kind:data(any) addr:0x02043f24
|
||||
_ZTV32UnkStruct_ov000_020b4f84_00_Base kind:data(any) addr:0x02043f00
|
||||
data_02043f24 kind:data(any) addr:0x02043f1c
|
||||
data_02043f40 kind:data(any) addr:0x02043f40
|
||||
data_02043f5c kind:data(any) addr:0x02043f5c
|
||||
data_02043f78 kind:data(any) addr:0x02043f78
|
||||
@@ -2561,7 +2561,7 @@ data_0204433c kind:data(any) addr:0x0204433c
|
||||
data_02044340 kind:data(any) addr:0x02044340
|
||||
data_02044384 kind:data(any) addr:0x02044384
|
||||
data_02044390 kind:data(any) addr:0x02044390
|
||||
data_0204439c kind:data(any) addr:0x0204439c
|
||||
_ZTV24UnkSystem2_UnkSubSystem5 kind:data(any) addr:0x02044394
|
||||
data_020443a8 kind:data(any) addr:0x020443a8
|
||||
data_020443c0 kind:data(any) addr:0x020443c0
|
||||
_ZTV21UnkStruct_0204e64c_00 kind:data(any) addr:0x020443d0
|
||||
@@ -2727,7 +2727,7 @@ data_020499c8 kind:bss addr:0x020499c8
|
||||
data_020499e0 kind:bss addr:0x020499e0
|
||||
data_02049a1c kind:bss addr:0x02049a1c
|
||||
data_02049a20 kind:bss addr:0x02049a20
|
||||
data_02049a2c kind:bss addr:0x02049a2c
|
||||
gGame kind:bss addr:0x02049a2c
|
||||
data_02049b14 kind:bss addr:0x02049b14
|
||||
data_02049b18 kind:bss addr:0x02049b18
|
||||
data_02049b2a kind:bss addr:0x02049b2a
|
||||
|
||||
@@ -13,12 +13,23 @@ src/Main/Main.cpp:
|
||||
src/Main/System/SysNew.cpp:
|
||||
.text start:0x02011e10 end:0x0201200c
|
||||
|
||||
src/Main/System/SysFault.cpp:
|
||||
.text start:0x020127f0 end:0x02012b00
|
||||
|
||||
src/Main/Game/Game.cpp:
|
||||
.text start:0x02013370 end:0x02013740
|
||||
|
||||
src/Main/Player/TouchControl.cpp:
|
||||
.text start:0x02014128 end:0x020144a4
|
||||
|
||||
src/Main/System/OverlayManager.cpp:
|
||||
.text start:0x02014800 end:0x02014948
|
||||
|
||||
src/Main/UnkStruct_ov000_020b4f84_00_Base.cpp:
|
||||
complete
|
||||
.text start:0x020154c0 end:0x020155c0
|
||||
.data start:0x02045444 end:0x02045460
|
||||
|
||||
src/Main/System/Random.cpp:
|
||||
.text start:0x0201631c end:0x0201639c
|
||||
|
||||
@@ -43,6 +54,9 @@ src/Main/Game/GameModeManagerBase.cpp:
|
||||
.text start:0x02018414 end:0x02018b5c
|
||||
.data start:0x020455a0 end:0x020455e0
|
||||
|
||||
src/Main/func_020196fc.cpp:
|
||||
.text start:0x02019694 end:0x020198cc
|
||||
|
||||
libs/c/src/abort_exit_arm_eabi.c:
|
||||
complete
|
||||
.text start:0x02034c18 end:0x02034da0
|
||||
|
||||
@@ -1959,9 +1959,9 @@ from:0x02069a68 kind:load to:0x0204b6a0 module:main
|
||||
from:0x02069a7c kind:load to:0x0201beb4 module:main
|
||||
from:0x02069aa4 kind:load to:0x0204b690 module:main
|
||||
from:0x02069aec kind:arm_call to:0x02069aa8 module:overlay(0)
|
||||
from:0x02069b68 kind:load to:0x020b38fc module:overlay(0)
|
||||
from:0x02069b68 kind:load to:0x020b38f4 add:8 module:overlay(0)
|
||||
from:0x02069ba0 kind:arm_call to:0x02069aa8 module:overlay(0)
|
||||
from:0x02069c1c kind:load to:0x020b38fc module:overlay(0)
|
||||
from:0x02069c1c kind:load to:0x020b38f4 add:8 module:overlay(0)
|
||||
from:0x02069c30 kind:arm_call to:0x02011ff4 module:main
|
||||
from:0x02069c84 kind:arm_call to:0x0206adc0 module:overlay(0)
|
||||
from:0x02069d24 kind:arm_call to:0x02067d14 module:overlay(0)
|
||||
|
||||
@@ -59,8 +59,8 @@ func_ov000_02058b88 kind:function(arm,size=0x8) addr:0x02058b88
|
||||
func_ov000_02058b90 kind:function(arm,size=0x30) addr:0x02058b90
|
||||
func_ov000_02058bc0 kind:function(arm,size=0x48) addr:0x02058bc0
|
||||
func_ov000_02058c08 kind:function(arm,size=0x48) addr:0x02058c08
|
||||
func_ov000_02058c50 kind:function(arm,size=0x3c) addr:0x02058c50
|
||||
func_ov000_02058c8c kind:function(arm,size=0x14) addr:0x02058c8c
|
||||
_ZN4Game19func_ov000_020576d0Ev kind:function(arm,size=0x3c) addr:0x02058c50
|
||||
_ZN4Game19func_ov000_0205770cEv kind:function(arm,size=0x14) addr:0x02058c8c
|
||||
func_ov000_02058ca0 kind:function(arm,size=0x14) addr:0x02058ca0
|
||||
func_ov000_02058cb4 kind:function(arm,size=0x1c) addr:0x02058cb4
|
||||
func_ov000_02058cd0 kind:function(thumb,size=0xc) addr:0x02058cd0
|
||||
@@ -532,8 +532,8 @@ func_ov000_02063b4c kind:function(arm,size=0x120) addr:0x02063b4c
|
||||
func_ov000_02063c6c 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
|
||||
func_ov000_02063e4c kind:function(arm,size=0x20) addr:0x02063e4c
|
||||
func_ov000_02063e6c kind:function(arm,size=0xcc) addr:0x02063e6c
|
||||
_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
|
||||
func_ov000_02063fc4 kind:function(arm,size=0x8c) addr:0x02063fc4
|
||||
_ZN29UnkSystem2_UnkSubSystem1_BaseC2Ev kind:function(arm,size=0x74) addr:0x02064050
|
||||
@@ -718,7 +718,7 @@ 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
|
||||
func_ov000_02068ffc kind:function(arm,size=0x44) addr:0x02068ffc
|
||||
_ZN17struct_aStack_2e0C1EP24UnkStruct_ov000_020b504ci kind:function(arm,size=0x44) addr:0x02068ffc
|
||||
func_ov000_02069040 kind:function(arm,size=0x7c) addr:0x02069040
|
||||
func_ov000_020690bc kind:function(arm,size=0x40) addr:0x020690bc
|
||||
func_ov000_020690fc kind:function(arm,size=0x54) addr:0x020690fc
|
||||
@@ -750,14 +750,14 @@ func_ov000_02069a6c kind:function(arm,size=0x14) addr:0x02069a6c
|
||||
func_ov000_02069a80 kind:function(arm,size=0x28) addr:0x02069a80
|
||||
func_ov000_02069aa8 kind:function(arm,size=0x14) addr:0x02069aa8
|
||||
func_ov000_02069abc kind:function(arm,size=0xb4) addr:0x02069abc
|
||||
func_ov000_02069b70 kind:function(arm,size=0xb4) addr:0x02069b70
|
||||
func_ov000_02069c24 kind:function(arm,size=0x4) addr:0x02069c24
|
||||
func_ov000_02069c28 kind:function(arm,size=0x14) addr:0x02069c28
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10C1Ev kind:function(arm,size=0xb4) addr:0x02069b70
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10D1Ev kind:function(arm,size=0x4) addr:0x02069c24
|
||||
_ZN32UnkSystem2_UnkSubSystem5_Base_10D0Ev kind:function(arm,size=0x14) addr:0x02069c28
|
||||
func_ov000_02069c3c kind:function(arm,size=0x4) addr:0x02069c3c
|
||||
func_ov000_02069c40 kind:function(arm,size=0x8) addr:0x02069c40
|
||||
func_ov000_02069c48 kind:function(arm,size=0x34) addr:0x02069c48
|
||||
_ZN17struct_aStack_2d819func_ov000_0206869cEv kind:function(arm,size=0x8) addr:0x02069c40
|
||||
_ZN17struct_aStack_2d819func_ov000_020686a4Ei kind:function(arm,size=0x34) addr:0x02069c48
|
||||
func_ov000_02069c7c kind:function(arm,size=0xb4) addr:0x02069c7c
|
||||
func_ov000_02069d30 kind:function(arm,size=0xc) addr:0x02069d30
|
||||
_ZN17struct_aStack_2d819func_ov000_0206878cEv kind:function(arm,size=0xc) addr:0x02069d30
|
||||
func_ov000_02069d3c 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
|
||||
@@ -771,7 +771,7 @@ func_ov000_0206a178 kind:function(arm,size=0xac) addr:0x0206a178
|
||||
func_ov000_0206a224 kind:function(arm,size=0xb0) addr:0x0206a224
|
||||
func_ov000_0206a2d4 kind:function(arm,size=0x20) addr:0x0206a2d4
|
||||
func_ov000_0206a2f4 kind:function(arm,size=0x29c) addr:0x0206a2f4
|
||||
func_ov000_0206a590 kind:function(arm,size=0x1c8) addr:0x0206a590
|
||||
_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
|
||||
@@ -800,7 +800,7 @@ func_ov000_0206b3e4 kind:function(arm,size=0xc) addr:0x0206b3e4
|
||||
func_ov000_0206b3f0 kind:function(arm,size=0x50) addr:0x0206b3f0
|
||||
func_ov000_0206b440 kind:function(arm,size=0x78) addr:0x0206b440
|
||||
func_ov000_0206b4b8 kind:function(arm,size=0x44) addr:0x0206b4b8
|
||||
func_ov000_0206b4fc kind:function(arm,size=0x6c) addr:0x0206b4fc
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov000_02069f58Ev kind:function(arm,size=0x6c) addr:0x0206b4fc
|
||||
func_ov000_0206b568 kind:function(arm,size=0x50) addr:0x0206b568
|
||||
func_ov000_0206b5b8 kind:function(arm,size=0x20) addr:0x0206b5b8
|
||||
func_ov000_0206b5d8 kind:function(arm,size=0x50) addr:0x0206b5d8
|
||||
@@ -3489,7 +3489,7 @@ data_ov000_020b38d0 kind:data(any) addr:0x020b38d0
|
||||
data_ov000_020b38dc kind:data(any) addr:0x020b38dc
|
||||
data_ov000_020b38e4 kind:data(any) addr:0x020b38e4
|
||||
data_ov000_020b38ec kind:data(any) addr:0x020b38ec
|
||||
data_ov000_020b38fc kind:data(any) addr:0x020b38fc
|
||||
_ZTV32UnkSystem2_UnkSubSystem5_Base_10 kind:data(any) addr:0x020b38f4
|
||||
data_ov000_020b3948 kind:data(any) addr:0x020b3948
|
||||
data_ov000_020b394c kind:data(any) addr:0x020b394c
|
||||
data_ov000_020b3950 kind:data(any) addr:0x020b3950
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
_ZN8SysFault19func_ov018_020c4840Ev kind:function(arm,size=0x30) addr:0x020c6060
|
||||
_ZN18UnkStruct_02049a2cC1Ev kind:function(arm,size=0x34) addr:0x020c6090
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c48a4Ei kind:function(arm,size=0x54) addr:0x020c60c4
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c48f8Ev kind:function(arm,size=0x58) addr:0x020c6118
|
||||
_ZN4GameC1Ev kind:function(arm,size=0x34) addr:0x020c6090
|
||||
_ZN4Game19func_ov018_020c48a4Ev kind:function(arm,size=0x54) addr:0x020c60c4
|
||||
_ZN4Game19func_ov018_020c48f8Ev kind:function(arm,size=0x58) addr:0x020c6118
|
||||
_ZN18UnkStruct_02049b18C1Ev kind:function(arm,size=0x30) addr:0x020c6170
|
||||
_ZN18UnkStruct_02011e1019func_ov018_020c4980Ev kind:function(arm,size=0xdc) addr:0x020c61a0
|
||||
_ZN18UnkStruct_02011e1019func_ov018_020c4a5cEv kind:function(arm,size=0x6c) addr:0x020c627c
|
||||
@@ -10,7 +10,7 @@ _ZN18UnkStruct_02049b80C1Ev kind:function(arm,size=0x2c) addr:0x020c62fc
|
||||
_ZN21UnkStruct_02049b18_06C1Ev kind:function(arm,size=0x50) addr:0x020c6328
|
||||
_ZN21UnkStruct_0204e64c_00C1Ev kind:function(arm,size=0x2c) addr:0x020c6378
|
||||
_ZN18UnkStruct_0204e64cC1Ev kind:function(arm,size=0x24) addr:0x020c63a4
|
||||
_ZN18UnkStruct_02049a2c19func_ov018_020c4ba8Ev kind:function(arm,size=0x54) addr:0x020c63c8
|
||||
_ZN4Game19func_ov018_020c4ba8Ev kind:function(arm,size=0x54) addr:0x020c63c8
|
||||
_ZN15GameModeStartUpD1Ev kind:function(arm,size=0x20) addr:0x020c641c
|
||||
_ZN15GameModeStartUpC1Ev kind:function(arm,size=0x180) addr:0x020c643c
|
||||
_ZN15GameModeStartUp8vfunc_0CEv kind:function(arm,size=0xcc) addr:0x020c65bc
|
||||
|
||||
@@ -16,7 +16,7 @@ _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
|
||||
_ZN18TitleScreenManager8vfunc_38Ev kind:function(arm,size=0x4) addr:0x020c643c
|
||||
_ZN18TitleScreenManager8vfunc_38Eiiii 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
|
||||
_ZN18TitleScreenManagerD1Ev kind:function(arm,size=0x14) addr:0x020c6460
|
||||
|
||||
+10
-10
@@ -1942,19 +1942,19 @@ from:0x0201547c kind:thumb_call_arm to:0x0201535c module:main
|
||||
from:0x0201548c kind:thumb_call_arm to:0x020152d0 module:main
|
||||
from:0x020154a2 kind:thumb_call to:0x02012f08 module:main
|
||||
from:0x020154b8 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020154e4 kind:load to:0x0204544c module:main
|
||||
from:0x02015500 kind:load to:0x0204544c module:main
|
||||
from:0x020154e4 kind:load to:0x02045444 add:8 module:main
|
||||
from:0x02015500 kind:load to:0x02045444 add:8 module:main
|
||||
from:0x02015514 kind:thumb_call to:0x020154c0 module:main
|
||||
from:0x0201551c kind:load to:0x0204544c module:main
|
||||
from:0x0201551c kind:load to:0x02045444 add:8 module:main
|
||||
from:0x02015530 kind:thumb_call to:0x020154c0 module:main
|
||||
from:0x02015536 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x02015540 kind:load to:0x0204544c module:main
|
||||
from:0x02015540 kind:load to:0x02045444 add:8 module:main
|
||||
from:0x02015562 kind:thumb_call to:0x02012ec8 module:main
|
||||
from:0x0201557c kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x02015582 kind:thumb_call to:0x020154c4 module:main
|
||||
from:0x020155ae kind:thumb_call to:0x020010e0 module:main
|
||||
from:0x020155b8 kind:load to:0x0204af1c module:main
|
||||
from:0x020155d8 kind:load to:0x02045468 module:main
|
||||
from:0x020155d8 kind:load to:0x02045460 add:8 module:main
|
||||
from:0x020155e0 kind:thumb_call to:0x020154c0 module:main
|
||||
from:0x020155ec kind:thumb_call to:0x020154c0 module:main
|
||||
from:0x020155f2 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -2213,7 +2213,7 @@ from:0x020183a8 kind:thumb_call_arm to:0x0201b798 module:main
|
||||
from:0x020183b4 kind:load to:0x020b69b8 module:overlay(0)
|
||||
from:0x020183b8 kind:load to:0x0204fb78 module:main
|
||||
from:0x020183c2 kind:thumb_call to:0x020148d4 module:main
|
||||
from:0x020183c6 kind:thumb_call_arm to:0x020c6060 module:overlays(18,20,25)
|
||||
from:0x020183c6 kind:thumb_call_arm to:0x020c6060 module:overlay(19)
|
||||
from:0x020183cc kind:load to:0x0204b120 module:main
|
||||
from:0x020183d8 kind:arm_call to:0x0201b8bc module:main
|
||||
from:0x020183ec kind:arm_call to:0x0201b8bc module:main
|
||||
@@ -2924,19 +2924,19 @@ from:0x0201f424 kind:arm_call to:0x02063990 module:overlay(0)
|
||||
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:0x020458e0 module:main
|
||||
from:0x0201f460 kind:load to:0x020458d8 add:8 module:main
|
||||
from:0x0201f464 kind:load to:0x020458ec 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:0x020458e0 module:main
|
||||
from:0x0201f498 kind:load to:0x020458d8 add:8 module:main
|
||||
from:0x0201f49c kind:load to:0x020458ec 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:0x020458e0 module:main
|
||||
from:0x0201f4d8 kind:load to:0x020458d8 add:8 module:main
|
||||
from:0x0201f4dc kind:load to:0x020458ec 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:0x020458e0 module:main
|
||||
from:0x0201f518 kind:load to:0x020458d8 add:8 module:main
|
||||
from:0x0201f51c kind:load to:0x020458ec module:main
|
||||
from:0x0201f538 kind:arm_call to:0x02068fc8 module:overlay(0)
|
||||
from:0x0201f570 kind:arm_call to:0x02019528 module:main
|
||||
|
||||
+39
-39
@@ -615,11 +615,11 @@ func_0201233c kind:function(arm,size=0x120) addr:0x0201233c
|
||||
func_0201245c kind:function(thumb,size=0x10) addr:0x0201245c
|
||||
func_0201246c kind:function(thumb,size=0x54) addr:0x0201246c
|
||||
func_020124c0 kind:function(thumb,size=0x30) addr:0x020124c0
|
||||
func_020124f0 kind:function(thumb,size=0xb4) addr:0x020124f0
|
||||
func_020125a4 kind:function(thumb,size=0x24) addr:0x020125a4
|
||||
DisplayAssertError kind:function(thumb,size=0xb4) addr:0x020124f0
|
||||
_ZN8SysFault13func_020125a4EPctS0_z kind:function(thumb,size=0x24) addr:0x020125a4
|
||||
func_020125c8 kind:function(thumb,size=0xc) addr:0x020125c8
|
||||
func_020125d4 kind:function(thumb,size=0x21c) addr:0x020125d4
|
||||
func_020127f0 kind:function(thumb,size=0x310) addr:0x020127f0
|
||||
_ZN8SysFault13func_020127f0Ei kind:function(thumb,size=0x310) addr:0x020127f0
|
||||
func_02012b00 kind:function(thumb,size=0x188) addr:0x02012b00
|
||||
func_02012c88 kind:function(thumb,size=0xac) addr:0x02012c88
|
||||
func_02012d34 kind:function(thumb,size=0xce) addr:0x02012d34
|
||||
@@ -651,24 +651,24 @@ func_0201328c kind:function(arm,size=0x3c) addr:0x0201328c
|
||||
func_020132c8 kind:function(arm,size=0x14) addr:0x020132c8
|
||||
func_020132dc kind:function(arm,size=0x78) addr:0x020132dc
|
||||
func_02013354 kind:function(arm,size=0x1c) addr:0x02013354
|
||||
_ZN18UnkStruct_02049a2c13func_02013370Ei kind:function(arm,size=0x24) addr:0x02013370
|
||||
_ZN18UnkStruct_02049a2c3RunEv kind:function(arm,size=0x394) addr:0x02013394
|
||||
_ZN18UnkStruct_02049a2c13func_02013724EPv kind:function(arm,size=0x18) addr:0x02013728
|
||||
_ZN4Game13func_02013370Ei kind:function(arm,size=0x24) addr:0x02013370
|
||||
_ZN4Game3RunEv kind:function(arm,size=0x394) addr:0x02013394
|
||||
_ZN4Game20TrySetCreateCallbackEPFP12GameModeBasevE kind:function(arm,size=0x18) addr:0x02013728
|
||||
func_02013740 kind:function(arm,size=0x18) addr:0x02013740
|
||||
func_02013758 kind:function(arm,size=0x14) addr:0x02013758
|
||||
func_02013768 kind:function(arm,size=0x60) addr:0x0201376c
|
||||
_ZN18UnkStruct_02049b1813func_02013768Ev kind:function(arm,size=0x60) addr:0x0201376c
|
||||
func_020137cc kind:function(arm,size=0x1c) addr:0x020137cc
|
||||
func_020137e8 kind:function(arm,size=0x5c) addr:0x020137e8
|
||||
func_02013844 kind:function(arm,size=0xb4) addr:0x02013844
|
||||
func_020138f8 kind:function(arm,size=0x140) addr:0x020138f8
|
||||
_ZN18UnkStruct_02049b1813func_02013840Eti kind:function(arm,size=0xb4) addr:0x02013844
|
||||
_ZN18UnkStruct_02049b1813func_020138f4Ei kind:function(arm,size=0x140) addr:0x020138f8
|
||||
func_02013a38 kind:function(arm,size=0x10) addr:0x02013a38
|
||||
func_02013a48 kind:function(arm,size=0x98) addr:0x02013a48
|
||||
_ZN18UnkStruct_02049b7413func_02013a44Ei kind:function(arm,size=0x98) addr:0x02013a48
|
||||
func_02013ae0 kind:function(arm,size=0x34) addr:0x02013ae0
|
||||
_ZN5InputC1Ev kind:function(arm,size=0x14) addr:0x02013b14
|
||||
_ZN5Input13func_02013b24Ei kind:function(arm,size=0x64) addr:0x02013b28
|
||||
func_02013b8c kind:function(arm,size=0x10) addr:0x02013b8c
|
||||
func_02013b9c kind:function(arm,size=0x24) addr:0x02013b9c
|
||||
func_02013bc0 kind:function(arm,size=0x4c) addr:0x02013bc0
|
||||
_ZN5Input13func_02013bbcEv kind:function(arm,size=0x4c) addr:0x02013bc0
|
||||
_ZN5Input13func_02013c08Et kind:function(arm,size=0x1c) addr:0x02013c0c
|
||||
func_02013c28 kind:function(arm,size=0x58) addr:0x02013c28
|
||||
func_02013c80 kind:function(arm,size=0x58) addr:0x02013c80
|
||||
@@ -676,7 +676,7 @@ func_02013cd8 kind:function(arm,size=0x5c) addr:0x02013cd8
|
||||
func_02013d34 kind:function(arm,size=0x64) addr:0x02013d34
|
||||
func_02013d98 kind:function(arm,size=0x5c) addr:0x02013d98
|
||||
func_02013df4 kind:function(arm,size=0x28) addr:0x02013df4
|
||||
func_02013e1c kind:function(arm,size=0x1c) addr:0x02013e1c
|
||||
_ZN21UnkStruct_02049a2c_1C13func_02013e18EPvi kind:function(arm,size=0x1c) addr:0x02013e1c
|
||||
func_02013e38 kind:function(arm,size=0x10) addr:0x02013e38
|
||||
func_02013e48 kind:function(arm,size=0x3c) addr:0x02013e48
|
||||
func_02013e84 kind:function(arm,size=0x4c) addr:0x02013e84
|
||||
@@ -713,7 +713,7 @@ _ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x28) addr:0x02
|
||||
_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x2c) addr:0x02014828
|
||||
_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x28) addr:0x02014854
|
||||
func_0201487c kind:function(thumb,size=0x58) addr:0x0201487c
|
||||
_ZN14OverlayManager13func_020148d0Ei kind:function(thumb,size=0x46) addr:0x020148d4
|
||||
_ZN14OverlayManager13func_020148d0Ej kind:function(thumb,size=0x46) addr:0x020148d4
|
||||
func_0201491c kind:function(thumb,size=0x2c) addr:0x0201491c
|
||||
func_02014948 kind:function(thumb,size=0x50) addr:0x02014948
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014998
|
||||
@@ -731,7 +731,7 @@ func_02014c40 kind:function(arm,size=0x24) addr:0x02014c40
|
||||
_ZN18UnkStruct_02049bd413func_02014c60Ei kind:function(arm,size=0x7c) addr:0x02014c64
|
||||
_ZN18UnkStruct_02049bd413func_02014cdcEi kind:function(arm,size=0x5c) addr:0x02014ce0
|
||||
func_02014d3c kind:function(arm,size=0x60) addr:0x02014d3c
|
||||
func_02014d9c kind:function(arm,size=0x108) addr:0x02014d9c
|
||||
_ZN18UnkStruct_02049bd413func_02014d98Ev kind:function(arm,size=0x108) addr:0x02014d9c
|
||||
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
|
||||
@@ -747,9 +747,9 @@ func_02015244 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
|
||||
func_020152e0 kind:function(arm,size=0x38) addr:0x020152e0
|
||||
_ZN18SomeSaveFileStructC1Ei kind:function(arm,size=0x38) addr:0x020152e0
|
||||
func_02015318 kind:function(arm,size=0x24) addr:0x02015318
|
||||
func_0201533c kind:function(arm,size=0x20) addr:0x0201533c
|
||||
_ZN18SomeSaveFileStructD1Ev kind:function(arm,size=0x20) addr:0x0201533c
|
||||
func_0201535c 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
|
||||
@@ -764,16 +764,16 @@ func_02015470 kind:function(thumb,size=0x14) addr:0x02015470
|
||||
_ZN10UnkStruct213func_020154ecEPKc kind:function(thumb,size=0x2a) addr:0x02015484
|
||||
func_020154b0 kind:function(thumb,size=0x2) addr:0x020154b0
|
||||
func_020154b4 kind:function(thumb,size=0xc) addr:0x020154b4
|
||||
func_020154c0 kind:function(thumb,size=0x2) addr:0x020154c0
|
||||
func_020154c4 kind:function(thumb,size=0x8) addr:0x020154c4
|
||||
func_020154cc kind:function(thumb,size=0x4) addr:0x020154cc
|
||||
func_020154d0 kind:function(thumb,size=0x18) addr:0x020154d0
|
||||
func_020154e8 kind:function(thumb,size=0x1c) addr:0x020154e8
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD2Ev kind:function(thumb,size=0x1c) addr:0x02015504
|
||||
func_02015520 kind:function(thumb,size=0x24) addr:0x02015520
|
||||
func_02015544 kind:function(thumb,size=0x2a) addr:0x02015544
|
||||
func_02015570 kind:function(thumb,size=0x18) addr:0x02015570
|
||||
func_02015588 kind:function(thumb,size=0x38) addr:0x02015588
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_02015528Ev kind:function(thumb,size=0x2) addr:0x020154c0
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_0201552cEv kind:function(thumb,size=0x8) addr:0x020154c4
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base13func_02015534Ev kind:function(thumb,size=0x4) addr:0x020154cc
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseC1Ev kind:function(thumb,size=0x18) addr:0x020154d0
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseC1EPviih kind:function(thumb,size=0x1c) addr:0x020154e8
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD1Ev kind:function(thumb,size=0x1c) addr:0x02015504
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_BaseD0Ev kind:function(thumb,size=0x24) addr:0x02015520
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x02015544
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_0CEv kind:function(thumb,size=0x18) addr:0x02015570
|
||||
_ZN32UnkStruct_ov000_020b4f84_00_Base8vfunc_10Ei kind:function(thumb,size=0x38) addr:0x02015588
|
||||
func_020155c0 kind:function(thumb,size=0x1c) addr:0x020155c0
|
||||
func_020155dc kind:function(thumb,size=0xc) addr:0x020155dc
|
||||
func_020155e8 kind:function(thumb,size=0x12) addr:0x020155e8
|
||||
@@ -914,7 +914,7 @@ _ZN12GameModeBase8vfunc_24Ev kind:function(arm,size=0x8) addr:0x02018334
|
||||
_ZN18UnkStruct_0204a0608vfunc_0CEv kind:function(thumb,size=0x14) addr:0x0201833c
|
||||
_ZN18UnkStruct_0204a06013func_020183b8Ev kind:function(thumb,size=0x8) addr:0x02018350
|
||||
_ZN18UnkStruct_0204a06013func_020183c0Ev kind:function(thumb,size=0x14) addr:0x02018358
|
||||
_ZN18UnkStruct_0204a06013func_020183d4EbPvi kind:function(thumb,size=0x50) addr:0x0201836c
|
||||
_ZN18UnkStruct_0204a06013func_020183d4EbPFP12GameModeBasevEi kind:function(thumb,size=0x50) addr:0x0201836c
|
||||
_ZN18UnkStruct_0204a06013func_02018424Ev kind:function(thumb,size=0x14) addr:0x020183bc
|
||||
_ZN18UnkStruct_0204a060D1Ev kind:function(arm,size=0x14) addr:0x020183d0
|
||||
_ZN18UnkStruct_0204a060D0Ev kind:function(arm,size=0x1c) addr:0x020183e4
|
||||
@@ -939,7 +939,7 @@ _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
|
||||
_ZN19GameModeManagerBase8vfunc_30Ei kind:function(arm,size=0x4c) addr:0x02018640
|
||||
_ZN19GameModeManagerBase8vfunc_34Ev kind:function(arm,size=0x4) addr:0x0201868c
|
||||
_ZN19GameModeManagerBase8vfunc_34Eii kind:function(arm,size=0x4) addr:0x0201868c
|
||||
_ZN19GameModeManagerBase13func_020186f8Ei kind:function(arm,size=0xc) addr:0x02018690
|
||||
_ZN19GameModeManagerBase13func_02018704Ev kind:function(arm,size=0x10) addr:0x0201869c
|
||||
_ZN19GameModeManagerBase13func_02018714Eiiiii kind:function(arm,size=0x28) addr:0x020186ac
|
||||
@@ -967,13 +967,13 @@ _ZN18UnkStruct_0204a11013func_02018d34Ev kind:function(arm,size=0x44) addr:0x020
|
||||
func_02018d10 kind:function(arm,size=0x174) addr:0x02018d10
|
||||
func_02018e84 kind:function(arm,size=0xac) addr:0x02018e84
|
||||
func_02018f30 kind:function(arm,size=0x368) addr:0x02018f30
|
||||
func_02019298 kind:function(arm,size=0x40) addr:0x02019298
|
||||
_ZN18UnkStruct_0204a11013func_02019300Ei kind:function(arm,size=0x40) addr:0x02019298
|
||||
func_020192d8 kind:function(arm,size=0x10) addr:0x020192d8
|
||||
func_020192e8 kind:function(arm,size=0xb8) addr:0x020192e8
|
||||
func_020193a0 kind:function(arm,size=0x4c) addr:0x020193a0
|
||||
func_020193ec kind:function(arm,size=0x88) addr:0x020193ec
|
||||
func_02019474 kind:function(arm,size=0x38) addr:0x02019474
|
||||
func_020194ac kind:function(arm,size=0x14) addr:0x020194ac
|
||||
_ZN18UnkStruct_0204a11013func_02019350Ev kind:function(arm,size=0xb8) addr:0x020192e8
|
||||
_ZN18UnkStruct_0204a11013func_02019408Ev kind:function(arm,size=0x4c) addr:0x020193a0
|
||||
_ZN18UnkStruct_0204a11013func_02019454Ev kind:function(arm,size=0x88) addr:0x020193ec
|
||||
_ZN18UnkStruct_0204a11013func_020194dcEv kind:function(arm,size=0x38) addr:0x02019474
|
||||
_ZN18UnkStruct_0204a11013func_02019514Ev kind:function(arm,size=0x14) addr:0x020194ac
|
||||
func_020194c0 kind:function(arm,size=0x10) addr:0x020194c0
|
||||
_ZN18UnkStruct_0204a11013func_02019538Eii kind:function(arm,size=0x10) addr:0x020194d0
|
||||
func_020194e0 kind:function(arm,size=0x10) addr:0x020194e0
|
||||
@@ -1200,7 +1200,7 @@ func_0201fd60 kind:function(arm,size=0xf8) addr:0x0201fd60
|
||||
func_0201fe58 kind:function(arm,size=0xcc) addr:0x0201fe58
|
||||
func_0201ff24 kind:function(thumb,size=0x90) addr:0x0201ff24
|
||||
func_0201ffb4 kind:function(thumb,size=0x24) addr:0x0201ffb4
|
||||
func_0201ffd8 kind:function(arm,size=0xa4) addr:0x0201ffd8
|
||||
_ZN18UnkStruct_0204e64c13func_020201c4Ei kind:function(arm,size=0xa4) addr:0x0201ffd8
|
||||
func_0202007c kind:function(arm,size=0x30) addr:0x0202007c
|
||||
func_020200ac kind:function(arm,size=0x54) addr:0x020200ac
|
||||
func_02020100 kind:function(arm,size=0x5c) addr:0x02020100
|
||||
@@ -2546,8 +2546,8 @@ data_02045408 kind:data(any) addr:0x02045408
|
||||
data_02045418 kind:data(any) addr:0x02045418
|
||||
data_02045424 kind:data(any) addr:0x02045424
|
||||
data_02045440 kind:data(any) addr:0x02045440
|
||||
data_0204544c kind:data(any) addr:0x0204544c
|
||||
data_02045468 kind:data(any) addr:0x02045468
|
||||
_ZTV32UnkStruct_ov000_020b4f84_00_Base kind:data(any) addr:0x02045444
|
||||
data_02045468 kind:data(any) addr:0x02045460
|
||||
data_02045484 kind:data(any) addr:0x02045484
|
||||
data_020454a0 kind:data(any) addr:0x020454a0
|
||||
data_020454bc kind:data(any) addr:0x020454bc
|
||||
@@ -2582,7 +2582,7 @@ data_02045880 kind:data(any) addr:0x02045880
|
||||
data_02045884 kind:data(any) addr:0x02045884
|
||||
data_020458c8 kind:data(any) addr:0x020458c8
|
||||
data_020458d4 kind:data(any) addr:0x020458d4
|
||||
data_020458e0 kind:data(any) addr:0x020458e0
|
||||
_ZTV24UnkSystem2_UnkSubSystem5 kind:data(any) addr:0x020458d8
|
||||
data_020458ec kind:data(any) addr:0x020458ec
|
||||
data_02045904 kind:data(any) addr:0x02045904
|
||||
_ZTV21UnkStruct_0204e64c_00 kind:data(any) addr:0x02045914
|
||||
@@ -2750,7 +2750,7 @@ data_0204af48 kind:bss addr:0x0204af48
|
||||
data_0204af60 kind:bss addr:0x0204af60
|
||||
data_0204af9c kind:bss addr:0x0204af9c
|
||||
data_0204afa0 kind:bss addr:0x0204afa0
|
||||
data_02049a2c kind:bss addr:0x0204afac
|
||||
gGame kind:bss addr:0x0204afac
|
||||
data_0204b094 kind:bss addr:0x0204b094
|
||||
data_02049b18 kind:bss addr:0x0204b098
|
||||
data_0204b0aa kind:bss addr:0x0204b0aa
|
||||
|
||||
+107
-107
@@ -10,115 +10,115 @@ Each overlay is tied to an index which is used to access the overlay in two diff
|
||||
------|-------------------|---------|------|-------------
|
||||
`000` | Second | `000` | `0` | Core game engine
|
||||
`001` | SceneInit | `001` | `1` |
|
||||
`002` | Collect | `002` | |
|
||||
`003` | SoftKeyboard | `003` | |
|
||||
`004` | Factory | `014` | |
|
||||
`005` | NormalScreen | `004` | |
|
||||
`006` | Paint | `005` | |
|
||||
`007` | RailEdit | `006` | |
|
||||
`008` | GameOver | `007` | |
|
||||
`009` | CloseUp | `009` | |
|
||||
`010` | TabMenu | `008` | |
|
||||
`011` | WorldMap | `010` | |
|
||||
`012` | PanFlute | `011` | |
|
||||
`013` | TetsuoMap | `012` | |
|
||||
`014` | Stamp | `013` | |
|
||||
`015` | Shop | `015` | |
|
||||
`016` | RabbitCapture | `016` | |
|
||||
`017` | CourseExec | `017` | |
|
||||
`002` | Collect | `002` | `1` |
|
||||
`003` | SoftKeyboard | `003` | `1` |
|
||||
`004` | Factory | `014` | `1` | The train part screen, either when editing the train or preview the parts
|
||||
`005` | NormalScreen | `004` | `1` |
|
||||
`006` | Paint | `005` | `1` | Map drawing
|
||||
`007` | RailEdit | `006` | `1` |
|
||||
`008` | GameOver | `007` | `1` |
|
||||
`009` | CloseUp | `009` | `1` |
|
||||
`010` | TabMenu | `008` | `1` |
|
||||
`011` | WorldMap | `010` | `1` |
|
||||
`012` | PanFlute | `011` | `1` |
|
||||
`013` | TetsuoMap | `012` | `1` |
|
||||
`014` | Stamp | `013` | `1` |
|
||||
`015` | Shop | `015` | `1` |
|
||||
`016` | RabbitCapture | `016` | `1` |
|
||||
`017` | CourseExec | `017` | `2` |
|
||||
`018` | StartUp | `021` | `4` | Exists briefly on game startup. Initializes RNG, messages, and more.
|
||||
`019` | MainSelect | `024` | | File Select
|
||||
`020` | WirelessCommon | `025` | |
|
||||
`021` | BattleGame | `026` | |
|
||||
`022` | Download | `027` | | Handles DS download play.
|
||||
`023` | Wxc | `028` | |
|
||||
`024` | MainGame | `022` | |
|
||||
`019` | MainSelect | `024` | `4` | File Select
|
||||
`020` | WirelessCommon | `025` | `4` |
|
||||
`021` | BattleGame | `026` | `5` |
|
||||
`022` | Download | `027` | `5` | Handles DS download play.
|
||||
`023` | Wxc | `028` | `5` |
|
||||
`024` | MainGame | `022` | `4` |
|
||||
`025` | Title | `023` | `4` | Title Screen
|
||||
`026` | Train | `030` | |
|
||||
`027` | TrainForest | `058` | |
|
||||
`028` | TrainSnow | `059` | |
|
||||
`029` | TrainWater | `060` | |
|
||||
`030` | TrainFlame | `061` | |
|
||||
`031` | Land | `029` | |
|
||||
`032` | MapA1 | `077` | |
|
||||
`033` | MapA2 | `078` | |
|
||||
`034` | MapA3 | `079` | |
|
||||
`035` | MapA4 | `080` | |
|
||||
`036` | MapA5 | `081` | |
|
||||
`037` | MapA6 | `082` | |
|
||||
`038` | MapA7 | `083` | |
|
||||
`039` | MapA8 | `084` | |
|
||||
`040` | MapB1 | `085` | |
|
||||
`041` | MapB2 | `086` | |
|
||||
`042` | MapB3 | `087` | |
|
||||
`043` | MapB4 | `088` | |
|
||||
`044` | MapB5 | `089` | |
|
||||
`045` | MapB6 | `090` | |
|
||||
`046` | MapB7 | `091` | |
|
||||
`047` | MapC1 | `092` | |
|
||||
`048` | MapC2 | `093` | |
|
||||
`049` | MapC3 | `094` | |
|
||||
`050` | MapC4 | `095` | |
|
||||
`051` | MapC5 | `096` | |
|
||||
`052` | MapC6 | `097` | |
|
||||
`053` | MapD1 | `098` | |
|
||||
`054` | MapD2 | `099` | |
|
||||
`055` | MapD3 | `100` | |
|
||||
`056` | MapD4 | `101` | |
|
||||
`057` | MapD5 | `102` | |
|
||||
`058` | Field | `032` | |
|
||||
`059` | InTrain | `047` | |
|
||||
`060` | Castle | `048` | |
|
||||
`061` | CastleTown | `049` | |
|
||||
`062` | Village | `050` | |
|
||||
`063` | Shrine | `051` | |
|
||||
`064` | FldForest | `052` | |
|
||||
`065` | FldSnow | `053` | |
|
||||
`066` | FldWater | `054` | |
|
||||
`067` | FldFlame | `055` | |
|
||||
`068` | FldAjito | `056` | |
|
||||
`069` | FldRabbit | `057` | |
|
||||
`070` | Dungeon | `031` | |
|
||||
`071` | Tower | `033` | `8` |
|
||||
`072` | TowerLobby | `034` | |
|
||||
`026` | Train | `030` | `6` |
|
||||
`027` | TrainForest | `058` | `8` |
|
||||
`028` | TrainSnow | `059` | `8` |
|
||||
`029` | TrainWater | `060` | `8` |
|
||||
`030` | TrainFlame | `061` | `8` |
|
||||
`031` | Land | `029` | `6` |
|
||||
`032` | MapA1 | `077` | `13` |
|
||||
`033` | MapA2 | `078` | `13` |
|
||||
`034` | MapA3 | `079` | `13` |
|
||||
`035` | MapA4 | `080` | `13` |
|
||||
`036` | MapA5 | `081` | `13` |
|
||||
`037` | MapA6 | `082` | `13` |
|
||||
`038` | MapA7 | `083` | `13` |
|
||||
`039` | MapA8 | `084` | `13` |
|
||||
`040` | MapB1 | `085` | `14` |
|
||||
`041` | MapB2 | `086` | `14` |
|
||||
`042` | MapB3 | `087` | `14` |
|
||||
`043` | MapB4 | `088` | `14` |
|
||||
`044` | MapB5 | `089` | `14` |
|
||||
`045` | MapB6 | `090` | `14` |
|
||||
`046` | MapB7 | `091` | `14` |
|
||||
`047` | MapC1 | `092` | `15` |
|
||||
`048` | MapC2 | `093` | `15` |
|
||||
`049` | MapC3 | `094` | `15` |
|
||||
`050` | MapC4 | `095` | `15` |
|
||||
`051` | MapC5 | `096` | `15` |
|
||||
`052` | MapC6 | `097` | `15` |
|
||||
`053` | MapD1 | `098` | `16` |
|
||||
`054` | MapD2 | `099` | `16` |
|
||||
`055` | MapD3 | `100` | `16` |
|
||||
`056` | MapD4 | `101` | `16` |
|
||||
`057` | MapD5 | `102` | `16` |
|
||||
`058` | Field | `032` | `7` |
|
||||
`059` | InTrain | `047` | `8` |
|
||||
`060` | Castle | `048` | `8` |
|
||||
`061` | CastleTown | `049` | `8` |
|
||||
`062` | Village | `050` | `8` |
|
||||
`063` | Shrine | `051` | `8` |
|
||||
`064` | FldForest | `052` | `8` |
|
||||
`065` | FldSnow | `053` | `8` |
|
||||
`066` | FldWater | `054` | `8` |
|
||||
`067` | FldFlame | `055` | `8` |
|
||||
`068` | FldAjito | `056` | `8` |
|
||||
`069` | FldRabbit | `057` | `8` |
|
||||
`070` | Dungeon | `031` | `7` |
|
||||
`071` | Tower | `033` | `8` | Tower of Spirit staircase
|
||||
`072` | TowerLobby | `034` | `8` | Tower of Spirit train station
|
||||
`073` | BossDeago | `040` | `8` |
|
||||
`074` | BossLast1 | `041` | `8` |
|
||||
`075` | BossLast2 | `042` | `8` |
|
||||
`076` | DgnLv1 | `071` | |
|
||||
`077` | DgnForest | `043` | |
|
||||
`078` | BossForest | `035` | |
|
||||
`079` | DgnSnow | `044` | |
|
||||
`080` | BossSnow | `036` | |
|
||||
`081` | DgnLv3 | `072` | |
|
||||
`082` | DgnWater | `045` | |
|
||||
`083` | BossWater | `037` | |
|
||||
`084` | BossFlame | `038` | |
|
||||
`085` | DgnLv5 | `073` | |
|
||||
`086` | DgnDesert | `046` | |
|
||||
`087` | BossDesert | `039` | |
|
||||
`088` | Stb | `062` | |
|
||||
`089` | ASR | `063` | |
|
||||
`090` | TrainNormal | `066` | |
|
||||
`091` | TrainExtra | `067` | |
|
||||
`092` | TrainDark | `068` | |
|
||||
`093` | PlayerSub | `064` | |
|
||||
`094` | Land2 | `065` | |
|
||||
`095` | PlayerPhantom | `069` | |
|
||||
`096` | PlayerZelda | `070` | |
|
||||
`097` | TrainMsg | `076` | |
|
||||
`098` | MapWater | `074` | |
|
||||
`099` | MapLava | `075` | |
|
||||
`100` | CollectMsg | `020` | |
|
||||
`101` | SceneInitLand | `018` | |
|
||||
`102` | CourseExecLand | `019` | |
|
||||
`103` | PlayerTornado | `103` | | Handles the Whirlwind.
|
||||
`104` | PlayerBoomerang | `104` | | Handles the Boomerang.
|
||||
`105` | PlayerWhip | `105` | | Handles the Whip.
|
||||
`106` | PlayerBow | `106` | | Handles the Bow.
|
||||
`107` | PlayerSandrock | `107` | | Handles the Sand Wand.
|
||||
`108` | PlayerPanFlute | `109` | | Handles the Spirit Flute.
|
||||
`109` | PlayerBomb | `108` | | Handles the Bombs (and potions?)
|
||||
`110` | PlayerGet | `110` | |
|
||||
`111` | PlayerDown | `111` | |
|
||||
`112` | PlayerSceneChange | `112` | |
|
||||
`113` | PlayerDemo | `113` | |
|
||||
`076` | DgnLv1 | `071` | `11` |
|
||||
`077` | DgnForest | `043` | `8` |
|
||||
`078` | BossForest | `035` | `8` |
|
||||
`079` | DgnSnow | `044` | `8` |
|
||||
`080` | BossSnow | `036` | `8` |
|
||||
`081` | DgnLv3 | `072` | `11` |
|
||||
`082` | DgnWater | `045` | `8` |
|
||||
`083` | BossWater | `037` | `8` |
|
||||
`084` | BossFlame | `038` | `8` |
|
||||
`085` | DgnLv5 | `073` | `11` |
|
||||
`086` | DgnDesert | `046` | `8` |
|
||||
`087` | BossDesert | `039` | `8` |
|
||||
`088` | Stb | `062` | `9` |
|
||||
`089` | ASR | `063` | `9` |
|
||||
`090` | TrainNormal | `066` | `9` |
|
||||
`091` | TrainExtra | `067` | `9` |
|
||||
`092` | TrainDark | `068` | `9` |
|
||||
`093` | PlayerSub | `064` | `9` |
|
||||
`094` | Land2 | `065` | `9` |
|
||||
`095` | PlayerPhantom | `069` | `10` |
|
||||
`096` | PlayerZelda | `070` | `10` |
|
||||
`097` | TrainMsg | `076` | `12` |
|
||||
`098` | MapWater | `074` | `12` |
|
||||
`099` | MapLava | `075` | `12` |
|
||||
`100` | CollectMsg | `020` | `3` |
|
||||
`101` | SceneInitLand | `018` | `3` |
|
||||
`102` | CourseExecLand | `019` | `3` |
|
||||
`103` | PlayerTornado | `103` | `17` | Handles the Whirlwind.
|
||||
`104` | PlayerBoomerang | `104` | `17` | Handles the Boomerang.
|
||||
`105` | PlayerWhip | `105` | `17` | Handles the Whip.
|
||||
`106` | PlayerBow | `106` | `17` | Handles the Bow.
|
||||
`107` | PlayerSandrock | `107` | `17` | Handles the Sand Wand.
|
||||
`108` | PlayerPanFlute | `109` | `17` | Handles the Spirit Flute.
|
||||
`109` | PlayerBomb | `108` | `17` | Handles the Bombs (and potions?)
|
||||
`110` | PlayerGet | `110` | `17` |
|
||||
`111` | PlayerDown | `111` | `17` |
|
||||
`112` | PlayerSceneChange | `112` | `17` |
|
||||
`113` | PlayerDemo | `113` | `17` |
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Game/GameModeStartUp.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef void (*GameUnkCallback1)(void);
|
||||
typedef void (*GameUnkCallback2)(void);
|
||||
typedef unk32 (*GameUnkCallback3)(void);
|
||||
|
||||
class GameModeFileSelect;
|
||||
|
||||
class UnkStruct_02049a2c_1C {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ STRUCT_PAD(0x08, 0xCC);
|
||||
/* CC */
|
||||
|
||||
UnkStruct_02049a2c_1C();
|
||||
unk32 func_02013e18(void *param1, unk32 param2);
|
||||
|
||||
// data_020437d8 vtable
|
||||
/* 00 */ virtual ~UnkStruct_02049a2c_1C();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
};
|
||||
|
||||
class Game {
|
||||
public:
|
||||
/* 00 */ GameModeBase *mpCurrentGameMode;
|
||||
/* 04 */ GameModeCreateCallback createCallback;
|
||||
/* 08 */ GameUnkCallback1 mUnk_08; // seems related to entering and leaving houses/grottos??
|
||||
/* 0C */ unk32 mFrameCounter;
|
||||
/* 10 */ SaveFile *mpSaveFile;
|
||||
/* 14 */ GameUnkCallback2 mUnk_14; // only set for wireless stuff?
|
||||
/* 18 */ GameUnkCallback3 mUnk_18; // same as above
|
||||
/* 1C */ UnkStruct_02049a2c_1C mUnk_1C;
|
||||
/* E8 */
|
||||
|
||||
Game();
|
||||
|
||||
void Run();
|
||||
void func_02013370(unk32 param1);
|
||||
bool TrySetCreateCallback(GameModeCreateCallback createCallback);
|
||||
|
||||
void func_ov000_020576d0();
|
||||
void func_ov000_0205770c();
|
||||
|
||||
void func_ov018_020c48a4();
|
||||
void func_ov018_020c48f8(); // loads overlay 0
|
||||
|
||||
GameModeFileSelect *GetGameModeFileSelect() {
|
||||
return (GameModeFileSelect *) this->mpCurrentGameMode;
|
||||
}
|
||||
|
||||
static GameModeStartUp *func_ov018_020c4ba8();
|
||||
};
|
||||
|
||||
extern Game gGame;
|
||||
@@ -12,8 +12,8 @@ public:
|
||||
|
||||
// data_02044018 vtable
|
||||
/* 00 */ virtual ~GameModeBase();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 08 */ virtual void vfunc_08(); // Init
|
||||
/* 0C */ virtual void vfunc_0C() = 0; // Update
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
@@ -22,3 +22,5 @@ public:
|
||||
/* 24 */ virtual unk32 vfunc_24();
|
||||
/* 28 */
|
||||
};
|
||||
|
||||
typedef GameModeBase *(*GameModeCreateCallback)(void);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "FileSelect/FileSelect.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_02049bd4.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
this->mSaveSlotIndex = 0;
|
||||
data_02049bd4.func_02014cdc(2);
|
||||
data_02049bd4.mUnk_02 &= 0xFFFB;
|
||||
data_02049a2c.func_02013370(1);
|
||||
gGame.func_02013370(1);
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
data_ov000_020b504c.func_ov001_020be668();
|
||||
data_0204a110.func_ov001_020bd514(2, FileSelectManager::Create, 0, 1);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
@@ -193,7 +194,37 @@ public:
|
||||
/* 28 */ virtual void vfunc_28(unk8 *param1);
|
||||
/* 2C */ virtual void vfunc_2C(unk8 *param1);
|
||||
/* 30 */ virtual void vfunc_30(unk32 param1);
|
||||
/* 34 */ virtual void vfunc_34();
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2);
|
||||
|
||||
static GameModeManagerBase *Create(unk32 param1);
|
||||
};
|
||||
|
||||
class TitleScreen;
|
||||
class MainGame;
|
||||
|
||||
class TitleScreenManager_Base : public GameModeManagerBase {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 154 */ GameModeBase *mpGameMode;
|
||||
|
||||
TitleScreenManager_Base();
|
||||
|
||||
TitleScreen *GetTitleScreen() {
|
||||
return (TitleScreen *) this->mpGameMode;
|
||||
}
|
||||
|
||||
MainGame *GetMainGame() {
|
||||
return (MainGame *) this->mpGameMode;
|
||||
}
|
||||
|
||||
// data_ov000_020b1d14 vtable
|
||||
/* 08 */ virtual ~TitleScreenManager_Base() override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
/* 48 */
|
||||
};
|
||||
|
||||
extern TitleScreenManager_Base *data_027e0994;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameModeManager.hpp"
|
||||
|
||||
class MainGameManager : public TitleScreenManager_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 154 */
|
||||
|
||||
// data_ov024_020d7c18 vtable
|
||||
/* 08 */ virtual ~MainGameManager() override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 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;
|
||||
/* 30 */ virtual void vfunc_30(unk32 param1) override;
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2) override;
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2, unk32 param3, unk32 param4) override;
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
// incomplete
|
||||
class PlayerActor {
|
||||
public:
|
||||
/* 00 */ Vec3p mPos;
|
||||
/* 0C */ Vec3p mPrevPos;
|
||||
/* 18 */ Vec3p mVel;
|
||||
/* 24 */ Vec3p mAccel;
|
||||
/* 30 */ u16 mAngle;
|
||||
/* 32 */ u8 mInvincibilityTimer;
|
||||
/* 33 */ u8 mInvincibilityIconTimer; // the blinking icon on top-screen
|
||||
|
||||
void func_ov001_020bc820(); // TODO: params
|
||||
};
|
||||
@@ -425,9 +425,9 @@ enum AdventureFlag_ {
|
||||
/* 0x18F */ AdventureFlag_Unk_18F = FLAG(12, 15),
|
||||
/* 0x190 */ AdventureFlag_Unk_190 = FLAG(12, 16),
|
||||
/* 0x191 */ AdventureFlag_Unk_191 = FLAG(12, 17),
|
||||
/* 0x192 */ AdventureFlag_Unk_192 = FLAG(12, 18),
|
||||
/* 0x193 */ AdventureFlag_Unk_193 = FLAG(12, 19),
|
||||
/* 0x194 */ AdventureFlag_Unk_194 = FLAG(12, 20),
|
||||
/* 0x192 */ AdventureFlag_ObtainedBeedleFreebieCard = FLAG(12, 18),
|
||||
/* 0x193 */ AdventureFlag_ObtainedBeedleQuintuplePointsCard = FLAG(12, 19),
|
||||
/* 0x194 */ AdventureFlag_ObtainedBeedlePointsCard = FLAG(12, 20),
|
||||
/* 0x195 */ AdventureFlag_Unk_195 = FLAG(12, 21),
|
||||
/* 0x196 */ AdventureFlag_Unk_196 = FLAG(12, 22),
|
||||
/* 0x197 */ AdventureFlag_Unk_197 = FLAG(12, 23),
|
||||
|
||||
@@ -395,7 +395,7 @@ public:
|
||||
|
||||
void LoadEquipItem(ItemFlag equipId);
|
||||
|
||||
SysFault *func_020148d0(unk32 param1);
|
||||
void func_020148d0(OverlayIndex index);
|
||||
void func_02014994(unk32 param1);
|
||||
};
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ struct Random {
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
Vec2us &NextPos(u16 xMax, u16 yMax) {
|
||||
Vec2us pos;
|
||||
|
||||
@@ -60,6 +61,12 @@ struct Random {
|
||||
|
||||
return pos;
|
||||
}
|
||||
#else
|
||||
const Vec2us NextPos(u16 xMax, u16 yMax) {
|
||||
const Vec2us pos = {(u16) this->Next32(0, xMax), (u16) this->Next32(0, yMax)};
|
||||
return pos;
|
||||
}
|
||||
#endif
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
class SysFault {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk8 mUnk_04;
|
||||
/* 05 */ unk8 mUnk_05;
|
||||
/* 04 */ u8 mUnk_04;
|
||||
/* 05 */ u8 mUnk_05;
|
||||
|
||||
void func_020125a4(char *file, u16 line, char *msg, ...);
|
||||
void func_020127f0(unk32 param1);
|
||||
|
||||
void func_ov018_020c4840();
|
||||
};
|
||||
|
||||
+26
-18
@@ -1,37 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysFault.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define GAME_ASSERT(cond, line, msg, ...) \
|
||||
(!(cond) ? data_02049984.func_020125a4(__FILE__, (line), (msg), __VA_ARGS__) : ((void) 0))
|
||||
#define ASSERT(cond, msg, ...) GAME_ASSERT(cond, __LINE__, msg, __VA_ARGS__)
|
||||
|
||||
typedef u32 UnkId;
|
||||
enum __UnkId {
|
||||
UnkId_EXPH = 'EXPH',
|
||||
UnkId_FRMH = 'FRMH',
|
||||
UnkId_UNTH = 'UNTH',
|
||||
UnkId_UNSH = 'UNSH',
|
||||
UnkId_EXPH = 'EXPH', // Expanded Heap?
|
||||
UnkId_FRMH = 'FRMH', // Frame Heap?
|
||||
UnkId_UNTH = 'UNTH', // Unit Heap?
|
||||
UnkId_UNSH = 'UNSH', // Unspecified Heap?
|
||||
};
|
||||
|
||||
typedef u32 HeapIndex;
|
||||
typedef s16 HeapIndex16;
|
||||
enum HeapIndex_ {
|
||||
HeapIndex_0 = 0,
|
||||
HeapIndex_1 = 1,
|
||||
HeapIndex_2 = 2,
|
||||
HeapIndex_3 = 3,
|
||||
HeapIndex_4 = 4,
|
||||
HeapIndex_5 = 5,
|
||||
HeapIndex_6 = 6,
|
||||
HeapIndex_7 = 7,
|
||||
HeapIndex_8 = 8,
|
||||
HeapIndex_Max = 9
|
||||
HeapIndex_Main = 0, // UnkId_FRMH
|
||||
HeapIndex_1 = 1, // UnkId_EXPH
|
||||
HeapIndex_2 = 2, // UnkId_UNSH
|
||||
HeapIndex_ITCM = 3, // UnkId_UNSH
|
||||
HeapIndex_DTCM = 4, // ?
|
||||
HeapIndex_5 = 5, // ?
|
||||
HeapIndex_6 = 6, // UnkId_FRMH
|
||||
HeapIndex_7 = 7, // ?
|
||||
HeapIndex_8 = 8, // ?
|
||||
HeapIndex_Max = 9
|
||||
};
|
||||
|
||||
class SysObject {
|
||||
public:
|
||||
static void operator delete[](void *ptr);
|
||||
void operator delete[](void *ptr);
|
||||
};
|
||||
|
||||
static void *operator new(unsigned long length, u32 id, u32 idLength = 4);
|
||||
static void *operator new[](unsigned long length, u32 id, u32 idLength = 4);
|
||||
void *operator new(size_t length, u32 id, u32 idLength = 4);
|
||||
void *operator new[](size_t length, u32 id, u32 idLength = 4);
|
||||
|
||||
class UnkStruct_02011e10_Sub1 {
|
||||
public:
|
||||
@@ -51,7 +59,7 @@ public:
|
||||
|
||||
class UnkStruct_02011e10 : public SysObject {
|
||||
public:
|
||||
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00[HeapIndex_Max];
|
||||
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00[HeapIndex_Max]; // the pointer seems to match arena lo
|
||||
/* 24 */ unk32 mUnk_24[2];
|
||||
/* 28 */ STRUCT_PAD(0x2C, 0x5C);
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "regs.h"
|
||||
#include "types.h"
|
||||
@@ -23,23 +24,6 @@ enum TitleScreenState_ {
|
||||
TitleScreenState_Max = 6
|
||||
};
|
||||
|
||||
class TitleScreenManager_Base : public GameModeManagerBase {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 154 */
|
||||
|
||||
TitleScreenManager_Base();
|
||||
|
||||
// data_ov000_020b1d14 vtable
|
||||
/* 08 */ virtual ~TitleScreenManager_Base() override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
/* 48 */
|
||||
};
|
||||
|
||||
class TitleScreen_Sub2 : public GameModeLinkListNode {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -197,11 +181,10 @@ public:
|
||||
class TitleScreenManager : public TitleScreenManager_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 154 */ TitleScreen *mpTitleScreen;
|
||||
/* 158 */
|
||||
|
||||
TitleScreenManager(unk32 param1) NO_INLINE {
|
||||
this->mpTitleScreen = NULL;
|
||||
this->mpGameMode = NULL;
|
||||
GX_SetGraphicsMode(1, 0, 1);
|
||||
GXS_SetGraphicsMode(5);
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & 0x0043) | 0x4E14;
|
||||
@@ -217,9 +200,7 @@ public:
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
|
||||
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
|
||||
/* 38 */ virtual void vfunc_38() override;
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2, unk32 param3, unk32 param4) override;
|
||||
|
||||
static TitleScreenManager *Create(unk32 param1);
|
||||
};
|
||||
|
||||
extern TitleScreenManager *data_027e0994;
|
||||
|
||||
+48
-32
@@ -4,6 +4,7 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "nitro/math.h"
|
||||
#include "nns/text.h"
|
||||
#include "types.h"
|
||||
|
||||
extern "C" void func_0201e8d4(void *param1, void *param2);
|
||||
@@ -566,13 +567,15 @@ public:
|
||||
/* 044 */ unk32 mUnk_044;
|
||||
/* 048 */ unk32 mUnk_048;
|
||||
/* 04C */ unk32 mUnk_04C;
|
||||
/* 050 */ STRUCT_PAD(0x50, 0x130);
|
||||
/* 050 */ STRUCT_PAD(0x50, 0x130); // e0
|
||||
|
||||
UnkSystem2_UnkSubSystem5_Base_10();
|
||||
|
||||
// data_ov000_020b20fc (vtable)
|
||||
/* 00 */ virtual ~UnkSystem2_UnkSubSystem5_Base_10();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 10 */ virtual void vfunc_10(void *param1);
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C();
|
||||
@@ -590,35 +593,18 @@ public:
|
||||
/* 4C */
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem5_Base {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ wchar_t *mpString; // in this context it points to the player's name
|
||||
/* 008 */ unk16 mUnk_008;
|
||||
/* 00A */ unk16 mUnk_00A;
|
||||
/* 00C */ void *mUnk_00C;
|
||||
/* 010 */ UnkSystem2_UnkSubSystem5_Base_10 mUnk_010;
|
||||
|
||||
~UnkSystem2_UnkSubSystem5_Base();
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */
|
||||
struct UnkSystem2_UnkSubSystem11_Base_1C {
|
||||
u8 pad[0x10];
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem11 {
|
||||
class UnkSystem2_UnkSubSystem11_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ void *mUnk_18;
|
||||
/* 1C */ void *mUnk_1C;
|
||||
/* 20 */
|
||||
/* 04 */ Text_UnkStruct2 mUnk_04;
|
||||
/* 1C */ UnkSystem2_UnkSubSystem11_Base_1C mUnk_1C; // +0x24: space between characters, set from BMG INF1 entry
|
||||
/* 2C */
|
||||
|
||||
void func_ov000_02061f60();
|
||||
~UnkSystem2_UnkSubSystem11();
|
||||
UnkSystem2_UnkSubSystem11_Base(); // func_ov000_02061ce0
|
||||
|
||||
// data_ov000_020b1e9c vtable
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
@@ -627,10 +613,31 @@ public:
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
};
|
||||
|
||||
// this class seems related to drawing strings?
|
||||
class UnkSystem2_UnkSubSystem5 : public UnkSystem2_UnkSubSystem5_Base {
|
||||
class UnkSystem2_UnkSubSystem11 : public UnkSystem2_UnkSubSystem11_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 00 (base) */
|
||||
/* 2C */ STRUCT_PAD(0x2C, 0xE8);
|
||||
/* E8 */
|
||||
|
||||
UnkSystem2_UnkSubSystem11(); // func_ov000_02061f30
|
||||
~UnkSystem2_UnkSubSystem11();
|
||||
void func_ov000_02061f60();
|
||||
|
||||
// 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;
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem5_Base {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ wchar_t *mpString; // in this context it points to the player's name
|
||||
/* 008 */ unk16 mUnk_008; // UnkSystem2_UnkSubSystem5()'s param1
|
||||
/* 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;
|
||||
@@ -641,12 +648,21 @@ public:
|
||||
/* 14D */ unk8 mUnk_14D; // 0x545
|
||||
/* 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();
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
// this class seems related to drawing strings?
|
||||
class UnkSystem2_UnkSubSystem5 : public UnkSystem2_UnkSubSystem5_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 150 */ UnkSystem2_UnkSubSystem11 mUnk_150;
|
||||
/* 170 */ void *mUnk_170;
|
||||
/* 144 */ STRUCT_PAD(0x174, 0x238);
|
||||
/* 238 */
|
||||
|
||||
UnkSystem2_UnkSubSystem5() {}
|
||||
UnkSystem2_UnkSubSystem5(unk32 param1, unk32 param2);
|
||||
~UnkSystem2_UnkSubSystem5() {}
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Game/GameModeStartUp.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeFileSelect;
|
||||
|
||||
class UnkStruct_02049a2c_1C {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
UnkStruct_02049a2c_1C();
|
||||
|
||||
// data_020437d8 vtable
|
||||
/* 00 */ virtual ~UnkStruct_02049a2c_1C();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
};
|
||||
|
||||
class UnkStruct_02049a2c {
|
||||
public:
|
||||
/* 00 */ GameModeBase *mUnk_00;
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ UnkStruct_02049a2c_1C mUnk_1C;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ STRUCT_PAD(0x24, 0xE8);
|
||||
/* E8 */
|
||||
|
||||
UnkStruct_02049a2c();
|
||||
|
||||
void Run(void);
|
||||
void func_02013370(unk32 param1);
|
||||
bool func_02013724(void *param1);
|
||||
|
||||
void func_ov018_020c48a4(unk32 param1);
|
||||
void func_ov018_020c48f8(); // loads overlay 0
|
||||
|
||||
GameModeFileSelect *GetUnk00_FileSelect() {
|
||||
return (GameModeFileSelect *) this->mUnk_00;
|
||||
}
|
||||
|
||||
static GameModeStartUp *func_ov018_020c4ba8();
|
||||
};
|
||||
|
||||
extern UnkStruct_02049a2c data_02049a2c;
|
||||
@@ -24,6 +24,9 @@ public:
|
||||
|
||||
UnkStruct_02049b18();
|
||||
~UnkStruct_02049b18();
|
||||
void func_02013768();
|
||||
void func_02013840(u16 param1, unk32 param2);
|
||||
void func_020138f4(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_02049b18 data_02049b18;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_02049b74 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_02049b74();
|
||||
~UnkStruct_02049b74();
|
||||
void func_02013a44(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_02049b74 data_02049b74;
|
||||
@@ -10,6 +10,7 @@ public:
|
||||
|
||||
void func_02014c60(unk32 param1);
|
||||
void func_02014cdc(unk32 param1);
|
||||
void func_02014d98();
|
||||
};
|
||||
|
||||
extern UnkStruct_02049bd4 data_02049bd4;
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeFileSelect;
|
||||
|
||||
class UnkStruct_0204a060_Base3 : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -64,13 +67,13 @@ public:
|
||||
class UnkStruct_0204a060 : public UnkStruct_0204a060_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */ void *callback; //! TODO: is it a PTMF?
|
||||
/* 24 */ GameModeCreateCallback createCallback;
|
||||
|
||||
UnkStruct_0204a060();
|
||||
|
||||
void func_020183c0(void);
|
||||
bool func_020183d4(bool param1, void *param2, unk32 param3);
|
||||
static void func_02018424(void); //! TODO: is it a PTMF?
|
||||
bool func_020183d4(bool param1, GameModeCreateCallback createFunc, unk32 param3);
|
||||
static GameModeFileSelect *func_02018424(void);
|
||||
|
||||
// data_02044048 vtable
|
||||
/* 00 */ virtual ~UnkStruct_0204a060() override;
|
||||
|
||||
@@ -13,18 +13,20 @@ public:
|
||||
~UnkStruct_0204a088_Base(); //! TODO: most likely inlined but can't make it work for some reasons
|
||||
};
|
||||
|
||||
// members 00 04 and 08 are used in data_ov000_020b1d74 to figure out which overlay to load next in slot 1
|
||||
class UnkStruct_0204a088 : public UnkStruct_0204a088_Base {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_00;
|
||||
/* 000 */ unk32 mUnk_04;
|
||||
/* 000 */ unk32 mUnk_08;
|
||||
/* 00C */ FileSelectManager_UnkDrawBase mUnk_0C[23];
|
||||
/* 000 */ unk32 mUnk_00; // current index
|
||||
/* 000 */ unk32 mUnk_04; // prev index
|
||||
/* 000 */ unk32 mUnk_08; // next index
|
||||
/* 00C */ FileSelectManager_UnkDrawBase mUnk_0C[23]; // 23 possible overlays
|
||||
/* 120 */ u16 mUnk_120;
|
||||
/* 122 */ unk16 mUnk_122;
|
||||
/* 123 */ unk8 mUnk_123;
|
||||
|
||||
void func_ov000_02061098(void);
|
||||
void func_ov000_020611dc(void *param1, unk32 param2);
|
||||
void func_ov000_020611fc(unk32 param2);
|
||||
void func_ov000_020611fc(unk32 param2); // sets new index
|
||||
void func_ov000_02061224(void);
|
||||
void func_ov000_02061230(void);
|
||||
void func_ov000_02061248(void);
|
||||
|
||||
@@ -175,7 +175,8 @@ public:
|
||||
class UnkStruct_0204a110 {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_000;
|
||||
/* 004 */ unk32 mUnk_004;
|
||||
/* 004 */ u16 mUnk_004;
|
||||
/* 004 */ unk16 mUnk_006;
|
||||
/* 008 */ unk32 mUnk_008;
|
||||
/* 00C */ unk32 mUnk_00C;
|
||||
/* 010 */ UnkStruct_0204a110_Sub2 mUnk_010;
|
||||
@@ -216,6 +217,12 @@ public:
|
||||
void func_020195a0(const char *param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
void func_0201967c(unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
void func_02019538(unk32 param1, unk32 param2);
|
||||
unk32 func_02019300(unk32 param1);
|
||||
void func_02019350();
|
||||
void func_020194dc();
|
||||
void func_02019408();
|
||||
void func_02019454();
|
||||
unk32 func_02019514();
|
||||
|
||||
void func_ov001_020bd514(unk32 param1, void *param2, unk32 param3, unk32 param4);
|
||||
void func_ov001_020bd58c(void);
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
/* 06 */ unk16 mUnk_06;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk8 mUnk_0A;
|
||||
/* 0B */ unk8 mUnk_0B;
|
||||
/* 0B */ u8 mUnk_0B; // bool?
|
||||
/* 0C */ unk8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
@@ -35,6 +35,7 @@ public:
|
||||
|
||||
UnkStruct_0204e64c();
|
||||
~UnkStruct_0204e64c();
|
||||
void func_020201c4(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_0204e64c data_0204e64c;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0208 {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_000;
|
||||
/* 004 */ STRUCT_PAD(0x04, 0xE0);
|
||||
/* 0E0 */ unk32 mUnk_0E0;
|
||||
/* 0E4 */ unk32 mUnk_0E4;
|
||||
/* 0E8 */ unk32 mUnk_0E8;
|
||||
/* 0EC */ unk32 mUnk_0EC;
|
||||
/* 0F0 */ unk32 mUnk_0F0;
|
||||
/* 0F4 */ unk32 mUnk_0F4;
|
||||
/* 0F4 */ unk32 mUnk_0F8;
|
||||
/* 0F4 */ unk32 mUnk_0FC;
|
||||
|
||||
UnkStruct_027e0208();
|
||||
~UnkStruct_027e0208();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0208 data_027e0208;
|
||||
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/Player.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "global.h"
|
||||
#include "nitro/button.h"
|
||||
|
||||
// incomplete
|
||||
class UnkStruct_027e0478 {
|
||||
public:
|
||||
/* 000 */ void *mUnk_000; // set to -1 on land and to a pointer on train?
|
||||
/* 004 */ void *mUnk_004;
|
||||
/* 008 */ ItemManager *mpItemManager;
|
||||
/* 00C */ Input mButtons;
|
||||
/* 012 */ unk16 mUnk_012;
|
||||
/* 014 */ TouchControl mTouchControl;
|
||||
/* 036 */ STRUCT_PAD(0x36, 0xF0);
|
||||
/* 0F0 */ unk32 mUnk_0F0; // seems to be the walking speed of link??
|
||||
/* 0F4 */ unk32 mUnk_0F4;
|
||||
/* 0F8 */ unk32 mUnk_0F8;
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ unk32 mUnk_100;
|
||||
/* 104 */ unk8 mUnk_104;
|
||||
/* 105 */ unk8 mUnk_105; // set to 0 on idle, set to 3 when pulling out an item
|
||||
/* 106 */ unk8 mUnk_106;
|
||||
/* 107 */ unk8 mUnk_107;
|
||||
/* 108 */ void *mUnk_108; // vtable
|
||||
/* 10C */ void *mUnk_10C; // linklist?
|
||||
/* 110 */ void *mUnk_110;
|
||||
/* 114 */ STRUCT_PAD(0x114, 0x154);
|
||||
/* 154 */ PlayerActor mPlayer;
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0478 data_027e0478;
|
||||
@@ -1,9 +1,144 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
naming scheme:
|
||||
- test_xxx: debug area
|
||||
- e3_xxx: E3 demo area
|
||||
- t_xxx: "T" for "Train" -> overworld area
|
||||
- d_xxx: "D" for "Dungeon" -> dungeon area
|
||||
- b_xxx: "B" for "Boss" -> dungeon boss area
|
||||
- f_xxx: "F" for "Field" -> normal gameplay area (also known as a "land" area)
|
||||
*/
|
||||
enum SceneIndex {
|
||||
/* 0 */ SceneIndex_test_trn = 0x00, //
|
||||
/* 1 */ SceneIndex_test_trn2 = 0x01, //
|
||||
/* 2 */ SceneIndex_test_pre = 0x02, //
|
||||
/* 3 */ SceneIndex_test_iwa = 0x03, //
|
||||
/* 4 */ SceneIndex_t_area0 = 0x04, // Forest Realm
|
||||
/* 5 */ SceneIndex_t_area1 = 0x05, // Snow Realm
|
||||
/* 6 */ SceneIndex_t_area2 = 0x06, // Ocean Realm
|
||||
/* 7 */ SceneIndex_t_area3 = 0x07, // Fire Realm
|
||||
/* 8 */ SceneIndex_t_tutorial = 0x08, //
|
||||
/* 9 */ SceneIndex_t_forest = 0x09, //
|
||||
/* 10 */ SceneIndex_t_smarine = 0x0A, //
|
||||
/* 11 */ SceneIndex_t_smount = 0x0B, // rocktite scene?
|
||||
/* 12 */ SceneIndex_t_smount2 = 0x0C, // rocktite scene?
|
||||
/* 13 */ SceneIndex_t_smount3 = 0x0D, // rocktite fire realm scene?
|
||||
/* 14 */ SceneIndex_t_minigame = 0x0E, // goron target range minigame
|
||||
/* 15 */ SceneIndex_t_dark = 0x0F, // Dark Realm
|
||||
/* 16 */ SceneIndex_t_eviltrain = 0x10, // train cole fight
|
||||
/* 17 */ SceneIndex_t_eviltrain2 = 0x11, // same as above
|
||||
/* 18 */ SceneIndex_t_eviltrain3 = 0x12, // same as above
|
||||
/* 19 */ SceneIndex_d_main = 0x13, // Tower Of Spirits
|
||||
/* 20 */ SceneIndex_d_main_f = 0x14, // ToS base
|
||||
/* 21 */ SceneIndex_d_main_s = 0x15, // ToS top stairs
|
||||
/* 22 */ SceneIndex_d_main_a = 0x16, // ToS altar
|
||||
/* 23 */ SceneIndex_d_main_w = 0x17, // ToS inner Stairs
|
||||
/* 24 */ SceneIndex_d_tutorial = 0x18, // Tunnel to ToS
|
||||
/* 25 */ SceneIndex_d_forest = 0x19, // Forest Temple
|
||||
/* 26 */ SceneIndex_d_snow26 = 0x1A, // Snow Temple
|
||||
/* 27 */ SceneIndex_d_water27 = 0x1B, // Water Temple
|
||||
/* 28 */ SceneIndex_d_flame = 0x1C, // Fire Temple
|
||||
/* 29 */ SceneIndex_d_sand = 0x1D, // Sand Temple
|
||||
/* 30 */ SceneIndex_b_forest = 0x1E, // Stagnox
|
||||
/* 31 */ SceneIndex_b_snow = 0x1F, // Fraaz
|
||||
/* 32 */ SceneIndex_b_water = 0x20, // Phytops
|
||||
/* 33 */ SceneIndex_b_flame = 0x21, // Cragma
|
||||
/* 34 */ SceneIndex_b_sand = 0x22, // Skeldritch
|
||||
/* 35 */ SceneIndex_b_deago = 0x23, // Byrne
|
||||
/* 36 */ SceneIndex_b_last1 = 0x24, // demon zelda train
|
||||
/* 37 */ SceneIndex_b_last2 = 0x25, // malladus beast 1
|
||||
/* 38 */ SceneIndex_b_last22 = 0x26, // malladus song
|
||||
/* 39 */ SceneIndex_b_last23 = 0x27, // mallasdus beast 2
|
||||
/* 40 */ SceneIndex_f_hyral = 0x28, // hyrule castle
|
||||
/* 41 */ SceneIndex_f_htown = 0x29, // castle town
|
||||
/* 42 */ SceneIndex_f_forest1 = 0x2A, // Whittleton
|
||||
/* 43 */ SceneIndex_f_snow = 0x2B, // Anouki Village
|
||||
/* 44 */ SceneIndex_f_water = 0x2C, // Papuchia Village
|
||||
/* 45 */ SceneIndex_f_flame = 0x2D, // Goron Village
|
||||
/* 46 */ SceneIndex_f_flame5 = 0x2E,
|
||||
/* 47 */ SceneIndex_f_first = 0x2F, // Aboda Village
|
||||
/* 48 */ SceneIndex_f_forest2 = 0x30, // Forest Sanctuary
|
||||
/* 49 */ SceneIndex_f_snow2 = 0x31, // Snow Sanctuary
|
||||
/* 50 */ SceneIndex_f_water2 = 0x32, // Water Sanctuary
|
||||
/* 51 */ SceneIndex_f_flame2 = 0x33, // Fire Sanctuary
|
||||
/* 52 */ SceneIndex_f_sand = 0x34, // Sand Sanctuary
|
||||
/* 53 */ SceneIndex_f_tetsuo = 0x35, // Icy Spring
|
||||
/* 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
|
||||
/* 58 */ SceneIndex_f_ajito = 0x3A, // Pirate Hideout
|
||||
/* 59 */ SceneIndex_f_ajito2 = 0x3B, // same as above
|
||||
/* 60 */ SceneIndex_f_flame3 = 0x3C, // Goron Target Range
|
||||
/* 61 */ SceneIndex_f_flame4 = 0x3D, // Dark Ore Mine
|
||||
/* 62 */ SceneIndex_f_rabbit = 0x3E, // Rabbit Haven
|
||||
/* 63 */ SceneIndex_f_kakushi1 = 0x3F, // Snowdrift Station
|
||||
/* 64 */ SceneIndex_f_kakushi2 = 0x40, // Disorientation Station
|
||||
/* 65 */ SceneIndex_f_kakushi3 = 0x41, // Ends of the Earth Station
|
||||
/* 66 */ SceneIndex_f_kakushi4 = 0x42, // train required?
|
||||
/* 67 */ SceneIndex_f_pirate = 0x43, // Train passenger pirate attack (including Carben)
|
||||
/* 68 */ SceneIndex_f_passenger = 0x44, // Anjean force gem
|
||||
/* 69 */ SceneIndex_f_trnnpc = 0x45, // Ferrus encounter
|
||||
/* 70 */ SceneIndex_tekiya00 = 0x46, // take em all on?
|
||||
/* 71 */ SceneIndex_tekiya01 = 0x47, // take em all on?
|
||||
/* 72 */ SceneIndex_tekiya02 = 0x48, // take em all on?
|
||||
/* 73 */ SceneIndex_tekiya03 = 0x49, // take em all on?
|
||||
/* 74 */ SceneIndex_tekiya04 = 0x4A, // take em all on?
|
||||
/* 75 */ SceneIndex_tekiya05 = 0x4B, // take em all on?
|
||||
/* 76 */ SceneIndex_tekiya06 = 0x4C, // take em all on?
|
||||
/* 77 */ SceneIndex_tekiya07 = 0x4D, // take em all on?
|
||||
/* 78 */ SceneIndex_tekiya08 = 0x4E, // take em all on?
|
||||
/* 79 */ SceneIndex_tekiya09 = 0x4F, // take em all on?
|
||||
/* 80 */ SceneIndex_demo_train = 0x50, // title screen?
|
||||
/* 81 */ SceneIndex_e3_train = 0x51, // ?
|
||||
/* 82 */ SceneIndex_e3_dungeon = 0x52, // ?
|
||||
/* 83 */ SceneIndex_e3_boss = 0x53, // forest temple boss
|
||||
/* 84 */ SceneIndex_e3_bossm = 0x54, // fake forest temple room
|
||||
/* 85 */ SceneIndex_e3_smount = 0x55, // ?
|
||||
/* 86 */ SceneIndex_test_hiratsu = 0x56, // ?
|
||||
/* 87 */ SceneIndex_test_sik = 0x57, // ?
|
||||
/* 88 */ SceneIndex_test_fuj = 0x58, // ?
|
||||
/* 89 */ SceneIndex_test_nit = 0x59, // ?
|
||||
/* 90 */ SceneIndex_test_mri = 0x5A, // ?
|
||||
/* 91 */ SceneIndex_test_morita = 0x5B, // ?
|
||||
/* 92 */ SceneIndex_test_yamaz = 0x5C, // ?
|
||||
/* 93 */ SceneIndex_test_sako = 0x5D, // ?
|
||||
/* 94 */ SceneIndex_test_kita = 0x5E, // ?
|
||||
/* 95 */ SceneIndex_test_take = 0x5F, // ?
|
||||
/* 96 */ SceneIndex_test_suzuki = 0x60, // ?
|
||||
/* 97 */ SceneIndex_test_okane = 0x61, // ?
|
||||
/* 98 */ SceneIndex_test_dera = 0x62, // ?
|
||||
/* 99 */ SceneIndex_test_hosaka = 0x63, // ?
|
||||
/* 100 */ SceneIndex_test_hosaka_f = 0x64, // ?
|
||||
/* 101 */ SceneIndex_test_kato = 0x65, // ?
|
||||
/* 102 */ SceneIndex_test_okane_f = 0x66, // ?
|
||||
/* 103 */ SceneIndex_test_yamaz_f = 0x67, // ?
|
||||
/* 104 */ SceneIndex_test_sako_f = 0x68, // ?
|
||||
/* 105 */ SceneIndex_test_take_f = 0x69, // ?
|
||||
/* 106 */ SceneIndex_test_kiuchi = 0x6A, // ?
|
||||
/* 107 */ SceneIndex_test_dera_f = 0x6B, // ?
|
||||
/* 108 */ SceneIndex_test_slope = 0x6C, // ?
|
||||
/* 109 */ SceneIndex_battle01 = 0x6D, // battle mode?
|
||||
/* 110 */ SceneIndex_battle02 = 0x6E, // battle mode?
|
||||
/* 111 */ SceneIndex_battle03 = 0x6F, // battle mode?
|
||||
/* 112 */ SceneIndex_battle04 = 0x70, // battle mode?
|
||||
/* 113 */ SceneIndex_battle05 = 0x71, // battle mode?
|
||||
/* 114 */ SceneIndex_battle06 = 0x72, // battle mode?
|
||||
/* 115 */ SceneIndex_battle07 = 0x73, // battle mode?
|
||||
/* 116 */ SceneIndex_battle08 = 0x74, // battle mode?
|
||||
/* 117 */ SceneIndex_battle09 = 0x75, // battle mode?
|
||||
/* 118 */ SceneIndex_battle10 = 0x76, // battle mode?
|
||||
/* 119 */ SceneIndex_battle11 = 0x77, // battle mode?
|
||||
/* 120 */ SceneIndex_battle12 = 0x78, // battle mode?
|
||||
/* 121 */ SceneIndex_Max = 0x79
|
||||
};
|
||||
|
||||
struct UnkStruct_027e09a4_58_78 {
|
||||
unk32 mUnk_00;
|
||||
unk32 mUnk_04;
|
||||
@@ -22,31 +157,89 @@ struct UnkStruct_func_01ffd400 {
|
||||
/* 1B */ u8 mUnk_1B;
|
||||
};
|
||||
|
||||
struct UnkStruct_SceneChange1 {
|
||||
/* 00 */ unk32 nextSceneIndex;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk8 mUnk_0A;
|
||||
/* 0B */ unk8 mUnk_0B;
|
||||
/* 0C */ unk8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0F */ unk8 mUnk_0F;
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 11 */ unk8 mUnk_11;
|
||||
/* 12 */ unk8 mUnk_12;
|
||||
/* 13 */ unk8 mUnk_13;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_SceneChange1() {
|
||||
this->nextSceneIndex = SceneIndex_Max;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0A = 0xFF;
|
||||
this->mUnk_0B = 0;
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_0D = 0;
|
||||
this->mUnk_0E = 0x2B;
|
||||
this->mUnk_0F = 0;
|
||||
this->mUnk_10 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_WarpUnk1 : public UnkStruct_0204a060_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */ STRUCT_PAD(0x24, 0x78);
|
||||
/* 78 */ UnkStruct_SceneChange1 mUnk_78;
|
||||
/* 8C */ unk32 mNextSceneIndex;
|
||||
/* 90 */ STRUCT_PAD(0x90, 0xB4);
|
||||
/* B4 */ unk32
|
||||
mSpawnTransitionType; // the behavior of Link when entering a new scene (walk from the entrance, stay still etc)
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk32 mSceneIndex; // the scene index of the current area, this isn't saved when you save the game
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ u8 mUnk_0C;
|
||||
/* 0D */ STRUCT_PAD(0x0D, 0x60);
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0F */ unk8 mUnk_0F;
|
||||
/* 10 */ unk32 *mUnk_10;
|
||||
/* 14 */ unk32 mSavedSceneIndex;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk8 mUnk_1C;
|
||||
/* 1D */ unk8 mUnk_1D;
|
||||
/* 1E */ unk8 mSavedHouseIndex; // this changes when you enter a house, it's not clear if it has another purpose yet
|
||||
/* 1F */ unk8 mSavedSpawnIndex; // changing this then saving will change your spawn location after opening the save again
|
||||
// (not the area)
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ STRUCT_PAD(0x24, 0x54);
|
||||
/* 54 */ void *mUnk_54; // vtable
|
||||
/* 58 */ UnkStruct_WarpUnk1 *mpWarpUnk1;
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
/* 68 */
|
||||
|
||||
bool UnkCheck(unk32 value) {
|
||||
switch (value) {
|
||||
case 0x03:
|
||||
case 0x13:
|
||||
case 0x42:
|
||||
case 0x5A:
|
||||
case 0x5B:
|
||||
case 0x5D:
|
||||
case 0x63:
|
||||
bool UnkCheck(unk32 sceneIndex) {
|
||||
switch (sceneIndex) {
|
||||
case SceneIndex_test_iwa:
|
||||
case SceneIndex_d_main:
|
||||
case SceneIndex_f_kakushi4:
|
||||
case SceneIndex_test_mri:
|
||||
case SceneIndex_test_morita:
|
||||
case SceneIndex_test_sako:
|
||||
case SceneIndex_test_hosaka:
|
||||
return true;
|
||||
case 0x5C:
|
||||
case 0x5E:
|
||||
case 0x5F:
|
||||
case 0x60:
|
||||
case 0x61:
|
||||
case 0x62:
|
||||
case SceneIndex_test_yamaz:
|
||||
case SceneIndex_test_kita:
|
||||
case SceneIndex_test_take:
|
||||
case SceneIndex_test_suzuki:
|
||||
case SceneIndex_test_okane:
|
||||
case SceneIndex_test_dera:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
/* 03 */ unk8 mUnk_03;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 08 */ unk32 *mUnk_08;
|
||||
/* 0c */ unk32 *mUnk_0c;
|
||||
/* 0c */ unk32 *mUnk_0c; // vtable
|
||||
/* 10 */ unk32 *mUnk_10;
|
||||
/* 14 */ unk32 *mUnk_14;
|
||||
/* 18 */ unk32 *mUnk_18;
|
||||
|
||||
@@ -10,11 +10,11 @@ public:
|
||||
|
||||
class UnkStruct_027e0ce8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 00 */ void *mUnk_00; // pointer to polygon list?
|
||||
/* 04 */ void *mUnk_04; // pointer to the end of that list
|
||||
/* 08 */ UnkStruct_func_01fff520_ret **mUnk_08;
|
||||
|
||||
UnkStruct_func_01fff520_ret **func_01fff520(UnkStruct_ov000_020b34c4 *param1, unk32);
|
||||
UnkStruct_func_01fff520_ret **func_01fff520(UnkStruct_ov000_020b34c4 *param1, void *);
|
||||
unk32 func_01fff498(UnkStruct_ov000_0208f820_04 param1);
|
||||
};
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
/* 004 */ GameModeManagerBase_004 *mUnk_004;
|
||||
/* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008;
|
||||
/* 00C */ UnkStruct_ov000_020b504c_Sub4 mUnk_00C[7];
|
||||
/* 028 */ unk32 mUnk_028;
|
||||
/* 028 */ unk32 mUnk_028; // pointer to the subsystem that handles drawing the textboxes
|
||||
/* 02C */ unk32 mUnk_02C;
|
||||
/* 030 */ unk32 mUnk_030;
|
||||
/* 034 */ Input mButtons;
|
||||
|
||||
@@ -1,32 +1,82 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "nns/font.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_020b4f84_00_Base : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
|
||||
// data_02043f08 vtable
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b4f84_00_Base();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
enum {
|
||||
FontIndex_DSZ2_msg = 0,
|
||||
FontIndex_LC_Font_s = 1, // unused?
|
||||
FontIndex_DSZ2_endL = 2,
|
||||
FontIndex_DSZ2_endS = 3,
|
||||
FontIndex_04 = 4,
|
||||
FontIndex_LC_Font_s_Name = 5,
|
||||
FontIndex_Max = 6
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b4f84_00_Base2 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ union {
|
||||
void *mpFile;
|
||||
void *volatile mpFile2;
|
||||
};
|
||||
/* 0C */ size_t mFileSize;
|
||||
/* 10 */ HeapIndex16 mHeapIndex;
|
||||
|
||||
UnkStruct_ov000_020b4f84_00_Base2() {}
|
||||
UnkStruct_ov000_020b4f84_00_Base2(void *param1, unk32 param2) :
|
||||
mUnk_04(param1),
|
||||
mpFile(NULL),
|
||||
mFileSize(0),
|
||||
mHeapIndex(param2) {}
|
||||
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b4f84_00_Base2() {}
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1); // file open?
|
||||
/* 0C */ virtual void vfunc_0C(void); // allocate?
|
||||
/* 10 */ virtual size_t vfunc_10(unk32 param1);
|
||||
};
|
||||
|
||||
// file handler? doesn't seem to be specifically tied to fonts
|
||||
class UnkStruct_ov000_020b4f84_00_Base : public UnkStruct_ov000_020b4f84_00_Base2 {
|
||||
public:
|
||||
/* 12 */ unk8 mUnk_12;
|
||||
/* 13 */ unk8 mUnk_13;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov000_020b4f84_00_Base();
|
||||
UnkStruct_ov000_020b4f84_00_Base(void *param1, unk32 param2, unk32 param3, u8 param4);
|
||||
|
||||
// data_02043f08 vtable
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b4f84_00_Base() override;
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) override;
|
||||
/* 0C */ virtual void vfunc_0C(void) override;
|
||||
/* 10 */ virtual size_t vfunc_10(unk32 param1) override;
|
||||
|
||||
void func_02015528();
|
||||
void func_0201552c();
|
||||
unk32 func_02015534();
|
||||
};
|
||||
|
||||
// FontEntry?
|
||||
class UnkStruct_ov000_020b4f84_00 : public UnkStruct_ov000_020b4f84_00_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ unk8 mUnk_04[0x1C];
|
||||
/* 14 */ Font_UnkStruct1 mUnk_14;
|
||||
/* 1C */ unk16 mUnk_1C;
|
||||
/* 1E */ unk16 mUnk_1E;
|
||||
/* 20 */
|
||||
|
||||
UnkStruct_ov000_020b4f84_00();
|
||||
~UnkStruct_ov000_020b4f84_00();
|
||||
void func_ov000_02066610(const char *fontPath, unk32 param2, unk32 param3);
|
||||
};
|
||||
|
||||
// FontManager?
|
||||
class UnkStruct_ov000_020b4f84 {
|
||||
public:
|
||||
/* 00 */ UnkStruct_ov000_020b4f84_00 mUnk_00[6];
|
||||
/* 00 */ UnkStruct_ov000_020b4f84_00 mUnk_00[FontIndex_Max];
|
||||
/* C0 */ unk16 mUnk_C0;
|
||||
/* C2 */ unk16 mUnk_C2;
|
||||
|
||||
@@ -34,4 +84,5 @@ public:
|
||||
void func_ov000_0206667c(unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
// gFontManager?
|
||||
extern UnkStruct_ov000_020b4f84 data_ov000_020b4f84;
|
||||
|
||||
@@ -47,12 +47,13 @@ public:
|
||||
|
||||
void func_ov000_02069d3c(unk32 param1);
|
||||
void func_ov000_02069d7c(void);
|
||||
void func_ov000_02069f58(void);
|
||||
unk32 func_ov000_0206a5d8(unk32 param1);
|
||||
void func_ov000_0206a6a4(unk32 param1);
|
||||
void func_ov000_0206a758(void);
|
||||
void func_ov000_0206a77c(void);
|
||||
void func_ov001_020bd8ac(void);
|
||||
|
||||
void func_ov001_020bd8ac(void);
|
||||
void func_ov001_020bd8dc(void);
|
||||
|
||||
UnkStruct_ov018_020c5ac0 *func_ov018_020c5718(void);
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
|
||||
void func_ov000_0206d6b4(unk32 param1, unk32 param2);
|
||||
void func_ov000_0206d83c(unk32 param1);
|
||||
void func_ov000_0206db44(unk32 param1);
|
||||
void func_ov000_0206db44(unk32 param1); // play sfx?
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b5214 data_ov000_020b5214;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov024_020d86b0 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x7E);
|
||||
/* 7E */ s8 mNumPostcards; // current amount of postcards
|
||||
/* 7F */ s8 mNumPostedCards; // current amount of posted postcards
|
||||
/* 80 */ STRUCT_PAD(0x80, 0x90);
|
||||
/* 90 */
|
||||
};
|
||||
|
||||
extern UnkStruct_ov024_020d86b0 *data_ov024_020d86b0;
|
||||
+2
-2
@@ -26,9 +26,8 @@
|
||||
#define SBSS_BEGIN _Pragma("section sbss begin")
|
||||
#define SBSS_END _Pragma("section sbss end")
|
||||
|
||||
#define NO_INLINE __attribute__((never_inline))
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#define NO_INLINE __attribute__((never_inline))
|
||||
#define AT_ADDRESS(xyz) : (xyz)
|
||||
#define DECL_SECTION(x) __declspec(section x)
|
||||
#define EXPORT __declspec(export)
|
||||
@@ -40,6 +39,7 @@
|
||||
#define EXPORT
|
||||
#define WEAK
|
||||
#define ASM
|
||||
#define NO_INLINE
|
||||
#endif
|
||||
|
||||
#define STRUCT_PAD(from, to) unsigned char _pad_##from[(to) - (from)]
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#define BTN_DDOWN (1 << 7) // 0x0080
|
||||
#define BTN_R (1 << 8) // 0x0100
|
||||
#define BTN_L (1 << 9) // 0x0200
|
||||
#define BTN_X (1 << 10) // 0x0400
|
||||
#define BTN_Y (1 << 11) // 0x0800
|
||||
|
||||
#define CHECK_BUTTON_COMBO(value, btn) ((value) & (btn))
|
||||
|
||||
@@ -24,4 +26,5 @@ struct Input {
|
||||
Input();
|
||||
unk32 func_02013c08(u16 param1);
|
||||
unk32 func_02013b24(unk32 param1);
|
||||
unk32 func_02013bbc();
|
||||
};
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef _NNS_FONT_H
|
||||
#define _NNS_FONT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct Font_UnkStruct1 {
|
||||
/* 00 */ void *mpFINF; // pointer to the FINF section of the FNTR file
|
||||
/* 04 */ void *mUnk_04; // pointer to a function
|
||||
/* 08 */
|
||||
} Font_UnkStruct1;
|
||||
|
||||
void func_020090b0(Font_UnkStruct1 *pFont_UnkStruct1, void *pFontFile);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,59 @@
|
||||
#ifndef _NNS_TEXT_H
|
||||
#define _NNS_TEXT_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct Text_UnkStruct2;
|
||||
struct Text_UnkStruct4;
|
||||
|
||||
typedef void (*Text_UnkCallback1)(Text_UnkStruct2 *param1, void *param2, unk32 param3, unk32 param4, unk32 param5,
|
||||
Text_UnkStruct4 *param6);
|
||||
typedef void (*Text_UnkCallback2)(Text_UnkStruct2 *param1, unk32 param2);
|
||||
typedef void (*Text_UnkCallback3)(Text_UnkStruct2 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5,
|
||||
unk32 param6);
|
||||
|
||||
typedef struct Text_UnkStruct5 {
|
||||
/* 00 */ unk8 unk_00;
|
||||
/* 01 */ unk8 unk_01;
|
||||
/* 02 */ unk8 unk_02;
|
||||
} Text_UnkStruct5;
|
||||
|
||||
typedef struct Text_UnkStruct4 {
|
||||
/* 00 */ Text_UnkStruct5 *unk_00;
|
||||
/* 04 */ void *unk_04;
|
||||
} Text_UnkStruct4;
|
||||
|
||||
typedef struct Text_UnkStruct3 {
|
||||
/* 00 */ Text_UnkCallback1 func_00;
|
||||
/* 04 */ Text_UnkCallback2 func_04;
|
||||
/* 08 */ Text_UnkCallback3 func_08;
|
||||
} Text_UnkStruct3;
|
||||
|
||||
typedef struct Text_UnkStruct2 {
|
||||
/* 00 */ void *unk_00;
|
||||
/* 04 */ unk32 unk_04;
|
||||
/* 08 */ unk32 unk_08;
|
||||
/* 0C */ unk8 unk_0C;
|
||||
/* 0D */ unk8 unk_0D;
|
||||
/* 0E */ unk8 unk_0E;
|
||||
/* 0F */ unk8 unk_0F;
|
||||
/* 10 */ unk32 unk_10;
|
||||
/* 14 */ Text_UnkStruct3 *unk_14;
|
||||
} Text_UnkStruct2;
|
||||
|
||||
typedef struct Text_UnkStruct1 {
|
||||
/* 00 */ Text_UnkStruct2 *unk_00;
|
||||
/* 04 */ void *unk_04;
|
||||
/* 08 */ unk32 unk_08;
|
||||
/* 0C */ unk32 unk_0C;
|
||||
} Text_UnkStruct1;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+134
-25
@@ -1,36 +1,145 @@
|
||||
#pragma once
|
||||
#ifndef _NITRO_REG_H
|
||||
#define _NITRO_REG_H
|
||||
|
||||
#define ARM9_IO_BASE 0x04000000
|
||||
#define SHARED_WORK_BASE 0x027FF000
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define REG_WORD_PTR(addr) ((u32 *) (addr))
|
||||
#define REG_WORD(addr) (*(REG_WORD_PTR(addr)))
|
||||
#include "types.h"
|
||||
|
||||
#define REG_HALFWORD_PTR(addr) ((u16 *) (addr))
|
||||
#define REG_HALFWORD(addr) (*(REG_HALFWORD_PTR(addr)))
|
||||
#define REG_POWER_CNT (*(vu16 *) 0x04000304)
|
||||
#define REG_IME (*(vu16 *) 0x04000208)
|
||||
|
||||
#define REG_IME REG_WORD(*(u32 *) 0x04000208)
|
||||
#define REG_VCOUNT REG_WORD_PTR(*(u32 *) 0x04000006)
|
||||
#define RAM_PALETTES REG_WORD_PTR((u32 *) 0x05000000)
|
||||
#define RAM_OAM REG_WORD_PTR((u32 *) 0x07000000)
|
||||
#define REG_DISPSTAT (*(vu16 *) 0x4000004)
|
||||
#define REG_VCOUNT (*(vu16 *) 0x04000006)
|
||||
|
||||
#define REG_DISPCNT REG_WORD(ARM9_IO_BASE)
|
||||
#define REG_DISPCNT_SUB REG_WORD(ARM9_IO_BASE | 0x00001000)
|
||||
#define REG_VRAM_CNT_ABCD (*(vu32 *) 0x04000240)
|
||||
#define REG_VRAM_CNT_A (*(vu8 *) 0x04000240)
|
||||
#define REG_VRAM_CNT_B (*(vu8 *) 0x04000241)
|
||||
#define REG_VRAM_CNT_C (*(vu8 *) 0x04000242)
|
||||
#define REG_VRAM_CNT_D (*(vu8 *) 0x04000243)
|
||||
#define REG_VRAM_CNT_E (*(vu8 *) 0x04000244)
|
||||
#define REG_VRAM_CNT_F (*(vu8 *) 0x04000245)
|
||||
#define REG_VRAM_CNT_G (*(vu8 *) 0x04000246)
|
||||
#define REG_WRAM_CNT (*(vu8 *) 0x04000247)
|
||||
#define REG_VRAM_CNT_HI (*(vu16 *) 0x04000248)
|
||||
#define REG_VRAM_CNT_H (*(vu8 *) 0x04000248)
|
||||
#define REG_VRAM_CNT_I (*(vu8 *) 0x04000249)
|
||||
|
||||
#define REG_BLDCNT REG_WORD(ARM9_IO_BASE | 0x00000050)
|
||||
#define REG_BLDCNT_SUB REG_WORD(ARM9_IO_BASE | 0x00001050)
|
||||
#define REG_PAD (*(u16 *) 0x027FFFA8)
|
||||
#define REG_KEYINPUT (*(u16 *) 0x04000130)
|
||||
|
||||
#define REG_BG1HOFS_SUB REG_WORD(ARM9_IO_BASE | 0x00001014)
|
||||
#define REG_BG2HOFS_SUB REG_WORD(ARM9_IO_BASE | 0x00001018)
|
||||
#define REG_BG3HOFS_SUB REG_WORD(ARM9_IO_BASE | 0x0000101C)
|
||||
#define REG_FRAME_COUNTER (*(u32 *) 0x027FFC3C)
|
||||
#define REG_027FFC40 (*(u16 *) 0x027FFC40)
|
||||
#define REG_FNT_ROM_OFFSET (*(u32 *) 0x027FFE40)
|
||||
#define REG_FNT_SIZE (*(u32 *) 0x027FFE44)
|
||||
#define REG_FAT_ROM_OFFSET (*(u32 *) 0x027FFE48)
|
||||
#define REG_FAT_SIZE (*(u32 *) 0x027FFE4C)
|
||||
|
||||
#define REG_BLDALPHA REG_HALFWORD(ARM9_IO_BASE | 0x00000052)
|
||||
extern u32 _DTCM_BASE; // TODO: Provide address via LCF
|
||||
#define DTCM_BASE ((u8 *) &_DTCM_BASE)
|
||||
#define REG_IRQ (*(u32 *) (DTCM_BASE + 0x3FF8))
|
||||
|
||||
#define REG_WININ REG_HALFWORD(ARM9_IO_BASE | 0x00000048)
|
||||
#define REG_WINOUT REG_HALFWORD(ARM9_IO_BASE | 0x0000004A)
|
||||
#define REG_WININ_SUB REG_HALFWORD(ARM9_IO_BASE | 0x00001048)
|
||||
#define REG_WINOUT_SUB REG_HALFWORD(ARM9_IO_BASE | 0x0000104A)
|
||||
#define _MAIN_REG_BASE 0x04000000
|
||||
#define _SUB_REG_BASE 0x04001000
|
||||
|
||||
#define REG_BG3CNT_SUB REG_HALFWORD(ARM9_IO_BASE | 0x0000100E)
|
||||
#define _REG_DISPCNT(base) (*(u32 *) ((base) | 0x0))
|
||||
#define _REG_BG0CNT(base) (*(vu16 *) ((base) | 0x8))
|
||||
#define _REG_BG1CNT(base) (*(vu16 *) ((base) | 0xa))
|
||||
#define _REG_BG2CNT(base) (*(vu16 *) ((base) | 0xc))
|
||||
#define _REG_BG3CNT(base) (*(vu16 *) ((base) | 0xe))
|
||||
#define _REG_BG0OFS(base) (*(u32 *) ((base) | 0x10))
|
||||
#define _REG_BG1OFS(base) (*(u32 *) ((base) | 0x14))
|
||||
#define _REG_BG2OFS(base) (*(u32 *) ((base) | 0x18))
|
||||
#define _REG_BG3OFS(base) (*(u32 *) ((base) | 0x1c))
|
||||
#define _REG_BG2PA(base) (*(u16 *) ((base) | 0x20))
|
||||
#define _REG_BG2PB(base) (*(u16 *) ((base) | 0x22))
|
||||
#define _REG_BG2PC(base) (*(u16 *) ((base) | 0x24))
|
||||
#define _REG_BG2PD(base) (*(u16 *) ((base) | 0x26))
|
||||
#define _REG_BG2X(base) (*(u32 *) ((base) | 0x28))
|
||||
#define _REG_BG2Y(base) (*(u32 *) ((base) | 0x2c))
|
||||
#define _REG_BG3PA(base) (*(u16 *) ((base) | 0x30))
|
||||
#define _REG_BG3PB(base) (*(u16 *) ((base) | 0x32))
|
||||
#define _REG_BG3PC(base) (*(u16 *) ((base) | 0x34))
|
||||
#define _REG_BG3PD(base) (*(u16 *) ((base) | 0x36))
|
||||
#define _REG_BG3X(base) (*(u32 *) ((base) | 0x38))
|
||||
#define _REG_BG3Y(base) (*(u32 *) ((base) | 0x3c))
|
||||
#define _REG_WININ(base) (*(u16 *) ((base) | 0x48))
|
||||
#define _REG_WINOUT(base) (*(u16 *) ((base) | 0x4a))
|
||||
#define _REG_MOSAIC(base) (*(u8 *) ((base) | 0x4c))
|
||||
#define _REG_OBJMOSAIC(base) (*(u8 *) ((base) | 0x4d))
|
||||
#define _REG_BLDCNT(base) (*(u16 *) ((base) | 0x50))
|
||||
#define _REG_BLDALPHA(base) (*(u16 *) ((base) | 0x52))
|
||||
#define _REG_MASTER_BRIGHT(base) (*(u16 *) ((base) | 0x6c))
|
||||
|
||||
#define SHARED_WORK_C3C REG_WORD(SHARED_WORK_BASE | 0xC3C)
|
||||
#define REG_DISPCNT _REG_DISPCNT(_MAIN_REG_BASE)
|
||||
#define REG_BG0CNT _REG_BG0CNT(_MAIN_REG_BASE)
|
||||
#define REG_BG1CNT _REG_BG1CNT(_MAIN_REG_BASE)
|
||||
#define REG_BG2CNT _REG_BG2CNT(_MAIN_REG_BASE)
|
||||
#define REG_BG3CNT _REG_BG3CNT(_MAIN_REG_BASE)
|
||||
#define REG_BG0OFS _REG_BG0OFS(_MAIN_REG_BASE)
|
||||
#define REG_BG1OFS _REG_BG1OFS(_MAIN_REG_BASE)
|
||||
#define REG_BG2OFS _REG_BG2OFS(_MAIN_REG_BASE)
|
||||
#define REG_BG3OFS _REG_BG3OFS(_MAIN_REG_BASE)
|
||||
#define REG_BG2PA _REG_BG2PA(_MAIN_REG_BASE)
|
||||
#define REG_BG2PB _REG_BG2PB(_MAIN_REG_BASE)
|
||||
#define REG_BG2PC _REG_BG2PC(_MAIN_REG_BASE)
|
||||
#define REG_BG2PD _REG_BG2PD(_MAIN_REG_BASE)
|
||||
#define REG_BG2X _REG_BG2X(_MAIN_REG_BASE)
|
||||
#define REG_BG2Y _REG_BG2Y(_MAIN_REG_BASE)
|
||||
#define REG_BG3PA _REG_BG3PA(_MAIN_REG_BASE)
|
||||
#define REG_BG3PB _REG_BG3PB(_MAIN_REG_BASE)
|
||||
#define REG_BG3PC _REG_BG3PC(_MAIN_REG_BASE)
|
||||
#define REG_BG3PD _REG_BG3PD(_MAIN_REG_BASE)
|
||||
#define REG_BG3X _REG_BG3X(_MAIN_REG_BASE)
|
||||
#define REG_BG3Y _REG_BG3Y(_MAIN_REG_BASE)
|
||||
#define REG_WININ _REG_WININ(_MAIN_REG_BASE)
|
||||
#define REG_WINOUT _REG_WINOUT(_MAIN_REG_BASE)
|
||||
#define REG_MOSAIC _REG_MOSAIC(_MAIN_REG_BASE)
|
||||
#define REG_OBJMOSAIC _REG_OBJMOSAIC(_MAIN_REG_BASE)
|
||||
#define REG_BLDCNT _REG_BLDCNT(_MAIN_REG_BASE)
|
||||
#define REG_BLDALPHA _REG_BLDALPHA(_MAIN_REG_BASE)
|
||||
#define REG_MASTER_BRIGHT _REG_MASTER_BRIGHT(_MAIN_REG_BASE)
|
||||
|
||||
#define REG_DISPCNT_SUB _REG_DISPCNT(_SUB_REG_BASE)
|
||||
#define REG_BG0CNT_SUB _REG_BG0CNT(_SUB_REG_BASE)
|
||||
#define REG_BG1CNT_SUB _REG_BG1CNT(_SUB_REG_BASE)
|
||||
#define REG_BG2CNT_SUB _REG_BG2CNT(_SUB_REG_BASE)
|
||||
#define REG_BG3CNT_SUB _REG_BG3CNT(_SUB_REG_BASE)
|
||||
#define REG_BG0OFS_SUB _REG_BG0OFS(_SUB_REG_BASE)
|
||||
#define REG_BG1OFS_SUB _REG_BG1OFS(_SUB_REG_BASE)
|
||||
#define REG_BG2OFS_SUB _REG_BG2OFS(_SUB_REG_BASE)
|
||||
#define REG_BG3OFS_SUB _REG_BG3OFS(_SUB_REG_BASE)
|
||||
#define REG_BG2PA_SUB _REG_BG2PA(_SUB_REG_BASE)
|
||||
#define REG_BG2PB_SUB _REG_BG2PB(_SUB_REG_BASE)
|
||||
#define REG_BG2PC_SUB _REG_BG2PC(_SUB_REG_BASE)
|
||||
#define REG_BG2PD_SUB _REG_BG2PD(_SUB_REG_BASE)
|
||||
#define REG_BG2X_SUB _REG_BG2X(_SUB_REG_BASE)
|
||||
#define REG_BG2Y_SUB _REG_BG2Y(_SUB_REG_BASE)
|
||||
#define REG_BG3PA_SUB _REG_BG3PA(_SUB_REG_BASE)
|
||||
#define REG_BG3PB_SUB _REG_BG3PB(_SUB_REG_BASE)
|
||||
#define REG_BG3PC_SUB _REG_BG3PC(_SUB_REG_BASE)
|
||||
#define REG_BG3PD_SUB _REG_BG3PD(_SUB_REG_BASE)
|
||||
#define REG_BG3X_SUB _REG_BG3X(_SUB_REG_BASE)
|
||||
#define REG_BG3Y_SUB _REG_BG3Y(_SUB_REG_BASE)
|
||||
#define REG_WININ_SUB _REG_WININ(_SUB_REG_BASE)
|
||||
#define REG_WINOUT_SUB _REG_WINOUT(_SUB_REG_BASE)
|
||||
#define REG_MOSAIC_SUB _REG_MOSAIC(_SUB_REG_BASE)
|
||||
#define REG_OBJMOSAIC_SUB _REG_OBJMOSAIC(_SUB_REG_BASE)
|
||||
#define REG_BLDCNT_SUB _REG_BLDCNT(_SUB_REG_BASE)
|
||||
#define REG_BLDALPHA_SUB _REG_BLDALPHA(_SUB_REG_BASE)
|
||||
#define REG_MASTER_BRIGHT_SUB _REG_MASTER_BRIGHT(_SUB_REG_BASE)
|
||||
|
||||
#define REG_SWAP_BUFFERS (*(((u32 *) (_MAIN_REG_BASE | 0x00000540))))
|
||||
|
||||
#define REG_VRAM (*(((u32 *) (0x06800000))))
|
||||
#define REG_PALETTE_A (*(((u32 *) (0x05000000))))
|
||||
#define REG_PALETTE_B (*(((u32 *) (0x05000400))))
|
||||
#define REG_OAM_A (*(((u32 *) (0x07000000))))
|
||||
#define REG_OAM_B (*(((u32 *) (0x07000400))))
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -16,6 +16,23 @@ typedef char s8;
|
||||
typedef float f32;
|
||||
typedef double f64;
|
||||
|
||||
typedef volatile u64 vu64;
|
||||
typedef volatile u32 vu32;
|
||||
typedef volatile u16 vu16;
|
||||
typedef volatile u8 vu8;
|
||||
|
||||
typedef volatile s64 vs64;
|
||||
typedef volatile s32 vs32;
|
||||
typedef volatile s16 vs16;
|
||||
typedef volatile s8 vs8;
|
||||
|
||||
typedef volatile f32 vf32;
|
||||
typedef volatile f64 vf64;
|
||||
|
||||
typedef u32 BOOL;
|
||||
|
||||
#define ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
|
||||
|
||||
typedef s8 unk8;
|
||||
typedef s16 unk16;
|
||||
typedef s32 unk32;
|
||||
|
||||
@@ -19,7 +19,13 @@ typedef signed long intptr_t;
|
||||
typedef unsigned long uintptr_t;
|
||||
typedef intptr_t ptrdiff_t;
|
||||
|
||||
// gcc want size_t to be an unsigned int, and metrowerks want it to be an unsigned long (oh and vscode also doesn't
|
||||
// agree....................)
|
||||
#if defined(__MWERKS__) || defined(__INTELLISENSE__)
|
||||
typedef unsigned long size_t;
|
||||
#else
|
||||
typedef unsigned int size_t;
|
||||
#endif
|
||||
|
||||
#ifndef __cplusplus
|
||||
typedef int bool;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#ifndef _C_STRING_H
|
||||
#define _C_STRING_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef unsigned int size_t;
|
||||
|
||||
size_t strlen(const char *str);
|
||||
char *strcpy(char *dest, const char *src);
|
||||
char *strncpy(char *dest, const char *src, size_t num);
|
||||
|
||||
@@ -98,7 +98,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
int aligned0A = ALIGN_NEXT(unk_0A, 8);
|
||||
int aligned08 = ALIGN_NEXT(unk_08, 8);
|
||||
|
||||
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->mUnk_00)->mUnk_20;
|
||||
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->mSceneIndex)->mUnk_20;
|
||||
|
||||
s32 allocCount;
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
@@ -124,7 +124,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
unk32 iVar5;
|
||||
|
||||
if (func_01ffd3b0() != 0) {
|
||||
iVar5 = data_027e09a4->mUnk_00;
|
||||
iVar5 = data_027e09a4->mSceneIndex;
|
||||
|
||||
if (iVar5 == 0x3E) {
|
||||
this->mUnk_34 = 0xFFFFECCD; // ~0x1332
|
||||
@@ -199,7 +199,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mSceneIndex)) {
|
||||
func_ov071_0215e8d4();
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
THUMB void ActorManager::func_ov001_020bb414(ActorManager *instance) {
|
||||
func_ov001_020ba59c(&data_0204999c);
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mSceneIndex)) {
|
||||
instance->func_ov001_020bb844();
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ THUMB void ActorManager::func_ov001_020bb488() {
|
||||
data_027e0cf4->func_ov021_020f8cdc();
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mSceneIndex)) {
|
||||
data_027e0d70->func_ov068_0215e8f8();
|
||||
}
|
||||
}
|
||||
@@ -264,7 +264,7 @@ THUMB void ActorManager::func_ov001_020bb548() {
|
||||
i++;
|
||||
}
|
||||
|
||||
unk32 value = data_027e09a4->mUnk_00;
|
||||
unk32 value = data_027e09a4->mSceneIndex;
|
||||
if (data_027e09a4->UnkCheck(value)) {
|
||||
data_027e0d70->func_ov071_0215e9ac();
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "Game/GameModeStartUp.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "System/SysFault.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_02049b80.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
#include "Unknown/UnkStruct_0204e5f8.hpp"
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "regs.h"
|
||||
|
||||
extern "C" {
|
||||
void func_02013768(void *param1);
|
||||
void func_020261f0(unk32 param1, void *param2);
|
||||
void func_0201245c();
|
||||
void func_02027a28(void *param1, unk32 param2);
|
||||
@@ -51,24 +50,24 @@ ARM void SysFault::func_ov018_020c4840() {
|
||||
this->mUnk_04 = 0;
|
||||
}
|
||||
|
||||
ARM UnkStruct_02049a2c::UnkStruct_02049a2c() :
|
||||
mUnk_00(NULL),
|
||||
mUnk_04(0),
|
||||
mUnk_08(0),
|
||||
mUnk_10(0),
|
||||
mUnk_14(0),
|
||||
mUnk_18(0) {}
|
||||
ARM Game::Game() :
|
||||
mpCurrentGameMode(NULL),
|
||||
createCallback(NULL),
|
||||
mUnk_08(NULL),
|
||||
mpSaveFile(NULL),
|
||||
mUnk_14(NULL),
|
||||
mUnk_18(NULL) {}
|
||||
|
||||
ARM void UnkStruct_02049a2c::func_ov018_020c48a4(unk32 param1) {
|
||||
ARM void Game::func_ov018_020c48a4() {
|
||||
func_020261f0(1, func_02013184);
|
||||
func_020263bc(1);
|
||||
func_020234d4(1);
|
||||
func_02026ef0(&this->mUnk_20);
|
||||
func_02026ef0(&this->mUnk_1C.mUnk_04);
|
||||
func_02031e48(func_020131b0);
|
||||
this->func_02013724(UnkStruct_02049a2c::func_ov018_020c4ba8);
|
||||
this->TrySetCreateCallback((GameModeCreateCallback) Game::func_ov018_020c4ba8);
|
||||
}
|
||||
|
||||
ARM void UnkStruct_02049a2c::func_ov018_020c48f8() {
|
||||
ARM void Game::func_ov018_020c48f8() {
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_Second] != OverlayIndex_Second) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_Second, OverlayIndex_Second);
|
||||
data_0204999c.func_ov018_020c4a5c();
|
||||
@@ -80,12 +79,12 @@ ARM void UnkStruct_02049a2c::func_ov018_020c48f8() {
|
||||
ARM UnkStruct_02049b18::UnkStruct_02049b18() {
|
||||
this->mUnk_58 = 0;
|
||||
this->mUnk_5A = 0;
|
||||
func_02013768(this);
|
||||
this->func_02013768();
|
||||
}
|
||||
|
||||
ARM void UnkStruct_02011e10::func_ov018_020c4980() {
|
||||
unk32 iVar1 = func_02027818(0);
|
||||
unk32 iVar2 = func_0202780c(0);
|
||||
unk32 arenaLo = func_02027818(0);
|
||||
unk32 arenaHi = func_0202780c(0);
|
||||
|
||||
for (int i = 0; i < HeapIndex_Max; i++) {
|
||||
this->mUnk_00[i] = NULL;
|
||||
@@ -95,9 +94,9 @@ ARM void UnkStruct_02011e10::func_ov018_020c4980() {
|
||||
this->mUnk_24[i] = 0;
|
||||
}
|
||||
|
||||
this->mUnk_00[HeapIndex_0] = func_020012e0(iVar1, iVar2 - iVar1, 2);
|
||||
unk32 length = func_0202d624(NULL, 0);
|
||||
void *ptr = ::operator new(length, 0);
|
||||
this->mUnk_00[HeapIndex_Main] = func_020012e0(arenaLo, arenaHi - arenaLo, 2);
|
||||
unk32 length = func_0202d624(NULL, 0);
|
||||
void *ptr = ::operator new(length, 0);
|
||||
func_0202d624(ptr, length);
|
||||
ptr = ::operator new(0xBE000, 0);
|
||||
void *uVar3 = func_02001fd4(ptr, 0xBE000);
|
||||
@@ -170,7 +169,7 @@ ARM UnkStruct_0204e64c::UnkStruct_0204e64c() {
|
||||
this->mUnk_16 = 0;
|
||||
}
|
||||
|
||||
ARM GameModeStartUp *UnkStruct_02049a2c::func_ov018_020c4ba8() {
|
||||
ARM GameModeStartUp *Game::func_ov018_020c4ba8() {
|
||||
static GameModeStartUp data_ov018_020c5bd4;
|
||||
return &data_ov018_020c5bd4;
|
||||
}
|
||||
@@ -202,10 +201,10 @@ ARM GameModeStartUp::GameModeStartUp() {
|
||||
ARM void GameModeStartUp::vfunc_0C() {
|
||||
if (this->mUnk_04.mUnk_0D == this->mUnk_04.mUnk_10) {
|
||||
if (this->mUnk_28 == 0) {
|
||||
this->mUnk_2C = SHARED_WORK_C3C;
|
||||
data_02049a2c.func_ov018_020c48f8();
|
||||
} else if (!this->mUnk_2A && (SHARED_WORK_C3C - this->mUnk_2C) >= 0x3C) {
|
||||
this->mUnk_2A = data_0204a060.func_020183d4(false, UnkStruct_0204a060::func_020183b8, 1);
|
||||
this->mUnk_2C = REG_FRAME_COUNTER;
|
||||
gGame.func_ov018_020c48f8();
|
||||
} else if (!this->mUnk_2A && (REG_FRAME_COUNTER - this->mUnk_2C) >= 0x3C) {
|
||||
this->mUnk_2A = data_0204a060.func_020183d4(false, (GameModeCreateCallback) UnkStruct_0204a060::func_020183b8, 1);
|
||||
|
||||
if (data_ov018_020c5bc0 != 0) {
|
||||
data_0204a060.func_0201bb84(1, 0, 1);
|
||||
|
||||
@@ -56,7 +56,7 @@ ARM void func_ov018_020c4e8c(void) {
|
||||
}
|
||||
|
||||
THUMB UnkStruct_0204a060::UnkStruct_0204a060() {
|
||||
this->callback = NULL;
|
||||
this->createCallback = NULL;
|
||||
}
|
||||
|
||||
ARM UnkStruct_ov000_020b4eec::UnkStruct_ov000_020b4eec() {
|
||||
@@ -69,10 +69,10 @@ ARM UnkStruct_ov000_020b4f84::UnkStruct_ov000_020b4f84() {
|
||||
int *arg0 = 0;
|
||||
this->mUnk_C0 = (int) arg0 + 1;
|
||||
|
||||
this->func_ov000_0206667c(0, 0);
|
||||
this->func_ov000_0206667c(FontIndex_DSZ2_msg, 0);
|
||||
|
||||
if (func_02014fe0() == 0) {
|
||||
this->func_ov000_0206667c(1, 0);
|
||||
this->func_ov000_0206667c(FontIndex_LC_Font_s, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ ARM UnkStruct_ov000_020b504c::UnkStruct_ov000_020b504c() :
|
||||
Fill32(0, this->mUnk_05C, sizeof(this->mUnk_05C));
|
||||
|
||||
this->mUnk_06F = 0;
|
||||
this->mUnk_000 = new(HeapIndex_0) UnkStruct_ov000_020b504c_Sub3(0x21);
|
||||
this->mUnk_000 = new(HeapIndex_Main) UnkStruct_ov000_020b504c_Sub3(0x21);
|
||||
|
||||
Fill32(0, this->mUnk_00C, sizeof(this->mUnk_00C));
|
||||
|
||||
@@ -176,7 +176,7 @@ ARM UnkStruct_0204a110::UnkStruct_0204a110() :
|
||||
mUnk_000(0),
|
||||
mUnk_008(-1),
|
||||
mUnk_00C(-1),
|
||||
mUnk_DEC(0),
|
||||
mUnk_DEC(NULL),
|
||||
mUnk_DF2(-1),
|
||||
mUnk_DF3(-1),
|
||||
mUnk_DFC(0),
|
||||
@@ -275,15 +275,15 @@ 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_0) UnkSystem2_UnkSubSystem9();
|
||||
this->mUnk_08 = new(HeapIndex_0) UnkStruct_0204a110_Sub7_08();
|
||||
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() {
|
||||
this->mUnk_00 = 1;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0C = new(HeapIndex_0) UnkSystem2_UnkSubSystem9();
|
||||
this->mUnk_0C = new(HeapIndex_Main) UnkSystem2_UnkSubSystem9();
|
||||
}
|
||||
|
||||
ARM UnkStruct_02049f04::UnkStruct_02049f04() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "FileSelect/FileSelect.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Game/GameModeFileSelect.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_0204a088.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
#include "Unknown/UnkStruct_0204af1c.hpp"
|
||||
@@ -1131,7 +1131,7 @@ ARM void FileSelectMain::vfunc_08(Input *pButtons, TouchControl *pTouchControl)
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c8290() {
|
||||
if ((data_02049a2c.GetUnk00_FileSelect()->mUnk_04.mUnk_08 & 0xFFFF) == 0xFFFF) {
|
||||
if ((gGame.GetGameModeFileSelect()->mUnk_04.mUnk_08 & 0xFFFF) == 0xFFFF) {
|
||||
this->SetState(FileSelectState_Init);
|
||||
}
|
||||
}
|
||||
@@ -1342,7 +1342,7 @@ ARM void FileSelectMain::func_ov019_020c9c70() {
|
||||
break;
|
||||
case BTN_ID_FILE_SELECT_CONTACT_MODE:
|
||||
this->SetState(FileSelectState_ChooseModeToContactMode);
|
||||
data_02049a2c.GetUnk00_FileSelect()->LoadContactMode(this->mSaveSlotIndex);
|
||||
gGame.GetGameModeFileSelect()->LoadContactMode(this->mSaveSlotIndex);
|
||||
data_ov000_020b5214.func_ov000_0206db44(0x1C);
|
||||
break;
|
||||
case BTN_ID_FILE_SELECT_OPTIONS:
|
||||
@@ -1405,10 +1405,10 @@ ARM void FileSelectMain::func_ov019_020c9e08() {
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
|
||||
if (this->mExitMode == FileSelectExitMode_AdventureMode && this->mUnk_00BC.mUnk_0C) {
|
||||
data_02049a2c.GetUnk00_FileSelect()->LoadAdventureMode(this->mSaveSlotIndex);
|
||||
gGame.GetGameModeFileSelect()->LoadAdventureMode(this->mSaveSlotIndex);
|
||||
this->mExitMode = FileSelectExitMode_Unk_3;
|
||||
} else if (this->mExitMode == FileSelectExitMode_BattleMode && this->mUnk_00BC.mUnk_0C) {
|
||||
data_02049a2c.GetUnk00_FileSelect()->LoadBattleMode(this->mSaveSlotIndex);
|
||||
gGame.GetGameModeFileSelect()->LoadBattleMode(this->mSaveSlotIndex);
|
||||
this->mExitMode = FileSelectExitMode_Unk_3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,9 +75,9 @@ ARM void FileSelectSubScreen::vfunc_08(Input *pButtons, TouchControl *pTouchCont
|
||||
this->mUnk_0024 = this->mUnk_0020;
|
||||
this->mUnk_0020 += 0x800;
|
||||
|
||||
REG_BG1HOFS_SUB = ROUND_Q20(this->mUnk_0020) & 0x1FF;
|
||||
REG_BG2HOFS_SUB = (ROUND_Q20(this->mUnk_0020) + 0x100) & 0x1FF;
|
||||
REG_BG3HOFS_SUB = (ROUND_Q20(this->mUnk_0020) / 2) & 0x1FF;
|
||||
REG_BG1OFS_SUB = ROUND_Q20(this->mUnk_0020) & 0x1FF;
|
||||
REG_BG2OFS_SUB = (ROUND_Q20(this->mUnk_0020) + 0x100) & 0x1FF;
|
||||
REG_BG3OFS_SUB = (ROUND_Q20(this->mUnk_0020) / 2) & 0x1FF;
|
||||
|
||||
if (!(ROUND_Q20(this->mUnk_0020) % 256) && (ROUND_Q20(this->mUnk_0024) % 256)) {
|
||||
switch (this->mUnk_001C) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "Game/GameModeFileSelect.hpp"
|
||||
#include "FileSelect/FileSelect.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_02049bd4.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "Unknown/UnkStruct_0204a088.hpp"
|
||||
@@ -58,15 +58,15 @@ ARM void GameModeFileSelect::vfunc_20() {}
|
||||
ARM void GameModeFileSelect::LoadAdventureMode(u16 saveSlotIndex) {
|
||||
this->mSaveSlotIndex = saveSlotIndex;
|
||||
data_0204a060.func_020183d4(gSaveManager.GetSaveSlot(saveSlotIndex)->GetAdventureFlag(AdventureFlag_WatchedIntroCS),
|
||||
func_ov001_020be054, 1);
|
||||
(GameModeCreateCallback) func_ov001_020be054, 1);
|
||||
}
|
||||
|
||||
ARM void GameModeFileSelect::LoadBattleMode(u16 saveSlotIndex) {
|
||||
this->mSaveSlotIndex = saveSlotIndex;
|
||||
data_0204a060.func_020183d4(true, func_ov001_020be0ec, 1);
|
||||
data_0204a060.func_020183d4(true, (GameModeCreateCallback) func_ov001_020be0ec, 1);
|
||||
}
|
||||
|
||||
ARM void GameModeFileSelect::LoadContactMode(u16 saveSlotIndex) {
|
||||
this->mSaveSlotIndex = saveSlotIndex;
|
||||
data_0204a060.func_020183d4(true, func_ov001_020be0d8, 1);
|
||||
data_0204a060.func_020183d4(true, (GameModeCreateCallback) func_ov001_020be0d8, 1);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "Game/GameModeTitleScreen.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "TitleScreen/TitleScreen.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_0204a088.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
@@ -22,7 +22,7 @@ UnkStruct_ov000_020a782c *func_ov000_020a782c(unk32 param1);
|
||||
|
||||
ARM GameModeTitleScreen::GameModeTitleScreen() {
|
||||
func_0201659c();
|
||||
data_02049a2c.func_02013370(2);
|
||||
gGame.func_02013370(2);
|
||||
data_0204a110.func_ov001_020bd514(0, TitleScreenManager::Create, 0, 1);
|
||||
func_ov001_020b6520(2);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "TitleScreen/TitleScreen.hpp"
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Unknown/UnkStruct_02049be0.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "Unknown/UnkStruct_0204aeac.hpp"
|
||||
@@ -277,7 +278,7 @@ void TitleScreen::func_ov025_020c55e4(Input *pButtons, TouchControl *pTouchContr
|
||||
return;
|
||||
}
|
||||
|
||||
data_0204a060.func_020183d4(true, UnkStruct_0204a060::func_02018424, 1);
|
||||
data_0204a060.func_020183d4(true, (GameModeCreateCallback) UnkStruct_0204a060::func_02018424, 1);
|
||||
}
|
||||
|
||||
void TitleScreen::vfunc_14(unk8 *param1) {
|
||||
|
||||
@@ -17,7 +17,7 @@ ARM void TitleScreenManager::vfunc_14() {
|
||||
this->mUnk_004.func_0201c00c(0x24, 1);
|
||||
|
||||
TitleScreen *pTitleScreen = new(HeapIndex_1) TitleScreen();
|
||||
this->mpTitleScreen = pTitleScreen;
|
||||
this->mpGameMode = (GameModeBase *) pTitleScreen;
|
||||
this->mUnk_104.mList.func_020166cc(pTitleScreen->GetNode());
|
||||
pTitleScreen->vfunc_18();
|
||||
}
|
||||
@@ -25,8 +25,8 @@ ARM void TitleScreenManager::vfunc_14() {
|
||||
ARM void TitleScreenManager::vfunc_18() {
|
||||
this->mUnk_004.func_ov001_020bd784();
|
||||
|
||||
delete this->mpTitleScreen;
|
||||
this->mpTitleScreen = NULL;
|
||||
delete this->mpGameMode;
|
||||
this->mpGameMode = NULL;
|
||||
}
|
||||
|
||||
ARM void TitleScreenManager::vfunc_24() {
|
||||
@@ -45,14 +45,14 @@ ARM void TitleScreenManager::vfunc_2C(unk8 *param1) {
|
||||
this->func_02018830(param1);
|
||||
}
|
||||
|
||||
ARM void TitleScreenManager::vfunc_38() {}
|
||||
ARM void TitleScreenManager::vfunc_38(unk32 param1, unk32 param2, unk32 param3, unk32 param4) {}
|
||||
|
||||
ARM void TitleScreenManager::func_ov025_020c4c20() {
|
||||
this->mpTitleScreen->func_ov025_020c4e6c();
|
||||
((TitleScreen *) this->mpGameMode)->func_ov025_020c4e6c();
|
||||
}
|
||||
|
||||
ARM void TitleScreenManager::func_ov025_020c4c30() {
|
||||
this->mpTitleScreen->func_ov025_020c4e90();
|
||||
((TitleScreen *) this->mpGameMode)->func_ov025_020c4e90();
|
||||
}
|
||||
|
||||
TitleScreenManager::~TitleScreenManager() {}
|
||||
|
||||
@@ -660,7 +660,7 @@ ARM void PlayerGet::vfunc_10(unk32 param1) {
|
||||
break;
|
||||
case ItemId_RecruitUniform2:
|
||||
case ItemId_EngineerUniform:
|
||||
if (data_027e09a4->mUnk_00 == 0x2F) {
|
||||
if (data_027e09a4->mSceneIndex == SceneIndex_f_first) {
|
||||
this->mUnk_28->func_ov058_02152a24();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
#include "Game/Game.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "System/Random.hpp"
|
||||
#include "Unknown/UnkStruct_02049b74.hpp"
|
||||
#include "Unknown/UnkStruct_02049bd4.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
#include "Unknown/UnkStruct_0204e64c.hpp"
|
||||
#include "Unknown/UnkStruct_027e0208.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b50c0.hpp"
|
||||
#include "regs.h"
|
||||
#include "versions.h"
|
||||
|
||||
extern "C" void func_020196fc();
|
||||
extern "C" unk32 func_02031e58();
|
||||
extern "C" void func_02031e68();
|
||||
extern "C" void func_01ff8d38();
|
||||
extern "C" void func_020132c8();
|
||||
extern "C" void func_020132dc();
|
||||
extern "C" void func_02013354();
|
||||
extern "C" void func_0201328c();
|
||||
extern "C" int func_020280ec();
|
||||
extern "C" void func_02028100(int enabled);
|
||||
extern Mat3p data_027e02c4;
|
||||
|
||||
struct SomeSaveFileStruct {
|
||||
/* 00 */ SaveFile *mpSaveFiles[MAX_SAVE_SLOTS];
|
||||
|
||||
SomeSaveFileStruct(unk32 param1);
|
||||
~SomeSaveFileStruct();
|
||||
};
|
||||
|
||||
ARM void Game::func_02013370(unk32 param1) {
|
||||
data_0204a110.func_02018c78(param1);
|
||||
data_ov000_020b50c0.mUnk_9C = param1;
|
||||
}
|
||||
|
||||
ARM void Game::Run() {
|
||||
this->func_ov018_020c48a4();
|
||||
|
||||
do {
|
||||
// initialization of the next game mode
|
||||
if (this->createCallback != NULL) {
|
||||
data_0204999c.func_02013014();
|
||||
|
||||
{
|
||||
SomeSaveFileStruct local_28(0x1300);
|
||||
this->mpSaveFile = local_28.mpSaveFiles[0];
|
||||
|
||||
if (this->mpCurrentGameMode != NULL) {
|
||||
delete this->mpCurrentGameMode;
|
||||
}
|
||||
|
||||
func_020196fc();
|
||||
data_02049b18.func_02013768();
|
||||
this->mFrameCounter = REG_FRAME_COUNTER;
|
||||
|
||||
this->mpCurrentGameMode = this->createCallback();
|
||||
this->createCallback = NULL;
|
||||
this->mpCurrentGameMode->vfunc_08();
|
||||
this->mpSaveFile = NULL;
|
||||
}
|
||||
|
||||
data_0204999c.func_02013070();
|
||||
}
|
||||
|
||||
// update of the current game mode
|
||||
if (this->mpCurrentGameMode != NULL) {
|
||||
if (this->mUnk_08 != NULL) {
|
||||
this->mUnk_08();
|
||||
this->mUnk_08 = NULL;
|
||||
}
|
||||
|
||||
if (func_02031e58() != 0) {
|
||||
func_02031e68();
|
||||
}
|
||||
|
||||
data_02049bd4.func_02014d98();
|
||||
data_0204a110.func_02019300(data_0204a110.mUnk_DF8);
|
||||
|
||||
gRandom.UpdateRandomValue();
|
||||
|
||||
unk32 uVar4 = data_0204a110.func_02019300(data_0204a110.mUnk_DF8);
|
||||
data_02049b74.func_02013a44(data_0204a110.mUnk_004);
|
||||
|
||||
if (this->mUnk_14 == NULL) {
|
||||
data_02049b18.func_02013840(data_0204a110.mUnk_004, uVar4);
|
||||
} else {
|
||||
data_02049b18.func_020138f4(uVar4);
|
||||
}
|
||||
|
||||
data_0204e64c.func_020201c4(1);
|
||||
data_0204a110.func_02019350();
|
||||
|
||||
if (data_0204a110.func_02019514() == 0 && data_0204e64c.mUnk_00.mUnk_0B == 0) {
|
||||
this->mpCurrentGameMode->vfunc_0C();
|
||||
}
|
||||
|
||||
data_027e0208.mUnk_0EC = 0x1000;
|
||||
data_027e0208.mUnk_0F0 = 0x1000;
|
||||
data_027e0208.mUnk_0F4 = 0x1000;
|
||||
|
||||
data_027e0208.mUnk_0E0 = 0;
|
||||
data_027e0208.mUnk_0E4 = 0;
|
||||
data_027e0208.mUnk_0E8 = 0;
|
||||
|
||||
Mat3p_InitIdentity(&data_027e02c4);
|
||||
data_027e0208.mUnk_0FC = 0;
|
||||
func_01ff8d38();
|
||||
this->mpCurrentGameMode->vfunc_18();
|
||||
data_0204a110.func_020194dc();
|
||||
|
||||
if (data_0204a110.func_02019514() == 0) {
|
||||
this->mpCurrentGameMode->vfunc_10();
|
||||
}
|
||||
|
||||
#if IS_JP
|
||||
func_01ff8d38();
|
||||
#endif
|
||||
|
||||
if (data_0204e64c.mUnk_00.mUnk_0B == 0) {
|
||||
data_0204a110.func_02019408();
|
||||
}
|
||||
|
||||
this->mpCurrentGameMode->vfunc_1C();
|
||||
func_01ff8d38();
|
||||
data_0204a110.func_02019454();
|
||||
this->mpCurrentGameMode->vfunc_20();
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_Second] == OverlayIndex_Second) {
|
||||
this->func_ov000_020576d0();
|
||||
this->func_ov000_0205770c();
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mFrameCounter + data_0204a110.mUnk_004 - (s32) REG_FRAME_COUNTER > 1) {
|
||||
func_0201328c();
|
||||
}
|
||||
|
||||
while (this->mFrameCounter + data_0204a110.mUnk_004 - (s32) REG_FRAME_COUNTER > 1) {
|
||||
func_020132c8();
|
||||
}
|
||||
|
||||
{
|
||||
int enabled = func_020280ec();
|
||||
this->mUnk_1C.func_02013e18(func_020132dc, 0);
|
||||
REG_SWAP_BUFFERS = 3;
|
||||
func_02028100(enabled);
|
||||
}
|
||||
|
||||
func_020132c8();
|
||||
|
||||
if (this->mUnk_18 != NULL) {
|
||||
while (this->mUnk_18() != 0) {
|
||||
while (this->mUnk_1C.func_02013e18(func_02013354, 0) == 0) {
|
||||
}
|
||||
|
||||
func_020132c8();
|
||||
}
|
||||
}
|
||||
|
||||
this->mFrameCounter = REG_FRAME_COUNTER;
|
||||
} while (true);
|
||||
}
|
||||
|
||||
bool Game::TrySetCreateCallback(GameModeCreateCallback createCallback) {
|
||||
if (this->createCallback == NULL) {
|
||||
this->createCallback = createCallback;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -76,7 +76,7 @@ ARM void GameModeManagerBase::vfunc_30(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
ARM void GameModeManagerBase::vfunc_34() {}
|
||||
ARM void GameModeManagerBase::vfunc_34(unk32 param1, unk32 param2) {}
|
||||
|
||||
struct UnkStruct3 {
|
||||
unk32 mUnk_00;
|
||||
|
||||
+10
-9
@@ -1,4 +1,4 @@
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "global.h"
|
||||
#include "regs.h"
|
||||
#include "types.h"
|
||||
@@ -6,7 +6,6 @@
|
||||
void func_0203b920(void);
|
||||
void func_02011da0(void);
|
||||
void CallStaticInitializers(void);
|
||||
void main(void);
|
||||
|
||||
void func_02000a78(void);
|
||||
void *func_0200093c(unk32, u32 *, unk32);
|
||||
@@ -14,6 +13,8 @@ void func_020009fc(void);
|
||||
void func_02000950(unk32 *);
|
||||
void func_01ffbd70(void);
|
||||
|
||||
void main();
|
||||
|
||||
#define UNK_027FFF9C (*(u32 *) 0x027FFF9C)
|
||||
|
||||
typedef void (*UnkStruct_027e0000_Callback)(void);
|
||||
@@ -44,7 +45,7 @@ struct RomBuildInfo {
|
||||
extern RomBuildInfo BuildInfo;
|
||||
|
||||
// non-matching
|
||||
ARM void Entry(void) {
|
||||
extern "C" ARM void Entry(void) {
|
||||
unk32 *puVar1;
|
||||
unk32 *puVar2;
|
||||
u32 uVar3;
|
||||
@@ -57,8 +58,8 @@ ARM void Entry(void) {
|
||||
|
||||
func_02000a78();
|
||||
func_0200093c(0, (u32 *) data_027e0000, 0x4000);
|
||||
func_0200093c(0, RAM_PALETTES, 0x400);
|
||||
func_0200093c(0x200, RAM_OAM, 0x400);
|
||||
func_0200093c(0, ®_PALETTE_A, 0x400);
|
||||
func_0200093c(0x200, ®_OAM_A, 0x400);
|
||||
func_02000950(BuildInfo.mUnk_14);
|
||||
func_020009fc();
|
||||
puVar4 = BuildInfo.mUnk_10;
|
||||
@@ -98,9 +99,9 @@ ARM void *func_0200093c(unk32 param1, u32 *param2, unk32 param3) {
|
||||
return param2;
|
||||
}
|
||||
|
||||
void AutoloadCallback(void) {}
|
||||
extern "C" void AutoloadCallback(void) {}
|
||||
|
||||
void func_02000b60(void) {}
|
||||
extern "C" void func_02000b60(void) {}
|
||||
|
||||
RomBuildInfo BuildInfo = {
|
||||
.mUnk_00 = data_0204cde0,
|
||||
@@ -116,6 +117,6 @@ RomBuildInfo BuildInfo = {
|
||||
"[SDK+MEI:libASR_V1.0.5-CW2.0-SDK4.0]",
|
||||
};
|
||||
|
||||
void main(void) {
|
||||
data_02049a2c.Run();
|
||||
void main() {
|
||||
gGame.Run();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,207 @@
|
||||
#include "System/SysFault.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b4f84.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b50c0.hpp"
|
||||
#include "global.h"
|
||||
#include "regs.h"
|
||||
|
||||
extern "C" void func_0202851c();
|
||||
extern "C" void func_020131ec();
|
||||
extern "C" void func_02013214();
|
||||
extern "C" void func_ov020_020c86d8(void *);
|
||||
extern "C" void func_02014d38(void *, int);
|
||||
extern "C" void func_020196fc();
|
||||
extern "C" void func_02023770(int);
|
||||
extern "C" void func_02023fb0(int);
|
||||
extern "C" void func_02023f8c(int);
|
||||
extern "C" void GX_SetGraphicsMode(int, int, int);
|
||||
extern "C" void GXS_SetGraphicsMode(int);
|
||||
extern "C" unk32 func_ov000_02068504(int);
|
||||
extern "C" unk32 func_020147a8();
|
||||
extern "C" void *func_020244f8();
|
||||
extern "C" void func_0201b278(bool, bool);
|
||||
extern "C" void func_0201b180(bool, bool);
|
||||
extern "C" void func_02025050(void *, int, int);
|
||||
extern "C" void SetBrightColor(void *, int);
|
||||
extern int data_02049bd4;
|
||||
|
||||
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();
|
||||
void func_ov000_0206869c();
|
||||
void func_ov000_020686a4(int);
|
||||
void func_ov000_02068fec();
|
||||
void func_ov000_0206878c();
|
||||
void func_ov000_020628e4(int, int, int, int, int, int, int, int, int);
|
||||
|
||||
u8 pad[0x20];
|
||||
Font_UnkStruct1 *mUnk_20;
|
||||
};
|
||||
|
||||
THUMB void SysFault::func_020127f0(unk32 param1) {
|
||||
bool doDraw = false;
|
||||
|
||||
func_02013214();
|
||||
func_02014d38(&data_02049bd4, 0);
|
||||
func_02014d38(&data_02049bd4, 1);
|
||||
func_02014d38(&data_02049bd4, 3);
|
||||
func_020196fc();
|
||||
func_02023770(2);
|
||||
func_02023fb0(4);
|
||||
func_02023f8c(0x100);
|
||||
GX_SetGraphicsMode(1, 0, 0);
|
||||
GXS_SetGraphicsMode(0);
|
||||
|
||||
REG_DISPCNT = ((REG_DISPCNT & ~0x1F00) | 0x100);
|
||||
REG_DISPCNT_SUB = (REG_DISPCNT_SUB & ~0x1F00) | 0x100;
|
||||
|
||||
REG_BG0CNT = (REG_BG0CNT & 0x43) | 4;
|
||||
REG_BG0CNT_SUB = (REG_BG0CNT_SUB & 0x43) | 4;
|
||||
|
||||
if (this->mUnk_05 < 0xFF) {
|
||||
this->mUnk_05 = 0xFF;
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
func_0201b180(true, true);
|
||||
// fallthrough
|
||||
case 2:
|
||||
case 3:
|
||||
this->mUnk_04 = 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!doDraw) {
|
||||
func_020131ec();
|
||||
|
||||
bool sequenceComplete = false;
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
data_02049b18.mButtons.func_02013b24(data_02049b18.mButtons.func_02013bbc());
|
||||
u16 expected = data_0203e0c4[this->mUnk_04];
|
||||
|
||||
if (data_02049b18.mButtons.press & expected) {
|
||||
if ((data_02049b18.mButtons.press & (~(expected & 0x3FF))) == 0) {
|
||||
this->mUnk_04++;
|
||||
|
||||
if (this->mUnk_04 > 10) {
|
||||
doDraw = true;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
this->mUnk_04 = 0;
|
||||
}
|
||||
} else {
|
||||
if (data_02049b18.mButtons.press & 0x3FF) {
|
||||
this->mUnk_04 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
doDraw = false;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
default:
|
||||
doDraw = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (true) {
|
||||
func_020131ec();
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
func_0201b278(true, true);
|
||||
break;
|
||||
case 2: {
|
||||
// "data could not be read" error
|
||||
struct_aStack_2d8 aStack_2d8;
|
||||
|
||||
func_02025050(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
|
||||
Fill32(0, func_020244f8(), 0x800);
|
||||
aStack_2d8.mUnk_20 = &data_ov000_020b4f84.mUnk_00[FontIndex_DSZ2_msg].mUnk_14;
|
||||
aStack_2d8.func_ov000_020628e4(0, 0, 256, 192, 0, 0, 1, 0, 0);
|
||||
|
||||
{
|
||||
UnkSystem2_UnkSubSystem5_Base_10 aStack_278;
|
||||
aStack_2d8.func_ov000_0206869c();
|
||||
struct_aStack_2e0 uStack_2e0(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();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
// "data could not be written" error
|
||||
struct_aStack_2d8 aStack_2d8;
|
||||
|
||||
func_02025050(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
|
||||
Fill32(0, func_020244f8(), 0x800);
|
||||
aStack_2d8.mUnk_20 = &data_ov000_020b4f84.mUnk_00[FontIndex_DSZ2_msg].mUnk_14;
|
||||
aStack_2d8.func_ov000_020628e4(0, 0, 256, 192, 0, 0, 1, 0, 0);
|
||||
|
||||
{
|
||||
UnkSystem2_UnkSubSystem5_Base_10 aStack_278;
|
||||
aStack_2d8.func_ov000_0206869c();
|
||||
struct_aStack_2e0 uStack_2e0(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();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
SetBrightColor((void *) ®_MASTER_BRIGHT, 0);
|
||||
SetBrightColor((void *) ®_MASTER_BRIGHT_SUB, 0);
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_4] == OverlayIndex_WirelessCommon) {
|
||||
func_ov020_020c86d8(&data_ov020_20e8580);
|
||||
}
|
||||
|
||||
if (func_020147a8() != 0) {
|
||||
data_ov000_020b50c0.func_ov000_02069f58();
|
||||
}
|
||||
|
||||
int waitTimer = 0;
|
||||
while (waitTimer < 0x7FFFFFFF) {
|
||||
int limit = (waitTimer < 2) ? 0x3C : 0x7FFFFFFF;
|
||||
|
||||
if (waitTimer >= limit) {
|
||||
break;
|
||||
}
|
||||
|
||||
func_020131ec();
|
||||
waitTimer++;
|
||||
}
|
||||
|
||||
this->mUnk_05 = 0;
|
||||
func_0202851c();
|
||||
}
|
||||
}
|
||||
+16
-24
@@ -1,35 +1,33 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "System/SysFault.hpp"
|
||||
#include "global.h"
|
||||
|
||||
extern "C" {
|
||||
void *func_02001654(void);
|
||||
void *func_02001654(void *);
|
||||
void *func_020145b0(UnkId *, s32);
|
||||
void *func_020010c0(void);
|
||||
void *func_02001308(void);
|
||||
void *func_020010c0(void *);
|
||||
void *func_02001308(void *);
|
||||
UnkId *func_02001488(void);
|
||||
UnkId *func_02014704(void);
|
||||
UnkId *func_02014704();
|
||||
UnkId *func_020011c8(UnkId *, void *);
|
||||
UnkId *func_02014630(UnkId *, void *);
|
||||
UnkId *func_02001684(UnkId *, void *);
|
||||
void func_020011f4(void *);
|
||||
unk32 func_020011f4(void *);
|
||||
}
|
||||
extern char *data_0204372c[];
|
||||
|
||||
// non-matching
|
||||
ARM void *SysNew(UnkStruct_02011e10_Sub1 *param1, s32 length, s32 param3) {
|
||||
void *newPtr = NULL;
|
||||
void *ret;
|
||||
|
||||
switch (param1->mId) {
|
||||
case UnkId_EXPH:
|
||||
newPtr = func_020010c0();
|
||||
newPtr = func_020010c0(param1);
|
||||
break;
|
||||
case UnkId_FRMH:
|
||||
newPtr = func_02001308();
|
||||
newPtr = func_02001308(param1);
|
||||
break;
|
||||
case UnkId_UNTH:
|
||||
newPtr = func_02001654();
|
||||
newPtr = func_02001654(param1);
|
||||
break;
|
||||
case UnkId_UNSH:
|
||||
newPtr = func_020145b0(func_02014704(), length);
|
||||
@@ -71,24 +69,22 @@ ARM void *func_02011f30(s32 length) {
|
||||
return func_02011f10(length);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void *operator new(unsigned long length, u32 id, u32 idLength) {
|
||||
void *pvVar1;
|
||||
char *uVar2;
|
||||
u16 line;
|
||||
char *uVar4;
|
||||
UnkStruct_02011e10_Sub1 *pUVar5;
|
||||
|
||||
pUVar5 = data_0204999c.mUnk_00[id];
|
||||
pvVar1 = SysNew(pUVar5, length, idLength);
|
||||
|
||||
if (pvVar1 == NULL) {
|
||||
if (id == 1) {
|
||||
func_020011f4(pUVar5);
|
||||
data_02049984.func_020125a4(__FILE__, 183, "%sノメモリガタリマセン.\nサイズ=%d\nノコリ =%d", data_0204372c[id],
|
||||
length);
|
||||
} else if (id == 0) {
|
||||
data_02049984.func_020125a4(__FILE__, 187, "%sノメモリガタリマセン.\nサイズ=%d", data_0204372c[id], length);
|
||||
switch (id) {
|
||||
case HeapIndex_1:
|
||||
GAME_ASSERT(pvVar1 != NULL, 183, "%sノメモリガタリマセン.\nサイズ=%d\nノコリ =%d", data_0204372c[id], length,
|
||||
func_020011f4(pUVar5));
|
||||
break;
|
||||
default:
|
||||
GAME_ASSERT(pvVar1 != NULL, 187, "%sノメモリガタリマセン.\nサイズ=%d", data_0204372c[id], length);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +98,3 @@ ARM void operator delete(void *ptr) {
|
||||
ARM void SysObject::operator delete[](void *ptr) {
|
||||
SysDelete(ptr);
|
||||
}
|
||||
|
||||
void dummy() {
|
||||
::operator new(1, 1);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Game/GameModeFileSelect.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_0204e5f8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
|
||||
extern "C" void func_ov001_020be078();
|
||||
|
||||
THUMB bool UnkStruct_0204a060::vfunc_0C(void) {
|
||||
return data_02049a2c.func_02013724(this->callback);
|
||||
return gGame.TrySetCreateCallback(this->createCallback);
|
||||
}
|
||||
|
||||
THUMB void UnkStruct_0204a060::func_020183b8(void) {
|
||||
@@ -15,16 +17,16 @@ THUMB void UnkStruct_0204a060::func_020183b8(void) {
|
||||
}
|
||||
|
||||
THUMB void UnkStruct_0204a060::func_020183c0(void) {
|
||||
this->func_020183d4(false, func_ov001_020be078, 1);
|
||||
this->func_020183d4(false, (GameModeCreateCallback) func_ov001_020be078, 1);
|
||||
}
|
||||
|
||||
THUMB bool UnkStruct_0204a060::func_020183d4(bool param1, void *param2, unk32 param3) {
|
||||
THUMB bool UnkStruct_0204a060::func_020183d4(bool param1, GameModeCreateCallback createFunc, unk32 param3) {
|
||||
if (this->mUnk_0C) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this->mUnk_14 = param1 ? 0x00010000 : 0xFFFF0000;
|
||||
this->callback = param2;
|
||||
this->mUnk_14 = param1 ? 0x00010000 : 0xFFFF0000;
|
||||
this->createCallback = createFunc;
|
||||
this->func_0201bb84(0x20, 4, 0x20);
|
||||
|
||||
if (param3 != 0) {
|
||||
@@ -35,8 +37,9 @@ THUMB bool UnkStruct_0204a060::func_020183d4(bool param1, void *param2, unk32 pa
|
||||
return true;
|
||||
}
|
||||
|
||||
THUMB void UnkStruct_0204a060::func_02018424(void) {
|
||||
data_02049ba0.func_020148d0(0x18)->func_ov018_020c4840();
|
||||
THUMB GameModeFileSelect *UnkStruct_0204a060::func_02018424(void) {
|
||||
data_02049ba0.func_020148d0(OverlayIndex_MainSelect);
|
||||
return GameModeFileSelect::Create();
|
||||
}
|
||||
|
||||
ARM UnkStruct_0204a060::~UnkStruct_0204a060() {}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b4f84.hpp"
|
||||
|
||||
extern "C" void *func_02012ec8(unk32, unk16, void *, size_t *, unk32, u8);
|
||||
extern "C" size_t func_020010e0(UnkStruct_02011e10_Sub1 *heapID, void *pFile, unk32 param3);
|
||||
|
||||
THUMB void UnkStruct_ov000_020b4f84_00_Base::func_02015528() {}
|
||||
|
||||
THUMB void UnkStruct_ov000_020b4f84_00_Base::func_0201552c() {
|
||||
this->mpFile = NULL;
|
||||
this->mFileSize = 0;
|
||||
}
|
||||
|
||||
THUMB unk32 UnkStruct_ov000_020b4f84_00_Base::func_02015534() {
|
||||
return this->mFileSize;
|
||||
}
|
||||
|
||||
THUMB UnkStruct_ov000_020b4f84_00_Base::UnkStruct_ov000_020b4f84_00_Base() {
|
||||
this->mUnk_04 = NULL;
|
||||
this->mpFile = NULL;
|
||||
this->mFileSize = 0;
|
||||
this->mHeapIndex = HeapIndex_1;
|
||||
this->mUnk_12 = 0;
|
||||
}
|
||||
|
||||
THUMB UnkStruct_ov000_020b4f84_00_Base::UnkStruct_ov000_020b4f84_00_Base(void *param1, unk32 param2, unk32 param3, u8 param4) :
|
||||
UnkStruct_ov000_020b4f84_00_Base2(param1, param3) {
|
||||
this->mUnk_12 = param4;
|
||||
}
|
||||
|
||||
THUMB UnkStruct_ov000_020b4f84_00_Base::~UnkStruct_ov000_020b4f84_00_Base() {
|
||||
this->vfunc_0C();
|
||||
this->func_02015528();
|
||||
}
|
||||
|
||||
THUMB void *UnkStruct_ov000_020b4f84_00_Base::vfunc_08(unk32 param1) {
|
||||
if (this->mpFile == NULL) {
|
||||
this->mpFile = func_02012ec8(0, this->mHeapIndex, this->mUnk_04, &this->mFileSize, param1, this->mUnk_12);
|
||||
}
|
||||
|
||||
return this->mpFile;
|
||||
}
|
||||
|
||||
THUMB void UnkStruct_ov000_020b4f84_00_Base::vfunc_0C(void) {
|
||||
if (this->mpFile2 != NULL) {
|
||||
delete this->mpFile;
|
||||
this->func_0201552c();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB size_t UnkStruct_ov000_020b4f84_00_Base::vfunc_10(unk32 param1) {
|
||||
size_t prevFileSize = this->mFileSize;
|
||||
|
||||
if (this->mpFile2 != NULL && param1 < this->mFileSize) {
|
||||
if (data_0204999c.mUnk_00[this->mHeapIndex]->mId == UnkId_EXPH) {
|
||||
this->mFileSize = func_020010e0(data_0204999c.mUnk_00[this->mHeapIndex], this->mpFile, param1);
|
||||
}
|
||||
}
|
||||
|
||||
return prevFileSize;
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "regs.h"
|
||||
#include "types.h"
|
||||
|
||||
extern "C" void GX_SetGraphicsMode(int, int, int);
|
||||
extern "C" void GXS_SetGraphicsMode(int);
|
||||
extern "C" void func_02024934(void *, void *, int, int, int, int);
|
||||
extern "C" void func_020242a0();
|
||||
extern "C" void func_020241f4();
|
||||
extern "C" void func_0202421c();
|
||||
extern "C" void func_0202428c();
|
||||
extern "C" void func_02024208();
|
||||
extern "C" void func_02024240();
|
||||
extern "C" void func_020242b4();
|
||||
extern "C" void func_020242dc();
|
||||
extern "C" void func_020242c8();
|
||||
extern "C" void func_02024304();
|
||||
extern "C" void func_02024264();
|
||||
extern "C" void func_02024278();
|
||||
extern "C" void func_02023f8c(int);
|
||||
extern "C" void func_020243ec();
|
||||
extern int data_027e0120;
|
||||
|
||||
extern "C" void func_020196fc() {
|
||||
GX_SetGraphicsMode(1, 0, 0);
|
||||
GXS_SetGraphicsMode(0);
|
||||
REG_BG0OFS = 0;
|
||||
REG_BG1OFS = 0;
|
||||
REG_BG2OFS = 0;
|
||||
REG_BG3OFS = 0;
|
||||
REG_BG0OFS_SUB = 0;
|
||||
REG_BG1OFS_SUB = 0;
|
||||
REG_BG2OFS_SUB = 0;
|
||||
REG_BG3OFS_SUB = 0;
|
||||
func_02024934(®_BG2PA, &data_027e0120, 0x80, 0x60, 0, 0);
|
||||
func_02024934(®_BG3PA, &data_027e0120, 0x80, 0x60, 0, 0);
|
||||
func_02024934(®_BG2PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
|
||||
func_02024934(®_BG3PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
|
||||
REG_BG0CNT = REG_BG0CNT & 0xffbf;
|
||||
REG_BG1CNT = REG_BG1CNT & 0xffbf;
|
||||
REG_BG2CNT = REG_BG2CNT & 0xffbf;
|
||||
REG_BG3CNT = REG_BG3CNT & 0xffbf;
|
||||
REG_BG0CNT_SUB = REG_BG0CNT_SUB & 0xffbf;
|
||||
REG_BG1CNT_SUB = REG_BG1CNT_SUB & 0xffbf;
|
||||
REG_BG2CNT_SUB = REG_BG2CNT_SUB & 0xffbf;
|
||||
REG_BG3CNT_SUB = REG_BG3CNT_SUB & 0xffbf;
|
||||
REG_MOSAIC = 0;
|
||||
REG_MOSAIC_SUB = 0;
|
||||
REG_OBJMOSAIC = 0;
|
||||
REG_OBJMOSAIC_SUB = 0;
|
||||
REG_BLDCNT = 0;
|
||||
REG_BLDCNT_SUB = 0;
|
||||
REG_DISPCNT &= 0xffff1fff;
|
||||
REG_DISPCNT_SUB &= 0xffff1fff;
|
||||
func_020242a0();
|
||||
func_020241f4();
|
||||
func_0202421c();
|
||||
func_0202428c();
|
||||
func_02024208();
|
||||
func_02024240();
|
||||
func_020242b4();
|
||||
func_020242dc();
|
||||
func_020242c8();
|
||||
func_02024304();
|
||||
func_02024264();
|
||||
func_02024278();
|
||||
func_02023f8c(0x1ff);
|
||||
|
||||
Fill256(0, ®_VRAM, 0xa4000);
|
||||
func_020243ec();
|
||||
|
||||
Fill256(0xc0, ®_OAM_A, 0x400);
|
||||
Fill256(0, ®_PALETTE_A, 0x400);
|
||||
|
||||
Fill256(0xc0, ®_OAM_B, 0x400);
|
||||
Fill256(0, ®_PALETTE_B, 0x400);
|
||||
}
|
||||
@@ -125,14 +125,18 @@ config.libs = [
|
||||
[
|
||||
Object("Main/Main.cpp"),
|
||||
Object("Main/System/SysNew.cpp"),
|
||||
Object("Main/System/SysFault.cpp"),
|
||||
Object("Main/Game/Game.cpp"),
|
||||
Object("Main/Player/TouchControl.cpp"),
|
||||
Object("Main/System/OverlayManager.cpp"),
|
||||
Object("Main/UnkStruct_ov000_020b4f84_00_Base.cpp"),
|
||||
Object("Main/System/Random.cpp"),
|
||||
Object("Main/Game/GameModeLinkListNode.cpp"),
|
||||
Object("Main/func_02017ea4.cpp"),
|
||||
Object("Main/Game/GameModeBase.cpp"),
|
||||
Object("Main/UnkStruct_0204a060.cpp"),
|
||||
Object("Main/Game/GameModeManagerBase.cpp"),
|
||||
Object("Main/func_020196fc.cpp"),
|
||||
]
|
||||
),
|
||||
GameLib(
|
||||
|
||||
Reference in New Issue
Block a user