Decompile overlay 1 (Part 4) (#97)

* UnkStruct_027e095c_001 OK

* UnkStruct_027e095c_001 OK (JP)

* SysNew_001 OK

* SaveManager_001 98%

* UnkStruct_027e09bc_001 OK

* MapObjectManager_001 OK

* ActorManager_001 OK

* remove useless thumb pragmas

* ItemManager_001 OK

* fix regressions

* fix build issues
This commit is contained in:
Yanis
2026-07-02 20:56:08 +02:00
committed by GitHub
parent 66eb66f081
commit f0dfb70749
73 changed files with 1223 additions and 440 deletions
+27 -27
View File
@@ -1218,10 +1218,10 @@ func_ov000_02076d54 kind:function(arm,size=0x1fc) addr:0x02076d54
func_ov000_02076f50 kind:function(arm,size=0x58) addr:0x02076f50
func_ov000_02076fa8 kind:function(arm,size=0xa0) addr:0x02076fa8
func_ov000_02077048 kind:function(arm,size=0x114) addr:0x02077048
func_ov000_0207715c kind:function(arm,size=0x2c) addr:0x0207715c
_ZN21UnkStruct_027e09bc_24C1Ev 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
_ZN18UnkStruct_027e09bc19func_ov000_020771b8Ei kind:function(arm,size=0x10) addr:0x020771b8
_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
@@ -1233,7 +1233,7 @@ func_ov000_020774c0 kind:function(arm,size=0xd0) addr:0x020774c0
func_ov000_02077590 kind:function(arm,size=0x48) addr:0x02077590
func_ov000_020775d8 kind:function(arm,size=0x60) addr:0x020775d8
func_ov000_02077638 kind:function(arm,size=0x3c) addr:0x02077638
func_ov000_02077674 kind:function(arm,size=0x1bc) addr:0x02077674
_ZN21UnkStruct_027e09bc_0CC1Ei kind:function(arm,size=0x1bc) addr:0x02077674
_ZN19func_ov000_02077830D1Ev kind:function(arm,size=0x54) addr:0x02077830
_ZN19func_ov000_02077884D0Ev kind:function(arm,size=0x5c) addr:0x02077884
func_ov000_020778e0 kind:function(arm,size=0x34) addr:0x020778e0
@@ -1286,11 +1286,11 @@ func_ov000_02078b28 kind:function(arm,size=0x10) addr:0x02078b28
func_ov000_02078b38 kind:function(arm,size=0x18) addr:0x02078b38
func_ov000_02078b50 kind:function(arm,size=0x38) addr:0x02078b50
func_ov000_02078b88 kind:function(arm,size=0x1c) addr:0x02078b88
func_ov000_02078ba4 kind:function(arm,size=0x54) addr:0x02078ba4
_ZN21UnkStruct_027e09bc_0C19func_ov000_02078ba4Ev kind:function(arm,size=0x54) addr:0x02078ba4
func_ov000_02078bf8 kind:function(arm,size=0x30) addr:0x02078bf8
func_ov000_02078c28 kind:function(arm,size=0x70) addr:0x02078c28
func_ov000_02078c98 kind:function(arm,size=0x54) addr:0x02078c98
func_ov000_02078cec kind:function(arm,size=0xc) addr:0x02078cec
_ZN21UnkStruct_027e09bc_0C19func_ov000_02078cecEv kind:function(arm,size=0xc) addr:0x02078cec
func_ov000_02078cf8 kind:function(arm,size=0x4) addr:0x02078cf8
func_ov000_02078cfc kind:function(arm,size=0x34) addr:0x02078cfc
func_ov000_02078d30 kind:function(arm,size=0x4) addr:0x02078d30
@@ -2496,11 +2496,11 @@ func_ov000_0209c348 kind:function(arm,size=0x24) addr:0x0209c348
func_ov000_0209c36c kind:function(arm,size=0x3c) addr:0x0209c36c
_ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0x0209c3a8
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209c3e8
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209c444
_ZN16MapObjectManager19func_ov000_0209c444Ei kind:function(arm,size=0x4c) addr:0x0209c444
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209c490
_ZN16MapObjectManager17AllocateMapObjectEj5Vec2btih kind:function(arm,size=0x17c) addr:0x0209c524
func_ov000_0209c6a0 kind:function(arm,size=0xc) addr:0x0209c6a0
func_ov000_0209c6ac kind:function(arm,size=0xc) addr:0x0209c6ac
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6a0Ev kind:function(arm,size=0xc) addr:0x0209c6a0
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6acEv kind:function(arm,size=0xc) addr:0x0209c6ac
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209c6b8
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEj kind:function(arm,size=0x28) addr:0x0209c6f0
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209c718
@@ -2992,23 +2992,23 @@ func_ov000_020a84a8 kind:function(arm,size=0x7c) addr:0x020a84a8
func_ov000_020a8524 kind:function(arm,size=0x48) addr:0x020a8524
func_ov000_020a856c kind:function(arm,size=0x50) addr:0x020a856c
func_ov000_020a85bc kind:function(thumb,size=0x80) addr:0x020a85bc
_ZN11ItemManager7SetFlagEj kind:function(arm,size=0x20) addr:0x020a863c
_ZN11ItemManager9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a865c
_ZN11ItemManager17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a8680
_ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a86a4
_ZN11ItemManager13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a86d0
_ZN11ItemManager17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a8728
_ZN11ItemManager18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a8748
_ZN11ItemManager10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a8768
_ZN11ItemManager13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a87c8
_ZN11ItemManager10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a87ec
_ZN11ItemManager9GiveBombsEi kind:function(arm,size=0x34) addr:0x020a8820
_ZN11ItemManager18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020a8854
_ZN11ItemManager10GivePotionEj kind:function(arm,size=0x3c) addr:0x020a888c
_ZN11ItemManager9HasPotionEv kind:function(arm,size=0x2c) addr:0x020a88c8
_ZN11ItemManager15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020a88f4
_ZN11ItemManager18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020a8920
_ZN11ItemManager15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020a8948
_ZN9Inventory7SetFlagEj kind:function(arm,size=0x20) addr:0x020a863c
_ZN9Inventory9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a865c
_ZN9Inventory17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a8680
_ZN9Inventory19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a86a4
_ZN9Inventory13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a86d0
_ZN9Inventory17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a8728
_ZN9Inventory18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a8748
_ZN9Inventory10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a8768
_ZN9Inventory13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a87c8
_ZN9Inventory10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a87ec
_ZN9Inventory9GiveBombsEi kind:function(arm,size=0x34) addr:0x020a8820
_ZN9Inventory18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020a8854
_ZN9Inventory10GivePotionEj kind:function(arm,size=0x3c) addr:0x020a888c
_ZN9Inventory9HasPotionEv kind:function(arm,size=0x2c) addr:0x020a88c8
_ZN9Inventory15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020a88f4
_ZN9Inventory18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020a8920
_ZN9Inventory15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020a8948
_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020a8974
_ZN11ItemManager19GetEquippedItemFlagEi kind:function(arm,size=0x38) addr:0x020a8984
_ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020a89bc
@@ -3513,11 +3513,11 @@ _ZTV19data_ov000_020b2398 kind:data(any) addr:0x020b2398
data_ov000_020b23cc kind:data(any) addr:0x020b23cc
data_ov000_020b2450 kind:data(any) addr:0x020b2450
data_ov000_020b2468 kind:data(any) addr:0x020b2468
data_ov000_020b2478 kind:data(any) addr:0x020b2478
_ZTV18UnkStruct_027e09bc kind:data(any) addr:0x020b2470
_ZTV19data_ov000_020b2480 kind:data(any) addr:0x020b2480
data_ov000_020b249c kind:data(any) addr:0x020b249c
data_ov000_020b24b4 kind:data(any) addr:0x020b24b4
data_ov000_020b24cc kind:data(any) addr:0x020b24cc
_ZTV10UnkSystem9 kind:data(any) addr:0x020b24c4
data_ov000_020b24d8 kind:data(any) addr:0x020b24d8
data_ov000_020b2504 kind:data(any) addr:0x020b2504
data_ov000_020b2528 kind:data(any) addr:0x020b2528
@@ -41,26 +41,32 @@ src/001_SceneInit/ZeldaMapBinary.cpp:
.text start:0x020b94b0 end:0x020ba50c
src/001_SceneInit/UnkStruct_027e095c_001.cpp:
complete
.text start:0x020ba50c end:0x020ba588
src/001_SceneInit/SysNew_001.cpp:
complete
.text start:0x020ba588 end:0x020ba670
src/001_SceneInit/Save/SaveManager_001.cpp:
.text start:0x020ba670 end:0x020ba9b8
src/001_SceneInit/UnkStruct_027e09bc_001.cpp:
complete
.text start:0x020ba9b8 end:0x020bac40
src/001_SceneInit/MapObject/MapObjectManager_001.cpp:
complete
.text start:0x020bac40 end:0x020baf64
src/001_SceneInit/Actor/ActorManager_001.cpp:
complete
.text start:0x020baf64 end:0x020bb87c
.rodata start:0x020c2624 end:0x020c264c
.data start:0x020c2b3c end:0x020c2c70
src/001_SceneInit/Item/ItemManager_001.cpp:
complete
.text start:0x020bb87c end:0x020bbac4
src/001_SceneInit/Player/PlayerActorBase_70_001.cpp:
+5 -6
View File
@@ -911,14 +911,14 @@ from:0x020baa90 kind:thumb_call_arm to:0x02011f3c module:main
from:0x020baa9a kind:thumb_call_arm to:0x02077674 module:overlay(0)
from:0x020baaa8 kind:thumb_call_arm to:0x02011f3c module:main
from:0x020baab2 kind:thumb_call_arm to:0x02077674 module:overlay(0)
from:0x020baad0 kind:load to:0x020b2478 module:overlay(0)
from:0x020baad4 kind:load to:0x020b24cc module:overlay(0)
from:0x020baad0 kind:load to:0x020b2470 module:overlay(0) add:0x8
from:0x020baad4 kind:load to:0x020b24c4 module:overlay(0) add:0x8
from:0x020baad8 kind:load to:0x027e09a4 module:dtcm
from:0x020baadc kind:load to:0x020e8544 module:overlay(20)
from:0x020bab42 kind:thumb_call_arm to:0x02016694 module:main
from:0x020bab4a kind:thumb_call_arm to:0x0201bacc module:main
from:0x020bab50 kind:thumb_call to:0x020bac34 module:overlay(1)
from:0x020bab58 kind:load to:0x020b2478 module:overlay(0)
from:0x020bab58 kind:load to:0x020b2470 module:overlay(0) add:0x8
from:0x020babb8 kind:thumb_call_arm to:0x02078cec module:overlay(0)
from:0x020babc0 kind:load to:0x027e09a4 module:dtcm
from:0x020babc4 kind:load to:0x027e09bc module:dtcm
@@ -1120,7 +1120,7 @@ from:0x020bb820 kind:load to:0x020b539c module:overlay(0)
from:0x020bb832 kind:thumb_call_arm to:0x020f8c98 module:overlay(21)
from:0x020bb838 kind:thumb_call_arm to:0x02011ff4 module:main
from:0x020bb840 kind:load to:0x027e0cf4 module:dtcm
from:0x020bb852 kind:thumb_call_arm to:0x0215ea90 module:overlays(60,71)
from:0x020bb852 kind:thumb_call_arm to:0x0215ea90 module:overlay(71)
from:0x020bb858 kind:thumb_call_arm to:0x02011ff4 module:main
from:0x020bb860 kind:load to:0x027e0d70 module:dtcm
from:0x020bb86c kind:load to:0x027e0ce4 module:dtcm
@@ -1136,7 +1136,7 @@ from:0x020bba44 kind:load to:0x027e09a4 module:dtcm
from:0x020bba48 kind:load to:0x02043e50 module:main
from:0x020bba4c kind:load to:0x027e09a0 module:dtcm
from:0x020bba50 kind:load to:0x020b62a8 module:overlay(0)
from:0x020bba62 kind:thumb_call_arm to:0x02179b20 module:overlays(95,96)
from:0x020bba62 kind:thumb_call_arm to:0x02179b20 module:overlay(96)
from:0x020bba68 kind:load to:0x02043e50 module:main
from:0x020bba82 kind:thumb_call_arm to:0x01fff350 module:itcm
from:0x020bba9c kind:thumb_call_arm to:0x020984f0 module:overlay(0)
@@ -2329,7 +2329,6 @@ from:0x020c1224 kind:load to:0x020c2f4c module:overlay(1)
from:0x020c1338 kind:load to:0x020c2fc4 module:overlay(1)
from:0x020c1590 kind:load to:0x020c4701 module:overlay(1)
from:0x020c1608 kind:load to:0x020c4701 module:overlay(1)
from:0x020c1614 kind:load to:0x020c2624 add:0x4 module:overlay(1)
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)
+63 -63
View File
@@ -133,33 +133,33 @@ func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020ba4a4
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x1c) addr:0x020ba4cc
func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020ba4e8
_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020ba50c
func_ov001_020ba528 kind:function(thumb,size=0x54) addr:0x020ba528
func_ov001_020ba57c kind:function(thumb,size=0xc) addr:0x020ba57c
func_ov001_020ba588 kind:function(thumb,size=0x12) addr:0x020ba588
func_ov001_020ba59c kind:function(thumb,size=0x10) addr:0x020ba59c
func_ov001_020ba5ac kind:function(thumb,size=0x12) addr:0x020ba5ac
func_ov001_020ba5c0 kind:function(thumb,size=0x10) addr:0x020ba5c0
func_ov001_020ba5d0 kind:function(thumb,size=0x38) addr:0x020ba5d0
func_ov001_020ba608 kind:function(thumb,size=0x18) addr:0x020ba608
func_ov001_020ba620 kind:function(thumb,size=0x20) addr:0x020ba620
func_ov001_020ba640 kind:function(thumb,size=0x16) addr:0x020ba640
func_ov001_020ba658 kind:function(thumb,size=0x18) addr:0x020ba658
_ZN18UnkStruct_027e095cC1Ev kind:function(thumb,size=0x54) addr:0x020ba528
_ZN8InstanceI18UnkStruct_027e095cEC2Ev kind:function(thumb,size=0xc) addr:0x020ba57c
_ZN18UnkStruct_02011e1019func_ov001_020ba588Eii kind:function(thumb,size=0x12) addr:0x020ba588
_ZN18UnkStruct_02011e1019func_ov001_020ba59cEv kind:function(thumb,size=0x10) addr:0x020ba59c
_ZN18UnkStruct_02011e1019func_ov001_020ba5acEii kind:function(thumb,size=0x12) addr:0x020ba5ac
_ZN18UnkStruct_02011e1019func_ov001_020ba5c0Ev kind:function(thumb,size=0x10) addr:0x020ba5c0
_ZN18UnkStruct_02011e1019func_ov001_020ba5d0Ev kind:function(thumb,size=0x38) addr:0x020ba5d0
_ZN18UnkStruct_02011e1019func_ov001_020ba608Ev kind:function(thumb,size=0x18) addr:0x020ba608
_ZN18UnkStruct_02011e1019func_ov001_020ba620Ev kind:function(thumb,size=0x20) addr:0x020ba620
_ZN18UnkStruct_02011e1019func_ov001_020ba640Ev kind:function(thumb,size=0x16) addr:0x020ba640
_ZN18UnkStruct_02011e1019func_ov001_020ba658Ev kind:function(thumb,size=0x18) addr:0x020ba658
_ZN11SaveManager19func_ov001_020ba670Ev kind:function(thumb,size=0x138) addr:0x020ba670
_ZN11SaveManager19func_ov001_020ba7a8Ev kind:function(thumb,size=0x20) addr:0x020ba7a8
_ZN11SaveManager19func_ov001_020ba7c8Et kind:function(thumb,size=0x90) addr:0x020ba7c8
func_ov001_020ba858 kind:function(thumb,size=0x15c) addr:0x020ba858
func_ov001_020ba9b4 kind:function(thumb,size=0x2) addr:0x020ba9b4
_ZN11SaveManager19func_ov001_020ba858Ev kind:function(thumb,size=0x15c) addr:0x020ba858
_ZN15SaveManager_244C1Ev kind:function(thumb,size=0x2) addr:0x020ba9b4
_ZN18UnkStruct_027e09bc6CreateEv kind:function(thumb,size=0x16) addr:0x020ba9b8
func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020ba9d0
_ZN18UnkStruct_027e09bcC1Ev 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
_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
_ZN8InstanceI18UnkStruct_027e09bcEC2Ev kind:function(thumb,size=0xc) addr:0x020bac28
_ZN8InstanceI18UnkStruct_027e09bcED2Ev 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
_ZN16MapObjectManagerC1Ev kind:function(thumb,size=0x1e) addr:0x020bac58
_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bac78
_ZN16MapObjectManager19func_ov001_020bac9cEv kind:function(thumb,size=0x3c) addr:0x020bac9c
_ZN16MapObjectManager19func_ov001_020bacd8EP9ZOBHeader kind:function(thumb,size=0xa8) addr:0x020bacd8
@@ -169,10 +169,10 @@ _ZN16MapObjectManager19func_ov001_020badb4Ev kind:function(thumb,size=0x2c) addr
_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_020baea0EPt 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
_ZN8InstanceI16MapObjectManagerEC2Ev kind:function(thumb,size=0xc) addr:0x020baf4c
_ZN8InstanceI16MapObjectManagerED2Ev 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
@@ -190,12 +190,12 @@ _ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x0
_ZN12ActorManager19func_ov001_020bb844Ev kind:function(thumb,size=0x20) addr:0x020bb844
_ZN8InstanceI12ActorManagerEC2Ev kind:function(thumb,size=0xc) addr:0x020bb864
_ZN8InstanceI12ActorManagerED2Ev kind:function(thumb,size=0xc) addr:0x020bb870
func_ov001_020bb87c kind:function(thumb,size=0x3c) addr:0x020bb87c
func_ov001_020bb8b8 kind:function(thumb,size=0x2) addr:0x020bb8b8
func_ov001_020bb8bc kind:function(thumb,size=0x13c) addr:0x020bb8bc
_ZN11ItemManager19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bb9f8
func_ov001_020bba54 kind:function(thumb,size=0x18) addr:0x020bba54
func_ov001_020bba6c kind:function(thumb,size=0x58) addr:0x020bba6c
_ZN9InventoryC1Ev kind:function(thumb,size=0x3c) addr:0x020bb87c
_ZN9InventoryD1Ev kind:function(thumb,size=0x2) addr:0x020bb8b8
_ZN9Inventory19func_ov001_020bb8bcEPK13InvImportData kind:function(thumb,size=0x13c) addr:0x020bb8bc
_ZN9Inventory19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bb9f8
_ZN9Inventory19func_ov001_020bba54Ev kind:function(thumb,size=0x18) addr:0x020bba54
_ZN9Inventory19func_ov001_020bba6cEv kind:function(thumb,size=0x58) addr:0x020bba6c
func_ov001_020bbac4 kind:function(thumb,size=0x5c) addr:0x020bbac4
_ZN18PlayerActorBase_70C1Ev kind:function(thumb,size=0x260) addr:0x020bbb20
func_ov001_020bbd80 kind:function(thumb,size=0x96) addr:0x020bbd80
@@ -212,7 +212,7 @@ func_ov001_020bbfcc kind:function(thumb,size=0x5a) addr:0x020bbfcc
_ZN26UnkStruct_027e0ce0_40_BaseC2Ev kind:function(thumb,size=0x88) addr:0x020bc028
func_ov001_020bc0b0 kind:function(thumb,size=0x30) addr:0x020bc0b0
func_ov001_020bc0e0 kind:function(thumb,size=0x154) addr:0x020bc0e0
func_ov001_020bc234 kind:function(thumb,size=0x16) addr:0x020bc234
_ZN11ItemManagerC1Ev kind:function(thumb,size=0x16) addr:0x020bc234
func_ov001_020bc24c kind:function(thumb,size=0x30) addr:0x020bc24c
func_ov001_020bc27c kind:function(thumb,size=0x1e) addr:0x020bc27c
func_ov001_020bc29c kind:function(thumb,size=0x1a) addr:0x020bc29c
@@ -494,9 +494,9 @@ NitroStaticInit kind:function(arm,size=0x50,unknown) addr:0x020c2570 local
data_ov001_020c25c0 kind:data(any) addr:0x020c25c0
data_ov001_020c25d4 kind:data(any) addr:0x020c25d4
data_ov001_020c25fc kind:data(any) addr:0x020c25fc
data_ov001_020c2624 kind:data(any) addr:0x020c2624
data_ov001_020c262e kind:data(any) addr:0x020c262e
data_ov001_020c2638 kind:data(any) addr:0x020c2638
data_ov001_020c2624 kind:data(any) addr:0x020c2624 local
data_ov001_020c262e kind:data(any) addr:0x020c262e local
data_ov001_020c2638 kind:data(any) addr:0x020c2638 local
data_ov001_020c264c kind:data(any) addr:0x020c264c
data_ov001_020c26bc kind:data(any) addr:0x020c26bc
data_ov001_020c273c kind:data(any) addr:0x020c273c
@@ -535,39 +535,39 @@ data_ov001_020c2a40 kind:data(any) addr:0x020c2a40
@3288 kind:data(byte[28]) addr:0x020c2af0 local
@3292 kind:data(byte[23]) addr:0x020c2b0c local
@3293 kind:data(byte[21]) 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
data_ov001_020c2b64 kind:data(any) addr:0x020c2b64
data_ov001_020c2b6c kind:data(any) addr:0x020c2b6c
data_ov001_020c2b74 kind:data(any) addr:0x020c2b74
data_ov001_020c2b7c kind:data(any) addr:0x020c2b7c
data_ov001_020c2b84 kind:data(any) addr:0x020c2b84
data_ov001_020c2b8c kind:data(any) addr:0x020c2b8c
data_ov001_020c2b94 kind:data(any) addr:0x020c2b94
data_ov001_020c2b9c kind:data(any) addr:0x020c2b9c
data_ov001_020c2ba4 kind:data(any) addr:0x020c2ba4
data_ov001_020c2bac kind:data(any) addr:0x020c2bac
data_ov001_020c2bb4 kind:data(any) addr:0x020c2bb4
data_ov001_020c2bbc kind:data(any) addr:0x020c2bbc
data_ov001_020c2bc4 kind:data(any) addr:0x020c2bc4
data_ov001_020c2bcc kind:data(any) addr:0x020c2bcc
data_ov001_020c2bd4 kind:data(any) addr:0x020c2bd4
data_ov001_020c2bdc kind:data(any) addr:0x020c2bdc
data_ov001_020c2be4 kind:data(any) addr:0x020c2be4
data_ov001_020c2bec kind:data(any) addr:0x020c2bec
data_ov001_020c2bf4 kind:data(any) addr:0x020c2bf4
data_ov001_020c2bfc kind:data(any) addr:0x020c2bfc
data_ov001_020c2c04 kind:data(any) addr:0x020c2c04
data_ov001_020c2c10 kind:data(any) addr:0x020c2c10
data_ov001_020c2c18 kind:data(any) addr:0x020c2c18
data_ov001_020c2c2c kind:data(any) addr:0x020c2c2c
data_ov001_020c2c34 kind:data(any) addr:0x020c2c34
data_ov001_020c2c38 kind:data(any) addr:0x020c2c38
data_ov001_020c2c44 kind:data(any) addr:0x020c2c44
data_ov001_020c2c50 kind:data(any) addr:0x020c2c50
data_ov001_020c2c5c kind:data(any) addr:0x020c2c5c
data_ov001_020c2c68 kind:data(any) addr:0x020c2c68
@5615 kind:data(byte[0x0C]) addr:0x020c2b3c local
@5616 kind:data(byte[0x0D]) addr:0x020c2b48 local
@5617 kind:data(byte[0x0C]) addr:0x020c2b58 local
@5618 kind:data(byte[0x05]) addr:0x020c2b64 local
@5619 kind:data(byte[0x06]) addr:0x020c2b6c local
@5620 kind:data(byte[0x06]) addr:0x020c2b74 local
@5621 kind:data(byte[0x06]) addr:0x020c2b7c local
@5622 kind:data(byte[0x06]) addr:0x020c2b84 local
@5623 kind:data(byte[0x06]) addr:0x020c2b8c local
@5624 kind:data(byte[0x06]) addr:0x020c2b94 local
@5625 kind:data(byte[0x05]) addr:0x020c2b9c local
@5626 kind:data(byte[0x05]) addr:0x020c2ba4 local
@5627 kind:data(byte[0x06]) addr:0x020c2bac local
@5628 kind:data(byte[0x06]) addr:0x020c2bb4 local
@5629 kind:data(byte[0x06]) addr:0x020c2bbc local
@5630 kind:data(byte[0x06]) addr:0x020c2bc4 local
@5631 kind:data(byte[0x06]) addr:0x020c2bcc local
@5632 kind:data(byte[0x06]) addr:0x020c2bd4 local
@5633 kind:data(byte[0x06]) addr:0x020c2bdc local
@5634 kind:data(byte[0x06]) addr:0x020c2be4 local
@5635 kind:data(byte[0x07]) addr:0x020c2bec local
@5636 kind:data(byte[0x07]) addr:0x020c2bf4 local
@5637 kind:data(byte[0x07]) addr:0x020c2bfc local
@5638 kind:data(byte[0x0B]) addr:0x020c2c04 local
@5639 kind:data(byte[0x07]) addr:0x020c2c10 local
@5640 kind:data(byte[0x11]) addr:0x020c2c18 local
@5641 kind:data(byte[0x07]) addr:0x020c2c2c local
@5642 kind:data(byte[0x04]) addr:0x020c2c34 local
@5643 kind:data(byte[0x09]) addr:0x020c2c38 local
@5644 kind:data(byte[0x0C]) addr:0x020c2c44 local
@5645 kind:data(byte[0x09]) addr:0x020c2c50 local
@5646 kind:data(byte[0x0C]) addr:0x020c2c5c local
@5647 kind:data(byte[0x06]) addr:0x020c2c68 local
data_ov001_020c2c70 kind:data(any) addr:0x020c2c70
data_ov001_020c2c78 kind:data(any) addr:0x020c2c78
data_ov001_020c2c80 kind:data(any) addr:0x020c2c80
+1 -1
View File
@@ -249,7 +249,7 @@ _ZN19ActorProfileUnkCASL10GetProfileEv kind:function(arm,size=0xc) addr:0x0215e9
_ZN19ActorProfileUnkCASL6CreateEv kind:function(arm,size=0x24) addr:0x0215e980
_ZN19ActorProfileUnkCASLC1Ev kind:function(arm,size=0x28) addr:0x0215e9a4
_ZN12ActorUnkCASLC1Ev kind:function(arm,size=0xc4) addr:0x0215e9cc
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x6c) addr:0x0215ea90
_ZN12ActorUnkCASL19func_ov060_021607d0Ev kind:function(arm,size=0x6c) addr:0x0215ea90
_ZN12ActorUnkCASL19func_ov060_0215eafcEv kind:function(arm,size=0x14) addr:0x0215eafc
_ZN12ActorUnkCASL19func_ov060_0215eb10Ev kind:function(arm,size=0x14) addr:0x0215eb10
_ZN12ActorUnkCASL19func_ov060_0215eb24Ev kind:function(arm,size=0x20) addr:0x0215eb24
+1 -1
View File
@@ -267,7 +267,7 @@ _ZN18UnkStruct_027e0d7019func_ov071_0215e8f8Ev kind:function(arm,size=0x70) addr
func_ov071_0215e968 kind:function(arm,size=0x44) addr:0x0215e968
_ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x0215e9ac
func_ov071_0215ea14 kind:function(arm,size=0x7c) addr:0x0215ea14
func_ov071_0215ea90 kind:function(arm,size=0x38) addr:0x0215ea90
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x38) addr:0x0215ea90
_ZN18UnkStruct_027e0d7019func_ov071_0215eac8Ev kind:function(arm,size=0x50) addr:0x0215eac8
func_ov071_0215eb18 kind:function(arm,size=0xc) addr:0x0215eb18
func_ov071_0215eb24 kind:function(arm,size=0x27c) addr:0x0215eb24
+1 -1
View File
@@ -1,4 +1,4 @@
func_ov096_02179b20 kind:function(arm,size=0x9c) addr:0x02179b20
_ZN9Inventory19func_ov096_02179b20Ev kind:function(arm,size=0x9c) addr:0x02179b20
func_ov096_02179bbc kind:function(thumb,size=0x20) addr:0x02179bbc
func_ov096_02179bdc kind:function(thumb,size=0x20) addr:0x02179bdc
func_ov096_02179bfc kind:function(thumb,size=0xc) addr:0x02179bfc
+1 -1
View File
@@ -1,4 +1,4 @@
_ZN11ItemManager19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x02184a40
_ZN9Inventory19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x02184a40
_ZN22UnkStruct_PlayerGet_748vfunc_00Eiii kind:function(arm,size=0x30) addr:0x02184dac
_ZN9PlayerGetC2Ev kind:function(arm,size=0xa0) addr:0x02184ddc
_ZN9PlayerGetD1Ev kind:function(arm,size=0xc4) addr:0x02184e7c
+5 -5
View File
@@ -642,7 +642,7 @@ _ZN18UnkStruct_02011e1013func_020130d4Ei kind:function(arm,size=0x1c) addr:0x020
func_020130f0 kind:function(arm,size=0x28) addr:0x020130f0
func_02013118 kind:function(arm,size=0x30) addr:0x02013118
func_02013148 kind:function(arm,size=0x1c) addr:0x02013148
func_02013164 kind:function(arm,size=0x20) addr:0x02013164
_ZN18UnkStruct_02011e10D1Ev kind:function(arm,size=0x20) addr:0x02013164
func_02013184 kind:function(arm,size=0x2c) addr:0x02013184
func_020131b0 kind:function(arm,size=0x3c) addr:0x020131b0
func_020131ec kind:function(arm,size=0x28) addr:0x020131ec
@@ -682,7 +682,7 @@ func_02013e44 kind:function(arm,size=0x3c) addr:0x02013e44
func_02013e80 kind:function(arm,size=0x4c) addr:0x02013e80
_ZN18UnkStruct_02049b8013func_02013eccEiPFvtEi kind:function(arm,size=0x1c) addr:0x02013ecc
_ZN18UnkStruct_02049b8013func_02013ee8Eii kind:function(arm,size=0x98) addr:0x02013ee8
func_02013f80 kind:function(arm,size=0x6c) addr:0x02013f80
_ZN18UnkStruct_02049b8013func_02013f80Ei kind:function(arm,size=0x6c) addr:0x02013f80
func_02013fec kind:function(arm,size=0xc) addr:0x02013fec
func_02013ff8 kind:function(arm,size=0x12c) addr:0x02013ff8
_ZN12TouchControl11UpdateStateEP10TouchStatePK6TPData kind:function(arm,size=0xb8) addr:0x02014124
@@ -696,8 +696,8 @@ _ZN12TouchControl13func_02014414Etb kind:function(arm,size=0x64) addr:0x02014414
_ZN12TouchControl13func_02014478EP10TouchStatet kind:function(arm,size=0x28) addr:0x02014478
func_020144a0 kind:function(thumb,size=0x10) addr:0x020144a0
func_020144b0 kind:function(thumb,size=0x1c) addr:0x020144b0
func_020144cc kind:function(thumb,size=0x6c) addr:0x020144cc
func_02014538 kind:function(thumb,size=0x34) addr:0x02014538
_ZN21UnkStruct_02011e10_2C13func_020144ccEiii kind:function(thumb,size=0x6c) addr:0x020144cc
_ZN21UnkStruct_02011e10_2C13func_02014538Ev kind:function(thumb,size=0x34) addr:0x02014538
func_0201456c kind:function(arm,size=0x44) addr:0x0201456c
func_020145b0 kind:function(arm,size=0x80) addr:0x020145b0
func_02014630 kind:function(arm,size=0x58) addr:0x02014630
@@ -2116,7 +2116,7 @@ __register_global_object kind:function(arm,size=0x20) addr:0x0203ce74
func_0203ce94 kind:function(arm,size=0x1b4) addr:0x0203ce94
func_0203d048 kind:function(arm,size=0x48) addr:0x0203d048
func_0203d090 kind:function(arm,size=0x14) addr:0x0203d090
func_0203d0a4 kind:function(arm,size=0xbc) addr:0x0203d0a4
__cxa_vec_newinit kind:function(arm,size=0xbc) addr:0x0203d0a4
__cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0203d160
__cxa_vec_cleanup kind:function(arm,size=0x48) addr:0x0203d210
func_0203d258 kind:function(arm,size=0x14) addr:0x0203d258
+30 -30
View File
@@ -1216,10 +1216,10 @@ func_ov000_0207840c kind:function(arm,size=0x1fc) addr:0x0207840c
func_ov000_02078608 kind:function(arm,size=0x58) addr:0x02078608
func_ov000_02078660 kind:function(arm,size=0xa0) addr:0x02078660
func_ov000_02078700 kind:function(arm,size=0x114) addr:0x02078700
func_ov000_02078814 kind:function(arm,size=0x2c) addr:0x02078814
_ZN21UnkStruct_027e09bc_24C1Ev 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
_ZN18UnkStruct_027e09bc19func_ov000_020771b8Ei kind:function(arm,size=0x10) addr:0x02078870
_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
@@ -1231,7 +1231,7 @@ func_ov000_02078b78 kind:function(arm,size=0xd0) addr:0x02078b78
func_ov000_02078c48 kind:function(arm,size=0x48) addr:0x02078c48
func_ov000_02078c90 kind:function(arm,size=0x60) addr:0x02078c90
func_ov000_02078cf0 kind:function(arm,size=0x3c) addr:0x02078cf0
func_ov000_02078d2c kind:function(arm,size=0x1bc) addr:0x02078d2c
_ZN21UnkStruct_027e09bc_0CC1Ei kind:function(arm,size=0x1bc) addr:0x02078d2c
_ZN19func_ov000_02078ee8D1Ev kind:function(arm,size=0x54) addr:0x02078ee8
_ZN19func_ov000_02078f3cD0Ev kind:function(arm,size=0x5c) addr:0x02078f3c
func_ov000_02078f98 kind:function(arm,size=0x34) addr:0x02078f98
@@ -1284,11 +1284,11 @@ func_ov000_0207a1e0 kind:function(arm,size=0x10) addr:0x0207a1e0
func_ov000_0207a1f0 kind:function(arm,size=0x18) addr:0x0207a1f0
func_ov000_0207a208 kind:function(arm,size=0x38) addr:0x0207a208
func_ov000_0207a240 kind:function(arm,size=0x1c) addr:0x0207a240
func_ov000_0207a25c kind:function(arm,size=0x54) addr:0x0207a25c
_ZN21UnkStruct_027e09bc_0C19func_ov000_02078ba4Ev kind:function(arm,size=0x54) addr:0x0207a25c
func_ov000_0207a2b0 kind:function(arm,size=0x30) addr:0x0207a2b0
func_ov000_0207a2e0 kind:function(arm,size=0x70) addr:0x0207a2e0
func_ov000_0207a350 kind:function(arm,size=0x54) addr:0x0207a350
func_ov000_0207a3a4 kind:function(arm,size=0xc) addr:0x0207a3a4
_ZN21UnkStruct_027e09bc_0C19func_ov000_02078cecEv kind:function(arm,size=0xc) addr:0x0207a3a4
func_ov000_0207a3b0 kind:function(arm,size=0x4) addr:0x0207a3b0
func_ov000_0207a3b4 kind:function(arm,size=0x34) addr:0x0207a3b4
func_ov000_0207a3e8 kind:function(arm,size=0x4) addr:0x0207a3e8
@@ -2211,7 +2211,7 @@ func_ov000_020976d0 kind:function(arm,size=0x34) addr:0x020976d0
_ZN19func_ov000_02097704D1Ev kind:function(arm,size=0x34) addr:0x02097704
_ZN19func_ov000_02097738D0Ev kind:function(arm,size=0x3c) addr:0x02097738
func_ov000_02097774 kind:function(arm,size=0x70) addr:0x02097774
func_ov000_020977e4 kind:function(arm,size=0x124) addr:0x020977e4
func_ov000_020977e4_jp kind:function(arm,size=0x124) addr:0x020977e4
func_ov000_02097908 kind:function(arm,size=0x6c) addr:0x02097908
func_ov000_02097974 kind:function(arm,size=0x2c) addr:0x02097974
func_ov000_020979a0 kind:function(arm,size=0x170) addr:0x020979a0
@@ -2265,7 +2265,7 @@ _ZN12ActorProfileD2Ev kind:function(arm,size=0x28) addr:0x02098ecc
_ZN12ActorProfile8vfunc_04Ev kind:function(arm,size=0x8) addr:0x02098ef4
_ZN12ActorProfile8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x02098efc
_ZN12ActorProfile8vfunc_0CEv kind:function(arm,size=0x14) addr:0x02098f78
func_ov000_02098f8c kind:function(arm,size=0x2c) addr:0x02098f8c
func_ov000_020977e4 kind:function(arm,size=0x2c) addr:0x02098f8c
_ZN12ActorProfile8vfunc_10Ev kind:function(arm,size=0x4) addr:0x02098fb8
_ZN12ActorProfile8vfunc_14Ev kind:function(arm,size=0x4) addr:0x02098fbc
_ZN12ActorProfile8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02098fc0
@@ -2493,11 +2493,11 @@ func_ov000_0209db14 kind:function(arm,size=0x24) addr:0x0209db14
func_ov000_0209db38 kind:function(arm,size=0x3c) addr:0x0209db38
_ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0x0209db74
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209dbb4
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209dc10
_ZN16MapObjectManager19func_ov000_0209c444Ei kind:function(arm,size=0x4c) addr:0x0209dc10
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209dc5c
_ZN16MapObjectManager17AllocateMapObjectEj5Vec2btih kind:function(arm,size=0x17c) addr:0x0209dcf0
func_ov000_0209de6c kind:function(arm,size=0xc) addr:0x0209de6c
func_ov000_0209de78 kind:function(arm,size=0xc) addr:0x0209de78
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6a0Ev kind:function(arm,size=0xc) addr:0x0209de6c
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6acEv kind:function(arm,size=0xc) addr:0x0209de78
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209de84
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEj kind:function(arm,size=0x28) addr:0x0209debc
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209dee4
@@ -2991,23 +2991,23 @@ func_ov000_020a9ca8 kind:function(arm,size=0x7c) addr:0x020a9ca8
func_ov000_020a9d24 kind:function(arm,size=0x48) addr:0x020a9d24
func_ov000_020a9d6c kind:function(arm,size=0x50) addr:0x020a9d6c
func_ov000_020a9dbc kind:function(thumb,size=0x80) addr:0x020a9dbc
_ZN11ItemManager7SetFlagEj kind:function(arm,size=0x20) addr:0x020a9e3c
_ZN11ItemManager9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a9e5c
_ZN11ItemManager17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a9e80
_ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a9ea4
_ZN11ItemManager13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a9ed0
_ZN11ItemManager17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a9f28
_ZN11ItemManager18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a9f48
_ZN11ItemManager10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a9f68
_ZN11ItemManager13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a9fc8
_ZN11ItemManager10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a9fec
_ZN11ItemManager9GiveBombsEi kind:function(arm,size=0x34) addr:0x020aa020
_ZN11ItemManager18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020aa054
_ZN11ItemManager10GivePotionEj kind:function(arm,size=0x3c) addr:0x020aa08c
_ZN11ItemManager9HasPotionEv kind:function(arm,size=0x2c) addr:0x020aa0c8
_ZN11ItemManager15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020aa0f4
_ZN11ItemManager18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020aa120
_ZN11ItemManager15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020aa148
_ZN9Inventory7SetFlagEj kind:function(arm,size=0x20) addr:0x020a9e3c
_ZN9Inventory9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a9e5c
_ZN9Inventory17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a9e80
_ZN9Inventory19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a9ea4
_ZN9Inventory13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a9ed0
_ZN9Inventory17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a9f28
_ZN9Inventory18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a9f48
_ZN9Inventory10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a9f68
_ZN9Inventory13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a9fc8
_ZN9Inventory10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a9fec
_ZN9Inventory9GiveBombsEi kind:function(arm,size=0x34) addr:0x020aa020
_ZN9Inventory18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020aa054
_ZN9Inventory10GivePotionEj kind:function(arm,size=0x3c) addr:0x020aa08c
_ZN9Inventory9HasPotionEv kind:function(arm,size=0x2c) addr:0x020aa0c8
_ZN9Inventory15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020aa0f4
_ZN9Inventory18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020aa120
_ZN9Inventory15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020aa148
_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020aa174
_ZN11ItemManager19GetEquippedItemFlagEi kind:function(arm,size=0x38) addr:0x020aa184
_ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020aa1bc
@@ -3173,7 +3173,7 @@ data_ov000_020ac870 kind:data(any) addr:0x020ac870
data_ov000_020ac890 kind:data(any) addr:0x020ac890
data_ov000_020ac8bc kind:data(any) addr:0x020ac8bc
data_ov000_020ac918 kind:data(any) addr:0x020ac918
data_ov000_020ac9ac kind:data(any) addr:0x020ac9ac
data_ov000_020ab1ac kind:data(any) addr:0x020ac9ac
data_ov000_020acb14 kind:data(any) addr:0x020acb14
data_ov000_020acb18 kind:data(any) addr:0x020acb18
data_ov000_020acb1c kind:data(any) addr:0x020acb1c
@@ -3513,11 +3513,11 @@ _ZTV19data_ov000_020b3b98 kind:data(any) addr:0x020b3b98
data_ov000_020b3bcc kind:data(any) addr:0x020b3bcc
data_ov000_020b3c50 kind:data(any) addr:0x020b3c50
data_ov000_020b3c68 kind:data(any) addr:0x020b3c68
data_ov000_020b3c78 kind:data(any) addr:0x020b3c78
_ZTV18UnkStruct_027e09bc kind:data(any) addr:0x020b3c70
_ZTV19data_ov000_020b3c80 kind:data(any) addr:0x020b3c80
data_ov000_020b3c9c kind:data(any) addr:0x020b3c9c
data_ov000_020b3cb4 kind:data(any) addr:0x020b3cb4
data_ov000_020b3ccc kind:data(any) addr:0x020b3ccc
_ZTV10UnkSystem9 kind:data(any) addr:0x020b3cc4
data_ov000_020b3cd8 kind:data(any) addr:0x020b3cd8
data_ov000_020b3d04 kind:data(any) addr:0x020b3d04
data_ov000_020b3d28 kind:data(any) addr:0x020b3d28
@@ -41,26 +41,32 @@ src/001_SceneInit/ZeldaMapBinary.cpp:
.text start:0x020bacf0 end:0x020bbd4c
src/001_SceneInit/UnkStruct_027e095c_001.cpp:
complete
.text start:0x020bbd4c end:0x020bbdc4
src/001_SceneInit/SysNew_001.cpp:
complete
.text start:0x020bbdc4 end:0x020bbeac
src/001_SceneInit/Save/SaveManager_001.cpp:
.text start:0x020bbeac end:0x020bc1f4
src/001_SceneInit/UnkStruct_027e09bc_001.cpp:
complete
.text start:0x020bc1f4 end:0x020bc47c
src/001_SceneInit/MapObject/MapObjectManager_001.cpp:
complete
.text start:0x020bc47c end:0x020bc7ac
src/001_SceneInit/Actor/ActorManager_001.cpp:
complete
.text start:0x020bc7ac end:0x020bd0c4
.rodata start:0x020c3e78 end:0x020c3ea0
.data start:0x020c437c end:0x020c44b0
src/001_SceneInit/Item/ItemManager_001.cpp:
complete
.text start:0x020bd0c4 end:0x020bd30c
src/001_SceneInit/Player/PlayerActorBase_70_001.cpp:
+4 -5
View File
@@ -911,14 +911,14 @@ from:0x020bc2cc kind:thumb_call_arm to:0x02011f3c module:main
from:0x020bc2d6 kind:thumb_call_arm to:0x02078d2c module:overlay(0)
from:0x020bc2e4 kind:thumb_call_arm to:0x02011f3c module:main
from:0x020bc2ee kind:thumb_call_arm to:0x02078d2c module:overlay(0)
from:0x020bc30c kind:load to:0x020b3c78 module:overlay(0)
from:0x020bc310 kind:load to:0x020b3ccc module:overlay(0)
from:0x020bc30c kind:load to:0x020b3c70 module:overlay(0) add:0x8
from:0x020bc310 kind:load to:0x020b3cc4 module:overlay(0) add:0x8
from:0x020bc314 kind:load to:0x027e09a4 module:dtcm
from:0x020bc318 kind:load to:0x020e9dc4 module:overlay(20)
from:0x020bc37e kind:thumb_call_arm to:0x0201662c module:main
from:0x020bc386 kind:thumb_call_arm to:0x0201b8bc module:main
from:0x020bc38c kind:thumb_call to:0x020bc470 module:overlay(1)
from:0x020bc394 kind:load to:0x020b3c78 module:overlay(0)
from:0x020bc394 kind:load to:0x020b3c70 module:overlay(0) add:0x8
from:0x020bc3f4 kind:thumb_call_arm to:0x0207a3a4 module:overlay(0)
from:0x020bc3fc kind:load to:0x027e09a4 module:dtcm
from:0x020bc400 kind:load to:0x027e09bc module:dtcm
@@ -1137,7 +1137,7 @@ from:0x020bd28c kind:load to:0x027e09a4 module:dtcm
from:0x020bd290 kind:load to:0x020453b0 module:main
from:0x020bd294 kind:load to:0x027e09a0 module:dtcm
from:0x020bd298 kind:load to:0x020b7ab8 module:overlay(0)
from:0x020bd2aa kind:thumb_call_arm to:0x0217bde0 module:overlays(95,96)
from:0x020bd2aa kind:thumb_call_arm to:0x0217bde0 module:overlay(96)
from:0x020bd2b0 kind:load to:0x020453b0 module:main
from:0x020bd2ca kind:thumb_call_arm to:0x01fff350 module:itcm
from:0x020bd2e4 kind:thumb_call_arm to:0x02099c98 module:overlay(0)
@@ -2332,7 +2332,6 @@ from:0x020c2a78 kind:load to:0x020c47a0 module:overlay(1)
from:0x020c2b8c kind:load to:0x020c4818 module:overlay(1)
from:0x020c2de4 kind:load to:0x020c5f41 module:overlay(1)
from:0x020c2e5c kind:load to:0x020c5f41 module:overlay(1)
from:0x020c2e68 kind:load to:0x020c3e78 add:0x4 module:overlay(1)
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)
+63 -64
View File
@@ -133,33 +133,33 @@ func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020bbce4
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x1c) addr:0x020bbd0c
func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020bbd28
_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020bbd4c
func_ov001_020ba528 kind:function(thumb,size=0x50) addr:0x020bbd68
func_ov001_020ba57c kind:function(thumb,size=0xc) addr:0x020bbdb8
func_ov001_020ba588 kind:function(thumb,size=0x12) addr:0x020bbdc4
func_ov001_020ba59c kind:function(thumb,size=0x10) addr:0x020bbdd8
func_ov001_020ba5ac kind:function(thumb,size=0x12) addr:0x020bbde8
func_ov001_020ba5c0 kind:function(thumb,size=0x10) addr:0x020bbdfc
func_ov001_020ba5d0 kind:function(thumb,size=0x38) addr:0x020bbe0c
func_ov001_020ba608 kind:function(thumb,size=0x18) addr:0x020bbe44
func_ov001_020ba620 kind:function(thumb,size=0x20) addr:0x020bbe5c
func_ov001_020ba640 kind:function(thumb,size=0x16) addr:0x020bbe7c
func_ov001_020ba658 kind:function(thumb,size=0x18) addr:0x020bbe94
_ZN18UnkStruct_027e095cC1Ev kind:function(thumb,size=0x50) addr:0x020bbd68
_ZN8InstanceI18UnkStruct_027e095cEC2Ev kind:function(thumb,size=0xc) addr:0x020bbdb8
_ZN18UnkStruct_02011e1019func_ov001_020ba588Eii kind:function(thumb,size=0x12) addr:0x020bbdc4
_ZN18UnkStruct_02011e1019func_ov001_020ba59cEv kind:function(thumb,size=0x10) addr:0x020bbdd8
_ZN18UnkStruct_02011e1019func_ov001_020ba5acEii kind:function(thumb,size=0x12) addr:0x020bbde8
_ZN18UnkStruct_02011e1019func_ov001_020ba5c0Ev kind:function(thumb,size=0x10) addr:0x020bbdfc
_ZN18UnkStruct_02011e1019func_ov001_020ba5d0Ev kind:function(thumb,size=0x38) addr:0x020bbe0c
_ZN18UnkStruct_02011e1019func_ov001_020ba608Ev kind:function(thumb,size=0x18) addr:0x020bbe44
_ZN18UnkStruct_02011e1019func_ov001_020ba620Ev kind:function(thumb,size=0x20) addr:0x020bbe5c
_ZN18UnkStruct_02011e1019func_ov001_020ba640Ev kind:function(thumb,size=0x16) addr:0x020bbe7c
_ZN18UnkStruct_02011e1019func_ov001_020ba658Ev kind:function(thumb,size=0x18) addr:0x020bbe94
_ZN11SaveManager19func_ov001_020ba670Ev kind:function(thumb,size=0x138) addr:0x020bbeac
_ZN11SaveManager19func_ov001_020ba7a8Ev kind:function(thumb,size=0x20) addr:0x020bbfe4
_ZN11SaveManager19func_ov001_020ba7c8Et kind:function(thumb,size=0x90) addr:0x020bc004
func_ov001_020ba858 kind:function(thumb,size=0x15c) addr:0x020bc094
func_ov001_020ba9b4 kind:function(thumb,size=0x2) addr:0x020bc1f0
_ZN11SaveManager19func_ov001_020ba858Ev kind:function(thumb,size=0x15c) addr:0x020bc094
_ZN15SaveManager_244C1Ev kind:function(thumb,size=0x2) addr:0x020bc1f0
_ZN18UnkStruct_027e09bc6CreateEv kind:function(thumb,size=0x16) addr:0x020bc1f4
func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020bc20c
_ZN18UnkStruct_027e09bcC1Ev 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
_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
_ZN8InstanceI18UnkStruct_027e09bcEC2Ev kind:function(thumb,size=0xc) addr:0x020bc464
_ZN8InstanceI18UnkStruct_027e09bcED2Ev 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
_ZN16MapObjectManagerC1Ev kind:function(thumb,size=0x1e) addr:0x020bc494
_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bc4b4
_ZN16MapObjectManager19func_ov001_020bac9cEv kind:function(thumb,size=0x3c) addr:0x020bc4d8
_ZN16MapObjectManager19func_ov001_020bacd8EP9ZOBHeader kind:function(thumb,size=0xa8) addr:0x020bc514
@@ -169,10 +169,10 @@ _ZN16MapObjectManager19func_ov001_020badb4Ev kind:function(thumb,size=0x2c) addr
_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_020baea0EPt 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
_ZN8InstanceI16MapObjectManagerEC2Ev kind:function(thumb,size=0xc) addr:0x020bc794
_ZN8InstanceI16MapObjectManagerED2Ev 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
@@ -190,12 +190,12 @@ _ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x0
_ZN12ActorManager19func_ov001_020bb844Ev kind:function(thumb,size=0x20) addr:0x020bd08c
_ZN8InstanceI12ActorManagerEC2Ev kind:function(thumb,size=0xc) addr:0x020bd0ac
_ZN8InstanceI12ActorManagerED2Ev kind:function(thumb,size=0xc) addr:0x020bd0b8
func_ov001_020bb87c kind:function(thumb,size=0x3c) addr:0x020bd0c4
func_ov001_020bb8b8 kind:function(thumb,size=0x2) addr:0x020bd100
func_ov001_020bb8bc kind:function(thumb,size=0x13c) addr:0x020bd104
_ZN11ItemManager19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bd240
func_ov001_020bba54 kind:function(thumb,size=0x18) addr:0x020bd29c
func_ov001_020bba6c kind:function(thumb,size=0x58) addr:0x020bd2b4
_ZN9InventoryC1Ev kind:function(thumb,size=0x3c) addr:0x020bd0c4
_ZN9InventoryD1Ev kind:function(thumb,size=0x2) addr:0x020bd100
_ZN9Inventory19func_ov001_020bb8bcEPK13InvImportData kind:function(thumb,size=0x13c) addr:0x020bd104
_ZN9Inventory19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bd240
_ZN9Inventory19func_ov001_020bba54Ev kind:function(thumb,size=0x18) addr:0x020bd29c
_ZN9Inventory19func_ov001_020bba6cEv kind:function(thumb,size=0x58) addr:0x020bd2b4
func_ov001_020bbac4 kind:function(thumb,size=0x5c) addr:0x020bd30c
_ZN18PlayerActorBase_70C1Ev kind:function(thumb,size=0x260) addr:0x020bd368
func_ov001_020bbd80 kind:function(thumb,size=0x96) addr:0x020bd5c8
@@ -212,7 +212,7 @@ func_ov001_020bbfcc kind:function(thumb,size=0x5a) addr:0x020bd814
_ZN26UnkStruct_027e0ce0_40_BaseC2Ev kind:function(thumb,size=0x88) addr:0x020bd870
func_ov001_020bc0b0 kind:function(thumb,size=0x30) addr:0x020bd8f8
func_ov001_020bc0e0 kind:function(thumb,size=0x154) addr:0x020bd928
func_ov001_020bc234 kind:function(thumb,size=0x16) addr:0x020bda7c
_ZN11ItemManagerC1Ev kind:function(thumb,size=0x16) addr:0x020bda7c
func_ov001_020bc24c kind:function(thumb,size=0x30) addr:0x020bda94
func_ov001_020bc27c kind:function(thumb,size=0x1e) addr:0x020bdac4
func_ov001_020bc29c kind:function(thumb,size=0x1a) addr:0x020bdae4
@@ -494,10 +494,9 @@ NitroStaticInit kind:function(arm,size=0x50,unknown) addr:0x020c3dc4 local
data_ov001_020c25c0 kind:data(any) addr:0x020c3e14
data_ov001_020c25d4 kind:data(any) addr:0x020c3e28
data_ov001_020c25fc kind:data(any) addr:0x020c3e50
data_ov001_020c3e78 kind:data(any) addr:0x020c3e78
data_ov001_020c3e7c kind:data(any) addr:0x020c3e7c
data_ov001_020c3e82 kind:data(any) addr:0x020c3e82
data_ov001_020c3e8c kind:data(any) addr:0x020c3e8c
data_ov001_020c2624 kind:data(any) addr:0x020c3e78 local
data_ov001_020c262e kind:data(any) addr:0x020c3e82 local
data_ov001_020c2638 kind:data(any) addr:0x020c3e8c local
data_ov001_020c3ea0 kind:data(any) addr:0x020c3ea0
data_ov001_020c3f10 kind:data(any) addr:0x020c3f10
data_ov001_020c3f90 kind:data(any) addr:0x020c3f90
@@ -536,39 +535,39 @@ data_ov001_020c2a40 kind:data(any) addr:0x020c4280
@3288 kind:data(byte[28]) addr:0x020c4330 local
@3292 kind:data(byte[23]) addr:0x020c434c local
@3293 kind:data(byte[21]) 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
data_ov001_020c43a4 kind:data(any) addr:0x020c43a4
data_ov001_020c43ac kind:data(any) addr:0x020c43ac
data_ov001_020c43b4 kind:data(any) addr:0x020c43b4
data_ov001_020c43bc kind:data(any) addr:0x020c43bc
data_ov001_020c43c4 kind:data(any) addr:0x020c43c4
data_ov001_020c43cc kind:data(any) addr:0x020c43cc
data_ov001_020c43d4 kind:data(any) addr:0x020c43d4
data_ov001_020c43dc kind:data(any) addr:0x020c43dc
data_ov001_020c43e4 kind:data(any) addr:0x020c43e4
data_ov001_020c43ec kind:data(any) addr:0x020c43ec
data_ov001_020c43f4 kind:data(any) addr:0x020c43f4
data_ov001_020c43fc kind:data(any) addr:0x020c43fc
data_ov001_020c4404 kind:data(any) addr:0x020c4404
data_ov001_020c440c kind:data(any) addr:0x020c440c
data_ov001_020c4414 kind:data(any) addr:0x020c4414
data_ov001_020c441c kind:data(any) addr:0x020c441c
data_ov001_020c4424 kind:data(any) addr:0x020c4424
data_ov001_020c442c kind:data(any) addr:0x020c442c
data_ov001_020c4434 kind:data(any) addr:0x020c4434
data_ov001_020c443c kind:data(any) addr:0x020c443c
data_ov001_020c4444 kind:data(any) addr:0x020c4444
data_ov001_020c4450 kind:data(any) addr:0x020c4450
data_ov001_020c4458 kind:data(any) addr:0x020c4458
data_ov001_020c446c kind:data(any) addr:0x020c446c
data_ov001_020c4474 kind:data(any) addr:0x020c4474
data_ov001_020c4478 kind:data(any) addr:0x020c4478
data_ov001_020c4484 kind:data(any) addr:0x020c4484
data_ov001_020c4490 kind:data(any) addr:0x020c4490
data_ov001_020c449c kind:data(any) addr:0x020c449c
data_ov001_020c44a8 kind:data(any) addr:0x020c44a8
@5615 kind:data(byte[0x0C]) addr:0x020c437c local
@5616 kind:data(byte[0x0D]) addr:0x020c4388 local
@5617 kind:data(byte[0x0C]) addr:0x020c4398 local
@5618 kind:data(byte[0x05]) addr:0x020c43a4 local
@5619 kind:data(byte[0x06]) addr:0x020c43ac local
@5620 kind:data(byte[0x06]) addr:0x020c43b4 local
@5621 kind:data(byte[0x06]) addr:0x020c43bc local
@5622 kind:data(byte[0x06]) addr:0x020c43c4 local
@5623 kind:data(byte[0x06]) addr:0x020c43cc local
@5624 kind:data(byte[0x06]) addr:0x020c43d4 local
@5625 kind:data(byte[0x05]) addr:0x020c43dc local
@5626 kind:data(byte[0x05]) addr:0x020c43e4 local
@5627 kind:data(byte[0x06]) addr:0x020c43ec local
@5628 kind:data(byte[0x06]) addr:0x020c43f4 local
@5629 kind:data(byte[0x06]) addr:0x020c43fc local
@5630 kind:data(byte[0x06]) addr:0x020c4404 local
@5631 kind:data(byte[0x06]) addr:0x020c440c local
@5632 kind:data(byte[0x06]) addr:0x020c4414 local
@5633 kind:data(byte[0x06]) addr:0x020c441c local
@5634 kind:data(byte[0x06]) addr:0x020c4424 local
@5635 kind:data(byte[0x07]) addr:0x020c442c local
@5636 kind:data(byte[0x07]) addr:0x020c4434 local
@5637 kind:data(byte[0x07]) addr:0x020c443c local
@5638 kind:data(byte[0x0B]) addr:0x020c4444 local
@5639 kind:data(byte[0x07]) addr:0x020c4450 local
@5640 kind:data(byte[0x11]) addr:0x020c4458 local
@5641 kind:data(byte[0x07]) addr:0x020c446c local
@5642 kind:data(byte[0x04]) addr:0x020c4474 local
@5643 kind:data(byte[0x09]) addr:0x020c4478 local
@5644 kind:data(byte[0x0C]) addr:0x020c4484 local
@5645 kind:data(byte[0x09]) addr:0x020c4490 local
@5646 kind:data(byte[0x0C]) addr:0x020c449c local
@5647 kind:data(byte[0x06]) addr:0x020c44a8 local
data_ov001_020c44b0 kind:data(any) addr:0x020c44b0
data_ov001_020c44b8 kind:data(any) addr:0x020c44b8
data_ov001_020c44c0 kind:data(any) addr:0x020c44c0
+1 -1
View File
@@ -883,7 +883,7 @@ data_ov020_020e9cc8 kind:bss addr:0x020e9cc8 ambiguous
data_ov020_020e9d58 kind:bss addr:0x020e9d58 ambiguous
data_ov020_020e9d74 kind:bss addr:0x020e9d74 ambiguous
data_ov020_020e9dc0 kind:bss addr:0x020e9dc0
data_ov020_020e9dc4 kind:bss addr:0x020e9dc4
data_ov020_020e8544 kind:bss addr:0x020e9dc4
data_ov020_020e9dc8 kind:bss addr:0x020e9dc8 ambiguous
data_ov020_020e9dd0 kind:bss addr:0x020e9dd0
data_ov020_020e9ddc kind:bss addr:0x020e9ddc
+1 -1
View File
@@ -441,7 +441,7 @@ func_ov021_020fa0d8 kind:function(arm,size=0x3c) addr:0x020fa0d8
func_ov021_020fa114 kind:function(arm,size=0x20) addr:0x020fa114
func_ov021_020fa134 kind:function(arm,size=0x18) addr:0x020fa134
func_ov021_020fa14c kind:function(arm,size=0x64) addr:0x020fa14c
func_ov021_020fa1b0 kind:function(arm,size=0x28) addr:0x020fa1b0
func_ov021_020f8818 kind:function(arm,size=0x28) addr:0x020fa1b0
func_ov021_020fa1d8 kind:function(arm,size=0x458) addr:0x020fa1d8
_ZN18UnkStruct_027e0cf4D1Ev kind:function(arm,size=0x44) addr:0x020fa630
_ZN18UnkStruct_027e0cf419func_ov021_020f8cdcEv kind:function(arm,size=0x44) addr:0x020fa674
+1 -1
View File
@@ -1426,7 +1426,7 @@ func_ov026_0210ee50 kind:function(arm,size=0x488) addr:0x0210ee50
func_ov026_0210f2d8 kind:function(arm,size=0x150) addr:0x0210f2d8
func_ov026_0210f428 kind:function(arm,size=0x30) addr:0x0210f428
func_ov026_0210f458 kind:function(arm,size=0x468) addr:0x0210f458
func_ov026_0210f8c0 kind:function(arm,size=0x3b8) addr:0x0210f8c0
func_ov026_0210d664 kind:function(arm,size=0x3b8) addr:0x0210f8c0
func_ov026_0210fc78 kind:function(arm,size=0x690) addr:0x0210fc78
func_ov026_02110308 kind:function(arm,size=0x80) addr:0x02110308
func_ov026_02110388 kind:function(arm,size=0x3c) addr:0x02110388
+1 -1
View File
@@ -615,7 +615,7 @@ _ZN19ActorProfileUnkZLSLC1Ev kind:function(thumb,size=0x3c) addr:0x020eba64
func_ov031_020ebaa0 kind:function(thumb,size=0x30) addr:0x020ebaa0
func_ov031_020ebad0 kind:function(thumb,size=0x14) addr:0x020ebad0
func_ov031_020ebae4 kind:function(thumb,size=0x8) addr:0x020ebae4
func_ov031_020ebaec kind:function(thumb,size=0x40) addr:0x020ebaec
func_ov031_020ea100 kind:function(thumb,size=0x40) addr:0x020ebaec
func_ov031_020ebb2c kind:function(thumb,size=0x3b4) addr:0x020ebb2c
func_ov031_020ebee0 kind:function(thumb,size=0xc) addr:0x020ebee0
func_ov031_020ebeec kind:function(thumb,size=0xc) addr:0x020ebeec
+1 -1
View File
@@ -249,7 +249,7 @@ _ZN19ActorProfileUnkCASL10GetProfileEv kind:function(arm,size=0xc) addr:0x021606
_ZN19ActorProfileUnkCASL6CreateEv kind:function(arm,size=0x24) addr:0x021606c0
_ZN19ActorProfileUnkCASLC1Ev kind:function(arm,size=0x28) addr:0x021606e4
_ZN12ActorUnkCASLC1Ev kind:function(arm,size=0xc4) addr:0x0216070c
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x6c) addr:0x021607d0
_ZN12ActorUnkCASL19func_ov060_021607d0Ev kind:function(arm,size=0x6c) addr:0x021607d0
_ZN12ActorUnkCASL19func_ov060_0215eafcEv kind:function(arm,size=0x14) addr:0x0216083c
_ZN12ActorUnkCASL19func_ov060_0215eb10Ev kind:function(arm,size=0x14) addr:0x02160850
_ZN12ActorUnkCASL19func_ov060_0215eb24Ev kind:function(arm,size=0x20) addr:0x02160864
+2 -2
View File
@@ -263,12 +263,12 @@ func_ov071_02160994 kind:function(arm,size=0x4) addr:0x02160994
func_ov071_02160998 kind:function(arm,size=0x44) addr:0x02160998
func_ov071_021609dc kind:function(arm,size=0xc) addr:0x021609dc
func_ov071_021609e8 kind:function(arm,size=0xd8) addr:0x021609e8
func_ov071_02160ac0 kind:function(arm,size=0x24) addr:0x02160ac0
func_ov071_0215e8d4 kind:function(arm,size=0x24) addr:0x02160ac0
_ZN18UnkStruct_027e0d7019func_ov071_0215e8f8Ev kind:function(arm,size=0x70) addr:0x02160ae4
func_ov071_02160b54 kind:function(arm,size=0x44) addr:0x02160b54
_ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x02160b98
func_ov071_02160c00 kind:function(arm,size=0x7c) addr:0x02160c00
func_ov071_02160c7c kind:function(arm,size=0x38) addr:0x02160c7c
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x38) addr:0x02160c7c
_ZN18UnkStruct_027e0d7019func_ov071_0215eac8Ev kind:function(arm,size=0x50) addr:0x02160cb4
func_ov071_02160d04 kind:function(arm,size=0xc) addr:0x02160d04
func_ov071_02160d10 kind:function(arm,size=0x27c) addr:0x02160d10
+1 -1
View File
@@ -1,4 +1,4 @@
func_ov096_0217bde0 kind:function(arm,size=0x9c) addr:0x0217bde0
_ZN9Inventory19func_ov096_02179b20Ev kind:function(arm,size=0x9c) addr:0x0217bde0
func_ov096_0217be7c kind:function(thumb,size=0x20) addr:0x0217be7c
func_ov096_0217be9c kind:function(thumb,size=0x20) addr:0x0217be9c
func_ov096_0217bebc kind:function(thumb,size=0xc) addr:0x0217bebc
+1 -1
View File
@@ -1,4 +1,4 @@
_ZN11ItemManager19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x021865c0
_ZN9Inventory19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x021865c0
_ZN22UnkStruct_PlayerGet_748vfunc_00Eiii kind:function(arm,size=0x30) addr:0x0218692c
_ZN9PlayerGetC2Ev kind:function(arm,size=0xa0) addr:0x0218695c
_ZN9PlayerGetD1Ev kind:function(arm,size=0xc4) addr:0x021869fc
+7 -7
View File
@@ -642,7 +642,7 @@ _ZN18UnkStruct_02011e1013func_020130d4Ei kind:function(arm,size=0x1c) addr:0x020
func_020130f0 kind:function(arm,size=0x28) addr:0x020130f0
func_02013118 kind:function(arm,size=0x30) addr:0x02013118
func_02013148 kind:function(arm,size=0x1c) addr:0x02013148
func_02013164 kind:function(arm,size=0x20) addr:0x02013164
_ZN18UnkStruct_02011e10D1Ev kind:function(arm,size=0x20) addr:0x02013164
func_02013184 kind:function(arm,size=0x2c) addr:0x02013184
func_020131b0 kind:function(arm,size=0x3c) addr:0x020131b0
func_020131ec kind:function(arm,size=0x28) addr:0x020131ec
@@ -682,7 +682,7 @@ func_02013e48 kind:function(arm,size=0x3c) addr:0x02013e48
func_02013e84 kind:function(arm,size=0x4c) addr:0x02013e84
_ZN18UnkStruct_02049b8013func_02013eccEiPFvtEi kind:function(arm,size=0x1c) addr:0x02013ed0
_ZN18UnkStruct_02049b8013func_02013ee8Eii kind:function(arm,size=0x98) addr:0x02013eec
func_02013f84 kind:function(arm,size=0x6c) addr:0x02013f84
_ZN18UnkStruct_02049b8013func_02013f80Ei kind:function(arm,size=0x6c) addr:0x02013f84
func_02013ff0 kind:function(arm,size=0xc) addr:0x02013ff0
func_02013ffc kind:function(arm,size=0x12c) addr:0x02013ffc
_ZN12TouchControl11UpdateStateEP10TouchStatePK6TPData kind:function(arm,size=0xb8) addr:0x02014128
@@ -696,8 +696,8 @@ _ZN12TouchControl13func_02014414Etb kind:function(arm,size=0x64) addr:0x02014418
_ZN12TouchControl13func_02014478EP10TouchStatet kind:function(arm,size=0x28) addr:0x0201447c
func_020144a4 kind:function(thumb,size=0x10) addr:0x020144a4
func_020144b4 kind:function(thumb,size=0x1c) addr:0x020144b4
func_020144d0 kind:function(thumb,size=0x6c) addr:0x020144d0
func_0201453c kind:function(thumb,size=0x34) addr:0x0201453c
_ZN21UnkStruct_02011e10_2C13func_020144ccEiii kind:function(thumb,size=0x6c) addr:0x020144d0
_ZN21UnkStruct_02011e10_2C13func_02014538Ev kind:function(thumb,size=0x34) addr:0x0201453c
func_02014570 kind:function(arm,size=0x44) addr:0x02014570
func_020145b4 kind:function(arm,size=0x80) addr:0x020145b4
func_02014634 kind:function(arm,size=0x58) addr:0x02014634
@@ -1365,8 +1365,8 @@ GX_DisableBankForLCDC kind:function(arm,size=0x14) addr:0x0202591c
func_02025930 kind:function(arm,size=0x10) addr:0x02025930
func_02025940 kind:function(arm,size=0x54) addr:0x02025940
func_02025994 kind:function(arm,size=0x18) addr:0x02025994
func_020259ac kind:function(arm,size=0x18) addr:0x020259ac
func_020259c4 kind:function(arm,size=0x18) addr:0x020259c4
func_0202447c kind:function(arm,size=0x18) addr:0x020259ac
func_02024494 kind:function(arm,size=0x18) addr:0x020259c4
func_020259dc kind:function(arm,size=0x18) addr:0x020259dc
G2_func_0001 kind:function(arm,size=0x34) addr:0x020259f4
G2S_func_0001 kind:function(arm,size=0x20) addr:0x02025a28
@@ -2137,7 +2137,7 @@ __register_global_object kind:function(arm,size=0x20) addr:0x0203e3a4
func_0203e3c4 kind:function(arm,size=0x1b4) addr:0x0203e3c4
func_0203e578 kind:function(arm,size=0x48) addr:0x0203e578
func_0203e5c0 kind:function(arm,size=0x14) addr:0x0203e5c0
func_0203e5d4 kind:function(arm,size=0xbc) addr:0x0203e5d4
__cxa_vec_newinit kind:function(arm,size=0xbc) addr:0x0203e5d4
__cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0203e690
__cxa_vec_cleanup kind:function(arm,size=0x48) addr:0x0203e740
func_0203e788 kind:function(arm,size=0x14) addr:0x0203e788
+3 -3
View File
@@ -156,9 +156,9 @@ public:
/* 0C */ virtual unk8 vfunc_0C();
/* 10 */ virtual void vfunc_10(VecFx32 *param1);
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual bool vfunc_18(unk32 param1);
/* 1C */ virtual void vfunc_1C();
/* 20 */ virtual void vfunc_20();
/* 18 */ virtual bool vfunc_18(unk32 param1); // Init?
/* 1C */ virtual void vfunc_1C(); // Setup
/* 20 */ virtual void vfunc_20(); // Update?
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2C */ virtual void vfunc_2C(unk32 param1);
+2 -1
View File
@@ -26,7 +26,6 @@ public:
/* 4C */ virtual ~ActorUnkPMST() override;
void func_ov077_02159db4(void);
void func_ov077_02159ddc(void);
void func_ov077_02159e14(void);
void func_ov077_02159e40(void);
@@ -47,6 +46,8 @@ public:
void func_ov077_0215aa20(void);
void func_ov077_0215aa44(void);
void func_ov077_0215aa88(void);
static void func_ov077_02159db4(void);
};
class ActorProfileUnkPMST : public ActorProfile_Derived1 {
+2 -1
View File
@@ -26,7 +26,6 @@ public:
/* 4C */ virtual ~ActorUnkPMTT() override;
void func_ov042_0212d8a4(void);
void func_ov042_0212d8cc(void);
void func_ov042_0212d904(void);
void func_ov042_0212d930(void);
@@ -44,6 +43,8 @@ public:
void func_ov042_0212e4d8(void);
void func_ov042_0212e4f8(void);
void func_ov042_0212e53c(void);
static void func_ov042_0212d8a4(void);
};
class ActorProfileUnkPMTT : public ActorProfile {
+2 -2
View File
@@ -94,8 +94,8 @@ enum SceneIndex_ {
/* 75 */ SceneIndex_tekiya05 = 0x4B, // take em all on?
/* 76 */ SceneIndex_tekiya06 = 0x4C, // take em all on?
/* 77 */ SceneIndex_tekiya07 = 0x4D, // take em all on?
/* 78 */ SceneIndex_tekiya08 = 0x4E, // take em all on?
/* 79 */ SceneIndex_tekiya09 = 0x4F, // take em all on?
/* 78 */ SceneIndex_tekiya08 = 0x4E, // take em all on - fire boss
/* 79 */ SceneIndex_tekiya09 = 0x4F, // take em all on - sand boss
/* 80 */ SceneIndex_demo_train = 0x50, // title screen?
/* 81 */ SceneIndex_e3_train = 0x51, // ?
/* 82 */ SceneIndex_e3_dungeon = 0x52, // ?
+1 -1
View File
@@ -33,7 +33,7 @@ public:
/* 04 */ GameModeCreateCallback createCallback;
/* 08 */ GameUnkCallback1 mUnk_08; // seems related to entering and leaving houses/grottos??
/* 0C */ unk32 mFrameCounter;
/* 10 */ SaveSlot *mpSaveSlot;
/* 10 */ GameSaveSlot *mpSaveSlot;
/* 14 */ GameUnkCallback2 mUnk_14; // only set for wireless stuff?
/* 18 */ GameUnkCallback3 mUnk_18; // same as above
/* 1C */ UnkStruct_02049a2c_1C mUnk_1C;
+1
View File
@@ -5,6 +5,7 @@
#define MAX_KEYS 8
#define MAX_TEARS_OF_LIGHT 3
#define MAX_RUPEES 9999
#define CAPACITY_QUIVER_TIER_1 20
#define CAPACITY_QUIVER_TIER_2 30
+104 -19
View File
@@ -54,8 +54,23 @@ public:
bool func_ov031_020db8f8();
};
class ItemManager {
public:
struct InvImportData {
/* 00 */ u32 quiverCapacity : 2;
/* */ u32 bombBagCapacity : 2;
/* */ u32 arrowAmount : 6;
/* */ u32 bombsAmount : 6;
/* */ u32 pad : 12;
/* */ u32 potion1 : 2;
/* */ u32 potion2 : 2;
/* 04 */ u32 flags[2];
/* 0C */ u16 numRupees;
/* 0E */ u16 unk_0E;
/* 10 */ s8 equippedItem;
/* 14 */
};
class Inventory {
private:
/* 00 */ ItemFlag mEquippedItem;
/* 04 */ ItemFlag mForcedItem;
/* 08 */ u32 mFlags[2]; // inventory items bitfield & collection/equipment bitfield
@@ -69,25 +84,47 @@ public:
/* 1A */ u8 mArrowAmount;
/* 1B */ u8 mBombAmount;
/* 1C */ u8 mPotions[MAX_POTIONS];
/* 1E */ unk16 mUnk_1E;
/* 20 */ UnkStruct_ItemManager_20 *mUnk_20;
/* 24 */ unk8 mUnk_24;
/* 24 */ unk8 mUnk_25;
/* 24 */ unk8 mUnk_26;
/* 24 */ unk8 mUnk_27;
/* 28 */
/* 1E */ unk16 mUnk_1E; // pad?
/* 20 */
u8 GetTearsAmount() const {
return this->mTearsAmount;
public:
// clang-format off
const ItemFlag GetCurrentItem() const { return this->mEquippedItem; }
const bool HasItem(int flag) const { return GET_FLAG(this->mFlags, flag); }
const u16 GetNumRupees() const { return this->mNumRupees; }
const u16 GetRestrictions() const { return this->mItemRestrictions; }
const bool HasUnk12(int value) const { return (this->mUnk_12 & value) != 0; }
const bool HasRestriction(int flag) const { return IS_ITEM_RESTRICTED(this->mItemRestrictions, flag); }
const u8 GetTearsAmount() const { return this->mTearsAmount; }
const u8 GetKeyAmount() const { return this->mKeyAmount; }
const UpgradeCapacity GetQuiverCap() const { return this->mQuiverCapacity; }
const UpgradeCapacity GetBombsCap() const { return this->mBombBagCapacity; }
const UpgradeCapacity GetArrowAmount() const { return this->mArrowAmount; }
const UpgradeCapacity GetBombAmount() const { return this->mBombAmount; }
void FlipUnk12(int value) { this->mUnk_12 ^= value; }
// clang-format on
void SetNextQuiverCapacity() {
if (this->mQuiverCapacity < UpgradeCapacity_Tier3) {
this->mQuiverCapacity++;
}
this->mArrowAmount = this->GetQuiverCapacity();
}
u8 GetKeyAmount() const {
return this->mKeyAmount;
void SetNextBombBagCapacity() {
if (this->mBombBagCapacity < UpgradeCapacity_Tier3) {
this->mBombBagCapacity++;
}
this->mBombAmount = this->GetBombBagCapacity();
}
ItemManager();
~ItemManager();
Inventory();
~Inventory();
// overlay 0
void SetFlag(ItemFlag itemFlag);
void ClearFlag(ItemFlag itemFlag);
bool HasRecruitUniform();
@@ -105,8 +142,55 @@ public:
bool HasPurplePotion();
void RemovePurplePotion();
bool PotionSlotsFull();
static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag);
static ItemFlag GetEquippedItemFlag(ItemId itemId);
// overlay 1
void func_ov001_020bb8bc(const InvImportData *pSrc);
void func_ov001_020bb9f8();
void func_ov001_020bba54();
void func_ov001_020bba6c();
// overlay 96
void func_ov096_02179b20();
// overlay 110
bool func_ov110_02184a40(ItemId itemId);
};
class ItemManager {
private:
/* 00 */ Inventory mInventory;
/* 20 */ UnkStruct_ItemManager_20 *mUnk_20;
/* 24 */ unk8 mUnk_24;
/* 24 */ unk8 mUnk_25;
/* 24 */ unk8 mUnk_26;
/* 24 */ unk8 mUnk_27;
/* 28 */
public:
// clang-format off
Inventory* GetInventory() { return &this->mInventory; }
const Inventory* GetInventory() const { return &this->mInventory; }
const ItemFlag GetCurrentItem() const { return this->GetInventory()->GetCurrentItem(); }
const bool HasItem(int flag) const { return this->GetInventory()->HasItem(flag); }
const u16 GetNumRupees() const { return this->GetInventory()->GetNumRupees(); }
const u16 GetRestrictions() const { return this->GetInventory()->GetRestrictions(); }
const bool HasUnk12(int value) const { return this->GetInventory()->HasUnk12(value); }
const bool HasRestriction(int flag) const { return this->GetInventory()->HasRestriction(flag); }
const u8 GetTearsAmount() const { return this->GetInventory()->GetTearsAmount(); }
const u8 GetKeyAmount() const { return this->GetInventory()->GetKeyAmount(); }
const UpgradeCapacity GetQuiverCap() const { return this->GetInventory()->GetQuiverCap(); }
const UpgradeCapacity GetBombsCap() const { return this->GetInventory()->GetBombsCap(); }
const UpgradeCapacity GetArrowAmount() const { return this->GetInventory()->GetArrowAmount(); }
const UpgradeCapacity GetBombAmount() const { return this->GetInventory()->GetBombAmount(); }
void FlipUnk12(int value) { this->GetInventory()->FlipUnk12(value); }
// clang-format on
ItemManager();
~ItemManager() {}
// overlay 0
void func_ov000_020a89bc();
bool func_ov000_020a89d4();
bool func_ov000_020a8a0c();
@@ -117,9 +201,10 @@ public:
unk32 func_ov000_020a8ab8();
unk32 func_ov000_020a8acc();
void func_ov001_020bb9f8();
static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag);
static ItemFlag GetEquippedItemFlag(ItemId itemId);
bool func_ov110_02184a40(ItemId itemId);
// overlay 110
static u32 GetBmgIDFromItem(ItemId itemId);
static AdventureFlag GetAdvFlagFromItem(ItemId itemId);
};
+2 -2
View File
@@ -132,8 +132,8 @@ public:
/* 40 */
// data_ov000_020b3590
/* 00 */ virtual bool vfunc_00(); // Init? the newly-created map object is deleted if this returns false
/* 04 */ virtual void vfunc_04();
/* 00 */ virtual bool vfunc_00(); // Init
/* 04 */ virtual void vfunc_04(); // Setup
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
+4 -4
View File
@@ -24,8 +24,8 @@ public:
/* 04 */ MapObject **mMapObjTableEnd;
/* 08 */ MapObject **mUnk_08; // pointer to first available slot?
/* 0C */ s16 **mUnk_0C; // unknown table
/* 10 */ void **mUnk_10; // unknown table end
/* 14 */ void *mUnk_14;
/* 10 */ s16 **mUnk_10; // unknown table end
/* 14 */ s16 *mUnk_14;
/* 18 */ unk16 mUnk_18;
/* 1A */ unk16 mUnk_1A;
/* 1C */ unk16 mUnk_1C;
@@ -47,7 +47,7 @@ public:
// overlay 0
MapObjectId func_ov000_0209c3a8(Vec2bCpp *param1);
void func_ov000_0209c3e8();
void func_ov000_0209c444();
void func_ov000_0209c444(unk32 param1);
MapObject *AllocateMapObject(MapObjectId mapObjId, Vec2b param2, u16 param3, unk32 param4, u8 param5);
static void func_ov000_0209c490();
@@ -59,9 +59,9 @@ public:
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_020baea0(u16 *param1);
void func_ov001_020baf28();
static MapObjectManager *Create();
+2 -1
View File
@@ -26,7 +26,7 @@ public:
/* 10 */ MapObjectId mMapObjId;
/* 14 */ MapObjectId mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1C */ unk8 mUnk_1C;
/* 1C */ u8 mUnk_1C;
/* 1D */ unk8 mUnk_1D;
/* 1E */ u16 mUnk_1E;
/* 20 */
@@ -48,6 +48,7 @@ public:
static unk32 func_ov000_0209c820();
static void func_ov000_0209c8ec(MapObjectProfile *thisx);
void func_ov000_0209c8ec();
};
class MapObjectProfile_Derived1 : public MapObjectProfile {
+8
View File
@@ -332,6 +332,14 @@ struct SaveFile_00000_2600_Data {
/* 80 */
};
struct GameSaveSlot {
/* 0000 */ SaveInfoData mInfoData;
/* 0E00 */ SaveTreasureData mTreasureData;
/* 0E80 */ SaveFile_00000_2600_Data mUnk_2600;
/* 0F00 */ SaveFile_00000_1D00_Data mUnk_1D00;
/* 1300 */
};
class SaveSlot {
public:
/* 0000 */ SaveInfoData mInfoData[COUNT_DATA];
+20 -4
View File
@@ -9,6 +9,7 @@
#include "global.h"
#include "types.h"
#include <nitro/card.h>
#include <nitro/mi.h>
#define SAVE_DATA_SIZE (sizeof(SaveSlot) + sizeof(u8) * NUM_UNK_BLOCKS * SIZE_UNK_BLOCK)
@@ -36,23 +37,37 @@ struct SaveManager_00 {
unk_B78(param1) {}
};
class SaveManager_244 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x7E);
/* 7E */ u16 mUnk_7E;
/* 80 */
SaveManager_244();
};
class SaveManager {
public:
/* 000 */ SaveManager_00 *mUnk_000; // related to mUnk_184, allocated from func_ov001_020ba670
/* 004 */ unk32 mUnk_004;
/* 008 */ STRUCT_PAD(0x08, 0x204);
/* 204 */ unk16 mUnk_204;
/* 206 */ unk16 mUnk_206;
/* 204 */ u16 mCardId;
/* 206 */ s16 mUnk_206; // this is a save slot index?
/* 208 */ unk16 mUnk_208;
/* 20A */ u8 mUnk_20A; // bool?
/* 20B */ unk8 mUnk_20B;
/* 20C */ unk32 mUnk_20C;
/* 20C */ CARDResult mResultCode;
/* 210 */ unk32 mUnk_210;
/* 214 */ unk32 mUnk_214;
/* 218 */ SaveFile *mpSaveFile;
/* 21C */ SaveFile_00000_0000_Data_D9C mUnk_21C;
/* 23C */ PTMF<SaveFile>::PTMFCallback mUnk_23C;
/* 244 */ void *mUnk_244;
/* 244 */ SaveManager_244 *mUnk_244;
/* 248 */
const size_t GetOffset() const {
return mUnk_206 * 0x7A700;
}
bool IsUnk20A() {
return this->mUnk_20A == 0;
@@ -94,6 +109,7 @@ public:
void func_ov019_020d09dc(u16 saveSlotIndex);
void func_ov019_020d0a04(u16 saveSlotIndex);
void func_ov019_020d0ae0(unk32 param1);
void func_ov001_020ba858(void);
static void func_ov019_020d086c(u16 param1);
static void func_ov019_020d0a2c(u16 param1);
+15 -12
View File
@@ -387,21 +387,24 @@ public:
/* 00 */ OverlayIndex mLoadedOverlays[OverlaySlot_COUNT];
/* 48 */
bool IsPlayerSub() {
return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub;
}
// clang-format off
const bool IsTower() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower; }
const bool IsBossDesert() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDesert; }
const bool IsBossDeago() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago; }
const bool IsBossLast1() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1; }
const bool IsBossLast2() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2; }
const bool IsDungeonForest() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnForest; }
const bool IsPirateHideout() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito; }
bool IsMapA6() {
return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6;
}
const bool IsASR() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR; }
const bool IsPlayerSub() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub; }
bool IsPirateHideout() {
return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito;
}
const bool IsPlayerZelda() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerZelda; }
bool IsASR() {
return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR;
}
const bool IsMapA6() const { return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6; }
const bool IsMapB3() const { return this->mLoadedOverlays[OverlaySlot_14] == OverlayIndex_MapB3; }
// clang-format on
void Load(OverlaySlot slot, OverlayIndex index);
void LoadIfNotLoaded(OverlaySlot slot, OverlayIndex index);
+34 -4
View File
@@ -35,7 +35,9 @@ enum HeapIndex_ {
};
void *operator new(size_t length, u32 id, u32 idLength = 4);
void *operator new[](size_t length, u32 id, u32 idLength = 4);
inline void *operator new[](size_t length, u32 id, u32 idLength = 4) {
return ::operator new(length, id, idLength);
}
class UnkStruct_02011e10_Sub1 {
public:
@@ -53,15 +55,29 @@ public:
/* 2C */ unk8 mUnk_2C[0x60 - 0x2C];
};
class UnkStruct_02011e10_2C {
public:
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00;
/* 04 */ STRUCT_PAD(0x04, 0x18);
/* 18 */
UnkStruct_02011e10_2C();
// main
void func_020144cc(unk32 param1, unk32 param2, unk32 param3);
void func_02014538();
};
class UnkStruct_02011e10 {
public:
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00[HeapIndex_Max]; // the pointer seems to match arena lo
/* 24 */ unk32 mUnk_24[2];
/* 28 */ STRUCT_PAD(0x2C, 0x5C);
/* 2C */ UnkStruct_02011e10_2C mUnk_2C;
/* 44 */ UnkStruct_02011e10_2C mUnk_44;
/* 5C */ unk32 mUnk_5C;
/* 60 */ unk32 mUnk_60;
/* 64 */ unk32 mUnk_64;
/* 68 */ unk32 mUnk_68;
/* 64 */ void *mUnk_64;
/* 68 */ void *mUnk_68;
/* 6C */ unk32 mUnk_6C;
/* 70 */ unk32 mUnk_70;
/* 74 */ unk32 mUnk_74;
@@ -75,12 +91,26 @@ public:
/* 82 */ unk8 mUnk_82;
/* 83 */ unk8 mUnk_83;
UnkStruct_02011e10() {}
~UnkStruct_02011e10();
// main
unk32 func_02013014();
bool func_02013070();
void func_020130d4(unk32 param1);
// overlay 1
void func_ov001_020ba588(unk32 param1, unk32 param2);
void func_ov001_020ba59c();
void func_ov001_020ba5ac(unk32 param1, unk32 param2);
void func_ov001_020ba5c0();
void func_ov001_020ba5d0();
void func_ov001_020ba608();
void func_ov001_020ba620();
void func_ov001_020ba640();
void func_ov001_020ba658();
// overlay 18
void func_ov018_020c4980();
void func_ov018_020c4a5c();
};
+10
View File
@@ -1210,3 +1210,13 @@ public:
// data_ov000_020b2940
/* 00 */ virtual void vfunc_00();
};
class UnkSystem9 : public LinkList<UnkSystem9> {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */
// data_ov000_020b24c4
/* 00 */ virtual void vfunc_00();
};
+1
View File
@@ -15,6 +15,7 @@ public:
UnkStruct_02049b80();
void func_02013ecc(unk32 param1, UnkCallback param2, unk32 param3);
void func_02013ee8(unk32 param1, unk32 param2);
void func_02013f80(unk32 param1);
};
extern UnkStruct_02049b80 data_02049b80;
+20 -1
View File
@@ -1,12 +1,31 @@
#pragma once
#include "global.h"
#include "math.hpp"
#include "types.h"
#include "versions.h"
class UnkStruct_027e095c : public AutoInstance<UnkStruct_027e095c> {
public:
/* 000 */ unk32 mUnk_000;
#if IS_JP
/* 000 */ VecFx32 mUnk_000[64];
/* 300 */ unk32 mUnk_2F4;
/* 304 */ STRUCT_PAD(0x304, 0x900);
/* 900 */ void *mUnk_8DC;
/* 904 */ unk32 mUnk_8E0;
/* 908 */ STRUCT_PAD(0x908, 0x964);
/* 960 */ void *mUnk_940;
/* 968 */
#else
/* 000 */ VecFx32 mUnk_000[63];
/* 2F4 */ unk32 mUnk_2F4;
/* 2F8 */ STRUCT_PAD(0x2F8, 0x8DC);
/* 8DC */ void *mUnk_8DC;
/* 8E0 */ unk32 mUnk_8E0;
/* 8E4 */ STRUCT_PAD(0x8E4, 0x940);
/* 940 */ void *mUnk_940;
/* 944 */
#endif
UnkStruct_027e095c();
~UnkStruct_027e095c() {}
+1
View File
@@ -12,6 +12,7 @@ struct UnkStruct_func_ov000_020702a8 {
/* 10 */ Vec2s mUnk_10;
/* 14 */ STRUCT_PAD(0x14, 0x20);
/* 20 */ unk16 mUnk_20;
/* 22 */ unk16 mUnk_22;
};
class CourseInitBinary {
+42 -5
View File
@@ -1,33 +1,70 @@
#pragma once
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_0204a060.hpp"
#include "global.h"
#include "types.h"
class UnkStruct_027e09bc_0C {
public:
/* 00 */ STRUCT_PAD(0x00, 0x34);
/* 34 */ VecFx32 mUnk_34;
/* 000 (vtable) */
/* 004 */ STRUCT_PAD(0x04, 0x34);
/* 034 */ VecFx32 mUnk_034;
/* 040 */ STRUCT_PAD(0x40, 0x264);
/* 264 */ unk32 mUnk_264;
/* 268 */ STRUCT_PAD(0x268, 0x280);
/* 280 */ unk32 mUnk_280;
/* 284 */
UnkStruct_027e09bc_0C(unk32 param1);
// data_ov000_020b24b4
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual ~UnkStruct_027e09bc_0C();
/* 10 */
// itcm
bool func_01ffd640(VecFx32 *param1);
// overlay 0
void func_ov000_02078230(unk32 param1);
bool func_ov000_0207834c(VecFx32 *param1, unk32 param2, unk32 param3);
bool func_ov000_02078764(VecFx32 *param1, void *param2, unk32 param3);
void func_ov000_02078ba4();
void func_ov000_02078cec();
};
class UnkStruct_027e09bc_24 : public UnkStruct_0204a060_Base {
public:
/* 00 (base) */
/* 24 */
UnkStruct_027e09bc_24();
// data_ov000_020b2488
/* 0C */ virtual bool vfunc_0C(void) override;
};
class UnkStruct_027e09bc : public AutoInstance<UnkStruct_027e09bc> {
public:
/* 00 */ unk32 mUnk_00;
/* 00 (vtable) */
/* 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;
/* 10 */ UnkStruct_027e09bc_0C *mUnk_10;
/* 14 */ UnkStruct_027e09bc_0C *mUnk_14[4];
/* 24 */ UnkStruct_027e09bc_24 mUnk_24;
/* 48 */ UnkSystem9 mUnk_48;
UnkStruct_027e09bc();
~UnkStruct_027e09bc();
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
// overlay 0
void func_ov000_020771b8(unk32 param1);
void func_ov000_020771c8();
// overlay 1
@@ -30,6 +30,8 @@ public:
MapObjectProfile *GetProfileFromId(MapObjectId mapObjId);
MapObject *CreateMapObject(MapObjectId mapObjId);
MapObjectProfile **func_ov000_0209c6a0();
MapObjectProfile **func_ov000_0209c6ac();
static unk32 func_ov000_0209c718(u32 param1);
};
@@ -0,0 +1,24 @@
#pragma once
#include "global.h"
#include "types.h"
class UnkStruct_ov020_020e8544 {
public:
/* 00 (vtable) */
UnkStruct_ov020_020e8544();
~UnkStruct_ov020_020e8544();
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 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();
/* 20 */ virtual unk32 vfunc_20();
};
extern UnkStruct_ov020_020e8544 *data_ov020_020e8544;
+23 -22
View File
@@ -14,19 +14,19 @@ const u8 gBombBagCapacities[UpgradeCapacity_Max] = {
CAPACITY_BOMB_BAG_TIER_3,
};
void ItemManager::SetFlag(ItemFlag itemFlag) {
void Inventory::SetFlag(ItemFlag itemFlag) {
SET_FLAG(this->mFlags, itemFlag);
}
void ItemManager::ClearFlag(ItemFlag itemFlag) {
void Inventory::ClearFlag(ItemFlag itemFlag) {
UNSET_FLAG(this->mFlags, itemFlag);
}
bool ItemManager::HasRecruitUniform() {
bool Inventory::HasRecruitUniform() {
return GET_FLAG(this->mFlags, ItemFlag_RecruitUniform) && (this->mUnk_12 & 1);
}
unk32 ItemManager::func_ov000_020a86a4() {
unk32 Inventory::func_ov000_020a86a4() {
if (GET_FLAG(this->mFlags, ItemFlag_AncientShield) && (this->mUnk_12 & 2)) {
return 1;
}
@@ -38,7 +38,7 @@ unk32 ItemManager::func_ov000_020a86a4() {
return -1;
}
u32 ItemManager::GetItemAmount(ItemFlag itemFlag) {
u32 Inventory::GetItemAmount(ItemFlag itemFlag) {
bool canUse = GET_FLAG(this->mFlags, itemFlag);
switch (itemFlag) {
@@ -53,7 +53,7 @@ u32 ItemManager::GetItemAmount(ItemFlag itemFlag) {
return canUse;
}
u8 ItemManager::GetQuiverCapacity() {
u8 Inventory::GetQuiverCapacity() {
if (GET_FLAG(this->mFlags, ItemFlag_Bow) == 0) {
return 0;
}
@@ -61,7 +61,7 @@ u8 ItemManager::GetQuiverCapacity() {
return gQuiverCapacities[this->mQuiverCapacity];
}
u8 ItemManager::GetBombBagCapacity() {
u8 Inventory::GetBombBagCapacity() {
if (GET_FLAG(this->mFlags, ItemFlag_Bombs) == 0) {
return 0;
}
@@ -69,12 +69,12 @@ u8 ItemManager::GetBombBagCapacity() {
return gBombBagCapacities[this->mBombBagCapacity];
}
void ItemManager::GiveRupees(s32 amount, bool param2, bool param3) {
void Inventory::GiveRupees(s32 amount, bool param2, bool param3) {
u16 prevNumRupees = this->mNumRupees;
s32 newAmount = this->mNumRupees + amount;
if (newAmount > 9999) {
newAmount = 9999;
if (newAmount > MAX_RUPEES) {
newAmount = MAX_RUPEES;
} else if (newAmount < 0) {
newAmount = 0;
}
@@ -86,7 +86,7 @@ void ItemManager::GiveRupees(s32 amount, bool param2, bool param3) {
}
}
void ItemManager::GiveSmallKeys(s32 amount) {
void Inventory::GiveSmallKeys(s32 amount) {
s32 newAmount = this->mKeyAmount + amount;
if (newAmount > MAX_KEYS) {
@@ -98,7 +98,7 @@ void ItemManager::GiveSmallKeys(s32 amount) {
this->mKeyAmount = newAmount;
}
void ItemManager::GiveArrows(s32 amount) {
void Inventory::GiveArrows(s32 amount) {
s32 maxArrows = this->GetQuiverCapacity();
s32 newAmount = this->mArrowAmount + amount;
@@ -111,7 +111,7 @@ void ItemManager::GiveArrows(s32 amount) {
this->mArrowAmount = newAmount;
}
void ItemManager::GiveBombs(s32 amount) {
void Inventory::GiveBombs(s32 amount) {
s32 maxBombs = this->GetBombBagCapacity();
s32 newAmount = this->mBombAmount + amount;
@@ -124,7 +124,7 @@ void ItemManager::GiveBombs(s32 amount) {
this->mBombAmount = newAmount;
}
bool ItemManager::TryEquipForcedItem() {
bool Inventory::TryEquipForcedItem() {
if (this->mForcedItem != ItemFlag_None) {
this->mEquippedItem = this->mForcedItem;
this->mForcedItem = ItemFlag_None;
@@ -135,7 +135,7 @@ bool ItemManager::TryEquipForcedItem() {
return false;
}
void ItemManager::GivePotion(PotionType type) {
void Inventory::GivePotion(PotionType type) {
switch (type) {
case PotionType_Red:
case PotionType_Purple:
@@ -152,7 +152,7 @@ void ItemManager::GivePotion(PotionType type) {
}
}
bool ItemManager::HasPotion() {
bool Inventory::HasPotion() {
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
if (this->mPotions[i] != PotionType_None) {
return true;
@@ -162,7 +162,7 @@ bool ItemManager::HasPotion() {
return false;
}
bool ItemManager::HasPurplePotion() {
bool Inventory::HasPurplePotion() {
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
if (this->mPotions[i] == PotionType_Purple) {
return true;
@@ -172,7 +172,7 @@ bool ItemManager::HasPurplePotion() {
return false;
}
void ItemManager::RemovePurplePotion() {
void Inventory::RemovePurplePotion() {
for (s32 i = ARRAY_LEN(this->mPotions) - 1; i >= 0; i--) {
if (this->mPotions[i] == PotionType_Purple) {
this->mPotions[i] = PotionType_None;
@@ -181,7 +181,7 @@ void ItemManager::RemovePurplePotion() {
}
}
bool ItemManager::PotionSlotsFull() {
bool Inventory::PotionSlotsFull() {
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
if (this->mPotions[i] == PotionType_None) {
return false;
@@ -228,12 +228,13 @@ bool ItemManager::func_ov000_020a89d4() {
}
bool ItemManager::func_ov000_020a8a0c() {
if (this->mUnk_20 == NULL || this->mEquippedItem == ItemFlag_None ||
IS_ITEM_RESTRICTED(this->mItemRestrictions, this->mEquippedItem) || this->GetItemAmount(this->mEquippedItem) == 0) {
if (this->mUnk_20 == NULL || this->GetCurrentItem() == ItemFlag_None ||
IS_ITEM_RESTRICTED(this->GetRestrictions(), this->GetCurrentItem()) ||
this->mInventory.GetItemAmount(this->GetCurrentItem()) == 0) {
return false;
}
return this->mUnk_20->func_ov031_020db874(this->mEquippedItem);
return this->mUnk_20->func_ov031_020db874(this->GetCurrentItem());
}
void ItemManager::func_ov000_020a8a5c() {
+17 -20
View File
@@ -12,7 +12,6 @@
extern "C" {
void func_ov000_020977e4();
void func_ov001_020ba59c(void *);
void func_ov021_020f8818();
void func_ov031_020ea100();
void func_ov071_0215e8d4();
@@ -31,8 +30,6 @@ const ActorId data_ov001_020c2638[] = {ActorId_FOMC, ActorId_FOMA, ActorId_FOMB,
const u16 data_ov001_020c2624[] = {0x01AE, 0x01AF, 0x01B0, 0x01B1, 0x01B2};
const u16 data_ov001_020c262e[] = {0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF};
THUMB_BEGIN
ActorManager *ActorManager::Create() {
return new(1, 4) ActorManager();
}
@@ -82,7 +79,6 @@ void ActorManager::func_ov001_020bafdc() {
}
}
// https://decomp.me/scratch/UywfM
void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
u16 unk_0A = pHeader->unk_0A;
u16 unk_08 = pHeader->unk_08;
@@ -109,19 +105,17 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
}
this->mActorTable = (Actor **) ::operator new(allocCount * 4, HeapIndex_1);
this->mActorTableEnd = this->mActorTable + allocCount * 4;
this->mActorTableEnd = (Actor **) ((uintptr_t) this->mActorTable + allocCount * 4);
size_t iVar9 = ((this->mActorTable + allocCount * 4) - this->mActorTable);
MI_CpuFill32(0, this->mActorTable, (iVar9 * 4));
MI_CpuFill32(0, this->mActorTable, (this->mActorTableEnd - this->mActorTable) * 4);
this->mUnk_08 = this->mActorTable;
data_0204999c.func_ov001_020ba588(aligned08 + iVar5, 0x100);
// it's 2 when we are on the title screen and 0 during normal gameplay, is it the game mode ?
if (data_027e09a4->mUnk_60 != 2) {
unk32 iVar5;
if (data_027e09a4->IsLand() != 0) {
iVar5 = data_027e09a4->CurrentSceneIndex();
unk32 iVar5 = data_027e09a4->CurrentSceneIndex();
OverlayManager *pMgr;
if (iVar5 == SceneIndex_f_rabbit) {
this->mUnk_34 = 0xFFFFECCD; // ~0x1332
@@ -135,13 +129,17 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
auStack_28.func_ov000_02059270(0x08, "zdf_sword02", 0x19150000);
auStack_28.func_ov000_02059270(0x0A, "whip", 0x28000000);
auStack_28.func_ov000_02059270(0x0C, "rupy0", 0x2D200000);
char *str = "rupy0";
auStack_28.func_ov000_02059270(0x0C, str, 0x2D200000);
auStack_28.func_ov000_02059288(0x0D, "rupy1", 0x0C);
auStack_28.func_ov000_02059288(0x0E, "rupy2", 0x0C);
auStack_28.func_ov000_02059288(0x0F, "rupy3", 0x0C);
auStack_28.func_ov000_02059270(0x10, "life0", 0x2D200000);
auStack_28.func_ov000_02059270(0x1D, "arrow", 0x2D200000);
pMgr = &gOverlayManager;
auStack_28.func_ov000_02059270(0x1E, "bomb", 0x2D200000);
auStack_28.func_ov000_02059270(0x1F, "drug", 0x2D200000);
auStack_28.func_ov000_02059270(0x20, "drop0", 0x2D200000);
@@ -160,31 +158,32 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
auStack_28.func_ov000_02059270(0x3C, "mic_ng", 0x35B00000);
}
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago) {
if (pMgr->IsBossDeago()) {
auStack_28.func_ov000_02059270(0x09, "bdga_chain", 0x28000000);
}
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1) {
if (pMgr->IsBossLast1()) {
auStack_28.func_ov000_02059270(0x0B, "kimrat", 0x28000000);
}
}
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower) {
if (pMgr->IsTower()) {
UnkStruct_StackTitleScreen auStack_3c("Screen/tex2d.bin", 1);
auStack_3c.func_ov000_02059270(0x34, "baloon", 0x28A00000);
auStack_3c.func_ov000_02059270(0x35, "dot", 0x28000000);
}
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago) {
if (pMgr->IsBossDeago()) {
UnkStruct_StackTitleScreen auStack_50("Screen/tex2d.bin", 1);
auStack_50.func_ov000_02059270(0x30, "deagohit", 0x29200000);
auStack_50.func_ov000_02059270(0x31, "deagotarget", 0x29200000);
}
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2) {
if (pMgr->IsBossLast2()) {
UnkStruct_StackTitleScreen auStack_64("Screen/tex2d.bin", 1);
auStack_64.func_ov000_02059270(0x32, "zeldahit", 0x29200000);
auStack_64.func_ov000_02059270(0x33, "zeldatarget", 0x2D200000);
char *str = "zeldatarget";
auStack_64.func_ov000_02059270(0x33, str, 0x2D200000);
}
} else if (data_027e09a4->IsTrain()) {
UnkStruct_StackTitleScreen auStack_78("Npc/Tex.bin", 1);
@@ -207,7 +206,7 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
}
void ActorManager::func_ov001_020bb414() {
func_ov001_020ba59c(&data_0204999c);
data_0204999c.func_ov001_020ba59c();
if (data_027e09a4->UnkCheck(data_027e09a4->CurrentSceneIndex())) {
this->func_ov001_020bb844();
@@ -400,5 +399,3 @@ void ActorManager::func_ov001_020bb844() {
}
DECL_INSTANCE(ActorManager, gpActorManager);
THUMB_END
-4
View File
@@ -2,8 +2,6 @@
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "global.h"
THUMB_BEGIN
CargoManager::CargoManager() {
this->mUnk_18 = 0;
this->mUnk_1C = 0;
@@ -21,5 +19,3 @@ void CargoManager::func_ov001_020bf830() {
}
DECL_INSTANCE(CargoManager, gpCargoManager);
THUMB_END
@@ -23,8 +23,6 @@ void *func_ov000_02066294();
extern int data_ov001_020c27a8;
extern int data_ov001_020c276c;
THUMB_BEGIN
AdventureModeManager *AdventureModeManager::Create(unk32 param1) {
return new(HeapIndex_1) AdventureModeManager(param1);
}
@@ -325,5 +323,3 @@ AdventureModeManager_15C::AdventureModeManager_15C() :
AdventureModeManager_15C::~AdventureModeManager_15C() {
delete this->mUnk_20.mUnk_00;
}
THUMB_END
@@ -11,8 +11,6 @@ void func_0201659c();
extern int data_ov001_020c27a8;
extern int data_ov001_020c276c;
THUMB_BEGIN
GameModeAdventure::GameModeAdventure() {
func_0201659c();
gGame.func_02013370(2);
@@ -21,5 +19,3 @@ GameModeAdventure::GameModeAdventure() {
gSaveManager.func_ov001_020ba7a8();
func_ov020_020c4ac0(UnkStruct_027e09a4::Create(0));
}
THUMB_END
+117 -3
View File
@@ -1,12 +1,104 @@
#include "Actor/ActorManager.hpp"
#include "Item/ItemManager.hpp"
#include "Save/SaveManager.hpp"
#include "System/OverlayManager.hpp"
#include "Unknown/UnkStruct_027e09a0.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
THUMB_BEGIN
#include <nitro/mi.h>
void ItemManager::func_ov001_020bb9f8() {
extern unk32 data_ov000_020b3000;
Inventory::Inventory() {
this->mEquippedItem = ItemFlag_None;
this->mForcedItem = ItemFlag_None;
MI_CpuFill32(0, this->mFlags, sizeof(this->mFlags));
this->mNumRupees = 0;
this->mUnk_12 = 0;
this->mItemRestrictions = 0;
this->mTearsAmount = 0;
this->mKeyAmount = 0;
this->mQuiverCapacity = 0;
this->mBombBagCapacity = 0;
this->mArrowAmount = 0;
this->mBombAmount = 0;
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
this->mPotions[i] = 0;
}
}
Inventory::~Inventory() {}
void Inventory::func_ov001_020bb8bc(const InvImportData *pSrc) {
this->mEquippedItem = pSrc->equippedItem;
MI_CpuCopy32((void *) &pSrc->flags, this->mFlags, sizeof(this->mFlags));
this->mNumRupees = pSrc->numRupees;
vu16 stack_unused = pSrc->unk_0E;
this->mUnk_12 = pSrc->unk_0E;
this->mQuiverCapacity = pSrc->quiverCapacity;
this->mBombBagCapacity = pSrc->bombBagCapacity;
this->mArrowAmount = pSrc->arrowAmount;
this->mBombAmount = pSrc->bombsAmount;
this->mPotions[0] = pSrc->potion1;
this->mPotions[1] = pSrc->potion2;
if ((s32) this->mEquippedItem < ItemFlag_None) {
this->mEquippedItem = ItemFlag_None;
}
if ((s32) this->mEquippedItem > ItemFlag_SandRod) {
this->mEquippedItem = ItemFlag_SandRod;
}
if ((s32) this->mEquippedItem != ItemFlag_None) {
if (!GET_FLAG(this->mFlags, this->mEquippedItem)) {
this->mEquippedItem = ItemFlag_None;
}
}
if (this->mEquippedItem == ItemFlag_None) {
for (u32 i = 0; i < ItemFlag_EQUIP_COUNT; i++) {
if (GET_FLAG(this->mFlags, i)) {
this->mEquippedItem = i;
break;
}
}
}
if (this->mNumRupees > MAX_RUPEES) {
this->mNumRupees = MAX_RUPEES;
}
if ((*(vu16 *) &this->mUnk_12 & 0x01) && !GET_FLAG(this->mFlags, ItemFlag_RecruitUniform)) {
this->mUnk_12 &= ~0x01;
}
if ((*(vu16 *) &this->mUnk_12 & 0x02) && !GET_FLAG(this->mFlags, ItemFlag_AncientShield)) {
this->mUnk_12 &= ~0x02;
}
if (this->mQuiverCapacity > UpgradeCapacity_Tier3) {
this->mQuiverCapacity = UpgradeCapacity_Tier3;
}
if (this->mBombBagCapacity > UpgradeCapacity_Tier3) {
this->mBombBagCapacity = UpgradeCapacity_Tier3;
}
if (this->mArrowAmount > this->GetQuiverCapacity()) {
this->mArrowAmount = this->GetQuiverCapacity();
}
if (this->mBombAmount > this->GetBombBagCapacity()) {
this->mBombAmount = this->GetBombBagCapacity();
}
}
void Inventory::func_ov001_020bb9f8() {
if (data_027e09a4->IsNotCutscene() && gOverlayManager.mLoadedOverlays[OverlaySlot_10] != OverlayIndex_PlayerPhantom) {
this->mTearsAmount = 0;
}
@@ -24,4 +116,26 @@ void ItemManager::func_ov001_020bb9f8() {
}
}
THUMB_END
void Inventory::func_ov001_020bba54() {
this->mItemRestrictions = 0;
if (gOverlayManager.IsPlayerZelda()) {
this->func_ov096_02179b20();
}
}
void Inventory::func_ov001_020bba6c() {
struct {
void *ptr;
unk32 actorId;
} uStack_18;
uStack_18.ptr = &data_ov000_020b3000;
uStack_18.actorId = ActorId_SZKU;
Actor **ppActor = gpActorManager->func_01fff350(&uStack_18, gpActorManager->mActorTable);
while (ppActor != gpActorManager->mUnk_08) {
UNSET_FLAG((*ppActor)->mFlags, ActorFlag_Alive);
(*ppActor)->func_ov000_020984f0();
ppActor = gpActorManager->func_01fff350(&uStack_18, ppActor + 1);
}
}
@@ -0,0 +1,211 @@
#include "Actor/ActorUnkPMST.hpp"
#include "Actor/ActorUnkPMTT.hpp"
#include "MapObject/MapObjectManager.hpp"
#include "System/OverlayManager.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
#include "versions.h"
#include <nitro/mi.h>
extern "C" bool func_ov026_0210d664(SceneIndex sceneIndex, MapObjectId mapObjId);
MapObjectManager *MapObjectManager::Create() {
return new(HeapIndex_1) MapObjectManager();
}
MapObjectManager::MapObjectManager() {
this->mMapObjTable = NULL;
this->mMapObjTableEnd = NULL;
this->mUnk_0C = NULL;
this->mUnk_10 = NULL;
this->mUnk_14 = NULL;
this->mUnk_6C = &this->mUnk_1C;
}
MapObjectManager::~MapObjectManager() {
if (this->mUnk_0C != NULL) {
delete this->mUnk_0C;
}
if (this->mMapObjTable != NULL) {
delete this->mMapObjTable;
}
}
void MapObjectManager::func_ov001_020bac9c() {
MapObject **ppMapObjTable = this->mMapObjTable;
while (ppMapObjTable != this->mUnk_08) {
MapObject *pMapObj = *ppMapObjTable;
if (pMapObj != NULL) {
// alive and uninitialized?
if (GET_FLAG(pMapObj->mFlags, MapObjFlag_Alive) && !GET_FLAG(pMapObj->mFlags, MapObjFlag_4)) {
pMapObj->vfunc_04();
SET_FLAG(pMapObj->mFlags, MapObjFlag_4);
}
}
ppMapObjTable++;
}
}
void MapObjectManager::func_ov001_020bacd8(ZOBHeader *pHeader) {
u16 unk_0A = pHeader->unk_0A;
u16 unk_08 = pHeader->unk_08;
this->mUnk_18 = 0;
this->mUnk_1A = 0;
int aligned0A = ALIGN_NEXT(unk_0A, 8);
int aligned08 = ALIGN_NEXT(unk_08, 8);
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->CurrentSceneIndex())->mUnk_22;
s32 allocCount;
if (data_027e09a4->IsTrain()) {
if (data_027e09a4->GetCurrentCourseEntry()->unk_10 == 4) {
allocCount = aligned0A + 0x80;
} else {
allocCount = aligned0A + 0x40;
}
} else if (gOverlayManager.IsBossDesert()) {
allocCount = aligned0A + 0x40;
} else {
allocCount = aligned0A + 0x18;
}
if (this->mMapObjTable != NULL) {
delete this->mMapObjTable;
}
this->mMapObjTable = (MapObject **) ::operator new(allocCount * 4, HeapIndex_1);
this->mMapObjTableEnd = (MapObject **) ((uintptr_t) this->mMapObjTable + allocCount * 4);
MI_CpuFill32(0, this->mMapObjTable, (this->mMapObjTableEnd - this->mMapObjTable) * 4);
this->mUnk_08 = this->mMapObjTable;
data_0204999c.func_ov001_020ba5ac(aligned08 + iVar5, 0x80);
}
void MapObjectManager::func_ov001_020bad80() {
data_0204999c.func_ov001_020ba5c0();
if (this->mMapObjTable != 0) {
delete this->mMapObjTable;
}
this->mMapObjTable = NULL;
this->mMapObjTableEnd = NULL;
}
void MapObjectManager::func_ov001_020bada0() {
if (gOverlayManager.IsDungeonForest()) {
ActorUnkPMST::func_ov077_02159db4();
}
#if IS_JP
if (gOverlayManager.IsMapB3()) {
ActorUnkPMTT::func_ov042_0212d8a4();
}
#endif
}
void MapObjectManager::func_ov001_020badb4() {
int i = 0;
MapObject **ppMapObjTable = this->mMapObjTable;
while (ppMapObjTable < this->mUnk_08) {
MapObject *pMapObj = *ppMapObjTable;
if (pMapObj != NULL) {
this->func_ov000_0209c444(i);
}
ppMapObjTable++;
i++;
}
this->mUnk_08 = this->mMapObjTable;
}
void MapObjectManager::func_ov001_020bade0() {
MapObjectProfile **ptr1 = data_ov000_020b5d34.func_ov000_0209c6a0();
MapObjectProfile **ptr2 = data_ov000_020b5d34.func_ov000_0209c6ac();
while (ptr1 != ptr2) {
if (*ptr1 != NULL) {
bool iVar4 = false;
if (data_027e09a4->IsTrain()) {
iVar4 = func_ov026_0210d664(data_027e09a4->CurrentSceneIndex(), (*ptr1)->mMapObjId);
}
if ((*ptr1)->mUnk_1C && !iVar4) {
MapObjectProfile::func_ov000_0209c8ec((*ptr1));
}
}
ptr1++;
ptr2 = data_ov000_020b5d34.func_ov000_0209c6ac();
}
}
void MapObjectManager::func_ov001_020bae40(ZeldaObjectList *pObjList) {
for (s32 i = 0; i < pObjList->header.nEntries; i++) {
MapObjectProfile::func_ov000_0209c8ec(data_ov000_020b5d34.GetProfileFromId(pObjList->aIdList[i]));
}
}
void MapObjectManager::func_ov001_020bae6c() {
MapObjectProfile **ptr1 = data_ov000_020b5d34.func_ov000_0209c6a0();
MapObjectProfile **ptr2 = data_ov000_020b5d34.func_ov000_0209c6ac();
while (ptr1 != ptr2) {
if (*ptr1 != NULL) {
(*ptr1)->func_ov000_0209c970();
}
ptr1++;
ptr2 = data_ov000_020b5d34.func_ov000_0209c6ac();
}
}
void MapObjectManager::func_ov001_020baea0(u16 *param1) {
this->mUnk_14 = (s16 *) ::operator new(param1[0] * param1[1] * sizeof(s16), HeapIndex_1);
MI_CpuFill16(0xFFFF, this->mUnk_14, param1[0] * param1[1] * 2);
u16 param1_1 = param1[1];
if (this->mUnk_0C != NULL) {
delete this->mUnk_0C;
}
this->mUnk_0C = (s16 **) ::operator new(param1_1 * 4, HeapIndex_1);
this->mUnk_10 = (s16 **) ((uintptr_t) this->mUnk_0C + param1_1 * 4);
for (u32 i = 0; i < this->mUnk_10 - this->mUnk_0C; i++) {
this->mUnk_0C[i] = &this->mUnk_14[param1[0] * i];
}
this->mUnk_18 = param1[0];
this->mUnk_1A = param1[1];
}
void MapObjectManager::func_ov001_020baf28() {
if (this->mUnk_0C != NULL) {
delete this->mUnk_0C;
}
this->mUnk_0C = NULL;
this->mUnk_10 = NULL;
DELETE(this->mUnk_14);
this->mUnk_18 = 0;
this->mUnk_1A = 0;
}
DECL_INSTANCE(MapObjectManager, gpMapObjManager);
@@ -1,7 +1,5 @@
#include "MainGame/PassengerManager.hpp"
THUMB_BEGIN
inline bool Test(s32 val) {
bool ret = false;
@@ -79,5 +77,3 @@ bool PassengerManager::func_ov001_020bfa1c() {
}
DECL_INSTANCE(PassengerManager, gpPassengerManager);
THUMB_END
+85 -12
View File
@@ -1,28 +1,101 @@
#include "Game/Game.hpp"
#include "Save/SaveManager.hpp"
#include "Unknown/UnkStruct_02049b80.hpp"
#include "Unknown/UnkStruct_ov000_020b50c0.hpp"
THUMB_BEGIN
extern "C" unk32 func_020328c8(void *, void *, size_t);
void SaveManager::func_ov001_020ba670() {
this->mUnk_000 = new(HeapIndex_1) SaveManager_00(0);
SaveSlot *pSaveSlot = gGame.mpSaveSlot;
this->mUnk_000->unk_00 = pSaveSlot->mInfoData[0].unk_000;
MI_CpuCopyFast(&pSaveSlot->mInfoData[0].unk_158, &this->mUnk_000->unk_004, sizeof(SaveFile_00000_0000_Data_158));
GameSaveSlot *pGameSlot = gGame.mpSaveSlot;
this->mUnk_000->unk_00 = pGameSlot->mInfoData.unk_000;
MI_CpuCopyFast(&pGameSlot->mInfoData.unk_158, &this->mUnk_000->unk_004, sizeof(SaveFile_00000_0000_Data_158));
for (int i = 0; i < ARRAY_LEN(this->mUnk_000->unk_030); i++) {
MI_CpuCopy32(&pSaveSlot->mInfoData[0].unk_184[i], &this->mUnk_000->unk_030[i], sizeof(SaveFile_00000_0000_Data_184));
MI_CpuCopy32(&pGameSlot->mInfoData.unk_184[i], &this->mUnk_000->unk_030[i], sizeof(SaveFile_00000_0000_Data_184));
}
for (int i = 0; i < ARRAY_LEN(this->mUnk_000->unk_330); i++) {
MI_CpuCopy32(&pSaveSlot->mInfoData[0].unk_484[i], &this->mUnk_000->unk_330[i], sizeof(SaveFile_00000_0000_Data_484));
MI_CpuCopy32(&pGameSlot->mInfoData.unk_484[i], &this->mUnk_000->unk_330[i], sizeof(SaveFile_00000_0000_Data_484));
}
MI_CpuCopy32(&pSaveSlot->mInfoData[0].unk_C84, &this->mUnk_000->unk_B30, sizeof(SaveFile_00000_0000_Data_C84));
MI_CpuCopyFast(&pSaveSlot->mInfoData[0].unk_D24, &this->mUnk_000->unk_B40, sizeof(SaveFile_00000_0000_Data_D24));
MI_CpuCopy32(&pSaveSlot->mInfoData[0].unk_D8C, &this->mUnk_000->unk_B68, sizeof(SaveFile_00000_0000_Data_D8C));
MI_CpuCopyFast(&pSaveSlot->mInfoData[0].unk_D4C, &this->mUnk_000->unk_B78, sizeof(SaveFile_00000_0000_Data_D4C));
MI_CpuCopyFast(&pSaveSlot->mInfoData[0].unk_D9C, &this->mUnk_21C, sizeof(SaveFile_00000_0000_Data_D9C));
MI_CpuCopy32(&pGameSlot->mInfoData.unk_C84, &this->mUnk_000->unk_B30, sizeof(SaveFile_00000_0000_Data_C84));
MI_CpuCopyFast(&pGameSlot->mInfoData.unk_D24, &this->mUnk_000->unk_B40, sizeof(SaveFile_00000_0000_Data_D24));
MI_CpuCopy32(&pGameSlot->mInfoData.unk_D8C, &this->mUnk_000->unk_B68, sizeof(SaveFile_00000_0000_Data_D8C));
MI_CpuCopyFast(&pGameSlot->mInfoData.unk_D4C, &this->mUnk_000->unk_B78, sizeof(SaveFile_00000_0000_Data_D4C));
MI_CpuCopyFast(&pGameSlot->mInfoData.unk_D9C, &this->mUnk_21C, sizeof(SaveFile_00000_0000_Data_D9C));
}
THUMB_END
void SaveManager::func_ov001_020ba7a8() {
data_ov000_020b50c0.func_ov000_0206a6a4(gGame.mpSaveSlot->mUnk_2600.unk_01);
}
void SaveManager::func_ov001_020ba7c8(u16 saveSlotIndex) {
SaveSlot *pMgrSlot = &this->mpSaveFile->mSlots[saveSlotIndex];
GameSaveSlot *pGameSlot = gGame.mpSaveSlot;
MI_CpuCopyFast(pMgrSlot->mInfoData, &pGameSlot->mInfoData, sizeof(SaveInfoData));
MI_CpuCopyFast(pMgrSlot->mTreasureData, &pGameSlot->mTreasureData, sizeof(SaveTreasureData));
MI_CpuCopyFast(pMgrSlot->mUnk_2600, &pGameSlot->mUnk_2600, sizeof(SaveFile_00000_2600_Data));
MI_CpuCopyFast(pMgrSlot->mUnk_1D00, &pGameSlot->mUnk_1D00, sizeof(SaveFile_00000_1D00_Data));
data_02049b80.func_02013f80(0x00);
DELETE(this->mpSaveFile);
if (this->mUnk_214 == 0) {
this->mUnk_206 = saveSlotIndex;
}
}
// https://decomp.me/scratch/PykmO
void SaveManager::func_ov001_020ba858(void) {
if (this->mUnk_244 != NULL) {
return;
}
this->mUnk_244 = new(HeapIndex_1) SaveManager_244[2];
MI_CpuClearFast(&this->mUnk_244[0], sizeof(this->mUnk_244[0]));
MI_CpuClearFast(&this->mUnk_244[1], sizeof(this->mUnk_244[1]));
if (this->mUnk_206 >= 0 && this->mUnk_214 == 0) {
CARD_LockBackup(this->mCardId);
CARD_ReadFlashAsync(this->mUnk_206 * 0x7A700 + offsetof(SaveSlot, mUnk_2500), this->mUnk_244,
sizeof(SaveManager_244) * 2, NULL, NULL);
this->mResultCode = CARD_GetResultCode();
CARD_UnlockBackup(this->mCardId);
if (this->mResultCode != CARD_RESULT_SUCCESS) {
this->mUnk_214 = 1;
}
unk32 uVar3 = func_020328c8(&this->mUnk_004, &this->mUnk_244[0], sizeof(SaveManager_244) - 2);
unk32 uVar4 = func_020328c8(&this->mUnk_004, &this->mUnk_244[1], sizeof(SaveManager_244) - 2);
bool unk_7E_0 = uVar3 == this->mUnk_244[0].mUnk_7E;
bool unk_7E_1 = uVar4 == this->mUnk_244[1].mUnk_7E;
if (!unk_7E_0 && !unk_7E_1) {
MI_CpuClearFast(&this->mUnk_244[0], sizeof(SaveManager_244));
MI_CpuClearFast(&this->mUnk_244[1], sizeof(SaveManager_244));
return;
}
if (!unk_7E_0) {
MI_CpuCopyFast(&this->mUnk_244[1], &this->mUnk_244[0], sizeof(SaveManager_244));
return;
}
if (!unk_7E_1) {
MI_CpuCopyFast(&this->mUnk_244[0], &this->mUnk_244[1], sizeof(SaveManager_244));
return;
}
if (uVar3 != uVar4) {
MI_CpuCopyFast(&this->mUnk_244[1], &this->mUnk_244[0], sizeof(SaveManager_244));
return;
}
}
}
SaveManager_244::SaveManager_244() {}
@@ -1,7 +1,3 @@
#include "global.h"
THUMB_BEGIN
#include "Actor/ActorManager.hpp"
#include "Cutscene/Cutscene.hpp"
#include "Game/GameModeManager.hpp"
@@ -615,5 +611,3 @@ bool UnkStruct_WarpUnk1::func_ov001_020b7144() {
return iVar9;
}
THUMB_END
+57
View File
@@ -0,0 +1,57 @@
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
extern "C" UnkStruct_02011e10_Sub1 *func_02001098(void *, size_t, unk32);
extern "C" UnkStruct_02011e10_Sub1 *func_020012e0(void *, size_t, unk32);
extern "C" void func_020010b8(void *);
extern "C" void func_02001300(void *);
extern "C" unk32 func_020013ac(void *param1);
extern "C" size_t func_020010e0(UnkStruct_02011e10_Sub1 *heapID, void *pFile, unk32 param3);
void UnkStruct_02011e10::func_ov001_020ba588(unk32 param1, unk32 param2) {
this->mUnk_2C.func_020144cc(param1, param2, 0x01);
this->mUnk_00[HeapIndex_2] = this->mUnk_2C.mUnk_00;
}
void UnkStruct_02011e10::func_ov001_020ba59c() {
this->mUnk_2C.func_02014538();
this->mUnk_00[HeapIndex_2] = NULL;
}
void UnkStruct_02011e10::func_ov001_020ba5ac(unk32 param1, unk32 param2) {
this->mUnk_44.func_020144cc(param1, param2, 0x01);
this->mUnk_00[HeapIndex_ITCM] = this->mUnk_44.mUnk_00;
}
void UnkStruct_02011e10::func_ov001_020ba5c0() {
this->mUnk_44.func_02014538();
this->mUnk_00[HeapIndex_ITCM] = NULL;
}
void UnkStruct_02011e10::func_ov001_020ba5d0() {
size_t size = data_027e09a4->mUnk_60 == 2 ? 0xBB800 : 0x6A400;
this->mUnk_64 = ::operator new(size, HeapIndex_1);
this->mUnk_00[HeapIndex_DTCM] = func_02001098(this->mUnk_64, size, 0x02);
}
void UnkStruct_02011e10::func_ov001_020ba608() {
func_020010b8(this->mUnk_00[HeapIndex_DTCM]);
DELETE(this->mUnk_64);
this->mUnk_00[HeapIndex_DTCM] = NULL;
}
void UnkStruct_02011e10::func_ov001_020ba620() {
size_t size = 0x40000;
this->mUnk_68 = ::operator new(size, HeapIndex_1);
this->mUnk_00[HeapIndex_5] = func_020012e0(this->mUnk_68, size, 0x02);
}
void UnkStruct_02011e10::func_ov001_020ba640() {
func_020010e0(this->mUnk_00[HeapIndex_1], this->mUnk_68, func_020013ac(this->mUnk_00[HeapIndex_5]));
}
void UnkStruct_02011e10::func_ov001_020ba658() {
func_02001300(this->mUnk_00[HeapIndex_5]);
this->mUnk_00[HeapIndex_5] = NULL;
DELETE(this->mUnk_68);
}
@@ -0,0 +1,24 @@
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e095c.hpp"
extern "C" u32 func_0202447c();
extern "C" u32 func_02024494();
extern "C" void func_02006d8c(u16, unk32);
extern "C" void func_02006aa8(unk32, unk32);
UnkStruct_027e095c *UnkStruct_027e095c::Create() {
return new(HeapIndex_1) UnkStruct_027e095c();
}
UnkStruct_027e095c::UnkStruct_027e095c() {
this->mUnk_8DC = &this->mUnk_2F4;
this->mUnk_940 = &this->mUnk_8E0;
func_02006d8c(func_0202447c() >> 0x11, 0x01);
func_02006aa8(func_02024494(), 0x01);
for (VecFx32 *pIt = this->mUnk_000; pIt != &this->mUnk_000[ARRAY_LEN(this->mUnk_000)]; pIt++) {
VecFx32_Init(0, 0, 0, pIt);
}
}
DECL_INSTANCE_CTOR(UnkStruct_027e095c, data_027e095c);
@@ -0,0 +1,91 @@
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "Unknown/UnkStruct_027e09bc.hpp"
#include "Unknown/UnkStruct_ov020_020e8544.hpp"
UnkStruct_027e09bc *UnkStruct_027e09bc::Create() {
return new(HeapIndex_1) UnkStruct_027e09bc();
}
UnkStruct_027e09bc::UnkStruct_027e09bc() {
this->mUnk_04 = NULL;
this->mUnk_08 = 0;
this->mUnk_0C = NULL;
this->mUnk_10 = NULL;
this->mUnk_14[0] = NULL;
this->mUnk_14[1] = NULL;
this->mUnk_14[2] = NULL;
this->mUnk_14[3] = NULL;
if (data_027e09a4->mUnk_60 == 0) {
this->mUnk_0C = new(HeapIndex_1) UnkStruct_027e09bc_0C(0);
this->mUnk_10 = new(HeapIndex_1) UnkStruct_027e09bc_0C(1);
this->func_ov000_020771b8(0x00);
this->func_ov000_020771b8(0x01);
} else if (data_027e09a4->mUnk_60 == 1) {
this->mUnk_14[0] = new(HeapIndex_1) UnkStruct_027e09bc_0C(0);
this->mUnk_14[1] = new(HeapIndex_1) UnkStruct_027e09bc_0C(1);
this->mUnk_14[2] = new(HeapIndex_1) UnkStruct_027e09bc_0C(2);
this->mUnk_14[3] = new(HeapIndex_1) UnkStruct_027e09bc_0C(3);
this->mUnk_04 = this->mUnk_14[data_ov020_020e8544->vfunc_20()];
}
}
UnkStruct_027e09bc::~UnkStruct_027e09bc() {
delete this->mUnk_0C;
delete this->mUnk_10;
delete this->mUnk_14[0];
delete this->mUnk_14[1];
delete this->mUnk_14[2];
delete this->mUnk_14[3];
this->mUnk_0C = NULL;
this->mUnk_10 = NULL;
this->mUnk_14[0] = NULL;
this->mUnk_14[1] = NULL;
this->mUnk_14[2] = NULL;
this->mUnk_14[3] = NULL;
}
void UnkStruct_027e09bc::func_ov001_020bab5c() {
switch ((s32) data_027e09a4->CurrentSceneIndex()) {
case SceneIndex_b_sand:
case SceneIndex_tekiya09:
data_027e09bc->mUnk_10->mUnk_264 = 0x7B;
break;
case SceneIndex_b_last2:
data_027e09bc->mUnk_10->mUnk_264 = 0x00;
break;
case SceneIndex_b_last22:
data_027e09bc->mUnk_10->mUnk_264 = 0x00;
break;
default:
if (data_027e09a4->mUnk_60 == 0) {
data_027e09bc->mUnk_10->func_ov000_02078cec();
}
break;
}
}
void UnkStruct_027e09bc::func_ov001_020babc8() {
if (data_027e09a4->mUnk_60 == 0) {
this->mUnk_0C->func_ov000_02078ba4();
this->mUnk_10->func_ov000_02078ba4();
}
}
void UnkStruct_027e09bc::func_ov001_020babe8() {
if (data_027e09a4->mUnk_60 == 0) {
this->mUnk_0C->mUnk_280 = 0;
this->mUnk_10->mUnk_280 = 0;
}
}
void UnkStruct_027e09bc::func_ov001_020bac08() {
if (data_027e09a4->mUnk_60 == 0) {
this->mUnk_0C->mUnk_280 = 0;
this->mUnk_10->mUnk_280 = 0;
}
}
DECL_INSTANCE(UnkStruct_027e09bc, data_027e09bc);
@@ -124,7 +124,7 @@ UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param
this->mUnk_13C.Init(data_ov001_020c40f4, 0x40);
Vec2s_Copy((Vec2s *) &this->mUnk_09C, &local_30);
gpMapObjManager->func_ov001_020baea0(&local_30);
gpMapObjManager->func_ov001_020baea0((u16 *) &local_30);
data_027e095c->func_ov000_020592a0();
}
@@ -3,8 +3,6 @@
extern s16 data_ov001_020c2750[];
extern s16 data_ov001_020c275e[];
THUMB_BEGIN
UnkStruct_027e0cf8_08_00::UnkStruct_027e0cf8_08_00(u8 bgType) :
AdventureModeManager_1B8_Base(bgType, true, AdventureModeManager_1B8_Base_1C(0x00, 0x00, 0x100, 0xC0), true, true) {
this->func_ov001_020bfb20();
@@ -71,5 +69,3 @@ void UnkStruct_027e0cf8_08_00::func_ov001_020bfb20() {
Vec2s_Copy(&this->mUnk_13C[i], &this->mUnk_094[iVar2]);
}
}
THUMB_END
+6 -6
View File
@@ -127,9 +127,9 @@ SaveManager::SaveManager() {
func_020327c8(&this->mUnk_004, 0x1021);
this->mUnk_204 = OS_GetLockID();
int uVar8 = 1;
CARD_LockBackup(this->mUnk_204);
this->mCardId = OS_GetLockID();
int uVar8 = 1;
CARD_LockBackup(this->mCardId);
if (CARD_IdentifyBackup(CARD_BACKUP_TYPE_FLASH_8MBITS)) {
stack_struct stack[MAX_SAVE_SLOTS];
@@ -163,10 +163,10 @@ SaveManager::SaveManager() {
}
}
this->mUnk_20C = CARD_GetResultCode();
CARD_UnlockBackup(this->mUnk_204);
this->mResultCode = CARD_GetResultCode();
CARD_UnlockBackup(this->mCardId);
if (this->mUnk_20C != 0) {
if (this->mResultCode != CARD_RESULT_SUCCESS) {
this->mUnk_214 = uVar8;
}
}
+10 -10
View File
@@ -26,13 +26,13 @@ const unk32 data_ov019_020d1be8[] = {
};
void SaveManager::func_ov019_020d086c(u16 param1) {
CARD_LockBackup(gSaveManager.mUnk_204);
CARD_LockBackup(gSaveManager.mCardId);
STATIC_PTMFCALLBACK(PTMF<SaveFile>, gSaveManager.mUnk_23C, gSaveManager.mpSaveFile);
gSaveManager.mUnk_20C = CARD_GetResultCode();
CARD_UnlockBackup(gSaveManager.mUnk_204);
gSaveManager.mResultCode = CARD_GetResultCode();
CARD_UnlockBackup(gSaveManager.mCardId);
if (gSaveManager.mUnk_20C != 0) {
if (gSaveManager.mResultCode != CARD_RESULT_SUCCESS) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
}
@@ -79,25 +79,25 @@ void SaveManager::func_ov019_020d0a04(u16 saveSlotIndex) {
void SaveManager::func_ov019_020d0a2c(u16 saveSlotIndex) {
data_02049bd4.mUnk_04++;
gSaveManager.mpSaveFile->mSaveSlotIndex = saveSlotIndex;
CARD_LockBackup(gSaveManager.mUnk_204);
CARD_LockBackup(gSaveManager.mCardId);
gSaveManager.mUnk_210 = 1;
gSaveManager.mpSaveFile->func_ov019_020d1634();
gSaveManager.mUnk_20C = CARD_GetResultCode();
gSaveManager.mResultCode = CARD_GetResultCode();
if (gSaveManager.mUnk_20C != 0) {
if (gSaveManager.mResultCode != CARD_RESULT_SUCCESS) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
return;
}
gSaveManager.mUnk_210 = 2;
gSaveManager.mpSaveFile->func_ov019_020d16d0();
gSaveManager.mUnk_20C = CARD_GetResultCode();
gSaveManager.mResultCode = CARD_GetResultCode();
if (gSaveManager.mUnk_20C != 0) {
if (gSaveManager.mResultCode != CARD_RESULT_SUCCESS) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
}
CARD_UnlockBackup(gSaveManager.mUnk_204);
CARD_UnlockBackup(gSaveManager.mCardId);
gSaveManager.mUnk_210 = 0;
data_02049bd4.mUnk_04--;
}
@@ -424,7 +424,7 @@ void AdventureModeManager::func_ov024_020c5cec() {
gpUICounterManager->func_ov024_020cd420();
if (!data_027e09a4->IsTrain()) {
gpUICounterManager->func_ov024_020cd458(data_027e0ce0->mUnk_2C->mEquippedItem, true);
gpUICounterManager->func_ov024_020cd458(data_027e0ce0->mUnk_2C->GetCurrentItem(), true);
if (gOverlayManager.IsPlayerSub() && data_0204a088->mUnk_00 == OverlayIndex_SceneInit) {
this->mUnk_168->func_ov031_0210df60(1);
@@ -125,9 +125,9 @@ void UnkTrainSystem1::func_ov024_020d562c(const VecFx32 *param1, fx32 param2) {
UnkStruct_027e09bc_0C *temp_r8_2 = data_027e09bc->mUnk_0C;
#endif
temp_r1_3.x = temp_r8_2->mUnk_34.x;
temp_r1_3.z = temp_r8_2->mUnk_34.z;
temp_r1_3.y = temp_r8_2->mUnk_34.y;
temp_r1_3.x = temp_r8_2->mUnk_034.x;
temp_r1_3.z = temp_r8_2->mUnk_034.z;
temp_r1_3.y = temp_r8_2->mUnk_034.y;
fx32 x = temp_r1_3.x - param1->x;
temp_r1_3.x = x;
+5 -5
View File
@@ -78,7 +78,7 @@ UICounterManager::UICounterManager() :
}
}
if (data_027e09a4->IsDungeonTower() && !GET_FLAG(data_027e0ce0->mUnk_2C->mFlags, ItemFlag_LokomoSword)) {
if (data_027e09a4->IsDungeonTower() && !data_027e0ce0->mUnk_2C->HasItem(ItemFlag_LokomoSword)) {
this->mpTears = new(HeapIndex_1) UICounter_TearsOfLight();
}
@@ -144,7 +144,7 @@ void UICounterManager::func_ov024_020cd150() {
if (!data_027e09a4->IsTrain()) {
this->mpKeys->func_ov024_020cf698();
this->mpItems->func_ov031_0210eeb4();
gpUICounterManager->func_ov024_020cd458(data_027e0ce0->mUnk_2C->mEquippedItem, true);
gpUICounterManager->func_ov024_020cd458(data_027e0ce0->mUnk_2C->GetCurrentItem(), true);
}
if (this->mpTears != NULL) {
@@ -793,7 +793,7 @@ UICounter_Rupees::UICounter_Rupees() :
Vec2s_CopySub(&local_30.mPos, &local_60.mPos, &this->mUnk_0FC);
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->mNumRupees, 0);
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->GetNumRupees(), 0);
UnkStruct_ov019_020d24c8_28_258 local_78((volatile s32) sVar2, 4);
s16 temp_r0 = local_78.mPos.x + local_78.mUnk_0E.x;
@@ -826,7 +826,7 @@ UICounter_Rupees::UICounter_Rupees() :
void UICounter_Rupees::func_ov024_020ce518() {
this->mUnk_018.Subprocess2_UnkValueSets();
this->mUnk_018.UnkOperations3();
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->mNumRupees, 0);
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->GetNumRupees(), 0);
this->mUnk_104 = false;
}
@@ -864,7 +864,7 @@ void UICounter_Rupees::func_ov024_020ce5cc() {
}
this->mUnk_018.UpdateLogic();
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->mNumRupees, 1);
this->mUnk_05C.func_ov000_02065b48(data_027e0ce0->mUnk_2C->GetNumRupees(), 1);
if (data_0204a110.mUnk_000 == 1) {
switch (func_02015788(this->mUnk_05C.mUnk_94)) {
+1 -1
View File
@@ -128,7 +128,7 @@ void ActorItemBoomerang::vfunc_20() {
func_01ffe6c4(&sp54, this->mRef, &this->mPos, &this->mPrevPos, 0x1F, NULL, &this->mUnk_11C);
if ((tmp | sp54->func_ov000_0207e294((Cylinder *) &this->mUnk_10C)) == 0 && !var1) {
if (data_027e0ce0->mUnk_2C->mEquippedItem != ItemFlag_Boomerang) {
if (data_027e0ce0->mUnk_2C->GetCurrentItem() != ItemFlag_Boomerang) {
this->SetState(ActorItemBoomerangState_1);
return;
}
+4 -4
View File
@@ -106,7 +106,7 @@ ActorItemDrop::ActorItemDrop() :
switch (this->GetActorId()) {
case ActorId_ArrowDrop:
if (GET_FLAG(data_027e0ce0->mUnk_2C->mFlags, ItemFlag_Bow)) {
if (data_027e0ce0->mUnk_2C->HasItem(ItemFlag_Bow)) {
this->mItemTypeId = ItemDropType_Arrow;
this->mUnk_D8 = FLOAT_TO_FX32(0.5f);
} else {
@@ -114,7 +114,7 @@ ActorItemDrop::ActorItemDrop() :
}
break;
case ActorId_BombDrop:
if (GET_FLAG(data_027e0ce0->mUnk_2C->mFlags, ItemFlag_Bombs)) {
if (data_027e0ce0->mUnk_2C->HasItem(ItemFlag_Bombs)) {
this->mItemTypeId = ItemDropType_Bomb;
this->mUnk_D8 = FLOAT_TO_FX32(0.3f);
} else {
@@ -433,10 +433,10 @@ void ActorItemDrop::func_ov031_020fa72c() {
bool executeFunction = true;
switch (this->mItemTypeId) {
case ItemDropType_Arrow:
data_027e0ce0->mUnk_2C->GiveArrows(5);
data_027e0ce0->mUnk_2C->GetInventory()->GiveArrows(5);
break;
case ItemDropType_Bomb:
data_027e0ce0->mUnk_2C->GiveBombs(3);
data_027e0ce0->mUnk_2C->GetInventory()->GiveBombs(3);
break;
case ItemDropType_RedPotion:
executeFunction = data_027e0d34->TryItemGive(ItemId_RedPotion);
+1 -1
View File
@@ -176,7 +176,7 @@ void ActorRupee::func_ov031_020e9068() {
break;
default: {
ItemManager *pItemManager = data_027e0ce0->mUnk_2C;
pItemManager->GiveRupees(func_02017158(), false, true);
pItemManager->GetInventory()->GiveRupees(func_02017158(), false, true);
var_r4 = true;
break;
}
@@ -222,7 +222,7 @@ ItemId MapObjectChestBase::func_ov031_021037d0() {
this->vfunc_38(7, 0);
if ((u32) this->mItemId - ItemId_RedPotion <= 2 && data_027e0ce0->mUnk_2C->PotionSlotsFull()) {
if ((u32) this->mItemId - ItemId_RedPotion <= 2 && data_027e0ce0->mUnk_2C->GetInventory()->PotionSlotsFull()) {
return ItemId_BigGreenRupee;
}
+3 -3
View File
@@ -98,7 +98,7 @@ void MapObjectDoorKey::vfunc_5C(unk32 param1, unk32 param2) {
switch (this->mUnk_16) {
case 3:
if (param2 == 0) {
data_027e0ce0->mUnk_2C->GiveSmallKeys(-1);
data_027e0ce0->mUnk_2C->GetInventory()->GiveSmallKeys(-1);
}
UNSET_FLAG(this->mFlags, MapObjFlag_9);
@@ -117,7 +117,7 @@ bool MapObjectDoorKey::func_ov031_020fea88(void) {
return false;
}
if (data_027e0ce0->mUnk_2C->mKeyAmount != 0) {
if (data_027e0ce0->mUnk_2C->GetKeyAmount() != 0) {
return true;
}
@@ -129,7 +129,7 @@ unk32 MapObjectDoorKey::vfunc_28(void) {
return -1;
}
if (data_027e0ce0->mUnk_2C->mKeyAmount == 0) {
if (data_027e0ce0->mUnk_2C->GetKeyAmount() == 0) {
return -1;
}
+2 -2
View File
@@ -35,9 +35,9 @@ ItemId ActorUnkGORY::func_ov036_0211bcb0(unk32 param1) {
return ItemId_TenPriceCard;
}
if (data_027e0ce0->mUnk_2C->mQuiverCapacity == UpgradeCapacity_Tier1) {
if (data_027e0ce0->mUnk_2C->GetQuiverCap() == UpgradeCapacity_Tier1) {
return ItemId_QuiverMedium;
} else if (data_027e0ce0->mUnk_2C->mQuiverCapacity == UpgradeCapacity_Tier2) {
} else if (data_027e0ce0->mUnk_2C->GetQuiverCap() == UpgradeCapacity_Tier2) {
return ItemId_QuiverLarge;
} else {
return ItemId_TenPriceCard;
+13 -13
View File
@@ -108,7 +108,7 @@ u16 ActorUnkSHIT::func_ov036_0211ceec(void) {
break;
}
return 9999;
return MAX_RUPEES;
}
unk32 ActorUnkSHIT::func_ov036_0211d0a8(void) {
@@ -177,7 +177,7 @@ bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
switch (this->mItemId) {
case ItemId_NormalShield:
if (GET_FLAG(pIVar4->mFlags, ItemFlag_Shield)) {
if (pIVar4->HasItem(ItemFlag_Shield)) {
return false;
}
@@ -185,7 +185,7 @@ bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
case ItemId_RedPotion:
case ItemId_PurplePotion:
case ItemId_YellowPotion:
if (pIVar4->PotionSlotsFull()) {
if (pIVar4->GetInventory()->PotionSlotsFull()) {
return false;
}
@@ -231,26 +231,26 @@ bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
break;
case ItemId_BombsRefill:
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bombs)) {
if (!pIVar4->HasItem(ItemFlag_Bombs)) {
return false;
}
{
u8 amount = pIVar4->mBombAmount;
if (amount >= pIVar4->GetBombBagCapacity()) {
u8 amount = pIVar4->GetBombAmount();
if (amount >= pIVar4->GetInventory()->GetBombBagCapacity()) {
return false;
}
}
break;
case ItemId_ArrowsRefill:
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bow)) {
if (!pIVar4->HasItem(ItemFlag_Bow)) {
return false;
}
{
u8 amount = pIVar4->mArrowAmount;
if (amount >= pIVar4->GetQuiverCapacity()) {
u8 amount = pIVar4->GetArrowAmount();
if (amount >= pIVar4->GetInventory()->GetQuiverCapacity()) {
return false;
}
}
@@ -258,7 +258,7 @@ bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
break;
case ItemId_QuiverMedium:
case ItemId_QuiverLarge:
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bow)) {
if (!pIVar4->HasItem(ItemFlag_Bow)) {
return false;
}
@@ -324,10 +324,10 @@ void ActorUnkSHIT::func_ov036_0211d570(unk32 param1) {
this->mUnk_2D3 = true;
break;
case ItemId_BombsRefill:
pIVar4->GiveBombs(10);
pIVar4->GetInventory()->GiveBombs(10);
break;
case ItemId_ArrowsRefill:
pIVar4->GiveArrows(10);
pIVar4->GetInventory()->GiveArrows(10);
break;
case ItemId_QuiverMedium:
case ItemId_QuiverLarge:
@@ -345,7 +345,7 @@ void ActorUnkSHIT::func_ov036_0211d570(unk32 param1) {
}
if (param1 == 0) {
pIVar4->GiveRupees(-this->func_ov036_0211cddc(), false, false);
pIVar4->GetInventory()->GiveRupees(-this->func_ov036_0211cddc(), false, false);
}
}
+15 -23
View File
@@ -70,7 +70,7 @@ static inline s16 GetItemFlag(ItemId itemId) {
return ItemFlag_None;
}
bool ItemManager::func_ov110_02184a40(ItemId itemId) {
bool Inventory::func_ov110_02184a40(ItemId itemId) {
switch (itemId) {
case ItemId_NormalKey:
this->GiveSmallKeys(1);
@@ -98,19 +98,11 @@ bool ItemManager::func_ov110_02184a40(ItemId itemId) {
break;
case ItemId_QuiverMedium:
case ItemId_QuiverLarge:
if (this->mQuiverCapacity < UpgradeCapacity_Tier3) {
this->mQuiverCapacity++;
}
this->mArrowAmount = this->GetQuiverCapacity();
this->SetNextQuiverCapacity();
break;
case ItemId_BombBagMedium:
case ItemId_BombBagLarge:
if (this->mBombBagCapacity < UpgradeCapacity_Tier3) {
this->mBombBagCapacity++;
}
this->mBombAmount = this->GetBombBagCapacity();
this->SetNextBombBagCapacity();
break;
case ItemId_RedPotion:
this->GivePotion(PotionType_Red);
@@ -479,12 +471,12 @@ PlayerGet::~PlayerGet() {
bool PlayerGet::func_ov110_02186b8c() {
switch (this->mUnk_54.mItemId) {
case ItemId_NormalShield:
if (this->mUnk_28->pItemManager->mUnk_12 & 2) {
if (this->mUnk_28->pItemManager->HasUnk12(2)) {
return true;
}
break;
case ItemId_AncientShield:
if (!(this->mUnk_28->pItemManager->mUnk_12 & 2)) {
if (!(this->mUnk_28->pItemManager->HasUnk12(2))) {
return true;
}
break;
@@ -520,22 +512,22 @@ void PlayerGet::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
case ItemId_BombBag:
case ItemId_BombBagMedium:
case ItemId_BombBagLarge:
if (GET_FLAG(pItemManager->mFlags, ItemFlag_Bombs) == 0) {
if (!pItemManager->HasItem(ItemFlag_Bombs)) {
itemId = ItemId_BombBag;
} else if (pItemManager->mBombBagCapacity == UpgradeCapacity_Tier1) {
} else if (pItemManager->GetBombsCap() == UpgradeCapacity_Tier1) {
itemId = ItemId_BombBagMedium;
} else if (pItemManager->mBombBagCapacity == UpgradeCapacity_Tier2) {
} else if (pItemManager->GetBombsCap() == UpgradeCapacity_Tier2) {
itemId = ItemId_BombBagLarge;
}
break;
case ItemId_NormalBow:
case ItemId_QuiverMedium:
case ItemId_QuiverLarge:
if (GET_FLAG(pItemManager->mFlags, ItemFlag_Bow) == 0) {
if (!pItemManager->HasItem(ItemFlag_Bow)) {
itemId = ItemId_NormalBow;
} else if (pItemManager->mQuiverCapacity == UpgradeCapacity_Tier1) {
} else if (pItemManager->GetQuiverCap() == UpgradeCapacity_Tier1) {
itemId = ItemId_QuiverMedium;
} else if (pItemManager->mQuiverCapacity == UpgradeCapacity_Tier2) {
} else if (pItemManager->GetQuiverCap() == UpgradeCapacity_Tier2) {
itemId = ItemId_QuiverLarge;
}
break;
@@ -850,7 +842,7 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
}
if (this->mUnk_72 == 0 && var_r1_2) {
temp_r6 = this->mUnk_28->pItemManager->func_ov110_02184a40(this->mUnk_54.mItemId);
temp_r6 = this->mUnk_28->pItemManager->GetInventory()->func_ov110_02184a40(this->mUnk_54.mItemId);
switch (this->mUnk_54.mItemId) {
case ItemId_NormalShield:
@@ -862,7 +854,7 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
if ((temp_r0_3 != NULL) && (temp_r0_3->GetActorId() == ActorId_NormalShield)) {
if (this->func_ov110_02186b8c()) {
this->mUnk_28->pItemManager->mUnk_12 ^= 2;
this->mUnk_28->pItemManager->FlipUnk12(2);
}
temp_r0_3->func_ov062_02158ce8();
@@ -870,11 +862,11 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
} else {
if (this->mUnk_54.mItemId == ItemId_AncientShield) {
if (this->func_ov110_02186b8c()) {
this->mUnk_28->pItemManager->mUnk_12 ^= 2;
this->mUnk_28->pItemManager->FlipUnk12(2);
}
} else if (this->mUnk_54.mItemId == ItemId_NormalShield) {
if (this->func_ov110_02186b8c()) {
this->mUnk_28->pItemManager->mUnk_12 ^= 2;
this->mUnk_28->pItemManager->FlipUnk12(2);
}
}
}
@@ -322,7 +322,7 @@ void PlayerSceneChange::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
}
}
if ((this->mUnk_24->mUnk_104 & 0x10) || this->mUnk_28->pItemManager->mTearsAmount == 3) {
if ((this->mUnk_24->mUnk_104 & 0x10) || this->mUnk_28->pItemManager->GetTearsAmount() == MAX_TEARS_OF_LIGHT) {
struct {
unk32 actorId;
void *ptr;
+2 -2
View File
@@ -35,8 +35,8 @@ void Game::Run() {
data_0204999c.func_02013014();
{
UnkDataStruct2 local_28(0x1300);
this->mpSaveSlot = (SaveSlot *) local_28.unk_00;
UnkDataStruct2 local_28(sizeof(GameSaveSlot));
this->mpSaveSlot = (GameSaveSlot *) local_28.unk_00;
if (this->mpCurrentGameMode != NULL) {
delete this->mpCurrentGameMode;