mirror of
https://github.com/zeldaret/st
synced 2026-06-28 19:00:54 -04:00
Decompile overlay 1 (Part 2) (#91)
* UnkStruct_027e09b8_001 OK * match func_ov001_020b7830 * fix build issues * UnkStruct_027e0cd8_001 49% * UnkStruct_027e0cd8_001 OK * fix build issues * UnkStruct_027e0cd8_0C_001 92% * port some MSL C++ headers from rb3 and key decomps * fix build issues * UnkStruct_027e0cd8_0C_001 98%
This commit is contained in:
@@ -184,8 +184,8 @@ func_01ffe954 kind:function(arm,size=0x80) addr:0x01ffe954
|
||||
func_01ffe9d4 kind:function(arm,size=0x308) addr:0x01ffe9d4
|
||||
func_01ffecdc kind:function(arm,size=0xd0) addr:0x01ffecdc
|
||||
func_01ffedac kind:function(arm,size=0x48) addr:0x01ffedac
|
||||
_ZN21UnkStruct_027e0cd8_0c13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
func_01ffee10 kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_28EP7VecFx32ii kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
func_01ffef34 kind:function(arm,size=0x128) addr:0x01ffef34
|
||||
func_01fff05c kind:function(arm,size=0x58) addr:0x01fff05c
|
||||
func_01fff0b4 kind:function(arm,size=0x94) addr:0x01fff0b4
|
||||
@@ -212,7 +212,7 @@ _ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
|
||||
_ZN5Actor13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
|
||||
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
|
||||
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
|
||||
_ZN16MapObjectManager13func_01fff6d0EP7VecFx32PiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
|
||||
func_01fff764 kind:function(arm,size=0xec) addr:0x01fff764
|
||||
func_01fff850 kind:function(arm,size=0x158) addr:0x01fff850
|
||||
|
||||
@@ -219,8 +219,8 @@ _ZN32UnkStruct_027e0960_TableEntry_048vfunc_10Ev kind:function(arm,size=0xc) add
|
||||
_ZN32UnkStruct_027e0960_TableEntry_048vfunc_1CEv kind:function(arm,size=0x1c) addr:0x0205a0a8
|
||||
func_ov000_0205a0c4 kind:function(thumb,size=0x12) addr:0x0205a0c4
|
||||
_ZN18UnkStruct_027e0960D1Ev kind:function(thumb,size=0x44) addr:0x0205a0d8
|
||||
func_ov000_0205a11c kind:function(arm,size=0x4) addr:0x0205a11c
|
||||
func_ov000_0205a120 kind:function(arm,size=0x40) addr:0x0205a120
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a11cEv kind:function(arm,size=0x4) addr:0x0205a11c
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a120Ev kind:function(arm,size=0x40) addr:0x0205a120
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205a160
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205a164
|
||||
func_ov000_0205a1a4 kind:function(arm,size=0x34) addr:0x0205a1a4
|
||||
@@ -987,10 +987,10 @@ func_ov000_02070148 kind:function(arm,size=0x1c) addr:0x02070148
|
||||
func_ov000_02070164 kind:function(arm,size=0xfc) addr:0x02070164
|
||||
_ZN18UnkStruct_027e09a021GetSceneIndexFromNameEPKc kind:function(arm,size=0x3c) addr:0x02070260
|
||||
_ZN18UnkStruct_027e09a014GetCourseEntryEj kind:function(arm,size=0xc) addr:0x0207029c
|
||||
func_ov000_020702a8 kind:function(arm,size=0x14) addr:0x020702a8
|
||||
_ZN18UnkStruct_027e09a019func_ov000_020702a8Ej kind:function(arm,size=0x14) addr:0x020702a8
|
||||
_ZN18UnkStruct_027e09a017GetRoomEntryIndexEv kind:function(arm,size=0x40) addr:0x020702bc
|
||||
_ZN18UnkStruct_027e09a012GetRoomEntryEji kind:function(arm,size=0x14) addr:0x020702fc
|
||||
func_ov000_02070310 kind:function(arm,size=0x68) addr:0x02070310
|
||||
_ZN18UnkStruct_027e09a019func_ov000_02070310EjhPv kind:function(arm,size=0x68) addr:0x02070310
|
||||
_ZN18UnkStruct_027e09a019func_ov000_02070378Ej kind:function(arm,size=0x44) addr:0x02070378
|
||||
func_ov000_020703bc kind:function(arm,size=0x8) addr:0x020703bc
|
||||
func_ov000_020703c4 kind:function(arm,size=0x5c) addr:0x020703c4
|
||||
@@ -1080,7 +1080,7 @@ func_ov000_0207246c kind:function(arm,size=0x204) addr:0x0207246c
|
||||
func_ov000_02072670 kind:function(arm,size=0x14) addr:0x02072670
|
||||
func_ov000_02072684 kind:function(arm,size=0x18) addr:0x02072684
|
||||
func_ov000_0207269c kind:function(arm,size=0x54) addr:0x0207269c
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020726f0Eiii kind:function(arm,size=0x2d4) addr:0x020726f0
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020726f0Etii kind:function(arm,size=0x2d4) addr:0x020726f0
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020729c4EP21UnkStruct_027e09ac_14ttss kind:function(arm,size=0x88) addr:0x020729c4
|
||||
func_ov000_02072a4c kind:function(arm,size=0xbc) addr:0x02072a4c
|
||||
func_ov000_02072b08 kind:function(arm,size=0x1c) addr:0x02072b08
|
||||
@@ -1090,7 +1090,7 @@ func_ov000_02072ba8 kind:function(arm,size=0x24) addr:0x02072ba8
|
||||
func_ov000_02072bcc kind:function(arm,size=0xa4) addr:0x02072bcc
|
||||
func_ov000_02072c70 kind:function(arm,size=0x44) addr:0x02072c70
|
||||
func_ov000_02072cb4 kind:function(arm,size=0x10) addr:0x02072cb4
|
||||
func_ov000_02072cc4 kind:function(arm,size=0x10) addr:0x02072cc4
|
||||
_ZN18UnkStruct_027e09b019func_ov000_02072cc4Eii kind:function(arm,size=0x10) addr:0x02072cc4
|
||||
func_ov000_02072cd4 kind:function(arm,size=0x24) addr:0x02072cd4
|
||||
func_ov000_02072cf8 kind:function(arm,size=0x20) addr:0x02072cf8
|
||||
func_ov000_02072d18 kind:function(arm,size=0x10) addr:0x02072d18
|
||||
@@ -1106,15 +1106,15 @@ func_ov000_02072fd0 kind:function(arm,size=0xb0) addr:0x02072fd0
|
||||
func_ov000_02073080 kind:function(arm,size=0x2c) addr:0x02073080
|
||||
_ZN17ActorUnk_vfunc_B0C1Ev kind:function(arm,size=0x58) addr:0x020730ac
|
||||
_ZN20stack_ov000_02073578C1Ev kind:function(arm,size=0x2c) addr:0x02073104
|
||||
func_ov000_02073130 kind:function(arm,size=0x4) addr:0x02073130
|
||||
_ZN19func_ov000_02073134D0Ev kind:function(arm,size=0x14) addr:0x02073134
|
||||
_ZN26UnkStruct_027e09b8_04_BaseD1Ev kind:function(arm,size=0x4) addr:0x02073130
|
||||
_ZN26UnkStruct_027e09b8_04_BaseD0Ev kind:function(arm,size=0x14) addr:0x02073134
|
||||
func_ov000_02073148 kind:function(arm,size=0x4) addr:0x02073148
|
||||
func_ov000_0207314c kind:function(arm,size=0x8) addr:0x0207314c
|
||||
func_ov000_02073154 kind:function(arm,size=0x14) addr:0x02073154
|
||||
func_ov000_02073168 kind:function(arm,size=0x4) addr:0x02073168
|
||||
func_ov000_0207316c kind:function(arm,size=0x4) addr:0x0207316c
|
||||
func_ov000_02073170 kind:function(arm,size=0x8) addr:0x02073170
|
||||
func_ov000_02073178 kind:function(arm,size=0xc) addr:0x02073178
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_08Ev kind:function(arm,size=0x8) addr:0x0207314c
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_0CEv kind:function(arm,size=0x14) addr:0x02073154
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_14Ev kind:function(arm,size=0x4) addr:0x02073168
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_18Ev kind:function(arm,size=0x4) addr:0x0207316c
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_1CEv kind:function(arm,size=0x8) addr:0x02073170
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_20Ev kind:function(arm,size=0xc) addr:0x02073178
|
||||
_ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x02073184
|
||||
_ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02073188
|
||||
_ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x0207318c
|
||||
@@ -1132,18 +1132,18 @@ func_ov000_0207332c kind:function(arm,size=0x5c) addr:0x0207332c
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073388EPvi kind:function(arm,size=0xe8) addr:0x02073388
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073470EPvi kind:function(arm,size=0x108) addr:0x02073470
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073578EPvi kind:function(arm,size=0x98) addr:0x02073578
|
||||
func_ov000_02073610 kind:function(arm,size=0xb0) addr:0x02073610
|
||||
func_ov000_020736c0 kind:function(arm,size=0x10) addr:0x020736c0
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073610EPvi kind:function(arm,size=0xb0) addr:0x02073610
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02074d78Ei kind:function(arm,size=0x10) addr:0x020736c0
|
||||
func_ov000_020736d0 kind:function(arm,size=0x8) addr:0x020736d0
|
||||
func_ov000_020736d8 kind:function(arm,size=0x8) addr:0x020736d8
|
||||
func_ov000_020736e0 kind:function(arm,size=0x38) addr:0x020736e0
|
||||
_ZN21UnkStruct_027e09b8_00C1Ev kind:function(arm,size=0x38) addr:0x020736e0
|
||||
func_ov000_02073718 kind:function(arm,size=0x2c) addr:0x02073718
|
||||
func_ov000_02073744 kind:function(arm,size=0x54) addr:0x02073744
|
||||
func_ov000_02073798 kind:function(arm,size=0x60) addr:0x02073798
|
||||
func_ov000_020737f8 kind:function(arm,size=0x94) addr:0x020737f8
|
||||
func_ov000_0207388c kind:function(arm,size=0x124) addr:0x0207388c
|
||||
func_ov000_020739b0 kind:function(arm,size=0x1ac) addr:0x020739b0
|
||||
func_ov000_02073b5c kind:function(arm,size=0x64) addr:0x02073b5c
|
||||
_ZN21UnkStruct_027e09b8_0019func_ov000_02073b5cEv kind:function(arm,size=0x64) addr:0x02073b5c
|
||||
func_ov000_02073bc0 kind:function(arm,size=0x114) addr:0x02073bc0
|
||||
func_ov000_02073cd4 kind:function(arm,size=0x3c) addr:0x02073cd4
|
||||
func_ov000_02073d10 kind:function(arm,size=0x170) addr:0x02073d10
|
||||
@@ -1159,7 +1159,7 @@ func_ov000_0207446c kind:function(arm,size=0xc4) addr:0x0207446c
|
||||
func_ov000_02074530 kind:function(arm,size=0xbc) addr:0x02074530
|
||||
_ZN19func_ov000_020745ecD1Ev kind:function(arm,size=0x28) addr:0x020745ec
|
||||
_ZN19func_ov000_02074614D0Ev kind:function(arm,size=0x30) addr:0x02074614
|
||||
func_ov000_02074644 kind:function(arm,size=0x6c) addr:0x02074644
|
||||
_ZN21UnkStruct_027e09b8_10C1Ev kind:function(arm,size=0x6c) addr:0x02074644
|
||||
func_ov000_020746b0 kind:function(arm,size=0x8) addr:0x020746b0
|
||||
func_ov000_020746b8 kind:function(arm,size=0xc) addr:0x020746b8
|
||||
func_ov000_020746c4 kind:function(arm,size=0x50) addr:0x020746c4
|
||||
@@ -1183,7 +1183,7 @@ func_ov000_02074f74 kind:function(arm,size=0x38) addr:0x02074f74
|
||||
func_ov000_02074fac kind:function(arm,size=0x28) addr:0x02074fac
|
||||
func_ov000_02074fd4 kind:function(arm,size=0x14) addr:0x02074fd4
|
||||
_ZN19func_ov000_02074fe8D0Ev kind:function(arm,size=0x40) addr:0x02074fe8
|
||||
func_ov000_02075028 kind:function(arm,size=0x54) addr:0x02075028
|
||||
_ZN25UnkSystem1_ov000_Derived3C1Ev kind:function(arm,size=0x54) addr:0x02075028
|
||||
func_ov000_0207507c kind:function(arm,size=0x80) addr:0x0207507c
|
||||
func_ov000_020750fc kind:function(arm,size=0x28) addr:0x020750fc
|
||||
func_ov000_02075124 kind:function(arm,size=0x38) addr:0x02075124
|
||||
@@ -1222,7 +1222,7 @@ func_ov000_0207715c kind:function(arm,size=0x2c) addr:0x0207715c
|
||||
func_ov000_02077188 kind:function(arm,size=0x14) addr:0x02077188
|
||||
func_ov000_0207719c kind:function(arm,size=0x1c) addr:0x0207719c
|
||||
func_ov000_020771b8 kind:function(arm,size=0x10) addr:0x020771b8
|
||||
func_ov000_020771c8 kind:function(arm,size=0x188) addr:0x020771c8
|
||||
_ZN18UnkStruct_027e09bc19func_ov000_020771c8Ev kind:function(arm,size=0x188) addr:0x020771c8
|
||||
func_ov000_02077350 kind:function(arm,size=0xf4) addr:0x02077350
|
||||
func_ov000_02077444 kind:function(arm,size=0x24) addr:0x02077444
|
||||
func_ov000_02077468 kind:function(arm,size=0x18) addr:0x02077468
|
||||
@@ -1454,7 +1454,7 @@ func_ov000_0207d898 kind:function(arm,size=0x5c) addr:0x0207d898
|
||||
func_ov000_0207d8f4 kind:function(arm,size=0x6c) addr:0x0207d8f4
|
||||
func_ov000_0207d960 kind:function(arm,size=0x98) addr:0x0207d960
|
||||
func_ov000_0207d9f8 kind:function(arm,size=0x48) addr:0x0207d9f8
|
||||
func_ov000_0207da40 kind:function(arm,size=0x20c) addr:0x0207da40
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207da40
|
||||
func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207dc4c
|
||||
func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc64
|
||||
func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dc88
|
||||
@@ -1534,20 +1534,20 @@ func_ov000_0207faac kind:function(arm,size=0x8) addr:0x0207faac
|
||||
func_ov000_0207fab4 kind:function(arm,size=0x8) addr:0x0207fab4
|
||||
func_ov000_0207fabc kind:function(arm,size=0x10) addr:0x0207fabc
|
||||
func_ov000_0207facc kind:function(arm,size=0x64) addr:0x0207facc
|
||||
func_ov000_0207fb30 kind:function(arm,size=0x30) addr:0x0207fb30
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_00C1EP12ZMBEntryARAB kind:function(arm,size=0x30) addr:0x0207fb30
|
||||
func_ov000_0207fb60 kind:function(arm,size=0x30) addr:0x0207fb60
|
||||
func_ov000_0207fb90 kind:function(arm,size=0x8) addr:0x0207fb90
|
||||
func_ov000_0207fb98 kind:function(arm,size=0x38) addr:0x0207fb98
|
||||
func_ov000_0207fbd0 kind:function(arm,size=0x40) addr:0x0207fbd0
|
||||
func_ov000_0207fc10 kind:function(arm,size=0x44) addr:0x0207fc10
|
||||
func_ov000_0207fc54 kind:function(arm,size=0x3c) addr:0x0207fc54
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_01C1EP12ZMBEntryARAB kind:function(arm,size=0x44) addr:0x0207fc10
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_02C1EP12ZMBEntryARAB kind:function(arm,size=0x3c) addr:0x0207fc54
|
||||
func_ov000_0207fc90 kind:function(arm,size=0x3c) addr:0x0207fc90
|
||||
func_ov000_0207fccc kind:function(arm,size=0x44) addr:0x0207fccc
|
||||
func_ov000_0207fd10 kind:function(arm,size=0x4) addr:0x0207fd10
|
||||
func_ov000_0207fd14 kind:function(arm,size=0x4) addr:0x0207fd14
|
||||
func_ov000_0207fd18 kind:function(arm,size=0x28) addr:0x0207fd18
|
||||
func_ov000_0207fd40 kind:function(arm,size=0x38) addr:0x0207fd40
|
||||
func_ov000_0207fd78 kind:function(arm,size=0x4) addr:0x0207fd78
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_24Ev kind:function(arm,size=0x4) addr:0x0207fd10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_10Ev kind:function(arm,size=0x4) addr:0x0207fd14
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_0CEv kind:function(arm,size=0x28) addr:0x0207fd18
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_14Ev kind:function(arm,size=0x38) addr:0x0207fd40
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_18Ev kind:function(arm,size=0x4) addr:0x0207fd78
|
||||
Unknown_func_ov000_0207fd7c kind:function(arm,size=0x40) addr:0x0207fd7c
|
||||
func_ov000_0207fdbc kind:function(arm,size=0x250) addr:0x0207fdbc
|
||||
func_ov000_0208000c kind:function(arm,size=0x5c) addr:0x0208000c
|
||||
@@ -1555,30 +1555,30 @@ func_ov000_02080068 kind:function(arm,size=0x18) addr:0x02080068
|
||||
func_ov000_02080080 kind:function(arm,size=0x18) addr:0x02080080
|
||||
func_ov000_02080098 kind:function(arm,size=0xc8) addr:0x02080098
|
||||
func_ov000_02080160 kind:function(arm,size=0x20) addr:0x02080160
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02080180
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02080180
|
||||
func_ov000_02080190 kind:function(arm,size=0x20) addr:0x02080190
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x020801b0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x020801b0
|
||||
func_ov000_02080210 kind:function(arm,size=0x78) addr:0x02080210
|
||||
func_ov000_02080288 kind:function(arm,size=0x64) addr:0x02080288
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020802ec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020802ec
|
||||
func_ov000_02080364 kind:function(arm,size=0x88) addr:0x02080364
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x020803ec
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x0208053c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x020803ec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x0208053c
|
||||
func_ov000_02080620 kind:function(arm,size=0x38) addr:0x02080620
|
||||
func_ov000_02080658 kind:function(arm,size=0xd8) addr:0x02080658
|
||||
func_ov000_02080730 kind:function(arm,size=0x64) addr:0x02080730
|
||||
func_ov000_02080794 kind:function(arm,size=0xac) addr:0x02080794
|
||||
func_ov000_02080840 kind:function(arm,size=0x6c) addr:0x02080840
|
||||
func_ov000_020808ac kind:function(arm,size=0x20) addr:0x020808ac
|
||||
func_ov000_020808cc kind:function(arm,size=0x8) addr:0x020808cc
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x020808ac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x020808cc
|
||||
func_ov000_020808d4 kind:function(arm,size=0x20) addr:0x020808d4
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x020808f4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x020808f4
|
||||
func_ov000_02080950 kind:function(arm,size=0x48) addr:0x02080950
|
||||
func_ov000_02080998 kind:function(arm,size=0x40) addr:0x02080998
|
||||
func_ov000_020809d8 kind:function(arm,size=0x6c) addr:0x020809d8
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x02080a44
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a5cEP7VecFx32 kind:function(arm,size=0x1c) addr:0x02080a5c
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a78EP7VecFx32 kind:function(arm,size=0x18) addr:0x02080a78
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x02080a44
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a5cEP7VecFx32 kind:function(arm,size=0x1c) addr:0x02080a5c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a78EP7VecFx32 kind:function(arm,size=0x18) addr:0x02080a78
|
||||
func_ov000_02080a90 kind:function(arm,size=0x1c) addr:0x02080a90
|
||||
func_ov000_02080aac kind:function(arm,size=0x18) addr:0x02080aac
|
||||
func_ov000_02080ac4 kind:function(arm,size=0x68) addr:0x02080ac4
|
||||
@@ -1593,11 +1593,11 @@ func_ov000_020810b8 kind:function(arm,size=0x7c) addr:0x020810b8
|
||||
func_ov000_02081134 kind:function(arm,size=0x4) addr:0x02081134
|
||||
func_ov000_02081138 kind:function(arm,size=0x18) addr:0x02081138
|
||||
func_ov000_02081150 kind:function(arm,size=0x70) addr:0x02081150
|
||||
func_ov000_020811c0 kind:function(arm,size=0xb0) addr:0x020811c0
|
||||
func_ov000_02081270 kind:function(arm,size=0x24) addr:0x02081270
|
||||
_ZN21UnkStruct_027e0cd8_04C1Ev kind:function(arm,size=0xb0) addr:0x020811c0
|
||||
_ZN21UnkStruct_027e0cd8_04D1Ev kind:function(arm,size=0x24) addr:0x02081270
|
||||
func_ov000_02081294 kind:function(arm,size=0x6c) addr:0x02081294
|
||||
func_ov000_02081300 kind:function(arm,size=0x54) addr:0x02081300
|
||||
func_ov000_02081354 kind:function(arm,size=0x118) addr:0x02081354
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_02081354EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8P28SaveFile_00000_0000_Data_184b kind:function(arm,size=0x118) addr:0x02081354
|
||||
func_ov000_0208146c kind:function(arm,size=0x80) addr:0x0208146c
|
||||
func_ov000_020814ec kind:function(arm,size=0x34) addr:0x020814ec
|
||||
func_ov000_02081520 kind:function(arm,size=0x54) addr:0x02081520
|
||||
@@ -1629,7 +1629,7 @@ func_ov000_02081b84 kind:function(arm,size=0x18) addr:0x02081b84
|
||||
func_ov000_02081b9c kind:function(arm,size=0x58) addr:0x02081b9c
|
||||
func_ov000_02081bf4 kind:function(arm,size=0x34) addr:0x02081bf4
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081c28Ev kind:function(arm,size=0x78) addr:0x02081c28
|
||||
func_ov000_02081ca0 kind:function(arm,size=0xa8) addr:0x02081ca0
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081ca0Ev kind:function(arm,size=0xa8) addr:0x02081ca0
|
||||
func_ov000_02081d48 kind:function(arm,size=0x10) addr:0x02081d48
|
||||
func_ov000_02081d58 kind:function(arm,size=0x4) addr:0x02081d58
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081d5cEv kind:function(arm,size=0x20) addr:0x02081d5c
|
||||
@@ -1654,12 +1654,12 @@ _ZN19func_ov000_02082300D0Ev kind:function(arm,size=0x1c) addr:0x02082300
|
||||
_ZN19func_ov000_0208231cD2Ev kind:function(arm,size=0x14) addr:0x0208231c
|
||||
func_ov000_02082330 kind:function(arm,size=0x4) addr:0x02082330
|
||||
func_ov000_02082334 kind:function(arm,size=0x8) addr:0x02082334
|
||||
func_ov000_0208233c kind:function(arm,size=0x1c) addr:0x0208233c
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_88C1Ev kind:function(arm,size=0x1c) addr:0x0208233c
|
||||
func_ov000_02082358 kind:function(arm,size=0x20) addr:0x02082358
|
||||
func_ov000_02082378 kind:function(arm,size=0x30) addr:0x02082378
|
||||
func_ov000_020823a8 kind:function(arm,size=0x258) addr:0x020823a8
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_020823a8Ei kind:function(arm,size=0x258) addr:0x020823a8
|
||||
func_ov000_02082600 kind:function(arm,size=0x1c) addr:0x02082600
|
||||
func_ov000_0208261c kind:function(arm,size=0x68) addr:0x0208261c
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_0208261cEv kind:function(arm,size=0x68) addr:0x0208261c
|
||||
func_ov000_02082684 kind:function(arm,size=0x34) addr:0x02082684
|
||||
func_ov000_020826b8 kind:function(arm,size=0x90) addr:0x020826b8
|
||||
func_ov000_02082748 kind:function(arm,size=0x14) addr:0x02082748
|
||||
@@ -2962,12 +2962,12 @@ func_ov000_020a77d0 kind:function(arm,size=0x5c) addr:0x020a77d0
|
||||
_Z22Cutscene_GetParamEntryi kind:function(arm,size=0x14) addr:0x020a782c
|
||||
func_ov000_020a7840 kind:function(arm,size=0x84) addr:0x020a7840
|
||||
_Z27Cutscene_IsAdventureFlagSeti kind:function(arm,size=0x44) addr:0x020a78c4
|
||||
func_ov000_020a7908 kind:function(arm,size=0xdc) addr:0x020a7908
|
||||
_ZN21UnkStruct_027e09b8_98C1Ev kind:function(arm,size=0xdc) addr:0x020a7908
|
||||
func_ov000_020a79e4 kind:function(arm,size=0x6c) addr:0x020a79e4
|
||||
func_ov000_020a7a50 kind:function(arm,size=0x20) addr:0x020a7a50
|
||||
func_ov000_020a7a70 kind:function(arm,size=0xa8) addr:0x020a7a70
|
||||
_ZN21UnkStruct_027e09b8_98D1Ev kind:function(arm,size=0xa8) addr:0x020a7a70
|
||||
func_ov000_020a7b18 kind:function(arm,size=0x1c) addr:0x020a7b18
|
||||
func_ov000_020a7b34 kind:function(arm,size=0x74) addr:0x020a7b34
|
||||
_ZN21UnkStruct_027e09b8_9819func_ov000_020a7b34Ev kind:function(arm,size=0x74) addr:0x020a7b34
|
||||
func_ov000_020a7ba8 kind:function(arm,size=0x98) addr:0x020a7ba8
|
||||
func_ov000_020a7c40 kind:function(arm,size=0x4c) addr:0x020a7c40
|
||||
func_ov000_020a7c8c kind:function(arm,size=0x24) addr:0x020a7c8c
|
||||
@@ -3503,10 +3503,10 @@ data_ov000_020b2244 kind:data(any) addr:0x020b2244
|
||||
data_ov000_020b2264 kind:data(any) addr:0x020b2264
|
||||
data_ov000_020b2290 kind:data(any) addr:0x020b2290
|
||||
data_ov000_020b22a8 kind:data(any) addr:0x020b22a8
|
||||
data_ov000_020b22c0 kind:data(any) addr:0x020b22c0
|
||||
_ZTV21UnkStruct_027e09b8_04 kind:data(any) addr:0x020b22b8
|
||||
data_ov000_020b22ec kind:data(any) addr:0x020b22ec
|
||||
_ZTV19data_ov000_020b2314 kind:data(any) addr:0x020b2314
|
||||
data_ov000_020b234c kind:data(any) addr:0x020b234c
|
||||
_ZTV21UnkStruct_027e09b8_0C kind:data(any) addr:0x020b2344
|
||||
data_ov000_020b2378 kind:data(any) addr:0x020b2378
|
||||
_ZTV19data_ov000_020b237c kind:data(any) addr:0x020b237c
|
||||
_ZTV19data_ov000_020b2398 kind:data(any) addr:0x020b2398
|
||||
@@ -3546,7 +3546,7 @@ data_ov000_020b28e0 kind:data(any) addr:0x020b28e0
|
||||
data_ov000_020b28f8 kind:data(any) addr:0x020b28f8
|
||||
data_ov000_020b290c kind:data(any) addr:0x020b290c
|
||||
data_ov000_020b2920 kind:data(any) addr:0x020b2920
|
||||
data_ov000_020b2940 kind:data(any) addr:0x020b2940
|
||||
_ZTV10UnkSystem8 kind:data(any) addr:0x020b2938
|
||||
data_ov000_020b294c kind:data(any) addr:0x020b294c
|
||||
data_ov000_020b2954 kind:data(any) addr:0x020b2954
|
||||
data_ov000_020b2964 kind:data(any) addr:0x020b2964
|
||||
|
||||
@@ -18,16 +18,20 @@ src/001_SceneInit/CourseList.cpp:
|
||||
.bss start:0x020c2fe0 end:0x020c40e8
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e09b8_001.cpp:
|
||||
complete
|
||||
.text start:0x020b755c end:0x020b776c
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_001.cpp:
|
||||
complete
|
||||
.text start:0x020b776c end:0x020b81e0
|
||||
.data start:0x020c2970 end:0x020c29f4
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp:
|
||||
.text start:0x020b81e0 end:0x020b8e74
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp:
|
||||
.text start:0x020b8e74 end:0x020b9270
|
||||
.text start:0x020b81e0 end:0x020b9270
|
||||
.init start:0x020c2838 end:0x020c28f0
|
||||
.ctor start:0x020c2904 end:0x020c2908
|
||||
.bss start:0x020c40e8 end:0x020c46f4
|
||||
.data start:0x020c29f4 end:0x020c2b3c
|
||||
|
||||
src/001_SceneInit/ZeldaArrangeBinary.cpp:
|
||||
.text start:0x020b9270 end:0x020b94b0
|
||||
|
||||
@@ -314,8 +314,8 @@ from:0x020b7620 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b7628 kind:thumb_call_arm to:0x02074644 module:overlay(0)
|
||||
from:0x020b7634 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b763c kind:thumb_call_arm to:0x020a7908 module:overlay(0)
|
||||
from:0x020b7650 kind:load to:0x020b22c0 module:overlay(0)
|
||||
from:0x020b7654 kind:load to:0x020b234c module:overlay(0)
|
||||
from:0x020b7650 kind:load to:0x020b22b8 module:overlay(0) add:0x8
|
||||
from:0x020b7654 kind:load to:0x020b2344 module:overlay(0) add:0x8
|
||||
from:0x020b7658 kind:load to:0x0204a088 module:main
|
||||
from:0x020b767e kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b7690 kind:thumb_call_arm to:0x020a7a70 module:overlay(0)
|
||||
@@ -324,7 +324,7 @@ from:0x020b76a4 kind:thumb_call to:0x020b7760 module:overlay(1)
|
||||
from:0x020b76bc kind:load to:0x02028c60 module:main
|
||||
from:0x020b76cc kind:thumb_call_arm to:0x02073080 module:overlay(0)
|
||||
from:0x020b76d8 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b76e2 kind:thumb_call_arm to:0x02165974 module:overlays(88,91)
|
||||
from:0x020b76e2 kind:thumb_call_arm to:0x02165974 module:overlay(88)
|
||||
from:0x020b76ee kind:thumb_call_arm to:0x02073610 module:overlay(0)
|
||||
from:0x020b76f4 kind:thumb_call to:0x020be998 module:overlay(1)
|
||||
from:0x020b76fc kind:load to:0x020b504c module:overlay(0)
|
||||
@@ -339,7 +339,7 @@ from:0x020b777c kind:thumb_call to:0x020b7784 module:overlay(1)
|
||||
from:0x020b7788 kind:thumb_call to:0x020b81c8 module:overlay(1)
|
||||
from:0x020b77a2 kind:thumb_call_arm to:0x0201667c module:main
|
||||
from:0x020b77be kind:thumb_call_arm to:0x020166f4 module:main
|
||||
from:0x020b77e4 kind:load to:0x020b2940 module:overlay(0)
|
||||
from:0x020b77e4 kind:load to:0x020b2938 module:overlay(0) add:0x8
|
||||
from:0x020b77e8 kind:load to:0x027e09bc module:dtcm
|
||||
from:0x020b77f8 kind:thumb_call_arm to:0x02081270 module:overlay(0)
|
||||
from:0x020b77fe kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -433,7 +433,7 @@ from:0x020b7c36 kind:thumb_call_arm to:0x02082124 module:overlay(0)
|
||||
from:0x020b7c9e kind:thumb_call to:0x020b803c module:overlay(1)
|
||||
from:0x020b7ca4 kind:thumb_call to:0x020b7e50 module:overlay(1)
|
||||
from:0x020b7cba kind:thumb_call_arm to:0x020c0f9c module:overlay(1)
|
||||
from:0x020b7cc2 kind:thumb_call_arm to:0x021612ac module:overlays(84,60)
|
||||
from:0x020b7cc2 kind:thumb_call_arm to:0x021612ac module:overlay(84)
|
||||
from:0x020b7cd0 kind:thumb_call_arm to:0x02081520 module:overlay(0)
|
||||
from:0x020b7cd8 kind:thumb_call_arm to:0x020814ec module:overlay(0)
|
||||
from:0x020b7cf8 kind:thumb_call to:0x020b7d64 module:overlay(1)
|
||||
@@ -441,7 +441,7 @@ from:0x020b7d02 kind:thumb_call to:0x020b7e68 module:overlay(1)
|
||||
from:0x020b7d20 kind:thumb_call_arm to:0x02081d5c module:overlay(0)
|
||||
from:0x020b7d2c kind:thumb_call_arm to:0x020cafd8 module:overlay(24)
|
||||
from:0x020b7d3a kind:thumb_call_arm to:0x020cb000 module:overlay(24)
|
||||
from:0x020b7d44 kind:load to:0x02164690 module:overlays(59,63,68,73,84)
|
||||
from:0x020b7d44 kind:load to:0x02164690 module:overlay(84)
|
||||
from:0x020b7d58 kind:load to:0x0216122c module:overlays(84,62,66)
|
||||
from:0x020b7d5c kind:load to:0x027e09a4 module:dtcm
|
||||
from:0x020b7d60 kind:load to:0x020d8694 module:overlay(24)
|
||||
@@ -539,7 +539,7 @@ from:0x020b8218 kind:thumb_call to:0x02015550 module:main
|
||||
from:0x020b822c kind:thumb_call_arm to:0x0208233c module:overlay(0)
|
||||
from:0x020b83be kind:thumb_call to:0x020baea0 module:overlay(1)
|
||||
from:0x020b83c6 kind:thumb_call to:0x020592a0 module:overlay(0)
|
||||
from:0x020b83d0 kind:load to:0x020c29fc module:overlay(1)
|
||||
from:0x020b83d0 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b83d4 kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020b83d8 kind:load to:0x027e0ca8 module:dtcm
|
||||
from:0x020b83dc kind:load to:0x027e0c9c module:dtcm
|
||||
@@ -559,7 +559,7 @@ from:0x020b8466 kind:thumb_call to:0x020b8efc module:overlay(1)
|
||||
from:0x020b846e kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b8476 kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b847c kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b8484 kind:load to:0x020c29fc module:overlay(1)
|
||||
from:0x020b8484 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b8488 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b848c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b849c kind:thumb_call to:0x020592ec module:overlay(0)
|
||||
@@ -573,7 +573,7 @@ from:0x020b8506 kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b850e kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b8514 kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b851a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b8524 kind:load to:0x020c29fc module:overlay(1)
|
||||
from:0x020b8524 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b8528 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b852c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b853c kind:thumb_call to:0x020592ec module:overlay(0)
|
||||
@@ -586,7 +586,7 @@ from:0x020b859e kind:thumb_call to:0x020b8efc module:overlay(1)
|
||||
from:0x020b85a6 kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b85ae kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b85b4 kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b85bc kind:load to:0x020c29fc module:overlay(1)
|
||||
from:0x020b85bc kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b85c0 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b85c4 kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b85f0 kind:thumb_call_arm to:0x02026800 module:main
|
||||
@@ -687,7 +687,7 @@ from:0x020b8d98 kind:load to:0x027e09a4 module:dtcm
|
||||
from:0x020b8d9c kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020b8e20 kind:load to:0x020823a8 module:overlay(0)
|
||||
from:0x020b8e42 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b8e4a kind:thumb_call_arm to:0x021304a0 module:overlays(47,48,49,50,51,52)
|
||||
from:0x020b8e4a kind:thumb_call_arm to:0x021304a0 module:overlay(47)
|
||||
from:0x020b8e62 kind:thumb_call_arm to:0x02130504 module:overlay(47)
|
||||
from:0x020b8e68 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b8e7c kind:thumb_call to:0x020b8f18 module:overlay(1)
|
||||
@@ -2315,12 +2315,9 @@ from:0x020c09ee kind:thumb_call_arm to:0x020c1014 module:overlay(1)
|
||||
from:0x020c0a18 kind:load to:0x020c099d module:overlay(1)
|
||||
from:0x020c0a1c kind:load to:0x020c09c1 module:overlay(1)
|
||||
from:0x020c0a20 kind:load to:0x020c46fc module:overlay(1)
|
||||
from:0x020c0ad4 kind:load to:0x020c2a18 module:overlay(1)
|
||||
from:0x020c0b8c kind:load to:0x020c2a90 module:overlay(1)
|
||||
from:0x020c0c40 kind:load to:0x020c2f4c module:overlay(1)
|
||||
from:0x020c0c44 kind:load to:0x020c2928 module:overlays(2,4)
|
||||
from:0x020c0cf8 kind:load to:0x020c2fc4 module:overlay(1)
|
||||
from:0x020c0cfc kind:load to:0x020c29a0 module:overlay(1)
|
||||
from:0x020c0e9c kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c0f14 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c0f8c kind:load to:0x020c4701 module:overlay(1)
|
||||
@@ -2337,9 +2334,6 @@ from:0x020c1680 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c168c kind:load to:0x020c273c module:overlay(1)
|
||||
from:0x020c16f8 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c1718 kind:load to:0x020c1528 add:0x1400 module:overlay(1)
|
||||
from:0x020c1720 kind:load to:0x020c29a0 module:overlay(1)
|
||||
from:0x020c1728 kind:load to:0x020c2a18 module:overlay(1)
|
||||
from:0x020c1730 kind:load to:0x020c2a90 module:overlay(1)
|
||||
from:0x020c18a4 kind:load to:0x020c4700 module:overlay(1)
|
||||
from:0x020c1930 kind:load to:0x020c4700 module:overlay(1)
|
||||
from:0x020c19c0 kind:load to:0x020c4700 module:overlay(1)
|
||||
@@ -2375,9 +2369,9 @@ from:0x020c28d4 kind:load to:0x020c40f4 module:overlay(1)
|
||||
from:0x020c28d8 kind:load to:0x020b9259 module:overlay(1)
|
||||
from:0x020c28dc kind:load to:0x020c40e8 module:overlay(1)
|
||||
from:0x020c28e0 kind:load to:0x020c2a40 module:overlay(1)
|
||||
from:0x020c28e4 kind:load to:0x020c2a54 module:overlay(1)
|
||||
from:0x020c28e8 kind:load to:0x020c2a68 module:overlay(1)
|
||||
from:0x020c28ec kind:load to:0x020c2a7c module:overlay(1)
|
||||
from:0x020c28e4 kind:load to:0x020c2a40 add:0x14 module:overlay(1)
|
||||
from:0x020c28e8 kind:load to:0x020c2a40 add:0x28 module:overlay(1)
|
||||
from:0x020c28ec kind:load to:0x020c2a40 add:0x3c module:overlay(1)
|
||||
from:0x020c28fc kind:load to:0x020c2fd4 module:overlay(1)
|
||||
from:0x020c2900 kind:load to:0x020c2815 module:overlay(1)
|
||||
from:0x020c2904 kind:load to:0x020c2839 module:overlay(1)
|
||||
|
||||
@@ -43,77 +43,77 @@ _ZN18UnkStruct_027e09a015InitCourseTableEv kind:function(thumb,size=0x32) addr:0
|
||||
_ZN8InstanceI18UnkStruct_027e09a0EC2Ev kind:function(thumb,size=0xc) addr:0x020b7544
|
||||
_ZN8InstanceI18UnkStruct_027e09a0ED2Ev kind:function(thumb,size=0xc) addr:0x020b7550
|
||||
_ZN18UnkStruct_027e09b86CreateEv kind:function(thumb,size=0x16) addr:0x020b755c
|
||||
func_ov001_020b7574 kind:function(thumb,size=0xec) addr:0x020b7574
|
||||
_ZN18UnkStruct_027e09b8C1Ev kind:function(thumb,size=0xec) addr:0x020b7574
|
||||
_ZN18UnkStruct_027e09b8D1Ev kind:function(thumb,size=0x4c) addr:0x020b7660
|
||||
func_ov001_020b76ac kind:function(thumb,size=0x14) addr:0x020b76ac
|
||||
_ZN18UnkStruct_027e09b820ImportAdventureFlagsEPj kind:function(thumb,size=0x14) addr:0x020b76ac
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b76c0Ej kind:function(thumb,size=0x40) addr:0x020b76c0
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b7700Ev kind:function(thumb,size=0x28) addr:0x020b7700
|
||||
func_ov001_020b7728 kind:function(thumb,size=0x2c) addr:0x020b7728
|
||||
func_ov001_020b7754 kind:function(thumb,size=0xc) addr:0x020b7754
|
||||
func_ov001_020b7760 kind:function(thumb,size=0xc) addr:0x020b7760
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b7728Ev kind:function(thumb,size=0x2c) addr:0x020b7728
|
||||
_ZN8InstanceI18UnkStruct_027e09b8EC2Ev kind:function(thumb,size=0xc) addr:0x020b7754
|
||||
_ZN8InstanceI18UnkStruct_027e09b8ED2Ev kind:function(thumb,size=0xc) addr:0x020b7760
|
||||
_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b776c
|
||||
func_ov001_020b7784 kind:function(thumb,size=0x68) addr:0x020b7784
|
||||
_ZN18UnkStruct_027e0cd8C1Ev kind:function(thumb,size=0x68) addr:0x020b7784
|
||||
_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b77ec
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b7830
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b7830
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b7a7c
|
||||
func_ov001_020b7b38 kind:function(thumb,size=0xd0) addr:0x020b7b38
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EP22UnkStruct_SceneChange1P21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x15c) addr:0x020b7c08
|
||||
func_ov001_020b7d64 kind:function(thumb,size=0xec) addr:0x020b7d64
|
||||
func_ov001_020b7e50 kind:function(thumb,size=0x16) addr:0x020b7e50
|
||||
func_ov001_020b7e68 kind:function(thumb,size=0x1d4) addr:0x020b7e68
|
||||
func_ov001_020b803c kind:function(thumb,size=0xc0) addr:0x020b803c
|
||||
func_ov001_020b80fc kind:function(thumb,size=0x24) addr:0x020b80fc
|
||||
func_ov001_020b8120 kind:function(thumb,size=0x6c) addr:0x020b8120
|
||||
func_ov001_020b818c kind:function(thumb,size=0x3c) addr:0x020b818c
|
||||
func_ov001_020b81c8 kind:function(thumb,size=0xc) addr:0x020b81c8
|
||||
func_ov001_020b81d4 kind:function(thumb,size=0xc) addr:0x020b81d4
|
||||
_ZN21UnkStruct_027e0cd8_0cC1Ev kind:function(thumb,size=0x218) addr:0x020b81e0
|
||||
func_ov001_020b83f8 kind:function(thumb,size=0x98) addr:0x020b83f8
|
||||
func_ov001_020b8490 kind:function(thumb,size=0xa0) addr:0x020b8490
|
||||
func_ov001_020b8530 kind:function(thumb,size=0x98) addr:0x020b8530
|
||||
func_ov001_020b85c8 kind:function(thumb,size=0x2) addr:0x020b85c8
|
||||
func_ov001_020b85cc kind:function(thumb,size=0x2) addr:0x020b85cc
|
||||
func_ov001_020b85d0 kind:function(thumb,size=0x2f0) addr:0x020b85d0
|
||||
func_ov001_020b88c0 kind:function(thumb,size=0x2c) addr:0x020b88c0
|
||||
func_ov001_020b88ec kind:function(thumb,size=0x60) addr:0x020b88ec
|
||||
func_ov001_020b894c kind:function(thumb,size=0xe0) addr:0x020b894c
|
||||
func_ov001_020b8a2c kind:function(thumb,size=0x2c) addr:0x020b8a2c
|
||||
func_ov001_020b8a58 kind:function(thumb,size=0x2) addr:0x020b8a58
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020b8a5c
|
||||
func_ov001_020b8aec kind:function(thumb,size=0xa8) addr:0x020b8aec
|
||||
func_ov001_020b8b94 kind:function(thumb,size=0x9c) addr:0x020b8b94
|
||||
func_ov001_020b8c30 kind:function(thumb,size=0x4e) addr:0x020b8c30
|
||||
func_ov001_020b8c80 kind:function(thumb,size=0x10) addr:0x020b8c80
|
||||
func_ov001_020b8c90 kind:function(thumb,size=0x8) addr:0x020b8c90
|
||||
func_ov001_020b8c98 kind:function(thumb,size=0x8) addr:0x020b8c98
|
||||
func_ov001_020b8ca0 kind:function(thumb,size=0x8) addr:0x020b8ca0
|
||||
func_ov001_020b8ca8 kind:function(thumb,size=0x2) addr:0x020b8ca8
|
||||
func_ov001_020b8cac kind:function(thumb,size=0xfc) addr:0x020b8cac
|
||||
func_ov001_020b8da8 kind:function(thumb,size=0xe) addr:0x020b8da8
|
||||
func_ov001_020b8db8 kind:function(thumb,size=0x6c) addr:0x020b8db8
|
||||
func_ov001_020b8e24 kind:function(thumb,size=0x30) addr:0x020b8e24
|
||||
func_ov001_020b8e54 kind:function(thumb,size=0x20) addr:0x020b8e54
|
||||
func_ov001_020b8e74 kind:function(thumb,size=0x18) addr:0x020b8e74
|
||||
func_ov001_020b8e8c kind:function(thumb,size=0x1c) addr:0x020b8e8c
|
||||
func_ov001_020b8ea8 kind:function(thumb,size=0x3c) addr:0x020b8ea8
|
||||
func_ov001_020b8ee4 kind:function(thumb,size=0x18) addr:0x020b8ee4
|
||||
func_ov001_020b8efc kind:function(thumb,size=0x1c) addr:0x020b8efc
|
||||
func_ov001_020b8f18 kind:function(thumb,size=0x80) addr:0x020b8f18
|
||||
func_ov001_020b8f98 kind:function(thumb,size=0xd4) addr:0x020b8f98
|
||||
func_ov001_020b906c kind:function(thumb,size=0x80) addr:0x020b906c
|
||||
func_ov001_020b90ec kind:function(thumb,size=0xc6) addr:0x020b90ec
|
||||
func_ov001_020b91b4 kind:function(thumb,size=0x10) addr:0x020b91b4
|
||||
func_ov001_020b91c4 kind:function(thumb,size=0x10) addr:0x020b91c4
|
||||
func_ov001_020b91d4 kind:function(thumb,size=0x24) addr:0x020b91d4
|
||||
func_ov001_020b91f8 kind:function(thumb,size=0x1c) addr:0x020b91f8
|
||||
func_ov001_020b9214 kind:function(thumb,size=0x28) addr:0x020b9214
|
||||
func_ov001_020b923c kind:function(thumb,size=0x1c) addr:0x020b923c
|
||||
func_ov001_020b9258 kind:function(thumb,size=0x18) addr:0x020b9258
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7b38EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8 kind:function(thumb,size=0xd0) addr:0x020b7b38
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK22UnkStruct_SceneChange1PK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x15c) addr:0x020b7c08
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xec) addr:0x020b7d64
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e50Ev kind:function(thumb,size=0x16) addr:0x020b7e50
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x1d4) addr:0x020b7e68
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b803cEv kind:function(thumb,size=0xc0) addr:0x020b803c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b80fcEj kind:function(thumb,size=0x24) addr:0x020b80fc
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b8120Ej kind:function(thumb,size=0x6c) addr:0x020b8120
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b818cEv kind:function(thumb,size=0x3c) addr:0x020b818c
|
||||
_ZN8InstanceI18UnkStruct_027e0cd8EC2Ev kind:function(thumb,size=0xc) addr:0x020b81c8
|
||||
_ZN8InstanceI18UnkStruct_027e0cd8ED2Ev kind:function(thumb,size=0xc) addr:0x020b81d4
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseC1EP18UnkStruct_027e0cd8 kind:function(thumb,size=0x218) addr:0x020b81e0
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD1Ev kind:function(thumb,size=0x98) addr:0x020b83f8
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD0Ev kind:function(thumb,size=0xa0) addr:0x020b8490
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD2Ev kind:function(thumb,size=0x98) addr:0x020b8530
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x020b85c8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x020b85cc
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x2f0) addr:0x020b85d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88c0Ei kind:function(thumb,size=0x2c) addr:0x020b88c0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88ecEv kind:function(thumb,size=0x60) addr:0x020b88ec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xe0) addr:0x020b894c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK22UnkStruct_SceneChange1bb kind:function(thumb,size=0x2c) addr:0x020b8a2c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_20Ev kind:function(thumb,size=0x2) addr:0x020b8a58
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020b8a5c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8aecEv kind:function(thumb,size=0xa8) addr:0x020b8aec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8b94EP12ZMBEntryARAB kind:function(thumb,size=0x9c) addr:0x020b8b94
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK33UnkStruct_027e0cd8_0C_Base_154_00 kind:function(thumb,size=0x4e) addr:0x020b8c30
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c80Ei kind:function(thumb,size=0x10) addr:0x020b8c80
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90Ei kind:function(thumb,size=0x8) addr:0x020b8c90
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98Ei kind:function(thumb,size=0x8) addr:0x020b8c98
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_34Ei kind:function(thumb,size=0x8) addr:0x020b8ca0
|
||||
_ZN24UnkStruct_ov001_020c40f4D1Ev kind:function(thumb,size=0x2) addr:0x020b8ca8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_40Eh kind:function(thumb,size=0xfc) addr:0x020b8cac
|
||||
_ZN24UnkStruct_ov001_020c40f4C1Ev kind:function(thumb,size=0xe) addr:0x020b8da8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8db8Ev kind:function(thumb,size=0x6c) addr:0x020b8db8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e24Ev kind:function(thumb,size=0x30) addr:0x020b8e24
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e54Ev kind:function(thumb,size=0x20) addr:0x020b8e54
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020b8e74
|
||||
_ZN12CustomVectorI33UnkStruct_027e0cd8_0C_Base_154_00ED1Ev kind:function(thumb,size=0x1c) addr:0x020b8e8c
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE5eraseEPS1_S4_13UnkMSLStruct1 kind:function(thumb,size=0x3c) addr:0x020b8ea8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE13sub_push_backERKS1_N10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x18) addr:0x020b8ee4
|
||||
_ZN12CustomVectorIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseED1Ev kind:function(thumb,size=0x1c) addr:0x020b8efc
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020b8f18
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020b8f98
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020b906c
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE14append_reallocEmRKS1_ kind:function(thumb,size=0xc6) addr:0x020b90ec
|
||||
_ZNSt20__vec_deleter_helperI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020b91b4
|
||||
_ZNSt20__vec_deleter_helperIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x10) addr:0x020b91c4
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x24) addr:0x020b91d4
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED2Ev kind:function(thumb,size=0x1c) addr:0x020b91f8
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020b9214
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020b923c
|
||||
__arraydtor$4129 kind:function(thumb,size=0x18) addr:0x020b9258 local
|
||||
func_ov001_020b9270 kind:function(thumb,size=0x70) addr:0x020b9270
|
||||
func_ov001_020b92e0 kind:function(thumb,size=0x18c) addr:0x020b92e0
|
||||
func_ov001_020b946c kind:function(thumb,size=0x4) addr:0x020b946c
|
||||
func_ov001_020b9470 kind:function(thumb,size=0x3e) addr:0x020b9470
|
||||
func_ov001_020b94b0 kind:function(thumb,size=0x164) addr:0x020b94b0
|
||||
ZMB_ParseFile kind:function(thumb,size=0x164) addr:0x020b94b0
|
||||
func_ov001_020b9614 kind:function(thumb,size=0xe) addr:0x020b9614
|
||||
func_ov001_020b9624 kind:function(thumb,size=0xfc) addr:0x020b9624
|
||||
func_ov001_020b9720 kind:function(thumb,size=0x40) addr:0x020b9720
|
||||
@@ -154,31 +154,31 @@ func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020ba9d0
|
||||
_ZN18UnkStruct_027e09bcD1Ev kind:function(thumb,size=0x7c) addr:0x020baae0
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020bab5cEv kind:function(thumb,size=0x6c) addr:0x020bab5c
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020babc8Ev kind:function(thumb,size=0x20) addr:0x020babc8
|
||||
func_ov001_020babe8 kind:function(thumb,size=0x20) addr:0x020babe8
|
||||
func_ov001_020bac08 kind:function(thumb,size=0x20) addr:0x020bac08
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020babe8Ev kind:function(thumb,size=0x20) addr:0x020babe8
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020bac08Ev kind:function(thumb,size=0x20) addr:0x020bac08
|
||||
func_ov001_020bac28 kind:function(thumb,size=0xc) addr:0x020bac28
|
||||
func_ov001_020bac34 kind:function(thumb,size=0xc) addr:0x020bac34
|
||||
_ZN16MapObjectManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bac40
|
||||
func_ov001_020bac58 kind:function(thumb,size=0x1e) addr:0x020bac58
|
||||
_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bac78
|
||||
func_ov001_020bac9c kind:function(thumb,size=0x3c) addr:0x020bac9c
|
||||
func_ov001_020bacd8 kind:function(thumb,size=0xa8) addr:0x020bacd8
|
||||
func_ov001_020bad80 kind:function(thumb,size=0x20) addr:0x020bad80
|
||||
func_ov001_020bada0 kind:function(thumb,size=0x14) addr:0x020bada0
|
||||
func_ov001_020badb4 kind:function(thumb,size=0x2c) addr:0x020badb4
|
||||
func_ov001_020bade0 kind:function(thumb,size=0x60) addr:0x020bade0
|
||||
func_ov001_020bae40 kind:function(thumb,size=0x2c) addr:0x020bae40
|
||||
func_ov001_020bae6c kind:function(thumb,size=0x34) addr:0x020bae6c
|
||||
func_ov001_020baea0 kind:function(thumb,size=0x88) addr:0x020baea0
|
||||
func_ov001_020baf28 kind:function(thumb,size=0x22) addr:0x020baf28
|
||||
_ZN16MapObjectManager19func_ov001_020bac9cEv kind:function(thumb,size=0x3c) addr:0x020bac9c
|
||||
_ZN16MapObjectManager19func_ov001_020bacd8EP9ZOBHeader kind:function(thumb,size=0xa8) addr:0x020bacd8
|
||||
_ZN16MapObjectManager19func_ov001_020bad80Ev kind:function(thumb,size=0x20) addr:0x020bad80
|
||||
_ZN16MapObjectManager19func_ov001_020bada0Ev kind:function(thumb,size=0x14) addr:0x020bada0
|
||||
_ZN16MapObjectManager19func_ov001_020badb4Ev kind:function(thumb,size=0x2c) addr:0x020badb4
|
||||
_ZN16MapObjectManager19func_ov001_020bade0Ev kind:function(thumb,size=0x60) addr:0x020bade0
|
||||
_ZN16MapObjectManager19func_ov001_020bae40EP15ZeldaObjectList kind:function(thumb,size=0x2c) addr:0x020bae40
|
||||
_ZN16MapObjectManager19func_ov001_020bae6cEv kind:function(thumb,size=0x34) addr:0x020bae6c
|
||||
_ZN16MapObjectManager19func_ov001_020baea0EP5Vec2s kind:function(thumb,size=0x88) addr:0x020baea0
|
||||
_ZN16MapObjectManager19func_ov001_020baf28Ev kind:function(thumb,size=0x22) addr:0x020baf28
|
||||
func_ov001_020baf4c kind:function(thumb,size=0xc) addr:0x020baf4c
|
||||
func_ov001_020baf58 kind:function(thumb,size=0xc) addr:0x020baf58
|
||||
_ZN12ActorManager6CreateEv kind:function(thumb,size=0x16) addr:0x020baf64
|
||||
_ZN12ActorManagerC1Ev kind:function(thumb,size=0x46) addr:0x020baf7c
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x18) addr:0x020bafc4
|
||||
_ZN12ActorManager19func_ov001_020bafdcEv kind:function(thumb,size=0x3c) addr:0x020bafdc
|
||||
_ZN12ActorManager19func_ov001_020bb018EP36UnkStruct_func_ov001_020bb018_param2 kind:function(thumb,size=0x3fc) addr:0x020bb018
|
||||
_ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0x020bb414
|
||||
_ZN12ActorManager19func_ov001_020bb018EP9ZOBHeader kind:function(thumb,size=0x3fc) addr:0x020bb018
|
||||
_ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x020bb414
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bb488
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bb548
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bb630
|
||||
@@ -225,11 +225,11 @@ _ZN18UnkStruct_027e0ce0D1Ev kind:function(thumb,size=0x86) addr:0x020bc450
|
||||
func_ov001_020bc4d8 kind:function(thumb,size=0x4c) addr:0x020bc4d8
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc524Eb kind:function(thumb,size=0xd4) addr:0x020bc524
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc5f8Ev kind:function(thumb,size=0x62) addr:0x020bc5f8
|
||||
func_ov001_020bc65c kind:function(thumb,size=0x40) addr:0x020bc65c
|
||||
func_ov001_020bc69c kind:function(thumb,size=0x3c) addr:0x020bc69c
|
||||
func_ov001_020bc6d8 kind:function(thumb,size=0xe) addr:0x020bc6d8
|
||||
func_ov001_020bc6e8 kind:function(thumb,size=0x14) addr:0x020bc6e8
|
||||
func_ov001_020bc6fc kind:function(thumb,size=0x52) addr:0x020bc6fc
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc65cEv kind:function(thumb,size=0x40) addr:0x020bc65c
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc69cEv kind:function(thumb,size=0x3c) addr:0x020bc69c
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6d8EiPK24UnkStruct_ov001_020c40f4 kind:function(thumb,size=0xe) addr:0x020bc6d8
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6e8EPK24UnkStruct_ov001_020c40f4 kind:function(thumb,size=0x14) addr:0x020bc6e8
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6fcEPK24UnkStruct_ov001_020c40f4S2_ii kind:function(thumb,size=0x52) addr:0x020bc6fc
|
||||
func_ov001_020bc750 kind:function(thumb,size=0xc) addr:0x020bc750
|
||||
func_ov001_020bc75c kind:function(thumb,size=0xc) addr:0x020bc75c
|
||||
func_ov001_020bc768 kind:function(thumb,size=0x20) addr:0x020bc768
|
||||
@@ -264,8 +264,8 @@ _ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bd58c
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bd5b0
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bd638
|
||||
func_ov001_020bd678 kind:function(thumb,size=0x14) addr:0x020bd678
|
||||
func_ov001_020bd68c kind:function(thumb,size=0x1c) addr:0x020bd68c
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd678Ev kind:function(thumb,size=0x14) addr:0x020bd678
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd68cEv kind:function(thumb,size=0x1c) addr:0x020bd68c
|
||||
func_ov001_020bd6a8 kind:function(thumb,size=0x18) addr:0x020bd6a8
|
||||
func_ov001_020bd6c0 kind:function(thumb,size=0x38) addr:0x020bd6c0
|
||||
func_ov001_020bd6f8 kind:function(thumb,size=0x30) addr:0x020bd6f8
|
||||
@@ -287,8 +287,8 @@ func_ov001_020bd910 kind:function(thumb,size=0x24) addr:0x020bd910
|
||||
func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bd934
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bd970
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bde04
|
||||
func_ov001_020bde4c kind:function(thumb,size=0x10) addr:0x020bde4c
|
||||
func_ov001_020bde5c kind:function(thumb,size=0x10) addr:0x020bde5c
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x10) addr:0x020bde4c
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv kind:function(thumb,size=0x10) addr:0x020bde5c
|
||||
func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bde6c
|
||||
func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bde7c
|
||||
func_ov001_020bde90 kind:function(thumb,size=0x110) addr:0x020bde90
|
||||
@@ -313,14 +313,14 @@ _ZN18UnkStruct_027e09c07DestroyEv kind:function(thumb,size=0x8) addr:0x020be2ec
|
||||
func_ov001_020be2f4 kind:function(thumb,size=0xa0) addr:0x020be2f4
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be394Ev kind:function(thumb,size=0x30) addr:0x020be394
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be3c4Ev kind:function(thumb,size=0x18) addr:0x020be3c4
|
||||
func_ov001_020be3dc kind:function(thumb,size=0x24) addr:0x020be3dc
|
||||
func_ov001_020be400 kind:function(thumb,size=0x3c) addr:0x020be400
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be3dcEP14UnkFileSystem3P26UnkStruct_027e0cd8_0C_Base kind:function(thumb,size=0x24) addr:0x020be3dc
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be400Ev kind:function(thumb,size=0x3c) addr:0x020be400
|
||||
func_ov001_020be43c kind:function(thumb,size=0x20) addr:0x020be43c
|
||||
func_ov001_020be45c kind:function(thumb,size=0xc) addr:0x020be45c
|
||||
func_ov001_020be468 kind:function(thumb,size=0xc) addr:0x020be468
|
||||
func_ov001_020be474 kind:function(thumb,size=0x70) addr:0x020be474
|
||||
func_ov001_020be4e4 kind:function(thumb,size=0x1e) addr:0x020be4e4
|
||||
func_ov001_020be504 kind:function(thumb,size=0xc) addr:0x020be504
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be504Ev kind:function(thumb,size=0xc) addr:0x020be504
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be510Ev kind:function(thumb,size=0xd8) addr:0x020be510
|
||||
func_ov001_020be5e8 kind:function(thumb,size=0x80) addr:0x020be5e8
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be668Ev kind:function(thumb,size=0x70) addr:0x020be668
|
||||
@@ -330,9 +330,9 @@ func_ov001_020be79c kind:function(thumb,size=0x90) addr:0x020be79c
|
||||
func_ov001_020be82c kind:function(thumb,size=0x54) addr:0x020be82c
|
||||
func_ov001_020be880 kind:function(thumb,size=0x60) addr:0x020be880
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020be8e0
|
||||
func_ov001_020be92c kind:function(thumb,size=0x20) addr:0x020be92c
|
||||
func_ov001_020be94c kind:function(thumb,size=0x4c) addr:0x020be94c
|
||||
func_ov001_020be998 kind:function(thumb,size=0x64) addr:0x020be998
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be92cEP24UnkStruct_027e0cd8_04_0C kind:function(thumb,size=0x20) addr:0x020be92c
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be94cEv kind:function(thumb,size=0x4c) addr:0x020be94c
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be998Ev kind:function(thumb,size=0x64) addr:0x020be998
|
||||
func_ov001_020be9fc kind:function(thumb,size=0x30) addr:0x020be9fc
|
||||
func_ov001_020bea2c kind:function(thumb,size=0x14) addr:0x020bea2c
|
||||
func_ov001_020bea40 kind:function(thumb,size=0x18) addr:0x020bea40
|
||||
@@ -356,7 +356,7 @@ func_ov001_020bed34 kind:function(thumb,size=0x1c) addr:0x020bed34
|
||||
func_ov001_020bed50 kind:function(thumb,size=0x248) addr:0x020bed50
|
||||
func_ov001_020bef98 kind:function(thumb,size=0x7c) addr:0x020bef98
|
||||
func_ov001_020bf014 kind:function(thumb,size=0x14) addr:0x020bf014
|
||||
func_ov001_020bf028 kind:function(thumb,size=0x1c) addr:0x020bf028
|
||||
_ZN18UnkStruct_027e0cec19func_ov001_020bf028Ev kind:function(thumb,size=0x1c) addr:0x020bf028
|
||||
func_ov001_020bf044 kind:function(arm,size=0x38) addr:0x020bf044
|
||||
func_ov001_020bf07c kind:function(arm,size=0x10) addr:0x020bf07c
|
||||
func_ov001_020bf08c kind:function(arm,size=0x14) addr:0x020bf08c
|
||||
@@ -506,10 +506,10 @@ data_ov001_020c276c kind:data(any) addr:0x020c276c
|
||||
data_ov001_020c27a8 kind:data(any) addr:0x020c27a8
|
||||
data_ov001_020c280c kind:data(any) addr:0x020c280c
|
||||
__sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c2814 local
|
||||
__sinit_ov001_020c2838 kind:function(thumb,size=0xb8) addr:0x020c2838
|
||||
__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:function(thumb,size=0xb8) addr:0x020c2838
|
||||
__sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0
|
||||
.p__sinit_CourseList.cpp kind:data(word) addr:0x020c2900 local
|
||||
.p__sinit_ov001_020c2838 kind:data(word) addr:0x020c2904
|
||||
.p__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:data(word) addr:0x020c2904
|
||||
.p__sinit_ov001_020c28f0 kind:data(word) addr:0x020c2908
|
||||
.p__sinit_ov001_020c1104 kind:data(word) addr:0x020c290c local
|
||||
.p__sinit_ov001_020c1708 kind:data(word) addr:0x020c2910 local
|
||||
@@ -518,28 +518,23 @@ __sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0
|
||||
.p__sinit_ov001_020c2570 kind:data(word) addr:0x020c291c local
|
||||
@433 kind:data(byte[22]) addr:0x020c2940 local
|
||||
@450 kind:data(byte[22]) addr:0x020c2958 local
|
||||
data_ov001_020c2970 kind:data(any) addr:0x020c2970
|
||||
data_ov001_020c2984 kind:data(any) addr:0x020c2984
|
||||
data_ov001_020c2988 kind:data(any) addr:0x020c2988
|
||||
data_ov001_020c29a0 kind:data(any) addr:0x020c29a0
|
||||
data_ov001_020c29a4 kind:data(any) addr:0x020c29a4
|
||||
data_ov001_020c29bc kind:data(any) addr:0x020c29bc
|
||||
data_ov001_020c29d8 kind:data(any) addr:0x020c29d8
|
||||
data_ov001_020c29f0 kind:data(any) addr:0x020c29f0
|
||||
data_ov001_020c29fc kind:data(any) addr:0x020c29fc
|
||||
data_ov001_020c2a18 kind:data(any) addr:0x020c2a18
|
||||
@3570 kind:data(byte[0x12]) addr:0x020c2970 local
|
||||
@3571 kind:data(byte[0x04]) addr:0x020c2984 local
|
||||
@3572 kind:data(byte[0x1a]) addr:0x020c2988 local
|
||||
@3573 kind:data(byte[0x18]) addr:0x020c29a4 local
|
||||
@3574 kind:data(byte[0x19]) addr:0x020c29bc local
|
||||
@3575 kind:data(byte[0x17]) addr:0x020c29d8 local
|
||||
@3576 kind:data(byte[0x04]) addr:0x020c29f0 local
|
||||
_ZTV26UnkStruct_027e0cd8_0C_Base kind:data(any) addr:0x020c29f4
|
||||
data_ov001_020c2a40 kind:data(any) addr:0x020c2a40
|
||||
data_ov001_020c2a54 kind:data(any) addr:0x020c2a54
|
||||
data_ov001_020c2a68 kind:data(any) addr:0x020c2a68
|
||||
data_ov001_020c2a7c kind:data(any) addr:0x020c2a7c
|
||||
data_ov001_020c2a90 kind:data(any) addr:0x020c2a90
|
||||
data_ov001_020c2a98 kind:data(any) addr:0x020c2a98
|
||||
data_ov001_020c2aac kind:data(any) addr:0x020c2aac
|
||||
data_ov001_020c2ac0 kind:data(any) addr:0x020c2ac0
|
||||
data_ov001_020c2ad4 kind:data(any) addr:0x020c2ad4
|
||||
data_ov001_020c2af0 kind:data(any) addr:0x020c2af0
|
||||
data_ov001_020c2b0c kind:data(any) addr:0x020c2b0c
|
||||
data_ov001_020c2b24 kind:data(any) addr:0x020c2b24
|
||||
@3283 kind:data(byte[0x6]) addr:0x020c2a90 local
|
||||
@3284 kind:data(byte[0x13]) addr:0x020c2a98 local
|
||||
@3285 kind:data(byte[0x13]) addr:0x020c2aac local
|
||||
@3286 kind:data(byte[0x13]) addr:0x020c2ac0 local
|
||||
@3287 kind:data(byte[0x1b]) addr:0x020c2ad4 local
|
||||
@3288 kind:data(byte[0x1c]) addr:0x020c2af0 local
|
||||
@3292 kind:data(byte[0x17]) addr:0x020c2b0c local
|
||||
@3293 kind:data(byte[0x15]) addr:0x020c2b24 local
|
||||
data_ov001_020c2b3c kind:data(any) addr:0x020c2b3c
|
||||
data_ov001_020c2b48 kind:data(any) addr:0x020c2b48
|
||||
data_ov001_020c2b58 kind:data(any) addr:0x020c2b58
|
||||
@@ -640,8 +635,8 @@ data_ov001_020c2fcc kind:data(any) addr:0x020c2fcc
|
||||
data_ov001_020c2fd4 kind:data(any) addr:0x020c2fd4
|
||||
_ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe0
|
||||
_ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe4
|
||||
data_ov001_020c40e8 kind:bss addr:0x020c40e8
|
||||
data_ov001_020c40f4 kind:bss addr:0x020c40f4
|
||||
@4613 kind:bss addr:0x020c40e8 local
|
||||
data_ov001_020c40f4 kind:bss addr:0x020c40f4 local
|
||||
data_ov001_020c46f4 kind:bss addr:0x020c46f4
|
||||
data_ov001_020c46f8 kind:bss addr:0x020c46f8
|
||||
data_ov001_020c46fc kind:bss addr:0x020c46fc
|
||||
|
||||
@@ -41,7 +41,7 @@ _ZN27UnkStruct_027e09a4_54_Type3C1EP18UnkStruct_027e09a4 kind:function(arm,size=
|
||||
_ZN19func_ov021_020ea77cD1Ev kind:function(arm,size=0x30) addr:0x020ea77c
|
||||
_ZN19func_ov021_020ea7acD0Ev kind:function(arm,size=0x38) addr:0x020ea7ac
|
||||
func_ov021_020ea7e4 kind:function(arm,size=0xc) addr:0x020ea7e4
|
||||
func_ov021_020ea7f0 kind:function(arm,size=0x20) addr:0x020ea7f0
|
||||
_ZN30UnkStruct_027e0cd8_0C_Derived3C1EP18UnkStruct_027e0cd8 kind:function(arm,size=0x20) addr:0x020ea7f0
|
||||
func_ov021_020ea810 kind:function(arm,size=0x28) addr:0x020ea810
|
||||
_ZN19func_ov021_020ea838D1Ev kind:function(arm,size=0x14) addr:0x020ea838
|
||||
_ZN19func_ov021_020ea84cD0Ev kind:function(arm,size=0x1c) addr:0x020ea84c
|
||||
|
||||
@@ -101,7 +101,7 @@ _ZN21UnkStruct_027e0ce0_38D0Ev kind:function(arm,size=0xe4) addr:0x020dc80c
|
||||
func_ov026_020dc8f0 kind:function(arm,size=0x28) addr:0x020dc8f0
|
||||
func_ov026_020dc918 kind:function(arm,size=0x98) addr:0x020dc918
|
||||
func_ov026_020dc9b0 kind:function(arm,size=0x64) addr:0x020dc9b0
|
||||
func_ov026_020dca14 kind:function(arm,size=0x1788) addr:0x020dca14
|
||||
_ZN24UnkStruct_ov026_02138d1019func_ov026_020dca14Ev kind:function(arm,size=0x1788) addr:0x020dca14
|
||||
func_ov026_020de19c kind:function(arm,size=0x38) addr:0x020de19c
|
||||
func_ov026_020de1d4 kind:function(arm,size=0x30) addr:0x020de1d4
|
||||
func_ov026_020de204 kind:function(arm,size=0x158) addr:0x020de204
|
||||
@@ -291,8 +291,8 @@ func_ov026_020e8c74 kind:function(arm,size=0x98) addr:0x020e8c74
|
||||
func_ov026_020e8d0c kind:function(arm,size=0x364) addr:0x020e8d0c
|
||||
func_ov026_020e9070 kind:function(arm,size=0x10) addr:0x020e9070
|
||||
func_ov026_020e9080 kind:function(arm,size=0x74) addr:0x020e9080
|
||||
func_ov026_020e90f4 kind:function(arm,size=0x44) addr:0x020e90f4
|
||||
func_ov026_020e9138 kind:function(arm,size=0x48) addr:0x020e9138
|
||||
_ZN21UnkStruct_027e0cd8_10C1Ev kind:function(arm,size=0x44) addr:0x020e90f4
|
||||
_ZN21UnkStruct_027e0cd8_10D1Ev kind:function(arm,size=0x48) addr:0x020e9138
|
||||
func_ov026_020e9180 kind:function(arm,size=0x2c) addr:0x020e9180
|
||||
func_ov026_020e91ac kind:function(arm,size=0x1c) addr:0x020e91ac
|
||||
func_ov026_020e91c8 kind:function(arm,size=0x1c) addr:0x020e91c8
|
||||
@@ -1090,7 +1090,7 @@ func_ov026_021056a4 kind:function(arm,size=0x38) addr:0x021056a4
|
||||
func_ov026_021056dc kind:function(arm,size=0x38) addr:0x021056dc
|
||||
func_ov026_02105714 kind:function(arm,size=0x1c) addr:0x02105714
|
||||
func_ov026_02105730 kind:function(arm,size=0x4) addr:0x02105730
|
||||
func_ov026_02105734 kind:function(arm,size=0x1dc) addr:0x02105734
|
||||
_ZN30UnkStruct_027e0cd8_0C_Derived2C1EP18UnkStruct_027e0cd8 kind:function(arm,size=0x1dc) addr:0x02105734
|
||||
func_ov026_02105910 kind:function(arm,size=0x10c) addr:0x02105910
|
||||
_ZN19func_ov026_02105a1cD0Ev kind:function(arm,size=0x114) addr:0x02105a1c
|
||||
func_ov026_02105b30 kind:function(arm,size=0xc0) addr:0x02105b30
|
||||
@@ -1122,7 +1122,7 @@ func_ov026_02106a84 kind:function(arm,size=0x4) addr:0x02106a84
|
||||
func_ov026_02106a88 kind:function(arm,size=0x4) addr:0x02106a88
|
||||
func_ov026_02106a8c kind:function(arm,size=0x8) addr:0x02106a8c
|
||||
func_ov026_02106a94 kind:function(arm,size=0x14) addr:0x02106a94
|
||||
_ZN25UnkStruct_027e0cd8_0c_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02106aa8
|
||||
_ZN25UnkStruct_027e0cd8_0C_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02106aa8
|
||||
func_ov026_02106abc kind:function(arm,size=0x84) addr:0x02106abc
|
||||
func_ov026_02106b40 kind:function(arm,size=0x4c) addr:0x02106b40
|
||||
func_ov026_02106b8c kind:function(arm,size=0x64) addr:0x02106b8c
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func_ov047_021304a0 kind:function(arm,size=0x64) addr:0x021304a0
|
||||
func_ov047_02130504 kind:function(arm,size=0x28) addr:0x02130504
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_98C1Ev kind:function(arm,size=0x64) addr:0x021304a0
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_98D1Ev kind:function(arm,size=0x28) addr:0x02130504
|
||||
func_ov047_0213052c kind:function(arm,size=0x30) addr:0x0213052c
|
||||
func_ov047_0213055c kind:function(arm,size=0x200) addr:0x0213055c
|
||||
func_ov047_0213075c kind:function(arm,size=0x39c) addr:0x0213075c
|
||||
|
||||
@@ -2,7 +2,7 @@ func_ov088_021658a0 kind:function(arm,size=0x30) addr:0x021658a0
|
||||
_ZN19func_ov088_021658d0D1Ev kind:function(arm,size=0x34) addr:0x021658d0
|
||||
_ZN19func_ov088_02165904D0Ev kind:function(arm,size=0x3c) addr:0x02165904
|
||||
_ZN19func_ov088_02165940D2Ev kind:function(arm,size=0x34) addr:0x02165940
|
||||
func_ov088_02165974 kind:function(arm,size=0x14c) addr:0x02165974
|
||||
_ZN21UnkStruct_027e09b8_08C1EPv kind:function(arm,size=0x14c) addr:0x02165974
|
||||
func_ov088_02165ac0 kind:function(arm,size=0x84) addr:0x02165ac0
|
||||
_ZN19func_ov088_02165b44D0Ev kind:function(arm,size=0x8c) addr:0x02165b44
|
||||
func_ov088_02165bd0 kind:function(arm,size=0xc) addr:0x02165bd0
|
||||
|
||||
@@ -21,7 +21,7 @@ func_ov101_02183328 kind:function(thumb,size=0x134) addr:0x02183328
|
||||
func_ov101_0218345c kind:function(thumb,size=0x2) addr:0x0218345c
|
||||
func_ov101_02183460 kind:function(thumb,size=0xc) addr:0x02183460
|
||||
func_ov101_0218346c kind:function(thumb,size=0x12) addr:0x0218346c
|
||||
func_ov101_02183480 kind:function(thumb,size=0x68) addr:0x02183480
|
||||
_ZN21UnkStruct_027e0cd8_0CC1EP18UnkStruct_027e0cd8 kind:function(thumb,size=0x68) addr:0x02183480
|
||||
func_ov101_021834e8 kind:function(thumb,size=0xd8) addr:0x021834e8
|
||||
func_ov101_021835c0 kind:function(thumb,size=0xe0) addr:0x021835c0
|
||||
func_ov101_021836a0 kind:function(thumb,size=0xd0) addr:0x021836a0
|
||||
|
||||
@@ -526,7 +526,7 @@ func_0200e350 kind:function(arm,size=0x48) addr:0x0200e350
|
||||
func_0200e398 kind:function(arm,size=0x60) addr:0x0200e398
|
||||
func_0200e3f8 kind:function(arm,size=0x68) addr:0x0200e3f8
|
||||
func_0200e460 kind:function(arm,size=0x240) addr:0x0200e460
|
||||
func_0200e6a0 kind:function(arm,size=0xb0) addr:0x0200e6a0
|
||||
G3d_0200e6a0 kind:function(arm,size=0xb0) addr:0x0200e6a0
|
||||
func_0200e750 kind:function(arm,size=0x80) addr:0x0200e750
|
||||
func_0200e7d0 kind:function(arm,size=0x80) addr:0x0200e7d0
|
||||
func_0200e850 kind:function(arm,size=0x80) addr:0x0200e850
|
||||
@@ -719,7 +719,7 @@ func_02014944 kind:function(thumb,size=0x50) addr:0x02014944
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014994
|
||||
func_02014a10 kind:function(arm,size=0x24) addr:0x02014a10
|
||||
_ZN18UnkStruct_02049bac13func_02014a34EPv kind:function(arm,size=0xcc) addr:0x02014a34
|
||||
func_02014b00 kind:function(arm,size=0x54) addr:0x02014b00
|
||||
_ZN18UnkStruct_02049bac13func_02014b00Ev kind:function(arm,size=0x54) addr:0x02014b00
|
||||
func_02014b54 kind:function(arm,size=0x10) addr:0x02014b54
|
||||
func_02014b64 kind:function(arm,size=0x1c) addr:0x02014b64
|
||||
func_02014b80 kind:function(arm,size=0x3c) addr:0x02014b80
|
||||
@@ -754,7 +754,7 @@ _ZN17UnkFileSystem2_10D1Ev kind:function(arm,size=0x20) addr:0x020153c4
|
||||
func_020153e4 kind:function(arm,size=0x18) addr:0x020153e4
|
||||
_ZN10UnkSystem3C1EPKciii kind:function(thumb,size=0x12) addr:0x020153fc
|
||||
_ZN10UnkSystem313func_02015410EPKci kind:function(thumb,size=0xc) addr:0x02015410
|
||||
func_0201541c kind:function(thumb,size=0x44) addr:0x0201541c
|
||||
_ZN10UnkSystem313func_0201541cEPKci kind:function(thumb,size=0x44) addr:0x0201541c
|
||||
_ZN10UnkSystem313func_02015460EPKcPvi kind:function(thumb,size=0x1c) addr:0x02015460
|
||||
_ZN10UnkSystem3D1Ev kind:function(thumb,size=0x20) addr:0x0201547c
|
||||
func_0201549c kind:function(thumb,size=0x14) addr:0x0201549c
|
||||
@@ -1477,7 +1477,7 @@ OS_GetLockID kind:function(arm,size=0x58) addr:0x02026738
|
||||
func_02026790 kind:function(arm,size=0x30) addr:0x02026790
|
||||
sscanf kind:function(arm,size=0x28) addr:0x020267c0
|
||||
vsscanf kind:function(arm,size=0x18) addr:0x020267e8
|
||||
func_02026800 kind:function(arm,size=0x28) addr:0x02026800
|
||||
snprintf kind:function(arm,size=0x28) addr:0x02026800
|
||||
func_02026828 kind:function(arm,size=0xc) addr:0x02026828
|
||||
OS_func_0035 kind:function(arm,size=0x18) addr:0x02026834
|
||||
OS_func_0036 kind:function(arm,size=0x78) addr:0x0202684c
|
||||
@@ -2039,7 +2039,7 @@ func_02038d2c kind:function(arm,size=0x18) addr:0x02038d2c
|
||||
_ZN13func_02038d44D0Ev kind:function(arm,size=0x20) addr:0x02038d44
|
||||
func_02038d64 kind:function(arm,size=0x30) addr:0x02038d64
|
||||
func_02038d94 kind:function(arm,size=0x2c) addr:0x02038d94
|
||||
func_02038dc0 kind:function(arm,size=0x8c) addr:0x02038dc0
|
||||
_ZNSt15__vector_commonILb1EE18throw_length_errorEv kind:function(arm,size=0x8c) addr:0x02038dc0
|
||||
_dadd kind:function(arm,size=0x318) addr:0x02038e4c
|
||||
_dsub kind:function(arm,size=0x3b4) addr:0x0203917c
|
||||
_dmul kind:function(arm,size=0x364) addr:0x02039530
|
||||
|
||||
@@ -184,8 +184,8 @@ func_01ffe954 kind:function(arm,size=0x80) addr:0x01ffe954
|
||||
func_01ffe9d4 kind:function(arm,size=0x308) addr:0x01ffe9d4
|
||||
func_01ffecdc kind:function(arm,size=0xd0) addr:0x01ffecdc
|
||||
func_01ffedac kind:function(arm,size=0x48) addr:0x01ffedac
|
||||
_ZN21UnkStruct_027e0cd8_0c13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
func_01ffee10 kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_28EP7VecFx32ii kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
func_01ffef34 kind:function(arm,size=0x128) addr:0x01ffef34
|
||||
func_01fff05c kind:function(arm,size=0x58) addr:0x01fff05c
|
||||
func_01fff0b4 kind:function(arm,size=0x94) addr:0x01fff0b4
|
||||
@@ -212,7 +212,7 @@ _ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
|
||||
_ZN5Actor13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
|
||||
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
|
||||
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
|
||||
_ZN16MapObjectManager13func_01fff6d0EP7VecFx32PiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
|
||||
func_01fff764 kind:function(arm,size=0xec) addr:0x01fff764
|
||||
func_01fff850 kind:function(arm,size=0x158) addr:0x01fff850
|
||||
|
||||
@@ -219,8 +219,8 @@ _ZN32UnkStruct_027e0960_TableEntry_048vfunc_10Ev kind:function(arm,size=0xc) add
|
||||
_ZN32UnkStruct_027e0960_TableEntry_048vfunc_1CEv kind:function(arm,size=0x1c) addr:0x0205b630
|
||||
func_ov000_0205b64c kind:function(thumb,size=0x12) addr:0x0205b64c
|
||||
_ZN18UnkStruct_027e0960D1Ev kind:function(thumb,size=0x44) addr:0x0205b660
|
||||
func_ov000_0205b6a4 kind:function(arm,size=0x4) addr:0x0205b6a4
|
||||
func_ov000_0205b6a8 kind:function(arm,size=0x40) addr:0x0205b6a8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a11cEv kind:function(arm,size=0x4) addr:0x0205b6a4
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a120Ev kind:function(arm,size=0x40) addr:0x0205b6a8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205b6e8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205b6ec
|
||||
func_ov000_0205b72c kind:function(arm,size=0x34) addr:0x0205b72c
|
||||
@@ -258,7 +258,7 @@ func_ov000_0205bf98 kind:function(arm,size=0x60) addr:0x0205bf98
|
||||
func_ov000_0205bff8 kind:function(arm,size=0xe8) addr:0x0205bff8
|
||||
func_ov000_0205c0e0 kind:function(thumb,size=0x1e) addr:0x0205c0e0
|
||||
func_ov000_0205c100 kind:function(thumb,size=0x52) addr:0x0205c100
|
||||
func_ov000_0205c154 kind:function(thumb,size=0x56) addr:0x0205c154
|
||||
func_ov000_0205abcc kind:function(thumb,size=0x56) addr:0x0205c154
|
||||
func_ov000_0205c1ac kind:function(arm,size=0x10) addr:0x0205c1ac
|
||||
func_ov000_0205c1bc kind:function(arm,size=0x2c) addr:0x0205c1bc
|
||||
func_ov000_0205c1e8 kind:function(arm,size=0x10) addr:0x0205c1e8
|
||||
@@ -988,10 +988,10 @@ func_ov000_02071800 kind:function(arm,size=0x1c) addr:0x02071800
|
||||
func_ov000_0207181c kind:function(arm,size=0xfc) addr:0x0207181c
|
||||
_ZN18UnkStruct_027e09a021GetSceneIndexFromNameEPKc kind:function(arm,size=0x3c) addr:0x02071918
|
||||
_ZN18UnkStruct_027e09a014GetCourseEntryEj kind:function(arm,size=0xc) addr:0x02071954
|
||||
func_ov000_02071960 kind:function(arm,size=0x14) addr:0x02071960
|
||||
_ZN18UnkStruct_027e09a019func_ov000_020702a8Ej kind:function(arm,size=0x14) addr:0x02071960
|
||||
_ZN18UnkStruct_027e09a017GetRoomEntryIndexEv kind:function(arm,size=0x40) addr:0x02071974
|
||||
_ZN18UnkStruct_027e09a012GetRoomEntryEji kind:function(arm,size=0x14) addr:0x020719b4
|
||||
func_ov000_020719c8 kind:function(arm,size=0x68) addr:0x020719c8
|
||||
_ZN18UnkStruct_027e09a019func_ov000_02070310EjhPv kind:function(arm,size=0x68) addr:0x020719c8
|
||||
_ZN18UnkStruct_027e09a019func_ov000_02070378Ej kind:function(arm,size=0x44) addr:0x02071a30
|
||||
func_ov000_02071a74 kind:function(arm,size=0x8) addr:0x02071a74
|
||||
func_ov000_02071a7c kind:function(arm,size=0x5c) addr:0x02071a7c
|
||||
@@ -1081,7 +1081,7 @@ func_ov000_02073b24 kind:function(arm,size=0x204) addr:0x02073b24
|
||||
func_ov000_02073d28 kind:function(arm,size=0x14) addr:0x02073d28
|
||||
func_ov000_02073d3c kind:function(arm,size=0x18) addr:0x02073d3c
|
||||
func_ov000_02073d54 kind:function(arm,size=0x54) addr:0x02073d54
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020726f0Eiii kind:function(arm,size=0x2d4) addr:0x02073da8
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020726f0Etii kind:function(arm,size=0x2d4) addr:0x02073da8
|
||||
_ZN18UnkStruct_027e09ac19func_ov000_020729c4EP21UnkStruct_027e09ac_14ttss kind:function(arm,size=0x88) addr:0x0207407c
|
||||
func_ov000_02074104 kind:function(arm,size=0xbc) addr:0x02074104
|
||||
func_ov000_020741c0 kind:function(arm,size=0x1c) addr:0x020741c0
|
||||
@@ -1091,7 +1091,7 @@ func_ov000_02074260 kind:function(arm,size=0x24) addr:0x02074260
|
||||
func_ov000_02074284 kind:function(arm,size=0xa4) addr:0x02074284
|
||||
func_ov000_02074328 kind:function(arm,size=0x44) addr:0x02074328
|
||||
func_ov000_0207436c kind:function(arm,size=0x10) addr:0x0207436c
|
||||
func_ov000_0207437c kind:function(arm,size=0x10) addr:0x0207437c
|
||||
_ZN18UnkStruct_027e09b019func_ov000_02072cc4Eii kind:function(arm,size=0x10) addr:0x0207437c
|
||||
func_ov000_0207438c kind:function(arm,size=0x24) addr:0x0207438c
|
||||
func_ov000_020743b0 kind:function(arm,size=0x20) addr:0x020743b0
|
||||
func_ov000_020743d0 kind:function(arm,size=0x10) addr:0x020743d0
|
||||
@@ -1104,18 +1104,18 @@ func_ov000_02074610 kind:function(arm,size=0x40) addr:0x02074610
|
||||
func_ov000_02074650 kind:function(arm,size=0x24) addr:0x02074650
|
||||
func_ov000_02074674 kind:function(arm,size=0x14) addr:0x02074674
|
||||
func_ov000_02074688 kind:function(arm,size=0xb0) addr:0x02074688
|
||||
func_ov000_02074738 kind:function(arm,size=0x2c) addr:0x02074738
|
||||
func_ov000_02073080 kind:function(arm,size=0x2c) addr:0x02074738
|
||||
_ZN17ActorUnk_vfunc_B0C1Ev kind:function(arm,size=0x58) addr:0x02074764
|
||||
_ZN20stack_ov000_02073578C1Ev kind:function(arm,size=0x2c) addr:0x020747bc
|
||||
func_ov000_020747e8 kind:function(arm,size=0x4) addr:0x020747e8
|
||||
_ZN19func_ov000_020747ecD0Ev kind:function(arm,size=0x14) addr:0x020747ec
|
||||
_ZN26UnkStruct_027e09b8_04_BaseD1Ev kind:function(arm,size=0x4) addr:0x020747e8
|
||||
_ZN26UnkStruct_027e09b8_04_BaseD0Ev kind:function(arm,size=0x14) addr:0x020747ec
|
||||
func_ov000_02074800 kind:function(arm,size=0x4) addr:0x02074800
|
||||
func_ov000_02074804 kind:function(arm,size=0x8) addr:0x02074804
|
||||
func_ov000_0207480c kind:function(arm,size=0x14) addr:0x0207480c
|
||||
func_ov000_02074820 kind:function(arm,size=0x4) addr:0x02074820
|
||||
func_ov000_02074824 kind:function(arm,size=0x4) addr:0x02074824
|
||||
func_ov000_02074828 kind:function(arm,size=0x8) addr:0x02074828
|
||||
func_ov000_02074830 kind:function(arm,size=0xc) addr:0x02074830
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_08Ev kind:function(arm,size=0x8) addr:0x02074804
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_0CEv kind:function(arm,size=0x14) addr:0x0207480c
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_14Ev kind:function(arm,size=0x4) addr:0x02074820
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02074824
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_1CEv kind:function(arm,size=0x8) addr:0x02074828
|
||||
_ZN26UnkStruct_027e09b8_04_Base8vfunc_20Ev kind:function(arm,size=0xc) addr:0x02074830
|
||||
_ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x0207483c
|
||||
_ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02074840
|
||||
_ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x02074844
|
||||
@@ -1133,18 +1133,18 @@ func_ov000_020749e4 kind:function(arm,size=0x5c) addr:0x020749e4
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073388EPvi kind:function(arm,size=0xe8) addr:0x02074a40
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073470EPvi kind:function(arm,size=0x108) addr:0x02074b28
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073578EPvi kind:function(arm,size=0x98) addr:0x02074c30
|
||||
func_ov000_02074cc8 kind:function(arm,size=0xb0) addr:0x02074cc8
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02073610EPvi kind:function(arm,size=0xb0) addr:0x02074cc8
|
||||
_ZN18UnkStruct_027e09b819func_ov000_02074d78Ei kind:function(arm,size=0x10) addr:0x02074d78
|
||||
func_ov000_02074d88 kind:function(arm,size=0x8) addr:0x02074d88
|
||||
func_ov000_02074d90 kind:function(arm,size=0x8) addr:0x02074d90
|
||||
func_ov000_02074d98 kind:function(arm,size=0x38) addr:0x02074d98
|
||||
_ZN21UnkStruct_027e09b8_00C1Ev kind:function(arm,size=0x38) addr:0x02074d98
|
||||
func_ov000_02074dd0 kind:function(arm,size=0x2c) addr:0x02074dd0
|
||||
func_ov000_02074dfc kind:function(arm,size=0x54) addr:0x02074dfc
|
||||
func_ov000_02074e50 kind:function(arm,size=0x60) addr:0x02074e50
|
||||
func_ov000_02074eb0 kind:function(arm,size=0x94) addr:0x02074eb0
|
||||
func_ov000_02074f44 kind:function(arm,size=0x124) addr:0x02074f44
|
||||
func_ov000_02075068 kind:function(arm,size=0x1ac) addr:0x02075068
|
||||
func_ov000_02075214 kind:function(arm,size=0x64) addr:0x02075214
|
||||
_ZN21UnkStruct_027e09b8_0019func_ov000_02073b5cEv kind:function(arm,size=0x64) addr:0x02075214
|
||||
func_ov000_02075278 kind:function(arm,size=0x114) addr:0x02075278
|
||||
func_ov000_0207538c kind:function(arm,size=0x3c) addr:0x0207538c
|
||||
func_ov000_020753c8 kind:function(arm,size=0x170) addr:0x020753c8
|
||||
@@ -1160,7 +1160,7 @@ func_ov000_02075b24 kind:function(arm,size=0xc4) addr:0x02075b24
|
||||
func_ov000_02075be8 kind:function(arm,size=0xbc) addr:0x02075be8
|
||||
_ZN19func_ov000_02075ca4D1Ev kind:function(arm,size=0x28) addr:0x02075ca4
|
||||
_ZN19func_ov000_02075cccD0Ev kind:function(arm,size=0x30) addr:0x02075ccc
|
||||
func_ov000_02075cfc kind:function(arm,size=0x6c) addr:0x02075cfc
|
||||
_ZN21UnkStruct_027e09b8_10C1Ev kind:function(arm,size=0x6c) addr:0x02075cfc
|
||||
func_ov000_02075d68 kind:function(arm,size=0x8) addr:0x02075d68
|
||||
func_ov000_02075d70 kind:function(arm,size=0xc) addr:0x02075d70
|
||||
func_ov000_02075d7c kind:function(arm,size=0x50) addr:0x02075d7c
|
||||
@@ -1181,7 +1181,7 @@ func_ov000_0207662c kind:function(arm,size=0x38) addr:0x0207662c
|
||||
func_ov000_02076664 kind:function(arm,size=0x28) addr:0x02076664
|
||||
func_ov000_0207668c kind:function(arm,size=0x14) addr:0x0207668c
|
||||
_ZN19func_ov000_020766a0D0Ev kind:function(arm,size=0x40) addr:0x020766a0
|
||||
func_ov000_020766e0 kind:function(arm,size=0x54) addr:0x020766e0
|
||||
_ZN25UnkSystem1_ov000_Derived3C1Ev kind:function(arm,size=0x54) addr:0x020766e0
|
||||
func_ov000_02076734 kind:function(arm,size=0x80) addr:0x02076734
|
||||
func_ov000_020767b4 kind:function(arm,size=0x28) addr:0x020767b4
|
||||
func_ov000_020767dc kind:function(arm,size=0x38) addr:0x020767dc
|
||||
@@ -1220,7 +1220,7 @@ func_ov000_02078814 kind:function(arm,size=0x2c) addr:0x02078814
|
||||
func_ov000_02078840 kind:function(arm,size=0x14) addr:0x02078840
|
||||
func_ov000_02078854 kind:function(arm,size=0x1c) addr:0x02078854
|
||||
func_ov000_02078870 kind:function(arm,size=0x10) addr:0x02078870
|
||||
func_ov000_02078880 kind:function(arm,size=0x188) addr:0x02078880
|
||||
_ZN18UnkStruct_027e09bc19func_ov000_020771c8Ev kind:function(arm,size=0x188) addr:0x02078880
|
||||
func_ov000_02078a08 kind:function(arm,size=0xf4) addr:0x02078a08
|
||||
func_ov000_02078afc kind:function(arm,size=0x24) addr:0x02078afc
|
||||
func_ov000_02078b20 kind:function(arm,size=0x18) addr:0x02078b20
|
||||
@@ -1452,7 +1452,7 @@ func_ov000_0207ef50 kind:function(arm,size=0x5c) addr:0x0207ef50
|
||||
func_ov000_0207efac kind:function(arm,size=0x6c) addr:0x0207efac
|
||||
func_ov000_0207f018 kind:function(arm,size=0x98) addr:0x0207f018
|
||||
func_ov000_0207f0b0 kind:function(arm,size=0x48) addr:0x0207f0b0
|
||||
func_ov000_0207f0f8 kind:function(arm,size=0x20c) addr:0x0207f0f8
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207f0f8
|
||||
func_ov000_0207f304 kind:function(arm,size=0x18) addr:0x0207f304
|
||||
func_ov000_0207f31c kind:function(arm,size=0x24) addr:0x0207f31c
|
||||
func_ov000_0207f340 kind:function(arm,size=0x210) addr:0x0207f340
|
||||
@@ -1532,20 +1532,20 @@ func_ov000_02081164 kind:function(arm,size=0x8) addr:0x02081164
|
||||
func_ov000_0208116c kind:function(arm,size=0x8) addr:0x0208116c
|
||||
func_ov000_02081174 kind:function(arm,size=0x10) addr:0x02081174
|
||||
func_ov000_02081184 kind:function(arm,size=0x64) addr:0x02081184
|
||||
func_ov000_020811e8 kind:function(arm,size=0x30) addr:0x020811e8
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_00C1EP12ZMBEntryARAB kind:function(arm,size=0x30) addr:0x020811e8
|
||||
func_ov000_02081218 kind:function(arm,size=0x30) addr:0x02081218
|
||||
func_ov000_02081248 kind:function(arm,size=0x8) addr:0x02081248
|
||||
func_ov000_02081250 kind:function(arm,size=0x38) addr:0x02081250
|
||||
func_ov000_02081288 kind:function(arm,size=0x40) addr:0x02081288
|
||||
func_ov000_020812c8 kind:function(arm,size=0x44) addr:0x020812c8
|
||||
func_ov000_0208130c kind:function(arm,size=0x3c) addr:0x0208130c
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_01C1EP12ZMBEntryARAB kind:function(arm,size=0x44) addr:0x020812c8
|
||||
_ZN33UnkStruct_027e0cd8_0C_Base_148_02C1EP12ZMBEntryARAB kind:function(arm,size=0x3c) addr:0x0208130c
|
||||
func_ov000_02081348 kind:function(arm,size=0x3c) addr:0x02081348
|
||||
func_ov000_02081384 kind:function(arm,size=0x44) addr:0x02081384
|
||||
func_ov000_020813c8 kind:function(arm,size=0x4) addr:0x020813c8
|
||||
func_ov000_020813cc kind:function(arm,size=0x4) addr:0x020813cc
|
||||
func_ov000_020813d0 kind:function(arm,size=0x28) addr:0x020813d0
|
||||
func_ov000_020813f8 kind:function(arm,size=0x38) addr:0x020813f8
|
||||
func_ov000_02081430 kind:function(arm,size=0x4) addr:0x02081430
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_24Ev kind:function(arm,size=0x4) addr:0x020813c8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_10Ev kind:function(arm,size=0x4) addr:0x020813cc
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_0CEv kind:function(arm,size=0x28) addr:0x020813d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_14Ev kind:function(arm,size=0x38) addr:0x020813f8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02081430
|
||||
Unknown_func_ov000_0207fd7c kind:function(arm,size=0x40) addr:0x02081434
|
||||
func_ov000_02081474 kind:function(arm,size=0x250) addr:0x02081474
|
||||
func_ov000_020816c4 kind:function(arm,size=0x5c) addr:0x020816c4
|
||||
@@ -1553,30 +1553,30 @@ func_ov000_02081720 kind:function(arm,size=0x18) addr:0x02081720
|
||||
func_ov000_02081738 kind:function(arm,size=0x18) addr:0x02081738
|
||||
func_ov000_02081750 kind:function(arm,size=0xc8) addr:0x02081750
|
||||
func_ov000_02081818 kind:function(arm,size=0x20) addr:0x02081818
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02081838
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02081838
|
||||
func_ov000_02081848 kind:function(arm,size=0x20) addr:0x02081848
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x02081868
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x02081868
|
||||
func_ov000_020818c8 kind:function(arm,size=0x78) addr:0x020818c8
|
||||
func_ov000_02081940 kind:function(arm,size=0x64) addr:0x02081940
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020819a4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020819a4
|
||||
func_ov000_02081a1c kind:function(arm,size=0x88) addr:0x02081a1c
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x02081aa4
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x02081bf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x02081aa4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x02081bf4
|
||||
func_ov000_02081cd8 kind:function(arm,size=0x38) addr:0x02081cd8
|
||||
func_ov000_02081d10 kind:function(arm,size=0xd8) addr:0x02081d10
|
||||
func_ov000_02081de8 kind:function(arm,size=0x64) addr:0x02081de8
|
||||
func_ov000_02081e4c kind:function(arm,size=0xac) addr:0x02081e4c
|
||||
func_ov000_02081ef8 kind:function(arm,size=0x6c) addr:0x02081ef8
|
||||
func_ov000_02081f64 kind:function(arm,size=0x20) addr:0x02081f64
|
||||
func_ov000_02081f84 kind:function(arm,size=0x8) addr:0x02081f84
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x02081f64
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x02081f84
|
||||
func_ov000_02081f8c kind:function(arm,size=0x20) addr:0x02081f8c
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x02081fac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x02081fac
|
||||
func_ov000_02082008 kind:function(arm,size=0x48) addr:0x02082008
|
||||
func_ov000_02082050 kind:function(arm,size=0x40) addr:0x02082050
|
||||
func_ov000_02082090 kind:function(arm,size=0x6c) addr:0x02082090
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x020820fc
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a5cEP7VecFx32 kind:function(arm,size=0x1c) addr:0x02082114
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a78EP7VecFx32 kind:function(arm,size=0x18) addr:0x02082130
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x020820fc
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a5cEP7VecFx32 kind:function(arm,size=0x1c) addr:0x02082114
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a78EP7VecFx32 kind:function(arm,size=0x18) addr:0x02082130
|
||||
func_ov000_02082148 kind:function(arm,size=0x1c) addr:0x02082148
|
||||
func_ov000_02082164 kind:function(arm,size=0x18) addr:0x02082164
|
||||
func_ov000_0208217c kind:function(arm,size=0x68) addr:0x0208217c
|
||||
@@ -1591,14 +1591,14 @@ func_ov000_02082770 kind:function(arm,size=0x7c) addr:0x02082770
|
||||
func_ov000_020827ec kind:function(arm,size=0x4) addr:0x020827ec
|
||||
func_ov000_020827f0 kind:function(arm,size=0x18) addr:0x020827f0
|
||||
func_ov000_02082808 kind:function(arm,size=0x70) addr:0x02082808
|
||||
func_ov000_02082878 kind:function(arm,size=0xb0) addr:0x02082878
|
||||
func_ov000_02082928 kind:function(arm,size=0x24) addr:0x02082928
|
||||
_ZN21UnkStruct_027e0cd8_04C1Ev kind:function(arm,size=0xb0) addr:0x02082878
|
||||
_ZN21UnkStruct_027e0cd8_04D1Ev kind:function(arm,size=0x24) addr:0x02082928
|
||||
func_ov000_0208294c kind:function(arm,size=0x6c) addr:0x0208294c
|
||||
func_ov000_020829b8 kind:function(arm,size=0x54) addr:0x020829b8
|
||||
func_ov000_02082a0c kind:function(arm,size=0x118) addr:0x02082a0c
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_02081354EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8P28SaveFile_00000_0000_Data_184b kind:function(arm,size=0x118) addr:0x02082a0c
|
||||
func_ov000_02082b24 kind:function(arm,size=0x80) addr:0x02082b24
|
||||
func_ov000_02082ba4 kind:function(arm,size=0x34) addr:0x02082ba4
|
||||
func_ov000_02082bd8 kind:function(arm,size=0x54) addr:0x02082bd8
|
||||
func_ov000_020814ec kind:function(arm,size=0x34) addr:0x02082ba4
|
||||
func_ov000_02081520 kind:function(arm,size=0x54) addr:0x02082bd8
|
||||
func_ov000_02082c2c kind:function(arm,size=0x8c) addr:0x02082c2c
|
||||
func_ov000_02082cb8 kind:function(arm,size=0x2c) addr:0x02082cb8
|
||||
func_ov000_02082ce4 kind:function(arm,size=0x28) addr:0x02082ce4
|
||||
@@ -1627,7 +1627,7 @@ func_ov000_0208323c kind:function(arm,size=0x18) addr:0x0208323c
|
||||
func_ov000_02083254 kind:function(arm,size=0x58) addr:0x02083254
|
||||
func_ov000_020832ac kind:function(arm,size=0x34) addr:0x020832ac
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081c28Ev kind:function(arm,size=0x78) addr:0x020832e0
|
||||
func_ov000_02083358 kind:function(arm,size=0xa8) addr:0x02083358
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081ca0Ev kind:function(arm,size=0xa8) addr:0x02083358
|
||||
func_ov000_02083400 kind:function(arm,size=0x10) addr:0x02083400
|
||||
func_ov000_02083410 kind:function(arm,size=0x4) addr:0x02083410
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081d5cEv kind:function(arm,size=0x20) addr:0x02083414
|
||||
@@ -1652,12 +1652,12 @@ _ZN19func_ov000_020839b8D0Ev kind:function(arm,size=0x1c) addr:0x020839b8
|
||||
_ZN19func_ov000_020839d4D2Ev kind:function(arm,size=0x14) addr:0x020839d4
|
||||
func_ov000_020839e8 kind:function(arm,size=0x4) addr:0x020839e8
|
||||
func_ov000_020839ec kind:function(arm,size=0x8) addr:0x020839ec
|
||||
func_ov000_020839f4 kind:function(arm,size=0x1c) addr:0x020839f4
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_88C1Ev kind:function(arm,size=0x1c) addr:0x020839f4
|
||||
func_ov000_02083a10 kind:function(arm,size=0x20) addr:0x02083a10
|
||||
func_ov000_02083a30 kind:function(arm,size=0x30) addr:0x02083a30
|
||||
func_ov000_02083a60 kind:function(arm,size=0x258) addr:0x02083a60
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_020823a8Ei kind:function(arm,size=0x258) addr:0x02083a60
|
||||
func_ov000_02083cb8 kind:function(arm,size=0x1c) addr:0x02083cb8
|
||||
func_ov000_02083cd4 kind:function(arm,size=0x68) addr:0x02083cd4
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_0208261cEv kind:function(arm,size=0x68) addr:0x02083cd4
|
||||
func_ov000_02083d3c kind:function(arm,size=0x34) addr:0x02083d3c
|
||||
func_ov000_02083d70 kind:function(arm,size=0x90) addr:0x02083d70
|
||||
func_ov000_02083e00 kind:function(arm,size=0x14) addr:0x02083e00
|
||||
@@ -2961,12 +2961,12 @@ func_ov000_020a8fd0 kind:function(arm,size=0x5c) addr:0x020a8fd0
|
||||
_Z22Cutscene_GetParamEntryi kind:function(arm,size=0x14) addr:0x020a902c
|
||||
func_ov000_020a9040 kind:function(arm,size=0x84) addr:0x020a9040
|
||||
_Z27Cutscene_IsAdventureFlagSeti kind:function(arm,size=0x44) addr:0x020a90c4
|
||||
func_ov000_020a9108 kind:function(arm,size=0xdc) addr:0x020a9108
|
||||
_ZN21UnkStruct_027e09b8_98C1Ev kind:function(arm,size=0xdc) addr:0x020a9108
|
||||
func_ov000_020a91e4 kind:function(arm,size=0x6c) addr:0x020a91e4
|
||||
func_ov000_020a9250 kind:function(arm,size=0x20) addr:0x020a9250
|
||||
func_ov000_020a9270 kind:function(arm,size=0xa8) addr:0x020a9270
|
||||
_ZN21UnkStruct_027e09b8_98D1Ev kind:function(arm,size=0xa8) addr:0x020a9270
|
||||
func_ov000_020a9318 kind:function(arm,size=0x1c) addr:0x020a9318
|
||||
func_ov000_020a9334 kind:function(arm,size=0x74) addr:0x020a9334
|
||||
_ZN21UnkStruct_027e09b8_9819func_ov000_020a7b34Ev kind:function(arm,size=0x74) addr:0x020a9334
|
||||
func_ov000_020a93a8 kind:function(arm,size=0x98) addr:0x020a93a8
|
||||
func_ov000_020a9440 kind:function(arm,size=0x4c) addr:0x020a9440
|
||||
func_ov000_020a948c kind:function(arm,size=0x24) addr:0x020a948c
|
||||
@@ -3503,10 +3503,10 @@ data_ov000_020b3a44 kind:data(any) addr:0x020b3a44
|
||||
data_ov000_020b3a64 kind:data(any) addr:0x020b3a64
|
||||
data_ov000_020b3a90 kind:data(any) addr:0x020b3a90
|
||||
data_ov000_020b3aa8 kind:data(any) addr:0x020b3aa8
|
||||
data_ov000_020b3ac0 kind:data(any) addr:0x020b3ac0
|
||||
_ZTV21UnkStruct_027e09b8_04 kind:data(any) addr:0x020b3ab8
|
||||
data_ov000_020b3aec kind:data(any) addr:0x020b3aec
|
||||
_ZTV19data_ov000_020b3b14 kind:data(any) addr:0x020b3b14
|
||||
data_ov000_020b3b4c kind:data(any) addr:0x020b3b4c
|
||||
_ZTV21UnkStruct_027e09b8_0C kind:data(any) addr:0x020b3b44
|
||||
data_ov000_020b3b78 kind:data(any) addr:0x020b3b78
|
||||
_ZTV19data_ov000_020b3b7c kind:data(any) addr:0x020b3b7c
|
||||
_ZTV19data_ov000_020b3b98 kind:data(any) addr:0x020b3b98
|
||||
@@ -3546,7 +3546,7 @@ data_ov000_020b40e0 kind:data(any) addr:0x020b40e0
|
||||
data_ov000_020b40f8 kind:data(any) addr:0x020b40f8
|
||||
data_ov000_020b410c kind:data(any) addr:0x020b410c
|
||||
data_ov000_020b4120 kind:data(any) addr:0x020b4120
|
||||
data_ov000_020b4140 kind:data(any) addr:0x020b4140
|
||||
_ZTV10UnkSystem8 kind:data(any) addr:0x020b4138
|
||||
data_ov000_020b414c kind:data(any) addr:0x020b414c
|
||||
data_ov000_020b4154 kind:data(any) addr:0x020b4154
|
||||
data_ov000_020b4164 kind:data(any) addr:0x020b4164
|
||||
|
||||
@@ -18,16 +18,20 @@ src/001_SceneInit/CourseList.cpp:
|
||||
.bss start:0x020c4820 end:0x020c5928
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e09b8_001.cpp:
|
||||
complete
|
||||
.text start:0x020b8d84 end:0x020b8f94
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_001.cpp:
|
||||
complete
|
||||
.text start:0x020b8f94 end:0x020b9a20
|
||||
.data start:0x020c41b0 end:0x020c4234
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp:
|
||||
.text start:0x020b9a20 end:0x020ba6b4
|
||||
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp:
|
||||
.text start:0x020ba6b4 end:0x020baab0
|
||||
.text start:0x020b9a20 end:0x020baab0
|
||||
.init start:0x020c408c end:0x020c4144
|
||||
.bss start:0x020c5928 end:0x020c5f34
|
||||
.data start:0x020c4234 end:0x020c437c
|
||||
.ctor start:0x020c4158 end:0x020c415c
|
||||
|
||||
src/001_SceneInit/ZeldaArrangeBinary.cpp:
|
||||
.text start:0x020baab0 end:0x020bacf0
|
||||
|
||||
@@ -314,8 +314,8 @@ from:0x020b8e48 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b8e50 kind:thumb_call_arm to:0x02075cfc module:overlay(0)
|
||||
from:0x020b8e5c kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b8e64 kind:thumb_call_arm to:0x020a9108 module:overlay(0)
|
||||
from:0x020b8e78 kind:load to:0x020b3ac0 module:overlay(0)
|
||||
from:0x020b8e7c kind:load to:0x020b3b4c module:overlay(0)
|
||||
from:0x020b8e78 kind:load to:0x020b3ab8 module:overlay(0) add:0x8
|
||||
from:0x020b8e7c kind:load to:0x020b3b44 module:overlay(0) add:0x8
|
||||
from:0x020b8e80 kind:load to:0x0204b608 module:main
|
||||
from:0x020b8ea6 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b8eb8 kind:thumb_call_arm to:0x020a9270 module:overlay(0)
|
||||
@@ -339,7 +339,7 @@ from:0x020b8fa4 kind:thumb_call to:0x020b8fac module:overlay(1)
|
||||
from:0x020b8fb0 kind:thumb_call to:0x020b9a08 module:overlay(1)
|
||||
from:0x020b8fca kind:thumb_call_arm to:0x02016614 module:main
|
||||
from:0x020b8fe6 kind:thumb_call_arm to:0x0201668c module:main
|
||||
from:0x020b900c kind:load to:0x020b4140 module:overlay(0)
|
||||
from:0x020b900c kind:load to:0x020b4138 module:overlay(0) add:0x8
|
||||
from:0x020b9010 kind:load to:0x027e09bc module:dtcm
|
||||
from:0x020b9020 kind:thumb_call_arm to:0x02082928 module:overlay(0)
|
||||
from:0x020b9026 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -441,8 +441,8 @@ from:0x020b953e kind:thumb_call to:0x020b96a8 module:overlay(1)
|
||||
from:0x020b955c kind:thumb_call_arm to:0x02083414 module:overlay(0)
|
||||
from:0x020b9568 kind:thumb_call_arm to:0x020cc828 module:overlay(24)
|
||||
from:0x020b9576 kind:thumb_call_arm to:0x020cc850 module:overlay(24)
|
||||
from:0x020b9580 kind:load to:0x021668f0 module:overlays(59,68,84)
|
||||
from:0x020b9598 kind:load to:0x02163428 module:overlays(62,66,84)
|
||||
from:0x020b9580 kind:load to:0x021668f0 module:overlay(84)
|
||||
from:0x020b9598 kind:load to:0x02163428 module:overlay(84)
|
||||
from:0x020b959c kind:load to:0x027e09a4 module:dtcm
|
||||
from:0x020b95a0 kind:load to:0x020da034 module:overlay(24)
|
||||
from:0x020b95b2 kind:thumb_call_arm to:0x02071954 module:overlay(0)
|
||||
@@ -539,7 +539,7 @@ from:0x020b9a58 kind:thumb_call to:0x020154e8 module:main
|
||||
from:0x020b9a6c kind:thumb_call_arm to:0x020839f4 module:overlay(0)
|
||||
from:0x020b9bfe kind:thumb_call to:0x020bc6e8 module:overlay(1)
|
||||
from:0x020b9c06 kind:thumb_call to:0x0205a820 module:overlay(0)
|
||||
from:0x020b9c10 kind:load to:0x020c423c module:overlay(1)
|
||||
from:0x020b9c10 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9c14 kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020b9c18 kind:load to:0x027e0ca8 module:dtcm
|
||||
from:0x020b9c1c kind:load to:0x027e0c9c module:dtcm
|
||||
@@ -551,7 +551,7 @@ from:0x020b9c30 kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9c34 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9c44 kind:thumb_call to:0x0205a868 module:overlay(0)
|
||||
from:0x020b9c4c kind:thumb_call to:0x020bc770 module:overlay(1)
|
||||
from:0x020b9c5c kind:thumb_call_arm to:0x02131f24 module:overlays(26,47)
|
||||
from:0x020b9c5c kind:thumb_call_arm to:0x02131f24 module:overlay(47)
|
||||
from:0x020b9c62 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b9c94 kind:thumb_call to:0x020ba32c module:overlay(1)
|
||||
from:0x020b9c9e kind:thumb_call to:0x020ba6cc module:overlay(1)
|
||||
@@ -559,12 +559,12 @@ from:0x020b9ca6 kind:thumb_call to:0x020ba73c module:overlay(1)
|
||||
from:0x020b9cae kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9cb6 kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9cbc kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9cc4 kind:load to:0x020c423c module:overlay(1)
|
||||
from:0x020b9cc4 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9cc8 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9ccc kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9cdc kind:thumb_call to:0x0205a868 module:overlay(0)
|
||||
from:0x020b9ce4 kind:thumb_call to:0x020bc770 module:overlay(1)
|
||||
from:0x020b9cf4 kind:thumb_call_arm to:0x02131f24 module:overlays(26,47)
|
||||
from:0x020b9cf4 kind:thumb_call_arm to:0x02131f24 module:overlay(47)
|
||||
from:0x020b9cfa kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b9d2c kind:thumb_call to:0x020ba32c module:overlay(1)
|
||||
from:0x020b9d36 kind:thumb_call to:0x020ba6cc module:overlay(1)
|
||||
@@ -573,12 +573,12 @@ from:0x020b9d46 kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9d4e kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9d54 kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9d5a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b9d64 kind:load to:0x020c423c module:overlay(1)
|
||||
from:0x020b9d64 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9d68 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9d6c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9d7c kind:thumb_call to:0x0205a868 module:overlay(0)
|
||||
from:0x020b9d84 kind:thumb_call to:0x020bc770 module:overlay(1)
|
||||
from:0x020b9d94 kind:thumb_call_arm to:0x02131f24 module:overlays(26,47)
|
||||
from:0x020b9d94 kind:thumb_call_arm to:0x02131f24 module:overlay(47)
|
||||
from:0x020b9d9a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b9dcc kind:thumb_call to:0x020ba32c module:overlay(1)
|
||||
from:0x020b9dd6 kind:thumb_call to:0x020ba6cc module:overlay(1)
|
||||
@@ -586,7 +586,7 @@ from:0x020b9dde kind:thumb_call to:0x020ba73c module:overlay(1)
|
||||
from:0x020b9de6 kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9dee kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9df4 kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9dfc kind:load to:0x020c423c module:overlay(1)
|
||||
from:0x020b9dfc kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9e00 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9e04 kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9e30 kind:thumb_call_arm to:0x02027d30 module:main
|
||||
@@ -688,7 +688,7 @@ from:0x020ba5dc kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020ba660 kind:load to:0x02083a60 module:overlay(0)
|
||||
from:0x020ba682 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020ba68a kind:thumb_call_arm to:0x02131ec0 module:overlays(47,48,49,50,51,52)
|
||||
from:0x020ba6a2 kind:thumb_call_arm to:0x02131f24 module:overlays(26,47)
|
||||
from:0x020ba6a2 kind:thumb_call_arm to:0x02131f24 module:overlay(47)
|
||||
from:0x020ba6a8 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020ba6bc kind:thumb_call to:0x020ba758 module:overlay(1)
|
||||
from:0x020ba6c6 kind:thumb_call to:0x020ba7d8 module:overlay(1)
|
||||
@@ -2318,12 +2318,9 @@ from:0x020c2242 kind:thumb_call_arm to:0x020c2868 module:overlay(1)
|
||||
from:0x020c226c kind:load to:0x020c21f1 module:overlay(1)
|
||||
from:0x020c2270 kind:load to:0x020c2215 module:overlay(1)
|
||||
from:0x020c2274 kind:load to:0x020c5f3c module:overlay(1)
|
||||
from:0x020c2328 kind:load to:0x020c426c module:overlay(1)
|
||||
from:0x020c23e0 kind:load to:0x020c42e4 module:overlay(1)
|
||||
from:0x020c2494 kind:load to:0x020c47a0 module:overlay(1)
|
||||
from:0x020c2498 kind:load to:0x020c417c module:overlays(2,4)
|
||||
from:0x020c254c kind:load to:0x020c4818 module:overlay(1)
|
||||
from:0x020c2550 kind:load to:0x020c41f4 module:overlay(1)
|
||||
from:0x020c26f0 kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2768 kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c27e0 kind:load to:0x020c5f41 module:overlay(1)
|
||||
@@ -2340,9 +2337,6 @@ from:0x020c2ed4 kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2ee0 kind:load to:0x020c3f90 module:overlay(1)
|
||||
from:0x020c2f4c kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2f6c kind:load to:0x020c417c module:overlays(2,4)
|
||||
from:0x020c2f74 kind:load to:0x020c41f4 module:overlay(1)
|
||||
from:0x020c2f7c kind:load to:0x020c426c module:overlay(1)
|
||||
from:0x020c2f84 kind:load to:0x020c42e4 module:overlay(1)
|
||||
from:0x020c30f8 kind:load to:0x020c5f40 module:overlay(1)
|
||||
from:0x020c3184 kind:load to:0x020c5f40 module:overlay(1)
|
||||
from:0x020c3214 kind:load to:0x020c5f40 module:overlay(1)
|
||||
@@ -2382,9 +2376,9 @@ from:0x020c4128 kind:load to:0x020c5934 module:overlay(1)
|
||||
from:0x020c412c kind:load to:0x020baa99 module:overlay(1)
|
||||
from:0x020c4130 kind:load to:0x020c5928 module:overlay(1)
|
||||
from:0x020c4134 kind:load to:0x020c4280 module:overlay(1)
|
||||
from:0x020c4138 kind:load to:0x020c4294 module:overlay(1)
|
||||
from:0x020c413c kind:load to:0x020c42a8 module:overlay(1)
|
||||
from:0x020c4140 kind:load to:0x020c42bc module:overlay(1)
|
||||
from:0x020c4138 kind:load to:0x020c4280 add:0x14 module:overlay(1)
|
||||
from:0x020c413c kind:load to:0x020c4280 add:0x28 module:overlay(1)
|
||||
from:0x020c4140 kind:load to:0x020c4280 add:0x3c module:overlay(1)
|
||||
from:0x020c4150 kind:load to:0x020c4814 module:overlay(1)
|
||||
from:0x020c4154 kind:load to:0x020c4069 module:overlay(1)
|
||||
from:0x020c4158 kind:load to:0x020c408d module:overlay(1)
|
||||
|
||||
@@ -43,77 +43,77 @@ _ZN18UnkStruct_027e09a015InitCourseTableEv kind:function(thumb,size=0x32) addr:0
|
||||
_ZN8InstanceI18UnkStruct_027e09a0EC2Ev kind:function(thumb,size=0xc) addr:0x020b8d6c
|
||||
_ZN8InstanceI18UnkStruct_027e09a0ED2Ev kind:function(thumb,size=0xc) addr:0x020b8d78
|
||||
_ZN18UnkStruct_027e09b86CreateEv kind:function(thumb,size=0x16) addr:0x020b8d84
|
||||
func_ov001_020b7574 kind:function(thumb,size=0xec) addr:0x020b8d9c
|
||||
_ZN18UnkStruct_027e09b8C1Ev kind:function(thumb,size=0xec) addr:0x020b8d9c
|
||||
_ZN18UnkStruct_027e09b8D1Ev kind:function(thumb,size=0x4c) addr:0x020b8e88
|
||||
func_ov001_020b76ac kind:function(thumb,size=0x14) addr:0x020b8ed4
|
||||
_ZN18UnkStruct_027e09b820ImportAdventureFlagsEPj kind:function(thumb,size=0x14) addr:0x020b8ed4
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b76c0Ej kind:function(thumb,size=0x40) addr:0x020b8ee8
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b7700Ev kind:function(thumb,size=0x28) addr:0x020b8f28
|
||||
func_ov001_020b7728 kind:function(thumb,size=0x2c) addr:0x020b8f50
|
||||
func_ov001_020b7754 kind:function(thumb,size=0xc) addr:0x020b8f7c
|
||||
func_ov001_020b7760 kind:function(thumb,size=0xc) addr:0x020b8f88
|
||||
_ZN18UnkStruct_027e09b819func_ov001_020b7728Ev kind:function(thumb,size=0x2c) addr:0x020b8f50
|
||||
_ZN8InstanceI18UnkStruct_027e09b8EC2Ev kind:function(thumb,size=0xc) addr:0x020b8f7c
|
||||
_ZN8InstanceI18UnkStruct_027e09b8ED2Ev kind:function(thumb,size=0xc) addr:0x020b8f88
|
||||
_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b8f94
|
||||
func_ov001_020b7784 kind:function(thumb,size=0x68) addr:0x020b8fac
|
||||
_ZN18UnkStruct_027e0cd8C1Ev kind:function(thumb,size=0x68) addr:0x020b8fac
|
||||
_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b9014
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b9058
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b9058
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b92a4
|
||||
func_ov001_020b7b38 kind:function(thumb,size=0xd0) addr:0x020b9360
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EP22UnkStruct_SceneChange1P21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x174) addr:0x020b9430
|
||||
func_ov001_020b7d64 kind:function(thumb,size=0xec) addr:0x020b95a4
|
||||
func_ov001_020b7e50 kind:function(thumb,size=0x16) addr:0x020b9690
|
||||
func_ov001_020b7e68 kind:function(thumb,size=0x1d4) addr:0x020b96a8
|
||||
func_ov001_020b803c kind:function(thumb,size=0xc0) addr:0x020b987c
|
||||
func_ov001_020b80fc kind:function(thumb,size=0x24) addr:0x020b993c
|
||||
func_ov001_020b8120 kind:function(thumb,size=0x6c) addr:0x020b9960
|
||||
func_ov001_020b818c kind:function(thumb,size=0x3c) addr:0x020b99cc
|
||||
func_ov001_020b81c8 kind:function(thumb,size=0xc) addr:0x020b9a08
|
||||
func_ov001_020b81d4 kind:function(thumb,size=0xc) addr:0x020b9a14
|
||||
_ZN21UnkStruct_027e0cd8_0cC1Ev kind:function(thumb,size=0x218) addr:0x020b9a20
|
||||
func_ov001_020b83f8 kind:function(thumb,size=0x98) addr:0x020b9c38
|
||||
func_ov001_020b8490 kind:function(thumb,size=0xa0) addr:0x020b9cd0
|
||||
func_ov001_020b8530 kind:function(thumb,size=0x98) addr:0x020b9d70
|
||||
func_ov001_020b85c8 kind:function(thumb,size=0x2) addr:0x020b9e08
|
||||
func_ov001_020b85cc kind:function(thumb,size=0x2) addr:0x020b9e0c
|
||||
func_ov001_020b85d0 kind:function(thumb,size=0x2f0) addr:0x020b9e10
|
||||
func_ov001_020b88c0 kind:function(thumb,size=0x2c) addr:0x020ba100
|
||||
func_ov001_020b88ec kind:function(thumb,size=0x60) addr:0x020ba12c
|
||||
func_ov001_020b894c kind:function(thumb,size=0xe0) addr:0x020ba18c
|
||||
func_ov001_020b8a2c kind:function(thumb,size=0x2c) addr:0x020ba26c
|
||||
func_ov001_020b8a58 kind:function(thumb,size=0x2) addr:0x020ba298
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020ba29c
|
||||
func_ov001_020b8aec kind:function(thumb,size=0xa8) addr:0x020ba32c
|
||||
func_ov001_020b8b94 kind:function(thumb,size=0x9c) addr:0x020ba3d4
|
||||
func_ov001_020b8c30 kind:function(thumb,size=0x4e) addr:0x020ba470
|
||||
func_ov001_020b8c80 kind:function(thumb,size=0x10) addr:0x020ba4c0
|
||||
func_ov001_020b8c90 kind:function(thumb,size=0x8) addr:0x020ba4d0
|
||||
func_ov001_020b8c98 kind:function(thumb,size=0x8) addr:0x020ba4d8
|
||||
func_ov001_020b8ca0 kind:function(thumb,size=0x8) addr:0x020ba4e0
|
||||
func_ov001_020b8ca8 kind:function(thumb,size=0x2) addr:0x020ba4e8
|
||||
func_ov001_020b8cac kind:function(thumb,size=0xfc) addr:0x020ba4ec
|
||||
func_ov001_020b8da8 kind:function(thumb,size=0xe) addr:0x020ba5e8
|
||||
func_ov001_020b8db8 kind:function(thumb,size=0x6c) addr:0x020ba5f8
|
||||
func_ov001_020b8e24 kind:function(thumb,size=0x30) addr:0x020ba664
|
||||
func_ov001_020b8e54 kind:function(thumb,size=0x20) addr:0x020ba694
|
||||
func_ov001_020b8e74 kind:function(thumb,size=0x18) addr:0x020ba6b4
|
||||
func_ov001_020b8e8c kind:function(thumb,size=0x1c) addr:0x020ba6cc
|
||||
func_ov001_020b8ea8 kind:function(thumb,size=0x3c) addr:0x020ba6e8
|
||||
func_ov001_020b8ee4 kind:function(thumb,size=0x18) addr:0x020ba724
|
||||
func_ov001_020b8efc kind:function(thumb,size=0x1c) addr:0x020ba73c
|
||||
func_ov001_020b8f18 kind:function(thumb,size=0x80) addr:0x020ba758
|
||||
func_ov001_020b8f98 kind:function(thumb,size=0xd4) addr:0x020ba7d8
|
||||
func_ov001_020b906c kind:function(thumb,size=0x80) addr:0x020ba8ac
|
||||
func_ov001_020b90ec kind:function(thumb,size=0xc6) addr:0x020ba92c
|
||||
func_ov001_020b91b4 kind:function(thumb,size=0x10) addr:0x020ba9f4
|
||||
func_ov001_020b91c4 kind:function(thumb,size=0x10) addr:0x020baa04
|
||||
func_ov001_020b91d4 kind:function(thumb,size=0x24) addr:0x020baa14
|
||||
func_ov001_020b91f8 kind:function(thumb,size=0x1c) addr:0x020baa38
|
||||
func_ov001_020b9214 kind:function(thumb,size=0x28) addr:0x020baa54
|
||||
func_ov001_020b923c kind:function(thumb,size=0x1c) addr:0x020baa7c
|
||||
func_ov001_020b9258 kind:function(thumb,size=0x18) addr:0x020baa98
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7b38EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8 kind:function(thumb,size=0xd0) addr:0x020b9360
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK22UnkStruct_SceneChange1PK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x174) addr:0x020b9430
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xec) addr:0x020b95a4
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e50Ev kind:function(thumb,size=0x16) addr:0x020b9690
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x1d4) addr:0x020b96a8
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b803cEv kind:function(thumb,size=0xc0) addr:0x020b987c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b80fcEj kind:function(thumb,size=0x24) addr:0x020b993c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b8120Ej kind:function(thumb,size=0x6c) addr:0x020b9960
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b818cEv kind:function(thumb,size=0x3c) addr:0x020b99cc
|
||||
_ZN8InstanceI18UnkStruct_027e0cd8EC2Ev kind:function(thumb,size=0xc) addr:0x020b9a08
|
||||
_ZN8InstanceI18UnkStruct_027e0cd8ED2Ev kind:function(thumb,size=0xc) addr:0x020b9a14
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseC1EP18UnkStruct_027e0cd8 kind:function(thumb,size=0x218) addr:0x020b9a20
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD1Ev kind:function(thumb,size=0x98) addr:0x020b9c38
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD0Ev kind:function(thumb,size=0xa0) addr:0x020b9cd0
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD2Ev kind:function(thumb,size=0x98) addr:0x020b9d70
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x020b9e08
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x020b9e0c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x2f0) addr:0x020b9e10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88c0Ei kind:function(thumb,size=0x2c) addr:0x020ba100
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88ecEv kind:function(thumb,size=0x60) addr:0x020ba12c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xe0) addr:0x020ba18c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK22UnkStruct_SceneChange1bb kind:function(thumb,size=0x2c) addr:0x020ba26c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_20Ev kind:function(thumb,size=0x2) addr:0x020ba298
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020ba29c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8aecEv kind:function(thumb,size=0xa8) addr:0x020ba32c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8b94EP12ZMBEntryARAB kind:function(thumb,size=0x9c) addr:0x020ba3d4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK33UnkStruct_027e0cd8_0C_Base_154_00 kind:function(thumb,size=0x4e) addr:0x020ba470
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c80Ei kind:function(thumb,size=0x10) addr:0x020ba4c0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90Ei kind:function(thumb,size=0x8) addr:0x020ba4d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98Ei kind:function(thumb,size=0x8) addr:0x020ba4d8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_34Ei kind:function(thumb,size=0x8) addr:0x020ba4e0
|
||||
_ZN24UnkStruct_ov001_020c40f4D1Ev kind:function(thumb,size=0x2) addr:0x020ba4e8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_40Eh kind:function(thumb,size=0xfc) addr:0x020ba4ec
|
||||
_ZN24UnkStruct_ov001_020c40f4C1Ev kind:function(thumb,size=0xe) addr:0x020ba5e8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8db8Ev kind:function(thumb,size=0x6c) addr:0x020ba5f8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e24Ev kind:function(thumb,size=0x30) addr:0x020ba664
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e54Ev kind:function(thumb,size=0x20) addr:0x020ba694
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020ba6b4
|
||||
_ZN12CustomVectorI33UnkStruct_027e0cd8_0C_Base_154_00ED1Ev kind:function(thumb,size=0x1c) addr:0x020ba6cc
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE5eraseEPS1_S4_13UnkMSLStruct1 kind:function(thumb,size=0x3c) addr:0x020ba6e8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE13sub_push_backERKS1_N10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x18) addr:0x020ba724
|
||||
_ZN12CustomVectorIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseED1Ev kind:function(thumb,size=0x1c) addr:0x020ba73c
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020ba758
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020ba7d8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020ba8ac
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE14append_reallocEmRKS1_ kind:function(thumb,size=0xc6) addr:0x020ba92c
|
||||
_ZNSt20__vec_deleter_helperI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020ba9f4
|
||||
_ZNSt20__vec_deleter_helperIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x10) addr:0x020baa04
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x24) addr:0x020baa14
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED2Ev kind:function(thumb,size=0x1c) addr:0x020baa38
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020baa54
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020baa7c
|
||||
__arraydtor$4129 kind:function(thumb,size=0x18) addr:0x020baa98 local
|
||||
func_ov001_020b9270 kind:function(thumb,size=0x70) addr:0x020baab0
|
||||
func_ov001_020b92e0 kind:function(thumb,size=0x18c) addr:0x020bab20
|
||||
func_ov001_020b946c kind:function(thumb,size=0x4) addr:0x020bacac
|
||||
func_ov001_020b9470 kind:function(thumb,size=0x3e) addr:0x020bacb0
|
||||
func_ov001_020b94b0 kind:function(thumb,size=0x164) addr:0x020bacf0
|
||||
ZMB_ParseFile kind:function(thumb,size=0x164) addr:0x020bacf0
|
||||
func_ov001_020b9614 kind:function(thumb,size=0xe) addr:0x020bae54
|
||||
func_ov001_020b9624 kind:function(thumb,size=0xfc) addr:0x020bae64
|
||||
func_ov001_020b9720 kind:function(thumb,size=0x40) addr:0x020baf60
|
||||
@@ -154,31 +154,31 @@ func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020bc20c
|
||||
_ZN18UnkStruct_027e09bcD1Ev kind:function(thumb,size=0x7c) addr:0x020bc31c
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020bab5cEv kind:function(thumb,size=0x6c) addr:0x020bc398
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020babc8Ev kind:function(thumb,size=0x20) addr:0x020bc404
|
||||
func_ov001_020babe8 kind:function(thumb,size=0x20) addr:0x020bc424
|
||||
func_ov001_020bac08 kind:function(thumb,size=0x20) addr:0x020bc444
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020babe8Ev kind:function(thumb,size=0x20) addr:0x020bc424
|
||||
_ZN18UnkStruct_027e09bc19func_ov001_020bac08Ev kind:function(thumb,size=0x20) addr:0x020bc444
|
||||
func_ov001_020bac28 kind:function(thumb,size=0xc) addr:0x020bc464
|
||||
func_ov001_020bac34 kind:function(thumb,size=0xc) addr:0x020bc470
|
||||
_ZN16MapObjectManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bc47c
|
||||
func_ov001_020bac58 kind:function(thumb,size=0x1e) addr:0x020bc494
|
||||
_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bc4b4
|
||||
func_ov001_020bac9c kind:function(thumb,size=0x3c) addr:0x020bc4d8
|
||||
func_ov001_020bacd8 kind:function(thumb,size=0xa8) addr:0x020bc514
|
||||
func_ov001_020bad80 kind:function(thumb,size=0x20) addr:0x020bc5bc
|
||||
func_ov001_020bada0 kind:function(thumb,size=0x20) addr:0x020bc5dc
|
||||
func_ov001_020badb4 kind:function(thumb,size=0x2c) addr:0x020bc5fc
|
||||
func_ov001_020bade0 kind:function(thumb,size=0x60) addr:0x020bc628
|
||||
func_ov001_020bae40 kind:function(thumb,size=0x2c) addr:0x020bc688
|
||||
func_ov001_020bae6c kind:function(thumb,size=0x34) addr:0x020bc6b4
|
||||
func_ov001_020baea0 kind:function(thumb,size=0x88) addr:0x020bc6e8
|
||||
func_ov001_020baf28 kind:function(thumb,size=0x22) addr:0x020bc770
|
||||
_ZN16MapObjectManager19func_ov001_020bac9cEv kind:function(thumb,size=0x3c) addr:0x020bc4d8
|
||||
_ZN16MapObjectManager19func_ov001_020bacd8EP9ZOBHeader kind:function(thumb,size=0xa8) addr:0x020bc514
|
||||
_ZN16MapObjectManager19func_ov001_020bad80Ev kind:function(thumb,size=0x20) addr:0x020bc5bc
|
||||
_ZN16MapObjectManager19func_ov001_020bada0Ev kind:function(thumb,size=0x20) addr:0x020bc5dc
|
||||
_ZN16MapObjectManager19func_ov001_020badb4Ev kind:function(thumb,size=0x2c) addr:0x020bc5fc
|
||||
_ZN16MapObjectManager19func_ov001_020bade0Ev kind:function(thumb,size=0x60) addr:0x020bc628
|
||||
_ZN16MapObjectManager19func_ov001_020bae40EP15ZeldaObjectList kind:function(thumb,size=0x2c) addr:0x020bc688
|
||||
_ZN16MapObjectManager19func_ov001_020bae6cEv kind:function(thumb,size=0x34) addr:0x020bc6b4
|
||||
_ZN16MapObjectManager19func_ov001_020baea0EP5Vec2s kind:function(thumb,size=0x88) addr:0x020bc6e8
|
||||
_ZN16MapObjectManager19func_ov001_020baf28Ev kind:function(thumb,size=0x22) addr:0x020bc770
|
||||
func_ov001_020baf4c kind:function(thumb,size=0xc) addr:0x020bc794
|
||||
func_ov001_020baf58 kind:function(thumb,size=0xc) addr:0x020bc7a0
|
||||
_ZN12ActorManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bc7ac
|
||||
_ZN12ActorManagerC1Ev kind:function(thumb,size=0x46) addr:0x020bc7c4
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x18) addr:0x020bc80c
|
||||
_ZN12ActorManager19func_ov001_020bafdcEv kind:function(thumb,size=0x3c) addr:0x020bc824
|
||||
_ZN12ActorManager19func_ov001_020bb018EP36UnkStruct_func_ov001_020bb018_param2 kind:function(thumb,size=0x3fc) addr:0x020bc860
|
||||
_ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0x020bcc5c
|
||||
_ZN12ActorManager19func_ov001_020bb018EP9ZOBHeader kind:function(thumb,size=0x3fc) addr:0x020bc860
|
||||
_ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x020bcc5c
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bccd0
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bcd90
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bce78
|
||||
@@ -225,11 +225,11 @@ _ZN18UnkStruct_027e0ce0D1Ev kind:function(thumb,size=0x86) addr:0x020bdc98
|
||||
func_ov001_020bc4d8 kind:function(thumb,size=0x4c) addr:0x020bdd20
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc524Eb kind:function(thumb,size=0xd4) addr:0x020bdd6c
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc5f8Ev kind:function(thumb,size=0x62) addr:0x020bde40
|
||||
func_ov001_020bc65c kind:function(thumb,size=0x40) addr:0x020bdea4
|
||||
func_ov001_020bc69c kind:function(thumb,size=0x3c) addr:0x020bdee4
|
||||
func_ov001_020bc6d8 kind:function(thumb,size=0xe) addr:0x020bdf20
|
||||
func_ov001_020bc6e8 kind:function(thumb,size=0x14) addr:0x020bdf30
|
||||
func_ov001_020bc6fc kind:function(thumb,size=0x52) addr:0x020bdf44
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc65cEv kind:function(thumb,size=0x40) addr:0x020bdea4
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc69cEv kind:function(thumb,size=0x3c) addr:0x020bdee4
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6d8EiPK24UnkStruct_ov001_020c40f4 kind:function(thumb,size=0xe) addr:0x020bdf20
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6e8EPK24UnkStruct_ov001_020c40f4 kind:function(thumb,size=0x14) addr:0x020bdf30
|
||||
_ZN18UnkStruct_027e0ce019func_ov001_020bc6fcEPK24UnkStruct_ov001_020c40f4S2_ii kind:function(thumb,size=0x52) addr:0x020bdf44
|
||||
func_ov001_020bc750 kind:function(thumb,size=0xc) addr:0x020bdf98
|
||||
func_ov001_020bc75c kind:function(thumb,size=0xc) addr:0x020bdfa4
|
||||
func_ov001_020bc768 kind:function(thumb,size=0x20) addr:0x020bdfb0
|
||||
@@ -264,8 +264,8 @@ _ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bedd4
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bedf8
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bee80
|
||||
func_ov001_020bd678 kind:function(thumb,size=0x14) addr:0x020beec0
|
||||
func_ov001_020bd68c kind:function(thumb,size=0x1c) addr:0x020beed4
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd678Ev kind:function(thumb,size=0x14) addr:0x020beec0
|
||||
_ZN18UnkStruct_0204a11019func_ov001_020bd68cEv kind:function(thumb,size=0x1c) addr:0x020beed4
|
||||
func_ov001_020bd6a8 kind:function(thumb,size=0x18) addr:0x020beef0
|
||||
func_ov001_020bd6c0 kind:function(thumb,size=0x38) addr:0x020bef08
|
||||
func_ov001_020bd6f8 kind:function(thumb,size=0x30) addr:0x020bef40
|
||||
@@ -287,8 +287,8 @@ func_ov001_020bd910 kind:function(thumb,size=0x30) addr:0x020bf158
|
||||
func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bf188
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bf1c4
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bf658
|
||||
func_ov001_020bde4c kind:function(thumb,size=0x10) addr:0x020bf6a0
|
||||
func_ov001_020bde5c kind:function(thumb,size=0x10) addr:0x020bf6b0
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x10) addr:0x020bf6a0
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv kind:function(thumb,size=0x10) addr:0x020bf6b0
|
||||
func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bf6c0
|
||||
func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bf6d0
|
||||
func_ov001_020bde90 kind:function(thumb,size=0x110) addr:0x020bf6e4
|
||||
@@ -313,14 +313,14 @@ _ZN18UnkStruct_027e09c07DestroyEv kind:function(thumb,size=0x8) addr:0x020bfb40
|
||||
func_ov001_020be2f4 kind:function(thumb,size=0xa0) addr:0x020bfb48
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be394Ev kind:function(thumb,size=0x30) addr:0x020bfbe8
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be3c4Ev kind:function(thumb,size=0x18) addr:0x020bfc18
|
||||
func_ov001_020be3dc kind:function(thumb,size=0x24) addr:0x020bfc30
|
||||
func_ov001_020be400 kind:function(thumb,size=0x3c) addr:0x020bfc54
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be3dcEP14UnkFileSystem3P26UnkStruct_027e0cd8_0C_Base kind:function(thumb,size=0x24) addr:0x020bfc30
|
||||
_ZN18UnkStruct_027e09c019func_ov001_020be400Ev kind:function(thumb,size=0x3c) addr:0x020bfc54
|
||||
func_ov001_020be43c kind:function(thumb,size=0x20) addr:0x020bfc90
|
||||
func_ov001_020be45c kind:function(thumb,size=0xc) addr:0x020bfcb0
|
||||
func_ov001_020be468 kind:function(thumb,size=0xc) addr:0x020bfcbc
|
||||
func_ov001_020be474 kind:function(thumb,size=0x70) addr:0x020bfcc8
|
||||
func_ov001_020be4e4 kind:function(thumb,size=0x1e) addr:0x020bfd38
|
||||
func_ov001_020be504 kind:function(thumb,size=0xc) addr:0x020bfd58
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be504Ev kind:function(thumb,size=0xc) addr:0x020bfd58
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be510Ev kind:function(thumb,size=0xd8) addr:0x020bfd64
|
||||
func_ov001_020be5e8 kind:function(thumb,size=0x80) addr:0x020bfe3c
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be668Ev kind:function(thumb,size=0x70) addr:0x020bfebc
|
||||
@@ -330,9 +330,9 @@ func_ov001_020be79c kind:function(thumb,size=0x90) addr:0x020bfff0
|
||||
func_ov001_020be82c kind:function(thumb,size=0x54) addr:0x020c0080
|
||||
func_ov001_020be880 kind:function(thumb,size=0x60) addr:0x020c00d4
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020c0134
|
||||
func_ov001_020be92c kind:function(thumb,size=0x20) addr:0x020c0180
|
||||
func_ov001_020be94c kind:function(thumb,size=0x4c) addr:0x020c01a0
|
||||
func_ov001_020be998 kind:function(thumb,size=0x64) addr:0x020c01ec
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be92cEP24UnkStruct_027e0cd8_04_0C kind:function(thumb,size=0x20) addr:0x020c0180
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be94cEv kind:function(thumb,size=0x4c) addr:0x020c01a0
|
||||
_ZN24UnkStruct_ov000_020b504c19func_ov001_020be998Ev kind:function(thumb,size=0x64) addr:0x020c01ec
|
||||
func_ov001_020be9fc kind:function(thumb,size=0x30) addr:0x020c0250
|
||||
func_ov001_020bea2c kind:function(thumb,size=0x14) addr:0x020c0280
|
||||
func_ov001_020bea40 kind:function(thumb,size=0x18) addr:0x020c0294
|
||||
@@ -356,7 +356,7 @@ func_ov001_020bed34 kind:function(thumb,size=0x1c) addr:0x020c0588
|
||||
func_ov001_020bed50 kind:function(thumb,size=0x248) addr:0x020c05a4
|
||||
func_ov001_020bef98 kind:function(thumb,size=0x7c) addr:0x020c07ec
|
||||
func_ov001_020bf014 kind:function(thumb,size=0x14) addr:0x020c0868
|
||||
func_ov001_020bf028 kind:function(thumb,size=0x1c) addr:0x020c087c
|
||||
_ZN18UnkStruct_027e0cec19func_ov001_020bf028Ev kind:function(thumb,size=0x1c) addr:0x020c087c
|
||||
func_ov001_020bf044 kind:function(arm,size=0x38) addr:0x020c0898
|
||||
func_ov001_020bf07c kind:function(arm,size=0x10) addr:0x020c08d0
|
||||
func_ov001_020bf08c kind:function(arm,size=0x14) addr:0x020c08e0
|
||||
@@ -507,10 +507,10 @@ data_ov001_020c3fc0 kind:data(any) addr:0x020c3fc0
|
||||
data_ov001_020c3ffc kind:data(any) addr:0x020c3ffc
|
||||
data_ov001_020c4060 kind:data(any) addr:0x020c4060
|
||||
__sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c4068 local
|
||||
__sinit_ov001_020c408c kind:function(thumb,size=0xb8) addr:0x020c408c
|
||||
__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:function(thumb,size=0xb8) addr:0x020c408c
|
||||
__sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144
|
||||
.p__sinit_CourseList.cpp kind:data(word) addr:0x020c4154 local
|
||||
.p__sinit_ov001_020c408c kind:data(word) addr:0x020c4158
|
||||
.p__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:data(word) addr:0x020c4158
|
||||
.p__sinit_ov001_020c4144 kind:data(word) addr:0x020c415c
|
||||
.p__sinit_ov001_020c2958 kind:data(word) addr:0x020c4160 local
|
||||
.p__sinit_ov001_020c2f5c kind:data(word) addr:0x020c4164 local
|
||||
@@ -519,29 +519,23 @@ __sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144
|
||||
.p__sinit_ov001_020c3dc4 kind:data(word) addr:0x020c4170 local
|
||||
@433 kind:data(byte[22]) addr:0x020c4180 local
|
||||
@450 kind:data(byte[22]) addr:0x020c4198 local
|
||||
data_ov001_020c41b0 kind:data(any) addr:0x020c41b0
|
||||
data_ov001_020c41c4 kind:data(any) addr:0x020c41c4
|
||||
data_ov001_020c41c8 kind:data(any) addr:0x020c41c8
|
||||
data_ov001_020c41e4 kind:data(any) addr:0x020c41e4
|
||||
data_ov001_020c41f4 kind:data(any) addr:0x020c41f4
|
||||
data_ov001_020c41fc kind:data(any) addr:0x020c41fc
|
||||
data_ov001_020c4218 kind:data(any) addr:0x020c4218
|
||||
data_ov001_020c4230 kind:data(any) addr:0x020c4230
|
||||
data_ov001_020c423c kind:data(any) addr:0x020c423c
|
||||
data_ov001_020c426c kind:data(any) addr:0x020c426c
|
||||
data_ov001_020c4280 kind:data(any) addr:0x020c4280
|
||||
data_ov001_020c4294 kind:data(any) addr:0x020c4294
|
||||
data_ov001_020c42a8 kind:data(any) addr:0x020c42a8
|
||||
data_ov001_020c42bc kind:data(any) addr:0x020c42bc
|
||||
data_ov001_020c42d0 kind:data(any) addr:0x020c42d0
|
||||
data_ov001_020c42d8 kind:data(any) addr:0x020c42d8
|
||||
data_ov001_020c42e4 kind:data(any) addr:0x020c42e4
|
||||
data_ov001_020c42ec kind:data(any) addr:0x020c42ec
|
||||
data_ov001_020c4300 kind:data(any) addr:0x020c4300
|
||||
data_ov001_020c4314 kind:data(any) addr:0x020c4314
|
||||
data_ov001_020c4330 kind:data(any) addr:0x020c4330
|
||||
data_ov001_020c434c kind:data(any) addr:0x020c434c
|
||||
data_ov001_020c4364 kind:data(any) addr:0x020c4364
|
||||
@3570 kind:data(byte[0x12]) addr:0x020c41b0 local
|
||||
@3571 kind:data(byte[0x04]) addr:0x020c41c4 local
|
||||
@3572 kind:data(byte[0x1a]) addr:0x020c41c8 local
|
||||
@3573 kind:data(byte[0x18]) addr:0x020c41e4 local
|
||||
@3574 kind:data(byte[0x19]) addr:0x020c41fc local
|
||||
@3575 kind:data(byte[0x17]) addr:0x020c4218 local
|
||||
@3576 kind:data(byte[0x04]) addr:0x020c4230 local
|
||||
_ZTV26UnkStruct_027e0cd8_0C_Base kind:data(any) addr:0x020c4234
|
||||
data_ov001_020c2a40 kind:data(any) addr:0x020c4280
|
||||
@3283 kind:data(byte[0x6]) addr:0x020c42d0 local
|
||||
@3284 kind:data(byte[0x13]) addr:0x020c42d8 local
|
||||
@3285 kind:data(byte[0x13]) addr:0x020c42ec local
|
||||
@3286 kind:data(byte[0x13]) addr:0x020c4300 local
|
||||
@3287 kind:data(byte[0x1b]) addr:0x020c4314 local
|
||||
@3288 kind:data(byte[0x1c]) addr:0x020c4330 local
|
||||
@3292 kind:data(byte[0x17]) addr:0x020c434c local
|
||||
@3293 kind:data(byte[0x15]) addr:0x020c4364 local
|
||||
data_ov001_020c437c kind:data(any) addr:0x020c437c
|
||||
data_ov001_020c4388 kind:data(any) addr:0x020c4388
|
||||
data_ov001_020c4398 kind:data(any) addr:0x020c4398
|
||||
@@ -639,8 +633,8 @@ data_ov001_020c4814 kind:data(any) addr:0x020c4814
|
||||
data_ov001_020c4818 kind:data(any) addr:0x020c4818
|
||||
_ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4820
|
||||
_ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4824
|
||||
data_ov001_020c5928 kind:bss addr:0x020c5928
|
||||
data_ov001_020c5934 kind:bss addr:0x020c5934
|
||||
@4613 kind:bss addr:0x020c5928 local
|
||||
data_ov001_020c40f4 kind:bss addr:0x020c5934 local
|
||||
data_ov001_020c5f34 kind:bss addr:0x020c5f34
|
||||
data_ov001_020c5f38 kind:bss addr:0x020c5f38
|
||||
data_ov001_020c5f3c kind:bss addr:0x020c5f3c
|
||||
|
||||
@@ -41,7 +41,7 @@ _ZN27UnkStruct_027e09a4_54_Type3C1EP18UnkStruct_027e09a4 kind:function(arm,size=
|
||||
_ZN19func_ov021_020ebffcD1Ev kind:function(arm,size=0x30) addr:0x020ebffc
|
||||
_ZN19func_ov021_020ec02cD0Ev kind:function(arm,size=0x38) addr:0x020ec02c
|
||||
func_ov021_020ec064 kind:function(arm,size=0xc) addr:0x020ec064
|
||||
func_ov021_020ec070 kind:function(arm,size=0x20) addr:0x020ec070
|
||||
_ZN30UnkStruct_027e0cd8_0C_Derived3C1EP18UnkStruct_027e0cd8 kind:function(arm,size=0x20) addr:0x020ec070
|
||||
func_ov021_020ec090 kind:function(arm,size=0x28) addr:0x020ec090
|
||||
_ZN19func_ov021_020ec0b8D1Ev kind:function(arm,size=0x14) addr:0x020ec0b8
|
||||
_ZN19func_ov021_020ec0ccD0Ev kind:function(arm,size=0x1c) addr:0x020ec0cc
|
||||
|
||||
@@ -101,7 +101,7 @@ _ZN21UnkStruct_027e0ce0_38D0Ev kind:function(arm,size=0xe4) addr:0x020de1fc
|
||||
func_ov026_020de2e0 kind:function(arm,size=0x28) addr:0x020de2e0
|
||||
func_ov026_020de308 kind:function(arm,size=0x98) addr:0x020de308
|
||||
func_ov026_020de3a0 kind:function(arm,size=0x64) addr:0x020de3a0
|
||||
func_ov026_020de404 kind:function(arm,size=0x1788) addr:0x020de404
|
||||
_ZN24UnkStruct_ov026_02138d1019func_ov026_020dca14Ev kind:function(arm,size=0x1788) addr:0x020de404
|
||||
func_ov026_020dfb8c kind:function(arm,size=0x38) addr:0x020dfb8c
|
||||
func_ov026_020dfbc4 kind:function(arm,size=0x30) addr:0x020dfbc4
|
||||
func_ov026_020dfbf4 kind:function(arm,size=0x158) addr:0x020dfbf4
|
||||
@@ -291,13 +291,13 @@ func_ov026_020eac08 kind:function(arm,size=0x98) addr:0x020eac08
|
||||
func_ov026_020eaca0 kind:function(arm,size=0x364) addr:0x020eaca0
|
||||
func_ov026_020eb004 kind:function(arm,size=0x10) addr:0x020eb004
|
||||
func_ov026_020eb014 kind:function(arm,size=0x74) addr:0x020eb014
|
||||
func_ov026_020eb088 kind:function(arm,size=0x44) addr:0x020eb088
|
||||
func_ov026_020eb0cc kind:function(arm,size=0x48) addr:0x020eb0cc
|
||||
_ZN21UnkStruct_027e0cd8_10C1Ev kind:function(arm,size=0x44) addr:0x020eb088
|
||||
_ZN21UnkStruct_027e0cd8_10D1Ev kind:function(arm,size=0x48) addr:0x020eb0cc
|
||||
func_ov026_020eb114 kind:function(arm,size=0x2c) addr:0x020eb114
|
||||
func_ov026_020eb140 kind:function(arm,size=0x1c) addr:0x020eb140
|
||||
func_ov026_020eb15c kind:function(arm,size=0x1c) addr:0x020eb15c
|
||||
func_ov026_020eb178 kind:function(arm,size=0x24) addr:0x020eb178
|
||||
func_ov026_020eb19c kind:function(arm,size=0x4) addr:0x020eb19c
|
||||
func_ov026_020e9208 kind:function(arm,size=0x4) addr:0x020eb19c
|
||||
func_ov026_020eb1a0 kind:function(arm,size=0x24) addr:0x020eb1a0
|
||||
func_ov026_020eb1c4 kind:function(arm,size=0x20) addr:0x020eb1c4
|
||||
func_ov026_020eb1e4 kind:function(arm,size=0x20) addr:0x020eb1e4
|
||||
@@ -1095,7 +1095,7 @@ func_ov026_02107900 kind:function(arm,size=0x38) addr:0x02107900
|
||||
func_ov026_02107938 kind:function(arm,size=0x38) addr:0x02107938
|
||||
func_ov026_02107970 kind:function(arm,size=0x1c) addr:0x02107970
|
||||
func_ov026_0210798c kind:function(arm,size=0x4) addr:0x0210798c
|
||||
func_ov026_02107990 kind:function(arm,size=0x1dc) addr:0x02107990
|
||||
_ZN30UnkStruct_027e0cd8_0C_Derived2C1EP18UnkStruct_027e0cd8 kind:function(arm,size=0x1dc) addr:0x02107990
|
||||
func_ov026_02107b6c kind:function(arm,size=0x10c) addr:0x02107b6c
|
||||
_ZN19func_ov026_02107c78D0Ev kind:function(arm,size=0x114) addr:0x02107c78
|
||||
func_ov026_02107d8c kind:function(arm,size=0xc0) addr:0x02107d8c
|
||||
@@ -1127,7 +1127,7 @@ func_ov026_02108ce0 kind:function(arm,size=0x4) addr:0x02108ce0
|
||||
func_ov026_02108ce4 kind:function(arm,size=0x4) addr:0x02108ce4
|
||||
func_ov026_02108ce8 kind:function(arm,size=0x8) addr:0x02108ce8
|
||||
func_ov026_02108cf0 kind:function(arm,size=0x14) addr:0x02108cf0
|
||||
_ZN25UnkStruct_027e0cd8_0c_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02108d04
|
||||
_ZN25UnkStruct_027e0cd8_0C_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02108d04
|
||||
func_ov026_02108d18 kind:function(arm,size=0x84) addr:0x02108d18
|
||||
func_ov026_02108d9c kind:function(arm,size=0x4c) addr:0x02108d9c
|
||||
func_ov026_02108de8 kind:function(arm,size=0x64) addr:0x02108de8
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func_ov047_02131ec0 kind:function(arm,size=0x64) addr:0x02131ec0
|
||||
func_ov047_02131f24 kind:function(arm,size=0x28) addr:0x02131f24
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_98C1Ev kind:function(arm,size=0x64) addr:0x02131ec0
|
||||
_ZN29UnkStruct_027e0cd8_0C_Base_98D1Ev kind:function(arm,size=0x28) addr:0x02131f24
|
||||
func_ov047_02131f4c kind:function(arm,size=0x30) addr:0x02131f4c
|
||||
func_ov047_02131f7c kind:function(arm,size=0x200) addr:0x02131f7c
|
||||
func_ov047_0213217c kind:function(arm,size=0x39c) addr:0x0213217c
|
||||
|
||||
@@ -385,8 +385,8 @@ _ZN12ActorUnkLBRC19func_ov084_021632e0Ev kind:function(arm,size=0xbc) addr:0x021
|
||||
_ZN12ActorUnkLBRCD1Ev kind:function(arm,size=0x38) addr:0x0216339c
|
||||
_ZN12ActorUnkLBRCD0Ev kind:function(arm,size=0x40) addr:0x021633d4
|
||||
_ZN19ActorProfileUnkLBRCD1Ev kind:function(arm,size=0x14) addr:0x02163414
|
||||
func_ov084_02163428 kind:function(arm,size=0x80) addr:0x02163428
|
||||
func_ov084_021634a8 kind:function(arm,size=0x1c) addr:0x021634a8
|
||||
func_ov084_0216122c kind:function(arm,size=0x80) addr:0x02163428
|
||||
func_ov084_021612ac kind:function(arm,size=0x1c) addr:0x021634a8
|
||||
_ZN23MapObjectProfileUnkPLV210GetProfileEv kind:function(arm,size=0xc) addr:0x021634c4
|
||||
_ZN23MapObjectProfileUnkPLV26CreateEv kind:function(arm,size=0x24) addr:0x021634d0
|
||||
_ZN23MapObjectProfileUnkPLV2C1Ev kind:function(arm,size=0xa4) addr:0x021634f4
|
||||
@@ -663,7 +663,7 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkSTSVE8sProfileE kind:bss addr:0x021667
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkLBRCE8sProfileE kind:bss addr:0x02166808
|
||||
@33823 kind:bss addr:0x0216680c
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkLBRCE8sProfileE kind:bss addr:0x02166818
|
||||
data_ov084_021668f0 kind:bss addr:0x021668f0
|
||||
data_ov084_02164690 kind:bss addr:0x021668f0
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkPLV2E8sProfileE kind:bss addr:0x021668f4
|
||||
@33267 kind:bss addr:0x021668f8
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkPLV2E8sProfileE kind:bss addr:0x02166904
|
||||
|
||||
@@ -2,7 +2,7 @@ func_ov088_02167b00 kind:function(arm,size=0x30) addr:0x02167b00
|
||||
_ZN19func_ov088_02167b30D1Ev kind:function(arm,size=0x34) addr:0x02167b30
|
||||
_ZN19func_ov088_02167b64D0Ev kind:function(arm,size=0x3c) addr:0x02167b64
|
||||
_ZN19func_ov088_02167ba0D2Ev kind:function(arm,size=0x34) addr:0x02167ba0
|
||||
func_ov088_02167bd4 kind:function(arm,size=0x14c) addr:0x02167bd4
|
||||
_ZN21UnkStruct_027e09b8_08C1EPv kind:function(arm,size=0x14c) addr:0x02167bd4
|
||||
func_ov088_02167d20 kind:function(arm,size=0x84) addr:0x02167d20
|
||||
_ZN19func_ov088_02167da4D0Ev kind:function(arm,size=0x8c) addr:0x02167da4
|
||||
func_ov088_02167e30 kind:function(arm,size=0xc) addr:0x02167e30
|
||||
|
||||
@@ -11,7 +11,7 @@ func_ov089_02167c94 kind:function(arm,size=0x34) addr:0x02167c94
|
||||
func_ov089_02167cc8 kind:function(arm,size=0x94) addr:0x02167cc8
|
||||
func_ov089_02167d5c kind:function(arm,size=0x1c) addr:0x02167d5c
|
||||
func_ov089_02167d78 kind:function(arm,size=0x11c) addr:0x02167d78
|
||||
func_ov089_02167e94 kind:function(arm,size=0x4c) addr:0x02167e94
|
||||
func_ov089_02165c34 kind:function(arm,size=0x4c) addr:0x02167e94
|
||||
func_ov089_02167ee0 kind:function(arm,size=0xe8) addr:0x02167ee0
|
||||
func_ov089_02167fc8 kind:function(arm,size=0x34) addr:0x02167fc8
|
||||
func_ov089_02167ffc kind:function(arm,size=0x5c) addr:0x02167ffc
|
||||
@@ -419,7 +419,7 @@ data_ov089_02173768 kind:data(any) addr:0x02173768
|
||||
data_ov089_0217376c kind:data(any) addr:0x0217376c
|
||||
data_ov089_02173780 kind:bss addr:0x02173780
|
||||
data_ov089_02173784 kind:bss addr:0x02173784
|
||||
data_ov089_021737a0 kind:bss addr:0x021737a0
|
||||
data_ov089_02171540 kind:bss addr:0x021737a0
|
||||
data_ov089_0217381c kind:bss addr:0x0217381c ambiguous
|
||||
data_ov089_0217382c kind:bss addr:0x0217382c ambiguous
|
||||
data_ov089_0217386c kind:bss addr:0x0217386c ambiguous
|
||||
|
||||
@@ -21,7 +21,7 @@ func_ov101_02184ea8 kind:function(thumb,size=0x134) addr:0x02184ea8
|
||||
func_ov101_02184fdc kind:function(thumb,size=0x2) addr:0x02184fdc
|
||||
func_ov101_02184fe0 kind:function(thumb,size=0xc) addr:0x02184fe0
|
||||
func_ov101_02184fec kind:function(thumb,size=0x12) addr:0x02184fec
|
||||
func_ov101_02185000 kind:function(thumb,size=0x68) addr:0x02185000
|
||||
_ZN21UnkStruct_027e0cd8_0CC1EP18UnkStruct_027e0cd8 kind:function(thumb,size=0x68) addr:0x02185000
|
||||
func_ov101_02185068 kind:function(thumb,size=0xd8) addr:0x02185068
|
||||
func_ov101_02185140 kind:function(thumb,size=0xe0) addr:0x02185140
|
||||
func_ov101_02185220 kind:function(thumb,size=0xd0) addr:0x02185220
|
||||
|
||||
@@ -526,7 +526,7 @@ func_0200e350 kind:function(arm,size=0x48) addr:0x0200e350
|
||||
func_0200e398 kind:function(arm,size=0x60) addr:0x0200e398
|
||||
func_0200e3f8 kind:function(arm,size=0x68) addr:0x0200e3f8
|
||||
func_0200e460 kind:function(arm,size=0x240) addr:0x0200e460
|
||||
func_0200e6a0 kind:function(arm,size=0xb0) addr:0x0200e6a0
|
||||
G3d_0200e6a0 kind:function(arm,size=0xb0) addr:0x0200e6a0
|
||||
func_0200e750 kind:function(arm,size=0x80) addr:0x0200e750
|
||||
func_0200e7d0 kind:function(arm,size=0x80) addr:0x0200e7d0
|
||||
func_0200e850 kind:function(arm,size=0x80) addr:0x0200e850
|
||||
@@ -719,7 +719,7 @@ func_02014948 kind:function(thumb,size=0x50) addr:0x02014948
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014998
|
||||
func_02014a14 kind:function(arm,size=0x24) addr:0x02014a14
|
||||
_ZN18UnkStruct_02049bac13func_02014a34EPv kind:function(arm,size=0xcc) addr:0x02014a38
|
||||
func_02014b04 kind:function(arm,size=0x54) addr:0x02014b04
|
||||
_ZN18UnkStruct_02049bac13func_02014b00Ev kind:function(arm,size=0x54) addr:0x02014b04
|
||||
func_02014b58 kind:function(arm,size=0x10) addr:0x02014b58
|
||||
func_02014b68 kind:function(arm,size=0x1c) addr:0x02014b68
|
||||
func_02014b84 kind:function(arm,size=0x3c) addr:0x02014b84
|
||||
@@ -754,7 +754,7 @@ _ZN17UnkFileSystem2_10D1Ev kind:function(arm,size=0x20) addr:0x0201535c
|
||||
func_0201537c kind:function(arm,size=0x18) addr:0x0201537c
|
||||
_ZN10UnkSystem3C1EPKciii kind:function(thumb,size=0x12) addr:0x02015394
|
||||
_ZN10UnkSystem313func_02015410EPKci kind:function(thumb,size=0xc) addr:0x020153a8
|
||||
func_020153b4 kind:function(thumb,size=0x44) addr:0x020153b4
|
||||
_ZN10UnkSystem313func_0201541cEPKci kind:function(thumb,size=0x44) addr:0x020153b4
|
||||
_ZN10UnkSystem313func_02015460EPKcPvi kind:function(thumb,size=0x1c) addr:0x020153f8
|
||||
_ZN10UnkSystem3D1Ev kind:function(thumb,size=0x20) addr:0x02015414
|
||||
func_02015434 kind:function(thumb,size=0x14) addr:0x02015434
|
||||
@@ -1498,7 +1498,7 @@ OS_GetLockID kind:function(arm,size=0x58) addr:0x02027c68
|
||||
func_02027cc0 kind:function(arm,size=0x30) addr:0x02027cc0
|
||||
sscanf kind:function(arm,size=0x28) addr:0x02027cf0
|
||||
vsscanf kind:function(arm,size=0x18) addr:0x02027d18
|
||||
func_02026800 kind:function(arm,size=0x28) addr:0x02027d30
|
||||
snprintf kind:function(arm,size=0x28) addr:0x02027d30
|
||||
func_02027d58 kind:function(arm,size=0xc) addr:0x02027d58
|
||||
OS_func_0035 kind:function(arm,size=0x18) addr:0x02027d64
|
||||
OS_func_0036 kind:function(arm,size=0x78) addr:0x02027d7c
|
||||
@@ -2060,7 +2060,7 @@ func_0203a25c kind:function(arm,size=0x18) addr:0x0203a25c
|
||||
_ZN13func_0203a274D0Ev kind:function(arm,size=0x20) addr:0x0203a274
|
||||
func_0203a294 kind:function(arm,size=0x30) addr:0x0203a294
|
||||
func_0203a2c4 kind:function(arm,size=0x2c) addr:0x0203a2c4
|
||||
func_0203a2f0 kind:function(arm,size=0x8c) addr:0x0203a2f0
|
||||
_ZNSt15__vector_commonILb1EE18throw_length_errorEv kind:function(arm,size=0x8c) addr:0x0203a2f0
|
||||
_dadd kind:function(arm,size=0x318) addr:0x0203a37c
|
||||
_dsub kind:function(arm,size=0x3b4) addr:0x0203a6ac
|
||||
_dmul kind:function(arm,size=0x364) addr:0x0203aa60
|
||||
|
||||
@@ -9,12 +9,6 @@
|
||||
|
||||
class UnkStruct_SceneChange1;
|
||||
|
||||
struct UnkStruct_func_ov001_020bb018_param2 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x08);
|
||||
/* 08 */ u16 mUnk_08;
|
||||
/* 08 */ u16 mUnk_0A;
|
||||
};
|
||||
|
||||
class ActorManager : public AutoInstance<ActorManager> {
|
||||
public:
|
||||
/* 00 */ Actor **mActorTable;
|
||||
@@ -55,7 +49,8 @@ public:
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bafdc();
|
||||
void func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1);
|
||||
void func_ov001_020bb018(ZOBHeader *pHeader);
|
||||
void func_ov001_020bb414();
|
||||
void func_ov001_020bb488();
|
||||
void func_ov001_020bb548();
|
||||
void func_ov001_020bb630();
|
||||
@@ -65,7 +60,6 @@ public:
|
||||
|
||||
static ActorManager *Create();
|
||||
static void Destroy();
|
||||
static void func_ov001_020bb414(ActorManager *instance);
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
static void func_ov001_020bb824();
|
||||
static void func_ov001_020bb844();
|
||||
|
||||
@@ -67,7 +67,7 @@ struct CutsceneParamsEntry {
|
||||
/* 0B */ u8 mNextCutsceneIndex;
|
||||
/* 0C */ bool mNextIsCS; // doesn't makes sense with the array's data
|
||||
/* 0C */ bool mUnk_0D;
|
||||
/* 0E */ unk16 mUnk_0E;
|
||||
/* 0E */ u16 mUnk_0E;
|
||||
/* 10 */ AdventureFlag_Half mFlag;
|
||||
/* 12 */ unk16 mUnk_12; // pad?
|
||||
/* 14 */ u32 mUnk_14;
|
||||
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
// 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(u32 param1, u8 param2, unk16 param3, unk16 param4);
|
||||
/* 38 */ virtual void vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4);
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
|
||||
@@ -953,7 +953,7 @@ public:
|
||||
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
|
||||
/* 2C */ virtual void DrawUI(unk8 *param1) override;
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2) override;
|
||||
/* 38 */ virtual void vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) override;
|
||||
/* 38 */ virtual void vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4) override;
|
||||
|
||||
void func_ov001_020c08b8();
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
|
||||
#include "files.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "math.hpp"
|
||||
@@ -33,7 +34,6 @@ public:
|
||||
MapObject *func_01fff498(Vec2b param1);
|
||||
void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2);
|
||||
MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2);
|
||||
void func_01fff6d0(VecFx32 *param1, s32 *param2, s32 *param3);
|
||||
|
||||
// overlay 0
|
||||
MapObjectId func_ov000_0209c3a8(Vec2b *param1);
|
||||
@@ -43,6 +43,17 @@ public:
|
||||
static void func_ov000_0209c490();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bac9c();
|
||||
void func_ov001_020bacd8(ZOBHeader *pHeader);
|
||||
void func_ov001_020bad80();
|
||||
void func_ov001_020bada0();
|
||||
void func_ov001_020badb4();
|
||||
void func_ov001_020bade0();
|
||||
void func_ov001_020baea0(Vec2s *param1);
|
||||
void func_ov001_020bae40(ZeldaObjectList *pObjList);
|
||||
void func_ov001_020bae6c();
|
||||
void func_ov001_020baf28();
|
||||
|
||||
static MapObjectManager *Create();
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/math.h>
|
||||
|
||||
struct AABB {
|
||||
VecFx32 min;
|
||||
VecFx32 max;
|
||||
};
|
||||
@@ -110,8 +110,8 @@ struct SaveInventory {
|
||||
};
|
||||
|
||||
struct SaveFile_00000_0000_Data_158 {
|
||||
/* 00 */ unk8 unk_00[0x0C];
|
||||
/* 0C */ unk8 unk_0C[0x20];
|
||||
/* 00 */ u32 unk_00[3];
|
||||
/* 0C */ u32 unk_0C[8];
|
||||
/* 2C */
|
||||
|
||||
SaveFile_00000_0000_Data_158() {
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
/* 218 */ SaveFile *mpSaveFile;
|
||||
/* 21C */ SaveFile_00000_0000_Data_D9C mUnk_21C;
|
||||
/* 23C */ PTMF<SaveFile>::PTMFCallback mUnk_23C;
|
||||
/* 244 */ unk32 mUnk_244;
|
||||
/* 244 */ void *mUnk_244;
|
||||
|
||||
bool IsUnk20A() {
|
||||
return this->mUnk_20A == 0;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <new>
|
||||
#include <stddef.h>
|
||||
|
||||
#define GAME_ASSERT(cond, line, msg, ...) \
|
||||
@@ -35,12 +36,6 @@ enum HeapIndex_ {
|
||||
|
||||
void *operator new(size_t length, u32 id, u32 idLength = 4);
|
||||
void *operator new[](size_t length, u32 id, u32 idLength = 4);
|
||||
void operator delete[](void *ptr);
|
||||
|
||||
inline void *operator new(size_t length, void *ptr = nullptr) {
|
||||
#pragma unused(length)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
class UnkStruct_02011e10_Sub1 {
|
||||
public:
|
||||
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
|
||||
/* 2C */ virtual void DrawUI(unk8 *param1) override;
|
||||
/* 38 */ virtual void vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) override;
|
||||
/* 38 */ virtual void vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4) override;
|
||||
|
||||
static TitleScreenManager *Create(unk32 param1);
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "Animation/CellAnimObject.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "LinkList.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "global.h"
|
||||
@@ -850,6 +851,7 @@ public:
|
||||
~UnkSystem3();
|
||||
|
||||
void func_02015410(const char *path, unk32 param2);
|
||||
void func_0201541c(const char *param1, unk32 param2);
|
||||
void func_02015460(const char *param1, void *param2, unk32 param3);
|
||||
};
|
||||
|
||||
@@ -1275,3 +1277,13 @@ struct TrainSpeedPreset {
|
||||
/* 3C */ fx32 unk_3C;
|
||||
/* 40 */
|
||||
};
|
||||
|
||||
class UnkSystem8 : public LinkList<UnkSystem8> {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 (base) */
|
||||
/* 0C */
|
||||
|
||||
// data_ov000_020b2940
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ public:
|
||||
~UnkStruct_02049bac();
|
||||
|
||||
void func_02014a34(void *param1);
|
||||
u64 func_02014b00();
|
||||
};
|
||||
|
||||
// some time system?
|
||||
|
||||
@@ -291,6 +291,8 @@ public:
|
||||
void func_ov001_020bd58c(void);
|
||||
void func_ov001_020bd638(void);
|
||||
void func_ov001_020bd5b0(void);
|
||||
void func_ov001_020bd678(void);
|
||||
void func_ov001_020bd68c(void);
|
||||
|
||||
// overlay 18
|
||||
void func_ov018_020c5300(void);
|
||||
|
||||
@@ -74,8 +74,10 @@ public:
|
||||
static UnkStruct_027e0960 *Create();
|
||||
|
||||
// overlay 1
|
||||
void func_ov000_0205a164();
|
||||
void func_ov000_0205a11c();
|
||||
void func_ov000_0205a120();
|
||||
void func_ov000_0205a160();
|
||||
void func_ov000_0205a164();
|
||||
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
@@ -4,10 +4,13 @@
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "files.h"
|
||||
#include "global.h"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_ov000_020702a8 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x20);
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x10);
|
||||
/* 10 */ Vec2s mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x20);
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
};
|
||||
|
||||
@@ -30,11 +33,12 @@ public:
|
||||
~UnkStruct_027e09a0();
|
||||
|
||||
CourseListEntry *GetCourseEntry(u32 sceneIndex);
|
||||
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1);
|
||||
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(u32 sceneIndex);
|
||||
unk32 GetRoomEntryIndex();
|
||||
CourseListRoomEntry *GetRoomEntry(u32 sceneIndex, unk32 param2);
|
||||
u32 GetSceneIndexFromName(const char *sceneName);
|
||||
bool func_ov000_02070378(u32 param1);
|
||||
void func_ov000_02070310(u32 sceneIndex, u8 roomIndex, void *param3);
|
||||
|
||||
// overlay 1
|
||||
void InitCourseTable();
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "iterator.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
|
||||
struct SaveFile;
|
||||
class UnkStruct_027e09a4;
|
||||
|
||||
@@ -60,6 +62,10 @@ struct UnkStruct_SceneChange1 {
|
||||
this->mUnk_10 = 0;
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1(const UnkStruct_SceneChange1 *pSource) {
|
||||
MI_CpuCopy32((void *) pSource, this, sizeof(UnkStruct_SceneChange1));
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1(s32) {}
|
||||
};
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
~UnkStruct_027e09ac();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_020726f0(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_020726f0(u16 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_020729c4(UnkStruct_027e09ac_14 *param1, u16 param2, u16 param3, s16 param4, s16 param5);
|
||||
|
||||
// overlay 1
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e09b0 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e09b0();
|
||||
~UnkStruct_027e09b0();
|
||||
|
||||
void func_ov000_02072cc4(unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09b0 *data_027e09b0;
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "Cutscene/Cutscene.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkSystem1.hpp"
|
||||
#include "types.h"
|
||||
#include "versions.h"
|
||||
|
||||
@@ -22,60 +24,135 @@ public:
|
||||
/* FD4 */
|
||||
|
||||
UnkStruct_027e09b8_00();
|
||||
~UnkStruct_027e09b8_00();
|
||||
|
||||
void func_ov000_02073b5c();
|
||||
void func_ov000_02073bc0();
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_04 {
|
||||
class UnkStruct_027e09b8_04_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x64);
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
/* 00 */ virtual ~UnkStruct_027e09b8_04_Base();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10() = 0;
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C();
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_04 : public UnkStruct_027e09b8_04_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x14);
|
||||
/* 14 */ UnkStruct_0204a060_Base mUnk_14;
|
||||
/* 38 */ UnkStruct_WarpUnk1_50 mUnk_38;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */
|
||||
|
||||
UnkStruct_027e09b8_04();
|
||||
~UnkStruct_027e09b8_04();
|
||||
UnkStruct_027e09b8_04() {
|
||||
this->vfunc_0C();
|
||||
}
|
||||
|
||||
// data_ov000_020b22c0
|
||||
/* 00 */ virtual ~UnkStruct_027e09b8_04() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_08 {
|
||||
class UnkStruct_027e09b8_08 : public UnkStruct_027e09b8_04_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x00);
|
||||
/* 00 */
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x30);
|
||||
/* 30 */
|
||||
|
||||
UnkStruct_027e09b8_08();
|
||||
UnkStruct_027e09b8_08(void *param1);
|
||||
~UnkStruct_027e09b8_08();
|
||||
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_0C {
|
||||
class UnkStruct_027e09b8_0C : public UnkStruct_027e09b8_04_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0xC4);
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x0C);
|
||||
/* 0C */ UnkSystem1_ov000_Derived3 mUnk_0C;
|
||||
/* 20 */ STRUCT_PAD(0x20, 0x98);
|
||||
/* 98 */ UnkStruct_WarpUnk1_50 mUnk_98;
|
||||
/* C0 */ unk32 mUnk_C4;
|
||||
/* C4 */ MapObjectId mMapObjId;
|
||||
/* C8 */
|
||||
|
||||
UnkStruct_027e09b8_0C();
|
||||
~UnkStruct_027e09b8_0C();
|
||||
UnkStruct_027e09b8_0C() {
|
||||
this->vfunc_0C();
|
||||
}
|
||||
|
||||
// data_ov000_020b234c
|
||||
/* 00 */ virtual ~UnkStruct_027e09b8_0C() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_10 {
|
||||
class UnkStruct_027e09b8_10 : public UnkStruct_027e09b8_04_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x18);
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x18);
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_027e09b8_10();
|
||||
~UnkStruct_027e09b8_10();
|
||||
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8_98 {
|
||||
public:
|
||||
/* 0000 */ STRUCT_PAD(0x00, 0x151C);
|
||||
/* 151C */
|
||||
|
||||
UnkStruct_027e09b8_98();
|
||||
~UnkStruct_027e09b8_98();
|
||||
|
||||
void func_ov000_020a7b34();
|
||||
};
|
||||
|
||||
class UnkStruct_027e09b8 : public AutoInstance<UnkStruct_027e09b8> {
|
||||
public:
|
||||
/* 00 */ UnkStruct_027e09b8_00 *mUnk_00;
|
||||
/* 04 */ UnkStruct_027e09b8_04 *mUnk_04;
|
||||
/* 08 */ UnkStruct_027e09b8_08 *mUnk_08;
|
||||
/* 0C */ UnkStruct_027e09b8_0C *mUnk_0C;
|
||||
/* 10 */ UnkStruct_027e09b8_10 *mUnk_10;
|
||||
/* 04 */ UnkStruct_027e09b8_04_Base *mUnk_04[4];
|
||||
/* 14 */ u32 mAdventureFlags[32]; //! TODO
|
||||
#if IS_JP
|
||||
//! TODO: figure out if the other versions got these too
|
||||
/* 94 */ u16 mUnk_94;
|
||||
#endif
|
||||
/* 96 */ bool mUnk_96;
|
||||
/* 97 */ bool mUnk_97;
|
||||
/* 98 */ UnkStruct_027e09b8_98 *mUnk_98;
|
||||
/* 9C */
|
||||
|
||||
UnkStruct_027e09b8_04 *GetUnk04() {
|
||||
return (UnkStruct_027e09b8_04 *) this->mUnk_04[0];
|
||||
}
|
||||
|
||||
UnkStruct_027e09b8_08 *GetUnk08() {
|
||||
return (UnkStruct_027e09b8_08 *) this->mUnk_04[1];
|
||||
}
|
||||
|
||||
UnkStruct_027e09b8_0C *GetUnk0C() {
|
||||
return (UnkStruct_027e09b8_0C *) this->mUnk_04[2];
|
||||
}
|
||||
|
||||
UnkStruct_027e09b8_10 *GetUnk10() {
|
||||
return (UnkStruct_027e09b8_10 *) this->mUnk_04[3];
|
||||
}
|
||||
|
||||
bool HasAdventureFlag(AdventureFlag flag) {
|
||||
return GET_FLAG(this->mAdventureFlags, flag);
|
||||
@@ -92,18 +169,21 @@ public:
|
||||
unk32 func_ov000_020732fc(unk32 param1);
|
||||
bool func_ov000_020732dc(unk32 param1);
|
||||
unk32 func_ov000_0207330c();
|
||||
unk32 func_ov000_02073470(void *param1, unk32 param2);
|
||||
unk32 func_ov000_02073388(void *param1, unk32 param2);
|
||||
void func_ov000_02073578(void *param1, unk32 param2);
|
||||
void func_ov000_0207332c();
|
||||
unk32 func_ov000_02073388(void *param1, unk32 param2);
|
||||
unk32 func_ov000_02073470(void *param1, unk32 param2);
|
||||
void func_ov000_02073578(void *param1, unk32 param2);
|
||||
void func_ov000_02073610(void *param1, unk32 param2);
|
||||
|
||||
#if IS_JP
|
||||
void func_ov000_02074d78(unk32 param1);
|
||||
#endif
|
||||
|
||||
// overlay 1
|
||||
void ImportAdventureFlags(AdventureFlag *pAdventureFlags);
|
||||
void func_ov001_020b76c0(CutsceneIndex csIndex);
|
||||
void func_ov001_020b7700();
|
||||
void func_ov001_020b7728();
|
||||
|
||||
static UnkStruct_027e09b8 *Create();
|
||||
static void Destroy();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -20,13 +21,20 @@ public:
|
||||
/* 04 */ UnkStruct_027e09bc_0C *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e09bc_0C *mUnk_0C;
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x48);
|
||||
/* 48 */ UnkSystem8 mUnk_48;
|
||||
|
||||
UnkStruct_027e09bc();
|
||||
~UnkStruct_027e09bc();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_020771c8();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020babc8();
|
||||
void func_ov001_020bab5c();
|
||||
void func_ov001_020babc8();
|
||||
void func_ov001_020babe8();
|
||||
void func_ov001_020bac08();
|
||||
|
||||
static UnkStruct_027e09bc *Create();
|
||||
static void Destroy();
|
||||
|
||||
@@ -2,9 +2,12 @@
|
||||
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Actor/ActorShotArrow.hpp"
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base;
|
||||
|
||||
class UnkStruct_027e09c0 : public AutoInstance<UnkStruct_027e09c0> {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
@@ -13,11 +16,14 @@ public:
|
||||
~UnkStruct_027e09c0();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0207da40();
|
||||
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, ActorShotArrow_194 *param4);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be3c4();
|
||||
void func_ov001_020be394();
|
||||
void func_ov001_020be3c4();
|
||||
void func_ov001_020be3dc(UnkFileSystem3 *param1, UnkStruct_027e0cd8_0C_Base *param2);
|
||||
void func_ov001_020be400();
|
||||
|
||||
static UnkStruct_027e09c0 *Create();
|
||||
static void Destroy();
|
||||
|
||||
@@ -5,108 +5,295 @@
|
||||
#include "types.h"
|
||||
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Save/SaveFile.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
|
||||
class MapObject_20;
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
class UnkStruct_027e0cd8_0c_160 {
|
||||
class MapObject_20;
|
||||
class UnkStruct_027e0cd8;
|
||||
|
||||
template <typename T> class FixedVector {
|
||||
private:
|
||||
/* 00 */ T *mpBegin;
|
||||
/* 04 */ T *mpEnd;
|
||||
/* 08 */ size_t mCapacity;
|
||||
|
||||
public:
|
||||
FixedVector() :
|
||||
mpBegin(NULL),
|
||||
mpEnd(NULL),
|
||||
mCapacity(0) {}
|
||||
|
||||
void Init(T *pFrom, size_t capacity) {
|
||||
this->mpBegin = pFrom;
|
||||
this->mpEnd = pFrom;
|
||||
this->mCapacity = capacity;
|
||||
}
|
||||
|
||||
T *begin() {
|
||||
return this->mpBegin;
|
||||
}
|
||||
|
||||
T *end() {
|
||||
return this->mpEnd;
|
||||
}
|
||||
|
||||
void grow_by(int n) {
|
||||
this->mpEnd += n;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov001_020c40f4 {
|
||||
public:
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */ unk16 mUnk_0C;
|
||||
/* 0E */ u8 mUnk_0E;
|
||||
/* 0F */ u8 mUnk_0F;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ov001_020c40f4() {
|
||||
this->mUnk_0E = -1;
|
||||
this->mUnk_0F = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_14 = 0;
|
||||
}
|
||||
|
||||
~UnkStruct_ov001_020c40f4() {}
|
||||
|
||||
public:
|
||||
struct Predicate {
|
||||
unk32 type;
|
||||
unk32 id;
|
||||
Predicate(unk32 t, unk32 i) :
|
||||
type(t),
|
||||
id(i) {}
|
||||
|
||||
bool operator()(const UnkStruct_ov001_020c40f4 &elem) const {
|
||||
return type == elem.mUnk_0E && id == elem.mUnk_14;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_160 {
|
||||
public:
|
||||
bool func_ov026_02106aa8();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0c {
|
||||
class UnkStruct_027e0cd8_0C_Base_88 {
|
||||
public:
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */ bool mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D; // pad?
|
||||
/* 0E */ unk8 mUnk_0E; // pad?
|
||||
/* 0F */ unk8 mUnk_0F; // pad?
|
||||
/* 10 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_88();
|
||||
|
||||
void func_ov000_020823a8(unk32 param1);
|
||||
void func_ov000_0208261c();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base_98 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0xB0);
|
||||
/* B0 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_98();
|
||||
~UnkStruct_027e0cd8_0C_Base_98();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base_148_00_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x14);
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_148_00_Base();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base_148_00 : public UnkStruct_027e0cd8_0C_Base_148_00_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x14, 0x2C);
|
||||
/* 2C */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_148_00(ZMBEntryARAB *pARAB);
|
||||
~UnkStruct_027e0cd8_0C_Base_148_00();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base_148_01 : public UnkStruct_027e0cd8_0C_Base_148_00_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x14, 0x28);
|
||||
/* 28 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_148_01(ZMBEntryARAB *pARAB);
|
||||
~UnkStruct_027e0cd8_0C_Base_148_01();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base_148_02 : public UnkStruct_027e0cd8_0C_Base_148_00_Base {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x14, 0x34);
|
||||
/* 34 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_148_02(ZMBEntryARAB *pARAB);
|
||||
~UnkStruct_027e0cd8_0C_Base_148_02();
|
||||
};
|
||||
|
||||
// UnkStruct_ov001_020c2a40 ?
|
||||
class UnkStruct_027e0cd8_0C_Base_154_00 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x14);
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_154_00(const UnkStruct_027e0cd8_0C_Base_154_00 &ref) {
|
||||
MI_CpuCopy32((void *) &ref, this, sizeof(UnkStruct_027e0cd8_0C_Base_154_00));
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ unk32 *mUnk_04;
|
||||
/* 008 */ unk32 *mUnk_08;
|
||||
/* 00C */ unk32 mUnk_0C;
|
||||
/* 010 */ unk32 *mUnk_10;
|
||||
/* 014 */ unk32 *mUnk_14;
|
||||
/* 018 */ unk32 mUnk_18;
|
||||
/* 01C */ unk32 *mUnk_1C;
|
||||
/* 020 */ unk32 mUnk_20;
|
||||
/* 024 */ unk32 *mUnk_24;
|
||||
/* 028 */ unk32 mUnk_28;
|
||||
/* 02C */ unk32 *mUnk_2C;
|
||||
/* 030 */ unk32 mUnk_30;
|
||||
/* 034 */ unk32 *mUnk_34;
|
||||
/* 038 */ unk32 mUnk_38;
|
||||
/* 03C */ unk32 mUnk_3C;
|
||||
/* 040 */ unk32 mUnk_40;
|
||||
/* 044 */ unk32 mUnk_44;
|
||||
/* 048 */ unk32 mUnk_48;
|
||||
/* 04C */ unk32 mUnk_4C;
|
||||
/* 050 */ unk32 mUnk_50;
|
||||
/* 054 */ unk32 mUnk_54;
|
||||
/* 058 */ unk32 mUnk_58;
|
||||
/* 05C */ unk32 mUnk_5C;
|
||||
/* 060 */ unk32 mUnk_60;
|
||||
/* 064 */ unk32 mUnk_64;
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06C */ unk32 mUnk_6C;
|
||||
/* 070 */ unk32 *mUnk_70;
|
||||
/* 074 */ unk32 *mUnk_74;
|
||||
/* 078 */ unk32 *mUnk_78;
|
||||
/* 07C */ unk32 mUnk_7C;
|
||||
/* 080 */ unk32 mUnk_80;
|
||||
/* 084 */ unk32 mUnk_84;
|
||||
/* 088 */ unk32 *mUnk_88;
|
||||
/* 08C */ unk32 *mUnk_8C;
|
||||
/* 090 */ unk32 mUnk_90;
|
||||
/* 094 */ unk32 mUnk_94;
|
||||
/* 098 */ unk32 mUnk_98;
|
||||
/* 09C */ unk32 mUnk_9C;
|
||||
/* 0A0 */ unk32 mUnk_A0;
|
||||
/* 0A4 */ unk32 mUnk_A4;
|
||||
/* 0A8 */ unk32 mUnk_A8;
|
||||
/* 0AC */ unk32 mUnk_AC;
|
||||
/* 0B0 */ unk32 mUnk_B0;
|
||||
/* 0B4 */ ZeldaObjectList *mUnk_B4;
|
||||
/* 0B8 */ ZeldaObjectList *mUnk_B8;
|
||||
/* 0BC */ ZeldaObjectList *mUnk_BC;
|
||||
/* 0C0 */ ZeldaObjectList *mUnk_C0;
|
||||
/* 0C4 */ ZeldaObjectList *mUnk_C4;
|
||||
/* 0C8 */ ZeldaObjectList *mUnk_C8;
|
||||
/* 0CC */ ZeldaObjectList *mUnk_CC;
|
||||
/* 0D0 */ ZeldaObjectList *mUnk_D0;
|
||||
/* 0D4 */ ZeldaObjectList *mUnk_D4;
|
||||
/* 0D8 */ ZeldaObjectList *mUnk_D8;
|
||||
/* 0DC */ ZeldaObjectList *mUnk_DC[8];
|
||||
/* 0FC */ STRUCT_PAD(0xFC, 0x128);
|
||||
/* 004 */ UnkSystem3 mUnk_004;
|
||||
/* 010 */ ModelRender mSceneRender;
|
||||
/* 070 */ UnkFileSystem5 mUnk_070;
|
||||
/* 084 */ union {
|
||||
/* 84 */ wchar_t mUnk_084[2];
|
||||
struct {
|
||||
/* 084 */ u16 mUnk_084_00;
|
||||
/* 086 */ u16 mUnk_084_01;
|
||||
};
|
||||
};
|
||||
/* 088 */ UnkStruct_027e0cd8_0C_Base_88 mUnk_088;
|
||||
/* 098 */ UnkStruct_027e0cd8_0C_Base_98 *mUnk_098;
|
||||
/* 09C */ Vec2s mUnk_09C;
|
||||
/* 0A0 */ unk32 mUnk_0A0;
|
||||
/* 0A4 */ unk32 mUnk_0A4;
|
||||
/* 0A8 */ unk32 mUnk_0A8;
|
||||
/* 0AC */ bool mUnk_0AC;
|
||||
/* 0AC */ bool mUnk_0AD;
|
||||
/* 0AC */ bool mUnk_0AE;
|
||||
/* 0AC */ bool mUnk_0AF;
|
||||
/* 0B0 */ unk32 mUnk_0B0;
|
||||
/* 0B4 */ ZeldaObjectList *mUnk_0B4;
|
||||
/* 0B8 */ ZeldaObjectList *mUnk_0B8[8]; // map objects
|
||||
/* 0D8 */ ZeldaObjectList *mUnk_0D8;
|
||||
/* 0DC */ ZeldaObjectList *mUnk_0DC[8]; // actors
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ volatile BOOL mIsCS;
|
||||
/* 104 */ unk16 mUnk_104;
|
||||
/* 108 */ unk32 mUnk_108;
|
||||
/* 10C */ unk32 mUnk_10C;
|
||||
/* 110 */ unk32 mUnk_110;
|
||||
/* 114 */ unk32 mUnk_114;
|
||||
/* 118 */ unk32 mUnk_118;
|
||||
/* 11C */ unk32 mUnk_11C;
|
||||
/* 120 */ unk32 mUnk_120;
|
||||
/* 124 */ unk32 mUnk_124;
|
||||
/* 128 */ u16 mUnk_128;
|
||||
/* 12A */ STRUCT_PAD(0x12A, 0x160);
|
||||
/* 160 */ UnkStruct_027e0cd8_0c_160 *mUnk_160;
|
||||
/* 164 */ STRUCT_PAD(0x164, 0x1E0);
|
||||
/* 1E0 */
|
||||
/* 12A */ bool mUnk_12A;
|
||||
/* 12B */ bool mUnk_12B;
|
||||
/* 12C */ bool mUnk_12C;
|
||||
/* 12D */ bool mUnk_12D;
|
||||
/* 12E */ bool mUnk_12E;
|
||||
/* 130 */ unk32 mUnk_130;
|
||||
/* 134 */ unk32 mUnk_134;
|
||||
/* 138 */ unk32 mUnk_138;
|
||||
/* 13C */ FixedVector<UnkStruct_ov001_020c40f4> mUnk_13C;
|
||||
/* 148 */ CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> mUnk_148;
|
||||
/* 154 */ CustomVector<UnkStruct_027e0cd8_0C_Base_154_00> mUnk_154;
|
||||
/* 160 */
|
||||
|
||||
// data_ov031_02112a0c
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param1);
|
||||
|
||||
/* 00 */ virtual ~UnkStruct_027e0cd8_0C_Base();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C();
|
||||
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3);
|
||||
/* 2C */ virtual void vfunc_2C();
|
||||
/* 30 */ virtual void LoadSceneModel(const UnkStruct_SceneChange1 *param1);
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40(u8 spawnIndex);
|
||||
|
||||
// itcm
|
||||
fx32 func_01ffedf4(Vec2b *pPos);
|
||||
|
||||
// overlay 0
|
||||
unk32 func_ov000_02080180(void *param1);
|
||||
void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3);
|
||||
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
|
||||
void func_ov000_020803ec(u16 param1);
|
||||
void func_ov000_0208053c(u16 param1);
|
||||
bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2);
|
||||
void func_ov000_020808f4(void *param1, void *param2, unk32 param3);
|
||||
unk32 func_ov000_02080a44();
|
||||
void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0208053c(u16 param1);
|
||||
void func_ov000_020803ec(u16 param1);
|
||||
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
|
||||
void func_ov000_02080a5c(VecFx32 *param1);
|
||||
void func_ov000_02080a78(VecFx32 *param1);
|
||||
|
||||
VecFx32 *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
// overlay 1
|
||||
void func_ov001_020b85d0(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b88c0(unk32 param1);
|
||||
void func_ov001_020b88ec();
|
||||
const UnkStruct_ov001_020c40f4 *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
void func_ov001_020b8aec();
|
||||
void func_ov001_020b8b94(ZMBEntryARAB *pARAB);
|
||||
void func_ov001_020b8c30(const UnkStruct_027e0cd8_0C_Base_154_00 ¶m1);
|
||||
void *func_ov001_020b8c80(unk32 param1);
|
||||
void func_ov001_020b8c90(unk32 param1);
|
||||
void func_ov001_020b8c98(unk32 param1);
|
||||
void func_ov001_020b8db8();
|
||||
void func_ov001_020b8e24();
|
||||
void func_ov001_020b8e54();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C : public UnkStruct_027e0cd8_0C_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 160 */ UnkStruct_027e0cd8_0C_160 *mUnk_160;
|
||||
/* 164 */ STRUCT_PAD(0x164, 0x1E0);
|
||||
/* 1E0 */
|
||||
|
||||
UnkStruct_027e0cd8_0C(UnkStruct_027e0cd8 *param1);
|
||||
|
||||
// data_ov031_02112a0c
|
||||
/* 00 */ virtual ~UnkStruct_027e0cd8_0C() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3) override;
|
||||
/* 2C */ virtual void vfunc_2C() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Derived2 : public UnkStruct_027e0cd8_0C_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x160, 0x4F8);
|
||||
UnkStruct_027e0cd8_0C_Derived2(UnkStruct_027e0cd8 *param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Derived3 : public UnkStruct_027e0cd8_0C_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Derived3(UnkStruct_027e0cd8 *param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C {
|
||||
@@ -114,7 +301,8 @@ public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ s16 mUnk_08;
|
||||
/* 0C */ STRUCT_PAD(0x0C, 0x50);
|
||||
/* 0C */ volatile u32 mUnk_0C;
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x50);
|
||||
/* 50 */
|
||||
|
||||
UnkStruct_027e0cd8_04_0C();
|
||||
@@ -122,28 +310,57 @@ public:
|
||||
|
||||
class UnkStruct_027e0cd8_04 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk8 mUnk_00;
|
||||
/* 00 */ bool mUnk_01;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_04_0C *mUnk_0C;
|
||||
/* 10 */
|
||||
/* 10 */ u8 mUnk_10;
|
||||
/* 11 */ u8 mUnk_11;
|
||||
/* 12 */ STRUCT_PAD(0x12, 0x40);
|
||||
/* 40 */ u8 mUnk_40[1][10]; // at least one
|
||||
STRUCT_PAD(0x4C, 0xB4);
|
||||
/* B4 */
|
||||
|
||||
UnkStruct_027e0cd8_04();
|
||||
~UnkStruct_027e0cd8_04();
|
||||
|
||||
void func_ov000_02081354(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1,
|
||||
SaveFile_00000_0000_Data_184 *param3, bool param4);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_10 : public UnkDataStruct4 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D0 */ unk32 mUnk_D0;
|
||||
/* D4 */
|
||||
|
||||
UnkStruct_027e0cd8_10();
|
||||
~UnkStruct_027e0cd8_10();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8 : public AutoInstance<UnkStruct_027e0cd8> {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ Vec2s mUnk_00;
|
||||
/* 04 */ UnkStruct_027e0cd8_04 *mUnk_04; // stage flags
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_0c *mUnk_0C; // related to train?
|
||||
/* 10 */ MapObjectManager *mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x24);
|
||||
/* 08 */ UnkStruct_027e0cd8_04 *mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_0C_Base *mUnk_0C; // related to train?
|
||||
/* 10 */ UnkStruct_027e0cd8_10 *mUnk_10;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ bool mUnk_16;
|
||||
/* 16 */ bool mUnk_17;
|
||||
/* 18 */ UnkSystem8 mUnk_18;
|
||||
/* 24 */ VecFx32 mUnk_24;
|
||||
/* 34 */ STRUCT_PAD(0x34, 0x4C);
|
||||
/* 30 */ unk32 mUnk_30; // scene index but unknown purpose
|
||||
/* 34 */ unk32 mUnk_34; // scene index but unknown purpose
|
||||
/* 38 */ s64 mUnk_38[2];
|
||||
/* 48 */ bool mUnk_48[2];
|
||||
/* 4C */
|
||||
|
||||
UnkStruct_027e0cd8_0C *GetUnk0C() {
|
||||
return (UnkStruct_027e0cd8_0C *) this->mUnk_0C;
|
||||
}
|
||||
|
||||
UnkStruct_027e0cd8();
|
||||
~UnkStruct_027e0cd8();
|
||||
|
||||
@@ -156,11 +373,20 @@ public:
|
||||
u32 func_ov000_02081d5c(); // returns current room index?
|
||||
bool func_ov000_02082124();
|
||||
bool func_ov000_02081c28();
|
||||
void func_ov000_02081ca0();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020b7830(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b7a7c();
|
||||
void func_ov001_020b7830(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b7c08(UnkStruct_SceneChange1 *param1, UnkStruct_WarpUnk1_A0 *param2);
|
||||
void func_ov001_020b7b38(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1);
|
||||
void func_ov001_020b7c08(const UnkStruct_SceneChange1 *param1, const UnkStruct_WarpUnk1_A0 *param2);
|
||||
void func_ov001_020b7d64(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b7e50();
|
||||
void func_ov001_020b7e68(const UnkStruct_SceneChange1 *param1, bool param2);
|
||||
void func_ov001_020b803c();
|
||||
bool func_ov001_020b80fc(SceneIndex sceneIndex);
|
||||
void func_ov001_020b8120(SceneIndex sceneIndex);
|
||||
void func_ov001_020b818c();
|
||||
|
||||
static UnkStruct_027e0cd8 *Create();
|
||||
static void Destroy();
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
|
||||
#include <nitro/math.h>
|
||||
|
||||
class UnkStruct_ov001_020c40f4;
|
||||
|
||||
class UnkStruct_027e0ce0_34 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00[4];
|
||||
@@ -442,8 +444,14 @@ public:
|
||||
static UnkStruct_027e0ce0_34 *func_ov000_0205c904();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bc5f8();
|
||||
void func_ov001_020bc524(bool param1);
|
||||
void func_ov001_020bc5f8();
|
||||
void func_ov001_020bc65c();
|
||||
void func_ov001_020bc69c();
|
||||
void func_ov001_020bc6d8(unk32 param1, const UnkStruct_ov001_020c40f4 *param2);
|
||||
void func_ov001_020bc6e8(const UnkStruct_ov001_020c40f4 *param1);
|
||||
void func_ov001_020bc6fc(const UnkStruct_ov001_020c40f4 *param1, const UnkStruct_ov001_020c40f4 *param2, unk32 param3,
|
||||
unk32 param4);
|
||||
|
||||
static UnkStruct_027e0ce0 *Create();
|
||||
static void Destroy();
|
||||
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5);
|
||||
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
|
||||
void func_ov000_020a0220(void *param1, void *param2);
|
||||
void func_ov001_020bf028();
|
||||
|
||||
// overlay 1
|
||||
static UnkStruct_027e0cec *Create();
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "types.h"
|
||||
#include <nitro/pad.h>
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C;
|
||||
|
||||
class UnkStruct_ov000_02067bc4_Sub1 {
|
||||
public:
|
||||
unk32 func_02022128(void);
|
||||
@@ -163,10 +165,14 @@ public:
|
||||
void func_ov000_02067b60();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be504(void);
|
||||
void func_ov001_020be510();
|
||||
void func_ov001_020be668(void);
|
||||
void func_ov001_020be6f4(void);
|
||||
void func_ov001_020be8e0(void);
|
||||
void func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1);
|
||||
void func_ov001_020be94c(void);
|
||||
void func_ov001_020be998(void);
|
||||
};
|
||||
|
||||
// gMessageManager?
|
||||
|
||||
@@ -63,8 +63,10 @@ public:
|
||||
void func_ov001_020bd87c(void);
|
||||
void func_ov001_020bd8dc(void);
|
||||
void func_ov001_020bd8ac(void);
|
||||
void func_ov001_020bde04(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bd970(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bde5c(void);
|
||||
void func_ov001_020bde04(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bde4c(const UnkStruct_SceneChange1 *param1);
|
||||
|
||||
// overlay 18
|
||||
UnkStruct_ov018_020c5ac0 *func_ov018_020c5718(void);
|
||||
|
||||
@@ -10,6 +10,10 @@ public:
|
||||
UnkStruct_ov026_02138d10();
|
||||
~UnkStruct_ov026_02138d10();
|
||||
|
||||
// overlay 0
|
||||
void func_ov026_020dca14();
|
||||
|
||||
// overlay 26
|
||||
unk32 func_ov026_020e13f4();
|
||||
unk32 func_ov026_020e18fc();
|
||||
void func_ov026_020e1440();
|
||||
|
||||
@@ -85,6 +85,23 @@ public:
|
||||
/* 24 */ virtual ~UnkSystem1_ov000_Derived2() override;
|
||||
};
|
||||
|
||||
// data_ov000_020b23a0
|
||||
class UnkSystem1_ov000_Derived3 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 14 */
|
||||
|
||||
UnkSystem1_ov000_Derived3();
|
||||
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1) override;
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override;
|
||||
/* 10 */ virtual unk32 vfunc_10(u16 *param1) override;
|
||||
/* 14 */ virtual bool vfunc_14(FLW1Instr *param1) override;
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 20 */ virtual unk32 vfunc_20(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 24 */ virtual ~UnkSystem1_ov000_Derived3() override;
|
||||
};
|
||||
|
||||
// data_ov010_020b8e10
|
||||
class UnkSystem1_ov010 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
|
||||
+34
-3
@@ -24,13 +24,17 @@ typedef struct FileInfos {
|
||||
} FileInfos;
|
||||
|
||||
// .zob
|
||||
typedef struct ZeldaObjectList {
|
||||
typedef struct ZOBHeader {
|
||||
/* 00 */ FileType type; // always "ZOLB"
|
||||
/* 04 */ unk32 nSize; // file size?
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ unk16 unk_0a;
|
||||
/* 0A */ unk16 unk_0A;
|
||||
/* 0C */ u16 nEntries; // number of entries
|
||||
/* 0E */ unk16 unk_0e;
|
||||
/* 0E */ unk16 unk_0E;
|
||||
} ZOBHeader; // size = 0x10
|
||||
|
||||
typedef struct ZeldaObjectList {
|
||||
/* 00 */ ZOBHeader header;
|
||||
/* 10 */ u32 aIdList[]; // actor id or map object id
|
||||
} ZeldaObjectList;
|
||||
|
||||
@@ -140,6 +144,15 @@ enum ZMBSectionType_ {
|
||||
ZMBSectionType_NPCA = 'NPCA', // actor list, same as above
|
||||
};
|
||||
|
||||
typedef struct ZMBFileInfos {
|
||||
/* 00 */ void *pFile;
|
||||
/* 04 */ size_t size;
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0C */ unk16 unk_0C;
|
||||
/* 10 */ unk16 unk_10;
|
||||
/* 14 */ unk16 unk_14;
|
||||
} ZMBFileInfos;
|
||||
|
||||
typedef struct ZMBHeader {
|
||||
/* 00 */ u32 magic; // 'MAPB'
|
||||
/* 04 */ FileType type; // always "ZMB1"
|
||||
@@ -169,6 +182,23 @@ typedef struct ZMBSectionRALB {
|
||||
/* 0C */ ZMBEntryRALB entries[];
|
||||
} ZMBSectionRALB;
|
||||
|
||||
typedef struct ZMBEntryARAB {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ u8 unk_03;
|
||||
/* 04 */ unk32 unk_04;
|
||||
/* 08 */ unk32 unk_08;
|
||||
/* 0C */ u8 unk_0C;
|
||||
/* 0D */ u8 unk_0D;
|
||||
/* 0E */ unk8 unk_0E;
|
||||
/* 0F */ unk8 unk_0F;
|
||||
} ZMBEntryARAB; // size = 0x10
|
||||
|
||||
struct UnkStruct_027e0cd8_0C_Base;
|
||||
|
||||
extern BOOL ZMB_ParseFile(ZMBFileInfos *pFileInfos, UnkStruct_027e0cd8_0C_Base *pDst, BOOL param3);
|
||||
|
||||
// .cib
|
||||
typedef struct CourseInitEntry {
|
||||
/* 00 */ const char name[16];
|
||||
@@ -206,6 +236,7 @@ typedef struct CourseListEntry {
|
||||
/* 1E */ u8 unk_1E;
|
||||
/* 1F */ u8 unk_1F;
|
||||
/* 20 */ u8 defaultMapPaintIndex;
|
||||
/* 21 */ s8 unk_21; // scene index but unknown purpose
|
||||
/* 24 */ CourseListRoomEntry roomEntries[];
|
||||
} CourseListEntry; // size >= 0x28
|
||||
|
||||
|
||||
@@ -76,6 +76,12 @@
|
||||
#define ALIGN_NEXT(X, N) ALIGN_PREV(((X) + (N) - 1), N)
|
||||
#define ALIGN(X, N) ((X + N) & ~N)
|
||||
|
||||
#define STACK_PAD(N) \
|
||||
struct __StackPad { \
|
||||
char pad[(N)]; \
|
||||
~__StackPad() {} \
|
||||
} __stack_pad
|
||||
|
||||
#define VTABLE_PAD(name) \
|
||||
class _VTABLE_PAD_##name { \
|
||||
public: \
|
||||
@@ -90,4 +96,11 @@
|
||||
} \
|
||||
(void) 0
|
||||
|
||||
#define DELETE_ARRAY(ptr) \
|
||||
{ \
|
||||
delete[] ptr; \
|
||||
ptr = NULL; \
|
||||
} \
|
||||
(void) 0
|
||||
|
||||
#endif
|
||||
|
||||
@@ -39,6 +39,16 @@ union Vec2s {
|
||||
}
|
||||
|
||||
Vec2s() {}
|
||||
|
||||
Vec2s(Vec2s *from) {
|
||||
#if __MWERKS__
|
||||
this->coords = from->coords;
|
||||
#else
|
||||
this->x = from->x;
|
||||
this->y = from->y;
|
||||
#endif
|
||||
}
|
||||
|
||||
Vec2s(s16 X, s16 Y) {
|
||||
x = X;
|
||||
y = Y;
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct mbstate_t {};
|
||||
|
||||
size_t wcslen(const wchar_t *str);
|
||||
wchar_t *wcscpy(wchar_t *dest, const wchar_t *src);
|
||||
wchar_t *wcsncpy(wchar_t *dest, const wchar_t *src, size_t n);
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
#ifndef _STD_ALGORITHM_H
|
||||
#define _STD_ALGORITHM_H
|
||||
|
||||
// from rb3/key decomp
|
||||
|
||||
#include <msl_unk.hpp>
|
||||
|
||||
namespace std {
|
||||
|
||||
template <class T> inline const T &min(const T &a, const T &b) {
|
||||
return b < a ? b : a;
|
||||
}
|
||||
|
||||
template <class T> inline const T &max(const T &a, const T &b) {
|
||||
return a < b ? b : a;
|
||||
}
|
||||
|
||||
template <class T, class _Compare> inline const T &min(const T &a, const T &b, _Compare comp) {
|
||||
return comp(b, a) ? b : a;
|
||||
}
|
||||
|
||||
template <class T, class _Compare> inline const T &max(const T &a, const T &b, _Compare comp) {
|
||||
return comp(a, b) ? b : a;
|
||||
}
|
||||
|
||||
template <typename InputIterator, typename Predicate>
|
||||
inline InputIterator find_if(InputIterator first, InputIterator last, Predicate p) {
|
||||
for (; first != last && !p(*first); ++first) {
|
||||
}
|
||||
return first;
|
||||
}
|
||||
|
||||
template <typename It, typename T> inline It find(It first, It last, const T &value) {
|
||||
while (first != last && *first != value) {
|
||||
first++;
|
||||
}
|
||||
|
||||
return first;
|
||||
}
|
||||
|
||||
// adapted from https://github.com/matta/sgi-stl/blob/635eaeef4533214ec140fb17411558ad441d2996/stl/stl_algo.h#L638
|
||||
template <typename It, typename T> inline It remove(It first, It last, const T &value) {
|
||||
first = find(first, last, value);
|
||||
|
||||
if (first != last) {
|
||||
It it = first;
|
||||
|
||||
for (it++; it != last; it++) {
|
||||
if (*it != value) {
|
||||
*first = *it;
|
||||
first++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return first;
|
||||
}
|
||||
|
||||
template <typename T, typename Size, bool V /* ? */> struct __fill_n {
|
||||
static inline void fill_n(T *first, Size n, const T &value) {
|
||||
for (; n != 0; first++, n--) {
|
||||
*first = value;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
template <typename OutputIt /* ? */, typename Size, typename T>
|
||||
inline void fill_n(OutputIt *first, Size n, const T &value) {
|
||||
__fill_n<OutputIt, Size, false>::fill_n(first, n, value);
|
||||
}
|
||||
|
||||
template <typename T> inline T &move(T &p) {
|
||||
return p;
|
||||
}
|
||||
|
||||
template <typename T> inline void swap(T &a, T &b) {
|
||||
T temp = move(a);
|
||||
a = move(b);
|
||||
b = move(temp);
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,156 @@
|
||||
#ifndef _STD_PAIR
|
||||
#define _STD_PAIR
|
||||
|
||||
// from key decomp
|
||||
|
||||
#include "type_traits.hpp"
|
||||
|
||||
namespace Metrowerks {
|
||||
|
||||
namespace details {
|
||||
|
||||
template <typename T1, typename T2, bool T1Empty = std::is_empty<T1>::value, bool T2Empty = std::is_empty<T2>::value>
|
||||
struct compressed_pair_selector {
|
||||
static const int value = 0;
|
||||
};
|
||||
|
||||
template <typename T1, typename T2> struct compressed_pair_selector<T1, T2, true, false> {
|
||||
static const int value = 1;
|
||||
};
|
||||
|
||||
template <typename T1, typename T2> struct compressed_pair_selector<T1, T2, false, true> {
|
||||
static const int value = 2;
|
||||
};
|
||||
|
||||
template <typename T1, typename T2> struct compressed_pair_selector<T1, T2, true, true> {
|
||||
static const int value = 3;
|
||||
};
|
||||
|
||||
template <typename T> struct compressed_pair_selector<T, T, false, false> {
|
||||
static const int value = 0;
|
||||
};
|
||||
|
||||
template <typename T> struct compressed_pair_selector<T, T, true, true> {
|
||||
static const int value = 1;
|
||||
};
|
||||
|
||||
// Note to future self: template signature must stay as-is for symbols
|
||||
template <typename T1, typename T2, int Selector = compressed_pair_selector<T1, T2>::value> class compressed_pair_imp {
|
||||
public:
|
||||
typedef typename Metrowerks::call_traits<T1>::param_type first_param;
|
||||
typedef typename Metrowerks::call_traits<T2>::param_type second_param;
|
||||
|
||||
compressed_pair_imp() {}
|
||||
compressed_pair_imp(first_param first, second_param second) :
|
||||
m_First(first),
|
||||
m_Second(second) {}
|
||||
compressed_pair_imp(first_param first) :
|
||||
m_First(first) {}
|
||||
compressed_pair_imp(second_param second) :
|
||||
m_Second(second) {}
|
||||
|
||||
T1 &first() {
|
||||
return m_First;
|
||||
}
|
||||
const T1 &first() const {
|
||||
return m_First;
|
||||
}
|
||||
|
||||
T2 &second() {
|
||||
return m_Second;
|
||||
}
|
||||
const T2 &second() const {
|
||||
return m_Second;
|
||||
}
|
||||
|
||||
private:
|
||||
T1 m_First;
|
||||
T2 m_Second;
|
||||
};
|
||||
|
||||
template <typename T1, typename T2> class compressed_pair_imp<T1, T2, 1> : private T1 {
|
||||
public:
|
||||
typedef typename Metrowerks::call_traits<T1>::param_type first_param;
|
||||
typedef typename Metrowerks::call_traits<T2>::param_type second_param;
|
||||
|
||||
compressed_pair_imp() {}
|
||||
compressed_pair_imp(first_param first, second_param second) :
|
||||
T1(first),
|
||||
m_Second(second) {}
|
||||
compressed_pair_imp(first_param first) :
|
||||
T1(first) {}
|
||||
compressed_pair_imp(second_param second) :
|
||||
m_Second(second) {}
|
||||
|
||||
T1 &first() {
|
||||
return *this;
|
||||
}
|
||||
const T1 &first() const {
|
||||
return *this;
|
||||
}
|
||||
|
||||
T2 &second() {
|
||||
return m_Second;
|
||||
}
|
||||
const T2 &second() const {
|
||||
return m_Second;
|
||||
}
|
||||
|
||||
private:
|
||||
T2 m_Second;
|
||||
};
|
||||
|
||||
template <typename T1, typename T2> class compressed_pair_imp<T1, T2, 2> : private T2 {
|
||||
public:
|
||||
typedef typename Metrowerks::call_traits<T1>::param_type first_param;
|
||||
typedef typename Metrowerks::call_traits<T2>::param_type second_param;
|
||||
|
||||
compressed_pair_imp() {}
|
||||
compressed_pair_imp(first_param first, second_param second) :
|
||||
m_First(first),
|
||||
T2(second) {}
|
||||
compressed_pair_imp(first_param first) :
|
||||
m_First(first) {}
|
||||
compressed_pair_imp(second_param second) :
|
||||
T2(second) {}
|
||||
|
||||
T1 &first() {
|
||||
return m_First;
|
||||
}
|
||||
const T1 &first() const {
|
||||
return m_First;
|
||||
}
|
||||
|
||||
T2 &second() {
|
||||
return *this;
|
||||
}
|
||||
const T2 &second() const {
|
||||
return *this;
|
||||
}
|
||||
|
||||
private:
|
||||
T1 m_First;
|
||||
};
|
||||
} // namespace details
|
||||
|
||||
template <typename T1, typename T2> struct compressed_pair : public details::compressed_pair_imp<T1, T2> {
|
||||
typedef typename details::compressed_pair_imp<T1, T2>::first_param first_param;
|
||||
typedef typename details::compressed_pair_imp<T1, T2>::second_param second_param;
|
||||
typedef details::compressed_pair_imp<T1, T2> _Base;
|
||||
|
||||
compressed_pair() {}
|
||||
compressed_pair(first_param first) :
|
||||
_Base(first) {}
|
||||
compressed_pair(second_param second) :
|
||||
_Base(second) {}
|
||||
compressed_pair(first_param first, second_param second) :
|
||||
_Base(first, second) {}
|
||||
|
||||
template <class U, class V>
|
||||
compressed_pair(const compressed_pair<U, V> &p) :
|
||||
_Base(p.first(), p.second()) {}
|
||||
};
|
||||
|
||||
} // namespace Metrowerks
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef _STD_CSTDDEF_H
|
||||
#define _STD_CSTDDEF_H
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
namespace std {
|
||||
using ::ptrdiff_t;
|
||||
using ::size_t;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,39 @@
|
||||
#ifndef _STD_CSTRING_H
|
||||
#define _STD_CSTRING_H
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <string.h>
|
||||
#include <mem.h>
|
||||
|
||||
namespace std {
|
||||
using ::size_t;
|
||||
|
||||
using ::memchr;
|
||||
using ::memcmp;
|
||||
using ::memcpy;
|
||||
using ::memmove;
|
||||
using ::memset;
|
||||
|
||||
// using ::strcat;
|
||||
using ::strcpy;
|
||||
// using ::strncat;
|
||||
using ::strncpy;
|
||||
// using ::strxfrm;
|
||||
|
||||
// using ::strchr;
|
||||
using ::strcmp;
|
||||
// using ::strcoll;
|
||||
// using ::strcspn;
|
||||
using ::strlen;
|
||||
using ::strncmp;
|
||||
// using ::strpbrk;
|
||||
// using ::strrchr;
|
||||
// using ::strspn;
|
||||
// using ::strstr;
|
||||
// using ::strtok;
|
||||
|
||||
// using ::strerror;
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,82 @@
|
||||
#ifndef MSL_CPP_CWCHAR_H
|
||||
#define MSL_CPP_CWCHAR_H
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <wstring.h>
|
||||
|
||||
namespace std {
|
||||
// using ::mbstate_t;
|
||||
// using ::wint_t;
|
||||
using ::size_t;
|
||||
// using ::tm;
|
||||
|
||||
// using ::wcscat;
|
||||
using ::wcscpy;
|
||||
// using ::wcsncat;
|
||||
using ::wcsncpy;
|
||||
// using ::wcsxfrm;
|
||||
|
||||
using ::wcschr;
|
||||
// using ::wcscmp;
|
||||
// using ::wcscoll;
|
||||
// using ::wcscspn;
|
||||
using ::wcslen;
|
||||
// using ::wcsncmp;
|
||||
// using ::wcspbrk;
|
||||
// using ::wcsrchr;
|
||||
// using ::wcsspn;
|
||||
// using ::wcsstr;
|
||||
// using ::wcstok;
|
||||
|
||||
// using ::wmemchr;
|
||||
// using ::wmemcmp;
|
||||
// using ::wmemcpy;
|
||||
// using ::wmemmove;
|
||||
// using ::wmemset;
|
||||
|
||||
// using ::btowc;
|
||||
// using ::mbrlen;
|
||||
// using ::mbrtowc;
|
||||
// using ::mbsinit;
|
||||
// using ::mbsrtowcs;
|
||||
// using ::wcrtomb;
|
||||
// using ::wcsrtombs;
|
||||
// using ::wctob;
|
||||
|
||||
// using ::fgetwc;
|
||||
// using ::fgetws;
|
||||
// using ::fputwc;
|
||||
// using ::fputws;
|
||||
// using ::getwc;
|
||||
// using ::getwchar;
|
||||
// using ::putwc;
|
||||
// using ::putwchar;
|
||||
// using ::ungetwc;
|
||||
|
||||
// using ::fwide;
|
||||
|
||||
// using ::fwprintf;
|
||||
// using ::fwscanf;
|
||||
// using ::swprintf;
|
||||
// using ::swscanf;
|
||||
// using ::vfwprintf;
|
||||
// using ::vfwscanf;
|
||||
// using ::vswprintf;
|
||||
// using ::vswscanf;
|
||||
// using ::vwprintf;
|
||||
// using ::vwscanf;
|
||||
// using ::wprintf;
|
||||
// using ::wscanf;
|
||||
|
||||
// using ::wcsftime;
|
||||
// using ::wcstod;
|
||||
// using ::wcstof;
|
||||
// using ::wcstol;
|
||||
// using ::wcstold;
|
||||
// using ::wcstoll;
|
||||
// using ::wcstoul;
|
||||
// using ::wcstoull;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,28 @@
|
||||
#ifndef _STD_DEFAULT_DELETE
|
||||
#define _STD_DEFAULT_DELETE
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <new>
|
||||
|
||||
namespace std {
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T> struct default_delete {
|
||||
void operator()(T *ptr) {
|
||||
delete ptr;
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T> struct default_delete<T[]> {
|
||||
void operator()(T ptr[]) {
|
||||
delete[] ptr;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef _STD_EXCEPTION
|
||||
#define _STD_EXCEPTION
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
namespace std {
|
||||
|
||||
class exception {
|
||||
public:
|
||||
exception() {}
|
||||
virtual ~exception() {}
|
||||
virtual const char *what() const {
|
||||
return "exception";
|
||||
}
|
||||
};
|
||||
|
||||
class bad_exception : public exception {
|
||||
public:
|
||||
bad_exception() {}
|
||||
virtual ~bad_exception() {}
|
||||
virtual const char *what() const {
|
||||
return "bad_exception";
|
||||
}
|
||||
};
|
||||
|
||||
typedef void (*unexpected_handler)();
|
||||
unexpected_handler set_unexpected(unexpected_handler f) throw();
|
||||
void unexpected();
|
||||
|
||||
typedef void (*terminate_handler)();
|
||||
terminate_handler set_terminate(terminate_handler f) throw();
|
||||
void terminate();
|
||||
|
||||
bool uncaught_exception() throw();
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,115 @@
|
||||
#ifndef _STD_IOSFWD
|
||||
#define _STD_IOSFWD
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cwchar>
|
||||
|
||||
namespace std {
|
||||
|
||||
typedef mbstate_t __char_state_type;
|
||||
typedef mbstate_t __wchar_state_type;
|
||||
|
||||
template <class CharT>
|
||||
struct char_traits;
|
||||
template <>
|
||||
struct char_traits<char>;
|
||||
template <>
|
||||
struct char_traits<wchar_t>;
|
||||
|
||||
template <class T>
|
||||
class allocator;
|
||||
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_ios;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_streambuf;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_istream;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_ostream;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_iostream;
|
||||
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_filebuf;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_ifstream;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_ofstream;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class basic_fstream;
|
||||
|
||||
template <
|
||||
class CharT,
|
||||
class Traits = char_traits<CharT>,
|
||||
class Allocator = allocator<CharT> >
|
||||
class basic_stringbuf;
|
||||
template <
|
||||
class CharT,
|
||||
class Traits = char_traits<CharT>,
|
||||
class Allocator = allocator<CharT> >
|
||||
class basic_istringstream;
|
||||
template <
|
||||
class CharT,
|
||||
class Traits = char_traits<CharT>,
|
||||
class Allocator = allocator<CharT> >
|
||||
class basic_ostringstream;
|
||||
template <
|
||||
class CharT,
|
||||
class Traits = char_traits<CharT>,
|
||||
class Allocator = allocator<CharT> >
|
||||
class basic_stringstream;
|
||||
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class istreambuf_iterator;
|
||||
template <class CharT, class Traits = char_traits<CharT> >
|
||||
class ostreambuf_iterator;
|
||||
|
||||
typedef basic_ios<char> ios;
|
||||
typedef basic_ios<wchar_t> wios;
|
||||
|
||||
typedef basic_streambuf<char> streambuf;
|
||||
typedef basic_istream<char> istream;
|
||||
typedef basic_ostream<char> ostream;
|
||||
typedef basic_iostream<char> iostream;
|
||||
|
||||
typedef basic_stringbuf<char> stringbuf;
|
||||
typedef basic_istringstream<char> istringstream;
|
||||
typedef basic_ostringstream<char> ostringstream;
|
||||
typedef basic_stringstream<char> stringstream;
|
||||
|
||||
typedef basic_filebuf<char> filebuf;
|
||||
typedef basic_ifstream<char> ifstream;
|
||||
typedef basic_ofstream<char> ofstream;
|
||||
typedef basic_fstream<char> fstream;
|
||||
|
||||
typedef basic_streambuf<wchar_t> wstreambuf;
|
||||
typedef basic_istream<wchar_t> wistream;
|
||||
typedef basic_ostream<wchar_t> wostream;
|
||||
typedef basic_iostream<wchar_t> wiostream;
|
||||
|
||||
typedef basic_stringbuf<wchar_t> wstringbuf;
|
||||
typedef basic_istringstream<wchar_t> wistringstream;
|
||||
typedef basic_ostringstream<wchar_t> wostringstream;
|
||||
typedef basic_stringstream<wchar_t> wstringstream;
|
||||
|
||||
typedef basic_filebuf<wchar_t> wfilebuf;
|
||||
typedef basic_ifstream<wchar_t> wifstream;
|
||||
typedef basic_ofstream<wchar_t> wofstream;
|
||||
typedef basic_fstream<wchar_t> wfstream;
|
||||
|
||||
template <class State>
|
||||
class fpos;
|
||||
|
||||
typedef fpos<__char_state_type /*char_traits<char>::state_type*/> streampos;
|
||||
typedef fpos<__wchar_state_type /*char_traits<wchar_t>::state_type*/> wstreampos;
|
||||
|
||||
class strstreambuf;
|
||||
class istrstream;
|
||||
class ostrstream;
|
||||
class strstream;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,371 @@
|
||||
#ifndef _STD_ITERATOR_H
|
||||
#define _STD_ITERATOR_H
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
// clang-format off: too excessive with splitting things into multiple lines
|
||||
|
||||
// Based on https://github.com/SwareJonge/mkdd/blob/main/libs/PowerPC_EABI_Support/include/iterator
|
||||
|
||||
#include <cstddef>
|
||||
#include <iosfwd>
|
||||
|
||||
namespace std {
|
||||
|
||||
struct input_iterator_tag {};
|
||||
struct output_iterator_tag {};
|
||||
struct forward_iterator_tag : public input_iterator_tag {};
|
||||
struct bidirectional_iterator_tag : public forward_iterator_tag {};
|
||||
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
|
||||
|
||||
template <typename Iterator>
|
||||
struct iterator_traits {
|
||||
typedef typename Iterator::difference_type difference_type;
|
||||
typedef typename Iterator::value_type value_type;
|
||||
typedef typename Iterator::pointer pointer;
|
||||
typedef typename Iterator::reference reference;
|
||||
typedef typename Iterator::iterator_category iterator_category;
|
||||
};
|
||||
|
||||
template <typename IteratorTag, typename ValueType, typename DifferenceType = ptrdiff_t,
|
||||
typename Pointer = ValueType *, typename Reference = ValueType &>
|
||||
struct iterator {
|
||||
typedef IteratorTag iterator_category;
|
||||
typedef ValueType value_type;
|
||||
typedef DifferenceType difference_type;
|
||||
typedef Pointer pointer;
|
||||
typedef Reference reference;
|
||||
};
|
||||
|
||||
template <class Container>
|
||||
class insert_iterator : public iterator<output_iterator_tag, void, void, void, void> {
|
||||
typedef iterator<output_iterator_tag, void, void, void, void> _Base;
|
||||
|
||||
public:
|
||||
typedef Container container_type;
|
||||
|
||||
typedef typename _Base::iterator_category iterator_category;
|
||||
typedef typename _Base::value_type value_type;
|
||||
typedef typename _Base::difference_type difference_type;
|
||||
typedef typename _Base::pointer pointer;
|
||||
typedef typename _Base::reference reference;
|
||||
|
||||
insert_iterator() {}
|
||||
insert_iterator(Container& c, typename Container::iterator i)
|
||||
: container(&c), iter(i) { }
|
||||
|
||||
insert_iterator& operator=(typename Container::const_reference value) {
|
||||
iter = container->insert(iter, value);
|
||||
++iter;
|
||||
return *this;
|
||||
}
|
||||
|
||||
insert_iterator& operator*() { return *this; }
|
||||
insert_iterator& operator++() { return *this; }
|
||||
insert_iterator& operator++(int) { return *this; }
|
||||
|
||||
protected:
|
||||
Container* container;
|
||||
typename Container::iterator iter;
|
||||
};
|
||||
|
||||
template <class Container>
|
||||
insert_iterator<Container> inserter(Container& c, typename Container::iterator i) {
|
||||
return insert_iterator<Container>(c, i);
|
||||
}
|
||||
|
||||
template <class Container>
|
||||
class front_insert_iterator : public iterator<output_iterator_tag, void, void, void, void> {
|
||||
typedef iterator<output_iterator_tag, void, void, void, void> _Base;
|
||||
|
||||
public:
|
||||
typedef Container container_type;
|
||||
|
||||
typedef typename _Base::iterator_category iterator_category;
|
||||
typedef typename _Base::value_type value_type;
|
||||
typedef typename _Base::difference_type difference_type;
|
||||
typedef typename _Base::pointer pointer;
|
||||
typedef typename _Base::reference reference;
|
||||
|
||||
explicit front_insert_iterator(Container& c) : container(&c) { }
|
||||
|
||||
front_insert_iterator& operator=(typename Container::const_reference value) {
|
||||
typename Container::iterator iter = container->push_front(iter, value);
|
||||
++iter;
|
||||
return *this;
|
||||
}
|
||||
|
||||
front_insert_iterator& operator*() { return *this; }
|
||||
front_insert_iterator& operator++() { return *this; }
|
||||
front_insert_iterator& operator++(int) { return *this; }
|
||||
|
||||
protected:
|
||||
Container* container;
|
||||
};
|
||||
|
||||
template <class Container>
|
||||
front_insert_iterator<Container> front_inserter(Container& c) {
|
||||
return front_insert_iterator<Container>(c);
|
||||
}
|
||||
|
||||
template <class Container>
|
||||
class back_insert_iterator : public iterator<output_iterator_tag, void, void, void, void> {
|
||||
typedef iterator<output_iterator_tag, void, void, void, void> _Base;
|
||||
|
||||
public:
|
||||
typedef Container container_type;
|
||||
|
||||
typedef typename _Base::iterator_category iterator_category;
|
||||
typedef typename _Base::value_type value_type;
|
||||
typedef typename _Base::difference_type difference_type;
|
||||
typedef typename _Base::pointer pointer;
|
||||
typedef typename _Base::reference reference;
|
||||
|
||||
explicit back_insert_iterator(Container& c) : container(&c) { }
|
||||
|
||||
back_insert_iterator& operator=(typename Container::const_reference value) {
|
||||
typename Container::iterator iter = container->push_back(iter, value);
|
||||
++iter;
|
||||
return *this;
|
||||
}
|
||||
|
||||
back_insert_iterator& operator*() { return *this; }
|
||||
back_insert_iterator& operator++() { return *this; }
|
||||
back_insert_iterator& operator++(int) { return *this; }
|
||||
|
||||
protected:
|
||||
Container* container;
|
||||
};
|
||||
|
||||
template <class Container>
|
||||
back_insert_iterator<Container> back_inserter(Container& c) {
|
||||
return back_insert_iterator<Container>(c);
|
||||
}
|
||||
|
||||
template <class Iter>
|
||||
class reverse_iterator : public iterator<
|
||||
typename iterator_traits<Iter>::iterator_category,
|
||||
typename iterator_traits<Iter>::value_type,
|
||||
typename iterator_traits<Iter>::difference_type,
|
||||
typename iterator_traits<Iter>::pointer,
|
||||
typename iterator_traits<Iter>::reference
|
||||
> {
|
||||
typedef iterator<
|
||||
typename iterator_traits<Iter>::iterator_category,
|
||||
typename iterator_traits<Iter>::value_type,
|
||||
typename iterator_traits<Iter>::difference_type,
|
||||
typename iterator_traits<Iter>::pointer,
|
||||
typename iterator_traits<Iter>::reference
|
||||
> _Base;
|
||||
|
||||
public:
|
||||
typedef Iter iterator_type;
|
||||
|
||||
typedef typename _Base::iterator_category iterator_category;
|
||||
typedef typename _Base::value_type value_type;
|
||||
typedef typename _Base::difference_type difference_type;
|
||||
typedef typename _Base::pointer pointer;
|
||||
typedef typename _Base::reference reference;
|
||||
|
||||
reverse_iterator() {}
|
||||
explicit reverse_iterator(Iter itr) : current(itr) {}
|
||||
|
||||
template <typename U>
|
||||
reverse_iterator(const reverse_iterator<U>& other) : current(other.current) {}
|
||||
|
||||
template <typename U>
|
||||
reverse_iterator& operator=(const reverse_iterator<U>& other) {
|
||||
current = other.current;
|
||||
}
|
||||
|
||||
Iter base() { return current; }
|
||||
|
||||
reference operator*() const {
|
||||
Iter it = current;
|
||||
--it;
|
||||
return *it;
|
||||
}
|
||||
|
||||
pointer operator->() const {
|
||||
return &(operator*());
|
||||
}
|
||||
|
||||
reverse_iterator& operator++() {
|
||||
--current;
|
||||
return *this;
|
||||
}
|
||||
|
||||
reverse_iterator operator++(int) {
|
||||
reverse_iterator tmp = *this;
|
||||
++*this;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
reverse_iterator& operator--() {
|
||||
++current;
|
||||
return *this;
|
||||
}
|
||||
|
||||
reverse_iterator operator--(int) {
|
||||
reverse_iterator tmp = *this;
|
||||
--*this;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
reverse_iterator operator+(difference_type n) const {
|
||||
return reverse_iterator(current - n);
|
||||
}
|
||||
|
||||
reverse_iterator& operator+=(difference_type n) {
|
||||
current -= n;
|
||||
return *this;
|
||||
}
|
||||
|
||||
reverse_iterator operator-(difference_type n) const {
|
||||
return reverse_iterator(current + n);
|
||||
}
|
||||
|
||||
reverse_iterator& operator-=(difference_type n) {
|
||||
current += n;
|
||||
return *this;
|
||||
}
|
||||
|
||||
reference operator[](difference_type n) const {
|
||||
return current[-n - 1];
|
||||
}
|
||||
|
||||
protected:
|
||||
Iter current;
|
||||
};
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator==(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return lhs.base() == rhs.base();
|
||||
}
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator<(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return lhs.base() < rhs.base();
|
||||
}
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator!=(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return !(lhs.base() == rhs.base());
|
||||
}
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator>(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return rhs.base() < lhs.base();
|
||||
}
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator<=(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return !(rhs.base() < lhs.base());
|
||||
}
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator>=(const reverse_iterator<Iterator1> &lhs, const reverse_iterator<Iterator2> &rhs) {
|
||||
return !(lhs.base() < rhs.base());
|
||||
}
|
||||
|
||||
template<class Iter>
|
||||
reverse_iterator<Iter> operator+(
|
||||
typename reverse_iterator<Iter>::difference_type lhs,
|
||||
const reverse_iterator<Iter>& rhs
|
||||
) {
|
||||
return rhs + lhs;
|
||||
}
|
||||
|
||||
template<class Iter1, class Iter2>
|
||||
typename reverse_iterator<Iter1>::difference_type operator-(
|
||||
const reverse_iterator<Iter1>& lhs,
|
||||
const reverse_iterator<Iter2>& rhs
|
||||
) {
|
||||
return rhs.base() - lhs.base();
|
||||
}
|
||||
|
||||
template <class Iter>
|
||||
reverse_iterator<Iter> make_reverse_iterator(Iter itr) {
|
||||
return reverse_iterator<Iter>(itr);
|
||||
}
|
||||
|
||||
template <class T, class CharT = char, class Traits = char_traits<CharT>, class Distance = ptrdiff_t>
|
||||
class istream_iterator : public iterator<input_iterator_tag, T, Distance, const T *, const T &> {};
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator==(const istream_iterator<Iterator1> &lhs, const istream_iterator<Iterator2> &rhs);
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator!=(const istream_iterator<Iterator1> &lhs, const istream_iterator<Iterator2> &rhs);
|
||||
|
||||
template <class T, class CharT = char, class Traits = char_traits<CharT> >
|
||||
class ostream_iterator : public iterator<output_iterator_tag, void, void, void, void> {};
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator==(const ostream_iterator<Iterator1> &lhs, const ostream_iterator<Iterator2> &rhs);
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator!=(const ostream_iterator<Iterator1> &lhs, const ostream_iterator<Iterator2> &rhs);
|
||||
|
||||
template <class CharT, class Traits /*= char_traits<CharT>*/ >
|
||||
class istreambuf_iterator : public iterator<input_iterator_tag, CharT, typename Traits::off_type, CharT *, CharT> {};
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator==(const istreambuf_iterator<Iterator1> &lhs, const istreambuf_iterator<Iterator2> &rhs);
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator!=(const istreambuf_iterator<Iterator1> &lhs, const istreambuf_iterator<Iterator2> &rhs);
|
||||
|
||||
template <class CharT, class Traits /*= char_traits<CharT>*/ >
|
||||
class ostreambuf_iterator : public iterator<output_iterator_tag, void, void, void, void> {};
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator==(const ostreambuf_iterator<Iterator1> &lhs, const ostreambuf_iterator<Iterator2> &rhs);
|
||||
template <class Iterator1, class Iterator2>
|
||||
bool operator!=(const ostreambuf_iterator<Iterator1> &lhs, const ostreambuf_iterator<Iterator2> &rhs);
|
||||
|
||||
template <class Iterator, class Distance>
|
||||
void __advance(Iterator &it, Distance n, input_iterator_tag) {
|
||||
for (; n > 0; --n)
|
||||
++it;
|
||||
}
|
||||
|
||||
template <class Iterator, class Distance>
|
||||
void __advance(Iterator &it, Distance n, bidirectional_iterator_tag) {
|
||||
// positive value
|
||||
for (; n > 0; --n)
|
||||
++it;
|
||||
|
||||
// negative value
|
||||
for (; n < 0; ++n)
|
||||
--it;
|
||||
}
|
||||
|
||||
template <class Iterator, class Distance>
|
||||
void __advance(Iterator &it, Distance n, random_access_iterator_tag) {
|
||||
it += n;
|
||||
}
|
||||
|
||||
template <class Iterator, class Distance>
|
||||
void advance(Iterator &it, Distance n) {
|
||||
return __advance(it, n, iterator_traits<Iterator>::iterator_category());
|
||||
}
|
||||
|
||||
template <class Iterator>
|
||||
typename iterator_traits<Iterator>::difference_type
|
||||
__distance(Iterator first, Iterator last, input_iterator_tag) {
|
||||
typename iterator_traits<Iterator>::difference_type result = 0;
|
||||
for (; first != last; ++first)
|
||||
++result;
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class Iterator>
|
||||
typename iterator_traits<Iterator>::difference_type
|
||||
__distance(Iterator first, Iterator last, random_access_iterator_tag) {
|
||||
return last - first;
|
||||
}
|
||||
|
||||
template <class Iterator>
|
||||
typename iterator_traits<Iterator>::difference_type
|
||||
distance(Iterator first, Iterator last) {
|
||||
return __distance(first, last, iterator_traits<Iterator>::iterator_category());
|
||||
}
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,131 @@
|
||||
#ifndef _STD_LIMITS_H
|
||||
#define _STD_LIMITS_H
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
// Based on https://github.com/SwareJonge/mkdd/blob/main/libs/PowerPC_EABI_Support/include/limits
|
||||
|
||||
namespace std {
|
||||
|
||||
template <typename T>
|
||||
class numeric_limits {
|
||||
public:
|
||||
static T min();
|
||||
static T max();
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<bool> {
|
||||
public:
|
||||
static bool min() { return false; }
|
||||
static bool max() { return true; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<char> {
|
||||
public:
|
||||
static char min() { return -0x80; }
|
||||
static char max() { return 0x7F; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<signed char> {
|
||||
public:
|
||||
static signed char min() { return -0x80; }
|
||||
static signed char max() { return 0x7F; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<unsigned char> {
|
||||
public:
|
||||
static unsigned char min() { return 0x0; }
|
||||
static unsigned char max() { return 0xFF; }
|
||||
};
|
||||
|
||||
// template <>
|
||||
// class numeric_limits<short> {
|
||||
// public:
|
||||
// static short min() { return -0x8000; }
|
||||
// static short max() { return 0x7FFF; }
|
||||
// };
|
||||
|
||||
template <>
|
||||
class numeric_limits<signed short> {
|
||||
public:
|
||||
static signed short min() { return -0x8000; }
|
||||
static signed short max() { return 0x7FFF; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<unsigned short> {
|
||||
public:
|
||||
static unsigned short min() { return 0x0; }
|
||||
static unsigned short max() { return 0xFFFF; }
|
||||
};
|
||||
|
||||
// template <>
|
||||
// class numeric_limits<int> {
|
||||
// public:
|
||||
// static int min() { return -0x80000000; }
|
||||
// static int max() { return 0x7FFFFFFF; }
|
||||
// };
|
||||
|
||||
template <>
|
||||
class numeric_limits<signed int> {
|
||||
public:
|
||||
static signed int min() { return -0x80000000; }
|
||||
static signed int max() { return 0x7FFFFFFF; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<unsigned int> {
|
||||
public:
|
||||
static unsigned int min() { return 0x0; }
|
||||
static unsigned int max() { return 0xFFFFFFFF; }
|
||||
};
|
||||
|
||||
// template <>
|
||||
// class numeric_limits<long> {
|
||||
// public:
|
||||
// static long min() { return -0x80000000; }
|
||||
// static long max() { return 0x7FFFFFFF; }
|
||||
// };
|
||||
|
||||
template <>
|
||||
class numeric_limits<signed long> {
|
||||
public:
|
||||
static signed long min() { return -0x80000000; }
|
||||
static signed long max() { return 0x7FFFFFFF; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<unsigned long> {
|
||||
public:
|
||||
static unsigned long min() { return 0x0; }
|
||||
static unsigned long max() { return 0xFFFFFFFF; }
|
||||
};
|
||||
|
||||
// template <>
|
||||
// class numeric_limits<long long> {
|
||||
// public:
|
||||
// static long long min() { return -0x8000000000000000; }
|
||||
// static long long max() { return 0x7FFFFFFFFFFFFFFF; }
|
||||
// };
|
||||
|
||||
template <>
|
||||
class numeric_limits<signed long long> {
|
||||
public:
|
||||
static signed long long min() { return -0x8000000000000000; }
|
||||
static signed long long max() { return 0x7FFFFFFFFFFFFFFF; }
|
||||
};
|
||||
|
||||
template <>
|
||||
class numeric_limits<unsigned long long> {
|
||||
public:
|
||||
static unsigned long long min() { return 0x0; }
|
||||
static unsigned long long max() { return 0xFFFFFFFFFFFFFFFF; }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,51 @@
|
||||
#ifndef _STD_MEMORY
|
||||
#define _STD_MEMORY
|
||||
|
||||
#include <new>
|
||||
#include <limits>
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
namespace std {
|
||||
template <class T> class allocator {
|
||||
public:
|
||||
typedef T value_type;
|
||||
typedef T *pointer;
|
||||
typedef const T *const_pointer;
|
||||
typedef T &reference;
|
||||
typedef const T &const_reference;
|
||||
typedef size_t size_type;
|
||||
typedef ptrdiff_t difference_type;
|
||||
|
||||
template <class U> struct rebind {
|
||||
typedef allocator<U> other;
|
||||
};
|
||||
|
||||
allocator() {}
|
||||
allocator(const allocator<T> &) {}
|
||||
template <class U> allocator(const allocator<U> &) {}
|
||||
~allocator() {}
|
||||
|
||||
size_type max_size() const throw() {
|
||||
return std::numeric_limits<size_t>::max() / sizeof(T);
|
||||
}
|
||||
|
||||
pointer allocate(size_type count, const void *hint = 0) {
|
||||
return reinterpret_cast<pointer>(::operator new(count * sizeof(T), 1, 4));
|
||||
}
|
||||
|
||||
void deallocate(pointer p, size_type n) {
|
||||
::operator delete(p);
|
||||
}
|
||||
|
||||
void construct(pointer p, const_reference val) {
|
||||
new(p) T(val);
|
||||
}
|
||||
|
||||
void destroy(pointer p) {
|
||||
p->~T();
|
||||
}
|
||||
};
|
||||
}; // namespace std
|
||||
|
||||
#endif // _STD_MEMORY
|
||||
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
struct UnkMSLStruct1 {};
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef _STD_NEW
|
||||
#define _STD_NEW
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
void *operator new(size_t size);
|
||||
void *operator new[](size_t size);
|
||||
void operator delete(void *ptr);
|
||||
void operator delete[](void *ptr);
|
||||
|
||||
inline void *operator new(size_t length, void *ptr) {
|
||||
#pragma unused(length)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
inline void *operator new[](size_t length, void *ptr) {
|
||||
#pragma unused(length)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
inline void operator delete(void *ptr, void *place) {}
|
||||
|
||||
inline void operator delete[](void *ptr, void *place) {}
|
||||
|
||||
#endif // _STD_NEW
|
||||
@@ -0,0 +1,109 @@
|
||||
#ifndef _STD_SHARED_PTR
|
||||
#define _STD_SHARED_PTR
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cstddef>
|
||||
#include <typeinfo>
|
||||
|
||||
#include "compressed_pair.hpp"
|
||||
|
||||
#include "default_delete.hpp"
|
||||
|
||||
// clang-format off
|
||||
namespace std {
|
||||
|
||||
namespace tr1 {
|
||||
namespace detail {
|
||||
|
||||
class shared_ptr_deleter_common {
|
||||
public:
|
||||
virtual ~shared_ptr_deleter_common() {}
|
||||
// Return type is most definitely not correct
|
||||
virtual const void *get_deleter(const std::type_info &info) const = 0;
|
||||
|
||||
protected:
|
||||
virtual void dispose() = 0;
|
||||
|
||||
public:
|
||||
void release();
|
||||
|
||||
int m_RefCount;
|
||||
int m_WeakCount;
|
||||
};
|
||||
|
||||
template <typename T, typename Deleter = std::detail::default_delete<T> >
|
||||
class shared_ptr_deleter : public shared_ptr_deleter_common {
|
||||
public:
|
||||
shared_ptr_deleter(T *ptr) :
|
||||
m_Ptr(ptr) {}
|
||||
~shared_ptr_deleter() {}
|
||||
|
||||
const void *get_deleter(const std::type_info &info) const {
|
||||
if (info == typeid(Deleter)) {
|
||||
return &m_Ptr.second();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
protected:
|
||||
void dispose() {
|
||||
m_Ptr.second()(m_Ptr.first());
|
||||
}
|
||||
|
||||
private:
|
||||
Metrowerks::compressed_pair<T *, Deleter> m_Ptr;
|
||||
};
|
||||
|
||||
template <typename T> class shared_ptr_base {
|
||||
protected:
|
||||
void __set(T *ptr, tr1::detail::shared_ptr_deleter_common *deleter) {
|
||||
m_Ptr = ptr;
|
||||
m_Deleter = deleter;
|
||||
}
|
||||
|
||||
public:
|
||||
~shared_ptr_base() throw() {
|
||||
if (m_Deleter) {
|
||||
m_Deleter->release();
|
||||
}
|
||||
}
|
||||
|
||||
T *get() const {
|
||||
return m_Ptr;
|
||||
}
|
||||
|
||||
protected:
|
||||
T *m_Ptr;
|
||||
tr1::detail::shared_ptr_deleter_common *m_Deleter;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace tr1
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T> class shared_ptr : public tr1::detail::shared_ptr_base<T> {
|
||||
public:
|
||||
shared_ptr();
|
||||
|
||||
explicit shared_ptr(T *ptr) {
|
||||
__set(ptr, new tr1::detail::shared_ptr_deleter<T>(ptr));
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T> class shared_ptr<T[]> : public tr1::detail::shared_ptr_base<T> {
|
||||
public:
|
||||
shared_ptr();
|
||||
|
||||
explicit shared_ptr(T ptr[]) {
|
||||
this->__set(ptr, new tr1::detail::shared_ptr_deleter<T, std::detail::default_delete<T[]> >(ptr));
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace std
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,83 @@
|
||||
#ifndef _STD_STDEXCEPT
|
||||
#define _STD_STDEXCEPT
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include "shared_ptr.hpp"
|
||||
#include <cstring>
|
||||
#include <exception>
|
||||
#include <new>
|
||||
|
||||
namespace std {
|
||||
|
||||
class logic_error : public exception {
|
||||
public:
|
||||
explicit logic_error(const char *what_arg) :
|
||||
m_What(new char[strlen(what_arg) + 1]) {}
|
||||
|
||||
virtual const char *what() const {
|
||||
return (char *)m_What.get();
|
||||
}
|
||||
|
||||
private:
|
||||
detail::shared_ptr<char[]> m_What;
|
||||
};
|
||||
|
||||
class runtime_error : public exception {
|
||||
public:
|
||||
explicit runtime_error(const char *what_arg) :
|
||||
m_What(new char[strlen(what_arg) + 1]) {}
|
||||
|
||||
virtual const char *what() const {
|
||||
return m_What.get();
|
||||
}
|
||||
|
||||
private:
|
||||
detail::shared_ptr<char[]> m_What;
|
||||
};
|
||||
|
||||
class domain_error : public logic_error {
|
||||
public:
|
||||
explicit domain_error(const char *what_arg) :
|
||||
logic_error(what_arg) {}
|
||||
};
|
||||
|
||||
class invalid_argument : public logic_error {
|
||||
public:
|
||||
explicit invalid_argument(const char *what_arg) :
|
||||
logic_error(what_arg) {}
|
||||
};
|
||||
|
||||
class length_error : public logic_error {
|
||||
public:
|
||||
explicit length_error(const char *what_arg) :
|
||||
logic_error(what_arg) {}
|
||||
};
|
||||
|
||||
class out_of_range : public logic_error {
|
||||
public:
|
||||
explicit out_of_range(const char *what_arg) :
|
||||
logic_error(what_arg) {}
|
||||
};
|
||||
|
||||
class range_error : public runtime_error {
|
||||
public:
|
||||
explicit range_error(const char *what_arg) :
|
||||
runtime_error(what_arg) {}
|
||||
};
|
||||
|
||||
class overflow_error : public runtime_error {
|
||||
public:
|
||||
explicit overflow_error(const char *what_arg) :
|
||||
runtime_error(what_arg) {}
|
||||
};
|
||||
|
||||
class underflow_error : public runtime_error {
|
||||
public:
|
||||
explicit underflow_error(const char *what_arg) :
|
||||
runtime_error(what_arg) {}
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef _STD_TYPE_TRAITS
|
||||
#define _STD_TYPE_TRAITS
|
||||
|
||||
// from rb3 decomp
|
||||
//! TODO: these files aren't supposed to be organised like this according to rb3/key decomps
|
||||
|
||||
// Anachronistic backport of a large amount of the template metaprogramming library.
|
||||
// Most implementation details are copied straight from cppreference,
|
||||
// with others being copied from Boost, and a few using MSL intrinsics.
|
||||
|
||||
#include "type_traits/category.hpp"
|
||||
#include "type_traits/integral_constant.hpp"
|
||||
#include "type_traits/manip.hpp"
|
||||
#include "type_traits/manip_2.hpp"
|
||||
#include "type_traits/operation.hpp"
|
||||
#include "type_traits/property.hpp"
|
||||
#include "type_traits/relationship.hpp"
|
||||
#include "type_traits/utility.hpp"
|
||||
|
||||
#include "type_traits/call_traits.hpp"
|
||||
#include "type_traits/intrinsics.hpp"
|
||||
|
||||
namespace Metrowerks {
|
||||
template <int I> struct int2type {
|
||||
enum {
|
||||
val = I
|
||||
};
|
||||
|
||||
// static const int value = I;
|
||||
|
||||
// int value; // assumed
|
||||
};
|
||||
} // namespace Metrowerks
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,122 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
template <typename T> struct is_function : public false_type {};
|
||||
|
||||
template <typename Ret> struct is_function<Ret (*)()> : public true_type {};
|
||||
|
||||
template <typename Ret> struct is_function<Ret (*)(...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1> struct is_function<Ret (*)(T1)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1> struct is_function<Ret (*)(T1, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2> struct is_function<Ret (*)(T1, T2)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2> struct is_function<Ret (*)(T1, T2, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3> struct is_function<Ret (*)(T1, T2, T3)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3>
|
||||
struct is_function<Ret (*)(T1, T2, T3, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, ...)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> : public true_type {};
|
||||
|
||||
template <typename Ret, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8,
|
||||
typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16>
|
||||
struct is_function<Ret (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, ...)> : public true_type {};
|
||||
@@ -0,0 +1,49 @@
|
||||
#ifndef _METROWERKS_TYPE_TRAITS_CALL_TRAITS
|
||||
#define _METROWERKS_TYPE_TRAITS_CALL_TRAITS
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
namespace Metrowerks {
|
||||
|
||||
namespace details {
|
||||
|
||||
// probably doesn't cover all useful cases (e.g. long long),
|
||||
// but this will do for our purposes
|
||||
|
||||
template <typename T, bool Small = sizeof(T) <= sizeof(void *)> struct call_traits_imp {
|
||||
typedef const T param_type;
|
||||
};
|
||||
|
||||
template <typename T> struct call_traits_imp<T, false> {
|
||||
typedef const T ¶m_type;
|
||||
};
|
||||
|
||||
template <typename T, bool Small> struct call_traits_imp<T *, Small> {
|
||||
typedef T *param_type;
|
||||
};
|
||||
|
||||
template <typename T, bool Small> struct call_traits_imp<const T *, Small> {
|
||||
typedef const T *param_type;
|
||||
};
|
||||
|
||||
template <typename T, bool Small> struct call_traits_imp<T &, Small> {
|
||||
typedef T ¶m_type;
|
||||
};
|
||||
|
||||
template <typename T, bool Small> struct call_traits_imp<const T &, Small> {
|
||||
typedef const T ¶m_type;
|
||||
};
|
||||
|
||||
} // namespace details
|
||||
|
||||
// name known; boost
|
||||
template <typename T> struct call_traits {
|
||||
typedef T value_type;
|
||||
typedef T &reference;
|
||||
typedef const T &const_reference;
|
||||
typedef typename details::call_traits_imp<T>::param_type param_type;
|
||||
};
|
||||
|
||||
} // namespace Metrowerks
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,123 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_CATEGORY
|
||||
#define _MSL_TYPE_TRAITS_CATEGORY
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "type_traits/call_traits.hpp"
|
||||
#include "type_traits/intrinsics.hpp"
|
||||
|
||||
#include "type_traits/integral_constant.hpp"
|
||||
#include "type_traits/manip.hpp"
|
||||
#include "type_traits/operation.hpp"
|
||||
#include "type_traits/relationship.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
template <typename T>
|
||||
struct is_void : public is_same<typename remove_cv<T>::type, void> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_integral : public bool_constant<Metrowerks::is_integral<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_floating_point : public bool_constant<Metrowerks::is_floating_point<T>::value> {};
|
||||
|
||||
template <typename T> struct is_array : public false_type {};
|
||||
template <typename T> struct is_array<T[]> : public true_type {};
|
||||
template <typename T, std::size_t N> struct is_array<T[N]> : public true_type {};
|
||||
|
||||
template <typename T>
|
||||
struct is_enum : public bool_constant<Metrowerks::is_enum<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_union : public bool_constant<Metrowerks::is_union<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_class : public bool_constant<Metrowerks::is_class<T>::value> {};
|
||||
|
||||
// C++11: needs variadic template args to implement properly
|
||||
// As a stopgap, variants for up to 16 parameters are generated
|
||||
#include "_category_function.hpp"
|
||||
|
||||
template <typename T> struct is_pointer : public false_type {};
|
||||
template <typename T> struct is_pointer<T*> : public true_type {};
|
||||
template <typename T> struct is_pointer<T* const> : public true_type {};
|
||||
template <typename T> struct is_pointer<T* volatile> : public true_type {};
|
||||
template <typename T> struct is_pointer<T* const volatile> : public true_type {};
|
||||
|
||||
template <typename T> struct is_lvalue_reference : public false_type {};
|
||||
template <typename T> struct is_lvalue_reference<T&> : public true_type {};
|
||||
|
||||
template <typename T> struct is_rvalue_reference : public false_type {};
|
||||
// template <typename T> struct is_rvalue_reference<T&&> : public true_type {}; // C++11
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T>
|
||||
struct is_member_pointer : public false_type {};
|
||||
|
||||
template <typename T, typename U>
|
||||
struct is_member_pointer<T U::*> : public true_type {};
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct is_member_pointer
|
||||
: public detail::is_member_pointer<typename remove_cv<T>::type> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_member_object_pointer : public bool_constant<
|
||||
is_member_pointer<T>::value &&
|
||||
!is_function<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_member_function_pointer : public bool_constant<
|
||||
is_member_pointer<T>::value &&
|
||||
is_function<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_arithmetic : public bool_constant<
|
||||
is_integral<T>::value ||
|
||||
is_floating_point<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_fundamental : public bool_constant<
|
||||
is_arithmetic<T>::value ||
|
||||
is_void<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_scalar : public bool_constant<
|
||||
is_arithmetic<T>::value ||
|
||||
is_enum<T>::value ||
|
||||
is_pointer<T>::value ||
|
||||
is_member_pointer<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_object : public bool_constant<
|
||||
is_scalar<T>::value ||
|
||||
is_array<T>::value ||
|
||||
is_union<T>::value ||
|
||||
is_class<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_compound : public negation<is_fundamental<T> > {};
|
||||
|
||||
template <typename T>
|
||||
struct is_reference : public bool_constant<
|
||||
is_lvalue_reference<T>::value ||
|
||||
is_rvalue_reference<T>::value
|
||||
> {};
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_INTEGRAL_CONSTANT
|
||||
#define _MSL_TYPE_TRAITS_INTEGRAL_CONSTANT
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
namespace std {
|
||||
|
||||
template <typename T, T V> struct integral_constant {
|
||||
static const T value = V;
|
||||
|
||||
typedef T value_type;
|
||||
typedef integral_constant type;
|
||||
|
||||
operator const value_type() const throw() {
|
||||
return value;
|
||||
}
|
||||
const value_type operator()() const throw() {
|
||||
return value;
|
||||
}
|
||||
};
|
||||
|
||||
typedef integral_constant<bool, true> true_type;
|
||||
typedef integral_constant<bool, false> false_type;
|
||||
|
||||
template <bool B> struct bool_constant : public integral_constant<bool, B> {};
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,258 @@
|
||||
#ifndef _METROWERKS_TYPE_TRAITS_INTRINSICS
|
||||
#define _METROWERKS_TYPE_TRAITS_INTRINSICS
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
// Builtins reference: https://decomp.me/scratch/k4ZpJ
|
||||
|
||||
namespace Metrowerks {
|
||||
|
||||
namespace detail {
|
||||
|
||||
#ifdef DECOMP_IDE_FLAG
|
||||
#define __builtin_ntype(T) (detail::ntype) 0
|
||||
#define __builtin_align(T) 0
|
||||
#define __builtin_is_pod(T) 0
|
||||
#define __builtin_is_polymorphic(T) 0
|
||||
#define __builtin_is_abstract(T) 0
|
||||
#define __builtin_trivial_members(T) 0
|
||||
#define __builtin_trivial_members(T) 0
|
||||
#define __builtin_trivial_members(T) 0
|
||||
#define __builtin_trivial_members(T) 0
|
||||
#define __builtin_trivial_members(T) 0
|
||||
#define __builtin_has_nothrow_default_constructor(T) 0
|
||||
#define __builtin_has_nothrow_copy(T) 0
|
||||
#define __builtin_has_nothrow_assign(T) 0
|
||||
#define __builtin_has_nothrow_destructor(T) 0
|
||||
#define __builtin_has_virtual_destructor(T) 0
|
||||
typedef double short_double;
|
||||
typedef double __vec2x32float__;
|
||||
#else
|
||||
typedef short double short_double;
|
||||
#endif
|
||||
|
||||
enum trivial_member {
|
||||
trivial_dtor = 0x01,
|
||||
trivial_copy_assign = 0x02,
|
||||
trivial_copy_ctor = 0x04,
|
||||
trivial_default_ctor = 0x08,
|
||||
};
|
||||
|
||||
enum ntype {
|
||||
ntype_void = 0x00,
|
||||
|
||||
ntype_bool = 0x01,
|
||||
|
||||
ntype_char = 0x02,
|
||||
ntype_signed_char = 0x03,
|
||||
ntype_unsigned_char = 0x04,
|
||||
|
||||
ntype_wchar_t = 0x05,
|
||||
|
||||
ntype_signed_short = 0x06,
|
||||
ntype_unsigned_short = 0x07,
|
||||
|
||||
ntype_signed_int = 0x08,
|
||||
ntype_unsigned_int = 0x09,
|
||||
|
||||
ntype_signed_long = 0x0A,
|
||||
ntype_unsigned_long = 0x0B, // assumed, the actual result is the same as
|
||||
// ntype_signed_long for some reason
|
||||
|
||||
ntype_signed_long_long = 0x0C,
|
||||
ntype_unsigned_long_long = 0x0D,
|
||||
|
||||
ntype_float = 0x0E,
|
||||
ntype_short_double = 0x0F,
|
||||
ntype_double = 0x10,
|
||||
ntype_long_double = 0x11,
|
||||
|
||||
ntype_vec2x32float = 0x22,
|
||||
|
||||
ntype_type_mask = 0xFF,
|
||||
|
||||
ntype_flag_integral = 0x0100,
|
||||
ntype_flag_floating = 0x0200,
|
||||
ntype_flag_enum = 0x0400,
|
||||
|
||||
ntype_pointer = 0x0800,
|
||||
ntype_array = 0x1000,
|
||||
|
||||
ntype_class = 0x2000,
|
||||
ntype_union = 0x2001,
|
||||
ntype_pointer_to_member = 0x4000,
|
||||
|
||||
ntype_function = 0x8000,
|
||||
|
||||
ntype_flag_0x10000 = 0x10000,
|
||||
};
|
||||
|
||||
// clang-format off: conciseness
|
||||
template <ntype N>
|
||||
struct ntype_to_integral_helper;
|
||||
|
||||
template <> struct ntype_to_integral_helper<ntype_void> { typedef void type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_bool> { typedef bool type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_char> { typedef char type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_signed_char> { typedef signed char type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_unsigned_char> { typedef unsigned char type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_wchar_t> { typedef wchar_t type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_signed_short> { typedef signed short type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_unsigned_short> { typedef unsigned short type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_signed_int> { typedef signed int type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_unsigned_int> { typedef unsigned int type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_signed_long> { typedef signed long type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_unsigned_long> { typedef unsigned long type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_signed_long_long> { typedef signed long long type; };
|
||||
template <> struct ntype_to_integral_helper<ntype_unsigned_long_long> { typedef unsigned long long type; };
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_integral : public ntype_to_integral_helper<ntype(N & ntype_type_mask)> {};
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_floating_helper;
|
||||
|
||||
template <> struct ntype_to_floating_helper<ntype_float> { typedef float type; };
|
||||
template <> struct ntype_to_floating_helper<ntype_short_double> { typedef short_double type; };
|
||||
template <> struct ntype_to_floating_helper<ntype_double> { typedef double type; };
|
||||
template <> struct ntype_to_floating_helper<ntype_long_double> { typedef long double type; };
|
||||
// template <> struct ntype_to_floating_helper<ntype_vec2x32float> { typedef __vec2x32float__ type; };
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_floating : public ntype_to_floating_helper<ntype(N & ntype_type_mask)> {};
|
||||
|
||||
template <ntype N, bool integer, bool floating>
|
||||
struct ntype_to_type_helper;
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_type_helper<N, true, false> : public ntype_to_integral<N> {};
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_type_helper<N, false, true> : public ntype_to_floating<N> {};
|
||||
|
||||
template <ntype N>
|
||||
struct ntype_to_type : public ntype_to_type_helper<
|
||||
ntype(N & ntype_type_mask),
|
||||
bool(N & ntype_flag_integral),
|
||||
bool(N & ntype_flag_floating)
|
||||
> {};
|
||||
|
||||
// __builtin_ntype doesn't respect ref types correctly
|
||||
template <typename T, ntype NType>
|
||||
struct ntype_ref_helper {
|
||||
static const bool value = __builtin_ntype(T) == NType;
|
||||
};
|
||||
|
||||
template <typename T, ntype NType>
|
||||
struct ntype_ref_helper<T&, NType> {
|
||||
static const bool value = false;
|
||||
};
|
||||
|
||||
template <typename T, ntype Flag>
|
||||
struct ntype_ref_helper_flag {
|
||||
static const bool value = (__builtin_ntype(T) & Flag) == Flag;
|
||||
};
|
||||
|
||||
template <typename T, ntype Flag>
|
||||
struct ntype_ref_helper_flag<T&, Flag> {
|
||||
static const bool value = false;
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template <class T> struct alignment_of {
|
||||
static const std::size_t value = __builtin_align(T);
|
||||
};
|
||||
|
||||
template <typename T> struct is_integral {
|
||||
static const bool value = detail::ntype_ref_helper_flag<T, detail::ntype_flag_integral>::value;
|
||||
};
|
||||
|
||||
template <typename T> struct is_floating_point {
|
||||
static const bool value = detail::ntype_ref_helper_flag<T, detail::ntype_flag_floating>::value;
|
||||
};
|
||||
|
||||
template <typename T> struct is_enum {
|
||||
static const bool value = detail::ntype_ref_helper_flag<T, detail::ntype_flag_enum>::value;
|
||||
};
|
||||
|
||||
template <typename T> struct is_class {
|
||||
static const bool value = detail::ntype_ref_helper<T, detail::ntype_class>::value;
|
||||
};
|
||||
|
||||
// name known; boost
|
||||
template <typename T> struct is_union {
|
||||
static const bool value = detail::ntype_ref_helper<T, detail::ntype_union>::value;
|
||||
};
|
||||
|
||||
// name known; boost/STLport
|
||||
template <typename T> struct is_POD {
|
||||
static const bool value = __builtin_is_pod(T);
|
||||
};
|
||||
|
||||
template <typename T> struct is_polymorphic {
|
||||
static const bool value = __builtin_is_polymorphic(T);
|
||||
};
|
||||
|
||||
template <typename T> struct is_abstract {
|
||||
static const bool value = __builtin_is_abstract(T);
|
||||
};
|
||||
|
||||
template <typename T> struct is_trivial {
|
||||
static const bool value = __builtin_trivial_members(T) == (detail::trivial_dtor | detail::trivial_copy_assign |
|
||||
detail::trivial_copy_ctor | detail::trivial_default_ctor);
|
||||
};
|
||||
|
||||
// name known; boost/STLport
|
||||
template <typename T> struct has_trivial_default_ctor {
|
||||
static const bool value = __builtin_trivial_members(T) & detail::trivial_default_ctor;
|
||||
};
|
||||
|
||||
// name known; boost/STLport
|
||||
template <typename T> struct has_trivial_copy_ctor {
|
||||
static const bool value = __builtin_trivial_members(T) & detail::trivial_copy_ctor;
|
||||
};
|
||||
|
||||
// name known; boost/STLport
|
||||
template <typename T> struct has_trivial_assignment {
|
||||
static const bool value = __builtin_trivial_members(T) & detail::trivial_copy_assign;
|
||||
};
|
||||
|
||||
// name known; boost/STLport
|
||||
template <typename T> struct has_trivial_dtor {
|
||||
static const bool value = __builtin_trivial_members(T) & detail::trivial_dtor;
|
||||
};
|
||||
|
||||
template <typename T> struct has_nothrow_default_ctor {
|
||||
static const bool value = __builtin_has_nothrow_default_constructor(T);
|
||||
};
|
||||
|
||||
template <typename T> struct has_nothrow_copy_ctor {
|
||||
static const bool value = __builtin_has_nothrow_copy(T);
|
||||
};
|
||||
|
||||
template <typename T> struct has_nothrow_assignment {
|
||||
static const bool value = __builtin_has_nothrow_assign(T);
|
||||
};
|
||||
|
||||
template <typename T> struct has_nothrow_dtor {
|
||||
static const bool value = __builtin_has_nothrow_destructor(T);
|
||||
};
|
||||
|
||||
template <typename T> struct has_virtual_dtor {
|
||||
static const bool value = __builtin_has_virtual_destructor(T);
|
||||
};
|
||||
|
||||
template <typename T, bool IsEnum> struct underlying_type_helper {};
|
||||
|
||||
template <typename T> struct underlying_type_helper<T, true> : public detail::ntype_to_integral<__builtin_ntype(T)> {};
|
||||
|
||||
template <typename T> struct underlying_type : public underlying_type_helper<T, is_enum<T>::value> {};
|
||||
|
||||
} // namespace Metrowerks
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,109 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_MANIP
|
||||
#define _MSL_TYPE_TRAITS_MANIP
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "type_traits/call_traits.hpp"
|
||||
#include "type_traits/intrinsics.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
#pragma region "const-volatile modifications"
|
||||
template <typename T> struct add_const { typedef const T type; };
|
||||
template <typename T> struct add_volatile { typedef volatile T type; };
|
||||
template <typename T> struct add_cv { typedef const volatile T type; };
|
||||
|
||||
template <typename T> struct remove_const { typedef T type; };
|
||||
template <typename T> struct remove_const<const T> { typedef T type; };
|
||||
template <typename T> struct remove_const<const volatile T> { typedef volatile T type; };
|
||||
|
||||
template <typename T> struct remove_volatile { typedef T type; };
|
||||
template <typename T> struct remove_volatile<volatile T> { typedef T type; };
|
||||
template <typename T> struct remove_volatile<const volatile T> { typedef const T type; };
|
||||
|
||||
template <typename T> struct remove_cv { typedef T type; };
|
||||
template <typename T> struct remove_cv<const T> { typedef T type; };
|
||||
template <typename T> struct remove_cv<volatile T> { typedef T type; };
|
||||
template <typename T> struct remove_cv<const volatile T> { typedef T type; };
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename From, typename To> struct copy_const { typedef To type; };
|
||||
template <typename From, typename To> struct copy_const<const From, To> { typedef const To type; };
|
||||
|
||||
template <typename From, typename To> struct copy_volatile { typedef To type; };
|
||||
template <typename From, typename To> struct copy_volatile<volatile From, To> { typedef volatile To type; };
|
||||
|
||||
template <typename From, typename To> struct copy_cv { typedef From type; };
|
||||
template <typename From, typename To> struct copy_cv<const From, To> { typedef const To type; };
|
||||
template <typename From, typename To> struct copy_cv<volatile From, To> { typedef volatile To type; };
|
||||
template <typename From, typename To> struct copy_cv<const volatile From, To> { typedef const volatile To type; };
|
||||
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "reference modifications"
|
||||
template <typename T> struct add_lvalue_reference { typedef T& type; };
|
||||
// template <typename T> struct add_rvalue_reference { typedef T&& type; }; // C++11
|
||||
|
||||
template <> struct add_lvalue_reference<void> { typedef void type; };
|
||||
template <> struct add_lvalue_reference<const void> { typedef const void type; };
|
||||
template <> struct add_lvalue_reference<volatile void> { typedef volatile void type; };
|
||||
template <> struct add_lvalue_reference<const volatile void> { typedef const volatile void type; };
|
||||
|
||||
template <typename T> struct remove_reference { typedef T type; };
|
||||
template <typename T> struct remove_reference<T&> { typedef T type; };
|
||||
// template <typename T> struct remove_reference<T&&> { typedef T type; }; // C++11
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "pointer modifications"
|
||||
template <typename T> struct add_pointer { typedef typename remove_reference<T>::type* type; };
|
||||
|
||||
template <typename T> struct remove_pointer { typedef T type; };
|
||||
template <typename T> struct remove_pointer<T*> { typedef T type; };
|
||||
template <typename T> struct remove_pointer<T* const> { typedef T type; };
|
||||
template <typename T> struct remove_pointer<T* volatile> { typedef T type; };
|
||||
template <typename T> struct remove_pointer<T* const volatile> { typedef T type; };
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "array modifications"
|
||||
template <typename T> struct remove_extent { typedef T type; };
|
||||
template <typename T> struct remove_extent<T[]> { typedef T type; };
|
||||
template <typename T, std::size_t N> struct remove_extent<T[N]> { typedef T type; };
|
||||
|
||||
template <typename T> struct remove_all_extents { typedef T type; };
|
||||
template <typename T> struct remove_all_extents<T[]> { typedef typename remove_all_extents<T>::type type; };
|
||||
template <typename T, std::size_t N> struct remove_all_extents<T[N]> { typedef typename remove_all_extents<T>::type type; };
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "miscellaneous transformations"
|
||||
|
||||
// Not implementable, __attribute__ ((aligned (i))) doesn't work with template args
|
||||
// template <std::size_t Len, std::size_t Align = 4> struct aligned_storage;
|
||||
|
||||
// template <std::size_t Len, typename... Types> struct aligned_union
|
||||
|
||||
template <typename T>
|
||||
struct remove_cvref {
|
||||
typedef typename remove_cv<typename remove_reference<T>::value>::value type;
|
||||
};
|
||||
|
||||
// template <typename... T> struct common_type;
|
||||
|
||||
template <typename T>
|
||||
struct underlying_type {
|
||||
typedef typename Metrowerks::underlying_type<T>::value type;
|
||||
};
|
||||
|
||||
// template <typename Fn, typename... ArgTypes> struct result_of;
|
||||
|
||||
#pragma endregion
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,99 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_MANIP_2
|
||||
#define _MSL_TYPE_TRAITS_MANIP_2
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
// Separate for manip traits that aren't free-standing
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "type_traits/category.hpp"
|
||||
#include "type_traits/manip.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
#pragma region "sign modifications"
|
||||
namespace detail {
|
||||
|
||||
template <typename T> struct make_signed_helper;
|
||||
|
||||
template <> struct make_signed_helper<signed char> { typedef signed char type; };
|
||||
template <> struct make_signed_helper<signed short> { typedef signed short type; };
|
||||
template <> struct make_signed_helper<signed int> { typedef signed int type; };
|
||||
template <> struct make_signed_helper<signed long> { typedef signed long type; };
|
||||
template <> struct make_signed_helper<signed long long> { typedef signed long long type; };
|
||||
|
||||
template <> struct make_signed_helper<unsigned char> { typedef signed char type; };
|
||||
template <> struct make_signed_helper<unsigned short> { typedef signed short type; };
|
||||
template <> struct make_signed_helper<unsigned int> { typedef signed int type; };
|
||||
template <> struct make_signed_helper<unsigned long> { typedef signed long type; };
|
||||
template <> struct make_signed_helper<unsigned long long> { typedef signed long long type; };
|
||||
|
||||
template <> struct make_signed_helper<char> { typedef signed char type; };
|
||||
template <> struct make_signed_helper<wchar_t> { typedef signed short type; };
|
||||
|
||||
template <typename T, bool IsEnum = is_enum<T>::value>
|
||||
struct make_signed : public make_signed_helper<T> {};
|
||||
|
||||
template <typename T>
|
||||
struct make_signed<T, true> : public make_signed_helper<typename underlying_type<T>::type> {};
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct make_signed : public detail::copy_cv<T, detail::make_signed<typename remove_cv<T>::type> > {};
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T> struct make_unsigned_helper;
|
||||
|
||||
template <> struct make_unsigned_helper<signed char> { typedef unsigned char type; };
|
||||
template <> struct make_unsigned_helper<signed short> { typedef unsigned short type; };
|
||||
template <> struct make_unsigned_helper<signed int> { typedef unsigned int type; };
|
||||
template <> struct make_unsigned_helper<signed long> { typedef unsigned long type; };
|
||||
template <> struct make_unsigned_helper<signed long long> { typedef unsigned long long type; };
|
||||
|
||||
template <> struct make_unsigned_helper<unsigned char> { typedef unsigned char type; };
|
||||
template <> struct make_unsigned_helper<unsigned short> { typedef unsigned short type; };
|
||||
template <> struct make_unsigned_helper<unsigned int> { typedef unsigned int type; };
|
||||
template <> struct make_unsigned_helper<unsigned long> { typedef unsigned long type; };
|
||||
template <> struct make_unsigned_helper<unsigned long long> { typedef unsigned long long type; };
|
||||
|
||||
template <> struct make_unsigned_helper<char> { typedef unsigned char type; };
|
||||
template <> struct make_unsigned_helper<wchar_t> { typedef unsigned short type; };
|
||||
|
||||
template <typename T, bool IsEnum = is_enum<T>::value>
|
||||
struct make_unsigned : public make_unsigned_helper<T> {};
|
||||
|
||||
template <typename T>
|
||||
struct make_unsigned<T, true> : public make_unsigned_helper<typename underlying_type<T>::type> {};
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct make_unsigned : public detail::copy_cv<T, detail::make_unsigned<typename remove_cv<T>::type> > {};
|
||||
#pragma endregion
|
||||
|
||||
template<class T>
|
||||
struct decay
|
||||
{
|
||||
private:
|
||||
typedef typename remove_reference<T>::type U;
|
||||
|
||||
public:
|
||||
typedef typename conditional<
|
||||
is_array<U>::value,
|
||||
typename add_pointer<typename remove_extent<U>::type>::type,
|
||||
typename conditional<
|
||||
is_function<U>::value,
|
||||
typename add_pointer<U>::type,
|
||||
typename remove_cv<U>::type
|
||||
>::type
|
||||
>::type type;
|
||||
};
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_OPERATION
|
||||
#define _MSL_TYPE_TRAITS_OPERATION
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include "integral_constant.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
#pragma region "enable_if: logical if"
|
||||
template <bool B, typename T = void>
|
||||
struct enable_if {};
|
||||
template <typename T>
|
||||
struct enable_if<true, T> { typedef T type; };
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "conditional: logical if/else"
|
||||
template <bool B, typename T, typename F> struct conditional;
|
||||
template <typename T, typename F> struct conditional<true, T, F> { typedef T type; };
|
||||
template <typename T, typename F> struct conditional<false, T, F> { typedef F type; };
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "conjunction: logical AND; all"
|
||||
// template <typename... B> struct conjunction;
|
||||
struct conjunction : public true_type {};
|
||||
|
||||
template <typename B1, typename B2>
|
||||
struct conjunction2 : public conditional< !bool(B1::value), B1, B2 >::type {};
|
||||
|
||||
template <typename B1, typename B2, typename B3>
|
||||
struct conjunction3 : public conditional< !bool(B1::value), B1, conjunction2<B2, B3> >::type {};
|
||||
|
||||
template <typename B1, typename B2, typename B3, typename B4>
|
||||
struct conjunction4 : public conditional< !bool(B1::value), B1, conjunction3<B2, B3, B4> >::type {};
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "disjunction: logical OR; any"
|
||||
// template <typename... B> struct disjunction;
|
||||
struct disjunction : public false_type {};
|
||||
|
||||
template <typename B1, typename B2>
|
||||
struct disjunction2 : public conditional< bool(B1::value), B1, B2>::type {};
|
||||
|
||||
template <typename B1, typename B2, typename B3>
|
||||
struct disjunction3 : public conditional< bool(B1::value), B1, disjunction2<B2, B3> >::type {};
|
||||
|
||||
template <typename B1, typename B2, typename B3, typename B4>
|
||||
struct disjunction4 : public conditional< bool(B1::value), B1, disjunction3<B2, B3, B4> >::type {};
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "negation: logical NOT"
|
||||
template <typename B>
|
||||
struct negation : public integral_constant<bool, !bool(B::value)> {};
|
||||
|
||||
// NAND; not all
|
||||
struct negative_conjunction : public negation<conjunction> {};
|
||||
template <typename B1, typename B2>
|
||||
struct negative_conjunction2 : public negation<conjunction2<B1, B2> > {};
|
||||
template <typename B1, typename B2, typename B3>
|
||||
struct negative_conjunction3 : public negation<conjunction3<B1, B2, B3> > {};
|
||||
template <typename B1, typename B2, typename B3, typename B4>
|
||||
struct negative_conjunction4 : public negation<conjunction4<B1, B2, B3, B4> > {};
|
||||
|
||||
// NOR; not any
|
||||
struct negative_disjunction : public negation<disjunction> {};
|
||||
template <typename B1, typename B2>
|
||||
struct negative_disjunction2 : public negation<disjunction2<B1, B2> > {};
|
||||
template <typename B1, typename B2, typename B3>
|
||||
struct negative_disjunction3 : public negation<disjunction3<B1, B2, B3> > {};
|
||||
template <typename B1, typename B2, typename B3, typename B4>
|
||||
struct negative_disjunction4 : public negation<disjunction4<B1, B2, B3, B4> > {};
|
||||
#pragma endregion
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,150 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_PROPERTY
|
||||
#define _MSL_TYPE_TRAITS_PROPERTY
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include "type_traits/call_traits.hpp"
|
||||
#include "type_traits/intrinsics.hpp"
|
||||
|
||||
#include "type_traits/category.hpp"
|
||||
#include "type_traits/integral_constant.hpp"
|
||||
#include "type_traits/relationship.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
#pragma region "type properties"
|
||||
template <typename T> struct is_const : public false_type {};
|
||||
template <typename T> struct is_const<const T> : public true_type {};
|
||||
|
||||
template <typename T> struct is_volatile : public false_type {};
|
||||
template <typename T> struct is_volatile<volatile T> : public true_type {};
|
||||
|
||||
template <typename T>
|
||||
struct is_trivial : public bool_constant<Metrowerks::is_trivial<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_trivially_copyable : public bool_constant<
|
||||
Metrowerks::has_trivial_copy_ctor<T>::value &&
|
||||
Metrowerks::has_trivial_assignment<T>::value
|
||||
> {};
|
||||
|
||||
template <typename T> struct is_standard_layout;
|
||||
|
||||
template <typename T>
|
||||
struct is_pod : public bool_constant<Metrowerks::is_POD<T>::value> {};
|
||||
|
||||
template <typename T> struct is_literal_type;
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T>
|
||||
struct is_empty_helper1 : public T { int i; };
|
||||
struct is_empty_helper2 { int i; };
|
||||
|
||||
template <typename T, bool IsInheritable = is_class<T>::value>
|
||||
struct is_empty : public bool_constant<sizeof(is_empty_helper1<T>) == sizeof(is_empty_helper2)> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_empty<T, false> : public false_type {};
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct is_empty : public detail::is_empty<T> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_polymorphic : public bool_constant<Metrowerks::is_polymorphic<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_abstract : public bool_constant<Metrowerks::is_abstract<T>::value> {};
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename T, bool IsArithmetic = is_arithmetic<T>::value>
|
||||
struct is_signed : public bool_constant<(T(0) > T(-1))> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_signed<T, false> : public false_type {};
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct is_signed : public detail::is_signed<T> {};
|
||||
|
||||
template <typename T>
|
||||
struct is_unsigned : public bool_constant<!is_signed<T>::value> {};
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "supported operations"
|
||||
// template <typename T, typename... Args> struct is_constructible;
|
||||
// template <typename T, typename... Args> struct is_trivially_constructible;
|
||||
// template <typename T, typename... Args> struct is_nothrow_constructible;
|
||||
|
||||
template <typename T> struct is_default_constructible;
|
||||
template <typename T> struct is_trivially_default_constructible
|
||||
: public bool_constant<Metrowerks::has_trivial_default_ctor<T>::value> {};
|
||||
template <typename T> struct is_nothrow_default_constructible
|
||||
: public bool_constant<Metrowerks::has_nothrow_default_ctor<T>::value> {};
|
||||
|
||||
template <typename T> struct is_copy_constructible;
|
||||
template <typename T> struct is_trivially_copy_constructible
|
||||
: public bool_constant<Metrowerks::has_trivial_copy_ctor<T>::value> {};
|
||||
template <typename T> struct is_nothrow_copy_constructible
|
||||
: public bool_constant<Metrowerks::has_nothrow_copy_ctor<T>::value> {};
|
||||
|
||||
template <typename T> struct is_move_constructible : public false_type {}; // C++11
|
||||
template <typename T> struct is_trivially_move_constructible : public false_type {}; // C++11
|
||||
template <typename T> struct is_nothrow_move_constructible : public false_type {}; // C++11
|
||||
|
||||
template <typename T, typename U> struct is_assignable;
|
||||
template <typename T, typename U> struct is_trivially_assignable;
|
||||
template <typename T, typename U> struct is_nothrow_assignable;
|
||||
|
||||
template <typename T> struct is_copy_assignable;
|
||||
template <typename T> struct is_trivially_copy_assignable
|
||||
: public bool_constant<Metrowerks::has_trivial_assignment<T>::value> {};
|
||||
template <typename T> struct is_nothrow_copy_assignable
|
||||
: public bool_constant<Metrowerks::has_nothrow_assignment<T>::value> {};
|
||||
|
||||
template <typename T> struct is_move_assignable : public false_type {}; // C++11
|
||||
template <typename T> struct is_trivially_move_assignable : public false_type {}; // C++11
|
||||
template <typename T> struct is_nothrow_move_assignable : public false_type {}; // C++11
|
||||
|
||||
template <typename T> struct is_destructible;
|
||||
template <typename T> struct is_trivially_destructible
|
||||
: public bool_constant<Metrowerks::has_trivial_dtor<T>::value> {};
|
||||
template <typename T> struct is_nothrow_destructible
|
||||
: public bool_constant<Metrowerks::has_nothrow_dtor<T>::value> {};
|
||||
|
||||
template <typename T> struct has_virtual_destructor
|
||||
: public bool_constant<Metrowerks::has_virtual_dtor<T>::value> {};
|
||||
#pragma endregion
|
||||
|
||||
#pragma region "type property queries"
|
||||
template <typename T>
|
||||
struct alignment_of : public integral_constant<size_t, Metrowerks::alignment_of<T>::value> {};
|
||||
|
||||
template <typename T>
|
||||
struct rank : public integral_constant<size_t, 0> {};
|
||||
template <typename T>
|
||||
struct rank<T[]> : public integral_constant<size_t, rank<T>::value + 1> {};
|
||||
template <typename T, size_t N>
|
||||
struct rank<T[N]> : public integral_constant<size_t, rank<T>::value + 1> {};
|
||||
|
||||
template <typename T, unsigned N = 0>
|
||||
struct extent : public integral_constant<size_t, 0> {};
|
||||
template <typename T>
|
||||
struct extent<T[], 0> : public integral_constant<size_t, 0> {};
|
||||
template <typename T, unsigned N>
|
||||
struct extent<T[], N> : public extent<T, N - 1> {};
|
||||
template <typename T, size_t I>
|
||||
struct extent<T[I], 0> : public integral_constant<size_t, I> {};
|
||||
template <typename T, size_t I, unsigned N>
|
||||
struct extent<T[I], N> : public extent<T, N - 1> {};
|
||||
#pragma endregion
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_RELATIONSHIP
|
||||
#define _MSL_TYPE_TRAITS_RELATIONSHIP
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include "type_traits/integral_constant.hpp"
|
||||
#include "type_traits/utility.hpp"
|
||||
|
||||
// clang-format off: conciseness
|
||||
namespace std {
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename From, typename To>
|
||||
struct is_convertible {
|
||||
static true_type test(To) { __MWERKS_NOEVAL; }
|
||||
static false_type test(...) { __MWERKS_NOEVAL; }
|
||||
|
||||
#ifdef DECOMP_IDE_FLAG
|
||||
typedef false_type type;
|
||||
#else
|
||||
typedef __decltype__(test(declval<From>())) type;
|
||||
#endif
|
||||
};
|
||||
|
||||
template <typename Base, typename Derived>
|
||||
struct is_base_of {
|
||||
static true_type test(const volatile Base*) { __MWERKS_NOEVAL; }
|
||||
static false_type test(const volatile void*) { __MWERKS_NOEVAL; }
|
||||
|
||||
#ifdef DECOMP_IDE_FLAG
|
||||
typedef false_type type;
|
||||
#else
|
||||
typedef __decltype__(test(declval<Derived*>())) type;
|
||||
#endif
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
template <typename T, typename U>
|
||||
struct is_same : public false_type {};
|
||||
template <typename T>
|
||||
struct is_same<T, T> : public true_type {};
|
||||
|
||||
template <typename From, typename To>
|
||||
struct is_convertible : public detail::is_convertible<From, To> {};
|
||||
|
||||
template <typename Base, typename Derived>
|
||||
struct is_base_of : public detail::is_base_of<Base, Derived> {};
|
||||
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef _MSL_TYPE_TRAITS_UTILITY
|
||||
#define _MSL_TYPE_TRAITS_UTILITY
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
// clang-format off: conciseness
|
||||
|
||||
#ifdef DECOMP_IDE_FLAG
|
||||
#define __static_assert(cond, msg)
|
||||
#endif
|
||||
|
||||
// #define __MWERKS_NOEVAL __static_assert(false, "Cannot be called from an evaluated context!")
|
||||
#define __MWERKS_NOEVAL
|
||||
|
||||
namespace std {
|
||||
|
||||
template <typename T>
|
||||
static T declval() { __MWERKS_NOEVAL; }
|
||||
|
||||
}
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef _STD_TYPEINFO
|
||||
#define _STD_TYPEINFO
|
||||
|
||||
// from rb3 decomp
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <exception>
|
||||
|
||||
namespace std {
|
||||
|
||||
class type_info {
|
||||
public:
|
||||
/*virtual*/ ~type_info();
|
||||
bool operator==(const type_info &rhs) const {
|
||||
return strcmp((char *) this->m_Name, (char *) rhs.m_Name) == 0;
|
||||
}
|
||||
|
||||
bool before(const type_info &rhs) const throw();
|
||||
size_t hash_code() const throw() {
|
||||
return m_HashCode;
|
||||
}
|
||||
const char *name() const throw() {
|
||||
return m_Name;
|
||||
}
|
||||
|
||||
private:
|
||||
// These constructors are normally deleted, but our C++ version
|
||||
// doesn't support that, so they're privated as a workaround
|
||||
type_info();
|
||||
type_info(const type_info &);
|
||||
type_info &operator=(const type_info &);
|
||||
|
||||
const char *m_Name;
|
||||
size_t m_HashCode;
|
||||
};
|
||||
|
||||
class bad_cast : public exception {
|
||||
public:
|
||||
virtual ~bad_cast() {}
|
||||
virtual const char *what() const {
|
||||
return "bad_cast";
|
||||
}
|
||||
};
|
||||
|
||||
class bad_typeid : public exception {
|
||||
public:
|
||||
virtual ~bad_typeid() {}
|
||||
virtual const char *what() const {
|
||||
return "bad_typeid";
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
+544
-5
@@ -1,10 +1,549 @@
|
||||
#pragma once
|
||||
#ifndef _STD_VECTOR
|
||||
#define _STD_VECTOR
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
#include <iterator>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
|
||||
#include <compressed_pair.hpp>
|
||||
#include <msl_unk.hpp>
|
||||
|
||||
#define TAG_UNK 0
|
||||
|
||||
// from key decomp
|
||||
|
||||
namespace std {
|
||||
template <class T> class vector {
|
||||
template <bool> class __vector_common {
|
||||
public:
|
||||
T *elements;
|
||||
int size;
|
||||
int capacity;
|
||||
static void throw_length_error();
|
||||
};
|
||||
|
||||
template <typename T, class Allocator> class __vec_deleter_helper;
|
||||
|
||||
template <typename T, class Allocator> class __vec_deleter {
|
||||
public:
|
||||
typedef typename Metrowerks::compressed_pair<size_t, Allocator>::second_param allocator_param;
|
||||
typedef T value_type;
|
||||
typedef Allocator allocator_type;
|
||||
typedef size_t size_type;
|
||||
typedef value_type &reference;
|
||||
typedef const value_type &const_reference;
|
||||
typedef T *iterator;
|
||||
typedef const T *const_iterator;
|
||||
typedef T *pointer;
|
||||
typedef const pointer const_pointer;
|
||||
|
||||
__vec_deleter() :
|
||||
data_(nullptr),
|
||||
size_(0),
|
||||
capacity_(0) {}
|
||||
|
||||
explicit __vec_deleter(allocator_param a) :
|
||||
data_(nullptr),
|
||||
size_(0),
|
||||
capacity_(0, a) {}
|
||||
|
||||
~__vec_deleter();
|
||||
|
||||
reference operator[](size_t n) {
|
||||
return data_[n];
|
||||
}
|
||||
|
||||
const_reference operator[](size_t n) const {
|
||||
return data_[n];
|
||||
}
|
||||
|
||||
pointer data() {
|
||||
return data_;
|
||||
}
|
||||
|
||||
iterator begin() {
|
||||
return data_;
|
||||
}
|
||||
|
||||
iterator end() {
|
||||
return data_ + size_;
|
||||
}
|
||||
|
||||
reference front() {
|
||||
return data_[0];
|
||||
}
|
||||
|
||||
const_reference front() const {
|
||||
return data_[0];
|
||||
}
|
||||
|
||||
reference back() {
|
||||
return data_[size_ - 1];
|
||||
}
|
||||
|
||||
const_reference back() const {
|
||||
return data_[size_ - 1];
|
||||
}
|
||||
|
||||
void throw_length_error();
|
||||
|
||||
#if DONT_INLINE_STD
|
||||
void clear() {
|
||||
bool _b[4];
|
||||
size_t size = size_;
|
||||
_b[0] = false;
|
||||
erase_at_end(size, _b[0]);
|
||||
}
|
||||
void erase_at_end(size_t, bool &);
|
||||
#else
|
||||
void erase_at_end(const size_t n) {
|
||||
// erase_at_end(n, Metrowerks::int2type<true>());
|
||||
size_ -= n;
|
||||
}
|
||||
void clear() {
|
||||
erase_at_end(size());
|
||||
}
|
||||
#endif
|
||||
|
||||
// void erase_at_end(size_t n, Metrowerks::int2type<true>) DONT_INLINE_CLASS {
|
||||
// T* e = end();
|
||||
// size_ -= n;
|
||||
|
||||
// while (n != 0) {
|
||||
// e--;
|
||||
// e->~T();
|
||||
// n--;
|
||||
// }
|
||||
// }
|
||||
|
||||
size_t &cap() {
|
||||
return capacity_.first();
|
||||
}
|
||||
|
||||
Allocator alloc() const {
|
||||
return capacity_.second();
|
||||
}
|
||||
|
||||
iterator erase(iterator __first, iterator __last, UnkMSLStruct1);
|
||||
|
||||
void sub_push_back(const_reference x, Metrowerks::int2type<false>);
|
||||
void sub_push_back(const_reference x, Metrowerks::int2type<true>);
|
||||
|
||||
void sub_push_back(const_reference x) {
|
||||
sub_push_back(x, Metrowerks::int2type<Metrowerks::has_trivial_copy_ctor<T>::value &&
|
||||
Metrowerks::has_trivial_assignment<T>::value>());
|
||||
}
|
||||
|
||||
void push_back(const_reference x, Metrowerks::int2type<false>) {
|
||||
if (size_ < cap()) {
|
||||
alloc().construct(end(), x);
|
||||
size_++;
|
||||
} else {
|
||||
sub_push_back(x);
|
||||
}
|
||||
}
|
||||
|
||||
void push_back(const_reference x, Metrowerks::int2type<true>) {
|
||||
if (size_ < cap()) {
|
||||
size_++;
|
||||
back() = x;
|
||||
} else {
|
||||
sub_push_back(x);
|
||||
}
|
||||
}
|
||||
|
||||
void push_back(const_reference x) {
|
||||
push_back(x, Metrowerks::int2type<Metrowerks::has_trivial_copy_ctor<T>::value &&
|
||||
Metrowerks::has_trivial_assignment<T>::value>());
|
||||
}
|
||||
|
||||
void allocate(size_t min, size_t max) {
|
||||
allocate(min, max, Metrowerks::int2type<true>());
|
||||
}
|
||||
|
||||
void allocate(size_t min, size_t max, Metrowerks::int2type<true> t) {
|
||||
allocate(max, t);
|
||||
}
|
||||
|
||||
void allocate(size_t n) {
|
||||
allocate(n, Metrowerks::int2type<true>());
|
||||
}
|
||||
|
||||
void allocate(size_t n, Metrowerks::int2type<true> t);
|
||||
|
||||
void optimize_after_moved_from() {
|
||||
optimize_after_moved_from(Metrowerks::int2type<true>());
|
||||
}
|
||||
|
||||
void optimize_after_moved_from(Metrowerks::int2type<true>) {
|
||||
size_ = 0;
|
||||
}
|
||||
|
||||
bool expand_by(size_t n) {
|
||||
size_t max_cap = 0;
|
||||
return expand_by(n, max_cap, Metrowerks::int2type<true>());
|
||||
}
|
||||
|
||||
bool expand_by(size_t n, size_t &max_cap, Metrowerks::int2type<true>) {
|
||||
max_cap = grow_by(n);
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t grow_by(size_t n);
|
||||
|
||||
void append_realloc(size_t n, const_reference x);
|
||||
|
||||
size_t max_size() const {
|
||||
return alloc().max_size();
|
||||
}
|
||||
|
||||
size_t capacity() const {
|
||||
return capacity_.first();
|
||||
}
|
||||
|
||||
volatile size_t size() {
|
||||
return size_;
|
||||
}
|
||||
|
||||
void resize(size_t n) {
|
||||
size_ = n;
|
||||
}
|
||||
|
||||
void move_construct_to_end(iterator begin, iterator end);
|
||||
|
||||
void reallocate_copy(size_t n) {
|
||||
__vec_deleter<T, Allocator> tmp(alloc());
|
||||
tmp.allocate(n);
|
||||
tmp.move_construct_to_end(begin(), end());
|
||||
optimize_after_moved_from();
|
||||
swap(cap(), tmp.cap());
|
||||
swap(data_, tmp.data_);
|
||||
swap(size_, tmp.size_);
|
||||
}
|
||||
|
||||
void reserve(size_t n) {
|
||||
if (n > cap()) {
|
||||
reallocate_copy(n);
|
||||
}
|
||||
}
|
||||
|
||||
bool empty() const {
|
||||
return size_ == 0;
|
||||
}
|
||||
|
||||
public:
|
||||
T *data_;
|
||||
size_t size_;
|
||||
Metrowerks::compressed_pair<size_t, Allocator> capacity_;
|
||||
};
|
||||
|
||||
template <typename T, typename Allocator> __vec_deleter<T, Allocator>::~__vec_deleter() {
|
||||
UnkMSLStruct1 unk = UnkMSLStruct1(); // somehow needed
|
||||
|
||||
if (data_ != nullptr) {
|
||||
clear();
|
||||
alloc().deallocate(data_, cap());
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T, typename Allocator> size_t __vec_deleter<T, Allocator>::grow_by(size_t n) {
|
||||
size_t max = max_size();
|
||||
size_t c = cap();
|
||||
|
||||
if (n > max - c) {
|
||||
__vector_common<true>::throw_length_error();
|
||||
}
|
||||
|
||||
size_t a = max / 3;
|
||||
|
||||
if (c < a) {
|
||||
return c + std::max((c + 1) * 3 / 5, n);
|
||||
} else if (c < a * 2) {
|
||||
return c + std::max((c + 1) / 2, n);
|
||||
}
|
||||
|
||||
return max;
|
||||
}
|
||||
|
||||
template <typename T, typename Allocator>
|
||||
void __vec_deleter<T, Allocator>::allocate(size_t n, Metrowerks::int2type<true> t) {
|
||||
size_t max = max_size();
|
||||
|
||||
if (max < n) {
|
||||
__vector_common<true>::throw_length_error();
|
||||
}
|
||||
|
||||
data_ = alloc().allocate(n);
|
||||
cap() = n;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/Yw4fn
|
||||
template <typename T, typename Allocator> void __vec_deleter<T, Allocator>::append_realloc(size_t n, const_reference x) {
|
||||
__vec_deleter_helper<T, Allocator> tmp(alloc());
|
||||
|
||||
size_t max = tmp.grow_by((size_ + n) - cap());
|
||||
tmp.allocate(size_ + n, max);
|
||||
tmp.start_ = size_;
|
||||
tmp.construct_at_end(n, x);
|
||||
tmp.move_construct_to_begin(begin(), end());
|
||||
optimize_after_moved_from();
|
||||
|
||||
std::swap(cap(), tmp.cap());
|
||||
std::swap(data_, tmp.data_);
|
||||
std::swap(size_, tmp.size_);
|
||||
}
|
||||
|
||||
template <typename T, typename Allocator>
|
||||
void __vec_deleter<T, Allocator>::sub_push_back(const_reference x, Metrowerks::int2type<TAG_UNK>) {
|
||||
if (expand_by(1)) {
|
||||
size_++;
|
||||
back() = x;
|
||||
} else {
|
||||
append_realloc(1, x);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T, typename Allocator>
|
||||
void __vec_deleter<T, Allocator>::sub_push_back(const_reference x, Metrowerks::int2type<true>) {
|
||||
if (expand_by(1)) {
|
||||
size_++;
|
||||
back() = x;
|
||||
} else {
|
||||
append_realloc(1, x);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T, typename Allocator>
|
||||
__vec_deleter<T, Allocator>::iterator __vec_deleter<T, Allocator>::erase(iterator __first, iterator __last,
|
||||
UnkMSLStruct1) {
|
||||
// adapted from https://github.com/matta/sgi-stl/blob/635eaeef4533214ec140fb17411558ad441d2996/stl/stl_vector.h#L420
|
||||
|
||||
if (__first != __last) {
|
||||
std::memmove(__first, __last, (end() - __last) * sizeof(value_type));
|
||||
this->size_ -= __last - __first;
|
||||
}
|
||||
|
||||
return __first;
|
||||
}
|
||||
|
||||
template <typename T, class Allocator> class __vec_deleter_helper : public __vec_deleter<T, Allocator> {
|
||||
protected:
|
||||
typedef __vec_deleter<T, Allocator> _Base;
|
||||
typedef _Base::allocator_param allocator_param;
|
||||
typedef _Base::value_type value_type;
|
||||
typedef _Base::allocator_type allocator_type;
|
||||
typedef _Base::size_type size_type;
|
||||
typedef _Base::reference reference;
|
||||
typedef _Base::const_reference const_reference;
|
||||
typedef _Base::pointer pointer;
|
||||
typedef _Base::const_pointer const_pointer;
|
||||
typedef _Base::iterator iterator;
|
||||
typedef _Base::const_iterator const_iterator;
|
||||
|
||||
public:
|
||||
__vec_deleter_helper(allocator_param a) :
|
||||
_Base(a),
|
||||
start_(0) {}
|
||||
|
||||
~__vec_deleter_helper();
|
||||
|
||||
void construct_at_end(size_t n, const_reference x) {
|
||||
construct_at_end(n, x, Metrowerks::int2type<Metrowerks::has_trivial_copy_ctor<T>::value>());
|
||||
}
|
||||
|
||||
void construct_at_end(size_t n, const_reference x, Metrowerks::int2type<TAG_UNK>) {
|
||||
for (pointer p = _Base::data_ + _Base::size_; n; n--, p++, _Base::size_++) {
|
||||
_Base::alloc().construct(p, x);
|
||||
}
|
||||
}
|
||||
|
||||
void construct_at_end(size_t n, const_reference x, Metrowerks::int2type<true>) {
|
||||
std::fill_n(_Base::data_ + start_ + _Base::size_, n, x);
|
||||
_Base::size_ += n;
|
||||
}
|
||||
|
||||
void move_construct_to_begin(pointer first, pointer last) {
|
||||
move_construct_to_begin(first, last, Metrowerks::int2type<Metrowerks::has_trivial_copy_ctor<T>::value ? 2 : 0>());
|
||||
}
|
||||
|
||||
void move_construct_to_begin(pointer first, pointer last, Metrowerks::int2type<TAG_UNK>) {
|
||||
for (pointer ptr = _Base::data_ + start_; first < last; start_--, _Base::size_++) {
|
||||
_Base::alloc().construct(--ptr, std::move(*--last));
|
||||
}
|
||||
}
|
||||
|
||||
void move_construct_to_begin(pointer first, pointer last, Metrowerks::int2type<2>) {
|
||||
size_t n = last - first;
|
||||
start_ -= n;
|
||||
memcpy(_Base::data_ + start_, first, n * sizeof(value_type));
|
||||
memset(first, 0, n * sizeof(value_type));
|
||||
_Base::size_ += n;
|
||||
}
|
||||
|
||||
size_t start_;
|
||||
};
|
||||
|
||||
template <typename T, class Allocator> __vec_deleter_helper<T, Allocator>::~__vec_deleter_helper() {
|
||||
T *start = _Base::data_ + start_;
|
||||
T *end = start + _Base::size_;
|
||||
|
||||
while (start < end) {
|
||||
_Base::alloc().destroy(end);
|
||||
end--;
|
||||
}
|
||||
|
||||
_Base::size_ = 0;
|
||||
}
|
||||
|
||||
template <typename T, class Allocator, bool I> class __vec_constructor : public __vec_deleter<T, Allocator> {
|
||||
protected:
|
||||
typedef __vec_deleter<T, Allocator> _Base;
|
||||
typedef _Base::allocator_param allocator_param;
|
||||
typedef _Base::value_type value_type;
|
||||
typedef _Base::allocator_type allocator_type;
|
||||
typedef _Base::size_type size_type;
|
||||
typedef _Base::reference reference;
|
||||
typedef _Base::const_reference const_reference;
|
||||
typedef _Base::pointer pointer;
|
||||
typedef _Base::const_pointer const_pointer;
|
||||
typedef _Base::iterator iterator;
|
||||
typedef _Base::const_iterator const_iterator;
|
||||
|
||||
public:
|
||||
__vec_constructor() {}
|
||||
// ~__vec_constructor();
|
||||
};
|
||||
|
||||
template <typename T, class Allocator>
|
||||
class __vec_constructor<T, Allocator, true> : public __vec_constructor<T, Allocator, false> {
|
||||
protected:
|
||||
typedef __vec_deleter<T, Allocator> _Deleter;
|
||||
typedef __vec_constructor<T, Allocator, false> _Constructor;
|
||||
typedef _Constructor::allocator_param allocator_param;
|
||||
typedef _Constructor::value_type value_type;
|
||||
typedef _Constructor::allocator_type allocator_type;
|
||||
typedef _Constructor::size_type size_type;
|
||||
typedef _Constructor::reference reference;
|
||||
typedef _Constructor::const_reference const_reference;
|
||||
typedef _Constructor::pointer pointer;
|
||||
typedef _Constructor::const_pointer const_pointer;
|
||||
typedef _Constructor::iterator iterator;
|
||||
typedef _Constructor::const_iterator const_iterator;
|
||||
|
||||
__vec_constructor() {}
|
||||
// ~__vec_constructor() { }
|
||||
|
||||
public:
|
||||
void push_back(const_reference x) {
|
||||
_Constructor::push_back(x);
|
||||
}
|
||||
|
||||
reference operator[](size_t n) {
|
||||
return _Deleter::operator[](n);
|
||||
}
|
||||
|
||||
const_reference operator[](size_t n) const {
|
||||
return _Deleter::operator[](n);
|
||||
}
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
template <typename T, typename Allocator = allocator<T> > class vector : public __vec_constructor<T, Allocator, true> {
|
||||
// clang-format on
|
||||
protected:
|
||||
typedef __vec_constructor<T, Allocator, true> _Constructor;
|
||||
typedef __vec_deleter<T, Allocator> _Deleter;
|
||||
typedef _Constructor::allocator_param allocator_param;
|
||||
typedef _Constructor::value_type value_type;
|
||||
typedef _Constructor::allocator_type allocator_type;
|
||||
typedef _Constructor::size_type size_type;
|
||||
typedef _Constructor::reference reference;
|
||||
typedef _Constructor::const_reference const_reference;
|
||||
typedef _Constructor::pointer pointer;
|
||||
typedef _Constructor::const_pointer const_pointer;
|
||||
|
||||
public:
|
||||
typedef _Constructor::iterator iterator;
|
||||
typedef _Constructor::const_iterator const_iterator;
|
||||
|
||||
vector() {}
|
||||
~vector() { }
|
||||
|
||||
void push_back(const_reference x) {
|
||||
_Constructor::push_back(x);
|
||||
}
|
||||
|
||||
void clear() {
|
||||
_Deleter::clear();
|
||||
}
|
||||
|
||||
reference operator[](size_t n) {
|
||||
return _Deleter::operator[](n);
|
||||
}
|
||||
|
||||
const_reference operator[](size_t n) const {
|
||||
return _Deleter::operator[](n);
|
||||
}
|
||||
|
||||
iterator erase(iterator __first, iterator __last) {
|
||||
return _Deleter::erase(__first, __last, UnkMSLStruct1());
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
||||
template <typename T> class CustomVector : public std::vector<T> {
|
||||
public:
|
||||
protected:
|
||||
typedef std::vector<T> _Vector;
|
||||
typedef _Vector::allocator_param allocator_param;
|
||||
typedef _Vector::value_type value_type;
|
||||
typedef _Vector::allocator_type allocator_type;
|
||||
typedef _Vector::size_type size_type;
|
||||
typedef _Vector::reference reference;
|
||||
typedef _Vector::const_reference const_reference;
|
||||
typedef _Vector::pointer pointer;
|
||||
typedef _Vector::const_pointer const_pointer;
|
||||
|
||||
public:
|
||||
typedef _Vector::iterator iterator;
|
||||
typedef _Vector::const_iterator const_iterator;
|
||||
|
||||
~CustomVector();
|
||||
|
||||
iterator unk_action2(iterator begin, iterator end, UnkMSLStruct1) {
|
||||
iterator it = begin;
|
||||
|
||||
while (it != end) {
|
||||
T *ptr = (T *) *it;
|
||||
|
||||
if (ptr != NULL) {
|
||||
if (*((u8 *) ptr + 4)) {
|
||||
::operator delete(ptr);
|
||||
}
|
||||
|
||||
*it = NULL;
|
||||
}
|
||||
|
||||
it++;
|
||||
begin = this->begin();
|
||||
end = this->end();
|
||||
}
|
||||
|
||||
return std::remove(begin, end, (T) NULL);
|
||||
}
|
||||
|
||||
void unk_action1() {
|
||||
this->erase(this->unk_action2(this->begin(), this->end(), UnkMSLStruct1()), this->end());
|
||||
this->clear();
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T> CustomVector<T>::~CustomVector() {
|
||||
UnkMSLStruct1 unk = UnkMSLStruct1(); // somehow needed
|
||||
|
||||
if (_Vector::begin() != nullptr) {
|
||||
_Vector::clear();
|
||||
_Vector::alloc().deallocate(_Vector::begin(), _Vector::cap());
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -192,6 +192,7 @@ typedef struct BMDSectionModel {
|
||||
/* 08 */ G3d_NameList modelList;
|
||||
} BMDSectionModel;
|
||||
|
||||
void G3d_0200e6a0(const G3d_Model *pModel, s32 param2, s32 param3);
|
||||
u32 *G3d_0200f05c(const G3d_NameList *pNameList, const char *pName);
|
||||
|
||||
static inline u32 *G3d_GetModelOffsetPtr(const BMDSectionModel *pSection, u8 modelIndex) {
|
||||
|
||||
@@ -48,7 +48,7 @@ void ActorUnkEFIK::vfunc_20() {
|
||||
for (int i = 0; i < length; i++) {
|
||||
u8 j;
|
||||
u8 k;
|
||||
UnkStruct_027e0cd8_0c *pUVar5 = data_027e0cd8->mUnk_0C;
|
||||
UnkStruct_027e0cd8_0C_Base *pUVar5 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
u8 bStack_3c[2];
|
||||
bStack_3c[0] = 0;
|
||||
|
||||
@@ -15,6 +15,7 @@ extern "C" void func_01ffb9cc(VecFx32 *, VecFx32 *);
|
||||
extern "C" u16 func_01ffbbe0(fx32 x, fx32 z);
|
||||
extern "C" void func_01ffecdc(unk32 param1, Cylinder *param2);
|
||||
extern "C" bool func_01ffd768(unk32, void *, void *, unk8);
|
||||
extern "C" void func_01fff6d0(void *, VecFx32 *param1, s32 *param2, s32 *param3);
|
||||
|
||||
MapObject::MapObject() {
|
||||
this->mUnk_10 = NULL;
|
||||
@@ -57,9 +58,9 @@ void MapObject::func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx) {
|
||||
VecFx32 pos;
|
||||
Vec2p out;
|
||||
|
||||
MapObjectManager *t = data_027e0cd8->mUnk_10;
|
||||
pos = thisx->mPos;
|
||||
t->func_01fff6d0(&pos, (fx32 *) &out.y, (fx32 *) &out.x);
|
||||
UnkStruct_027e0cd8_10 *ptr = data_027e0cd8->mUnk_10;
|
||||
pos = thisx->mPos;
|
||||
func_01fff6d0(ptr, &pos, (fx32 *) &out.y, (fx32 *) &out.x);
|
||||
|
||||
Vec2p temp;
|
||||
temp.y = out.x;
|
||||
@@ -145,7 +146,7 @@ void MapObject::func_ov000_0209d2c4(unk32 param1, bool param2) {
|
||||
}
|
||||
|
||||
void MapObject::func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param3) {
|
||||
UnkStruct_027e0cd8_0c *temp_r5 = data_027e0cd8->mUnk_0C;
|
||||
UnkStruct_027e0cd8_0C_Base *temp_r5 = data_027e0cd8->mUnk_0C;
|
||||
Vec2b sp0(0, 0);
|
||||
|
||||
sp0.x = this->mUnk_3A.x;
|
||||
|
||||
@@ -36,12 +36,12 @@ MapObjectMiniBlocks::MapObjectMiniBlocks() {
|
||||
bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
GET_PROFILE(MapObjectProfileMiniBlocks)
|
||||
->func_ov000_0209ccd8(this->mUnk_20.mUnk_00[1], data_ov000_020af574[this->mUnk_20.mUnk_00[1]]);
|
||||
UnkStruct_027e0cd8_0c *pUnkStruct_027e0cd8_0c = data_027e0cd8->mUnk_0C;
|
||||
UnkStruct_027e0cd8_0C_Base *pUnkStruct_027e0cd8_0C = data_027e0cd8->mUnk_0C;
|
||||
u8 uVar6;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] != MiniBlocksVariant_BLKF) {
|
||||
Vec2b vec(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
this->mPos.y = pUnkStruct_027e0cd8_0c->func_01ffedf4(&vec);
|
||||
this->mPos.y = pUnkStruct_027e0cd8_0C->func_01ffedf4(&vec);
|
||||
}
|
||||
|
||||
VecFx32 vec;
|
||||
|
||||
@@ -83,9 +83,9 @@ void ActorManager::func_ov001_020bafdc() {
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/UywfM
|
||||
void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1) {
|
||||
u16 unk_0A = param1->mUnk_0A;
|
||||
u16 unk_08 = param1->mUnk_08;
|
||||
void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
|
||||
u16 unk_0A = pHeader->unk_0A;
|
||||
u16 unk_08 = pHeader->unk_08;
|
||||
|
||||
this->mActorCount = 0;
|
||||
this->mNextActorId = 0;
|
||||
@@ -206,19 +206,19 @@ void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *par
|
||||
}
|
||||
}
|
||||
|
||||
void ActorManager::func_ov001_020bb414(ActorManager *instance) {
|
||||
void ActorManager::func_ov001_020bb414() {
|
||||
func_ov001_020ba59c(&data_0204999c);
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00.mSceneIndex)) {
|
||||
instance->func_ov001_020bb844();
|
||||
this->func_ov001_020bb844();
|
||||
}
|
||||
|
||||
if (instance->mActorTable != 0) {
|
||||
delete instance->mActorTable;
|
||||
if (this->mActorTable != 0) {
|
||||
delete this->mActorTable;
|
||||
}
|
||||
|
||||
instance->mActorTable = NULL;
|
||||
instance->mActorTableEnd = NULL;
|
||||
this->mActorTable = NULL;
|
||||
this->mActorTableEnd = NULL;
|
||||
}
|
||||
|
||||
void ActorManager::func_ov001_020bb488() {
|
||||
@@ -228,7 +228,7 @@ void ActorManager::func_ov001_020bb488() {
|
||||
case 0x01:
|
||||
case 0x03:
|
||||
case 0x06:
|
||||
if (data_027e0cd8->mUnk_0C->mUnk_128 & 0x800) {
|
||||
if (data_027e0cd8->GetUnk0C()->mUnk_128 & 0x800) {
|
||||
func_ov031_020ea100();
|
||||
}
|
||||
break;
|
||||
@@ -363,7 +363,7 @@ bool ActorManager::func_ov001_020bb728(s32 param1) {
|
||||
}
|
||||
|
||||
void ActorManager::func_ov001_020bb7b0(ZeldaObjectList *pObjList) {
|
||||
for (s32 i = 0; i < pObjList->nEntries; i++) {
|
||||
for (s32 i = 0; i < pObjList->header.nEntries; i++) {
|
||||
u32 id = pObjList->aIdList[i];
|
||||
ActorProfile *pActorProfile = data_ov000_020b539c_eur.GetProfileFromId(id);
|
||||
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_0204a088.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
|
||||
struct UnkStruct_ov000_02073080 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x08);
|
||||
/* 08 */ CutsceneIndex csIndex;
|
||||
/* 0C */ STRUCT_PAD(0x0C, 0x1C);
|
||||
/* 1C */
|
||||
};
|
||||
extern "C" void func_ov000_02073080(void *);
|
||||
|
||||
UnkStruct_027e09b8 *UnkStruct_027e09b8::Create() {
|
||||
return new(HeapIndex_1) UnkStruct_027e09b8();
|
||||
}
|
||||
|
||||
UnkStruct_027e09b8::UnkStruct_027e09b8() {
|
||||
MI_CpuFill32(0, this->mAdventureFlags, sizeof(this->mAdventureFlags));
|
||||
this->mUnk_94 = 0;
|
||||
this->mUnk_96 = false;
|
||||
this->mUnk_97 = false;
|
||||
MI_CpuFill32(0, this->mUnk_04, sizeof(this->mUnk_04));
|
||||
|
||||
this->mUnk_00 = new(HeapIndex_1) UnkStruct_027e09b8_00();
|
||||
this->mUnk_04[0] = new(HeapIndex_1) UnkStruct_027e09b8_04();
|
||||
this->mUnk_04[2] = new(HeapIndex_1) UnkStruct_027e09b8_0C();
|
||||
|
||||
if (data_0204a088 != NULL) {
|
||||
this->mUnk_04[3] = new(HeapIndex_1) UnkStruct_027e09b8_10();
|
||||
}
|
||||
|
||||
this->mUnk_98 = new(HeapIndex_1) UnkStruct_027e09b8_98();
|
||||
}
|
||||
|
||||
UnkStruct_027e09b8::~UnkStruct_027e09b8() {
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
|
||||
delete this->mUnk_04[i];
|
||||
}
|
||||
|
||||
delete this->mUnk_00;
|
||||
|
||||
if (this->mUnk_98 != NULL) {
|
||||
DELETE(this->mUnk_98);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e09b8::ImportAdventureFlags(AdventureFlag *pAdventureFlags) {
|
||||
MI_CpuCopy32(pAdventureFlags, this->mAdventureFlags, sizeof(this->mAdventureFlags));
|
||||
}
|
||||
|
||||
void UnkStruct_027e09b8::func_ov001_020b76c0(CutsceneIndex csIndex) {
|
||||
UnkStruct_ov000_02073080 auStack_30;
|
||||
|
||||
func_ov000_02073080(&auStack_30);
|
||||
auStack_30.csIndex = csIndex;
|
||||
|
||||
this->mUnk_04[1] = new(HeapIndex_1) UnkStruct_027e09b8_08(&auStack_30);
|
||||
|
||||
this->func_ov000_02073610(&auStack_30, 0);
|
||||
data_ov000_020b504c.func_ov001_020be998();
|
||||
}
|
||||
|
||||
void UnkStruct_027e09b8::func_ov001_020b7700() {
|
||||
if (this->mUnk_04[1] != NULL) {
|
||||
data_ov000_020b504c.func_ov001_020be504();
|
||||
DELETE(this->mUnk_04[1]);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e09b8::func_ov001_020b7728() {
|
||||
this->mUnk_00->func_ov000_02073b5c();
|
||||
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
|
||||
if (this->mUnk_04[i] != NULL) {
|
||||
this->mUnk_04[i]->vfunc_0C();
|
||||
}
|
||||
}
|
||||
|
||||
this->mUnk_98->func_ov000_020a7b34();
|
||||
}
|
||||
|
||||
DECL_INSTANCE(UnkStruct_027e09b8, data_027e09b8);
|
||||
|
||||
@@ -0,0 +1,492 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_02049bac.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09bc.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b50c0.hpp"
|
||||
#include "Unknown/UnkStruct_ov024_020d8660.hpp"
|
||||
#include "Unknown/UnkStruct_ov024_020d8694.hpp"
|
||||
#include "Unknown/UnkStruct_ov026_02138d10.hpp"
|
||||
#include "files.h"
|
||||
#include "versions.h"
|
||||
|
||||
#include <dsprot.h>
|
||||
#include <printf.h>
|
||||
|
||||
extern "C" void func_ov026_020e9208();
|
||||
extern "C" void func_ov000_02081520(void *, void *, u8);
|
||||
extern "C" void func_ov000_020814ec(void *, void *);
|
||||
extern "C" void func_ov084_0216122c();
|
||||
extern "C" void func_ov084_021612ac();
|
||||
extern void *data_ov084_02164690;
|
||||
|
||||
struct UnkStruct7 {
|
||||
/* 00 */ u16 unk_00;
|
||||
/* 02 */ Vec2s unk_02;
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
UnkStruct_027e0cd8 *UnkStruct_027e0cd8::Create() {
|
||||
return new(HeapIndex_1) UnkStruct_027e0cd8();
|
||||
}
|
||||
|
||||
UnkStruct_027e0cd8::UnkStruct_027e0cd8() :
|
||||
mUnk_04(NULL),
|
||||
mUnk_08(NULL),
|
||||
mUnk_0C(NULL),
|
||||
mUnk_10(NULL),
|
||||
mUnk_16(true),
|
||||
mUnk_17(true),
|
||||
mUnk_30(-1),
|
||||
mUnk_34(-1) {
|
||||
|
||||
UnkStruct_027e09bc *ptr = data_027e09bc;
|
||||
UnkSystem8 *pList = GetLinkListRef(this->mUnk_18);
|
||||
ptr->mUnk_48.Prepend(pList);
|
||||
|
||||
VecFx32_Init(0, 0, 0, &this->mUnk_24);
|
||||
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_38); i++) {
|
||||
this->mUnk_38[i] = 0;
|
||||
this->mUnk_48[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
UnkStruct_027e0cd8::~UnkStruct_027e0cd8() {
|
||||
DELETE(this->mUnk_04);
|
||||
DELETE(this->mUnk_08);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7830(const UnkStruct_SceneChange1 *param1) {
|
||||
CourseListEntry *pEntry;
|
||||
UnkStruct_func_ov000_020702a8 *pUnk1;
|
||||
|
||||
pEntry = data_027e09a0->GetCourseEntry(param1->mSceneIndex);
|
||||
pUnk1 = data_027e09a0->func_ov000_020702a8(param1->mSceneIndex);
|
||||
|
||||
wchar_t sp80[16];
|
||||
sp80[0] = L'\0';
|
||||
sp80[sizeof(sp80) / 2 - 1] = L'\0';
|
||||
snprintf((char *) sp80, sizeof(sp80), "Map/%s/course.bin", pEntry->name);
|
||||
|
||||
UnkStruct2 sp70((char *) sp80, 0x01);
|
||||
sp70.func_020154ec("MCS");
|
||||
|
||||
bool isCS = true;
|
||||
if (param1->mIsCS != true) {
|
||||
isCS = false;
|
||||
}
|
||||
|
||||
UnkFileSystem3 sp60(isCS ? "MCS:objlist/npctype_1.zob" : "MCS:objlist/npctype.zob");
|
||||
gpActorManager->func_ov001_020bb018((ZOBHeader *) sp60.vfunc_08(sizeof(ZOBHeader)));
|
||||
|
||||
UnkFileSystem3 sp50(isCS ? "MCS:objlist/motype_1.zob" : "MCS:objlist/motype.zob");
|
||||
gpMapObjManager->func_ov001_020bacd8((ZOBHeader *) sp50.vfunc_08(sizeof(ZOBHeader)));
|
||||
|
||||
UnkStruct7 sp4;
|
||||
Vec2s_Copy(&pUnk1->mUnk_10, &sp4.unk_02);
|
||||
Vec2s_Copy(&sp4.unk_02, &this->mUnk_00);
|
||||
|
||||
this->mUnk_14 = pEntry->unk_10;
|
||||
this->mUnk_04 = new(HeapIndex_1) UnkStruct_027e0cd8_04();
|
||||
|
||||
if (pEntry->unk_21 != -1) {
|
||||
this->mUnk_08 = new(HeapIndex_1) UnkStruct_027e0cd8_04();
|
||||
}
|
||||
|
||||
if (DSProt_DetectEmulator(NULL) == 0) {
|
||||
this->mUnk_30 = 0x1C;
|
||||
}
|
||||
|
||||
if (this->mUnk_14 == 0x02 || this->mUnk_14 == 0x04) {
|
||||
this->mUnk_10 = new(HeapIndex_1) UnkStruct_027e0cd8_10();
|
||||
func_ov026_020e9208();
|
||||
} else if (data_027e09a4->mUnk_60 == 0 && data_ov024_020d8694 != NULL) {
|
||||
if (data_027e09a4->CurrentSceneIndex() == SceneIndex_d_main) {
|
||||
data_ov024_020d8694->func_ov024_020cb000(20);
|
||||
} else {
|
||||
data_ov024_020d8694->func_ov024_020cafb8(20);
|
||||
}
|
||||
}
|
||||
|
||||
this->func_ov001_020b8120(param1->mSceneIndex);
|
||||
|
||||
if (pEntry->unk_21 != -1) {
|
||||
wchar_t sp30[16];
|
||||
sp30[0] = L'\0';
|
||||
sp30[sizeof(sp30) / 2 - 1] = L'\0';
|
||||
|
||||
snprintf((char *) sp30, sizeof(sp30), "Map/%s/course.bin", data_027e09a0->GetCourseEntry(pEntry->unk_21)->name);
|
||||
|
||||
UnkStruct2 sp20((const char *) sp30, 0x01);
|
||||
sp20.func_020154ec("MCT");
|
||||
this->func_ov001_020b7b38(pEntry, pUnk1);
|
||||
} else {
|
||||
this->func_ov001_020b7b38(pEntry, pUnk1);
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1 sceneChange(param1);
|
||||
if (sceneChange.mRoomIndex != 0xFF) {
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.mRoomIndex);
|
||||
func_ov000_020814ec(this->mUnk_04, &sp4);
|
||||
} else {
|
||||
sceneChange.mRoomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
}
|
||||
|
||||
this->func_ov001_020b7d64(&sceneChange);
|
||||
this->func_ov001_020b7e68(&sceneChange, 0x01);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7a7c() {
|
||||
this->func_ov001_020b818c();
|
||||
this->func_ov001_020b803c();
|
||||
|
||||
data_02049ba0.Unload(OverlaySlot_12);
|
||||
data_02049ba0.Unload(OverlaySlot_16);
|
||||
data_02049ba0.Unload(OverlaySlot_15);
|
||||
data_02049ba0.Unload(OverlaySlot_14);
|
||||
data_02049ba0.Unload(OverlaySlot_13);
|
||||
|
||||
this->func_ov001_020b7e50();
|
||||
this->mUnk_30 = -1;
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
this->func_ov000_02081ca0();
|
||||
}
|
||||
|
||||
DELETE(this->mUnk_04);
|
||||
DELETE(this->mUnk_08);
|
||||
|
||||
if (this->mUnk_10 != NULL) {
|
||||
DELETE(this->mUnk_10);
|
||||
}
|
||||
|
||||
gpMapObjManager->func_ov001_020bad80();
|
||||
gpActorManager->func_ov001_020bb414();
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7b38(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1) {
|
||||
if (pEntry->saveCourseIndex < SaveCourseIndex_Max) {
|
||||
SaveManager_00 *ptr = gSaveManager.mUnk_000;
|
||||
this->mUnk_04->func_ov000_02081354(pEntry, pUnk1, &ptr->unk_030[pEntry->saveCourseIndex], false);
|
||||
SET_FLAG(ptr->unk_004.unk_00, pEntry->saveCourseIndex);
|
||||
} else {
|
||||
SaveFile_00000_0000_Data_184 local_1c;
|
||||
MI_CpuFill32(0, &local_1c, sizeof(local_1c));
|
||||
this->mUnk_04->func_ov000_02081354(pEntry, pUnk1, &local_1c, false);
|
||||
}
|
||||
|
||||
this->mUnk_34 = pEntry->unk_21;
|
||||
|
||||
if (this->mUnk_34 != SceneIndex_None) {
|
||||
CourseListEntry *pOtherEntry = data_027e09a0->GetCourseEntry(this->mUnk_34);
|
||||
UnkStruct_func_ov000_020702a8 *pOtherUnk1 = data_027e09a0->func_ov000_020702a8(this->mUnk_34);
|
||||
|
||||
if (pOtherEntry->saveCourseIndex < SaveCourseIndex_Max) {
|
||||
this->mUnk_08->func_ov000_02081354(pOtherEntry, pOtherUnk1,
|
||||
&gSaveManager.mUnk_000->unk_030[pOtherEntry->saveCourseIndex], true);
|
||||
} else {
|
||||
SaveFile_00000_0000_Data_184 local_1c;
|
||||
MI_CpuFill32(0, &local_1c, sizeof(local_1c));
|
||||
this->mUnk_08->func_ov000_02081354(pOtherEntry, pOtherUnk1, &local_1c, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7c08(const UnkStruct_SceneChange1 *param1, const UnkStruct_WarpUnk1_A0 *param2) {
|
||||
UnkStruct_SceneChange1 sceneChange(param1);
|
||||
Vec2s sp4;
|
||||
|
||||
if (this->mUnk_30 == param1->mSceneIndex && DSProt_DetectNotFlashcart(NULL) != 0) {
|
||||
data_ov084_02164690 = &sceneChange;
|
||||
}
|
||||
|
||||
if (!this->func_ov000_02082124() &&
|
||||
(param1->mSceneIndex < SceneIndex_tekiya00 || param1->mSceneIndex > SceneIndex_tekiya09)) {
|
||||
#if IS_JP
|
||||
VecFx32_Copy(¶m2->mUnk_04, &this->mUnk_24);
|
||||
#endif
|
||||
|
||||
if (param1->mSceneIndex == SceneIndex_f_water) {
|
||||
switch (param1->mRoomIndex) {
|
||||
case 1:
|
||||
this->mUnk_24.x = 0x16000;
|
||||
this->mUnk_24.z = 0xFFFF6000;
|
||||
break;
|
||||
case 2:
|
||||
this->mUnk_24.x = 0xFFFE8000;
|
||||
this->mUnk_24.z = 0x8000;
|
||||
break;
|
||||
case 3:
|
||||
this->mUnk_24.x = 0xFFFFD000;
|
||||
this->mUnk_24.z = 0x8800;
|
||||
break;
|
||||
case 4:
|
||||
this->mUnk_24.x = 0x8000;
|
||||
this->mUnk_24.z = 0xFFFFE800;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
#if IS_JP
|
||||
if (param1->mSceneIndex == SceneIndex_f_snow2 && param1->mRoomIndex == 2) {
|
||||
this->mUnk_24.x = 0xFFFFF000;
|
||||
this->mUnk_24.z = 0xFFFF0000;
|
||||
}
|
||||
#else
|
||||
VecFx32_Copy(¶m2->mUnk_04, &this->mUnk_24);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
this->func_ov001_020b803c();
|
||||
this->func_ov001_020b7e50();
|
||||
|
||||
if (sceneChange.mRoomIndex != ROOM_INDEX_NONE) {
|
||||
if (this->mUnk_30 == sceneChange.mSceneIndex && DSProt_DetectNotEmulator(func_ov084_0216122c) == 0) {
|
||||
func_ov084_021612ac();
|
||||
}
|
||||
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.mRoomIndex);
|
||||
func_ov000_020814ec(this->mUnk_04, &sp4);
|
||||
} else {
|
||||
sceneChange.mRoomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
}
|
||||
|
||||
this->func_ov001_020b7d64(&sceneChange);
|
||||
this->func_ov001_020b7e68(&sceneChange, 0x00);
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 0 && data_ov024_020d8694 != NULL) {
|
||||
if (data_027e09a4->CurrentSceneIndex() == SceneIndex_f_first && this->func_ov000_02081d5c() == 0) {
|
||||
data_ov024_020d8694->func_ov024_020cafd8(20);
|
||||
} else {
|
||||
data_ov024_020d8694->func_ov024_020cb000(20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7d64(const UnkStruct_SceneChange1 *param1) {
|
||||
UnkStruct_027e0cd8_04_0C *iVar7;
|
||||
u32 temp_r1;
|
||||
u16 uVar5;
|
||||
u16 uVar6;
|
||||
u16 uVar4;
|
||||
u16 uVar3;
|
||||
|
||||
iVar7 = this->mUnk_04->mUnk_0C;
|
||||
|
||||
switch (data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 3:
|
||||
case 6:
|
||||
this->mUnk_0C = new(HeapIndex_1) UnkStruct_027e0cd8_0C(this);
|
||||
|
||||
uVar3 = iVar7->mUnk_0C & 0x0F;
|
||||
temp_r1 = iVar7->mUnk_0C;
|
||||
uVar5 = (temp_r1 >> 4) & 0x0F;
|
||||
uVar6 = (temp_r1 >> 8) & 0x0F;
|
||||
uVar4 = (temp_r1 >> 12) & 0x0F;
|
||||
|
||||
if (uVar3 != 0) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_13, uVar3 - 1 + OverlayIndex_MapA1);
|
||||
}
|
||||
|
||||
if (uVar5 != 0) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_14, uVar5 - 1 + OverlayIndex_MapB1);
|
||||
}
|
||||
|
||||
if (uVar6 != 0) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_15, uVar6 - 1 + OverlayIndex_MapC1);
|
||||
}
|
||||
|
||||
if (uVar4 != 0) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_16, uVar4 - 1 + OverlayIndex_MapD1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
this->mUnk_0C = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Derived2(this);
|
||||
break;
|
||||
case 5:
|
||||
this->mUnk_0C = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Derived3(this);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7e50() {
|
||||
DELETE(this->mUnk_0C);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7e68(const UnkStruct_SceneChange1 *param1, bool param2) {
|
||||
if (this->mUnk_10 != NULL) {
|
||||
this->mUnk_10->func_ov024_020d2520((UnkStruct_SceneChange1 *) param1);
|
||||
}
|
||||
|
||||
data_ov000_020b504c.func_ov001_020be92c(this->mUnk_04->mUnk_0C);
|
||||
this->mUnk_0C->func_ov001_020b85d0(param1);
|
||||
this->mUnk_0C->vfunc_1C(param1, this->mUnk_04->mUnk_01, param2);
|
||||
|
||||
data_ov000_020b50c0.func_ov001_020bde4c(param1);
|
||||
data_027e0ce0->func_ov001_020bc65c();
|
||||
data_027e09bc->func_ov001_020babe8();
|
||||
data_027e0960->func_ov000_0205a11c();
|
||||
gpActorManager->func_ov001_020bb488();
|
||||
gpMapObjManager->func_ov001_020bada0();
|
||||
data_0204a110.func_ov001_020bd678();
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
data_ov024_020d8660->func_ov024_020c4ba0();
|
||||
}
|
||||
|
||||
unk32 unk_10 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10;
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
UnkStruct_027e0ce0 *ptr = data_027e0ce0;
|
||||
const UnkStruct_ov001_020c40f4 *arg = this->mUnk_0C->func_ov001_020b8a5c(i, 0x00);
|
||||
ptr->func_ov001_020bc6d8(i, arg);
|
||||
}
|
||||
} else if (unk_10 == 2 || unk_10 == 4) {
|
||||
UnkStruct_027e0ce0 *ptr = data_027e0ce0;
|
||||
const UnkStruct_ov001_020c40f4 *arg = this->mUnk_0C->func_ov001_020b8a5c(param1->mSpawnIndex, 0x00);
|
||||
ptr->func_ov001_020bc6e8(arg);
|
||||
} else {
|
||||
UnkStruct_027e0cd8_0C_Base *temp_pUnkC = this->mUnk_0C;
|
||||
u32 temp_unk118 = temp_pUnkC->mUnk_118;
|
||||
u8 temp_spawn = param1->mSpawnIndex;
|
||||
UnkStruct_027e0ce0 *ptr = data_027e0ce0;
|
||||
|
||||
const UnkStruct_ov001_020c40f4 *spC = temp_pUnkC->func_ov001_020b8a5c(param1->mSpawnIndex, 0);
|
||||
|
||||
ptr->func_ov001_020bc6fc(spC, temp_pUnkC->func_ov001_020b8a5c(temp_spawn, 1), temp_pUnkC->mUnk_11C, temp_unk118);
|
||||
}
|
||||
|
||||
data_027e09bc->func_ov000_020771c8();
|
||||
unk32 iVar7 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10;
|
||||
data_027e09c0->func_ov000_0207da40();
|
||||
this->mUnk_0C->vfunc_08();
|
||||
|
||||
if (iVar7 == 2 || iVar7 == 4) {
|
||||
data_ov026_02138d10->func_ov026_020dca14();
|
||||
}
|
||||
|
||||
gpMapObjManager->func_ov001_020bac9c();
|
||||
gpActorManager->func_ov001_020bafdc();
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
SaveManager_00 *ptr = gSaveManager.mUnk_000;
|
||||
u16 auStack_18[2];
|
||||
data_027e09a0->func_ov000_02070310(param1->mSceneIndex, param1->mRoomIndex, &auStack_18);
|
||||
|
||||
if (auStack_18[1] < 0x100) {
|
||||
SET_FLAG(ptr->unk_004.unk_0C, auStack_18[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b803c() {
|
||||
this->mUnk_0C->vfunc_20();
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 0 && data_ov024_020d8660 != NULL) {
|
||||
data_ov024_020d8660->func_ov024_020c4cc8();
|
||||
}
|
||||
|
||||
data_0204a110.func_ov001_020bd68c();
|
||||
gpMapObjManager->func_ov001_020badb4();
|
||||
gpActorManager->func_ov001_020bb548();
|
||||
data_027e0ce0->func_ov001_020bc69c();
|
||||
data_027e09bc->func_ov001_020bac08();
|
||||
data_027e0cec->func_ov001_020bf028();
|
||||
data_027e0960->func_ov000_0205a120();
|
||||
data_027e09b8->func_ov001_020b7728();
|
||||
DELETE_ARRAY(gSaveManager.mUnk_244);
|
||||
data_ov000_020b50c0.func_ov001_020bde5c();
|
||||
data_ov000_020b504c.func_ov001_020be94c();
|
||||
this->mUnk_0C->func_ov001_020b88ec();
|
||||
|
||||
if (this->mUnk_10 != NULL) {
|
||||
this->mUnk_10->func_ov024_020d2564();
|
||||
}
|
||||
}
|
||||
|
||||
bool UnkStruct_027e0cd8::func_ov001_020b80fc(SceneIndex sceneIndex) {
|
||||
int index;
|
||||
|
||||
switch (sceneIndex) {
|
||||
case SceneIndex_t_area0:
|
||||
index = 0;
|
||||
break;
|
||||
case SceneIndex_t_area1:
|
||||
index = 1;
|
||||
break;
|
||||
default:
|
||||
index = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
if (index == 2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return this->mUnk_48[index];
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b8120(SceneIndex sceneIndex) {
|
||||
int index;
|
||||
|
||||
switch (sceneIndex) {
|
||||
case SceneIndex_t_area0:
|
||||
index = 0;
|
||||
break;
|
||||
case SceneIndex_t_area1:
|
||||
index = 1;
|
||||
break;
|
||||
default:
|
||||
index = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
if (index != 2) {
|
||||
s64 value = data_02049bac.func_02014b00();
|
||||
|
||||
if (value > (this->mUnk_38[index] + 600) || value < this->mUnk_38[index]) {
|
||||
this->mUnk_48[index] = ((u32) value / 300) & 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b818c() {
|
||||
int index;
|
||||
|
||||
switch (data_027e09a4->CurrentSceneIndex()) {
|
||||
case SceneIndex_t_area0:
|
||||
index = 0;
|
||||
break;
|
||||
case SceneIndex_t_area1:
|
||||
index = 1;
|
||||
break;
|
||||
default:
|
||||
index = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
if (index != 2) {
|
||||
this->mUnk_38[index] = data_02049bac.func_02014b00();
|
||||
}
|
||||
}
|
||||
|
||||
DECL_INSTANCE(UnkStruct_027e0cd8, data_027e0cd8);
|
||||
|
||||
@@ -0,0 +1,488 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Cutscene/Cutscene.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "Unknown/UnkStruct_027e095c.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09ac.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
|
||||
#include <nns/g3d/g3d.h>
|
||||
#include <printf.h>
|
||||
#include <vector>
|
||||
|
||||
extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32);
|
||||
extern "C" void func_ov089_02165c34(void *);
|
||||
extern AABB data_027e0ca8;
|
||||
extern AABB data_027e0cc0;
|
||||
extern AABB data_027e0c90;
|
||||
extern int data_ov089_02171540;
|
||||
|
||||
static UnkStruct_ov001_020c40f4 data_ov001_020c40f4[0x40];
|
||||
|
||||
struct UnkStruct_ov001_020c2a40 {
|
||||
/* 00 */ unk32 unk_00;
|
||||
/* 04 */ unk32 unk_04;
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ u8 unk_0A;
|
||||
/* 0B */ u8 unk_0B;
|
||||
/* 0C */ u8 unk_0C;
|
||||
/* 0D */ u8 unk_0D;
|
||||
/* 0E */ u8 unk_0E;
|
||||
/* 0F */ u8 unk_0F;
|
||||
/* 10 */ u8 unk_10;
|
||||
/* 11 */ STRUCT_PAD(0x11, 0x14); // pad?
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov001_020c2a40(unk32 param1, unk32 param2, unk16 param3, unk8 param4, unk8 param5, unk8 param6, unk8 param7) {
|
||||
this->unk_00 = param1;
|
||||
this->unk_04 = param2;
|
||||
this->unk_08 = param3;
|
||||
this->unk_0A = param4;
|
||||
this->unk_0B = param5;
|
||||
this->unk_0C = param6;
|
||||
this->unk_0D = param7;
|
||||
this->unk_0E = 0x2B;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
static const UnkStruct_ov001_020c2a40 data_ov001_020c2a40[] = {
|
||||
UnkStruct_ov001_020c2a40(0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C),
|
||||
UnkStruct_ov001_020c2a40(0x29, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x3D),
|
||||
UnkStruct_ov001_020c2a40(0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E),
|
||||
UnkStruct_ov001_020c2a40(0x04, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x3F),
|
||||
};
|
||||
|
||||
// https://decomp.me/scratch/JcRNn
|
||||
UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param1) :
|
||||
mUnk_004(NULL, 0x9B, 0x01, 0x01),
|
||||
mSceneRender(NULL),
|
||||
mUnk_070(NULL, 0x9B, 0x01, 0x00),
|
||||
mUnk_084_00(0),
|
||||
mUnk_084_01(0),
|
||||
mUnk_098(0),
|
||||
mUnk_09C(¶m1->mUnk_00),
|
||||
mUnk_0AC(false),
|
||||
mUnk_0AD(false),
|
||||
mUnk_0AE(false),
|
||||
mUnk_0AF(false),
|
||||
mUnk_0FC(0),
|
||||
mIsCS(false),
|
||||
mUnk_104(0),
|
||||
mUnk_108(0),
|
||||
mUnk_10C(0),
|
||||
mUnk_110(0),
|
||||
mUnk_114(0),
|
||||
mUnk_118(0),
|
||||
mUnk_11C(1),
|
||||
mUnk_120(0),
|
||||
mUnk_124(0),
|
||||
mUnk_128(0),
|
||||
mUnk_12A(true),
|
||||
mUnk_12B(false),
|
||||
mUnk_12C(false),
|
||||
mUnk_12D(false),
|
||||
mUnk_12E(false),
|
||||
mUnk_130(0),
|
||||
mUnk_134(0),
|
||||
mUnk_138(0) {
|
||||
Vec2s local_30;
|
||||
VecFx32 sp18;
|
||||
VecFx32 spC;
|
||||
|
||||
this->mUnk_0A0 = 0;
|
||||
this->mUnk_0A4 = 0;
|
||||
this->mUnk_0A8 = 0;
|
||||
|
||||
fx32 y = (this->mUnk_11C << 14);
|
||||
fx32 z = ((u32) (u16) this->mUnk_09C.y >> 1) << 12;
|
||||
fx32 x = ((u32) (u16) this->mUnk_09C.x >> 1) << 12;
|
||||
|
||||
data_027e0c90.min.x = -x;
|
||||
data_027e0c90.min.y = -y;
|
||||
data_027e0c90.min.z = -z;
|
||||
|
||||
data_027e0c90.max.x = x;
|
||||
data_027e0c90.max.y = 0;
|
||||
data_027e0c90.max.z = z;
|
||||
|
||||
spC = data_027e0c90.min;
|
||||
data_027e0ca8.min = spC;
|
||||
|
||||
sp18 = data_027e0c90.max;
|
||||
data_027e0ca8.max = sp18;
|
||||
|
||||
data_027e0cc0.min = spC;
|
||||
data_027e0cc0.max = sp18;
|
||||
|
||||
this->mUnk_13C.Init(data_ov001_020c40f4, 0x40);
|
||||
|
||||
Vec2s_Copy(&this->mUnk_09C, &local_30);
|
||||
gpMapObjManager->func_ov001_020baea0(&local_30);
|
||||
data_027e095c->func_ov000_020592a0();
|
||||
}
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base::~UnkStruct_027e0cd8_0C_Base() {
|
||||
data_027e095c->func_ov000_020592ec();
|
||||
gpMapObjManager->func_ov001_020baf28();
|
||||
DELETE(this->mUnk_098);
|
||||
this->mUnk_130 = 0;
|
||||
this->mUnk_138 = 0;
|
||||
this->mUnk_134 = 0;
|
||||
this->mUnk_154.clear();
|
||||
this->func_ov001_020b8aec();
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_38() {}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_08() {}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b85d0(const UnkStruct_SceneChange1 *param1) {
|
||||
this->mIsCS = param1->mIsCS;
|
||||
|
||||
wchar_t local_c8[2];
|
||||
local_c8[0] = L'\0';
|
||||
local_c8[sizeof(local_c8) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_c8, sizeof(local_c8), "M%02d", param1->mRoomIndex);
|
||||
this->mUnk_084[0] = local_c8[0];
|
||||
this->mUnk_084[1] = local_c8[1];
|
||||
|
||||
CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(param1->mSceneIndex);
|
||||
|
||||
wchar_t local_34[16];
|
||||
local_34[0] = L'\0';
|
||||
local_34[sizeof(local_34) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_34, sizeof(local_34), "Map/%s/map%02d.bin", pEntry->name, param1->mRoomIndex);
|
||||
|
||||
this->mUnk_004.~UnkSystem3();
|
||||
this->mUnk_004.mUnk_00 = local_34;
|
||||
this->mUnk_004.func_0201541c((char *) local_c8, 0x10);
|
||||
this->LoadSceneModel(param1);
|
||||
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zcb/%s_%02d.zcb", local_c8, pEntry->name, param1->mRoomIndex);
|
||||
UnkFileSystem3 local_44((char *) local_34);
|
||||
data_027e09c0->func_ov001_020be3dc(&local_44, this);
|
||||
|
||||
wchar_t local_64[16];
|
||||
local_64[0] = L'\0';
|
||||
local_64[sizeof(local_64) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_64, sizeof(local_64), "%s:zmb/%s_%02d.zmb", local_c8, pEntry->name, param1->mRoomIndex);
|
||||
UnkFileSystem3 local_74((char *) local_64);
|
||||
local_74.vfunc_08(0x10);
|
||||
|
||||
ZMBFileInfos zmbFileInfos;
|
||||
zmbFileInfos.pFile = local_74.mpFile;
|
||||
zmbFileInfos.size = local_74.mFileSize;
|
||||
zmbFileInfos.unk_08 = 0;
|
||||
zmbFileInfos.unk_0C = 0;
|
||||
zmbFileInfos.unk_10 = 0;
|
||||
zmbFileInfos.unk_14 = 0;
|
||||
ZMB_ParseFile(&zmbFileInfos, this, true);
|
||||
|
||||
gpMapObjManager->func_ov001_020bade0();
|
||||
gpActorManager->func_ov001_020bb630();
|
||||
|
||||
if (param1->mIsCS == false) {
|
||||
gpActorManager->func_ov001_020bb6b0((UnkStruct_SceneChange1 *) param1);
|
||||
}
|
||||
|
||||
data_027e095c->func_ov000_020592a0();
|
||||
|
||||
u32 isCs = this->mIsCS;
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->mRoomIndex, isCs);
|
||||
UnkFileSystem3 local_94((char *) local_34);
|
||||
this->mUnk_0B4 = (ZeldaObjectList *) local_94.vfunc_08(sizeof(ZOBHeader));
|
||||
gpMapObjManager->func_ov001_020bae40(this->mUnk_0B4);
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_0B8); i++) {
|
||||
// i + 2 because 0 is the default one and 1 is the cutscene one
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->mRoomIndex, i + 2);
|
||||
UnkFileSystem3 local_a4((char *) local_34);
|
||||
this->mUnk_0B8[i] = (ZeldaObjectList *) local_a4.vfunc_08(sizeof(ZOBHeader));
|
||||
}
|
||||
|
||||
isCs = this->mIsCS;
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->mRoomIndex, isCs);
|
||||
UnkFileSystem3 local_b4((char *) local_34);
|
||||
this->mUnk_0D8 = (ZeldaObjectList *) local_b4.vfunc_08(sizeof(ZOBHeader));
|
||||
gpActorManager->func_ov001_020bb7b0(this->mUnk_0D8);
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_0DC); i++) {
|
||||
// i + 2 because 0 is the default one and 1 is the cutscene one
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->mRoomIndex, i + 2);
|
||||
UnkFileSystem3 local_c4((char *) local_34);
|
||||
this->mUnk_0DC[i] = (ZeldaObjectList *) local_c4.vfunc_08(sizeof(ZOBHeader));
|
||||
}
|
||||
|
||||
data_027e09b0->func_ov000_02072cc4(0x0000, 0x7FFF);
|
||||
ZMB_ParseFile(&zmbFileInfos, this, false);
|
||||
this->vfunc_40(param1->mSpawnIndex);
|
||||
|
||||
if (param1->mSceneIndex == SceneIndex_t_area1) {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_ObtainedSnowSource)) {
|
||||
this->mUnk_110 = 0x0A;
|
||||
}
|
||||
} else if (param1->mSceneIndex == SceneIndex_t_area3) {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_ObtainedFireSource)) {
|
||||
this->mUnk_110 = 0x10;
|
||||
this->mUnk_114 = 0x1F;
|
||||
}
|
||||
}
|
||||
|
||||
this->func_ov001_020b8db8();
|
||||
this->func_ov001_020b8e24();
|
||||
|
||||
if (param1->mIsCS == true) {
|
||||
this->mUnk_114 = Cutscene_GetParamEntry(param1->mCutsceneIndex)->mUnk_0E;
|
||||
}
|
||||
|
||||
data_027e09ac->func_ov000_020726f0(this->mUnk_114, 0x00, 0x00);
|
||||
this->vfunc_38();
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b88c0(unk32 param1) {
|
||||
gpMapObjManager->func_ov001_020bae40(this->mUnk_0B8[param1]);
|
||||
gpActorManager->func_ov001_020bb7b0(this->mUnk_0DC[param1]);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b88ec() {
|
||||
this->func_ov001_020b8e54();
|
||||
this->mUnk_088.func_ov000_0208261c();
|
||||
gpMapObjManager->func_ov001_020bae6c();
|
||||
gpActorManager->func_ov001_020bb7f0();
|
||||
data_027e095c->func_ov000_020592ec();
|
||||
data_027e09c0->func_ov001_020be400();
|
||||
this->mUnk_004.~UnkSystem3();
|
||||
|
||||
if (this->mUnk_128 & 0x200) {
|
||||
func_ov089_02165c34(&data_ov089_02171540);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::LoadSceneModel(const UnkStruct_SceneChange1 *param1) {
|
||||
const char *pName = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->name;
|
||||
|
||||
wchar_t local_40[20];
|
||||
local_40[0] = L'\0';
|
||||
local_40[sizeof(local_40) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_40, sizeof(local_40), "%s:nsbmd/%s_%02d.nsbmd", this->mUnk_084, pName, param1->mRoomIndex);
|
||||
UnkFileSystem3 local_50((char *) local_40);
|
||||
|
||||
wchar_t local_78[20];
|
||||
local_78[0] = L'\0';
|
||||
local_78[sizeof(local_78) / 2 - 1] = L'\0';
|
||||
const char *path = "Map/%s/map%02d.nsbtx";
|
||||
snprintf((char *) local_78, sizeof(local_78), path, pName, param1->mRoomIndex);
|
||||
|
||||
this->mUnk_070.vfunc_0C();
|
||||
this->mUnk_070.mUnk_04 = (char *) local_78;
|
||||
this->mUnk_070.vfunc_08(0x10);
|
||||
|
||||
BMDSectionModel *pBMD = func_ov000_0205abcc(&local_50, &this->mUnk_070, 0x01, 0x00, 0x00);
|
||||
G3d_Model *pModel = G3d_GetModelPtr(pBMD);
|
||||
G3d_0200e6a0(pModel, 0x00, 0x40);
|
||||
G3d_0200e6a0(pModel, 0x00, 0x80);
|
||||
this->mSceneRender.vfunc_08(pModel);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3) {
|
||||
SceneIndex sceneIndex = param1->mSceneIndex;
|
||||
u8 roomIndex = param1->mRoomIndex;
|
||||
|
||||
if (param2 != 0) {
|
||||
if (param3 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
roomIndex = 99;
|
||||
}
|
||||
|
||||
gpCurrentGameModeMgr->vfunc_38(sceneIndex, roomIndex, 0x01, 0x00);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_20() {}
|
||||
|
||||
const UnkStruct_ov001_020c40f4 *UnkStruct_027e0cd8_0C_Base::func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1) {
|
||||
UnkStruct_ov001_020c40f4 *result =
|
||||
std::find_if(this->mUnk_13C.begin(), this->mUnk_13C.end(), UnkStruct_ov001_020c40f4::Predicate(spawnIndex, param1));
|
||||
|
||||
if (param1 == 0) {
|
||||
if (result == this->mUnk_13C.end()) {
|
||||
result = this->mUnk_13C.begin();
|
||||
}
|
||||
|
||||
if (result->mUnk_0F == 0) {
|
||||
result->mUnk_00.y = this->vfunc_28(&result->mUnk_00, 1, 0);
|
||||
}
|
||||
|
||||
return result;
|
||||
} else {
|
||||
if (result == this->mUnk_13C.end()) {
|
||||
return this->func_ov001_020b8a5c(spawnIndex, 0x00);
|
||||
}
|
||||
|
||||
if (result->mUnk_0F == 0) {
|
||||
result->mUnk_00.y = this->vfunc_28(&result->mUnk_00, 1, 0);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8aec() {
|
||||
STACK_PAD(0x24);
|
||||
this->mUnk_148.unk_action1();
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8b94(ZMBEntryARAB *pARAB) {
|
||||
UnkStruct_027e0cd8_0C_Base_148_00_Base *ptr = NULL;
|
||||
|
||||
if (pARAB->unk_0C == 1) {
|
||||
ptr = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Base_148_02(pARAB);
|
||||
} else if (pARAB->unk_0D == 1) {
|
||||
ptr = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Base_148_01(pARAB);
|
||||
} else {
|
||||
ptr = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Base_148_00(pARAB);
|
||||
}
|
||||
|
||||
this->mUnk_148.push_back(ptr);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c30(const UnkStruct_027e0cd8_0C_Base_154_00 ¶m1) {
|
||||
this->mUnk_154.push_back(param1);
|
||||
}
|
||||
|
||||
void *UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c80(unk32 param1) {
|
||||
return (void *) &data_ov001_020c2a40[param1 - 0x3C];
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c90(unk32 param1) {
|
||||
this->mUnk_138 = param1;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c98(unk32 param1) {
|
||||
this->mUnk_134 = param1;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_34(unk32 param1) {
|
||||
this->mUnk_130 = param1;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_40(u8 spawnIndex) {
|
||||
switch (spawnIndex) {
|
||||
case 0xFB:
|
||||
case 0xFC:
|
||||
case 0xFD:
|
||||
case 0xFE: {
|
||||
UnkStruct_ov001_020c40f4 stack_elem;
|
||||
UnkStruct_WarpUnk1_A0 *pEntry = data_027e09a4->func_ov000_02070538();
|
||||
VecFx32 pos = pEntry->mUnk_04;
|
||||
fx16 angle = DEG_TO_ANG(0);
|
||||
|
||||
switch (spawnIndex) {
|
||||
case 0xFB:
|
||||
pos.z = data_027e0c90.max.z - FLOAT_TO_FX32(0.5f);
|
||||
angle = DEG_TO_ANG(180);
|
||||
break;
|
||||
case 0xFC:
|
||||
pos.z = data_027e0c90.min.z + FLOAT_TO_FX32(0.5f);
|
||||
angle = DEG_TO_ANG(0);
|
||||
break;
|
||||
case 0xFD:
|
||||
pos.x = data_027e0c90.max.x - FLOAT_TO_FX32(0.5f);
|
||||
angle = DEG_TO_ANG(270);
|
||||
break;
|
||||
case 0xFE:
|
||||
pos.x = data_027e0c90.min.x + FLOAT_TO_FX32(0.5f);
|
||||
angle = DEG_TO_ANG(90);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
stack_elem.mUnk_0E = spawnIndex;
|
||||
VecFx32_Copy(&pos, &stack_elem.mUnk_00);
|
||||
stack_elem.mUnk_0C = angle;
|
||||
stack_elem.mUnk_10 = 0xFD;
|
||||
|
||||
UnkStruct_ov001_020c40f4 *pEnd = this->mUnk_13C.end();
|
||||
if (pEnd != NULL) {
|
||||
pEnd->mUnk_00 = stack_elem.mUnk_00;
|
||||
pEnd->mUnk_0C = stack_elem.mUnk_0C;
|
||||
pEnd->mUnk_0E = stack_elem.mUnk_0E;
|
||||
pEnd->mUnk_0F = stack_elem.mUnk_0F;
|
||||
pEnd->mUnk_10 = stack_elem.mUnk_10;
|
||||
pEnd->mUnk_14 = stack_elem.mUnk_14;
|
||||
}
|
||||
|
||||
this->mUnk_13C.grow_by(1);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8db8() {
|
||||
unk32 uVar1;
|
||||
|
||||
uVar1 = 0;
|
||||
switch (this->mUnk_110) {
|
||||
case 0x00:
|
||||
case 0x03:
|
||||
uVar1 = 0x0A;
|
||||
break;
|
||||
case 0x0E:
|
||||
uVar1 = 0x01;
|
||||
break;
|
||||
case 0x05:
|
||||
case 0x09:
|
||||
uVar1 = 0x02;
|
||||
break;
|
||||
case 0x0A:
|
||||
uVar1 = 0x03;
|
||||
break;
|
||||
case 0x02:
|
||||
uVar1 = 0x04;
|
||||
break;
|
||||
case 0x0F:
|
||||
uVar1 = 0x05;
|
||||
break;
|
||||
case 0x10:
|
||||
uVar1 = 0x06;
|
||||
break;
|
||||
case 0x08:
|
||||
uVar1 = 0x00;
|
||||
break;
|
||||
case 0x0C:
|
||||
uVar1 = 0x09;
|
||||
break;
|
||||
case 0x06:
|
||||
uVar1 = 0x07;
|
||||
break;
|
||||
case 0x01:
|
||||
case 0x07:
|
||||
case 0x04:
|
||||
case 0x0B:
|
||||
break;
|
||||
default:
|
||||
uVar1 = 0x00;
|
||||
break;
|
||||
}
|
||||
|
||||
this->mUnk_088.func_ov000_020823a8(uVar1);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8e24() {
|
||||
if (this->mUnk_110 == 7 && this->mUnk_098 == NULL) {
|
||||
this->mUnk_098 = new(HeapIndex_1) UnkStruct_027e0cd8_0C_Base_98();
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8e54() {
|
||||
DELETE(this->mUnk_098);
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ void CargoManager::RemoveAmount(unk32 decr) {
|
||||
|
||||
bool CargoManager::func_ov017_020bec9c() {
|
||||
if (data_027e09a4->IsTrain()) {
|
||||
return data_027e0cd8->mUnk_0C->mUnk_160->func_ov026_02106aa8();
|
||||
return data_027e0cd8->GetUnk0C()->mUnk_160->func_ov026_02106aa8();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -123,7 +123,7 @@ SaveManager::SaveManager() {
|
||||
this->mUnk_20A = 0;
|
||||
this->mUnk_214 = 0;
|
||||
this->mpSaveFile = NULL;
|
||||
this->mUnk_244 = 0;
|
||||
this->mUnk_244 = NULL;
|
||||
|
||||
func_020327c8(&this->mUnk_004, 0x1021);
|
||||
|
||||
|
||||
@@ -117,8 +117,8 @@ void ActorUnkOBPC::SetState(ActorState state, int param2) {
|
||||
}
|
||||
|
||||
bool ActorUnkOBPC::func_ov024_020d7154(void) {
|
||||
u8 temp_r4 = this->mUnk_5C.mParams[0];
|
||||
UnkStruct_027e0cd8_0c *temp_r5 = data_027e0cd8->mUnk_0C;
|
||||
u8 temp_r4 = this->mUnk_5C.mParams[0];
|
||||
UnkStruct_027e0cd8_0C_Base *temp_r5 = data_027e0cd8->mUnk_0C;
|
||||
ActorManager *pActorMgr;
|
||||
VecFx32 sp10;
|
||||
|
||||
|
||||
@@ -601,8 +601,8 @@ void AdventureModeManager::vfunc_34(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager::vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) {
|
||||
this->func_ov024_020c6514(param1, param2, param3, param4);
|
||||
void AdventureModeManager::vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4) {
|
||||
this->func_ov024_020c6514(sceneIndex, roomIndex, param3, param4);
|
||||
}
|
||||
|
||||
void AdventureModeManager::func_ov024_020c6514(SceneIndex sceneIndex, u8 param2, unk16 param3, unk16 param4) {
|
||||
|
||||
@@ -40,7 +40,7 @@ void AdventureModeManager_184::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
|
||||
data_0204a088->func_ov000_02061248();
|
||||
MapObjectId mapObjId = data_027e09b8->mUnk_0C->mMapObjId;
|
||||
MapObjectId mapObjId = data_027e09b8->GetUnk0C()->mMapObjId;
|
||||
|
||||
if (data_027e09a4->IsTrain() || (data_027e09b8->func_ov000_020732dc(2) &&
|
||||
(mapObjId != MapObjectId_WDST ||
|
||||
@@ -77,7 +77,7 @@ void AdventureModeManager_184::func_ov024_020c979c(unk32 param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
MapObjectId mapObjId = data_027e09b8->mUnk_0C->mMapObjId;
|
||||
MapObjectId mapObjId = data_027e09b8->GetUnk0C()->mMapObjId;
|
||||
|
||||
if (data_027e09a4->IsTrain()) {
|
||||
if (data_027e09a4->IsDarkRealm()) {
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
#include "files.h"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
#include <printf.h>
|
||||
|
||||
extern "C" void func_02026800(void *, int, const char *, ...);
|
||||
extern "C" unk32 func_02032784(unk32 param1);
|
||||
extern "C" unk32 func_ov000_0205c7ac(unk32, unk32);
|
||||
extern "C" bool func_ov000_0205c74c(unk32, unk32, unk32, unk32);
|
||||
@@ -55,20 +55,20 @@ void UnkDataStruct4::func_ov024_020d258c(u32 sceneIndex, u8 roomIndex) {
|
||||
|
||||
sp10[0] = L'\0';
|
||||
sp10[1] = L'\0';
|
||||
func_02026800(sp10, sizeof(sp10), "T%02d", roomIndex);
|
||||
snprintf((char *) sp10, sizeof(sp10), "T%02d", roomIndex);
|
||||
|
||||
sp34[0] = L'\0';
|
||||
sp34[15] = L'\0';
|
||||
pEntry = data_027e09a0->GetCourseEntry(sceneIndex);
|
||||
const char *string = "Map/%s/train%02d.bin";
|
||||
func_02026800(sp34, sizeof(sp34), string, pEntry->name, roomIndex);
|
||||
snprintf((char *) sp34, sizeof(sp34), string, pEntry->name, roomIndex);
|
||||
|
||||
UnkStruct2 sp24(NULL, 1);
|
||||
sp24.mUnk_04 = (char *) sp34;
|
||||
sp24.func_020154ec((char *) sp10);
|
||||
|
||||
pEntry = data_027e09a0->GetCourseEntry(sceneIndex);
|
||||
func_02026800(sp34, sizeof(sp34), "%s:ztb/%s_%02d.ztb", sp10, pEntry->name, roomIndex);
|
||||
snprintf((char *) sp34, sizeof(sp34), "%s:ztb/%s_%02d.ztb", sp10, pEntry->name, roomIndex);
|
||||
|
||||
UnkFileSystem3 sp14((char *) sp34);
|
||||
sp14.vfunc_08(0x10);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user