mirror of
https://github.com/zeldaret/ph
synced 2026-07-07 13:23:45 -04:00
Decompile overlay 8 (95%) (#115)
* started overlay 8 * progress * progress * progress * more headers * progress * more progress * symbols * fix splits + new headers * more progress * func_ov008_02112ee0 & func_ov008_02112f28 * document fish in save item manager and unrelated things because precommit is mad * SaveItemManager ctor * progress? * fix build issues * split files to match data * format * format * cleanup and match vfunc_08 * add reloc for overlay 0 * fix vtable symbol * improve non-matching functions --------- Co-authored-by: Aetias <144526980+AetiasHax@users.noreply.github.com>
This commit is contained in:
@@ -152,7 +152,7 @@ func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x0207a2d8
|
||||
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x0207a2e8
|
||||
func_ov000_0207a2fc kind:function(arm,size=0x4) addr:0x0207a2fc
|
||||
func_ov000_0207a300 kind:function(thumb,size=0x8c) addr:0x0207a300
|
||||
_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x56) addr:0x0207a38c
|
||||
_ZN13SaveInventory4InitEv kind:function(thumb,size=0x56) addr:0x0207a38c
|
||||
func_ov000_0207a3e4 kind:function(thumb,size=0x32) addr:0x0207a3e4
|
||||
func_ov000_0207a418 kind:function(thumb,size=0xbc) addr:0x0207a418
|
||||
func_ov000_0207a4d4 kind:function(thumb,size=0x1a) addr:0x0207a4d4
|
||||
@@ -242,7 +242,7 @@ func_ov000_0207c0ac kind:function(thumb,size=0x20) addr:0x0207c0ac
|
||||
func_ov000_0207c0cc kind:function(thumb,size=0x24) addr:0x0207c0cc
|
||||
func_ov000_0207c0f0 kind:function(thumb,size=0x28) addr:0x0207c0f0
|
||||
func_ov000_0207c118 kind:function(thumb,size=0x58) addr:0x0207c118
|
||||
func_ov000_0207c170 kind:function(thumb,size=0x1e) addr:0x0207c170
|
||||
_ZN18UnkStruct_020ec7dc19func_ov000_0207c170Ev kind:function(thumb,size=0x1e) addr:0x0207c170
|
||||
func_ov000_0207c190 kind:function(thumb,size=0x1e) addr:0x0207c190
|
||||
func_ov000_0207c1b0 kind:function(arm,size=0x48) addr:0x0207c1b0
|
||||
func_ov000_0207c1f8 kind:function(arm,size=0x68) addr:0x0207c1f8
|
||||
@@ -1644,10 +1644,10 @@ func_ov000_020a19c8 kind:function(arm,size=0x34) addr:0x020a19c8
|
||||
func_ov000_020a19fc kind:function(arm,size=0x10) addr:0x020a19fc
|
||||
func_ov000_020a1a0c kind:function(arm,size=0x18) addr:0x020a1a0c
|
||||
func_ov000_020a1a24 kind:function(arm,size=0x18) addr:0x020a1a24
|
||||
func_ov000_020a1a3c kind:function(arm,size=0x80) addr:0x020a1a3c
|
||||
_ZN18UnkStruct_027e0f8819func_ov000_020a1a3cEv kind:function(arm,size=0x80) addr:0x020a1a3c
|
||||
func_ov000_020a1abc kind:function(arm,size=0x68) addr:0x020a1abc
|
||||
func_ov000_020a1b24 kind:function(arm,size=0x30) addr:0x020a1b24
|
||||
func_ov000_020a1b54 kind:function(arm,size=0x114) addr:0x020a1b54
|
||||
_ZN21UnkStruct_027e0f88_0419func_ov000_020a1b54Eii kind:function(arm,size=0x114) addr:0x020a1b54
|
||||
func_ov000_020a1c68 kind:function(arm,size=0x8) addr:0x020a1c68
|
||||
func_ov000_020a1c70 kind:function(arm,size=0x1c) addr:0x020a1c70
|
||||
func_ov000_020a1c8c kind:function(arm,size=0xc) addr:0x020a1c8c
|
||||
@@ -2127,10 +2127,10 @@ _ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0xe) addr:0x020a
|
||||
_ZN11ItemManager16SetShipPartCountEjjc kind:function(thumb,size=0x18) addr:0x020ad900
|
||||
_ZNK11ItemManager16GetTreasureCountEj kind:function(thumb,size=0x8) addr:0x020ad918
|
||||
_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0xe) addr:0x020ad920
|
||||
_ZNK11ItemManager10GetUnk_098Ej kind:function(thumb,size=0x8) addr:0x020ad930
|
||||
_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xa) addr:0x020ad938
|
||||
_ZNK11ItemManager18GetUnk_09e_DividedEj kind:function(thumb,size=0x28) addr:0x020ad944
|
||||
_ZN11ItemManager10SetUnk_09eEjt kind:function(thumb,size=0x34) addr:0x020ad96c
|
||||
_ZNK11ItemManager21GetCollectedFishCountEj kind:function(thumb,size=0x8) addr:0x020ad930
|
||||
_ZNK11ItemManager11GetFishSizeEj kind:function(thumb,size=0xa) addr:0x020ad938
|
||||
_ZNK11ItemManager19GetFishSize_DividedEj kind:function(thumb,size=0x28) addr:0x020ad944
|
||||
_ZN11ItemManager11SetFishSizeEjt kind:function(thumb,size=0x34) addr:0x020ad96c
|
||||
_ZNK11ItemManager10GetMaxAmmoEi kind:function(thumb,size=0x40) addr:0x020ad9a0
|
||||
_ZNK11ItemManager19GetMaxShipPartCountEv kind:function(thumb,size=0x4) addr:0x020ad9e0
|
||||
_ZNK11ItemManager19GetMaxTreasureCountEv kind:function(thumb,size=0x4) addr:0x020ad9e4
|
||||
@@ -3572,8 +3572,8 @@ func_ov000_020d680c kind:function(arm,size=0x38) addr:0x020d680c
|
||||
func_ov000_020d6844 kind:function(arm,size=0x24) addr:0x020d6844
|
||||
func_ov000_020d6868 kind:function(arm,size=0x130) addr:0x020d6868
|
||||
func_ov000_020d6998 kind:function(arm,size=0x3c) addr:0x020d6998
|
||||
func_ov000_020d69d4 kind:function(arm,size=0x10) addr:0x020d69d4
|
||||
func_ov000_020d69e4 kind:function(arm,size=0x44) addr:0x020d69e4
|
||||
_ZN18UnkStruct_020ee82019func_ov000_020d69d4Ei kind:function(arm,size=0x10) addr:0x020d69d4
|
||||
_ZN18UnkStruct_020ee82019func_ov000_020d69e4Ev kind:function(arm,size=0x44) addr:0x020d69e4
|
||||
func_ov000_020d6a28 kind:function(arm,size=0x30) addr:0x020d6a28
|
||||
func_ov000_020d6a58 kind:function(arm,size=0x34) addr:0x020d6a58
|
||||
func_ov000_020d6a8c kind:function(arm,size=0x18) addr:0x020d6a8c
|
||||
@@ -5980,7 +5980,6 @@ data_ov000_020ee6f8 kind:bss addr:0x020ee6f8
|
||||
data_ov000_020ee734 kind:bss addr:0x020ee734
|
||||
data_ov000_020ee800 kind:bss addr:0x020ee800
|
||||
data_ov000_020ee820 kind:bss addr:0x020ee820
|
||||
data_ov000_020ee824 kind:bss addr:0x020ee824
|
||||
data_ov000_020ee860 kind:bss addr:0x020ee860
|
||||
data_ov000_020eec60 kind:bss addr:0x020eec60
|
||||
data_ov000_020eec64 kind:bss addr:0x020eec64
|
||||
|
||||
@@ -3,3 +3,10 @@
|
||||
.data start:0x02113b00 end:0x02113b80 kind:data align:32
|
||||
.bss start:0x02113b80 end:0x02113b80 kind:bss align:32
|
||||
|
||||
src/08_GameStart/GameStart.cpp:
|
||||
.text start:0x02112c20 end:0x02112ee0
|
||||
.data start:0x02113b00 end:0x02113b60
|
||||
|
||||
src/08_GameStart/Init.cpp:
|
||||
.text start:0x02112ee0 end:0x02113af4
|
||||
.data start:0x02113b60 end:0x02113b80
|
||||
|
||||
@@ -11,7 +11,7 @@ from:0x02112d18 kind:arm_call_thumb to:0x02027ab4 module:main
|
||||
from:0x02112d44 kind:arm_call_thumb to:0x02027ab4 module:main
|
||||
from:0x02112d4c kind:arm_call_thumb to:0x02016fcc module:main
|
||||
from:0x02112d5c kind:load to:0x0205762c add:8 module:main
|
||||
from:0x02112d60 kind:load to:0x02113b44 module:overlay(8)
|
||||
from:0x02112d60 kind:load to:0x02113b3c add:8 module:overlay(8)
|
||||
from:0x02112d64 kind:load to:0x02113b00 module:overlay(8)
|
||||
from:0x02112d68 kind:load to:0x02113b04 module:overlay(8)
|
||||
from:0x02112d6c kind:load to:0x020691a0 module:main
|
||||
@@ -21,13 +21,13 @@ from:0x02112d88 kind:arm_call to:0x02004ba8 module:main
|
||||
from:0x02112d8c kind:arm_call to:0x02004b94 module:main
|
||||
from:0x02112d90 kind:arm_call to:0x02004c68 module:main
|
||||
from:0x02112d98 kind:arm_call_thumb to:0x0202c0b8 module:main
|
||||
from:0x02112da4 kind:load to:0x02113b44 module:overlay(8)
|
||||
from:0x02112da4 kind:load to:0x02113b3c add:8 module:overlay(8)
|
||||
from:0x02112db8 kind:arm_call to:0x02004ba8 module:main
|
||||
from:0x02112dbc kind:arm_call to:0x02004b94 module:main
|
||||
from:0x02112dc0 kind:arm_call to:0x02004c68 module:main
|
||||
from:0x02112dc8 kind:arm_call_thumb to:0x0202c0b8 module:main
|
||||
from:0x02112dd0 kind:arm_call to:0x0202ea0c module:main
|
||||
from:0x02112ddc kind:load to:0x02113b44 module:overlay(8)
|
||||
from:0x02112ddc kind:load to:0x02113b3c add:8 module:overlay(8)
|
||||
from:0x02112e40 kind:arm_call to:0x02112e88 module:overlay(8)
|
||||
from:0x02112e68 kind:arm_call_thumb to:0x0202cec8 module:main
|
||||
from:0x02112e7c kind:load to:0x027e0618 module:dtcm
|
||||
@@ -38,6 +38,7 @@ from:0x02112eac kind:arm_call to:0x02112f28 module:overlay(8)
|
||||
from:0x02112eb8 kind:arm_call to:0x02113678 module:overlay(8)
|
||||
from:0x02112ec0 kind:arm_call_thumb to:0x0207a654 module:overlay(0)
|
||||
from:0x02112ec8 kind:load to:0x027e0900 module:dtcm
|
||||
from:0x02112ecc kind:overlay_id to:0 module:none
|
||||
from:0x02112ed0 kind:load to:0x020ee734 module:overlay(0)
|
||||
from:0x02112ed4 kind:load to:0x027e0d54 module:dtcm
|
||||
from:0x02112ed8 kind:load to:0x027e0ce0 module:dtcm
|
||||
@@ -99,7 +100,7 @@ from:0x0211344c kind:arm_call to:0x020d69d4 module:overlay(0)
|
||||
from:0x0211349c kind:arm_call to:0x020156b4 module:main
|
||||
from:0x021134a8 kind:arm_call to:0x02015718 module:main
|
||||
from:0x021134b0 kind:load to:0x020ee820 module:overlay(0)
|
||||
from:0x021134b4 kind:load to:0x020ee824 module:overlay(0)
|
||||
from:0x021134b4 kind:load to:0x020ee820 add:4 module:overlay(0)
|
||||
from:0x02113508 kind:arm_call to:0x0201f704 module:main
|
||||
from:0x02113618 kind:arm_call to:0x0202e9dc module:main
|
||||
from:0x02113638 kind:arm_call to:0x021136c0 module:overlay(8)
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
func_ov008_02112c20 kind:function(arm,size=0x34) addr:0x02112c20
|
||||
func_ov008_02112c54 kind:function(arm,size=0x124) addr:0x02112c54
|
||||
func_ov008_02112d78 kind:function(arm,size=0x30) addr:0x02112d78
|
||||
func_ov008_02112da8 kind:function(arm,size=0x38) addr:0x02112da8
|
||||
func_ov008_02112de0 kind:function(arm,size=0xa4) addr:0x02112de0
|
||||
func_ov008_02112e84 kind:function(arm,size=0x4) addr:0x02112e84
|
||||
func_ov008_02112e88 kind:function(arm,size=0x58) addr:0x02112e88
|
||||
func_ov008_02112ee0 kind:function(arm,size=0x48) addr:0x02112ee0
|
||||
func_ov008_02112f28 kind:function(arm,size=0x158) addr:0x02112f28
|
||||
func_ov008_02113080 kind:function(arm,size=0x50) addr:0x02113080
|
||||
func_ov008_021130d0 kind:function(arm,size=0x80) addr:0x021130d0
|
||||
func_ov008_02113150 kind:function(arm,size=0x5c) addr:0x02113150
|
||||
func_ov008_021131ac kind:function(arm,size=0xd8) addr:0x021131ac
|
||||
func_ov008_02113284 kind:function(arm,size=0x48) addr:0x02113284
|
||||
func_ov008_021132cc kind:function(arm,size=0x48) addr:0x021132cc
|
||||
func_ov008_02113314 kind:function(arm,size=0x68) addr:0x02113314
|
||||
func_ov008_0211337c kind:function(arm,size=0x40) addr:0x0211337c
|
||||
func_ov008_021133bc kind:function(arm,size=0x34) addr:0x021133bc
|
||||
func_ov008_021133f0 kind:function(arm,size=0x70) addr:0x021133f0
|
||||
func_ov008_02113460 kind:function(arm,size=0x14) addr:0x02113460
|
||||
func_ov008_02113474 kind:function(arm,size=0x44) addr:0x02113474
|
||||
func_ov008_021134b8 kind:function(arm,size=0x64) addr:0x021134b8
|
||||
func_ov008_0211351c kind:function(arm,size=0x9c) addr:0x0211351c
|
||||
func_ov008_021135b8 kind:function(arm,size=0x4) addr:0x021135b8
|
||||
func_ov008_021135bc kind:function(arm,size=0xbc) addr:0x021135bc
|
||||
func_ov008_02113678 kind:function(arm,size=0x48) addr:0x02113678
|
||||
func_ov008_021136c0 kind:function(arm,size=0x2c) addr:0x021136c0
|
||||
func_ov008_021136ec kind:function(arm,size=0x10) addr:0x021136ec
|
||||
func_ov008_021136fc kind:function(arm,size=0x34) addr:0x021136fc
|
||||
func_ov008_02113730 kind:function(arm,size=0x238) addr:0x02113730
|
||||
func_ov008_02113968 kind:function(arm,size=0x4) addr:0x02113968
|
||||
func_ov008_0211396c kind:function(arm,size=0x18) addr:0x0211396c
|
||||
func_ov008_02113984 kind:function(arm,size=0x4) addr:0x02113984
|
||||
func_ov008_02113988 kind:function(arm,size=0x50) addr:0x02113988
|
||||
func_ov008_021139d8 kind:function(arm,size=0x4) addr:0x021139d8
|
||||
func_ov008_021139dc kind:function(arm,size=0x30) addr:0x021139dc
|
||||
func_ov008_02113a0c kind:function(arm,size=0x34) addr:0x02113a0c
|
||||
func_ov008_02113a40 kind:function(arm,size=0x68) addr:0x02113a40
|
||||
func_ov008_02113aa8 kind:function(arm,size=0x4c) addr:0x02113aa8
|
||||
_ZN9GameStart6CreateEi kind:function(arm,size=0x34) addr:0x02112c20
|
||||
_ZN9GameStartC2Ei kind:function(arm,size=0x124) addr:0x02112c54
|
||||
_ZN9GameStartD1Ev kind:function(arm,size=0x30) addr:0x02112d78
|
||||
_ZN9GameStartD0Ev kind:function(arm,size=0x38) addr:0x02112da8
|
||||
_ZN9GameStart8vfunc_08Eb kind:function(arm,size=0xa4) addr:0x02112de0
|
||||
_ZN9GameStart8vfunc_10EPt kind:function(arm,size=0x4) addr:0x02112e84
|
||||
_ZN9GameStart19func_ov008_02112e88Ev kind:function(arm,size=0x58) addr:0x02112e88
|
||||
_ZN18UnkStruct_027e0d54C1Ev kind:function(arm,size=0x48) addr:0x02112ee0
|
||||
_ZN18UnkStruct_027e0d5419func_ov008_02112f28Ev kind:function(arm,size=0x158) addr:0x02112f28
|
||||
_ZN12TouchControlC2Ev kind:function(arm,size=0x50) addr:0x02113080
|
||||
_ZN18UnkStruct_020ee698C2Ev kind:function(arm,size=0x80) addr:0x021130d0
|
||||
_ZN18UnkStruct_020ee734C2Ev kind:function(arm,size=0x5c) addr:0x02113150
|
||||
_ZN18UnkStruct_020ee73419func_ov008_021131acEv kind:function(arm,size=0xd8) addr:0x021131ac
|
||||
_ZN18UnkStruct_020eec68C2Ev kind:function(arm,size=0x48) addr:0x02113284
|
||||
_ZN18UnkStruct_020eec6819func_ov008_021132ccEv kind:function(arm,size=0x48) addr:0x021132cc
|
||||
_ZN18UnkStruct_020eec9cC2Ev kind:function(arm,size=0x68) addr:0x02113314
|
||||
_ZN18UnkStruct_020eec9c19func_ov008_0211337cEv kind:function(arm,size=0x40) addr:0x0211337c
|
||||
_ZN18UnkStruct_020ee820C2Ev kind:function(arm,size=0x34) addr:0x021133bc
|
||||
_ZN18UnkStruct_020ee82019func_ov008_021133f0Ev kind:function(arm,size=0x70) addr:0x021133f0
|
||||
_ZN18UnkStruct_020eec60C2Ev kind:function(arm,size=0x14) addr:0x02113460
|
||||
_ZN18UnkStruct_020eec6019func_ov008_02113474Ev kind:function(arm,size=0x44) addr:0x02113474
|
||||
_ZN18UnkStruct_020ee6f8C2Ev kind:function(arm,size=0x64) addr:0x021134b8
|
||||
_ZN18UnkStruct_020ee0a0C2Ev kind:function(arm,size=0x9c) addr:0x0211351c
|
||||
_ZN18UnkStruct_020ee0a019func_ov008_021135b8Ev kind:function(arm,size=0x4) addr:0x021135b8
|
||||
_ZN18UnkStruct_027e0f88C1EPj kind:function(arm,size=0xbc) addr:0x021135bc
|
||||
_ZN18UnkStruct_027e0f8819func_ov008_02113678EPj kind:function(arm,size=0x48) addr:0x02113678
|
||||
_ZN21UnkStruct_027e0f88_04C1Eisish kind:function(arm,size=0x2c) addr:0x021136c0
|
||||
_ZN18UnkStruct_020eed2cC2Ev kind:function(arm,size=0x10) addr:0x021136ec
|
||||
_ZN18UnkStruct_027e0dbcC2Ev kind:function(arm,size=0x34) addr:0x021136fc
|
||||
_ZN15SaveItemManagerC1Ev kind:function(arm,size=0x238) addr:0x02113730
|
||||
_ZN19SaveItemManager_d1cD1Ev kind:function(arm,size=0x4) addr:0x02113968
|
||||
_ZN19SaveItemManager_d1cC1Ev kind:function(arm,size=0x18) addr:0x0211396c
|
||||
_ZN19SaveItemManager_2f8D1Ev kind:function(arm,size=0x4) addr:0x02113984
|
||||
_ZN19SaveItemManager_2f8C1Ev kind:function(arm,size=0x50) addr:0x02113988
|
||||
_ZN18SaveItemManager_f8D1Ev kind:function(arm,size=0x4) addr:0x021139d8
|
||||
_ZN18SaveItemManager_f8C1Ev kind:function(arm,size=0x30) addr:0x021139dc
|
||||
_ZN18UnkStruct_020e9370C1Ev kind:function(arm,size=0x34) addr:0x02113a0c
|
||||
_ZN18UnkStruct_020e9360C1Ev kind:function(arm,size=0x68) addr:0x02113a40
|
||||
_ZN18UnkStruct_020ec7dcC1Ev kind:function(arm,size=0x4c) addr:0x02113aa8
|
||||
data_ov008_02113b00 kind:data(any) addr:0x02113b00
|
||||
data_ov008_02113b04 kind:data(any) addr:0x02113b04
|
||||
data_ov008_02113b20 kind:data(any) addr:0x02113b20
|
||||
data_ov008_02113b2c kind:data(any) addr:0x02113b2c
|
||||
data_ov008_02113b44 kind:data(any) addr:0x02113b44
|
||||
_ZTV9GameStart kind:data(any) addr:0x02113b3c
|
||||
data_ov008_02113b60 kind:data(any) addr:0x02113b60
|
||||
|
||||
@@ -664,7 +664,7 @@ func_02015578 kind:function(arm,size=0xa8) addr:0x02015578
|
||||
func_02015620 kind:function(arm,size=0x6c) addr:0x02015620
|
||||
func_0201568c kind:function(arm,size=0xc) addr:0x0201568c
|
||||
func_02015698 kind:function(arm,size=0x1c) addr:0x02015698
|
||||
func_020156b4 kind:function(arm,size=0x40) addr:0x020156b4
|
||||
_ZN21UnkStruct_020ee820_0413func_020156b4Ev kind:function(arm,size=0x40) addr:0x020156b4
|
||||
func_020156f4 kind:function(arm,size=0x14) addr:0x020156f4
|
||||
func_02015708 kind:function(arm,size=0x10) addr:0x02015708
|
||||
func_02015718 kind:function(arm,size=0x28) addr:0x02015718
|
||||
@@ -964,7 +964,7 @@ func_0201f5f4 kind:function(arm,size=0x5c) addr:0x0201f5f4
|
||||
func_0201f650 kind:function(arm,size=0x64) addr:0x0201f650
|
||||
func_0201f6b4 kind:function(arm,size=0x40) addr:0x0201f6b4
|
||||
func_0201f6f4 kind:function(arm,size=0x10) addr:0x0201f6f4
|
||||
func_0201f704 kind:function(arm,size=0xc) addr:0x0201f704
|
||||
_ZN23UnkStruct_func_0201f70413func_0201f704Ev kind:function(arm,size=0xc) addr:0x0201f704
|
||||
func_0201f710 kind:function(arm,size=0x20) addr:0x0201f710
|
||||
func_0201f730 kind:function(arm,size=0x18) addr:0x0201f730
|
||||
func_0201f748 kind:function(arm,size=0x60) addr:0x0201f748
|
||||
@@ -1065,7 +1065,7 @@ func_02021960 kind:function(arm,size=0x28) addr:0x02021960
|
||||
func_02021988 kind:function(arm,size=0x1c) addr:0x02021988
|
||||
func_020219a4 kind:function(arm,size=0x44) addr:0x020219a4
|
||||
func_020219e8 kind:function(arm,size=0x34) addr:0x020219e8
|
||||
func_02021a1c kind:function(arm,size=0xc) addr:0x02021a1c
|
||||
_ZN21UnkStruct_020eec68_0c13func_02021a1cEv kind:function(arm,size=0xc) addr:0x02021a1c
|
||||
func_02021a28 kind:function(arm,size=0x18) addr:0x02021a28
|
||||
func_02021a40 kind:function(arm,size=0x3c) addr:0x02021a40
|
||||
func_02021a7c kind:function(arm,size=0x48) addr:0x02021a7c
|
||||
@@ -1355,7 +1355,7 @@ func_0202bf58 kind:function(arm,size=0x68) addr:0x0202bf58
|
||||
func_0202bfc0 kind:function(arm,size=0xe8) addr:0x0202bfc0
|
||||
_ZN8GameModeD1Ev kind:function(thumb,size=0x2) addr:0x0202c0a8
|
||||
_ZN8GameModeD0Ev kind:function(thumb,size=0xc) addr:0x0202c0ac
|
||||
_ZN8GameMode13func_0202c0b8Ev kind:function(thumb,size=0x2) addr:0x0202c0b8
|
||||
_ZN8GameModeD2Ev kind:function(thumb,size=0x2) addr:0x0202c0b8
|
||||
_ZN8GameMode8vfunc_0cEPt kind:function(thumb,size=0x2) addr:0x0202c0bc
|
||||
_ZN8GameMode8vfunc_10EPt kind:function(thumb,size=0x2) addr:0x0202c0c0
|
||||
_ZN8GameMode8vfunc_14Eb kind:function(thumb,size=0x2) addr:0x0202c0c4
|
||||
@@ -2228,7 +2228,7 @@ func_02042668 kind:function(thumb,size=0x24) addr:0x02042668
|
||||
func_0204268c kind:function(thumb,size=0x48) addr:0x0204268c
|
||||
func_020426d4 kind:function(thumb,size=0x24) addr:0x020426d4
|
||||
func_020426f8 kind:function(thumb,size=0x4c) addr:0x020426f8
|
||||
func_02042744 kind:function(thumb,size=0x24) addr:0x02042744
|
||||
_ZN18UnkStruct_027e0dbc13func_02042744EPi kind:function(thumb,size=0x24) addr:0x02042744
|
||||
func_02042768 kind:function(thumb,size=0x31c) addr:0x02042768
|
||||
func_02042a84 kind:function(thumb,size=0x46) addr:0x02042a84
|
||||
func_02042acc kind:function(thumb,size=0xc) addr:0x02042acc
|
||||
@@ -2399,7 +2399,7 @@ __destroy_global_chain kind:function(arm,size=0x44) addr:0x0204f4b8
|
||||
func_0204f4fc kind:function(arm,size=0x48) addr:0x0204f4fc
|
||||
func_0204f544 kind:function(arm,size=0x14) addr:0x0204f544
|
||||
func_0204f558 kind:function(arm,size=0xbc) addr:0x0204f558
|
||||
ForEach kind:function(arm,size=0xb0) addr:0x0204f614
|
||||
__cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0204f614
|
||||
func_0204f6c4 kind:function(arm,size=0x90) addr:0x0204f6c4
|
||||
__cxa_vec_cleanup kind:function(arm,size=0x5c) addr:0x0204f754
|
||||
func_0204f7b0 kind:function(arm,size=0x34) addr:0x0204f7b0
|
||||
|
||||
@@ -152,7 +152,7 @@ func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x0207a278
|
||||
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x0207a288
|
||||
func_ov000_0207a2fc kind:function(arm,size=0x4) addr:0x0207a29c
|
||||
func_ov000_0207a300 kind:function(thumb,size=0x8c) addr:0x0207a2a0
|
||||
_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x56) addr:0x0207a32c
|
||||
_ZN13SaveInventory4InitEv kind:function(thumb,size=0x56) addr:0x0207a32c
|
||||
func_ov000_0207a3e4 kind:function(thumb,size=0x32) addr:0x0207a384
|
||||
func_ov000_0207a418 kind:function(thumb,size=0xbc) addr:0x0207a3b8
|
||||
func_ov000_0207a4d4 kind:function(thumb,size=0x1a) addr:0x0207a474
|
||||
@@ -242,7 +242,7 @@ func_ov000_0207c0ac kind:function(thumb,size=0x20) addr:0x0207c04c
|
||||
func_ov000_0207c0cc kind:function(thumb,size=0x24) addr:0x0207c06c
|
||||
func_ov000_0207c0f0 kind:function(thumb,size=0x28) addr:0x0207c090
|
||||
func_ov000_0207c118 kind:function(thumb,size=0x58) addr:0x0207c0b8
|
||||
func_ov000_0207c170 kind:function(thumb,size=0x1e) addr:0x0207c110
|
||||
_ZN18UnkStruct_020ec7dc19func_ov000_0207c170Ev kind:function(thumb,size=0x1e) addr:0x0207c110
|
||||
func_ov000_0207c190 kind:function(thumb,size=0x1e) addr:0x0207c130
|
||||
func_ov000_0207c1b0 kind:function(arm,size=0x48) addr:0x0207c150
|
||||
func_ov000_0207c1f8 kind:function(arm,size=0x68) addr:0x0207c198
|
||||
@@ -1644,10 +1644,10 @@ func_ov000_020a19c8 kind:function(arm,size=0x34) addr:0x020a1968
|
||||
func_ov000_020a19fc kind:function(arm,size=0x10) addr:0x020a199c
|
||||
func_ov000_020a1a0c kind:function(arm,size=0x18) addr:0x020a19ac
|
||||
func_ov000_020a1a24 kind:function(arm,size=0x18) addr:0x020a19c4
|
||||
func_ov000_020a1a3c kind:function(arm,size=0x80) addr:0x020a19dc
|
||||
_ZN18UnkStruct_027e0f8819func_ov000_020a1a3cEv kind:function(arm,size=0x80) addr:0x020a19dc
|
||||
func_ov000_020a1abc kind:function(arm,size=0x68) addr:0x020a1a5c
|
||||
func_ov000_020a1b24 kind:function(arm,size=0x30) addr:0x020a1ac4
|
||||
func_ov000_020a1b54 kind:function(arm,size=0x114) addr:0x020a1af4
|
||||
_ZN21UnkStruct_027e0f88_0419func_ov000_020a1b54Eii kind:function(arm,size=0x114) addr:0x020a1af4
|
||||
func_ov000_020a1c68 kind:function(arm,size=0x8) addr:0x020a1c08
|
||||
func_ov000_020a1c70 kind:function(arm,size=0x1c) addr:0x020a1c10
|
||||
func_ov000_020a1c8c kind:function(arm,size=0xc) addr:0x020a1c2c
|
||||
@@ -2127,10 +2127,10 @@ _ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0xe) addr:0x020a
|
||||
_ZN11ItemManager16SetShipPartCountEjjc kind:function(thumb,size=0x18) addr:0x020ad8a0
|
||||
_ZNK11ItemManager16GetTreasureCountEj kind:function(thumb,size=0x8) addr:0x020ad8b8
|
||||
_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0xe) addr:0x020ad8c0
|
||||
_ZNK11ItemManager10GetUnk_098Ej kind:function(thumb,size=0x8) addr:0x020ad8d0
|
||||
_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xa) addr:0x020ad8d8
|
||||
_ZNK11ItemManager18GetUnk_09e_DividedEj kind:function(thumb,size=0x28) addr:0x020ad8e4
|
||||
_ZN11ItemManager10SetUnk_09eEjt kind:function(thumb,size=0x34) addr:0x020ad90c
|
||||
_ZNK11ItemManager21GetCollectedFishCountEj kind:function(thumb,size=0x8) addr:0x020ad8d0
|
||||
_ZNK11ItemManager11GetFishSizeEj kind:function(thumb,size=0xa) addr:0x020ad8d8
|
||||
_ZNK11ItemManager19GetFishSize_DividedEj kind:function(thumb,size=0x28) addr:0x020ad8e4
|
||||
_ZN11ItemManager11SetFishSizeEjt kind:function(thumb,size=0x34) addr:0x020ad90c
|
||||
_ZNK11ItemManager10GetMaxAmmoEi kind:function(thumb,size=0x40) addr:0x020ad940
|
||||
_ZNK11ItemManager19GetMaxShipPartCountEv kind:function(thumb,size=0x4) addr:0x020ad980
|
||||
_ZNK11ItemManager19GetMaxTreasureCountEv kind:function(thumb,size=0x4) addr:0x020ad984
|
||||
@@ -3572,8 +3572,8 @@ func_ov000_020d680c kind:function(arm,size=0x38) addr:0x020d67ac
|
||||
func_ov000_020d6844 kind:function(arm,size=0x24) addr:0x020d67e4
|
||||
func_ov000_020d6868 kind:function(arm,size=0x130) addr:0x020d6808
|
||||
func_ov000_020d6998 kind:function(arm,size=0x3c) addr:0x020d6938
|
||||
func_ov000_020d69d4 kind:function(arm,size=0x10) addr:0x020d6974
|
||||
func_ov000_020d69e4 kind:function(arm,size=0x44) addr:0x020d6984
|
||||
_ZN18UnkStruct_020ee82019func_ov000_020d69d4Ei kind:function(arm,size=0x10) addr:0x020d6974
|
||||
_ZN18UnkStruct_020ee82019func_ov000_020d69e4Ev kind:function(arm,size=0x44) addr:0x020d6984
|
||||
func_ov000_020d6a28 kind:function(arm,size=0x30) addr:0x020d69c8
|
||||
func_ov000_020d6a58 kind:function(arm,size=0x34) addr:0x020d69f8
|
||||
func_ov000_020d6a8c kind:function(arm,size=0x18) addr:0x020d6a2c
|
||||
|
||||
@@ -3,3 +3,10 @@
|
||||
.data start:0x02113a80 end:0x02113b00 kind:data align:32
|
||||
.bss start:0x02113b00 end:0x02113b00 kind:bss align:32
|
||||
|
||||
src/08_GameStart/GameStart.cpp:
|
||||
.text start:0x02112ba0 end:0x02112e60
|
||||
.data start:0x02113a80 end:0x02113ae0
|
||||
|
||||
src/08_GameStart/Init.cpp:
|
||||
.text start:0x02112e60 end:0x02113a74
|
||||
.data start:0x02113ae0 end:0x02113b00
|
||||
|
||||
@@ -11,7 +11,7 @@ from:0x02112c98 kind:arm_call_thumb to:0x02027ab4 module:main
|
||||
from:0x02112cc4 kind:arm_call_thumb to:0x02027ab4 module:main
|
||||
from:0x02112ccc kind:arm_call_thumb to:0x02016fcc module:main
|
||||
from:0x02112cdc kind:load to:0x020575cc add:8 module:main
|
||||
from:0x02112ce0 kind:load to:0x02113ac4 module:overlay(8)
|
||||
from:0x02112ce0 kind:load to:0x02113abc add:8 module:overlay(8)
|
||||
from:0x02112ce4 kind:load to:0x02113a80 module:overlay(8)
|
||||
from:0x02112ce8 kind:load to:0x02113a84 module:overlay(8)
|
||||
from:0x02112cec kind:load to:0x02069140 module:main
|
||||
@@ -21,13 +21,13 @@ from:0x02112d08 kind:arm_call to:0x02004ba8 module:main
|
||||
from:0x02112d0c kind:arm_call to:0x02004b94 module:main
|
||||
from:0x02112d10 kind:arm_call to:0x02004c68 module:main
|
||||
from:0x02112d18 kind:arm_call_thumb to:0x0202c0a0 module:main
|
||||
from:0x02112d24 kind:load to:0x02113ac4 module:overlay(8)
|
||||
from:0x02112d24 kind:load to:0x02113abc add:8 module:overlay(8)
|
||||
from:0x02112d38 kind:arm_call to:0x02004ba8 module:main
|
||||
from:0x02112d3c kind:arm_call to:0x02004b94 module:main
|
||||
from:0x02112d40 kind:arm_call to:0x02004c68 module:main
|
||||
from:0x02112d48 kind:arm_call_thumb to:0x0202c0a0 module:main
|
||||
from:0x02112d50 kind:arm_call to:0x0202ea08 module:main
|
||||
from:0x02112d5c kind:load to:0x02113ac4 module:overlay(8)
|
||||
from:0x02112d5c kind:load to:0x02113abc add:8 module:overlay(8)
|
||||
from:0x02112dc0 kind:arm_call to:0x02112e08 module:overlay(8)
|
||||
from:0x02112de8 kind:arm_call_thumb to:0x0202ceb0 module:main
|
||||
from:0x02112dfc kind:load to:0x027e0618 module:dtcm
|
||||
@@ -38,6 +38,7 @@ from:0x02112e2c kind:arm_call to:0x02112ea8 module:overlay(8)
|
||||
from:0x02112e38 kind:arm_call to:0x021135f8 module:overlay(8)
|
||||
from:0x02112e40 kind:arm_call_thumb to:0x0207a5f4 module:overlay(0)
|
||||
from:0x02112e48 kind:load to:0x027e0900 module:dtcm
|
||||
from:0x02112e4c kind:overlay_id to:0 module:none
|
||||
from:0x02112e50 kind:load to:0x020ee6d4 module:overlay(0)
|
||||
from:0x02112e54 kind:load to:0x027e0d54 module:dtcm
|
||||
from:0x02112e58 kind:load to:0x027e0ce0 module:dtcm
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
func_ov008_02112c20 kind:function(arm,size=0x34) addr:0x02112ba0
|
||||
func_ov008_02112c54 kind:function(arm,size=0x124) addr:0x02112bd4
|
||||
func_ov008_02112d78 kind:function(arm,size=0x30) addr:0x02112cf8
|
||||
func_ov008_02112da8 kind:function(arm,size=0x38) addr:0x02112d28
|
||||
func_ov008_02112de0 kind:function(arm,size=0xa4) addr:0x02112d60
|
||||
func_ov008_02112e84 kind:function(arm,size=0x4) addr:0x02112e04
|
||||
func_ov008_02112e88 kind:function(arm,size=0x58) addr:0x02112e08
|
||||
func_ov008_02112ee0 kind:function(arm,size=0x48) addr:0x02112e60
|
||||
func_ov008_02112f28 kind:function(arm,size=0x158) addr:0x02112ea8
|
||||
func_ov008_02113080 kind:function(arm,size=0x50) addr:0x02113000
|
||||
func_ov008_021130d0 kind:function(arm,size=0x80) addr:0x02113050
|
||||
func_ov008_02113150 kind:function(arm,size=0x5c) addr:0x021130d0
|
||||
func_ov008_021131ac kind:function(arm,size=0xd8) addr:0x0211312c
|
||||
func_ov008_02113284 kind:function(arm,size=0x48) addr:0x02113204
|
||||
func_ov008_021132cc kind:function(arm,size=0x48) addr:0x0211324c
|
||||
func_ov008_02113314 kind:function(arm,size=0x68) addr:0x02113294
|
||||
func_ov008_0211337c kind:function(arm,size=0x40) addr:0x021132fc
|
||||
func_ov008_021133bc kind:function(arm,size=0x34) addr:0x0211333c
|
||||
func_ov008_021133f0 kind:function(arm,size=0x70) addr:0x02113370
|
||||
func_ov008_02113460 kind:function(arm,size=0x14) addr:0x021133e0
|
||||
func_ov008_02113474 kind:function(arm,size=0x44) addr:0x021133f4
|
||||
func_ov008_021134b8 kind:function(arm,size=0x64) addr:0x02113438
|
||||
func_ov008_0211351c kind:function(arm,size=0x9c) addr:0x0211349c
|
||||
func_ov008_021135b8 kind:function(arm,size=0x4) addr:0x02113538
|
||||
func_ov008_021135bc kind:function(arm,size=0xbc) addr:0x0211353c
|
||||
func_ov008_02113678 kind:function(arm,size=0x48) addr:0x021135f8
|
||||
func_ov008_021136c0 kind:function(arm,size=0x2c) addr:0x02113640
|
||||
func_ov008_021136ec kind:function(arm,size=0x10) addr:0x0211366c
|
||||
func_ov008_021136fc kind:function(arm,size=0x34) addr:0x0211367c
|
||||
func_ov008_02113730 kind:function(arm,size=0x238) addr:0x021136b0
|
||||
func_ov008_02113968 kind:function(arm,size=0x4) addr:0x021138e8
|
||||
func_ov008_0211396c kind:function(arm,size=0x18) addr:0x021138ec
|
||||
func_ov008_02113984 kind:function(arm,size=0x4) addr:0x02113904
|
||||
func_ov008_02113988 kind:function(arm,size=0x50) addr:0x02113908
|
||||
func_ov008_021139d8 kind:function(arm,size=0x4) addr:0x02113958
|
||||
func_ov008_021139dc kind:function(arm,size=0x30) addr:0x0211395c
|
||||
func_ov008_02113a0c kind:function(arm,size=0x34) addr:0x0211398c
|
||||
func_ov008_02113a40 kind:function(arm,size=0x68) addr:0x021139c0
|
||||
func_ov008_02113aa8 kind:function(arm,size=0x4c) addr:0x02113a28
|
||||
_ZN9GameStart6CreateEi kind:function(arm,size=0x34) addr:0x02112ba0
|
||||
_ZN9GameStartC2Ei kind:function(arm,size=0x124) addr:0x02112bd4
|
||||
_ZN9GameStartD1Ev kind:function(arm,size=0x30) addr:0x02112cf8
|
||||
_ZN9GameStartD0Ev kind:function(arm,size=0x38) addr:0x02112d28
|
||||
_ZN9GameStart8vfunc_08Eb kind:function(arm,size=0xa4) addr:0x02112d60
|
||||
_ZN9GameStart8vfunc_10EPt kind:function(arm,size=0x4) addr:0x02112e04
|
||||
_ZN9GameStart19func_ov008_02112e88Ev kind:function(arm,size=0x58) addr:0x02112e08
|
||||
_ZN18UnkStruct_027e0d54C1Ev kind:function(arm,size=0x48) addr:0x02112e60
|
||||
_ZN18UnkStruct_027e0d5419func_ov008_02112f28Ev kind:function(arm,size=0x158) addr:0x02112ea8
|
||||
_ZN12TouchControlC2Ev kind:function(arm,size=0x50) addr:0x02113000
|
||||
_ZN18UnkStruct_020ee698C2Ev kind:function(arm,size=0x80) addr:0x02113050
|
||||
_ZN18UnkStruct_020ee734C2Ev kind:function(arm,size=0x5c) addr:0x021130d0
|
||||
_ZN18UnkStruct_020ee73419func_ov008_021131acEv kind:function(arm,size=0xd8) addr:0x0211312c
|
||||
_ZN18UnkStruct_020eec68C2Ev kind:function(arm,size=0x48) addr:0x02113204
|
||||
_ZN18UnkStruct_020eec6819func_ov008_021132ccEv kind:function(arm,size=0x48) addr:0x0211324c
|
||||
_ZN18UnkStruct_020eec9cC2Ev kind:function(arm,size=0x68) addr:0x02113294
|
||||
_ZN18UnkStruct_020eec9c19func_ov008_0211337cEv kind:function(arm,size=0x40) addr:0x021132fc
|
||||
_ZN18UnkStruct_020ee820C2Ev kind:function(arm,size=0x34) addr:0x0211333c
|
||||
_ZN18UnkStruct_020ee82019func_ov008_021133f0Ev kind:function(arm,size=0x70) addr:0x02113370
|
||||
_ZN18UnkStruct_020eec60C2Ev kind:function(arm,size=0x14) addr:0x021133e0
|
||||
_ZN18UnkStruct_020eec6019func_ov008_02113474Ev kind:function(arm,size=0x44) addr:0x021133f4
|
||||
_ZN18UnkStruct_020ee6f8C2Ev kind:function(arm,size=0x64) addr:0x02113438
|
||||
_ZN18UnkStruct_020ee0a0C2Ev kind:function(arm,size=0x9c) addr:0x0211349c
|
||||
_ZN18UnkStruct_020ee0a019func_ov008_021135b8Ev kind:function(arm,size=0x4) addr:0x02113538
|
||||
_ZN18UnkStruct_027e0f88C1EPj kind:function(arm,size=0xbc) addr:0x0211353c
|
||||
_ZN18UnkStruct_027e0f8819func_ov008_02113678EPj kind:function(arm,size=0x48) addr:0x021135f8
|
||||
_ZN21UnkStruct_027e0f88_04C1Eisish kind:function(arm,size=0x2c) addr:0x02113640
|
||||
_ZN18UnkStruct_020eed2cC2Ev kind:function(arm,size=0x10) addr:0x0211366c
|
||||
_ZN18UnkStruct_027e0dbcC2Ev kind:function(arm,size=0x34) addr:0x0211367c
|
||||
_ZN15SaveItemManagerC1Ev kind:function(arm,size=0x238) addr:0x021136b0
|
||||
_ZN19SaveItemManager_d1cD1Ev kind:function(arm,size=0x4) addr:0x021138e8
|
||||
_ZN19SaveItemManager_d1cC1Ev kind:function(arm,size=0x18) addr:0x021138ec
|
||||
_ZN19SaveItemManager_2f8D1Ev kind:function(arm,size=0x4) addr:0x02113904
|
||||
_ZN19SaveItemManager_2f8C1Ev kind:function(arm,size=0x50) addr:0x02113908
|
||||
_ZN18SaveItemManager_f8D1Ev kind:function(arm,size=0x4) addr:0x02113958
|
||||
_ZN18SaveItemManager_f8C1Ev kind:function(arm,size=0x30) addr:0x0211395c
|
||||
_ZN18UnkStruct_020e9370C1Ev kind:function(arm,size=0x34) addr:0x0211398c
|
||||
_ZN18UnkStruct_020e9360C1Ev kind:function(arm,size=0x68) addr:0x021139c0
|
||||
_ZN18UnkStruct_020ec7dcC1Ev kind:function(arm,size=0x4c) addr:0x02113a28
|
||||
data_ov008_02113b00 kind:data(any) addr:0x02113a80
|
||||
data_ov008_02113b04 kind:data(any) addr:0x02113a84
|
||||
data_ov008_02113b20 kind:data(any) addr:0x02113aa0
|
||||
data_ov008_02113b2c kind:data(any) addr:0x02113aac
|
||||
data_ov008_02113b44 kind:data(any) addr:0x02113ac4
|
||||
_ZTV9GameStart kind:data(any) addr:0x02113abc
|
||||
data_ov008_02113b60 kind:data(any) addr:0x02113ae0
|
||||
|
||||
@@ -664,7 +664,7 @@ func_02015578 kind:function(arm,size=0xa8) addr:0x02015578
|
||||
func_02015620 kind:function(arm,size=0x6c) addr:0x02015620
|
||||
func_0201568c kind:function(arm,size=0xc) addr:0x0201568c
|
||||
func_02015698 kind:function(arm,size=0x1c) addr:0x02015698
|
||||
func_020156b4 kind:function(arm,size=0x40) addr:0x020156b4
|
||||
_ZN21UnkStruct_020ee820_0413func_020156b4Ev kind:function(arm,size=0x40) addr:0x020156b4
|
||||
func_020156f4 kind:function(arm,size=0x14) addr:0x020156f4
|
||||
func_02015708 kind:function(arm,size=0x10) addr:0x02015708
|
||||
func_02015718 kind:function(arm,size=0x28) addr:0x02015718
|
||||
@@ -964,7 +964,7 @@ func_0201f5f4 kind:function(arm,size=0x5c) addr:0x0201f5f4
|
||||
func_0201f650 kind:function(arm,size=0x64) addr:0x0201f650
|
||||
func_0201f6b4 kind:function(arm,size=0x40) addr:0x0201f6b4
|
||||
func_0201f6f4 kind:function(arm,size=0x10) addr:0x0201f6f4
|
||||
func_0201f704 kind:function(arm,size=0xc) addr:0x0201f704
|
||||
_ZN23UnkStruct_func_0201f70413func_0201f704Ev kind:function(arm,size=0xc) addr:0x0201f704
|
||||
func_0201f710 kind:function(arm,size=0x20) addr:0x0201f710
|
||||
func_0201f730 kind:function(arm,size=0x18) addr:0x0201f730
|
||||
func_0201f748 kind:function(arm,size=0x60) addr:0x0201f748
|
||||
@@ -1065,7 +1065,7 @@ func_02021960 kind:function(arm,size=0x28) addr:0x02021960
|
||||
func_02021988 kind:function(arm,size=0x1c) addr:0x02021988
|
||||
func_020219a4 kind:function(arm,size=0x44) addr:0x020219a4
|
||||
func_020219e8 kind:function(arm,size=0x34) addr:0x020219e8
|
||||
func_02021a1c kind:function(arm,size=0xc) addr:0x02021a1c
|
||||
_ZN21UnkStruct_020eec68_0c13func_02021a1cEv kind:function(arm,size=0xc) addr:0x02021a1c
|
||||
func_02021a28 kind:function(arm,size=0x18) addr:0x02021a28
|
||||
func_02021a40 kind:function(arm,size=0x3c) addr:0x02021a40
|
||||
func_02021a7c kind:function(arm,size=0x48) addr:0x02021a7c
|
||||
@@ -2228,7 +2228,7 @@ func_02042668 kind:function(thumb,size=0x24) addr:0x02042624
|
||||
func_0204268c kind:function(thumb,size=0x48) addr:0x02042648
|
||||
func_020426d4 kind:function(thumb,size=0x24) addr:0x02042690
|
||||
func_020426f8 kind:function(thumb,size=0x4c) addr:0x020426b4
|
||||
func_02042744 kind:function(thumb,size=0x24) addr:0x02042700
|
||||
_ZN18UnkStruct_027e0dbc13func_02042744EPi kind:function(thumb,size=0x24) addr:0x02042700
|
||||
func_02042768 kind:function(thumb,size=0x31c) addr:0x02042724
|
||||
func_02042a84 kind:function(thumb,size=0x46) addr:0x02042a40
|
||||
func_02042acc kind:function(thumb,size=0xc) addr:0x02042a88
|
||||
@@ -2399,7 +2399,7 @@ __destroy_global_chain kind:function(arm,size=0x44) addr:0x0204f474
|
||||
func_0204f4fc kind:function(arm,size=0x48) addr:0x0204f4b8
|
||||
func_0204f544 kind:function(arm,size=0x14) addr:0x0204f500
|
||||
func_0204f558 kind:function(arm,size=0xbc) addr:0x0204f514
|
||||
ForEach kind:function(arm,size=0xb0) addr:0x0204f5d0
|
||||
__cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0204f5d0
|
||||
func_0204f6c4 kind:function(arm,size=0x90) addr:0x0204f680
|
||||
__cxa_vec_cleanup kind:function(arm,size=0x5c) addr:0x0204f710
|
||||
func_0204f7b0 kind:function(arm,size=0x34) addr:0x0204f76c
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameStart : public GameMode {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 008 */ unk32 mUnk_008;
|
||||
/* 00c */ u32 mUnk_00c;
|
||||
/* 010 */
|
||||
|
||||
/* 00 */ virtual ~GameStart() override;
|
||||
/* 04 */ virtual GameModeId vfunc_08(bool param1) override;
|
||||
/* 10 */ virtual void vfunc_10(u16 *param1) override;
|
||||
/* 14 */
|
||||
|
||||
static GameStart *Create(GameModeId modeId);
|
||||
|
||||
GameStart(GameModeId modeId);
|
||||
|
||||
static void func_ov008_02112e88();
|
||||
};
|
||||
@@ -296,6 +296,17 @@ enum Potion_ {
|
||||
Potion_COUNT,
|
||||
};
|
||||
|
||||
typedef u8 FishType;
|
||||
enum FishType_ {
|
||||
FishType_SkippyJack,
|
||||
FishType_Toona,
|
||||
FishType_Loovar,
|
||||
FishType_RustySwordfish,
|
||||
FishType_Neptoona,
|
||||
FishType_Stowfish,
|
||||
FishType_COUNT
|
||||
};
|
||||
|
||||
struct ItemFlags {
|
||||
/* 00 */ u32 flags[CEIL_DIV(ItemFlag_COUNT, 32)];
|
||||
/* 10 */
|
||||
|
||||
@@ -66,8 +66,8 @@ public:
|
||||
/* 028 */ ShipType mEquippedShipParts[ShipPart_COUNT];
|
||||
/* 048 */ s8 mShipParts[ShipPart_COUNT][ShipType_COUNT];
|
||||
/* 090 */ s8 mTreasure[Treasure_COUNT];
|
||||
/* 098 */ u8 mUnk_098[6]; // max 99
|
||||
/* 09e */ u16 mUnk_09e[6]; // max 9999, corresponds with mUnk_098
|
||||
/* 098 */ FishType mFishCount[FishType_COUNT];
|
||||
/* 09e */ u16 mFishSize[FishType_COUNT];
|
||||
/* 0aa */ unk16 mUnk_0aa; // padding?
|
||||
/* 0ac */ EquipItem *(*mEquipItems)[ItemFlag_EQUIP_COUNT];
|
||||
/* 0b0 */ u16 (*mAmmo)[ItemFlag_EQUIP_COUNT];
|
||||
@@ -176,11 +176,11 @@ public:
|
||||
void SetTreasureSalvaged(u32 index);
|
||||
u8 GetMaxTreasureCount() const;
|
||||
|
||||
// mUnk_098, mUnk_09e
|
||||
u8 GetUnk_098(u32 index) const;
|
||||
u16 GetUnk_09e(u32 index) const;
|
||||
s32 GetUnk_09e_Divided(u32 index) const;
|
||||
void SetUnk_09e(u32 index, u16 value); // also increments the corresponding mUnk_098 value
|
||||
// mFishCount, mFishSize
|
||||
u8 GetCollectedFishCount(u32 index) const;
|
||||
u16 GetFishSize(u32 index) const;
|
||||
s32 GetFishSize_Divided(u32 index) const;
|
||||
void SetFishSize(u32 index, u16 value); // also increments the corresponding mFishCount value
|
||||
|
||||
// Item
|
||||
bool HasItem(ItemFlag item) const;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "Game/Game.hpp"
|
||||
#include "Message/BMG.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_020eec9c.hpp"
|
||||
#include "Unknown/func_ov000_020d0644.hpp"
|
||||
|
||||
// temp
|
||||
@@ -169,13 +170,6 @@ public:
|
||||
};
|
||||
extern UnkClass_027e1054 *data_027e1054;
|
||||
|
||||
class UnkClass_ov000_020eec9c {
|
||||
public:
|
||||
void func_ov000_020d77e4(unk32);
|
||||
unk32 func_ov000_020d7f18(unk32);
|
||||
};
|
||||
extern UnkClass_ov000_020eec9c data_ov000_020eec9c;
|
||||
|
||||
class UnkClass_ov000_027e0d04 {
|
||||
public:
|
||||
/* 0x00 */ unk16 mUnk_00;
|
||||
|
||||
@@ -37,6 +37,10 @@ public:
|
||||
/* 34 */ TouchFlags mFlags;
|
||||
/* 36 */
|
||||
|
||||
TouchControl();
|
||||
TouchControl(unk32 param_1);
|
||||
~TouchControl();
|
||||
|
||||
void Init();
|
||||
void IncreaseSpeed(s16 increase);
|
||||
void UpdateFlags(u16 speed);
|
||||
@@ -45,10 +49,9 @@ public:
|
||||
bool func_ov00_0207aeac();
|
||||
void UpdateConditionally(TouchState *state, u16 speed);
|
||||
void func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease);
|
||||
~TouchControl();
|
||||
|
||||
static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3);
|
||||
static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3);
|
||||
};
|
||||
|
||||
void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
|
||||
extern "C" void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
|
||||
|
||||
@@ -4,34 +4,175 @@
|
||||
#include "types.h"
|
||||
|
||||
#include "../Item/Item.hpp"
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Unknown/UnkStruct_020ec7dc.hpp"
|
||||
|
||||
struct SaveItemManager {
|
||||
/* 00 */ ItemFlags itemFlags;
|
||||
/* 10 */ u32 salvagedTreasureFlags;
|
||||
/* 14 */ ShipPartPricesShown shipPartPricesShown;
|
||||
/* 20 */ u32 treasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)];
|
||||
/* 24 */ u8 equippedShipParts[ShipPart_COUNT];
|
||||
/* 2c */ s8 shipParts[ShipPart_COUNT][ShipType_COUNT];
|
||||
/* 74 */ s8 treasure[Treasure_COUNT];
|
||||
/* 7c */ unk8 unk_7c[4];
|
||||
/* 80 */ u16 hourglassSeconds;
|
||||
/* 82 */ u16 unk_82[6];
|
||||
/* 8e */ u16 numRupees;
|
||||
/* 90 */ unk8 unk_90;
|
||||
/* 91 */ unk8 unk_91;
|
||||
/* 92 */ unk8 unk_92;
|
||||
/* 93 */ u8 numBombs;
|
||||
/* 94 */ u8 numBombchus;
|
||||
/* 95 */ u8 numArrows;
|
||||
/* 96 */ s8 equippedItem;
|
||||
/* 97 */ Potion potions[MAX_POTIONS];
|
||||
/* 99 */ u8 numGems[Gem_COUNT];
|
||||
/* 9c */ u8 quiverSize;
|
||||
/* 9d */ u8 bombBagSize;
|
||||
/* 9e */ u8 bombchuBagSize;
|
||||
/* 9f */ u8 unk_9f[6];
|
||||
/* a5 */ u8 equippedFairy;
|
||||
/* a6 */
|
||||
class SaveItemManager_f8 {
|
||||
public:
|
||||
/* 00 */ u32 mUnk_00[2];
|
||||
/* 08 */
|
||||
|
||||
static void func_ov008_021139d8();
|
||||
static void func_ov008_021139dc();
|
||||
|
||||
~SaveItemManager_f8();
|
||||
SaveItemManager_f8();
|
||||
};
|
||||
|
||||
class SaveItemManager_2f8 {
|
||||
public:
|
||||
/* 00 */ u32 mUnk_00[2];
|
||||
/* 08 */ u32 mUnk_08[1];
|
||||
/* 0c */
|
||||
|
||||
static void func_ov008_02113984();
|
||||
static void func_ov008_02113988();
|
||||
|
||||
~SaveItemManager_2f8();
|
||||
SaveItemManager_2f8();
|
||||
};
|
||||
|
||||
class SaveItemManager_d1c {
|
||||
public:
|
||||
/* 00 */ unk8 pad[0x1c];
|
||||
/* 1c */ Actor_UnkStruct_020 mUnk_1c;
|
||||
/* 30 */
|
||||
|
||||
static void func_ov008_02113968();
|
||||
static void func_ov008_0211396c();
|
||||
|
||||
SaveItemManager_d1c();
|
||||
~SaveItemManager_d1c();
|
||||
};
|
||||
|
||||
class SaveItemManager_cec {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
void func_ov000_0207a3e4();
|
||||
};
|
||||
|
||||
class SaveItemManager_2400 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
void func_ov000_0207a5ac();
|
||||
};
|
||||
|
||||
class SaveItemManager_2580 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00[11];
|
||||
/* 16 */
|
||||
};
|
||||
|
||||
class SaveItemManager_2840 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
void func_ov000_0207a4f0();
|
||||
};
|
||||
|
||||
class SaveItemManager_2940 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
void func_ov000_0207a6d0();
|
||||
};
|
||||
|
||||
extern "C" void Fill16(int value, unsigned short *dst, int size);
|
||||
extern "C" void Fill32(unk32, u32 *, unk32);
|
||||
extern "C" void Fill256(int value, int *dst, int size);
|
||||
|
||||
class SaveInventory {
|
||||
public:
|
||||
/* 0000 */ ItemFlags itemFlags;
|
||||
/* 0010 */ u32 salvagedTreasureFlags;
|
||||
/* 0014 */ ShipPartPricesShown shipPartPricesShown;
|
||||
/* 0020 */ u32 treasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)];
|
||||
/* 0024 */ u8 equippedShipParts[ShipPart_COUNT];
|
||||
/* 002c */ s8 shipParts[ShipPart_COUNT][ShipType_COUNT];
|
||||
/* 0074 */ s8 treasure[Treasure_COUNT];
|
||||
/* 007c */ unk16 unk_7c;
|
||||
/* 007e */ unk8 unk_7e;
|
||||
/* 007f */ unk8 unk_7f;
|
||||
/* 0080 */ u16 hourglassSeconds;
|
||||
/* 0082 */ u16 fishSize[FishType_COUNT];
|
||||
/* 008e */ u16 numRupees;
|
||||
/* 0090 */ unk8 unk_90;
|
||||
/* 0091 */ unk8 unk_91;
|
||||
/* 0092 */ unk8 unk_92;
|
||||
/* 0093 */ u8 numBombs;
|
||||
/* 0094 */ u8 numBombchus;
|
||||
/* 0095 */ u8 numArrows;
|
||||
/* 0096 */ s8 equippedItem;
|
||||
/* 0097 */ Potion potions[MAX_POTIONS];
|
||||
/* 0099 */ u8 numGems[Gem_COUNT];
|
||||
/* 009c */ u8 quiverSize;
|
||||
/* 009d */ u8 bombBagSize;
|
||||
/* 009e */ u8 bombchuBagSize;
|
||||
/* 009f */ FishType fishCount[FishType_COUNT];
|
||||
/* 00a5 */ u8 equippedFairy;
|
||||
/* 00a6 */ unk16 unk_a6;
|
||||
/* 00a8 */ unk32 unk_a8[0x12];
|
||||
/* 00f0 */ u16 unk_f0[4];
|
||||
/* 00f8 */
|
||||
|
||||
SaveInventory() {
|
||||
Fill32(0, this->itemFlags.flags, sizeof(this->itemFlags));
|
||||
Fill32(0, &this->salvagedTreasureFlags, sizeof(this->salvagedTreasureFlags));
|
||||
Fill32(0, this->shipPartPricesShown.flags, sizeof(this->shipPartPricesShown));
|
||||
Fill32(0, this->treasurePriceShownFlags, sizeof(this->treasurePriceShownFlags));
|
||||
this->unk_7c = 0;
|
||||
this->unk_7e = 0;
|
||||
this->unk_7f = 0;
|
||||
this->Init();
|
||||
Fill256(0, this->unk_a8, sizeof(this->unk_a8));
|
||||
Fill16(0, this->unk_f0, sizeof(this->unk_f0));
|
||||
}
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
class SaveItemManager_Dummy2 {
|
||||
public:
|
||||
/* 000 */ u32 unk_cac[16];
|
||||
|
||||
SaveItemManager_Dummy2() {
|
||||
Fill32(0, this->unk_cac, sizeof(this->unk_cac));
|
||||
Fill32(0, this->unk_cac, sizeof(this->unk_cac));
|
||||
}
|
||||
};
|
||||
|
||||
class SaveItemManager {
|
||||
public:
|
||||
/* 0000 */ SaveInventory inventory;
|
||||
/* 00f8 */ SaveItemManager_f8 unk_f8[64];
|
||||
/* 02f8 */ SaveItemManager_2f8 unk_2f8[207];
|
||||
/* 0cac */ SaveItemManager_Dummy2 unk_cac;
|
||||
/* 0cec */ SaveItemManager_cec unk_cec;
|
||||
/* 0cf0 */ unk8 unk_cf0[0xd1c - 0xcf0];
|
||||
/* 0d1c */ SaveItemManager_d1c unk_d1c[8];
|
||||
/* 0e9c */ u32 unk_e9c[2];
|
||||
/* 0ea4 */ u32 unk_ea4[1];
|
||||
/* 0ea8 */ unk8 unk_ea8[0xeb0 - 0xea8];
|
||||
/* 0eb0 */ u32 unk_eb0[2];
|
||||
/* 0eb8 */ u32 unk_eb8[336];
|
||||
/* 13f8 */ unk8 unk_13f8[0x1400 - 0x13f8];
|
||||
/* 1400 */ unk32 unk_1400[0x400];
|
||||
/* 2400 */ SaveItemManager_2400 unk_2400;
|
||||
/* 2404 */ unk8 unk_2404[0x2580 - 0x2404];
|
||||
/* 2580 */ SaveItemManager_2580 unk_2580[32];
|
||||
/* 2840 */ SaveItemManager_2840 unk_2840;
|
||||
/* 2844 */ unk8 unk_2844[0x2900 - 0x2844];
|
||||
/* 2900 */ UnkStruct_020ec7dc unk_2900;
|
||||
/* 2940 */ SaveItemManager_2940 unk_2940;
|
||||
/* 2940 */ unk8 unk_2944[0x29c0 - 0x2944];
|
||||
/* 29c0 */ unk32 unk_29c0;
|
||||
/* 29c4 */
|
||||
|
||||
SaveItemManager();
|
||||
|
||||
void func_ov000_0207a418();
|
||||
};
|
||||
|
||||
extern SaveItemManager gSaveItemManager;
|
||||
|
||||
@@ -25,4 +25,5 @@ public:
|
||||
static void operator delete[](void *ptr);
|
||||
};
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
extern UnkStruct_0202e894 *data_027e0ce4;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020e9360 {
|
||||
public:
|
||||
/* 00 */ u8 *mUnk_00;
|
||||
/* 04 */ u8 mUnk_04[11];
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
|
||||
UnkStruct_020e9360();
|
||||
};
|
||||
|
||||
extern UnkStruct_020e9360 data_ov000_020e9360;
|
||||
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020e9370 {
|
||||
public:
|
||||
/* 000 */ unk8 mUnk_000[0x900];
|
||||
/* 900 */ unk32 mUnk_900;
|
||||
/* 904 */ unk32 mUnk_904;
|
||||
/* 908 */ unk16 mUnk_908;
|
||||
/* 90a */ unk16 mUnk_90a;
|
||||
/* 90c */ unk32 mUnk_90c;
|
||||
/* 910 */ unk32 mUnk_910;
|
||||
/* 914 */ unk32 mUnk_914;
|
||||
|
||||
UnkStruct_020e9370();
|
||||
};
|
||||
|
||||
extern UnkStruct_020e9370 data_ov000_020e9370;
|
||||
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
|
||||
class UnkStruct_020ec7dc_00 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00[0xA];
|
||||
/* 0a */
|
||||
};
|
||||
|
||||
class UnkStruct_020ec7dc {
|
||||
public:
|
||||
/* 00 */ UnkStruct_020ec7dc_00 mUnk_00[3];
|
||||
/* 3c */ unk8 mUnk_3c[4];
|
||||
/* 40 */
|
||||
|
||||
UnkStruct_020ec7dc();
|
||||
|
||||
void func_ov000_0207c170();
|
||||
void func_ov000_0207c0f0(GameModeId modeId);
|
||||
};
|
||||
|
||||
extern UnkStruct_020ec7dc data_ov000_020ec7dc;
|
||||
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020ee0a0 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00;
|
||||
/* 00 */ unk8 mUnk_01;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14[8];
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ unk8 mUnk_44;
|
||||
/* 45 */ unk8 mUnk_45;
|
||||
/* 46 */ unk8 mUnk_46;
|
||||
/* 47 */ unk8 mUnk_47;
|
||||
|
||||
UnkStruct_020ee0a0();
|
||||
|
||||
void func_ov008_021135b8();
|
||||
};
|
||||
|
||||
extern UnkStruct_020ee0a0 data_ov000_020ee0a0;
|
||||
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
extern "C" void Fill16(int value, unsigned short *dst, int size);
|
||||
|
||||
class UnkStruct_020ee698_0c {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00[15];
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */
|
||||
|
||||
UnkStruct_020ee698_0c() {
|
||||
this->mUnk_2c = 4;
|
||||
Fill16(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_020ee698 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00;
|
||||
/* 01 */ unk8 mUnk_01;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 04 */ unk16 mUnk_06;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ UnkStruct_020ee698_0c mUnk_0c;
|
||||
/* 30 */
|
||||
|
||||
UnkStruct_020ee698();
|
||||
};
|
||||
|
||||
extern UnkStruct_020ee698 data_ov000_020ee698;
|
||||
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_func_0201f704.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020ee6f8_18 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk32 mUnk_04;
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
class UnkStruct_020ee6f8 {
|
||||
public:
|
||||
/* 00 */ UnkStruct_func_0201f704 mUnk_00;
|
||||
/* 04 */ bool mUnk_04;
|
||||
/* 04 */ unk8 mUnk_05;
|
||||
/* 04 */ unk8 mUnk_06;
|
||||
/* 04 */ unk8 mUnk_07;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ UnkStruct_020ee6f8_18 mUnk_18[3];
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ bool mUnk_38;
|
||||
|
||||
UnkStruct_020ee6f8();
|
||||
};
|
||||
|
||||
extern UnkStruct_020ee6f8 data_ov000_020ee6f8;
|
||||
@@ -5,10 +5,35 @@
|
||||
|
||||
#include "Game/Game.hpp"
|
||||
|
||||
struct UnkStruct_020ee734 {
|
||||
class UnkStruct_020ee734 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x90];
|
||||
/* 90 */ u32 *mUnk_90;
|
||||
/* 94 */ unk8 mUnk_94;
|
||||
/* 95 */ unk8 mUnk_95;
|
||||
/* 96 */ unk8 mUnk_96;
|
||||
/* 97 */ unk8 mUnk_97;
|
||||
/* 98 */ bool mUnk_98;
|
||||
/* 99 */ unk8 mUnk_99;
|
||||
/* 9a */ unk8 mUnk_9a;
|
||||
/* 9b */ unk8 mUnk_9b;
|
||||
/* 9c */ unk32 mUnk_9c;
|
||||
/* a0 */ unk32 mUnk_a0;
|
||||
/* a4 */ unk32 mUnk_a4;
|
||||
/* a8 */ unk8 mUnk_a8;
|
||||
/* a9 */ unk8 mUnk_a9;
|
||||
/* aa */ unk8 mUnk_aa;
|
||||
/* ab */ unk8 mUnk_ab;
|
||||
/* ac */ unk32 mUnk_ac[8];
|
||||
/* cc */
|
||||
|
||||
UnkStruct_020ee734();
|
||||
|
||||
void func_ov000_020d6488();
|
||||
void func_ov000_020d6620(void);
|
||||
void func_ov000_020d6438(GameModeId modeId);
|
||||
|
||||
void func_ov008_021131ac(void);
|
||||
};
|
||||
|
||||
extern UnkStruct_020ee734 data_ov000_020ee734;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020ee820_04 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
void func_020156b4();
|
||||
};
|
||||
|
||||
class UnkStruct_020ee820 {
|
||||
public:
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ unk8 mUnk_01;
|
||||
/* 02 */ unk8 mUnk_02;
|
||||
/* 03 */ unk8 mUnk_03;
|
||||
/* 04 */ UnkStruct_020ee820_04 mUnk_04;
|
||||
/* 08 */ unk32 *mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk8 mUnk_24[0x40 - 0x24];
|
||||
/* 40 */ unk32 mUnk_40[256];
|
||||
|
||||
UnkStruct_020ee820();
|
||||
|
||||
void func_ov000_020d69d4(unk32);
|
||||
void func_ov000_020d69e4();
|
||||
|
||||
void func_ov008_021133f0();
|
||||
};
|
||||
|
||||
extern UnkStruct_020ee820 data_ov000_020ee820;
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020eec60 {
|
||||
public:
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ unk8 mUnk_01;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
|
||||
UnkStruct_020eec60();
|
||||
|
||||
void func_ov008_02113474();
|
||||
};
|
||||
|
||||
extern UnkStruct_020eec60 data_ov000_020eec60;
|
||||
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_func_0201f704.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_020eec68_0c {
|
||||
unk32 mUnk_00;
|
||||
|
||||
void func_02021a1c();
|
||||
};
|
||||
|
||||
class UnkStruct_020eec68 {
|
||||
public:
|
||||
/* 00 */ UnkStruct_func_0201f704 mUnk_00[3];
|
||||
/* 0c */ UnkStruct_020eec68_0c mUnk_0c;
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 11 */ unk8 mUnk_11;
|
||||
/* 12 */ unk8 mUnk_12;
|
||||
/* 13 */ unk8 mUnk_13;
|
||||
/* 14 */ unk8 mUnk_14;
|
||||
/* 15 */ unk8 mUnk_15;
|
||||
/* 16 */ unk8 mUnk_16;
|
||||
/* 17 */ unk8 mUnk_17;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
|
||||
UnkStruct_020eec68();
|
||||
|
||||
void func_ov008_021132cc();
|
||||
};
|
||||
|
||||
extern UnkStruct_020eec68 data_ov000_020eec68;
|
||||
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_func_0201f704.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_020eec9c_28 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */ unk8 mUnk_06;
|
||||
/* 07 */ unk8 mUnk_07;
|
||||
/* 08 */ UnkStruct_func_0201f704 mUnk_08;
|
||||
/* 0c */
|
||||
};
|
||||
|
||||
class UnkStruct_020eec9c {
|
||||
public:
|
||||
/* 00 */ UnkStruct_func_0201f704 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk8 mUnk_08;
|
||||
/* 09 */ unk8 mUnk_09;
|
||||
/* 0a */ unk8 mUnk_0a;
|
||||
/* 0b */ unk8 mUnk_0b;
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
/* 0d */ unk8 mUnk_0d;
|
||||
/* 0e */ unk8 mUnk_0e;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ UnkStruct_020eec9c_28 mUnk_28[8];
|
||||
/* 88 */ unk32 mUnk_88;
|
||||
|
||||
UnkStruct_020eec9c();
|
||||
|
||||
void func_ov000_020d77e4(unk32);
|
||||
unk32 func_ov000_020d7f18(unk32);
|
||||
void func_ov008_0211337c();
|
||||
};
|
||||
|
||||
extern UnkStruct_020eec9c data_ov000_020eec9c;
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020eed2c {
|
||||
public:
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
|
||||
UnkStruct_020eed2c();
|
||||
};
|
||||
|
||||
extern UnkStruct_020eed2c data_ov000_020eed2c;
|
||||
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d54_08 : public SysObject {
|
||||
public:
|
||||
/* 00 */ u32 mUnk_00[1];
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class UnkStruct_027e0d54 {
|
||||
public:
|
||||
/* 00 */ u32 mUnk_00[2];
|
||||
/* 04 */ UnkStruct_027e0d54_08 *mUnk_08;
|
||||
/* 04 */ bool mUnk_0c;
|
||||
/* 04 */ unk8 mUnk_0d;
|
||||
/* 04 */ unk8 mUnk_0e;
|
||||
/* 04 */ unk8 mUnk_0f;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 10 */ u16 mUnk_14;
|
||||
/* 10 */ unk16 mUnk_16;
|
||||
|
||||
UnkStruct_027e0d54();
|
||||
|
||||
void func_ov008_02112f28();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d54 data_027e0d54;
|
||||
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0dbc {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
|
||||
UnkStruct_027e0dbc();
|
||||
|
||||
void func_02042744(unk32 *param_1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0dbc data_027e0dbc;
|
||||
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0f88_04 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */ unk16 mUnk_06;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
/* 0d */ unk8 mUnk_0d;
|
||||
/* 0e */ unk8 mUnk_0e;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */
|
||||
|
||||
UnkStruct_027e0f88_04();
|
||||
UnkStruct_027e0f88_04(unk32 param_1, unk16 param_2, unk32 param_3, unk16 param_4, u8 param_5);
|
||||
|
||||
void func_ov000_020a1b54(unk32 param_1, unk32 param_2);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0f88 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ UnkStruct_027e0f88_04 *mUnk_04[2];
|
||||
/* 0c */ unk16 mUnk_0c;
|
||||
/* 0e */ unk16 mUnk_0e;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_027e0f88();
|
||||
UnkStruct_027e0f88(u32 *param_1);
|
||||
|
||||
void func_ov000_020a1a3c();
|
||||
|
||||
static void func_ov008_02113678(u32 *param_1);
|
||||
void func_ov008_021136c0();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0f88 *data_027e0f88;
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_0201f704 {
|
||||
unk32 mUnk_00;
|
||||
|
||||
void func_0201f704();
|
||||
};
|
||||
@@ -28,85 +28,85 @@ THUMB void ItemManager::ClearPrevEquippedItem() {
|
||||
}
|
||||
|
||||
THUMB void ItemManager::Save(SaveItemManager *save) {
|
||||
save->itemFlags = mItemFlags;
|
||||
save->numRupees = mNumRupees;
|
||||
save->inventory.itemFlags = mItemFlags;
|
||||
save->inventory.numRupees = mNumRupees;
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
save->potions[i] = mPotions[i];
|
||||
save->inventory.potions[i] = mPotions[i];
|
||||
}
|
||||
save->numBombs = (u8) (*mAmmo)[ItemFlag_BombBag];
|
||||
save->numBombchus = (u8) (*mAmmo)[ItemFlag_BombchuBag];
|
||||
save->numArrows = (u8) (*mAmmo)[ItemFlag_Bow];
|
||||
save->equippedItem = (u8) mEquippedItem;
|
||||
save->salvagedTreasureFlags = mSalvagedTreasureFlags;
|
||||
save->hourglassSeconds = SoftDivide(mHourglassSandFrames, 60);
|
||||
save->inventory.numBombs = (u8) (*mAmmo)[ItemFlag_BombBag];
|
||||
save->inventory.numBombchus = (u8) (*mAmmo)[ItemFlag_BombchuBag];
|
||||
save->inventory.numArrows = (u8) (*mAmmo)[ItemFlag_Bow];
|
||||
save->inventory.equippedItem = (u8) mEquippedItem;
|
||||
save->inventory.salvagedTreasureFlags = mSalvagedTreasureFlags;
|
||||
save->inventory.hourglassSeconds = SoftDivide(mHourglassSandFrames, 60);
|
||||
for (s32 i = 0; i < Gem_COUNT; ++i) {
|
||||
save->numGems[i] = mNumGems[i];
|
||||
save->inventory.numGems[i] = mNumGems[i];
|
||||
}
|
||||
for (s32 i = 0; i < ShipPart_COUNT; ++i) {
|
||||
save->equippedShipParts[i] = mEquippedShipParts[i];
|
||||
save->inventory.equippedShipParts[i] = mEquippedShipParts[i];
|
||||
for (s32 j = 0; j < ShipType_COUNT; ++j) {
|
||||
save->shipParts[i][j] = mShipParts[i][j];
|
||||
save->inventory.shipParts[i][j] = mShipParts[i][j];
|
||||
}
|
||||
}
|
||||
save->shipPartPricesShown = mShipPartPricesShown;
|
||||
save->inventory.shipPartPricesShown = mShipPartPricesShown;
|
||||
for (s32 i = 0; i < Treasure_COUNT; ++i) {
|
||||
save->treasure[i] = mTreasure[i];
|
||||
save->inventory.treasure[i] = mTreasure[i];
|
||||
}
|
||||
save->treasurePriceShownFlags[0] = mTreasurePriceShownFlags[0];
|
||||
save->inventory.treasurePriceShownFlags[0] = mTreasurePriceShownFlags[0];
|
||||
for (s32 i = 0; i < 6; ++i) {
|
||||
save->unk_9f[i] = mUnk_098[i];
|
||||
save->unk_82[i] = mUnk_09e[i];
|
||||
save->inventory.fishCount[i] = mFishCount[i];
|
||||
save->inventory.fishSize[i] = mFishSize[i];
|
||||
}
|
||||
save->quiverSize = mQuiverSize;
|
||||
save->bombBagSize = mBombBagSize;
|
||||
save->bombchuBagSize = mBombchuBagSize;
|
||||
save->inventory.quiverSize = mQuiverSize;
|
||||
save->inventory.bombBagSize = mBombBagSize;
|
||||
save->inventory.bombchuBagSize = mBombchuBagSize;
|
||||
if (mEquippedFairy == FairyId_None) {
|
||||
save->equippedFairy = 3;
|
||||
save->inventory.equippedFairy = 3;
|
||||
return;
|
||||
}
|
||||
save->equippedFairy = (u8) mEquippedFairy;
|
||||
save->inventory.equippedFairy = (u8) mEquippedFairy;
|
||||
}
|
||||
|
||||
THUMB void ItemManager::Load(const SaveItemManager *save) {
|
||||
mItemFlags = save->itemFlags;
|
||||
mNumRupees = save->numRupees;
|
||||
mHourglassSandFrames =
|
||||
save->hourglassSeconds <= MAX_HOURGLASS_SECONDS ? save->hourglassSeconds * 60 : MAX_HOURGLASS_SECONDS * 60;
|
||||
mItemFlags = save->inventory.itemFlags;
|
||||
mNumRupees = save->inventory.numRupees;
|
||||
mHourglassSandFrames = save->inventory.hourglassSeconds <= MAX_HOURGLASS_SECONDS ? save->inventory.hourglassSeconds * 60
|
||||
: MAX_HOURGLASS_SECONDS * 60;
|
||||
for (s32 i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) {
|
||||
if (GET_FLAG(mItemFlags.flags, (u32) i)) {
|
||||
(*mAmmo)[i] = 1;
|
||||
}
|
||||
}
|
||||
(*mAmmo)[ItemFlag_BombBag] = save->numBombs;
|
||||
(*mAmmo)[ItemFlag_BombchuBag] = save->numBombchus;
|
||||
(*mAmmo)[ItemFlag_Bow] = save->numArrows;
|
||||
(*mAmmo)[ItemFlag_BombBag] = save->inventory.numBombs;
|
||||
(*mAmmo)[ItemFlag_BombchuBag] = save->inventory.numBombchus;
|
||||
(*mAmmo)[ItemFlag_Bow] = save->inventory.numArrows;
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
mPotions[i] = save->potions[i];
|
||||
mPotions[i] = save->inventory.potions[i];
|
||||
}
|
||||
mEquippedItem = save->equippedItem;
|
||||
mSalvagedTreasureFlags = save->salvagedTreasureFlags;
|
||||
mEquippedItem = save->inventory.equippedItem;
|
||||
mSalvagedTreasureFlags = save->inventory.salvagedTreasureFlags;
|
||||
for (s32 i = 0; i < Gem_COUNT; ++i) {
|
||||
mNumGems[i] = save->numGems[i];
|
||||
mNumGems[i] = save->inventory.numGems[i];
|
||||
}
|
||||
for (s32 i = 0; i < ShipPart_COUNT; ++i) {
|
||||
mEquippedShipParts[i] = save->equippedShipParts[i];
|
||||
mEquippedShipParts[i] = save->inventory.equippedShipParts[i];
|
||||
for (s32 j = 0; j < ShipType_COUNT; ++j) {
|
||||
mShipParts[i][j] = save->shipParts[i][j];
|
||||
mShipParts[i][j] = save->inventory.shipParts[i][j];
|
||||
}
|
||||
}
|
||||
mShipPartPricesShown = save->shipPartPricesShown;
|
||||
mShipPartPricesShown = save->inventory.shipPartPricesShown;
|
||||
for (s32 i = 0; i < Treasure_COUNT; ++i) {
|
||||
mTreasure[i] = save->treasure[i];
|
||||
mTreasure[i] = save->inventory.treasure[i];
|
||||
}
|
||||
mTreasurePriceShownFlags[0] = save->treasurePriceShownFlags[0];
|
||||
mTreasurePriceShownFlags[0] = save->inventory.treasurePriceShownFlags[0];
|
||||
for (s32 i = 0; i < 6; ++i) {
|
||||
mUnk_098[i] = save->unk_9f[i];
|
||||
mUnk_09e[i] = save->unk_82[i];
|
||||
mFishCount[i] = save->inventory.fishCount[i];
|
||||
mFishSize[i] = save->inventory.fishSize[i];
|
||||
}
|
||||
mQuiverSize = save->quiverSize;
|
||||
mBombBagSize = save->bombBagSize;
|
||||
mBombchuBagSize = save->bombchuBagSize;
|
||||
mEquippedFairy = save->equippedFairy;
|
||||
mQuiverSize = save->inventory.quiverSize;
|
||||
mBombBagSize = save->inventory.bombBagSize;
|
||||
mBombchuBagSize = save->inventory.bombchuBagSize;
|
||||
mEquippedFairy = save->inventory.equippedFairy;
|
||||
if (mEquippedFairy >= FairyId_COUNT) {
|
||||
mEquippedFairy = FairyId_None;
|
||||
}
|
||||
@@ -289,28 +289,28 @@ THUMB void ItemManager::SetTreasureCount(Treasure treasure, s8 count) {
|
||||
mTreasure[treasure] = count;
|
||||
}
|
||||
|
||||
THUMB u8 ItemManager::GetUnk_098(u32 index) const {
|
||||
return mUnk_098[index];
|
||||
THUMB u8 ItemManager::GetCollectedFishCount(u32 index) const {
|
||||
return mFishCount[index];
|
||||
}
|
||||
|
||||
THUMB u16 ItemManager::GetUnk_09e(u32 index) const {
|
||||
return mUnk_09e[index];
|
||||
THUMB u16 ItemManager::GetFishSize(u32 index) const {
|
||||
return mFishSize[index];
|
||||
}
|
||||
|
||||
THUMB s32 ItemManager::GetUnk_09e_Divided(u32 index) const {
|
||||
q20 quotient = CoDivide64By32(INT_TO_Q20(mUnk_09e[index]), FLOAT_TO_Q20(2.54));
|
||||
THUMB s32 ItemManager::GetFishSize_Divided(u32 index) const {
|
||||
q20 quotient = CoDivide64By32(INT_TO_Q20(mFishSize[index]), FLOAT_TO_Q20(2.54));
|
||||
s32 result = ROUND_Q20(quotient);
|
||||
if (result < 1) result = 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
THUMB void ItemManager::SetUnk_09e(u32 index, u16 value) {
|
||||
u8 count = mUnk_098[index] + 1;
|
||||
THUMB void ItemManager::SetFishSize(u32 index, u16 value) {
|
||||
u8 count = mFishCount[index] + 1;
|
||||
if (count > 99) count = 99;
|
||||
mUnk_098[index] = count;
|
||||
if (value > mUnk_09e[index]) {
|
||||
mFishCount[index] = count;
|
||||
if (value > mFishSize[index]) {
|
||||
if (value > 9999) value = 9999;
|
||||
mUnk_09e[index] = value;
|
||||
mFishSize[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#include "Save/SaveItemManager.hpp"
|
||||
|
||||
SaveItemManager::SaveItemManager() {}
|
||||
void SaveInventory::Init() {}
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
#include "GameStart/GameStart.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Save/SaveItemManager.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_020e9360.hpp"
|
||||
#include "Unknown/UnkStruct_020e9370.hpp"
|
||||
#include "Unknown/UnkStruct_020ec7dc.hpp"
|
||||
#include "Unknown/UnkStruct_020ee0a0.hpp"
|
||||
#include "Unknown/UnkStruct_020ee698.hpp"
|
||||
#include "Unknown/UnkStruct_020ee6f8.hpp"
|
||||
#include "Unknown/UnkStruct_020ee734.hpp"
|
||||
#include "Unknown/UnkStruct_020ee820.hpp"
|
||||
#include "Unknown/UnkStruct_020eec60.hpp"
|
||||
#include "Unknown/UnkStruct_020eec68.hpp"
|
||||
#include "Unknown/UnkStruct_020eec9c.hpp"
|
||||
#include "Unknown/UnkStruct_020eed2c.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d54.hpp"
|
||||
#include "Unknown/UnkStruct_027e0dbc.hpp"
|
||||
#include "Unknown/UnkStruct_027e0f88.hpp"
|
||||
#include "Unknown/UnkStruct_func_0201f704.hpp"
|
||||
|
||||
#pragma dont_reuse_strings off
|
||||
|
||||
extern "C" {
|
||||
// SDK functions
|
||||
void func_02003f74(unk32);
|
||||
void func_02003ce4(unk32);
|
||||
void func_02004730(unk32);
|
||||
|
||||
unk32 *MountCompressedNarc(char *, char *, unk8 *, unk32, unk32);
|
||||
void func_02031e1c(u32 *, const char *);
|
||||
void func_02027ab4(unk32, u32 *, UNK_PTR, UNK_PTR, unk32, unk32, unk32, unk32);
|
||||
void func_02016fcc(unk32 *);
|
||||
void func_02004ba8();
|
||||
void func_02004b94();
|
||||
void func_02004c68();
|
||||
void func_020425e0();
|
||||
void func_ov000_0207a654(unk32 *);
|
||||
}
|
||||
|
||||
extern unk8 data_020691a0;
|
||||
extern unk32 data_ov000_020ec754;
|
||||
extern unk32 data_ov000_020d8795;
|
||||
extern u8 data_ov000_020d88b4[24];
|
||||
|
||||
#define REG_DISPCNT (*(u32 *) 0x04000000)
|
||||
#define REG_DISPCNT_SUB (*(u32 *) 0x04001000)
|
||||
#define FRAME_COUNTER (*(u32 *) 0x027ffc3c)
|
||||
|
||||
ARM GameStart *GameStart::Create(GameModeId modeId) {
|
||||
return new(data_027e0ce0[1], 4) GameStart(modeId);
|
||||
}
|
||||
|
||||
ARM GameStart::GameStart(GameModeId modeId) :
|
||||
GameMode(modeId) {
|
||||
unk32 *uVar1;
|
||||
unk32 local_14;
|
||||
unk32 local_18;
|
||||
u32 local_1c;
|
||||
unk32 local_20;
|
||||
unk32 local_24;
|
||||
u32 local_28;
|
||||
|
||||
this->mUnk_008 = 0;
|
||||
this->mUnk_00c = 0;
|
||||
|
||||
func_02003f74(1);
|
||||
func_02003ce4(2);
|
||||
func_02004730(4);
|
||||
|
||||
REG_DISPCNT &= ~0x1F00;
|
||||
REG_DISPCNT |= 0x1100;
|
||||
|
||||
REG_DISPCNT_SUB &= ~0x1F00;
|
||||
REG_DISPCNT_SUB |= 0x0100;
|
||||
|
||||
uVar1 = MountCompressedNarc("NLG", "Menu/Bg/NintendoLogo.bin", &data_020691a0, 0xCC00, 1);
|
||||
func_02031e1c(&local_28, "NLG:nLogo");
|
||||
func_02031e1c(&local_1c, "NLG:rightTxt");
|
||||
func_02027ab4(0, &local_28, &local_24, &local_20, 0, 0, 0, 2);
|
||||
func_02027ab4(4, &local_1c, &local_18, &local_14, 0, 0, 0, 2);
|
||||
func_02016fcc(uVar1);
|
||||
}
|
||||
|
||||
ARM GameStart::~GameStart() {
|
||||
func_02004ba8();
|
||||
func_02004b94();
|
||||
func_02004c68();
|
||||
}
|
||||
|
||||
ARM GameModeId GameStart::vfunc_08(bool param1) {
|
||||
GameModeId mode = GameModeId_Load;
|
||||
|
||||
switch (gGame.mFadeControl.mState) {
|
||||
case 1:
|
||||
if (!param1) {
|
||||
this->mUnk_008++;
|
||||
if (this->mUnk_008 == 1) {
|
||||
this->mUnk_00c = FRAME_COUNTER;
|
||||
} else {
|
||||
if (this->mUnk_008 == 2 && gGame.mPrevModeId == 1) {
|
||||
GameStart::func_ov008_02112e88();
|
||||
}
|
||||
if (FRAME_COUNTER - this->mUnk_00c >= 60) {
|
||||
gGame.func_0202cec8(1, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0: mode = GameModeId_Adventure; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return mode;
|
||||
}
|
||||
|
||||
ARM void GameStart::vfunc_10(u16 *param1) {}
|
||||
|
||||
ARM void GameStart::func_ov008_02112e88() {
|
||||
func_020425e0();
|
||||
gOverlayManager.Load(OverlayIndex_Core, OverlayId_Core);
|
||||
data_ov000_020ee734.func_ov008_021131ac();
|
||||
data_027e0d54.func_ov008_02112f28();
|
||||
UnkStruct_027e0f88::func_ov008_02113678(data_027e0ce0[0]);
|
||||
func_ov000_0207a654(&data_ov000_020ec754);
|
||||
}
|
||||
@@ -0,0 +1,529 @@
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "Save/SaveItemManager.hpp"
|
||||
#include "Unknown/UnkStruct_020e9360.hpp"
|
||||
#include "Unknown/UnkStruct_020e9370.hpp"
|
||||
#include "Unknown/UnkStruct_020ec7dc.hpp"
|
||||
#include "Unknown/UnkStruct_020ee0a0.hpp"
|
||||
#include "Unknown/UnkStruct_020ee698.hpp"
|
||||
#include "Unknown/UnkStruct_020ee6f8.hpp"
|
||||
#include "Unknown/UnkStruct_020ee734.hpp"
|
||||
#include "Unknown/UnkStruct_020ee820.hpp"
|
||||
#include "Unknown/UnkStruct_020eec60.hpp"
|
||||
#include "Unknown/UnkStruct_020eec68.hpp"
|
||||
#include "Unknown/UnkStruct_020eec9c.hpp"
|
||||
#include "Unknown/UnkStruct_020eed2c.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d54.hpp"
|
||||
#include "Unknown/UnkStruct_027e0dbc.hpp"
|
||||
#include "Unknown/UnkStruct_027e0f88.hpp"
|
||||
|
||||
extern "C" {
|
||||
void func_0200a23c();
|
||||
void func_0200a318(u8 *);
|
||||
unk32 func_0200dd94();
|
||||
unk32 func_0200a284(u8 *);
|
||||
u16 func_ov001_020efdac();
|
||||
void *NewEXPH(char *id, s32 length, s32 param_3);
|
||||
unk32 func_ov000_020773c0();
|
||||
void func_020174a4(u32 *, void *);
|
||||
void func_0201f378();
|
||||
void func_0202019c(void *, const char *, u32 *, unk32);
|
||||
void func_020213f0(u32 *);
|
||||
void func_02021714(unk32, u32 *);
|
||||
void func_020209a4(unk32, u32 *);
|
||||
void func_0201f1ac(u32 *);
|
||||
void func_0201f96c(unk32, unk32);
|
||||
void Fill256(int value, int *dst, int size);
|
||||
void Fill32(unk32, u32 *, unk32);
|
||||
void Fill(unsigned char *dst, int value, int size);
|
||||
void func_0200afac();
|
||||
void func_0200b4dc(unk32);
|
||||
void func_0200aa20();
|
||||
void func_02015718();
|
||||
unk16 func_0200c76c();
|
||||
void func_020400f4(u16);
|
||||
void func_02040100(u16);
|
||||
unk32 func_02040528(unk32);
|
||||
unk32 func_020400c0();
|
||||
unk32 func_02040464(unk32, u16 *, unk32, unk32, unk32, unk32, unk32, unk32, unk32);
|
||||
}
|
||||
|
||||
extern unk32 data_ov000_020d8795;
|
||||
extern u8 data_ov000_020d88b4[24];
|
||||
|
||||
#define FRAME_COUNTER (*(u32 *) 0x027ffc3c)
|
||||
|
||||
// --- data_027e0d54 ---
|
||||
ARM UnkStruct_027e0d54::UnkStruct_027e0d54() {
|
||||
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
|
||||
this->mUnk_08 = NULL;
|
||||
this->mUnk_0c = 1;
|
||||
this->mUnk_0d = 0;
|
||||
this->mUnk_0e = 0;
|
||||
this->mUnk_0f = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_14 = 0;
|
||||
this->mUnk_16 = 0;
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027e0d54::func_ov008_02112f28() {
|
||||
unk16 local_e;
|
||||
u16 local_2a; // sp, #0x16
|
||||
u16 local_2c; // sp, #0x14
|
||||
bool bVar1;
|
||||
u16 auStack_28[13];
|
||||
|
||||
UnkStruct_027e0d54_08 *pUnk_00 = new(data_027e0ce0[0], 4) UnkStruct_027e0d54_08();
|
||||
|
||||
if (pUnk_00 != NULL) {
|
||||
// why??
|
||||
Fill32(0, pUnk_00->mUnk_00, sizeof(pUnk_00));
|
||||
Fill32(0, pUnk_00->mUnk_00, sizeof(pUnk_00));
|
||||
}
|
||||
|
||||
this->mUnk_08 = pUnk_00;
|
||||
this->mUnk_14 = func_0200c76c();
|
||||
func_020400f4(this->mUnk_14);
|
||||
|
||||
local_2c = 0x21;
|
||||
local_2a = 0;
|
||||
local_e = 0;
|
||||
bVar1 = true;
|
||||
|
||||
Fill16(0, auStack_28, sizeof(auStack_28));
|
||||
|
||||
if (func_02040528(0x1302) == 0) {
|
||||
this->mUnk_10 = func_020400c0();
|
||||
} else {
|
||||
if (func_02040464(0x7EA00, &local_2c, 0x20, 0, 0, 0, 6, 1, 0) == 0) {
|
||||
this->mUnk_10 = func_020400c0();
|
||||
} else {
|
||||
unk32 sVar6 = 0xC2E4;
|
||||
bool bVar10 = local_2a == 0xC2E4;
|
||||
unk32 sVar3 = local_2a;
|
||||
// unk16 sVar3;
|
||||
// unk32 sVar6;
|
||||
// bool bVar1 = false;
|
||||
|
||||
// if (local_2a == 0xC2E4 || local_e != 0x1D3F) {
|
||||
// sVar3 = local_e;
|
||||
// sVar6 = 0x1D3F;
|
||||
// }
|
||||
|
||||
if (bVar10) {
|
||||
sVar6 = 0x1D3F;
|
||||
sVar3 = local_e;
|
||||
}
|
||||
|
||||
// bool bVar2 = sVar3 != sVar6;
|
||||
// if (!bVar10 || bVar2) {
|
||||
// sVar6 = 0x1;
|
||||
// }
|
||||
|
||||
bool uVar4 = 1;
|
||||
if (bVar10 && !(sVar3 != 0x1D3F)) {
|
||||
uVar4 = 0x0;
|
||||
}
|
||||
|
||||
this->mUnk_0c = uVar4;
|
||||
|
||||
if (local_2c != 0x21) {
|
||||
bVar1 = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func_02040100(this->mUnk_14);
|
||||
|
||||
if (this->mUnk_10 != 0) {
|
||||
this->mUnk_0f = 1;
|
||||
}
|
||||
|
||||
if (!this->mUnk_0c && bVar1) {
|
||||
this->mUnk_0c = true;
|
||||
}
|
||||
}
|
||||
|
||||
// --- gTouchControl ---
|
||||
ARM TouchControl::TouchControl() {
|
||||
u8 auStack_10[8];
|
||||
|
||||
this->Init();
|
||||
func_0200a23c();
|
||||
|
||||
if (func_0200dd94() != 0) {
|
||||
func_0200a318(NULL);
|
||||
} else {
|
||||
if (func_0200a284(auStack_10) != 0) {
|
||||
func_0200a318(auStack_10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- data_ov000_020ee698 ---
|
||||
ARM UnkStruct_020ee698::UnkStruct_020ee698() :
|
||||
mUnk_00(0),
|
||||
mUnk_02(0),
|
||||
mUnk_04(func_ov001_020efdac()),
|
||||
mUnk_08(0x0D) {
|
||||
void *newHeap = NewEXPH((char *) data_027e0ce0[1], 0x700, 0x20);
|
||||
|
||||
if (func_ov000_020773c0() == 3) {
|
||||
this->mUnk_00 = 1;
|
||||
}
|
||||
|
||||
func_020174a4(data_027e0ce0[1], newHeap);
|
||||
}
|
||||
|
||||
// --- data_ov000_020ee734 ---
|
||||
ARM UnkStruct_020ee734::UnkStruct_020ee734() {
|
||||
this->mUnk_90 = 0;
|
||||
this->mUnk_94 = 1;
|
||||
this->mUnk_95 = 0;
|
||||
this->mUnk_96 = 0;
|
||||
this->mUnk_97 = 0;
|
||||
this->mUnk_98 = 0;
|
||||
this->mUnk_99 = 0;
|
||||
this->mUnk_9a = 0;
|
||||
this->mUnk_9c = 0;
|
||||
this->mUnk_a0 = 0;
|
||||
this->mUnk_a4 = -1;
|
||||
this->mUnk_a8 = 0;
|
||||
this->mUnk_a9 = 0;
|
||||
|
||||
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_ac); i++) {
|
||||
this->mUnk_ac[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020ee734::func_ov008_021131ac() {
|
||||
if (func_0200dd94() == 0 && !this->mUnk_98) {
|
||||
func_0201f378();
|
||||
this->mUnk_90 = data_027e0ce0[3];
|
||||
func_0202019c(this, "SoundData/final_sound_data.sdat", data_027e0ce0[3], 0);
|
||||
func_020213f0(this->mUnk_90);
|
||||
func_02021714(9, this->mUnk_90);
|
||||
func_020209a4(1, this->mUnk_90);
|
||||
func_0201f1ac(this->mUnk_90);
|
||||
this->mUnk_ac[1] = 1;
|
||||
|
||||
data_ov000_020eec68.func_ov008_021132cc();
|
||||
data_ov000_020eec9c.func_ov008_0211337c();
|
||||
data_ov000_020ee820.func_ov008_021133f0();
|
||||
data_ov000_020eec60.func_ov008_02113474();
|
||||
data_ov000_020ee820.func_ov000_020d69e4();
|
||||
|
||||
for (s32 i = 0; i < 16; i++) {
|
||||
func_0201f96c(i, 0);
|
||||
}
|
||||
|
||||
this->mUnk_98 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// --- data_ov000_020eec68 ---
|
||||
ARM UnkStruct_020eec68::UnkStruct_020eec68() {
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_11 = 0;
|
||||
this->mUnk_12 = 0;
|
||||
this->mUnk_13 = 0;
|
||||
this->mUnk_14 = 0;
|
||||
this->mUnk_15 = 0;
|
||||
this->mUnk_16 = 0;
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_20 = -1;
|
||||
this->mUnk_24 = 0;
|
||||
this->mUnk_28 = 0x7FFFFFFF;
|
||||
this->mUnk_2c = 0x7F;
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020eec68::func_ov008_021132cc() {
|
||||
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_00); i++) {
|
||||
this->mUnk_00[i].func_0201f704();
|
||||
}
|
||||
|
||||
this->mUnk_0c.func_02021a1c();
|
||||
this->mUnk_11 = 1;
|
||||
this->mUnk_12 = 0;
|
||||
this->mUnk_10 = 1;
|
||||
}
|
||||
|
||||
// --- data_ov000_020eec9c ---
|
||||
ARM UnkStruct_020eec9c::UnkStruct_020eec9c() {
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_09 = 0;
|
||||
this->mUnk_0a = 1;
|
||||
this->mUnk_0b = 0;
|
||||
this->mUnk_0c = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_14 = -1;
|
||||
this->mUnk_18 = -1;
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_20 = 0;
|
||||
this->mUnk_24 = -1;
|
||||
|
||||
UnkStruct_020eec9c_28 *pUnk_28 = &this->mUnk_28[0];
|
||||
do {
|
||||
pUnk_28->mUnk_00 = 0;
|
||||
pUnk_28->mUnk_04 = 0;
|
||||
pUnk_28->mUnk_06 = 0;
|
||||
pUnk_28->mUnk_07 = 0;
|
||||
pUnk_28++;
|
||||
} while (pUnk_28 < &this->mUnk_28[ARRAY_LEN(this->mUnk_28)]);
|
||||
|
||||
this->mUnk_88 = 0;
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020eec9c::func_ov008_0211337c() {
|
||||
if (func_0200dd94() != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->mUnk_00.func_0201f704();
|
||||
|
||||
UnkStruct_020eec9c_28 *pUnk_28 = &this->mUnk_28[0];
|
||||
for (s32 i = 0; i < 8; i++) {
|
||||
pUnk_28->mUnk_08.func_0201f704();
|
||||
pUnk_28++;
|
||||
}
|
||||
}
|
||||
|
||||
// --- data_ov000_020ee820 ---
|
||||
ARM UnkStruct_020ee820::UnkStruct_020ee820() {
|
||||
this->mUnk_00 = false;
|
||||
this->mUnk_01 = 0;
|
||||
this->mUnk_02 = 0;
|
||||
this->mUnk_20 = -1;
|
||||
Fill256(0, this->mUnk_40, sizeof(this->mUnk_40));
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020ee820::func_ov008_021133f0() {
|
||||
if (this->mUnk_00) {
|
||||
return;
|
||||
}
|
||||
|
||||
func_0200aa20();
|
||||
this->mUnk_04.mUnk_00 = 0;
|
||||
this->mUnk_08 = this->mUnk_40;
|
||||
this->mUnk_0c = sizeof(this->mUnk_40);
|
||||
this->mUnk_10 = 0x105D;
|
||||
this->mUnk_14 = 1;
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1c = 0;
|
||||
func_0200afac();
|
||||
func_0200b4dc(1);
|
||||
this->func_ov000_020d69d4(2);
|
||||
this->mUnk_00 = true;
|
||||
}
|
||||
|
||||
// --- data_ov000_020eec60 ---
|
||||
ARM UnkStruct_020eec60::UnkStruct_020eec60() {
|
||||
this->mUnk_00 = false;
|
||||
this->mUnk_01 = 0;
|
||||
this->mUnk_02 = 0;
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020eec60::func_ov008_02113474() {
|
||||
if (data_ov000_020ee820.mUnk_00 && !this->mUnk_00) {
|
||||
data_ov000_020ee820.mUnk_04.func_020156b4();
|
||||
this->mUnk_00 = true;
|
||||
}
|
||||
|
||||
func_02015718();
|
||||
}
|
||||
|
||||
// --- data_ov000_020ee6f8 ---
|
||||
ARM UnkStruct_020ee6f8::UnkStruct_020ee6f8() {
|
||||
this->mUnk_04 = false;
|
||||
this->mUnk_08 = 0x10;
|
||||
this->mUnk_0c = 0x10;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_14 = 0;
|
||||
|
||||
UnkStruct_020ee6f8_18 *pUnk_18 = &this->mUnk_18[0];
|
||||
do {
|
||||
pUnk_18->mUnk_00 = -1;
|
||||
pUnk_18->mUnk_04 = -1;
|
||||
pUnk_18++;
|
||||
} while (pUnk_18 < &this->mUnk_18[ARRAY_LEN(this->mUnk_18)]);
|
||||
|
||||
this->mUnk_38 = false;
|
||||
this->mUnk_00.func_0201f704();
|
||||
this->mUnk_38 = true;
|
||||
}
|
||||
|
||||
// --- data_ov000_020ee0a0 ---
|
||||
ARM UnkStruct_020ee0a0::UnkStruct_020ee0a0() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_02 = 0x7FFF;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 6;
|
||||
this->mUnk_0c = 0xA0;
|
||||
this->mUnk_10 = 0x1F;
|
||||
this->mUnk_34 = -1;
|
||||
this->mUnk_38 = 6;
|
||||
this->mUnk_3c = 0xA0;
|
||||
this->mUnk_40 = 0x1F;
|
||||
this->mUnk_44 = 0;
|
||||
this->mUnk_45 = 0x1F;
|
||||
this->mUnk_46 = 0x1F;
|
||||
this->mUnk_47 = 0x1F;
|
||||
|
||||
s32 uVar5 = 0x0;
|
||||
s32 iVar2 = 0x4;
|
||||
s32 iVar3 = 0x8;
|
||||
s32 iVar4 = 0xc;
|
||||
|
||||
for (s32 iVar6 = 0; iVar6 < ARRAY_LEN(this->mUnk_14); iVar6++) {
|
||||
s32 iVar1 = iVar6 * 0x4;
|
||||
iVar6 = iVar6 + 0x1;
|
||||
this->mUnk_14[iVar1] = uVar5 | iVar2 << 8 | iVar3 << 16 | iVar4 << 24;
|
||||
iVar2 = iVar2 + 0x10;
|
||||
uVar5 = uVar5 + 0x10;
|
||||
iVar3 = iVar3 + 0x10;
|
||||
iVar4 = iVar4 + 0x10;
|
||||
}
|
||||
}
|
||||
|
||||
ARM void UnkStruct_020ee0a0::func_ov008_021135b8() {}
|
||||
|
||||
// --- data_027e0f88 ---
|
||||
ARM UnkStruct_027e0f88::UnkStruct_027e0f88(u32 *param_1) {
|
||||
this->mUnk_00 = 2;
|
||||
this->mUnk_0e = 0;
|
||||
this->mUnk_10 = 0x1000;
|
||||
this->mUnk_12 = 0;
|
||||
|
||||
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
|
||||
if (i < this->mUnk_00) {
|
||||
this->mUnk_04[i] = new(param_1, 4) UnkStruct_027e0f88_04(i, 0x7FFF, 0x2000, ~0x1FFF, 1);
|
||||
} else {
|
||||
this->mUnk_04[i] = NULL;
|
||||
}
|
||||
|
||||
this->mUnk_04[i]->mUnk_0c = 0;
|
||||
}
|
||||
|
||||
this->func_ov000_020a1a3c();
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027e0f88::func_ov008_02113678(u32 *param_1) {
|
||||
if (data_027e0f88 != NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
data_027e0f88 = new(param_1, 4) UnkStruct_027e0f88(param_1);
|
||||
}
|
||||
|
||||
ARM UnkStruct_027e0f88_04::UnkStruct_027e0f88_04(unk32 param_1, unk16 param_2, unk32 param_3, unk16 param_4, u8 param_5) {
|
||||
this->mUnk_00 = param_1;
|
||||
this->mUnk_04 = param_5;
|
||||
this->mUnk_06 = param_2;
|
||||
this->func_ov000_020a1b54(param_4, param_5);
|
||||
}
|
||||
|
||||
// --- data_ov000_020eed2c ---
|
||||
ARM UnkStruct_020eed2c::UnkStruct_020eed2c() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_02 = 0;
|
||||
}
|
||||
|
||||
// --- data_027e0dbc ---
|
||||
ARM UnkStruct_027e0dbc::UnkStruct_027e0dbc() {
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_20 = FRAME_COUNTER;
|
||||
this->mUnk_24 = 0;
|
||||
this->func_02042744(&this->mUnk_10);
|
||||
}
|
||||
|
||||
// --- gSaveItemManager ---
|
||||
ARM SaveItemManager::SaveItemManager() {
|
||||
Fill32(0, this->unk_e9c, sizeof(this->unk_e9c));
|
||||
Fill32(0, this->unk_ea4, sizeof(this->unk_ea4));
|
||||
this->unk_cec.func_ov000_0207a3e4();
|
||||
Fill32(0, this->unk_eb0, sizeof(this->unk_eb0));
|
||||
Fill32(0, this->unk_eb8, sizeof(this->unk_eb8));
|
||||
Fill32(0, this->unk_eb8, sizeof(this->unk_eb8));
|
||||
this->func_ov000_0207a418();
|
||||
Fill256(0, this->unk_1400, sizeof(this->unk_1400));
|
||||
|
||||
SaveItemManager_2580 *pUnk_2580 = &this->unk_2580[0];
|
||||
do {
|
||||
Fill16(0, pUnk_2580->mUnk_00, sizeof(pUnk_2580->mUnk_00));
|
||||
pUnk_2580++;
|
||||
} while (pUnk_2580 < &this->unk_2580[ARRAY_LEN(this->unk_2580)]);
|
||||
|
||||
this->unk_2840.func_ov000_0207a4f0();
|
||||
this->unk_2400.func_ov000_0207a5ac();
|
||||
|
||||
UnkStruct_020ec7dc_00 *pUnk_2900 = &this->unk_2900.mUnk_00[0];
|
||||
do {
|
||||
Fill16(0, pUnk_2900->mUnk_00, sizeof(pUnk_2900->mUnk_00));
|
||||
pUnk_2900++;
|
||||
} while (pUnk_2900 < &this->unk_2900.mUnk_00[ARRAY_LEN(this->unk_2900.mUnk_00)]);
|
||||
|
||||
this->unk_2900.func_ov000_0207c170();
|
||||
Fill32(0, (u32 *) this->unk_2900.mUnk_3c, sizeof(this->unk_2900.mUnk_3c));
|
||||
this->unk_2940.func_ov000_0207a6d0();
|
||||
this->unk_29c0 = 0;
|
||||
}
|
||||
|
||||
ARM SaveItemManager_d1c::~SaveItemManager_d1c() {}
|
||||
|
||||
ARM SaveItemManager_d1c::SaveItemManager_d1c() {}
|
||||
|
||||
ARM SaveItemManager_2f8::~SaveItemManager_2f8() {}
|
||||
|
||||
ARM SaveItemManager_2f8::SaveItemManager_2f8() {
|
||||
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
Fill32(0, this->mUnk_08, sizeof(this->mUnk_08));
|
||||
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
Fill32(0, this->mUnk_08, sizeof(this->mUnk_08));
|
||||
}
|
||||
|
||||
ARM SaveItemManager_f8::~SaveItemManager_f8() {}
|
||||
|
||||
ARM SaveItemManager_f8::SaveItemManager_f8() {
|
||||
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00) / 2); // ?
|
||||
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
}
|
||||
|
||||
// --- data_ov000_020e9370 ---
|
||||
ARM UnkStruct_020e9370::UnkStruct_020e9370() {
|
||||
this->mUnk_900 = 0;
|
||||
this->mUnk_904 = 0;
|
||||
this->mUnk_908 = 0;
|
||||
this->mUnk_90a = 0;
|
||||
this->mUnk_90c = 320;
|
||||
this->mUnk_910 = 480;
|
||||
this->mUnk_914 = 2;
|
||||
}
|
||||
|
||||
// --- data_ov000_020e9360 ---
|
||||
ARM UnkStruct_020e9360::UnkStruct_020e9360() {
|
||||
unk32 val1 = data_ov000_020d8795;
|
||||
u8 *val2 = data_ov000_020d88b4;
|
||||
|
||||
this->mUnk_00 = val2;
|
||||
this->mUnk_0f = val1;
|
||||
|
||||
Fill(this->mUnk_04, 0, sizeof(this->mUnk_04));
|
||||
|
||||
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
|
||||
this->mUnk_04[i] = this->mUnk_00[i * 2 + 1];
|
||||
}
|
||||
}
|
||||
|
||||
// --- data_ov000_020ec7dc ---
|
||||
ARM UnkStruct_020ec7dc::UnkStruct_020ec7dc() {
|
||||
UnkStruct_020ec7dc_00 *pUnk_00 = &this->mUnk_00[0];
|
||||
do {
|
||||
Fill16(0, pUnk_00->mUnk_00, sizeof(pUnk_00->mUnk_00));
|
||||
pUnk_00++;
|
||||
} while (pUnk_00 < &this->mUnk_00[ARRAY_LEN(this->mUnk_00)]);
|
||||
|
||||
this->func_ov000_0207c170();
|
||||
this->mUnk_3c[0] = 0;
|
||||
}
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_0203dae0.hpp"
|
||||
#include "Unknown/UnkStruct_02075dac.hpp"
|
||||
#include "Unknown/UnkStruct_020ec7dc.hpp"
|
||||
#include "Unknown/UnkStruct_020ee734.hpp"
|
||||
|
||||
#define FRAME_COUNTER (*(u32 *) 0x027ffc3c)
|
||||
@@ -25,7 +26,6 @@ extern unk32 data_02068ed0;
|
||||
extern unk32 data_02068e64;
|
||||
extern unk32 data_02062d4c;
|
||||
extern unk32 data_020683f4;
|
||||
extern unk32 data_ov000_020ec7dc;
|
||||
extern unk32 data_027e0d54;
|
||||
extern bool data_027e0f8c;
|
||||
extern unk32 data_ov009_0211e0c0;
|
||||
@@ -163,7 +163,8 @@ extern "C" void func_0202c0cc();
|
||||
extern "C" void func_0202c128(unk32 param1, u16 param2);
|
||||
extern "C" void func_02017cb0(unk32 *param0, unk32 param1);
|
||||
extern "C" void func_02031024(unk32 *param0);
|
||||
extern "C" void Fill16(unk16 value, void *dest, s32 count);
|
||||
extern "C" void Fill16(int value, unsigned short *dst, int size);
|
||||
;
|
||||
extern "C" void func_02033d40(unk32 (*param0)[]);
|
||||
extern "C" void func_ov000_0207c0f0(unk32 *param0, unk32 param1);
|
||||
extern "C" void func_ov000_0207a2e8(unk32 *param0, unk32 param1);
|
||||
@@ -193,11 +194,11 @@ THUMB bool Game::StartGameMode() {
|
||||
|
||||
func_02031024(&data_020683f4);
|
||||
data_027e077c.Init(0);
|
||||
Fill16(0, &data_027e0d04, 6);
|
||||
Fill16(0, (u16 *) &data_027e0d04, 6);
|
||||
func_02033d40(&data_027e0c38);
|
||||
data_027e05f8.Init();
|
||||
if (gOverlayManager.mLoadedOverlays[0] != OverlayId_None) {
|
||||
func_ov000_0207c0f0(&data_ov000_020ec7dc, mModeId);
|
||||
data_ov000_020ec7dc.func_ov000_0207c0f0(mModeId);
|
||||
gTouchControl.Init();
|
||||
data_027e0e2c.func_ov000_0207bcb4();
|
||||
data_027e0db0.func_ov000_0207b288(mModeId);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
|
||||
extern "C" void func_0204f614(UnkClass_func_ov000_020d0644 *, unk32, unk32, void *, void *);
|
||||
extern "C" void __cxa_vec_ctor(void *, unk32, unk32, void *, void *);
|
||||
|
||||
// non-matching
|
||||
ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
|
||||
@@ -22,8 +22,10 @@ ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
|
||||
this->mUnk_172 = -1;
|
||||
this->mUnk_174 = -1;
|
||||
|
||||
func_0204f614(this->mUnk_180, ARRAY_LEN(this->mUnk_180), sizeof(UnkClass_func_ov000_020d0644),
|
||||
UnkClass_func_ov000_020d0644::func_020d060c, this->func_0203c83c);
|
||||
//! TODO: move instructions above in an inlined ctor (create a dedicated class for it).
|
||||
//! The call below will be automatically generated.
|
||||
__cxa_vec_ctor(this->mUnk_180, ARRAY_LEN(this->mUnk_180), sizeof(UnkClass_func_ov000_020d0644),
|
||||
UnkClass_func_ov000_020d0644::func_020d060c, this->func_0203c83c);
|
||||
|
||||
this->mUnk_180[0].func_ov000_020d0644(0x1E, 0, 0x8A, 0, 0);
|
||||
this->mUnk_180[1].func_ov000_020d0644(0x1E, 1, 0x8B, 0, 0);
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
|
||||
struct UnkStruct_020ee698 {
|
||||
/* 00 */ unk8 mUnk_00[0x2C];
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */
|
||||
};
|
||||
extern UnkStruct_020ee698 data_ov000_020ee698;
|
||||
#include "Unknown/UnkStruct_020ee698.hpp"
|
||||
#include "global.h"
|
||||
#include "nds/overlay.h"
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
extern "C" void func_ov007_02102850(u32 **);
|
||||
@@ -50,7 +46,7 @@ THUMB void OverlayManager::LoadGameMode(s32 mode) {
|
||||
} else {
|
||||
overlayId = pSetup->slot12Overlay;
|
||||
|
||||
if (mode == 6 && data_ov000_020ee698.mUnk_2c == 2) {
|
||||
if (mode == 6 && data_ov000_020ee698.mUnk_0c.mUnk_2c == 2) {
|
||||
overlayId = OverlayId_61;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user