mirror of
https://github.com/zeldaret/st
synced 2026-06-29 11:20:58 -04:00
Misc stuff 4 (#59)
* playrget progress and match treasuremanager remaining functions * some docs * fix build issues * random docs * match func_ov094_02172290 * random docs * actor cleanup * match freestanding item funcs * mType -> mpProfile * decompile random functions * docs and start of wip chest stuff * random docs * more random docs * match func_ov036_0211d0a8 * match func_ov036_0211d2dc & func_ov036_0211d570 * match func_ov110_02184a40 * random doc * document letter/stamps system * match func_ov001_020bb9f8 * fix build issues * decompile tres * start decomp chest base * fix regressions * name TRES * name UnkStruct_ov024_020d86b0 * name stamp types and update save struct stuff * name things and document BMG IDs
This commit is contained in:
@@ -70,6 +70,14 @@ libs/c/src/ansi_files.c:
|
||||
.data start:0x020446a8 end:0x0204478c
|
||||
.bss start:0x020517a0 end:0x02051aa0
|
||||
|
||||
libs/c/src/float.c:
|
||||
complete
|
||||
.data start:0x0204478c end:0x02044790
|
||||
|
||||
libs/c/src/locale.c:
|
||||
complete
|
||||
.data start:0x02044790 end:0x020449ac
|
||||
|
||||
libs/c/src/arith.c:
|
||||
complete
|
||||
.text start:0x020338d4 end:0x020338ec
|
||||
@@ -116,14 +124,6 @@ libs/c/src/wmem.c:
|
||||
complete
|
||||
.text start:0x020341f8 end:0x02034230
|
||||
|
||||
libs/c/src/float.c:
|
||||
complete
|
||||
.data start:0x0204478c end:0x02044790
|
||||
|
||||
libs/c/src/locale.c:
|
||||
complete
|
||||
.data start:0x02044790 end:0x020449ac
|
||||
|
||||
libs/c/src/wprintf.c:
|
||||
.text start:0x02034230 end:0x0203615c
|
||||
.data start:0x020449ac end:0x02044a2c
|
||||
|
||||
@@ -204,7 +204,7 @@ _ZN12ActorManager13func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4
|
||||
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
|
||||
_ZN5Actor10GetActorIdEv kind:function(arm,size=0xc) addr:0x01fff458
|
||||
_ZN5Actor8vfunc_10Ev kind:function(arm,size=0x34) addr:0x01fff464
|
||||
_ZN16MapObjectManager13func_01fff498E23UnkStruct_func_01fff498 kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff498E5Vec2b kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff4ccEPFvPvS0_ES0_ kind:function(arm,size=0x54) addr:0x01fff4cc
|
||||
_ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kind:function(arm,size=0x64) addr:0x01fff520
|
||||
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
|
||||
|
||||
@@ -28,6 +28,7 @@ src/000_Second/Actor/Actor.cpp:
|
||||
.data start:0x020b30e4 end:0x020b3140
|
||||
|
||||
src/000_Second/Actor/ActorUnkSWOB.cpp:
|
||||
complete
|
||||
.text start:0x0209a8b8 end:0x0209aca8
|
||||
.init start:0x020b07e8 end:0x020b0838
|
||||
.ctor start:0x020b1908 end:0x020b190c
|
||||
@@ -91,6 +92,10 @@ src/000_Second/MapObject/MapObjectMiniBlocks.cpp:
|
||||
.data start:0x020b3744 end:0x020b37ac
|
||||
.bss start:0x020b6228 end:0x020b62a0
|
||||
|
||||
src/000_Second/data_ov000_020af58c.cpp:
|
||||
.text start:0x020a4c00 end:0x020a4c10
|
||||
.rodata start:0x020af58c end:0x020af760
|
||||
|
||||
src/000_Second/Cutscene/Cutscene.cpp:
|
||||
.text start:0x020a782c end:0x020a7908
|
||||
.rodata start:0x020af780 end:0x020afc3c
|
||||
@@ -107,3 +112,5 @@ src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp:
|
||||
|
||||
src/000_Second/Item/TreasureManager.cpp:
|
||||
.text start:0x020a9b10 end:0x020aa224
|
||||
.rodata start:0x020afd68 end:0x020afed8
|
||||
.data start:0x020b4e60 end:0x020b4ec0
|
||||
|
||||
@@ -2160,7 +2160,7 @@ func_ov000_02093b04 kind:function(arm,size=0x68) addr:0x02093b04
|
||||
func_ov000_02093b6c kind:function(arm,size=0x18) addr:0x02093b6c
|
||||
func_ov000_02093b84 kind:function(arm,size=0xc) addr:0x02093b84
|
||||
func_ov000_02093b90 kind:function(arm,size=0x38) addr:0x02093b90
|
||||
func_ov000_02093bc8 kind:function(arm,size=0x144) addr:0x02093bc8
|
||||
_ZN21UnkStruct_027e0d34_0419func_ov000_02093bc8Ei kind:function(arm,size=0x144) addr:0x02093bc8
|
||||
func_ov000_02093d0c kind:function(arm,size=0x34) addr:0x02093d0c
|
||||
func_ov000_02093d40 kind:function(arm,size=0x60) addr:0x02093d40
|
||||
func_ov000_02093da0 kind:function(arm,size=0x1b8) addr:0x02093da0
|
||||
@@ -2256,12 +2256,12 @@ _ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc)
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x020973e8
|
||||
func_ov000_020973f4 kind:function(arm,size=0x50) addr:0x020973f4
|
||||
func_ov000_02097444 kind:function(arm,size=0x98) addr:0x02097444
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_020974dcEj kind:function(arm,size=0x4c) addr:0x020974dc
|
||||
_ZN24UnkStruct_ov000_020b539c16GetProfileFromIdEj kind:function(arm,size=0x4c) addr:0x020974dc
|
||||
func_ov000_02097528 kind:function(arm,size=0x20) addr:0x02097528
|
||||
func_ov000_02097548 kind:function(arm,size=0x78) addr:0x02097548
|
||||
func_ov000_020975c0 kind:function(arm,size=0x1c) addr:0x020975c0
|
||||
func_ov000_020975dc kind:function(arm,size=0x1c) addr:0x020975dc
|
||||
_ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x020975f8
|
||||
_ZN11ActorParams19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x020975f8
|
||||
func_ov000_02097670 kind:function(arm,size=0xc) addr:0x02097670
|
||||
_ZN12ActorProfileC2Ej kind:function(arm,size=0xa8) addr:0x0209767c
|
||||
_ZN12ActorProfileD2Ev kind:function(arm,size=0x28) addr:0x02097724
|
||||
@@ -2498,11 +2498,11 @@ _ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0
|
||||
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209c3e8
|
||||
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209c444
|
||||
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209c490
|
||||
_ZN16MapObjectManager19func_ov000_0209c524Ev kind:function(arm,size=0x17c) addr:0x0209c524
|
||||
_ZN16MapObjectManager17AllocateMapObjectEv 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_0209c6b8Ei kind:function(arm,size=0x38) addr:0x0209c6b8
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6f0Ev kind:function(arm,size=0x28) addr:0x0209c6f0
|
||||
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209c6b8
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEP9MapObject kind:function(arm,size=0x28) addr:0x0209c6f0
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209c718
|
||||
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209c790
|
||||
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209c7ac
|
||||
@@ -2669,7 +2669,7 @@ func_ov000_0209fe54 kind:function(arm,size=0x18) addr:0x0209fe54
|
||||
func_ov000_0209fe6c kind:function(arm,size=0x18) addr:0x0209fe6c
|
||||
func_ov000_0209fe84 kind:function(arm,size=0x1c) addr:0x0209fe84
|
||||
func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fea0
|
||||
func_ov000_0209feac kind:function(arm,size=0x78) addr:0x0209feac
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP5Vec3piii kind:function(arm,size=0x78) addr:0x0209feac
|
||||
func_ov000_0209ff24 kind:function(arm,size=0x28) addr:0x0209ff24
|
||||
func_ov000_0209ff4c kind:function(arm,size=0x40) addr:0x0209ff4c
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x0209ff8c
|
||||
@@ -2716,12 +2716,12 @@ func_ov000_020a0f78 kind:function(thumb,size=0xc) addr:0x020a0f78
|
||||
func_ov000_020a0f84 kind:function(thumb,size=0x30) addr:0x020a0f84
|
||||
func_ov000_020a0fb4 kind:function(thumb,size=0x10) addr:0x020a0fb4
|
||||
func_ov000_020a0fc4 kind:function(thumb,size=0x3c) addr:0x020a0fc4
|
||||
func_ov000_020a1000 kind:function(thumb,size=0x28) addr:0x020a1000
|
||||
func_ov000_020a1028 kind:function(thumb,size=0xcc) addr:0x020a1028
|
||||
func_ov000_020a10f4 kind:function(arm,size=0x30) addr:0x020a10f4
|
||||
_ZN4Save19func_ov000_020a1124Ev kind:function(arm,size=0x13c) addr:0x020a1124
|
||||
_ZN15SaveManager_21C19func_ov000_020a1000Ev kind:function(thumb,size=0x28) addr:0x020a1000
|
||||
_ZN8SaveInfo19func_ov000_020a1028Ev kind:function(thumb,size=0xcc) addr:0x020a1028
|
||||
_ZN8SaveSub719func_ov000_020a10f4Ev kind:function(arm,size=0x30) addr:0x020a10f4
|
||||
_ZN8SaveSlot19func_ov000_020a1124Ev kind:function(arm,size=0x13c) addr:0x020a1124
|
||||
func_ov000_020a1260 kind:function(arm,size=0x40) addr:0x020a1260
|
||||
func_ov000_020a12a0 kind:function(arm,size=0x3c) addr:0x020a12a0
|
||||
_ZN8SaveSub519func_ov000_020a12a0Ev kind:function(arm,size=0x3c) addr:0x020a12a0
|
||||
func_ov000_020a12dc kind:function(arm,size=0x18) addr:0x020a12dc
|
||||
func_ov000_020a12f4 kind:function(arm,size=0x8) addr:0x020a12f4
|
||||
func_ov000_020a12fc kind:function(arm,size=0x8) addr:0x020a12fc
|
||||
@@ -2828,7 +2828,7 @@ func_ov000_020a4b74 kind:function(arm,size=0x4c) addr:0x020a4b74
|
||||
func_ov000_020a4bc0 kind:function(arm,size=0x10) addr:0x020a4bc0
|
||||
_ZN19func_ov000_020a4bd0D1Ev kind:function(arm,size=0x14) addr:0x020a4bd0
|
||||
_ZN19func_ov000_020a4be4D0Ev kind:function(arm,size=0x1c) addr:0x020a4be4
|
||||
func_ov000_020a4c00 kind:function(arm,size=0x10) addr:0x020a4c00
|
||||
_Z19func_ov000_020a4c00i kind:function(arm,size=0x10) addr:0x020a4c00
|
||||
func_ov000_020a4c10 kind:function(arm,size=0xc4) addr:0x020a4c10
|
||||
func_ov000_020a4cd4 kind:function(arm,size=0x7c) addr:0x020a4cd4
|
||||
func_ov000_020a4d50 kind:function(arm,size=0x98) addr:0x020a4d50
|
||||
@@ -3077,16 +3077,16 @@ func_ov000_020a9a94 kind:function(arm,size=0x28) addr:0x020a9a94
|
||||
func_ov000_020a9abc kind:function(arm,size=0x24) addr:0x020a9abc
|
||||
func_ov000_020a9ae0 kind:function(arm,size=0x1c) addr:0x020a9ae0
|
||||
func_ov000_020a9afc kind:function(arm,size=0x14) addr:0x020a9afc
|
||||
_ZN15TreasureManager19func_ov000_020a9b10Ev kind:function(arm,size=0x1c) addr:0x020a9b10
|
||||
_ZN15TreasureManager19func_ov000_020a9b2cEv kind:function(arm,size=0x10) addr:0x020a9b2c
|
||||
_ZN15TreasureManager19func_ov000_020a9b3cEv kind:function(arm,size=0x10) addr:0x020a9b3c
|
||||
_ZN15TreasureManager19func_ov000_020a9b4cEv kind:function(arm,size=0x100) addr:0x020a9b4c
|
||||
_ZN15TreasureManager19func_ov000_020a9c4cEs kind:function(arm,size=0x18) addr:0x020a9c4c
|
||||
_ZN15TreasureManager19func_ov000_020a9b10EPv kind:function(arm,size=0x1c) addr:0x020a9b10
|
||||
_ZN15TreasureManager19func_ov000_020a9b2cEi kind:function(arm,size=0x10) addr:0x020a9b2c
|
||||
_ZN15TreasureManager19func_ov000_020a9b3cEi kind:function(arm,size=0x10) addr:0x020a9b3c
|
||||
_ZN15TreasureManager19func_ov000_020a9b4cEi kind:function(arm,size=0x100) addr:0x020a9b4c
|
||||
_ZN15TreasureManager19func_ov000_020a9c4cEi kind:function(arm,size=0x18) addr:0x020a9c4c
|
||||
_ZN15TreasureManager19func_ov000_020a9c64Ev kind:function(arm,size=0x2c) addr:0x020a9c64
|
||||
_ZN15TreasureManager19func_ov000_020a9c90Es kind:function(arm,size=0x14) addr:0x020a9c90
|
||||
_ZN15TreasureManager19func_ov000_020a9ca4Es kind:function(arm,size=0x18) addr:0x020a9ca4
|
||||
_ZN15TreasureManager19func_ov000_020a9cbcEsi kind:function(arm,size=0x40) addr:0x020a9cbc
|
||||
func_ov000_020a9cfc kind:function(arm,size=0x7c) addr:0x020a9cfc
|
||||
_ZN15TreasureManager19func_ov000_020a9c90Ei kind:function(arm,size=0x14) addr:0x020a9c90
|
||||
_ZN15TreasureManager19func_ov000_020a9ca4Ei kind:function(arm,size=0x18) addr:0x020a9ca4
|
||||
_ZN15TreasureManager19func_ov000_020a9cbcEii kind:function(arm,size=0x40) addr:0x020a9cbc
|
||||
_ZN15TreasureManager19func_ov000_020a9cfcEPhh kind:function(arm,size=0x7c) addr:0x020a9cfc
|
||||
_ZN15TreasureManager19func_ov000_020a9d78Ei kind:function(arm,size=0x9c) addr:0x020a9d78
|
||||
_ZN15TreasureManager19func_ov000_020a9e14Ei kind:function(arm,size=0x9c) addr:0x020a9e14
|
||||
_ZN15TreasureManager19func_ov000_020a9eb0Ei kind:function(arm,size=0x9c) addr:0x020a9eb0
|
||||
@@ -3347,7 +3347,7 @@ __sinit_ov000_020b046c kind:function(arm,size=0x2f4) addr:0x020b046c
|
||||
__sinit_ov000_020b0760 kind:function(arm,size=0x14) addr:0x020b0760
|
||||
__sinit_ov000_020b0774 kind:function(arm,size=0x34) addr:0x020b0774
|
||||
__sinit_ov000_020b07a8 kind:function(arm,size=0x40) addr:0x020b07a8
|
||||
__sinit_ActorUnkSWOB.cpp kind:function(arm,size=0x50) addr:0x020b07e8
|
||||
__sinit_ActorUnkSWOB.cpp kind:function(arm,size=0x50) addr:0x020b07e8 local
|
||||
__sinit_ActorUnkSWTM.cpp kind:function(arm,size=0x50) addr:0x020b0838
|
||||
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x50) addr:0x020b0888 local
|
||||
__sinit_ActorUnkEFIK.cpp kind:function(arm,size=0x50) addr:0x020b08d8 local
|
||||
@@ -3382,7 +3382,7 @@ __sinit_ov000_020b18a0 kind:function(arm,size=0x14) addr:0x020b18a0
|
||||
.p__sinit_ov000_020b0760 kind:data(word) addr:0x020b18fc
|
||||
.p__sinit_ov000_020b0774 kind:data(word) addr:0x020b1900
|
||||
.p__sinit_ov000_020b07a8 kind:data(word) addr:0x020b1904
|
||||
.p__sinit_ActorUnkSWOB.cpp kind:data(word) addr:0x020b1908
|
||||
.p__sinit_ActorUnkSWOB.cpp kind:data(word) addr:0x020b1908 local
|
||||
.p__sinit_ActorUnkSWTM.cpp kind:data(word) addr:0x020b190c
|
||||
.p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020b1910 local
|
||||
.p__sinit_ActorUnkEFIK.cpp kind:data(word) addr:0x020b1914 local
|
||||
@@ -4004,7 +4004,7 @@ data_ov000_020b4e4c kind:data(any) addr:0x020b4e4c
|
||||
data_ov000_020b4e60 kind:data(any) addr:0x020b4e60
|
||||
data_ov000_020b4e74 kind:data(any) addr:0x020b4e74
|
||||
data_ov000_020b4e88 kind:data(any) addr:0x020b4e88
|
||||
data_ov000_020b4e9c kind:data(any) addr:0x020b4e9c
|
||||
data_ov000_020b4e9c kind:data(byte[14]) addr:0x020b4e9c
|
||||
data_ov000_020b4ec0 kind:bss addr:0x020b4ec0
|
||||
data_ov000_020b4ec4 kind:bss addr:0x020b4ec4
|
||||
data_ov000_020b4ed4 kind:bss addr:0x020b4ed4
|
||||
@@ -4047,7 +4047,7 @@ data_ov000_020b5398 kind:bss addr:0x020b5398
|
||||
data_ov000_020b539c_eur kind:bss addr:0x020b539c
|
||||
data_ov000_020b53d0 kind:bss addr:0x020b53d0
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkSWOBE8sProfileE kind:bss addr:0x020b5bfc
|
||||
@10033 kind:bss addr:0x020b5c00
|
||||
@10033 kind:bss addr:0x020b5c00 local
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkSWOBE8sProfileE kind:bss addr:0x020b5c0c
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkSWTME8sProfileE kind:bss addr:0x020b5c48
|
||||
@10039 kind:bss addr:0x020b5c4c
|
||||
|
||||
@@ -9,3 +9,6 @@ src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
.text start:0x020baf64 end:0x020bb87c
|
||||
.rodata start:0x020c2624 end:0x020c264c
|
||||
.data start:0x020c2b3c end:0x020c2c70
|
||||
|
||||
src/001_SceneInit/Item/ItemManager_001.cpp:
|
||||
.text start:0x020bb9f8 end:0x020bba54
|
||||
|
||||
@@ -193,7 +193,7 @@ _ZN12ActorManager13ClearInstanceEv 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
|
||||
func_ov001_020bb9f8 kind:function(thumb,size=0x5c) addr:0x020bb9f8
|
||||
_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
|
||||
func_ov001_020bbac4 kind:function(thumb,size=0x5c) addr:0x020bbac4
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
.data start:0x020d7b60 end:0x020d8660 kind:data align:32
|
||||
.bss start:0x020d8660 end:0x020d8720 kind:bss align:32
|
||||
|
||||
src/024_MainGame/MiscAdvManager.cpp:
|
||||
.text start:0x020d62b4 end:0x020d6650
|
||||
|
||||
src/024_MainGame/Actor/ActorUnkOBPC.cpp:
|
||||
.text start:0x020d6e9c end:0x020d7318
|
||||
.init start:0x020d7ae4 end:0x020d7b34
|
||||
|
||||
@@ -677,26 +677,26 @@ func_ov024_020d5fb8 kind:function(arm,size=0x2c) addr:0x020d5fb8
|
||||
func_ov024_020d5fe4 kind:function(arm,size=0x2ac) addr:0x020d5fe4
|
||||
func_ov024_020d6290 kind:function(arm,size=0x10) addr:0x020d6290
|
||||
func_ov024_020d62a0 kind:function(arm,size=0x14) addr:0x020d62a0
|
||||
func_ov024_020d62b4 kind:function(arm,size=0x24) addr:0x020d62b4
|
||||
func_ov024_020d62d8 kind:function(arm,size=0x24) addr:0x020d62d8
|
||||
func_ov024_020d62fc kind:function(arm,size=0x14) addr:0x020d62fc
|
||||
func_ov024_020d6310 kind:function(arm,size=0x60) addr:0x020d6310
|
||||
func_ov024_020d6370 kind:function(arm,size=0x48) addr:0x020d6370
|
||||
func_ov024_020d63b8 kind:function(arm,size=0x30) addr:0x020d63b8
|
||||
func_ov024_020d63e8 kind:function(arm,size=0x3c) addr:0x020d63e8
|
||||
func_ov024_020d6424 kind:function(arm,size=0x44) addr:0x020d6424
|
||||
func_ov024_020d6468 kind:function(arm,size=0x2c) addr:0x020d6468
|
||||
func_ov024_020d6494 kind:function(arm,size=0xc) addr:0x020d6494
|
||||
func_ov024_020d64a0 kind:function(arm,size=0x8) addr:0x020d64a0
|
||||
func_ov024_020d64a8 kind:function(arm,size=0xc) addr:0x020d64a8
|
||||
func_ov024_020d64b4 kind:function(arm,size=0x7c) addr:0x020d64b4
|
||||
func_ov024_020d6530 kind:function(arm,size=0x2c) addr:0x020d6530
|
||||
func_ov024_020d655c kind:function(arm,size=0x10) addr:0x020d655c
|
||||
func_ov024_020d656c kind:function(arm,size=0x30) addr:0x020d656c
|
||||
func_ov024_020d659c kind:function(arm,size=0x74) addr:0x020d659c
|
||||
func_ov024_020d6610 kind:function(arm,size=0x1c) addr:0x020d6610
|
||||
func_ov024_020d662c kind:function(arm,size=0x10) addr:0x020d662c
|
||||
func_ov024_020d663c kind:function(arm,size=0x14) addr:0x020d663c
|
||||
_ZN14MiscAdvManager6CreateEv kind:function(arm,size=0x24) addr:0x020d62b4
|
||||
_ZN14MiscAdvManagerC1Ev kind:function(arm,size=0x24) addr:0x020d62d8
|
||||
_ZN14MiscAdvManagerD1Ev kind:function(arm,size=0x14) addr:0x020d62fc
|
||||
_ZN14MiscAdvManager19func_ov024_020d6310EPS_ kind:function(arm,size=0x60) addr:0x020d6310
|
||||
_ZN14MiscAdvManager21GiveLetterOrPriceCardEi kind:function(arm,size=0x48) addr:0x020d6370
|
||||
_ZN14MiscAdvManager22GetObtainedLetterCountEv kind:function(arm,size=0x30) addr:0x020d63b8
|
||||
_ZN14MiscAdvManager16GotUnreadLettersEv kind:function(arm,size=0x3c) addr:0x020d63e8
|
||||
_ZN14MiscAdvManager10GiveLetterEt kind:function(arm,size=0x44) addr:0x020d6424
|
||||
_ZN14MiscAdvManager19func_ov024_020d6468Ev kind:function(arm,size=0x2c) addr:0x020d6468
|
||||
_ZN14MiscAdvManager8GetStampEi kind:function(arm,size=0xc) addr:0x020d6494
|
||||
_ZN14MiscAdvManager12GetStampDateEi kind:function(arm,size=0x8) addr:0x020d64a0
|
||||
_ZN14MiscAdvManager11GetStampPosEi kind:function(arm,size=0xc) addr:0x020d64a8
|
||||
_ZN14MiscAdvManager19func_ov024_020d64b4EiiPt kind:function(arm,size=0x7c) addr:0x020d64b4
|
||||
_ZN14MiscAdvManager19func_ov024_020d6530Ev kind:function(arm,size=0x2c) addr:0x020d6530
|
||||
_ZN14MiscAdvManager15GetNumPostcardsEv kind:function(arm,size=0x10) addr:0x020d655c
|
||||
_ZN14MiscAdvManager13GivePriceCardEi kind:function(arm,size=0x30) addr:0x020d656c
|
||||
_ZN14MiscAdvManager13PostPriceCardEii kind:function(arm,size=0x74) addr:0x020d659c
|
||||
_ZN14MiscAdvManager19func_ov024_020d6610Ev kind:function(arm,size=0x1c) addr:0x020d6610
|
||||
_ZN14MiscAdvManager11SetInstanceEPS_ kind:function(arm,size=0x10) addr:0x020d662c
|
||||
_ZN14MiscAdvManager13ClearInstanceEv kind:function(arm,size=0x14) addr:0x020d663c
|
||||
func_ov024_020d6650 kind:function(thumb,size=0x16) addr:0x020d6650
|
||||
_ZN26ActorUnk_ov000_020a8bb0_ec19func_ov024_020d6668Ev kind:function(thumb,size=0x16) addr:0x020d6668
|
||||
func_ov024_020d6680 kind:function(arm,size=0x40) addr:0x020d6680
|
||||
@@ -910,7 +910,7 @@ data_ov024_020d86a0 kind:bss addr:0x020d86a0
|
||||
data_ov024_020d86a4 kind:bss addr:0x020d86a4
|
||||
data_ov024_020d86a8 kind:bss addr:0x020d86a8
|
||||
data_ov024_020d86ac kind:bss addr:0x020d86ac
|
||||
data_ov024_020d86b0 kind:bss addr:0x020d86b0
|
||||
gpMiscAdvManager kind:bss addr:0x020d86b0
|
||||
data_ov024_020d86b4 kind:bss addr:0x020d86b4 ambiguous
|
||||
data_ov024_020d86b8 kind:bss addr:0x020d86b8
|
||||
data_ov024_020d86bc kind:bss addr:0x020d86bc
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
.data start:0x021128a0 end:0x02116380 kind:data align:32
|
||||
.bss start:0x02116380 end:0x02118fc0 kind:bss align:32
|
||||
|
||||
src/031_Land/UnkStruct_027e0d34.cpp:
|
||||
.text start:0x020d9834 end:0x020d9854
|
||||
|
||||
src/031_Land/Actor/ActorUnkBOMB.cpp:
|
||||
.text start:0x020e14c4 end:0x020e34b4
|
||||
.init start:0x02110ff8 end:0x02111048
|
||||
@@ -254,11 +257,21 @@ src/031_Land/MapObject/MapObjectUnkBMFL.cpp:
|
||||
.ctor start:0x0211283c end:0x02112840
|
||||
.bss start:0x02117abc end:0x02117ba0
|
||||
|
||||
src/031_Land/MapObject/MapObjectUnkTRES.cpp:
|
||||
src/031_Land/MapObject/MapObjectTreasureSpawned.cpp:
|
||||
complete
|
||||
.text start:0x02102e70 end:0x02102fe8
|
||||
.init start:0x02111f48 end:0x02111fb4
|
||||
.ctor start:0x02112840 end:0x02112844
|
||||
.bss start:0x02117ba0 end:0x02117cfc
|
||||
.data start:0x021157b0 end:0x02115830
|
||||
.bss start:0x02117ba0 end:0x02117c84
|
||||
|
||||
src/031_Land/MapObject/MapObjectChestBase.cpp:
|
||||
.text start:0x02102fe8 end:0x0210401c
|
||||
.rodata start:0x02110d74 end:0x02110d7c
|
||||
.init start:0x02111fb4 end:0x02111fe4
|
||||
.ctor start:0x02112844 end:0x02112848
|
||||
.data start:0x02115830 end:0x021158c4
|
||||
.bss start:0x02117c84 end:0x02117cfc
|
||||
|
||||
src/031_Land/MapObject/MapObjectUnkTRED.cpp:
|
||||
.text start:0x0210401c end:0x021041b8
|
||||
|
||||
@@ -4684,9 +4684,9 @@ from:0x02102e78 kind:load to:0x02117bb0 module:overlay(31)
|
||||
from:0x02102e8c kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02102e98 kind:arm_call to:0x02102ee4 module:overlay(31)
|
||||
from:0x02102eb0 kind:arm_call to:0x0209c9a8 module:overlay(0)
|
||||
from:0x02102edc kind:load to:0x021157c0 module:overlay(31)
|
||||
from:0x02102edc kind:load to:0x021157b8 add:0x8 module:overlay(31)
|
||||
from:0x02102ef0 kind:arm_call to:0x0210307c module:overlay(31)
|
||||
from:0x02102f5c kind:load to:0x021157dc module:overlay(31)
|
||||
from:0x02102f5c kind:load to:0x021157d4 add:0x8 module:overlay(31)
|
||||
from:0x02102f60 kind:load to:0x02117bb0 module:overlay(31)
|
||||
from:0x02102f78 kind:arm_call to:0x02081f3c module:overlay(0)
|
||||
from:0x02102f8c kind:load to:0x027e0cd8 module:dtcm
|
||||
@@ -4696,7 +4696,7 @@ from:0x02102fc0 kind:arm_call to:0x02103158 module:overlay(31)
|
||||
from:0x02102fc8 kind:arm_call to:0x02011ff4 module:main
|
||||
from:0x02102fdc kind:arm_call to:0x0209c9d8 module:overlay(0)
|
||||
from:0x02102ff0 kind:arm_call_thumb to:0x02057b54 module:overlay(0)
|
||||
from:0x0210300c kind:load to:0x02115844 module:overlay(31)
|
||||
from:0x0210300c kind:load to:0x0211583c add:0x8 module:overlay(31)
|
||||
from:0x02103040 kind:arm_call to:0x0200f218 module:main
|
||||
from:0x02103068 kind:load to:0x02110d74 module:overlay(31)
|
||||
from:0x02103078 kind:load to:0x0200b58c module:main
|
||||
@@ -4705,7 +4705,7 @@ from:0x021030b8 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x021030cc kind:arm_call to:0x02102fe8 module:overlay(31)
|
||||
from:0x021030d8 kind:arm_call to:0x02060804 module:overlay(0)
|
||||
from:0x021030e8 kind:arm_call to:0x0206082c module:overlay(0)
|
||||
from:0x021030f4 kind:load to:0x02115870 module:overlay(31)
|
||||
from:0x021030f4 kind:load to:0x02115868 add:0x8 module:overlay(31)
|
||||
from:0x021030f8 kind:load to:0x02113f10 add:0x8 module:overlay(31)
|
||||
from:0x02103104 kind:arm_call_thumb to:0x02057bd4 module:overlay(0)
|
||||
from:0x0210311c kind:arm_call_thumb to:0x02057bd4 module:overlay(0)
|
||||
|
||||
@@ -65,7 +65,7 @@ func_ov031_020d97f4 kind:function(arm,size=0x10) addr:0x020d97f4
|
||||
func_ov031_020d9804 kind:function(arm,size=0x10) addr:0x020d9804
|
||||
func_ov031_020d9814 kind:function(arm,size=0x10) addr:0x020d9814
|
||||
func_ov031_020d9824 kind:function(arm,size=0x10) addr:0x020d9824
|
||||
func_ov031_020d9834 kind:function(arm,size=0x10) addr:0x020d9834
|
||||
_ZN18UnkStruct_027e0d3411TryItemGiveEi kind:function(arm,size=0x10) addr:0x020d9834
|
||||
_ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020d9844
|
||||
func_ov031_020d9854 kind:function(arm,size=0x34) addr:0x020d9854
|
||||
func_ov031_020d9888 kind:function(arm,size=0x34) addr:0x020d9888
|
||||
@@ -1528,43 +1528,43 @@ func_ov031_02102bc0 kind:function(arm,size=0x40) addr:0x02102bc0
|
||||
func_ov031_02102c00 kind:function(arm,size=0x30) addr:0x02102c00
|
||||
func_ov031_02102c30 kind:function(arm,size=0x224) addr:0x02102c30
|
||||
_ZN19func_ov031_02102e54D0Ev kind:function(arm,size=0x1c) addr:0x02102e54
|
||||
_ZN23MapObjectProfileUnkTRES10GetProfileEv kind:function(arm,size=0xc) addr:0x02102e70
|
||||
_ZN23MapObjectProfileUnkTRES6CreateEv kind:function(arm,size=0x24) addr:0x02102e7c
|
||||
_ZN23MapObjectProfileUnkTRESC1Ev kind:function(arm,size=0x44) addr:0x02102ea0
|
||||
_ZN16MapObjectUnkTRESC1Ev kind:function(arm,size=0x80) addr:0x02102ee4
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f64Ev kind:function(arm,size=0x2c) addr:0x02102f64
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f90Ev kind:function(arm,size=0x8) addr:0x02102f90
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f98Ev kind:function(arm,size=0xc) addr:0x02102f98
|
||||
_ZN16MapObjectUnkTRESD1Ev kind:function(arm,size=0x14) addr:0x02102fa4
|
||||
_ZN16MapObjectUnkTRESD0Ev kind:function(arm,size=0x1c) addr:0x02102fb8
|
||||
_ZN23MapObjectProfileUnkTRESD1Ev kind:function(arm,size=0x14) addr:0x02102fd4
|
||||
func_ov031_02102fe8 kind:function(arm,size=0x28) addr:0x02102fe8
|
||||
func_ov031_02103010 kind:function(arm,size=0x5c) addr:0x02103010
|
||||
func_ov031_0210306c kind:function(arm,size=0x10) addr:0x0210306c
|
||||
func_ov031_0210307c kind:function(arm,size=0x80) addr:0x0210307c
|
||||
func_ov031_021030fc kind:function(arm,size=0x14) addr:0x021030fc
|
||||
_ZN19func_ov031_02103110D1Ev kind:function(arm,size=0x20) addr:0x02103110
|
||||
_ZN19func_ov031_02103130D0Ev kind:function(arm,size=0x28) addr:0x02103130
|
||||
_ZN19func_ov031_02103158D2Ev kind:function(arm,size=0x20) addr:0x02103158
|
||||
func_ov031_02103178 kind:function(arm,size=0xdc) addr:0x02103178
|
||||
func_ov031_02103254 kind:function(arm,size=0x2e0) addr:0x02103254
|
||||
func_ov031_02103534 kind:function(arm,size=0x27c) addr:0x02103534
|
||||
func_ov031_021037b0 kind:function(arm,size=0x14) addr:0x021037b0
|
||||
func_ov031_021037c4 kind:function(arm,size=0xc) addr:0x021037c4
|
||||
func_ov031_021037d0 kind:function(arm,size=0x94) addr:0x021037d0
|
||||
func_ov031_02103864 kind:function(arm,size=0x14) addr:0x02103864
|
||||
_ZN9MapObject19func_ov031_02103878Ev kind:function(arm,size=0x1c) addr:0x02103878
|
||||
func_ov031_02103894 kind:function(arm,size=0x3b4) addr:0x02103894
|
||||
func_ov031_02103c48 kind:function(arm,size=0xe8) addr:0x02103c48
|
||||
func_ov031_02103d30 kind:function(arm,size=0x108) addr:0x02103d30
|
||||
func_ov031_02103e38 kind:function(arm,size=0x100) addr:0x02103e38
|
||||
func_ov031_02103f38 kind:function(arm,size=0x8) addr:0x02103f38
|
||||
func_ov031_02103f40 kind:function(arm,size=0x8) addr:0x02103f40
|
||||
func_ov031_02103f48 kind:function(arm,size=0x58) addr:0x02103f48
|
||||
func_ov031_02103fa0 kind:function(arm,size=0x28) addr:0x02103fa0
|
||||
func_ov031_02103fc8 kind:function(arm,size=0x2c) addr:0x02103fc8
|
||||
func_ov031_02103ff4 kind:function(arm,size=0xc) addr:0x02103ff4
|
||||
_ZN19func_ov031_02104000D0Ev kind:function(arm,size=0x1c) addr:0x02104000
|
||||
_ZN31MapObjectProfileTreasureSpawned10GetProfileEv kind:function(arm,size=0xc) addr:0x02102e70
|
||||
_ZN31MapObjectProfileTreasureSpawned6CreateEv kind:function(arm,size=0x24) addr:0x02102e7c
|
||||
_ZN31MapObjectProfileTreasureSpawnedC1Ev kind:function(arm,size=0x44) addr:0x02102ea0
|
||||
_ZN24MapObjectTreasureSpawnedC1Ev kind:function(arm,size=0x80) addr:0x02102ee4
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_3CEv kind:function(arm,size=0x2c) addr:0x02102f64
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_40Ev kind:function(arm,size=0x8) addr:0x02102f90
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_54Ev kind:function(arm,size=0xc) addr:0x02102f98
|
||||
_ZN24MapObjectTreasureSpawnedD1Ev kind:function(arm,size=0x14) addr:0x02102fa4
|
||||
_ZN24MapObjectTreasureSpawnedD0Ev kind:function(arm,size=0x1c) addr:0x02102fb8
|
||||
_ZN31MapObjectProfileTreasureSpawnedD1Ev kind:function(arm,size=0x14) addr:0x02102fd4
|
||||
_ZN19MapObjectUnkTRES_74C1Ei kind:function(arm,size=0x28) addr:0x02102fe8
|
||||
_ZN19MapObjectUnkTRES_748vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x5c) addr:0x02103010
|
||||
_ZN19MapObjectUnkTRES_7419func_ov031_0210306cEv kind:function(arm,size=0x10) addr:0x0210306c
|
||||
_ZN18MapObjectChestBaseC2Ei kind:function(arm,size=0x80) addr:0x0210307c
|
||||
_ZN19MapObjectUnkTRES_74D1Ev kind:function(arm,size=0x14) addr:0x021030fc
|
||||
_ZN18MapObjectChestBaseD1Ev kind:function(arm,size=0x20) addr:0x02103110
|
||||
_ZN18MapObjectChestBaseD0Ev kind:function(arm,size=0x28) addr:0x02103130
|
||||
_ZN18MapObjectChestBaseD2Ev kind:function(arm,size=0x20) addr:0x02103158
|
||||
_ZN18MapObjectChestBase8vfunc_00Ev kind:function(arm,size=0xdc) addr:0x02103178
|
||||
_ZN18MapObjectChestBase8vfunc_04Ev kind:function(arm,size=0x2e0) addr:0x02103254
|
||||
_ZN18MapObjectChestBase8vfunc_08Ev kind:function(arm,size=0x27c) addr:0x02103534
|
||||
_ZN18MapObjectChestBase8vfunc_0CEv kind:function(arm,size=0x14) addr:0x021037b0
|
||||
_ZN18MapObjectChestBase8vfunc_28Ev kind:function(arm,size=0xc) addr:0x021037c4
|
||||
_ZN18MapObjectChestBase19func_ov031_021037d0Ev kind:function(arm,size=0x94) addr:0x021037d0
|
||||
_ZN18MapObjectChestBase19func_ov031_02103864Ev kind:function(arm,size=0x14) addr:0x02103864
|
||||
_ZN18MapObjectChestBase19func_ov031_02103878Ev kind:function(arm,size=0x1c) addr:0x02103878
|
||||
_ZN18MapObjectChestBase8vfunc_38Eii kind:function(arm,size=0x3b4) addr:0x02103894
|
||||
_ZN18MapObjectChestBase8vfunc_18EPcc kind:function(arm,size=0xe8) addr:0x02103c48
|
||||
_ZN18MapObjectChestBase8vfunc_14Ev kind:function(arm,size=0x108) addr:0x02103d30
|
||||
_ZN18MapObjectChestBase8vfunc_3CEv kind:function(arm,size=0x100) addr:0x02103e38
|
||||
_ZN18MapObjectChestBase8vfunc_40Ev kind:function(arm,size=0x8) addr:0x02103f38
|
||||
_ZN18MapObjectChestBase8vfunc_44Ev kind:function(arm,size=0x8) addr:0x02103f40
|
||||
_ZN18MapObjectChestBase19func_ov031_02103f48Ev kind:function(arm,size=0x58) addr:0x02103f48
|
||||
_ZN18MapObjectChestBase8vfunc_4CEv kind:function(arm,size=0x28) addr:0x02103fa0
|
||||
_ZN18MapObjectChestBase8vfunc_50Ev kind:function(arm,size=0x2c) addr:0x02103fc8
|
||||
_ZN18MapObjectChestBase8vfunc_54Ev kind:function(arm,size=0xc) addr:0x02103ff4
|
||||
_ZN19MapObjectUnkTRES_74D0Ev kind:function(arm,size=0x1c) addr:0x02104000
|
||||
_ZN23MapObjectProfileUnkTRED10GetProfileEv kind:function(arm,size=0xc) addr:0x0210401c
|
||||
_ZN23MapObjectProfileUnkTRED6CreateEv kind:function(arm,size=0x24) addr:0x02104028
|
||||
_ZN23MapObjectProfileUnkTREDC1Ev kind:function(arm,size=0x44) addr:0x0210404c
|
||||
@@ -2044,7 +2044,7 @@ data_ov031_02110d38 kind:data(any) addr:0x02110d38 ambiguous
|
||||
data_ov031_02110d40 kind:data(any) addr:0x02110d40
|
||||
data_ov031_02110d54 kind:data(any) addr:0x02110d54
|
||||
data_ov031_02110d68 kind:data(any) addr:0x02110d68
|
||||
data_ov031_02110d74 kind:data(any) addr:0x02110d74
|
||||
@1604 kind:data(byte[6]) addr:0x02110d74 local
|
||||
data_ov031_02110d7c kind:data(any) addr:0x02110d7c ambiguous
|
||||
data_ov031_02110d98 kind:data(any) addr:0x02110d98
|
||||
data_ov031_02110da4 kind:data(any) addr:0x02110da4
|
||||
@@ -2111,8 +2111,8 @@ __sinit_MapObjectUnkSTIR.cpp kind:function(arm,size=0x50) addr:0x02111da8
|
||||
__sinit_MapObjectUnkGRSS.cpp kind:function(arm,size=0x90) addr:0x02111df8
|
||||
__sinit_MapObjectUnkSWHT.cpp kind:function(arm,size=0x70) addr:0x02111e88
|
||||
__sinit_MapObjectUnkBMFL.cpp kind:function(arm,size=0x50) addr:0x02111ef8
|
||||
__sinit_MapObjectUnkTRES.cpp kind:function(arm,size=0x6c) addr:0x02111f48
|
||||
__sinit_ov031_02111fb4 kind:function(arm,size=0x30) addr:0x02111fb4
|
||||
__sinit_MapObjectTreasureSpawned.cpp kind:function(arm,size=0x6c) addr:0x02111f48 local
|
||||
__sinit_MapObjectChestBase.cpp kind:function(arm,size=0x30) addr:0x02111fb4
|
||||
__sinit_MapObjectUnkTRED.cpp kind:function(arm,size=0x6c) addr:0x02111fe4
|
||||
__sinit_MapObjectUnkTREW.cpp kind:function(arm,size=0x6c) addr:0x02112050
|
||||
__sinit_MapObjectUnkTREN.cpp kind:function(arm,size=0x6c) addr:0x021120bc
|
||||
@@ -2175,8 +2175,8 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
|
||||
.p__sinit_MapObjectUnkGRSS.cpp kind:data(word) addr:0x02112834
|
||||
.p__sinit_MapObjectUnkSWHT.cpp kind:data(word) addr:0x02112838
|
||||
.p__sinit_MapObjectUnkBMFL.cpp kind:data(word) addr:0x0211283c
|
||||
.p__sinit_MapObjectUnkTRES.cpp kind:data(word) addr:0x02112840
|
||||
.p__sinit_ov031_02111fb4 kind:data(word) addr:0x02112844
|
||||
.p__sinit_MapObjectTreasureSpawned.cpp kind:data(word) addr:0x02112840 local
|
||||
.p__sinit_MapObjectChestBase.cpp kind:data(word) addr:0x02112844
|
||||
.p__sinit_MapObjectUnkTRED.cpp kind:data(word) addr:0x02112848
|
||||
.p__sinit_MapObjectUnkTREW.cpp kind:data(word) addr:0x0211284c
|
||||
.p__sinit_MapObjectUnkTREN.cpp kind:data(word) addr:0x02112850
|
||||
@@ -2444,13 +2444,13 @@ data_ov031_021156cc kind:data(any) addr:0x021156cc
|
||||
data_ov031_0211570c kind:data(any) addr:0x0211570c
|
||||
data_ov031_02115728 kind:data(any) addr:0x02115728
|
||||
data_ov031_0211578c kind:data(any) addr:0x0211578c
|
||||
data_ov031_021157b0 kind:data(any) addr:0x021157b0
|
||||
data_ov031_021157c0 kind:data(any) addr:0x021157c0
|
||||
data_ov031_021157dc kind:data(any) addr:0x021157dc
|
||||
data_ov031_021157b0 kind:data(any) addr:0x021157b0 local
|
||||
_ZTV31MapObjectProfileTreasureSpawned kind:data(any) addr:0x021157b8
|
||||
_ZTV24MapObjectTreasureSpawned kind:data(any) addr:0x021157d4
|
||||
data_ov031_02115830 kind:data(any) addr:0x02115830
|
||||
data_ov031_02115834 kind:data(any) addr:0x02115834
|
||||
data_ov031_02115844 kind:data(any) addr:0x02115844
|
||||
data_ov031_02115870 kind:data(any) addr:0x02115870
|
||||
_ZTV19MapObjectUnkTRES_74 kind:data(any) addr:0x0211583c
|
||||
_ZTV18MapObjectChestBase kind:data(any) addr:0x02115868
|
||||
data_ov031_021158c4 kind:data(any) addr:0x021158c4
|
||||
data_ov031_021158d4 kind:data(any) addr:0x021158d4
|
||||
data_ov031_021158f0 kind:data(any) addr:0x021158f0
|
||||
@@ -2658,9 +2658,9 @@ data_ov031_02117a9c kind:bss addr:0x02117a9c
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkBMFLE8sProfileE kind:bss addr:0x02117abc
|
||||
@10993 kind:bss addr:0x02117ac0
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkBMFLE8sProfileE kind:bss addr:0x02117acc
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTRESE8sProfileE kind:bss addr:0x02117ba0
|
||||
@10999 kind:bss addr:0x02117ba4
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkTRESE8sProfileE kind:bss addr:0x02117bb0
|
||||
_ZGVN15ProfileInstanceI31MapObjectProfileTreasureSpawnedE8sProfileE kind:bss addr:0x02117ba0
|
||||
@10999 kind:bss addr:0x02117ba4 local
|
||||
_ZN15ProfileInstanceI31MapObjectProfileTreasureSpawnedE8sProfileE kind:bss addr:0x02117bb0
|
||||
data_ov031_02117c84 kind:bss addr:0x02117c84
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTREDE8sProfileE kind:bss addr:0x02117cfc
|
||||
@11005 kind:bss addr:0x02117d00
|
||||
|
||||
@@ -147,7 +147,7 @@ _ZN19ActorProfileUnkGORYC1Ev kind:function(arm,size=0x60) addr:0x0211bb04
|
||||
_ZN12ActorUnkGORYC1Ev kind:function(arm,size=0xbc) addr:0x0211bb64
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bc20Ev kind:function(arm,size=0x64) addr:0x0211bc20
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bc84Ev kind:function(arm,size=0x2c) addr:0x0211bc84
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bcb0Ev kind:function(arm,size=0x94) addr:0x0211bcb0
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bcb0Ei kind:function(arm,size=0x94) addr:0x0211bcb0
|
||||
_ZN12ActorUnkGORYD0Ev kind:function(arm,size=0x38) addr:0x0211bd44
|
||||
_ZN12ActorUnkGORYD2Ev kind:function(arm,size=0x30) addr:0x0211bd7c
|
||||
_ZN19ActorProfileUnkGORYD1Ev kind:function(arm,size=0x14) addr:0x0211bdac
|
||||
@@ -206,7 +206,7 @@ _ZN12ActorUnkSHIT19func_ov036_0211d270Ev kind:function(arm,size=0x1c) addr:0x021
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d28cEv kind:function(arm,size=0x1c) addr:0x0211d28c
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d2a8Ev kind:function(arm,size=0x34) addr:0x0211d2a8
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d2dcEv kind:function(arm,size=0x294) addr:0x0211d2dc
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d570Ev kind:function(arm,size=0x1ec) addr:0x0211d570
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d570Ei kind:function(arm,size=0x1ec) addr:0x0211d570
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d75cEv kind:function(arm,size=0x18) addr:0x0211d75c
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d774Ev kind:function(arm,size=0x1c) addr:0x0211d774
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d790Ev kind:function(arm,size=0xc) addr:0x0211d790
|
||||
|
||||
@@ -415,7 +415,7 @@ _ZN16MapObjectUnkWDST19func_ov094_02172a44Ev kind:function(arm,size=0x9c) addr:0
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02172ae0Ev kind:function(arm,size=0x14) addr:0x02172ae0
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02172af4Ev kind:function(arm,size=0x108) addr:0x02172af4
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02172bfcEv kind:function(arm,size=0x98) addr:0x02172bfc
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02172c94Ev kind:function(arm,size=0x478) addr:0x02172c94
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02172c94Ei kind:function(arm,size=0x478) addr:0x02172c94
|
||||
_ZN16MapObjectUnkWDST19func_ov094_0217310cEv kind:function(arm,size=0xd8) addr:0x0217310c
|
||||
_ZN16MapObjectUnkWDST19func_ov094_021731e4Ev kind:function(arm,size=0x280) addr:0x021731e4
|
||||
_ZN16MapObjectUnkWDST19func_ov094_02173464Ev kind:function(arm,size=0x30) addr:0x02173464
|
||||
|
||||
@@ -8,12 +8,12 @@ _ZN9PlayerGet8vfunc_10Eii kind:function(arm,size=0x6d0) addr:0x021855e4
|
||||
_ZN9PlayerGet8vfunc_18Eiii kind:function(arm,size=0x7c) addr:0x02185cb4
|
||||
_ZN22UnkStruct_PlayerGet_ecC1Ev kind:function(arm,size=0xc) addr:0x02185d30
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov110_02185d3cEi kind:function(thumb,size=0x66) addr:0x02185d3c
|
||||
_ZN11ItemManager19func_ov110_02185da4Ei kind:function(arm,size=0x10) addr:0x02185da4
|
||||
_ZN11ItemManager19func_ov110_02185db4Ei kind:function(arm,size=0x10) addr:0x02185db4
|
||||
_ZN11ItemManager16GetBmgIDFromItemEi kind:function(arm,size=0x10) addr:0x02185da4
|
||||
_ZN11ItemManager18GetAdvFlagFromItemEi kind:function(arm,size=0x10) addr:0x02185db4
|
||||
data_ov110_02185dc4 kind:data(any) addr:0x02185dc4
|
||||
data_ov110_02185dc8 kind:data(any) addr:0x02185dc8
|
||||
data_ov110_02185de8 kind:data(any) addr:0x02185de8
|
||||
data_ov110_02185fbc kind:data(any) addr:0x02185fbc
|
||||
sBMGItemMap kind:data(any) addr:0x02185de8
|
||||
sAdvFlagItemMap kind:data(any) addr:0x02185fbc
|
||||
data_ov110_021860c4 kind:data(any) addr:0x021860c4 ambiguous
|
||||
__sinit_PlayerGet.cpp kind:function(arm,size=0x2c) addr:0x02186190
|
||||
.p__sinit_PlayerGet.cpp kind:data(word) addr:0x021861bc
|
||||
|
||||
@@ -718,7 +718,7 @@ func_02014918 kind:function(thumb,size=0x2c) addr:0x02014918
|
||||
func_02014944 kind:function(thumb,size=0x50) addr:0x02014944
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014994
|
||||
func_02014a10 kind:function(arm,size=0x24) addr:0x02014a10
|
||||
func_02014a34 kind:function(arm,size=0xcc) addr:0x02014a34
|
||||
_ZN18UnkStruct_02049bac13func_02014a34EPv kind:function(arm,size=0xcc) addr:0x02014a34
|
||||
func_02014b00 kind:function(arm,size=0x54) addr:0x02014b00
|
||||
func_02014b54 kind:function(arm,size=0x10) addr:0x02014b54
|
||||
func_02014b64 kind:function(arm,size=0x1c) addr:0x02014b64
|
||||
|
||||
@@ -70,6 +70,14 @@ libs/c/src/ansi_files.c:
|
||||
.data start:0x02045c1c end:0x02045d00
|
||||
.bss start:0x02052d20 end:0x02053020
|
||||
|
||||
libs/c/src/float.c:
|
||||
complete
|
||||
.data start:0x02045d00 end:0x02045d04
|
||||
|
||||
libs/c/src/locale.c:
|
||||
complete
|
||||
.data start:0x02045d04 end:0x02045f20
|
||||
|
||||
libs/c/src/arith.c:
|
||||
complete
|
||||
.text start:0x02034e04 end:0x02034e1c
|
||||
@@ -116,14 +124,6 @@ libs/c/src/wmem.c:
|
||||
complete
|
||||
.text start:0x02035728 end:0x02035760
|
||||
|
||||
libs/c/src/float.c:
|
||||
complete
|
||||
.data start:0x02045d00 end:0x02045d04
|
||||
|
||||
libs/c/src/locale.c:
|
||||
complete
|
||||
.data start:0x02045d04 end:0x02045f20
|
||||
|
||||
libs/c/src/wprintf.c:
|
||||
.text start:0x02035760 end:0x0203768c
|
||||
.data start:0x02045f20 end:0x02045fa0
|
||||
|
||||
@@ -204,7 +204,7 @@ _ZN12ActorManager13func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4
|
||||
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
|
||||
_ZN5Actor10GetActorIdEv kind:function(arm,size=0xc) addr:0x01fff458
|
||||
_ZN5Actor8vfunc_10Ev kind:function(arm,size=0x34) addr:0x01fff464
|
||||
_ZN16MapObjectManager13func_01fff498E23UnkStruct_func_01fff498 kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff498E5Vec2b kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff4ccEPFvPvS0_ES0_ kind:function(arm,size=0x54) addr:0x01fff4cc
|
||||
_ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kind:function(arm,size=0x64) addr:0x01fff520
|
||||
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
|
||||
|
||||
@@ -90,6 +90,10 @@ src/000_Second/MapObject/MapObjectMiniBlocks.cpp:
|
||||
.data start:0x020b4f44 end:0x020b4fac
|
||||
.bss start:0x020b7a38 end:0x020b7ab0
|
||||
|
||||
src/000_Second/data_ov000_020af58c.cpp:
|
||||
.text start:0x020a6400 end:0x020a6410
|
||||
.rodata start:0x020b0d9c end:0x020b0f70
|
||||
|
||||
src/000_Second/Cutscene/Cutscene.cpp:
|
||||
.text start:0x020a902c end:0x020a9108
|
||||
.rodata start:0x020b0f90 end:0x020b144c
|
||||
|
||||
@@ -2158,7 +2158,7 @@ func_ov000_020951e0 kind:function(arm,size=0x68) addr:0x020951e0
|
||||
func_ov000_02095248 kind:function(arm,size=0x18) addr:0x02095248
|
||||
func_ov000_02095260 kind:function(arm,size=0xc) addr:0x02095260
|
||||
func_ov000_0209526c kind:function(arm,size=0x38) addr:0x0209526c
|
||||
func_ov000_020952a4 kind:function(arm,size=0x21c) addr:0x020952a4
|
||||
_ZN21UnkStruct_027e0d34_0419func_ov000_02093bc8Ei kind:function(arm,size=0x21c) addr:0x020952a4
|
||||
func_ov000_020954c0 kind:function(arm,size=0x34) addr:0x020954c0
|
||||
func_ov000_020954f4 kind:function(arm,size=0x60) addr:0x020954f4
|
||||
func_ov000_02095554 kind:function(arm,size=0x1b8) addr:0x02095554
|
||||
@@ -2254,12 +2254,12 @@ _ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc)
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x02098b9c
|
||||
func_ov000_02098ba8 kind:function(arm,size=0x50) addr:0x02098ba8
|
||||
func_ov000_02098bf8 kind:function(arm,size=0x98) addr:0x02098bf8
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_020974dcEj kind:function(arm,size=0x4c) addr:0x02098c90
|
||||
_ZN24UnkStruct_ov000_020b539c16GetProfileFromIdEj kind:function(arm,size=0x4c) addr:0x02098c90
|
||||
func_ov000_02098cdc kind:function(arm,size=0x20) addr:0x02098cdc
|
||||
func_ov000_02098cfc kind:function(arm,size=0x78) addr:0x02098cfc
|
||||
func_ov000_02098d74 kind:function(arm,size=0x1c) addr:0x02098d74
|
||||
func_ov000_02098d90 kind:function(arm,size=0x1c) addr:0x02098d90
|
||||
_ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x02098dac
|
||||
_ZN11ActorParams19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x02098dac
|
||||
_ZN12ActorProfileC2Ej kind:function(arm,size=0xa8) addr:0x02098e24
|
||||
_ZN12ActorProfileD2Ev kind:function(arm,size=0x28) addr:0x02098ecc
|
||||
_ZN12ActorProfile8vfunc_04Ev kind:function(arm,size=0x8) addr:0x02098ef4
|
||||
@@ -2495,11 +2495,11 @@ _ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0
|
||||
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209dbb4
|
||||
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209dc10
|
||||
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209dc5c
|
||||
_ZN16MapObjectManager19func_ov000_0209c524Ev kind:function(arm,size=0x17c) addr:0x0209dcf0
|
||||
_ZN16MapObjectManager17AllocateMapObjectEv 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_0209c6b8Ei kind:function(arm,size=0x38) addr:0x0209de84
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6f0Ev kind:function(arm,size=0x28) addr:0x0209debc
|
||||
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209de84
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEP9MapObject kind:function(arm,size=0x28) addr:0x0209debc
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209dee4
|
||||
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209df5c
|
||||
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209df78
|
||||
@@ -2667,7 +2667,7 @@ func_ov000_020a162c kind:function(arm,size=0x18) addr:0x020a162c
|
||||
func_ov000_020a1644 kind:function(arm,size=0x18) addr:0x020a1644
|
||||
func_ov000_020a165c kind:function(arm,size=0x1c) addr:0x020a165c
|
||||
func_ov000_020a1678 kind:function(arm,size=0xc) addr:0x020a1678
|
||||
func_ov000_020a1684 kind:function(arm,size=0x78) addr:0x020a1684
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP5Vec3piii kind:function(arm,size=0x78) addr:0x020a1684
|
||||
func_ov000_020a16fc kind:function(arm,size=0x28) addr:0x020a16fc
|
||||
func_ov000_020a1724 kind:function(arm,size=0x40) addr:0x020a1724
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x020a1764
|
||||
@@ -2714,7 +2714,7 @@ func_ov000_020a2750 kind:function(thumb,size=0xc) addr:0x020a2750
|
||||
func_ov000_020a275c kind:function(thumb,size=0x30) addr:0x020a275c
|
||||
func_ov000_020a278c kind:function(thumb,size=0x10) addr:0x020a278c
|
||||
func_ov000_020a279c kind:function(thumb,size=0x3c) addr:0x020a279c
|
||||
func_ov000_020a27d8 kind:function(thumb,size=0x28) addr:0x020a27d8
|
||||
_ZN15SaveManager_21C19func_ov000_020a1000Ev kind:function(thumb,size=0x28) addr:0x020a27d8
|
||||
_ZN8SaveInfo19func_ov000_020a1028Ev kind:function(thumb,size=0xcc) addr:0x020a2800
|
||||
_ZN8SaveSub719func_ov000_020a10f4Ev kind:function(arm,size=0x30) addr:0x020a28cc
|
||||
_ZN8SaveSlot19func_ov000_020a1124Ev kind:function(arm,size=0x13c) addr:0x020a28fc
|
||||
@@ -2827,7 +2827,7 @@ func_ov000_020a6374 kind:function(arm,size=0x4c) addr:0x020a6374
|
||||
func_ov000_020a63c0 kind:function(arm,size=0x10) addr:0x020a63c0
|
||||
_ZN19func_ov000_020a63d0D1Ev kind:function(arm,size=0x14) addr:0x020a63d0
|
||||
_ZN19func_ov000_020a63e4D0Ev kind:function(arm,size=0x1c) addr:0x020a63e4
|
||||
func_ov000_020a6400 kind:function(arm,size=0x10) addr:0x020a6400
|
||||
_Z19func_ov000_020a4c00i kind:function(arm,size=0x10) addr:0x020a6400
|
||||
func_ov000_020a6410 kind:function(arm,size=0xc4) addr:0x020a6410
|
||||
func_ov000_020a64d4 kind:function(arm,size=0x7c) addr:0x020a64d4
|
||||
func_ov000_020a6550 kind:function(arm,size=0x98) addr:0x020a6550
|
||||
@@ -3071,21 +3071,21 @@ _ZN23ActorUnk_ov000_020a8bb08vfunc_b8Ev kind:function(arm,size=0x34) addr:0x020a
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_14Ev kind:function(arm,size=0x48) addr:0x020ab1d8
|
||||
_ZN19func_ov000_020ab220D1Ev kind:function(arm,size=0x14) addr:0x020ab220
|
||||
_ZN19func_ov000_020ab234D0Ev kind:function(arm,size=0x1c) addr:0x020ab234
|
||||
func_ov000_020ab250 kind:function(arm,size=0x44) addr:0x020ab250
|
||||
func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020ab250
|
||||
func_ov000_020ab294 kind:function(arm,size=0x28) addr:0x020ab294
|
||||
func_ov000_020ab2bc kind:function(arm,size=0x24) addr:0x020ab2bc
|
||||
func_ov000_020ab2e0 kind:function(arm,size=0x1c) addr:0x020ab2e0
|
||||
func_ov000_020ab2fc kind:function(arm,size=0x14) addr:0x020ab2fc
|
||||
_ZN15TreasureManager19func_ov000_020a9b10Ev kind:function(arm,size=0x1c) addr:0x020ab310
|
||||
_ZN15TreasureManager19func_ov000_020a9b10EPv kind:function(arm,size=0x1c) addr:0x020ab310
|
||||
func_ov000_020ab32c kind:function(arm,size=0x10) addr:0x020ab32c
|
||||
func_ov000_020ab33c kind:function(arm,size=0x10) addr:0x020ab33c
|
||||
_ZN15TreasureManager19func_ov000_020a9b4cEv kind:function(arm,size=0x100) addr:0x020ab34c
|
||||
_ZN15TreasureManager19func_ov000_020a9c4cEs kind:function(arm,size=0x18) addr:0x020ab44c
|
||||
_ZN15TreasureManager19func_ov000_020a9b4cEi kind:function(arm,size=0x100) addr:0x020ab34c
|
||||
_ZN15TreasureManager19func_ov000_020a9c4cEi kind:function(arm,size=0x18) addr:0x020ab44c
|
||||
_ZN15TreasureManager19func_ov000_020a9c64Ev kind:function(arm,size=0x2c) addr:0x020ab464
|
||||
_ZN15TreasureManager19func_ov000_020a9c90Es kind:function(arm,size=0x14) addr:0x020ab490
|
||||
_ZN15TreasureManager19func_ov000_020a9ca4Es kind:function(arm,size=0x18) addr:0x020ab4a4
|
||||
_ZN15TreasureManager19func_ov000_020a9cbcEsi kind:function(arm,size=0x40) addr:0x020ab4bc
|
||||
func_ov000_020ab4fc kind:function(arm,size=0x7c) addr:0x020ab4fc
|
||||
_ZN15TreasureManager19func_ov000_020a9c90Ei kind:function(arm,size=0x14) addr:0x020ab490
|
||||
_ZN15TreasureManager19func_ov000_020a9ca4Ei kind:function(arm,size=0x18) addr:0x020ab4a4
|
||||
_ZN15TreasureManager19func_ov000_020a9cbcEii kind:function(arm,size=0x40) addr:0x020ab4bc
|
||||
_ZN15TreasureManager19func_ov000_020a9cfcEPhh kind:function(arm,size=0x7c) addr:0x020ab4fc
|
||||
_ZN15TreasureManager19func_ov000_020a9d78Ei kind:function(arm,size=0x9c) addr:0x020ab578
|
||||
_ZN15TreasureManager19func_ov000_020a9e14Ei kind:function(arm,size=0x9c) addr:0x020ab614
|
||||
_ZN15TreasureManager19func_ov000_020a9eb0Ei kind:function(arm,size=0x9c) addr:0x020ab6b0
|
||||
@@ -3269,7 +3269,7 @@ data_ov000_020b030a kind:data(any) addr:0x020b030a
|
||||
data_ov000_020b05e0 kind:data(word[246]) addr:0x020b05e0
|
||||
data_ov000_020b09b8 kind:data(word[246]) addr:0x020b09b8
|
||||
data_ov000_020b0d90 kind:data(any) addr:0x020b0d90
|
||||
data_ov000_020b0d9c kind:data(any) addr:0x020b0d9c
|
||||
data_ov000_020af58c kind:data(any) addr:0x020b0d9c
|
||||
data_ov000_020b0f70 kind:data(any) addr:0x020b0f70
|
||||
data_ov000_020b0f74 kind:data(any) addr:0x020b0f74
|
||||
data_ov000_020b0f80 kind:data(any) addr:0x020b0f80
|
||||
|
||||
@@ -9,3 +9,6 @@ src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
.text start:0x020bc7ac end:0x020bd0c4
|
||||
.rodata start:0x020c3e78 end:0x020c3ea0
|
||||
.data start:0x020c437c end:0x020c44b0
|
||||
|
||||
src/001_SceneInit/Item/ItemManager_001.cpp:
|
||||
.text start:0x020bd240 end:0x020bd29c
|
||||
|
||||
@@ -193,7 +193,7 @@ _ZN12ActorManager13ClearInstanceEv kind:function(thumb,size=0xc) addr:0x020bd0b8
|
||||
func_ov001_020bd0c4 kind:function(thumb,size=0x3c) addr:0x020bd0c4
|
||||
func_ov001_020bd100 kind:function(thumb,size=0x2) addr:0x020bd100
|
||||
func_ov001_020bd104 kind:function(thumb,size=0x13c) addr:0x020bd104
|
||||
func_ov001_020bd240 kind:function(thumb,size=0x5c) addr:0x020bd240
|
||||
_ZN11ItemManager19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bd240
|
||||
func_ov001_020bd29c kind:function(thumb,size=0x18) addr:0x020bd29c
|
||||
func_ov001_020bd2b4 kind:function(thumb,size=0x58) addr:0x020bd2b4
|
||||
func_ov001_020bd30c kind:function(thumb,size=0x5c) addr:0x020bd30c
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
.data start:0x020d9500 end:0x020da000 kind:data align:32
|
||||
.bss start:0x020da000 end:0x020da0c0 kind:bss align:32
|
||||
|
||||
src/024_MainGame/MiscAdvManager.cpp:
|
||||
.text start:0x020d7c58 end:0x020d7ff4
|
||||
|
||||
src/024_MainGame/Actor/ActorUnkOBPC.cpp:
|
||||
.text start:0x020d8840 end:0x020d8cbc
|
||||
.init start:0x020d9488 end:0x020d94d8
|
||||
|
||||
@@ -677,26 +677,26 @@ func_ov024_020d795c kind:function(arm,size=0x2c) addr:0x020d795c
|
||||
func_ov024_020d7988 kind:function(arm,size=0x2ac) addr:0x020d7988
|
||||
func_ov024_020d7c34 kind:function(arm,size=0x10) addr:0x020d7c34
|
||||
func_ov024_020d7c44 kind:function(arm,size=0x14) addr:0x020d7c44
|
||||
func_ov024_020d7c58 kind:function(arm,size=0x24) addr:0x020d7c58
|
||||
func_ov024_020d7c7c kind:function(arm,size=0x24) addr:0x020d7c7c
|
||||
func_ov024_020d7ca0 kind:function(arm,size=0x14) addr:0x020d7ca0
|
||||
func_ov024_020d7cb4 kind:function(arm,size=0x60) addr:0x020d7cb4
|
||||
func_ov024_020d7d14 kind:function(arm,size=0x48) addr:0x020d7d14
|
||||
func_ov024_020d7d5c kind:function(arm,size=0x30) addr:0x020d7d5c
|
||||
func_ov024_020d7d8c kind:function(arm,size=0x3c) addr:0x020d7d8c
|
||||
func_ov024_020d7dc8 kind:function(arm,size=0x44) addr:0x020d7dc8
|
||||
func_ov024_020d7e0c kind:function(arm,size=0x2c) addr:0x020d7e0c
|
||||
func_ov024_020d7e38 kind:function(arm,size=0xc) addr:0x020d7e38
|
||||
func_ov024_020d7e44 kind:function(arm,size=0x8) addr:0x020d7e44
|
||||
func_ov024_020d7e4c kind:function(arm,size=0xc) addr:0x020d7e4c
|
||||
func_ov024_020d7e58 kind:function(arm,size=0x7c) addr:0x020d7e58
|
||||
func_ov024_020d7ed4 kind:function(arm,size=0x2c) addr:0x020d7ed4
|
||||
func_ov024_020d7f00 kind:function(arm,size=0x10) addr:0x020d7f00
|
||||
func_ov024_020d7f10 kind:function(arm,size=0x30) addr:0x020d7f10
|
||||
func_ov024_020d7f40 kind:function(arm,size=0x74) addr:0x020d7f40
|
||||
func_ov024_020d7fb4 kind:function(arm,size=0x1c) addr:0x020d7fb4
|
||||
func_ov024_020d7fd0 kind:function(arm,size=0x10) addr:0x020d7fd0
|
||||
func_ov024_020d7fe0 kind:function(arm,size=0x14) addr:0x020d7fe0
|
||||
_ZN14MiscAdvManager6CreateEv kind:function(arm,size=0x24) addr:0x020d7c58
|
||||
_ZN14MiscAdvManagerC1Ev kind:function(arm,size=0x24) addr:0x020d7c7c
|
||||
_ZN14MiscAdvManagerD1Ev kind:function(arm,size=0x14) addr:0x020d7ca0
|
||||
_ZN14MiscAdvManager19func_ov024_020d6310EPS_ kind:function(arm,size=0x60) addr:0x020d7cb4
|
||||
_ZN14MiscAdvManager21GiveLetterOrPriceCardEi kind:function(arm,size=0x48) addr:0x020d7d14
|
||||
_ZN14MiscAdvManager22GetObtainedLetterCountEv kind:function(arm,size=0x30) addr:0x020d7d5c
|
||||
_ZN14MiscAdvManager16GotUnreadLettersEv kind:function(arm,size=0x3c) addr:0x020d7d8c
|
||||
_ZN14MiscAdvManager10GiveLetterEt kind:function(arm,size=0x44) addr:0x020d7dc8
|
||||
_ZN14MiscAdvManager19func_ov024_020d6468Ev kind:function(arm,size=0x2c) addr:0x020d7e0c
|
||||
_ZN14MiscAdvManager8GetStampEi kind:function(arm,size=0xc) addr:0x020d7e38
|
||||
_ZN14MiscAdvManager12GetStampDateEi kind:function(arm,size=0x8) addr:0x020d7e44
|
||||
_ZN14MiscAdvManager11GetStampPosEi kind:function(arm,size=0xc) addr:0x020d7e4c
|
||||
_ZN14MiscAdvManager19func_ov024_020d64b4EiiPt kind:function(arm,size=0x7c) addr:0x020d7e58
|
||||
_ZN14MiscAdvManager19func_ov024_020d6530Ev kind:function(arm,size=0x2c) addr:0x020d7ed4
|
||||
_ZN14MiscAdvManager15GetNumPostcardsEv kind:function(arm,size=0x10) addr:0x020d7f00
|
||||
_ZN14MiscAdvManager13GivePriceCardEi kind:function(arm,size=0x30) addr:0x020d7f10
|
||||
_ZN14MiscAdvManager13PostPriceCardEii kind:function(arm,size=0x74) addr:0x020d7f40
|
||||
_ZN14MiscAdvManager19func_ov024_020d6610Ev kind:function(arm,size=0x1c) addr:0x020d7fb4
|
||||
_ZN14MiscAdvManager11SetInstanceEPS_ kind:function(arm,size=0x10) addr:0x020d7fd0
|
||||
_ZN14MiscAdvManager13ClearInstanceEv kind:function(arm,size=0x14) addr:0x020d7fe0
|
||||
func_ov024_020d7ff4 kind:function(thumb,size=0x16) addr:0x020d7ff4
|
||||
_ZN26ActorUnk_ov000_020a8bb0_ec19func_ov024_020d6668Ev kind:function(thumb,size=0x16) addr:0x020d800c
|
||||
func_ov024_020d8024 kind:function(arm,size=0x40) addr:0x020d8024
|
||||
@@ -910,7 +910,7 @@ data_ov024_020da040 kind:bss addr:0x020da040
|
||||
data_ov024_020da044 kind:bss addr:0x020da044
|
||||
data_ov024_020da048 kind:bss addr:0x020da048
|
||||
data_ov024_020da04c kind:bss addr:0x020da04c
|
||||
data_ov024_020da050 kind:bss addr:0x020da050
|
||||
gpMiscAdvManager kind:bss addr:0x020da050
|
||||
data_ov024_020da054 kind:bss addr:0x020da054 ambiguous
|
||||
data_ov024_020da058 kind:bss addr:0x020da058
|
||||
data_ov024_020da05c kind:bss addr:0x020da05c
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
.data start:0x02114640 end:0x02118120 kind:data align:32
|
||||
.bss start:0x02118120 end:0x0211ad60 kind:bss align:32
|
||||
|
||||
src/031_Land/UnkStruct_027e0d34.cpp:
|
||||
.text start:0x020db1d4 end:0x020db1f4
|
||||
|
||||
src/031_Land/Actor/ActorUnkBOMB.cpp:
|
||||
.text start:0x020e2e94 end:0x020e4ea0
|
||||
.init start:0x02112d68 end:0x02112db8
|
||||
@@ -254,11 +257,20 @@ src/031_Land/MapObject/MapObjectUnkBMFL.cpp:
|
||||
.ctor start:0x021145c8 end:0x021145cc
|
||||
.bss start:0x0211985c end:0x02119940
|
||||
|
||||
src/031_Land/MapObject/MapObjectUnkTRES.cpp:
|
||||
src/031_Land/MapObject/MapObjectTreasureSpawned.cpp:
|
||||
complete
|
||||
.text start:0x02104bcc end:0x02104d44
|
||||
.init start:0x02113cd4 end:0x02113d40
|
||||
.ctor start:0x021145cc end:0x021145d0
|
||||
.bss start:0x02119940 end:0x02119a9c
|
||||
.data start:0x02117524 end:0x021175a4
|
||||
.bss start:0x02119940 end:0x02119a24
|
||||
|
||||
src/031_Land/MapObject/MapObjectChestBase.cpp:
|
||||
.text start:0x02104d44 end:0x02105d78
|
||||
.init start:0x02113d40 end:0x02113d70
|
||||
.ctor start:0x021145d0 end:0x021145d4
|
||||
.data start:0x021175a4 end:0x02117638
|
||||
.bss start:0x02119a24 end:0x02119a9c
|
||||
|
||||
src/031_Land/MapObject/MapObjectUnkTRED.cpp:
|
||||
.text start:0x02105d78 end:0x02105f14
|
||||
|
||||
@@ -4693,9 +4693,9 @@ from:0x02104bd4 kind:load to:0x02119950 module:overlay(31)
|
||||
from:0x02104be8 kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02104bf4 kind:arm_call to:0x02104c40 module:overlay(31)
|
||||
from:0x02104c0c kind:arm_call to:0x0209e16c module:overlay(0)
|
||||
from:0x02104c38 kind:load to:0x02117534 module:overlay(31)
|
||||
from:0x02104c38 kind:load to:0x0211752c add:0x8 module:overlay(31)
|
||||
from:0x02104c4c kind:arm_call to:0x02104dd8 module:overlay(31)
|
||||
from:0x02104cb8 kind:load to:0x02117550 module:overlay(31)
|
||||
from:0x02104cb8 kind:load to:0x02117548 add:0x8 module:overlay(31)
|
||||
from:0x02104cbc kind:load to:0x02119950 module:overlay(31)
|
||||
from:0x02104cd4 kind:arm_call to:0x020835f4 module:overlay(0)
|
||||
from:0x02104ce8 kind:load to:0x027e0cd8 module:dtcm
|
||||
@@ -4705,7 +4705,7 @@ from:0x02104d1c kind:arm_call to:0x02104eb4 module:overlay(31)
|
||||
from:0x02104d24 kind:arm_call to:0x02011ff4 module:main
|
||||
from:0x02104d38 kind:arm_call to:0x0209e19c module:overlay(0)
|
||||
from:0x02104d4c kind:arm_call_thumb to:0x020590d4 module:overlay(0)
|
||||
from:0x02104d68 kind:load to:0x021175b8 module:overlay(31)
|
||||
from:0x02104d68 kind:load to:0x021175b0 add:0x8 module:overlay(31)
|
||||
from:0x02104d9c kind:arm_call to:0x0200f218 module:main
|
||||
from:0x02104dc4 kind:load to:0x02112ae4 module:overlay(31)
|
||||
from:0x02104dd4 kind:load to:0x0200b58c module:main
|
||||
@@ -4714,7 +4714,7 @@ from:0x02104e14 kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x02104e28 kind:arm_call to:0x02104d44 module:overlay(31)
|
||||
from:0x02104e34 kind:arm_call to:0x02061d8c module:overlay(0)
|
||||
from:0x02104e44 kind:arm_call to:0x02061db4 module:overlay(0)
|
||||
from:0x02104e50 kind:load to:0x021175e4 module:overlay(31)
|
||||
from:0x02104e50 kind:load to:0x021175dc add:0x8 module:overlay(31)
|
||||
from:0x02104e54 kind:load to:0x02115cb0 add:0x8 module:overlay(31)
|
||||
from:0x02104e60 kind:arm_call_thumb to:0x02059154 module:overlay(0)
|
||||
from:0x02104e78 kind:arm_call_thumb to:0x02059154 module:overlay(0)
|
||||
|
||||
@@ -65,7 +65,7 @@ func_ov031_020db194 kind:function(arm,size=0x10) addr:0x020db194
|
||||
func_ov031_020db1a4 kind:function(arm,size=0x10) addr:0x020db1a4
|
||||
func_ov031_020db1b4 kind:function(arm,size=0x10) addr:0x020db1b4
|
||||
func_ov031_020db1c4 kind:function(arm,size=0x10) addr:0x020db1c4
|
||||
func_ov031_020db1d4 kind:function(arm,size=0x10) addr:0x020db1d4
|
||||
_ZN18UnkStruct_027e0d3411TryItemGiveEi kind:function(arm,size=0x10) addr:0x020db1d4
|
||||
_ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020db1e4
|
||||
func_ov031_020db1f4 kind:function(arm,size=0x34) addr:0x020db1f4
|
||||
func_ov031_020db228 kind:function(arm,size=0x34) addr:0x020db228
|
||||
@@ -1527,43 +1527,43 @@ func_ov031_0210491c kind:function(arm,size=0x40) addr:0x0210491c
|
||||
func_ov031_0210495c kind:function(arm,size=0x30) addr:0x0210495c
|
||||
func_ov031_0210498c kind:function(arm,size=0x224) addr:0x0210498c
|
||||
_ZN19func_ov031_02104bb0D0Ev kind:function(arm,size=0x1c) addr:0x02104bb0
|
||||
_ZN23MapObjectProfileUnkTRES10GetProfileEv kind:function(arm,size=0xc) addr:0x02104bcc
|
||||
_ZN23MapObjectProfileUnkTRES6CreateEv kind:function(arm,size=0x24) addr:0x02104bd8
|
||||
_ZN23MapObjectProfileUnkTRESC1Ev kind:function(arm,size=0x44) addr:0x02104bfc
|
||||
_ZN16MapObjectUnkTRESC1Ev kind:function(arm,size=0x80) addr:0x02104c40
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f64Ev kind:function(arm,size=0x2c) addr:0x02104cc0
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f90Ev kind:function(arm,size=0x8) addr:0x02104cec
|
||||
_ZN16MapObjectUnkTRES19func_ov031_02102f98Ev kind:function(arm,size=0xc) addr:0x02104cf4
|
||||
_ZN16MapObjectUnkTRESD1Ev kind:function(arm,size=0x14) addr:0x02104d00
|
||||
_ZN16MapObjectUnkTRESD0Ev kind:function(arm,size=0x1c) addr:0x02104d14
|
||||
_ZN23MapObjectProfileUnkTRESD1Ev kind:function(arm,size=0x14) addr:0x02104d30
|
||||
func_ov031_02104d44 kind:function(arm,size=0x28) addr:0x02104d44
|
||||
func_ov031_02104d6c kind:function(arm,size=0x5c) addr:0x02104d6c
|
||||
func_ov031_02104dc8 kind:function(arm,size=0x10) addr:0x02104dc8
|
||||
func_ov031_02104dd8 kind:function(arm,size=0x80) addr:0x02104dd8
|
||||
func_ov031_02104e58 kind:function(arm,size=0x14) addr:0x02104e58
|
||||
_ZN19func_ov031_02104e6cD1Ev kind:function(arm,size=0x20) addr:0x02104e6c
|
||||
_ZN19func_ov031_02104e8cD0Ev kind:function(arm,size=0x28) addr:0x02104e8c
|
||||
_ZN19func_ov031_02104eb4D2Ev kind:function(arm,size=0x20) addr:0x02104eb4
|
||||
func_ov031_02104ed4 kind:function(arm,size=0xdc) addr:0x02104ed4
|
||||
func_ov031_02104fb0 kind:function(arm,size=0x2e0) addr:0x02104fb0
|
||||
func_ov031_02105290 kind:function(arm,size=0x27c) addr:0x02105290
|
||||
func_ov031_0210550c kind:function(arm,size=0x14) addr:0x0210550c
|
||||
func_ov031_02105520 kind:function(arm,size=0xc) addr:0x02105520
|
||||
func_ov031_0210552c kind:function(arm,size=0x94) addr:0x0210552c
|
||||
func_ov031_021055c0 kind:function(arm,size=0x14) addr:0x021055c0
|
||||
func_ov031_021055d4 kind:function(arm,size=0x1c) addr:0x021055d4
|
||||
func_ov031_021055f0 kind:function(arm,size=0x3b4) addr:0x021055f0
|
||||
func_ov031_021059a4 kind:function(arm,size=0xe8) addr:0x021059a4
|
||||
func_ov031_02105a8c kind:function(arm,size=0x108) addr:0x02105a8c
|
||||
func_ov031_02105b94 kind:function(arm,size=0x100) addr:0x02105b94
|
||||
func_ov031_02105c94 kind:function(arm,size=0x8) addr:0x02105c94
|
||||
func_ov031_02105c9c kind:function(arm,size=0x8) addr:0x02105c9c
|
||||
func_ov031_02105ca4 kind:function(arm,size=0x58) addr:0x02105ca4
|
||||
func_ov031_02105cfc kind:function(arm,size=0x28) addr:0x02105cfc
|
||||
func_ov031_02105d24 kind:function(arm,size=0x2c) addr:0x02105d24
|
||||
func_ov031_02105d50 kind:function(arm,size=0xc) addr:0x02105d50
|
||||
_ZN19func_ov031_02105d5cD0Ev kind:function(arm,size=0x1c) addr:0x02105d5c
|
||||
_ZN31MapObjectProfileTreasureSpawned10GetProfileEv kind:function(arm,size=0xc) addr:0x02104bcc
|
||||
_ZN31MapObjectProfileTreasureSpawned6CreateEv kind:function(arm,size=0x24) addr:0x02104bd8
|
||||
_ZN31MapObjectProfileTreasureSpawnedC1Ev kind:function(arm,size=0x44) addr:0x02104bfc
|
||||
_ZN24MapObjectTreasureSpawnedC1Ev kind:function(arm,size=0x80) addr:0x02104c40
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_3CEv kind:function(arm,size=0x2c) addr:0x02104cc0
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_40Ev kind:function(arm,size=0x8) addr:0x02104cec
|
||||
_ZN24MapObjectTreasureSpawned8vfunc_54Ev kind:function(arm,size=0xc) addr:0x02104cf4
|
||||
_ZN24MapObjectTreasureSpawnedD1Ev kind:function(arm,size=0x14) addr:0x02104d00
|
||||
_ZN24MapObjectTreasureSpawnedD0Ev kind:function(arm,size=0x1c) addr:0x02104d14
|
||||
_ZN31MapObjectProfileTreasureSpawnedD1Ev kind:function(arm,size=0x14) addr:0x02104d30
|
||||
_ZN19MapObjectUnkTRES_74C1Ei kind:function(arm,size=0x28) addr:0x02104d44
|
||||
_ZN19MapObjectUnkTRES_748vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x5c) addr:0x02104d6c
|
||||
_ZN19MapObjectUnkTRES_7419func_ov031_0210306cEv kind:function(arm,size=0x10) addr:0x02104dc8
|
||||
_ZN18MapObjectChestBaseC2Ei kind:function(arm,size=0x80) addr:0x02104dd8
|
||||
_ZN19MapObjectUnkTRES_74D1Ev kind:function(arm,size=0x14) addr:0x02104e58
|
||||
_ZN18MapObjectChestBaseD1Ev kind:function(arm,size=0x20) addr:0x02104e6c
|
||||
_ZN18MapObjectChestBaseD0Ev kind:function(arm,size=0x28) addr:0x02104e8c
|
||||
_ZN18MapObjectChestBaseD2Ev kind:function(arm,size=0x20) addr:0x02104eb4
|
||||
_ZN18MapObjectChestBase8vfunc_00Ev kind:function(arm,size=0xdc) addr:0x02104ed4
|
||||
_ZN18MapObjectChestBase8vfunc_04Ev kind:function(arm,size=0x2e0) addr:0x02104fb0
|
||||
_ZN18MapObjectChestBase8vfunc_08Ev kind:function(arm,size=0x27c) addr:0x02105290
|
||||
_ZN18MapObjectChestBase8vfunc_0CEv kind:function(arm,size=0x14) addr:0x0210550c
|
||||
_ZN18MapObjectChestBase8vfunc_28Ev kind:function(arm,size=0xc) addr:0x02105520
|
||||
_ZN18MapObjectChestBase19func_ov031_021037d0Ev kind:function(arm,size=0x94) addr:0x0210552c
|
||||
_ZN18MapObjectChestBase19func_ov031_02103864Ev kind:function(arm,size=0x14) addr:0x021055c0
|
||||
_ZN18MapObjectChestBase19func_ov031_02103878Ev kind:function(arm,size=0x1c) addr:0x021055d4
|
||||
_ZN18MapObjectChestBase8vfunc_38Eii kind:function(arm,size=0x3b4) addr:0x021055f0
|
||||
_ZN18MapObjectChestBase8vfunc_18EPcc kind:function(arm,size=0xe8) addr:0x021059a4
|
||||
_ZN18MapObjectChestBase8vfunc_14Ev kind:function(arm,size=0x108) addr:0x02105a8c
|
||||
_ZN18MapObjectChestBase8vfunc_3CEv kind:function(arm,size=0x100) addr:0x02105b94
|
||||
_ZN18MapObjectChestBase8vfunc_40Ev kind:function(arm,size=0x8) addr:0x02105c94
|
||||
_ZN18MapObjectChestBase8vfunc_44Ev kind:function(arm,size=0x8) addr:0x02105c9c
|
||||
_ZN18MapObjectChestBase19func_ov031_02103f48Ev kind:function(arm,size=0x58) addr:0x02105ca4
|
||||
_ZN18MapObjectChestBase8vfunc_4CEv kind:function(arm,size=0x28) addr:0x02105cfc
|
||||
_ZN18MapObjectChestBase8vfunc_50Ev kind:function(arm,size=0x2c) addr:0x02105d24
|
||||
_ZN18MapObjectChestBase8vfunc_54Ev kind:function(arm,size=0xc) addr:0x02105d50
|
||||
_ZN19MapObjectUnkTRES_74D0Ev kind:function(arm,size=0x1c) addr:0x02105d5c
|
||||
_ZN23MapObjectProfileUnkTRED10GetProfileEv kind:function(arm,size=0xc) addr:0x02105d78
|
||||
_ZN23MapObjectProfileUnkTRED6CreateEv kind:function(arm,size=0x24) addr:0x02105d84
|
||||
_ZN23MapObjectProfileUnkTREDC1Ev kind:function(arm,size=0x44) addr:0x02105da8
|
||||
@@ -2108,8 +2108,8 @@ __sinit_MapObjectUnkSTIR.cpp kind:function(arm,size=0x50) addr:0x02113b34
|
||||
__sinit_MapObjectUnkGRSS.cpp kind:function(arm,size=0x90) addr:0x02113b84
|
||||
__sinit_MapObjectUnkSWHT.cpp kind:function(arm,size=0x70) addr:0x02113c14
|
||||
__sinit_MapObjectUnkBMFL.cpp kind:function(arm,size=0x50) addr:0x02113c84
|
||||
__sinit_MapObjectUnkTRES.cpp kind:function(arm,size=0x6c) addr:0x02113cd4
|
||||
__sinit_ov031_02113d40 kind:function(arm,size=0x30) addr:0x02113d40
|
||||
__sinit_MapObjectTreasureSpawned.cpp kind:function(arm,size=0x6c) addr:0x02113cd4 local
|
||||
__sinit_MapObjectChestBase.cpp kind:function(arm,size=0x30) addr:0x02113d40
|
||||
__sinit_MapObjectUnkTRED.cpp kind:function(arm,size=0x6c) addr:0x02113d70
|
||||
__sinit_MapObjectUnkTREW.cpp kind:function(arm,size=0x6c) addr:0x02113ddc
|
||||
__sinit_MapObjectUnkTREN.cpp kind:function(arm,size=0x6c) addr:0x02113e48
|
||||
@@ -2172,8 +2172,8 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
|
||||
.p__sinit_MapObjectUnkGRSS.cpp kind:data(word) addr:0x021145c0
|
||||
.p__sinit_MapObjectUnkSWHT.cpp kind:data(word) addr:0x021145c4
|
||||
.p__sinit_MapObjectUnkBMFL.cpp kind:data(word) addr:0x021145c8
|
||||
.p__sinit_MapObjectUnkTRES.cpp kind:data(word) addr:0x021145cc
|
||||
.p__sinit_ov031_02113d40 kind:data(word) addr:0x021145d0
|
||||
.p__sinit_MapObjectTreasureSpawned.cpp kind:data(word) addr:0x021145cc local
|
||||
.p__sinit_MapObjectChestBase.cpp kind:data(word) addr:0x021145d0
|
||||
.p__sinit_MapObjectUnkTRED.cpp kind:data(word) addr:0x021145d4
|
||||
.p__sinit_MapObjectUnkTREW.cpp kind:data(word) addr:0x021145d8
|
||||
.p__sinit_MapObjectUnkTREN.cpp kind:data(word) addr:0x021145dc
|
||||
@@ -2439,13 +2439,13 @@ data_ov031_02117440 kind:data(any) addr:0x02117440
|
||||
data_ov031_02117480 kind:data(any) addr:0x02117480
|
||||
data_ov031_0211749c kind:data(any) addr:0x0211749c
|
||||
data_ov031_02117500 kind:data(any) addr:0x02117500
|
||||
data_ov031_02117524 kind:data(any) addr:0x02117524
|
||||
data_ov031_02117534 kind:data(any) addr:0x02117534
|
||||
data_ov031_02117550 kind:data(any) addr:0x02117550
|
||||
data_ov031_021157b0 kind:data(any) addr:0x02117524 local
|
||||
_ZTV31MapObjectProfileTreasureSpawned kind:data(any) addr:0x0211752c
|
||||
_ZTV24MapObjectTreasureSpawned kind:data(any) addr:0x02117548
|
||||
data_ov031_021175a4 kind:data(any) addr:0x021175a4
|
||||
data_ov031_021175a8 kind:data(any) addr:0x021175a8
|
||||
data_ov031_021175b8 kind:data(any) addr:0x021175b8
|
||||
data_ov031_021175e4 kind:data(any) addr:0x021175e4
|
||||
_ZTV19MapObjectUnkTRES_74 kind:data(any) addr:0x021175b0
|
||||
_ZTV18MapObjectChestBase kind:data(any) addr:0x021175dc
|
||||
data_ov031_02117638 kind:data(any) addr:0x02117638
|
||||
data_ov031_02117648 kind:data(any) addr:0x02117648
|
||||
data_ov031_02117664 kind:data(any) addr:0x02117664
|
||||
@@ -2654,9 +2654,9 @@ data_ov031_0211983c kind:bss addr:0x0211983c
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkBMFLE8sProfileE kind:bss addr:0x0211985c
|
||||
@30993 kind:bss addr:0x02119860
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkBMFLE8sProfileE kind:bss addr:0x0211986c
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTRESE8sProfileE kind:bss addr:0x02119940
|
||||
@30999 kind:bss addr:0x02119944
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkTRESE8sProfileE kind:bss addr:0x02119950
|
||||
_ZGVN15ProfileInstanceI31MapObjectProfileTreasureSpawnedE8sProfileE kind:bss addr:0x02119940
|
||||
@30999 kind:bss addr:0x02119944 local
|
||||
_ZN15ProfileInstanceI31MapObjectProfileTreasureSpawnedE8sProfileE kind:bss addr:0x02119950
|
||||
data_ov031_02119a24 kind:bss addr:0x02119a24
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTREDE8sProfileE kind:bss addr:0x02119a9c
|
||||
@31005 kind:bss addr:0x02119aa0
|
||||
|
||||
@@ -147,7 +147,7 @@ _ZN19ActorProfileUnkGORYC1Ev kind:function(arm,size=0x60) addr:0x0211d8a8
|
||||
_ZN12ActorUnkGORYC1Ev kind:function(arm,size=0xbc) addr:0x0211d908
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bc20Ev kind:function(arm,size=0x64) addr:0x0211d9c4
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bc84Ev kind:function(arm,size=0x2c) addr:0x0211da28
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bcb0Ev kind:function(arm,size=0x94) addr:0x0211da54
|
||||
_ZN12ActorUnkGORY19func_ov036_0211bcb0Ei kind:function(arm,size=0x94) addr:0x0211da54
|
||||
_ZN12ActorUnkGORYD0Ev kind:function(arm,size=0x38) addr:0x0211dae8
|
||||
_ZN12ActorUnkGORYD2Ev kind:function(arm,size=0x30) addr:0x0211db20
|
||||
_ZN19ActorProfileUnkGORYD1Ev kind:function(arm,size=0x14) addr:0x0211db50
|
||||
@@ -206,7 +206,7 @@ _ZN12ActorUnkSHIT19func_ov036_0211d270Ev kind:function(arm,size=0x1c) addr:0x021
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d28cEv kind:function(arm,size=0x1c) addr:0x0211f030
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d2a8Ev kind:function(arm,size=0x34) addr:0x0211f04c
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d2dcEv kind:function(arm,size=0x294) addr:0x0211f080
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d570Ev kind:function(arm,size=0x1ec) addr:0x0211f314
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d570Ei kind:function(arm,size=0x1ec) addr:0x0211f314
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d75cEv kind:function(arm,size=0x18) addr:0x0211f500
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d774Ev kind:function(arm,size=0x1c) addr:0x0211f518
|
||||
_ZN12ActorUnkSHIT19func_ov036_0211d790Ev kind:function(arm,size=0xc) addr:0x0211f534
|
||||
|
||||
@@ -9,12 +9,12 @@ _ZN9PlayerGet8vfunc_10Eii kind:function(arm,size=0x6fc) addr:0x021871b8
|
||||
_ZN9PlayerGet8vfunc_18Eiii kind:function(arm,size=0x7c) addr:0x021878b4
|
||||
_ZN22UnkStruct_PlayerGet_ecC1Ev kind:function(arm,size=0xc) addr:0x02187930
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov110_02185d3cEi kind:function(thumb,size=0x66) addr:0x0218793c
|
||||
_ZN11ItemManager19func_ov110_02185da4Ei kind:function(arm,size=0x10) addr:0x021879a4
|
||||
_ZN11ItemManager19func_ov110_02185db4Ei kind:function(arm,size=0x10) addr:0x021879b4
|
||||
_ZN11ItemManager16GetBmgIDFromItemEi kind:function(arm,size=0x10) addr:0x021879a4
|
||||
_ZN11ItemManager18GetAdvFlagFromItemEi kind:function(arm,size=0x10) addr:0x021879b4
|
||||
data_ov110_021879c8 kind:data(any) addr:0x021879c8
|
||||
data_ov110_021879ca kind:data(any) addr:0x021879ca
|
||||
data_ov110_021879e8 kind:data(any) addr:0x021879e8
|
||||
data_ov110_02187bbc kind:data(any) addr:0x02187bbc
|
||||
sBMGItemMap kind:data(any) addr:0x021879e8
|
||||
sAdvFlagItemMap kind:data(any) addr:0x02187bbc
|
||||
data_ov110_02187c44 kind:data(any) addr:0x02187c44 ambiguous
|
||||
__sinit_PlayerGet.cpp kind:function(arm,size=0x2c) addr:0x02187d90
|
||||
.p__sinit_PlayerGet.cpp kind:data(word) addr:0x02187dbc
|
||||
|
||||
@@ -718,7 +718,7 @@ func_0201491c kind:function(thumb,size=0x2c) addr:0x0201491c
|
||||
func_02014948 kind:function(thumb,size=0x50) addr:0x02014948
|
||||
_ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014998
|
||||
func_02014a14 kind:function(arm,size=0x24) addr:0x02014a14
|
||||
func_02014a38 kind:function(arm,size=0xcc) addr:0x02014a38
|
||||
_ZN18UnkStruct_02049bac13func_02014a34EPv kind:function(arm,size=0xcc) addr:0x02014a38
|
||||
func_02014b04 kind:function(arm,size=0x54) addr:0x02014b04
|
||||
func_02014b58 kind:function(arm,size=0x10) addr:0x02014b58
|
||||
func_02014b68 kind:function(arm,size=0x1c) addr:0x02014b68
|
||||
@@ -2759,7 +2759,7 @@ data_0204b0fc kind:bss addr:0x0204b0fc
|
||||
data_02049b80 kind:bss addr:0x0204b100
|
||||
data_02049ba0 kind:bss addr:0x0204b120
|
||||
data_0204b128 kind:bss addr:0x0204b128
|
||||
data_0204b12c kind:bss addr:0x0204b12c
|
||||
data_02049bac kind:bss addr:0x0204b12c
|
||||
data_0204b150 kind:bss addr:0x0204b150
|
||||
data_0204b154 kind:bss addr:0x0204b154
|
||||
data_0204b15c kind:bss addr:0x0204b15c
|
||||
|
||||
+37
-46
@@ -18,46 +18,47 @@
|
||||
#define OV040_ARM ARM
|
||||
#endif
|
||||
|
||||
class Actor_5c_Base {
|
||||
class ActorParams {
|
||||
public:
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
/* 0C */ s16 mUnk_0C;
|
||||
/* 0E */ unk16 mUnk_0E; // padding?
|
||||
/* 10 */
|
||||
|
||||
Actor_5c_Base() {};
|
||||
};
|
||||
|
||||
class Actor_5c : public Actor_5c_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
// /* 04 */ STRUCT_PAD(0x04, 0x28);
|
||||
// /* 28 */ unk32 mUnk_28;
|
||||
|
||||
Actor_5c() {};
|
||||
void func_ov000_020975f8();
|
||||
};
|
||||
|
||||
class Actor_5c_temp : public Actor_5c_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 10 */ unk16 mUnk_10[3];
|
||||
/* 16 */ STRUCT_PAD(0x16, 0x28);
|
||||
/* 00 */ Vec3p mInitialPos;
|
||||
/* 0C */ s16 mInitialAngle;
|
||||
/* 0E */ s8 mUnk_0E;
|
||||
/* 0F */ bool mUnk_0F;
|
||||
/* 10 */ u16 mParams[4];
|
||||
/* 18 */ Vec2b mUnk_18;
|
||||
/* 1A */ u16 mUnk_1A;
|
||||
/* 1C */ union {
|
||||
unk32 mUnk_1C;
|
||||
u16 mUnk_1C_0;
|
||||
u16 mUnk_1C_2;
|
||||
};
|
||||
/* 20 */ union {
|
||||
unk32 mUnk_20;
|
||||
unk16 mUnk_20_0;
|
||||
unk16 mUnk_20_2;
|
||||
};
|
||||
/* 24 */ unk16 mUnk_24;
|
||||
/* 26 */ union {
|
||||
unk16 mUnk_26;
|
||||
unk8 mUnk_26_0;
|
||||
unk8 mUnk_26_1;
|
||||
};
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */
|
||||
|
||||
Actor_5c_temp() {};
|
||||
void func_ov000_020975f8();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b539c {
|
||||
public:
|
||||
/* 00 */ Actor_5c_Base mUnk_00[3];
|
||||
/* 00 */ ActorParams mUnk_00;
|
||||
/* 30 */ ActorProfile *mUnk_30;
|
||||
/* 34 */
|
||||
|
||||
ActorProfile **func_ov000_02073dc();
|
||||
ActorProfile **func_ov000_02073e8();
|
||||
ActorProfile *func_ov000_020974dc(u32 id);
|
||||
ActorProfile *GetProfileFromId(ActorId actorId);
|
||||
};
|
||||
|
||||
typedef u32 ActorFlags;
|
||||
@@ -123,23 +124,9 @@ public:
|
||||
/* 52 */ u16 mUnk_52;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ ActorFlags mFlags[1];
|
||||
/* 5C */ Actor_5c mUnk_5C;
|
||||
/* 6C */ u16 mUnk_6C; // actor user id?
|
||||
/* 6E */ u16 mUnk_6E;
|
||||
/* 70 */ u16 mUnk_70;
|
||||
/* 70 */ u16 mUnk_72;
|
||||
/* 74 */ u8 mUnk_74;
|
||||
/* 74 */ u8 mUnk_75;
|
||||
/* 76 */ u16 mUnk_76;
|
||||
/* 78 */ u16 mUnk_78;
|
||||
/* 7A */ unk16 mUnk_7A;
|
||||
/* 7C */ unk32 mUnk_7C;
|
||||
/* 80 */ s16 mUnk_80;
|
||||
/* 80 */ unk16 mUnk_82;
|
||||
/* 84 */ unk32 mUnk_84;
|
||||
/* 88 */ unk32 mUnk_88;
|
||||
/* 5C */ ActorParams mUnk_5C;
|
||||
/* 8C */ ActorRef mRef;
|
||||
/* 90 */ ActorProfile *mType;
|
||||
/* 90 */ ActorProfile *mpProfile;
|
||||
/* 94 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00(Vec3p *param1);
|
||||
@@ -170,6 +157,10 @@ public:
|
||||
*(u32 *) this->mFlags = 0;
|
||||
}
|
||||
|
||||
void Kill() {
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
|
||||
}
|
||||
|
||||
Actor();
|
||||
|
||||
ActorId GetActorId();
|
||||
@@ -195,9 +186,9 @@ public:
|
||||
s32 func_ov000_020985f0(void *param1);
|
||||
void func_ov000_0209862c(unk32 param1);
|
||||
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3, unk32 param4);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c param3);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, ActorParams *param3, unk32 param4);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, ActorParams *param3);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, ActorParams param3);
|
||||
void func_ov000_020989e0();
|
||||
|
||||
bool func_ov000_02098a60(unk32 param1);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -28,7 +29,7 @@ public:
|
||||
|
||||
void func_ov036_0211bc20(void);
|
||||
void func_ov036_0211bc84(void);
|
||||
void func_ov036_0211bcb0(void);
|
||||
ItemId func_ov036_0211bcb0(unk32 param1);
|
||||
};
|
||||
|
||||
class ActorProfileUnkGORY : public ActorProfile_Derived1 {
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -20,7 +21,8 @@ public:
|
||||
class ActorUnkKEYN : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 94 */ STRUCT_PAD(0x94, 0xA0);
|
||||
/* A0 */ ItemId mItemId;
|
||||
|
||||
ActorUnkKEYN();
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -19,8 +20,11 @@ public:
|
||||
|
||||
class ActorUnkSHIT : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 000 (base) */
|
||||
/* 094 */ STRUCT_PAD(0x94, 0xE4);
|
||||
/* 0E4 */ ItemId mItemId;
|
||||
/* 0E8 */ STRUCT_PAD(0xE8, 0x2D3);
|
||||
/* 2D3 */ bool mUnk_2D3;
|
||||
|
||||
ActorUnkSHIT();
|
||||
|
||||
@@ -46,17 +50,17 @@ public:
|
||||
void func_ov036_0211c9ac(void);
|
||||
void func_ov036_0211c9cc(void);
|
||||
void func_ov036_0211c9d4(void);
|
||||
void func_ov036_0211cddc(void);
|
||||
unk32 func_ov036_0211cddc(void);
|
||||
void func_ov036_0211cdfc(void);
|
||||
void func_ov036_0211ceec(void);
|
||||
void func_ov036_0211d0a8(void);
|
||||
u16 func_ov036_0211ceec(void);
|
||||
unk32 func_ov036_0211d0a8(void);
|
||||
void func_ov036_0211d22c(void);
|
||||
void func_ov036_0211d254(void);
|
||||
void func_ov036_0211d270(void);
|
||||
void func_ov036_0211d28c(void);
|
||||
void func_ov036_0211d2a8(void);
|
||||
void func_ov036_0211d2dc(void);
|
||||
void func_ov036_0211d570(void);
|
||||
bool func_ov036_0211d2dc(void);
|
||||
void func_ov036_0211d570(unk32 param1);
|
||||
void func_ov036_0211d75c(void);
|
||||
void func_ov036_0211d774(void);
|
||||
void func_ov036_0211d790(void);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -20,7 +21,8 @@ public:
|
||||
class ActorUnkSZKU : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 94 */ STRUCT_PAD(0x94, 0xA0);
|
||||
/* A0 */ ItemId mItemId;
|
||||
|
||||
ActorUnkSZKU();
|
||||
|
||||
|
||||
@@ -126,11 +126,11 @@ enum ItemId_ {
|
||||
/* 0x16 */ ItemId_SnowGlyph = 22,
|
||||
/* 0x17 */ ItemId_OceanGlyph = 23,
|
||||
/* 0x18 */ ItemId_FireGlyph = 24,
|
||||
/* 0x19 */ ItemId_25 = 25,
|
||||
/* 0x1A */ ItemId_26 = 26,
|
||||
/* 0x1B */ ItemId_27 = 27,
|
||||
/* 0x1C */ ItemId_28 = 28,
|
||||
/* 0x1D */ ItemId_29 = 29,
|
||||
/* 0x19 */ ItemId_25 = 25, // glyph after forest restoration song
|
||||
/* 0x1A */ ItemId_26 = 26, // glyph after restoration song
|
||||
/* 0x1B */ ItemId_27 = 27, // glyph after restoration song
|
||||
/* 0x1C */ ItemId_28 = 28, // glyph after restoration song
|
||||
/* 0x1D */ ItemId_29 = 29, // glyph after restoration song
|
||||
/* 0x1E */ ItemId_FinalTrack = 30, // unlocks the endgame portal
|
||||
/* 0x1F */ ItemId_31 = 31,
|
||||
/* 0x20 */ ItemId_32 = 32,
|
||||
@@ -221,7 +221,7 @@ enum ItemId_ {
|
||||
};
|
||||
|
||||
#define MAX_TREASURE 99
|
||||
typedef s16 TreasureType;
|
||||
typedef s32 TreasureType;
|
||||
enum TreasureType_ {
|
||||
TreasureType_None = -1,
|
||||
TreasureType_DemonFossil = 0,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
@@ -108,9 +109,11 @@ public:
|
||||
unk32 func_ov000_020a8ab8();
|
||||
unk32 func_ov000_020a8acc();
|
||||
|
||||
void func_ov001_020bb9f8();
|
||||
|
||||
bool func_ov110_02184a40(ItemId itemId);
|
||||
static ItemId func_ov110_02185da4(ItemId itemId);
|
||||
static ItemFlag func_ov110_02185db4(ItemId itemId);
|
||||
static u32 GetBmgIDFromItem(ItemId itemId);
|
||||
static AdventureFlag GetAdvFlagFromItem(ItemId itemId);
|
||||
};
|
||||
|
||||
class TreasureManager : public ItemManager {
|
||||
@@ -126,15 +129,16 @@ public:
|
||||
TreasureManager();
|
||||
~TreasureManager();
|
||||
|
||||
void func_ov000_020a9b10();
|
||||
void func_ov000_020a9b2c();
|
||||
void func_ov000_020a9b3c();
|
||||
void func_ov000_020a9b4c();
|
||||
void func_ov000_020a9b10(void *param1);
|
||||
static unk32 func_ov000_020a9b2c(unk32 param1);
|
||||
static unk32 func_ov000_020a9b3c(unk32 param1);
|
||||
unk32 func_ov000_020a9b4c(unk32 param1);
|
||||
bool func_ov000_020a9c4c(TreasureType type);
|
||||
bool func_ov000_020a9c64();
|
||||
unk32 func_ov000_020a9c90(TreasureType type);
|
||||
bool func_ov000_020a9ca4(TreasureType type);
|
||||
void func_ov000_020a9cbc(TreasureType type, s32 amount);
|
||||
static u32 func_ov000_020a9cfc(u8 *param1, u8 param2);
|
||||
static unk32 func_ov000_020a9d78(unk32 param1);
|
||||
static unk32 func_ov000_020a9e14(unk32 param1);
|
||||
static unk32 func_ov000_020a9eb0(unk32 param1);
|
||||
@@ -142,7 +146,7 @@ public:
|
||||
ItemId func_ov000_020aa02c(ItemId itemId);
|
||||
void func_ov000_020aa0ac(ItemId itemId);
|
||||
void func_ov000_020aa200();
|
||||
void func_ov000_020aa210();
|
||||
bool func_ov000_020aa210();
|
||||
};
|
||||
|
||||
extern TreasureManager *data_ov000_020b6510;
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/math.h>
|
||||
|
||||
#define MAX_PRICECARDS 99
|
||||
|
||||
enum LetterType_ {
|
||||
/* -1 */ LetterType_None = -1,
|
||||
/* 0 */ LetterType_MetPostmanFirst = 0, // AdventureFlag_MetPostmanFirstLetter
|
||||
/* 1 */ LetterType_ReceivedZeldas = 1, // AdventureFlag_ReceivedZeldasLetter
|
||||
/* 2 */ LetterType_ReceivedAlfonzos = 2, // AdventureFlag_ReceivedAlfonzosLetter
|
||||
/* 3 */ LetterType_ReceivedRussells = 3, // AdventureFlag_ReceivedRussellsLetter
|
||||
/* 4 */ LetterType_ObtainedLinebecks = 4, // AdventureFlag_ObtainedLinebecksLetter
|
||||
/* 5 */ LetterType_ReceivedBeedlesFirst = 5, // AdventureFlag_ReceivedBeedlesFirstLetter
|
||||
/* 6 */ LetterType_Unk_03E = 6, // AdventureFlag_Unk_03E
|
||||
/* 7 */ LetterType_Unk_03F = 7, // AdventureFlag_Unk_03F
|
||||
/* 8 */ LetterType_Unk_040 = 8, // AdventureFlag_Unk_040
|
||||
/* 9 */ LetterType_Unk_041 = 9, // AdventureFlag_Unk_041
|
||||
/* 10 */ LetterType_Unk_042 = 10, // AdventureFlag_Unk_042
|
||||
/* 11 */ LetterType_Unk_043 = 11, // AdventureFlag_Unk_043
|
||||
/* 12 */ LetterType_Unk_044 = 12, // AdventureFlag_Unk_044
|
||||
/* 13 */ LetterType_Unk_045 = 13, // AdventureFlag_Unk_045
|
||||
/* 14 */ LetterType_ReceivedCarbens = 14, // AdventureFlag_ReceivedCarbensLetter
|
||||
/* 15 */ LetterType_ReceivedNikos = 15, // AdventureFlag_ReceivedNikosLetter
|
||||
/* 16 */ LetterType_ReceivedFerrus1 = 16, // AdventureFlag_ReceivedFerrusLetter1
|
||||
/* 17 */ LetterType_ReceivedFerrus2 = 17, // AdventureFlag_ReceivedFerrusLetter2
|
||||
/* 18 */ LetterType_ReceivedFerrus3 = 18, // AdventureFlag_ReceivedFerrusLetter3
|
||||
/* 19 */ LetterType_ReceivedKagorons = 19, // AdventureFlag_ReceivedKagoronsLetter
|
||||
/* 20 */ LetterType_Max = 20,
|
||||
};
|
||||
|
||||
enum StampType_ {
|
||||
/* -1 */ StampType_None = -1,
|
||||
/* 0 */ StampType_TowerOfSpirits = 0,
|
||||
/* 1 */ StampType_CastleTown = 1,
|
||||
/* 2 */ StampType_OutsetVillage = 2,
|
||||
/* 3 */ StampType_Mayscore = 3,
|
||||
/* 4 */ StampType_WoodlandSanctuary = 4,
|
||||
/* 5 */ StampType_AnoukiVillage = 5,
|
||||
/* 6 */ StampType_SnowfallSanctuary = 6,
|
||||
/* 7 */ StampType_PapuziaVillage = 7,
|
||||
/* 8 */ StampType_IslandSanctuary = 8,
|
||||
/* 9 */ StampType_GoronVillage = 9,
|
||||
/* 10 */ StampType_ValleySanctuary = 10,
|
||||
/* 11 */ StampType_DuneSanctuary = 11,
|
||||
/* 12 */ StampType_WoodedTemple = 12,
|
||||
/* 13 */ StampType_BlizzardTemple = 13,
|
||||
/* 14 */ StampType_MarineTemple = 14,
|
||||
/* 15 */ StampType_MountainTemple = 15,
|
||||
/* 16 */ StampType_DesertTemple = 16,
|
||||
/* 17 */ StampType_PirateHideout = 17,
|
||||
/* 18 */ StampType_TradingPost = 18,
|
||||
/* 19 */ StampType_IcySpring = 19,
|
||||
/* 20 */ StampType_Max = 20,
|
||||
};
|
||||
|
||||
class MiscAdvManager {
|
||||
public:
|
||||
/* 00 */ u16 mStampDates[StampType_Max];
|
||||
/* 28 */ u16 mUnk_28;
|
||||
/* 2A */ u16 mPostDate;
|
||||
/* 2C */ Vec2b mStampPositions[StampType_Max];
|
||||
/* 54 */ s8 mObtainedLetters[LetterType_Max];
|
||||
/* 68 */ s8 mObtainedStamps[StampType_Max];
|
||||
/* 7C */ u8 mLastRandomNum;
|
||||
/* 7D */ u8 mRandomNum;
|
||||
/* 7E */ s8 mNumPriceCards; // current amount of price cards
|
||||
/* 7F */ s8 mNumPostedPriceCards; // current amount of posted price cards
|
||||
/* 80 */ unk8 mUnk_80;
|
||||
/* 81 */ unk8 mUnk_81; // pad?
|
||||
/* 82 */ unk8 mUnk_82; // pad?
|
||||
/* 83 */ unk8 mUnk_83; // pad?
|
||||
/* 84 */ unk32 mLettersRead; // bitfield
|
||||
/* 88 */ unk32 mStampsFlag; // bitfield, related to the checkmarks from the stampbook
|
||||
/* 8C */ unk16 mSongs; // bitfield
|
||||
/* 8E */ unk16 mUnk_8E; // pad?
|
||||
/* 90 */
|
||||
|
||||
MiscAdvManager();
|
||||
~MiscAdvManager();
|
||||
|
||||
bool GotMaxPriceCards() {
|
||||
return this->GetNumPostcards() >= MAX_PRICECARDS ? true : false;
|
||||
}
|
||||
|
||||
void func_ov024_020d6310(MiscAdvManager *pSrc);
|
||||
void GiveLetterOrPriceCard(ItemId itemId);
|
||||
void GiveLetter(AdventureFlag_Half flag);
|
||||
unk32 GetObtainedLetterCount();
|
||||
bool GotUnreadLetters();
|
||||
unk32 func_ov024_020d6468();
|
||||
unk32 GetStamp(unk32 index);
|
||||
u16 *GetStampDate(unk32 index);
|
||||
Vec2b *GetStampPos(unk32 index);
|
||||
void func_ov024_020d64b4(unk32 param1, unk32 param2, u16 *param3);
|
||||
void func_ov024_020d6530();
|
||||
unk32 GetNumPostcards();
|
||||
void GivePriceCard(unk32 amount);
|
||||
void PostPriceCard(unk32 amount, unk32 param2);
|
||||
void func_ov024_020d6610();
|
||||
|
||||
static MiscAdvManager *Create();
|
||||
static void SetInstance(MiscAdvManager *pInstance);
|
||||
static int ClearInstance();
|
||||
};
|
||||
|
||||
extern MiscAdvManager *gpMiscAdvManager;
|
||||
@@ -201,7 +201,7 @@ DEFINE_MAP_OBJECT_TYPE('TRDT', TRDT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRED', TRED)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREE', TREE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREN', TREN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRES', TRES)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRES', TreasureSpawned)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRET', TRET)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREW', TREW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFI', TRFI)
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
|
||||
class MapObject_20 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00[4];
|
||||
/* 00 */ u16 mUnk_00[4]; // parameters
|
||||
/* 08 */ u8 mUnk_08[2];
|
||||
/* 0A */ u16 mUnk_0A[2];
|
||||
/* 0E */ unk16 mUnk_0E;
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
/* 1B */ unk8 mUnk_1B;
|
||||
/* 1C */ MapObjFlags mFlags[1];
|
||||
/* 1E */ unk16 mUnk_1E;
|
||||
/* 20 */ MapObject_20 mUnk_20;
|
||||
/* 20 */ MapObject_20 mUnk_20; // parameters
|
||||
/* 38 */ unk8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39;
|
||||
/* 3A */ Vec2b mUnk_3A;
|
||||
@@ -133,7 +133,7 @@ public:
|
||||
/* 40 */
|
||||
|
||||
// data_ov000_020b3590
|
||||
/* 00 */ virtual bool vfunc_00();
|
||||
/* 00 */ virtual bool vfunc_00(); // Init? the newly-created map object is deleted if this returns false
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
@@ -183,8 +183,6 @@ public:
|
||||
bool func_ov000_0209d668();
|
||||
void func_ov000_0209d6ac(Vec3p *param1);
|
||||
|
||||
void func_ov031_02103878();
|
||||
|
||||
static void func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx);
|
||||
static void func_ov000_0209d22c(unk16 *param1, MapObject *thisx, unk32 param2);
|
||||
static void func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, Vec3p *param3, unk32 param4, unk32 param5);
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectTreasureSpawned_74 : public UnkSystem4 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 60 */ bool mUnk_60;
|
||||
/* 61 */ unk8 mUnk_61; // pad?
|
||||
/* 62 */ unk8 mUnk_62; // pad?
|
||||
/* 63 */ unk8 mUnk_63; // pad?
|
||||
/* 64 */
|
||||
|
||||
MapObjectTreasureSpawned_74(unk32 param1);
|
||||
|
||||
// data_ov031_02115844
|
||||
/* 00 */ virtual ~MapObjectTreasureSpawned_74() override {}
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
|
||||
void func_ov000_0209dde0(void);
|
||||
|
||||
void func_ov031_0210306c(void);
|
||||
};
|
||||
|
||||
class MapObjectChestBase : public MapObject {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 040 */ unk32 mUnk_040;
|
||||
/* 044 */ unk32 mUnk_044;
|
||||
/* 048 */ unk32 mUnk_048;
|
||||
/* 04C */ unk8 mUnk_04C;
|
||||
/* 04D */ unk8 mUnk_04D;
|
||||
/* 04E */ unk8 mUnk_04E; // pad?
|
||||
/* 04F */ unk8 mUnk_04F; // pad?
|
||||
/* 050 */ MapObject_10 mUnk_050;
|
||||
/* 074 */ MapObjectTreasureSpawned_74 mUnk_074;
|
||||
/* 0D8 */ ItemId mItemId;
|
||||
/* 0DC */ UnkSubStruct19 mUnk_0DC;
|
||||
/* 154 */
|
||||
|
||||
MapObjectChestBase(unk32 param1); // func_ov031_0210307c
|
||||
|
||||
/* 00 */ virtual bool vfunc_00() override;
|
||||
/* 04 */ virtual void vfunc_04() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
|
||||
/* 28 */ virtual ItemId vfunc_28() override;
|
||||
/* 30 */ virtual ~MapObjectChestBase() override;
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
|
||||
/* 3C */ virtual unk32 vfunc_3C();
|
||||
/* 40 */ virtual bool vfunc_40();
|
||||
/* 44 */ virtual bool vfunc_44();
|
||||
/* 4C */ virtual void vfunc_4C();
|
||||
/* 50 */ virtual void vfunc_50();
|
||||
/* 54 */ virtual Vec2p *vfunc_54();
|
||||
/* 58 */
|
||||
|
||||
unk32 func_ov031_021037d0();
|
||||
bool func_ov031_02103864();
|
||||
void func_ov031_02103878();
|
||||
void func_ov031_02103f48();
|
||||
};
|
||||
@@ -4,12 +4,9 @@
|
||||
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
|
||||
#include "types.h"
|
||||
|
||||
typedef void (*UnkCallback_func_01fff4cc)(void *, void *);
|
||||
#include <nitro/math.h>
|
||||
|
||||
struct UnkStruct_func_01fff498 {
|
||||
u8 ptrIndex;
|
||||
u8 valueIndex;
|
||||
};
|
||||
typedef void (*UnkCallback_func_01fff4cc)(void *, void *);
|
||||
|
||||
class MapObjectManager {
|
||||
public:
|
||||
@@ -29,12 +26,12 @@ public:
|
||||
/* 6C */ void *mUnk_6C;
|
||||
/* 70 */
|
||||
|
||||
MapObject *func_01fff498(UnkStruct_func_01fff498 param1);
|
||||
MapObject *func_01fff498(Vec2b param1);
|
||||
void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2);
|
||||
MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2);
|
||||
void func_01fff6d0(Vec3p *param1, s32 *param2, s32 *param3);
|
||||
|
||||
void func_ov000_0209c3a8();
|
||||
MapObjectId func_ov000_0209c3a8(Vec2b *param1);
|
||||
void func_ov000_0209c3e8();
|
||||
void func_ov000_0209c444();
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0F */ u8 mUnk_0F;
|
||||
/* 10 */ MapObjectId mMapObjId;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 14 */ MapObjectId mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk8 mUnk_1C;
|
||||
/* 1D */ unk8 mUnk_1D;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObjectChestBase.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
|
||||
class MapObjectTreasureSpawned : public MapObjectChestBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectTreasureSpawned();
|
||||
|
||||
// data_ov031_021157dc
|
||||
/* 30 */ virtual ~MapObjectTreasureSpawned() override;
|
||||
/* 3C */ virtual unk32 vfunc_3C() override;
|
||||
/* 40 */ virtual bool vfunc_40() override;
|
||||
/* 54 */ virtual Vec2p *vfunc_54() override;
|
||||
|
||||
void func_ov031_02102f64(void);
|
||||
void func_ov031_02102f90(void);
|
||||
void func_ov031_02102f98(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileTreasureSpawned : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileTreasureSpawned();
|
||||
~MapObjectProfileTreasureSpawned();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfileTreasureSpawned *GetProfile();
|
||||
};
|
||||
@@ -1,34 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkTRES : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
|
||||
MapObjectUnkTRES();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkTRES() override;
|
||||
|
||||
void func_ov031_02102f64(void);
|
||||
void func_ov031_02102f90(void);
|
||||
void func_ov031_02102f98(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkTRES : public MapObjectProfile {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileUnkTRES();
|
||||
~MapObjectProfileUnkTRES();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfileUnkTRES *GetProfile();
|
||||
};
|
||||
@@ -10,7 +10,8 @@
|
||||
class MapObjectUnkWDST : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ STRUCT_PAD(0x40, 0xB8);
|
||||
/* B8 */ unk32 mUnk_B8;
|
||||
|
||||
MapObjectUnkWDST();
|
||||
|
||||
@@ -34,7 +35,7 @@ public:
|
||||
void func_ov094_02172ae0(void);
|
||||
void func_ov094_02172af4(void);
|
||||
void func_ov094_02172bfc(void);
|
||||
void func_ov094_02172c94(void);
|
||||
void func_ov094_02172c94(unk32 param1);
|
||||
void func_ov094_0217310c(void);
|
||||
void func_ov094_021731e4(void);
|
||||
void func_ov094_02173464(void);
|
||||
|
||||
@@ -10,6 +10,42 @@
|
||||
#define BMG_GET_MSG_ADDR(pGroups, flags) \
|
||||
((u32) (pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1))
|
||||
|
||||
#define BMG_ID(group, infIndex) (((group) << 16) | (infIndex))
|
||||
|
||||
enum BMGGroup_ {
|
||||
BMGGroup_regular = 0x00,
|
||||
BMGGroup_select = 0x02,
|
||||
BMGGroup_maingame = 0x03,
|
||||
BMGGroup_battle_parent = 0x04,
|
||||
BMGGroup_battle_common = 0x05,
|
||||
BMGGroup_field = 0x07,
|
||||
BMGGroup_dungeon = 0x08,
|
||||
BMGGroup_train = 0x09,
|
||||
BMGGroup_demo = 0x0A,
|
||||
BMGGroup_castle = 0x0B,
|
||||
BMGGroup_castle_town = 0x0C,
|
||||
BMGGroup_tower = 0x0D,
|
||||
BMGGroup_tower_lobby = 0x0E,
|
||||
BMGGroup_forest = 0x0F,
|
||||
BMGGroup_snow = 0x10,
|
||||
BMGGroup_water = 0x11,
|
||||
BMGGroup_flame = 0x12,
|
||||
BMGGroup_intrain = 0x13,
|
||||
BMGGroup_village = 0x14,
|
||||
BMGGroup_collect = 0x15,
|
||||
BMGGroup_demo01_05 = 0x16,
|
||||
BMGGroup_demo06_10 = 0x17,
|
||||
BMGGroup_demo11_15 = 0x18,
|
||||
BMGGroup_demo16_20 = 0x19,
|
||||
BMGGroup_demo21_25 = 0x1A,
|
||||
BMGGroup_shop = 0x1B,
|
||||
BMGGroup_flame_fld = 0x1C,
|
||||
BMGGroup_post = 0x1D,
|
||||
BMGGroup_desert = 0x1E,
|
||||
BMGGroup_staff = 0x1F,
|
||||
BMGGroup_train_extra = 0x20,
|
||||
};
|
||||
|
||||
enum BMGTag {
|
||||
/* "INF1" */ BMG_TAG_INF1 = '1FNI',
|
||||
/* "FLW1" */ BMG_TAG_FLW1 = '1WLF',
|
||||
|
||||
@@ -9,6 +9,80 @@
|
||||
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
||||
#include <nitro/math.h>
|
||||
|
||||
enum GIModel_ {
|
||||
GIModel_None = 0,
|
||||
GIModel_stmp = 'stmp',
|
||||
GIModel_shdA = 'shdA',
|
||||
GIModel_rupR = 'rupR',
|
||||
GIModel_trnd = 'trnd',
|
||||
GIModel_litA = 'litA',
|
||||
GIModel_stlb = 'stlb',
|
||||
GIModel_keyB = 'keyB',
|
||||
GIModel_ring = 'ring',
|
||||
GIModel_gold = 'gold',
|
||||
GIModel_bmst = 'bmst',
|
||||
GIModel_makA = 'makA',
|
||||
GIModel_bmrn = 'bmrn',
|
||||
GIModel_ptmL = 'ptmL',
|
||||
GIModel_star = 'star',
|
||||
GIModel_poit = 'poit',
|
||||
GIModel_cloB = 'cloB',
|
||||
GIModel_crwn = 'crwn',
|
||||
GIModel_rupL = 'rupL',
|
||||
GIModel_mons = 'mons',
|
||||
GIModel_swdA = 'swdA',
|
||||
GIModel_beee = 'beee',
|
||||
GIModel_makB = 'makB',
|
||||
GIModel_szku = 'szku',
|
||||
GIModel_keyN = 'keyN',
|
||||
GIModel_srod = 'srod',
|
||||
GIModel_pnec = 'pnec',
|
||||
GIModel_frcY = 'frcY',
|
||||
GIModel_prlA = 'prlA',
|
||||
GIModel_poiF = 'poiF',
|
||||
GIModel_bowB = 'bowB',
|
||||
GIModel_sold = 'sold',
|
||||
GIModel_apdM = 'apdM',
|
||||
GIModel_hrtu = 'hrtu',
|
||||
GIModel_poiD = 'poiD',
|
||||
GIModel_poi5 = 'poi5',
|
||||
GIModel_pflt = 'pflt',
|
||||
GIModel_rbnt = 'rbnt',
|
||||
GIModel_cloA = 'cloA',
|
||||
GIModel_arst = 'arst',
|
||||
GIModel_revY = 'revY',
|
||||
GIModel_swdB = 'swdB',
|
||||
GIModel_bomb = 'bomb',
|
||||
GIModel_litD = 'litD',
|
||||
GIModel_revP = 'revP',
|
||||
GIModel_rupB = 'rupB',
|
||||
GIModel_Lcmp = 'Lcmp',
|
||||
GIModel_shdB = 'shdB',
|
||||
GIModel_gdpf = 'gdpf',
|
||||
GIModel_bmbM = 'bmbM',
|
||||
GIModel_przC = 'przC',
|
||||
GIModel_prlB = 'prlB',
|
||||
GIModel_poiP = 'poiP',
|
||||
GIModel_rupG = 'rupG',
|
||||
GIModel_revR = 'revR',
|
||||
GIModel_mrrn = 'mrrn',
|
||||
GIModel_zola = 'zola',
|
||||
GIModel_bowA = 'bowA',
|
||||
GIModel_bmbL = 'bmbL',
|
||||
GIModel_litC = 'litC',
|
||||
GIModel_bowl = 'bowl',
|
||||
GIModel_whip = 'whip',
|
||||
GIModel_coin = 'coin',
|
||||
GIModel_apdL = 'apdL',
|
||||
GIModel_poiS = 'poiS',
|
||||
GIModel_jade = 'jade',
|
||||
GIModel_glon = 'glon',
|
||||
GIModel_poiG = 'poiG',
|
||||
GIModel_litB = 'litB',
|
||||
};
|
||||
|
||||
u32 func_ov000_020a4c00(ItemId itemId);
|
||||
|
||||
struct UnkStruct_ov110_02185dc8 {
|
||||
u16 mItemId;
|
||||
u16 mItemFlag;
|
||||
@@ -64,15 +138,15 @@ public:
|
||||
|
||||
class UnkStruct_PlayerGet_48 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x40];
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x40);
|
||||
/* 40 */ unk16 mUnk_40;
|
||||
/* 42 */ unk16 mUnk_42;
|
||||
/* 43 */ unk8 mUnk_43;
|
||||
/* 44 */ unk8 mUnk_44;
|
||||
/* 45 */ unk8 mUnk_45;
|
||||
/* 46 */ unk8 mUnk_46;
|
||||
/* 47 */ unk8 mUnk_47;
|
||||
/* 48 */ unk8 mUnk_48[0x5E - 0x48];
|
||||
/* 48 */ STRUCT_PAD(0x48, 0x5E);
|
||||
/* 5E */ unk16 mUnk_5E;
|
||||
/* 60 */ unk8 mUnk_60;
|
||||
/* 61 */ unk8 mUnk_61;
|
||||
@@ -87,7 +161,7 @@ public:
|
||||
/* 04C */ unk32 *mUnk_4C;
|
||||
/* 050 */ UnkStruct_PlayerGet_50 *mUnk_50;
|
||||
/* 054 */ UnkStruct_ov000_0208f820_04 mUnk_54;
|
||||
/* 064 */ UnkStruct_PlayerGet_64 mUnk_64;
|
||||
/* 064 */ UnkStruct_PlayerGet_64_2 mUnk_64;
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06C */ unk32 mUnk_6C; // scale
|
||||
/* 070 */ unk16 mUnk_70; // angle/rotation
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
typedef u32 AdventureFlag;
|
||||
typedef u16 AdventureFlag_Half;
|
||||
enum AdventureFlag_ {
|
||||
/* 0x000 */ AdventureFlag_Unk_000 = FLAG(0, 0),
|
||||
/* 0x000 */ AdventureFlag_Nothing = FLAG(0, 0),
|
||||
/* 0x001 */ AdventureFlag_Unk_001 = FLAG(0, 1),
|
||||
/* 0x002 */ AdventureFlag_ObtainedSpiritTrain = FLAG(0, 2),
|
||||
/* 0x003 */ AdventureFlag_ObtainedRecruitSword = FLAG(0, 3),
|
||||
@@ -292,7 +292,7 @@ enum AdventureFlag_ {
|
||||
/* 0x10D */ AdventureFlag_OpenedLargeDoorsTOS23F = FLAG(8, 13),
|
||||
/* 0x10E */ AdventureFlag_Unk_10E = FLAG(8, 14),
|
||||
/* 0x10F */ AdventureFlag_Unk_10F = FLAG(8, 15),
|
||||
/* 0x110 */ AdventureFlag_Unk_110 = FLAG(8, 16),
|
||||
/* 0x110 */ AdventureFlag_BoughtGoronShopQuiver = FLAG(8, 16),
|
||||
/* 0x111 */ AdventureFlag_BoughtBombBagFromBeedle = FLAG(8, 17),
|
||||
/* 0x112 */ AdventureFlag_WatchedFireLandVolcanoEruptionCS = FLAG(8, 18),
|
||||
/* 0x113 */ AdventureFlag_PurchasedLumberFirstTime = FLAG(8, 19),
|
||||
@@ -307,7 +307,7 @@ enum AdventureFlag_ {
|
||||
/* 0x11C */ AdventureFlag_Unk_11C = FLAG(8, 28),
|
||||
/* 0x11D */ AdventureFlag_Unk_11D = FLAG(8, 29),
|
||||
/* 0x11E */ AdventureFlag_Unk_11E = FLAG(8, 30),
|
||||
/* 0x11F */ ZeldaTextVisitPirateHideoutFirstTime = FLAG(8, 31),
|
||||
/* 0x11F */ AdventureFlag_ZeldaTextVisitPirateHideoutFirstTime = FLAG(8, 31),
|
||||
|
||||
/* 0x120 */ AdventureFlag_Unk_120 = FLAG(9, 0),
|
||||
/* 0x121 */ AdventureFlag_WadatsumiBoardsTrain2 = FLAG(9, 1),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
@@ -155,11 +156,7 @@ public:
|
||||
|
||||
/* 184 */ SaveUnknown184 mUnk_184;
|
||||
|
||||
/* C94 */ unk8 mUnk_C94[0x84];
|
||||
/* D18 */ unk32 mUnk_D18;
|
||||
/* D1C */ unk32 mUnk_D1C;
|
||||
/* D20 */ unk16 mSongs;
|
||||
/* D22 */ unk16 mUnk_D22;
|
||||
/* C94 */ MiscAdvManager mMiscAdvManager;
|
||||
/* D24 */ unk8 mUnk_00_SaveUnknownD24[0x48];
|
||||
/* D6C */ unk8 mUnk_48_SaveUnknownD24[8];
|
||||
/* D74 */ unk16 mUnk_50_SaveUnknownD24;
|
||||
@@ -168,9 +165,9 @@ public:
|
||||
/* D8C */
|
||||
|
||||
SaveUnknown14C() {
|
||||
mUnk_D18 = 0;
|
||||
mUnk_D1C = 0;
|
||||
mSongs = 0;
|
||||
this->mMiscAdvManager.mLettersRead = 0;
|
||||
this->mMiscAdvManager.mStampsFlag = 0;
|
||||
this->mMiscAdvManager.mSongs = 0;
|
||||
MI_CpuFill32(0, this->mUnk_48_SaveUnknownD24, sizeof(this->mUnk_48_SaveUnknownD24));
|
||||
this->mUnk_50_SaveUnknownD24 = 0;
|
||||
}
|
||||
@@ -361,10 +358,31 @@ public:
|
||||
void func_ov019_020d1b14(unk32 param1);
|
||||
};
|
||||
|
||||
class SaveManager_21C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
unk32 func_ov000_020a1000();
|
||||
};
|
||||
|
||||
struct SaveManager_36 {
|
||||
/* 00 */ u8 mKeyAmount;
|
||||
/* 01 */ STRUCT_PAD(0x01, 0x08);
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
struct SaveManager_00 {
|
||||
/* 000 */ STRUCT_PAD(0x00, 0x36);
|
||||
/* 036 */ SaveManager_36 mUnk_36[0x60];
|
||||
/* 336 */
|
||||
/* BB8 */
|
||||
};
|
||||
|
||||
class SaveManager {
|
||||
public:
|
||||
/* 000 */ void *mUnk_000; // related to mUnk_184
|
||||
/* 000 */ unk8 mUnk_004[0x204 - 0x004];
|
||||
/* 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;
|
||||
/* 208 */ unk16 mUnk_208;
|
||||
@@ -374,7 +392,8 @@ public:
|
||||
/* 210 */ unk32 mUnk_210;
|
||||
/* 214 */ unk32 mUnk_214;
|
||||
/* 218 */ SaveFile *mpSaveFile;
|
||||
/* 21C */ unk8 mUnk_21C[0x23C - 0x21C];
|
||||
/* 21C */ SaveManager_21C mUnk_21C;
|
||||
/* 220 */ STRUCT_PAD(0x220, 0x23C);
|
||||
/* 23C */ PTMF<SaveFile>::PTMFCallback mUnk_23C;
|
||||
/* 244 */ unk32 mUnk_244;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ struct Random {
|
||||
return (((this->GetRandomValue() >> 32) * (max - min)) >> 32) + min;
|
||||
}
|
||||
|
||||
u32 ConditionalNext32(u32 value) {
|
||||
u16 ConditionalNext16(u32 value) {
|
||||
this->UpdateRandomValue();
|
||||
|
||||
u64 result = this->GetRandomValue() >> 32;
|
||||
@@ -52,6 +52,18 @@ struct Random {
|
||||
return result;
|
||||
}
|
||||
|
||||
u32 ConditionalNext32(u32 value) {
|
||||
this->UpdateRandomValue();
|
||||
|
||||
u32 result = this->GetRandomValue() >> 32;
|
||||
|
||||
if (value != 0) {
|
||||
return ((u64) result * value) >> 32;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_02049bac {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_02049bac();
|
||||
~UnkStruct_02049bac();
|
||||
|
||||
void func_02014a34(void *param1);
|
||||
};
|
||||
|
||||
// some time system?
|
||||
extern UnkStruct_02049bac data_02049bac;
|
||||
@@ -3,9 +3,76 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_ov000_0207029c {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x1D);
|
||||
/* 20 */ u8 mUnk_1D;
|
||||
enum SaveCourseIndex_ {
|
||||
SaveCourseIndex_None = 0xFF,
|
||||
SaveCourseIndex_t_area0 = 0x00,
|
||||
SaveCourseIndex_t_area1 = 0x01,
|
||||
SaveCourseIndex_t_area2 = 0x02,
|
||||
SaveCourseIndex_t_area3 = 0x03,
|
||||
SaveCourseIndex_t_tutorial = 0x04,
|
||||
SaveCourseIndex_t_forest = 0x05,
|
||||
SaveCourseIndex_t_smarine = 0x06,
|
||||
SaveCourseIndex_t_smount = 0x07,
|
||||
SaveCourseIndex_t_smount2 = 0x08,
|
||||
SaveCourseIndex_t_smount3 = 0x09,
|
||||
SaveCourseIndex_t_eviltrain = 0x0A,
|
||||
SaveCourseIndex_d_main = 0x0B,
|
||||
SaveCourseIndex_d_main_f = 0x0C,
|
||||
SaveCourseIndex_d_main_s = 0x0D,
|
||||
SaveCourseIndex_d_main_a = 0x0E,
|
||||
SaveCourseIndex_d_main_w = 0x0F,
|
||||
SaveCourseIndex_d_tutorial = 0x10,
|
||||
SaveCourseIndex_d_forest = 0x11,
|
||||
SaveCourseIndex_d_snow = 0x12,
|
||||
SaveCourseIndex_d_water = 0x13,
|
||||
SaveCourseIndex_d_flame = 0x14,
|
||||
SaveCourseIndex_d_sand = 0x15,
|
||||
SaveCourseIndex_b_forest = 0x16,
|
||||
SaveCourseIndex_b_snow = 0x17,
|
||||
SaveCourseIndex_b_water = 0x18,
|
||||
SaveCourseIndex_b_flame = 0x19,
|
||||
SaveCourseIndex_b_sand = 0x1A,
|
||||
SaveCourseIndex_b_deago = 0x1B,
|
||||
SaveCourseIndex_b_last1 = 0x1C,
|
||||
SaveCourseIndex_b_last2 = 0x1D,
|
||||
SaveCourseIndex_b_last22 = 0x1E,
|
||||
SaveCourseIndex_b_last23 = 0x1F,
|
||||
SaveCourseIndex_f_hyral = 0x20,
|
||||
SaveCourseIndex_f_htown = 0x21,
|
||||
SaveCourseIndex_f_forest1 = 0x22,
|
||||
SaveCourseIndex_f_snow = 0x23,
|
||||
SaveCourseIndex_f_water = 0x24,
|
||||
SaveCourseIndex_f_flame = 0x25,
|
||||
SaveCourseIndex_f_flame5 = 0x26,
|
||||
SaveCourseIndex_f_first = 0x27,
|
||||
SaveCourseIndex_f_forest2 = 0x28,
|
||||
SaveCourseIndex_f_snow2 = 0x29,
|
||||
SaveCourseIndex_f_water2 = 0x2A,
|
||||
SaveCourseIndex_f_flame2 = 0x2B,
|
||||
SaveCourseIndex_f_sand = 0x2C,
|
||||
SaveCourseIndex_f_tetsuo = 0x2D,
|
||||
SaveCourseIndex_f_bridge = 0x2E,
|
||||
SaveCourseIndex_f_bridge2 = 0x2F,
|
||||
SaveCourseIndex_f_forest3 = 0x30,
|
||||
SaveCourseIndex_f_water3 = 0x31,
|
||||
SaveCourseIndex_f_ajito = 0x32,
|
||||
SaveCourseIndex_f_ajito2 = 0x33,
|
||||
SaveCourseIndex_f_flame3 = 0x34,
|
||||
SaveCourseIndex_f_flame4 = 0x35,
|
||||
SaveCourseIndex_f_rabbit = 0x36,
|
||||
SaveCourseIndex_f_kakushi1 = 0x37,
|
||||
SaveCourseIndex_f_kakushi2 = 0x38,
|
||||
SaveCourseIndex_f_kakushi3 = 0x39,
|
||||
SaveCourseIndex_f_kakushi4 = 0x3A,
|
||||
SaveCourseIndex_f_pirate = 0x3B,
|
||||
SaveCourseIndex_f_passenger = 0x3C,
|
||||
SaveCourseIndex_f_trnnpc = 0x3D,
|
||||
SaveCourseIndex_e3_train = 0x3E,
|
||||
SaveCourseIndex_e3_dungeon = 0x3F,
|
||||
SaveCourseIndex_e3_boss = 0x40,
|
||||
SaveCourseIndex_e3_bossm = 0x41,
|
||||
SaveCourseIndex_e3_smount = 0x42,
|
||||
SaveCourseIndex_Max = 0x60,
|
||||
};
|
||||
|
||||
struct UnkStruct_func_ov000_020702a8 {
|
||||
@@ -13,14 +80,24 @@ struct UnkStruct_func_ov000_020702a8 {
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
};
|
||||
|
||||
class CourseEntry {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x17);
|
||||
/* 17 */ u8 mSaveCourseIndex;
|
||||
/* 18 */ STRUCT_PAD(0x18, 0x1D);
|
||||
/* 1D */ u8 mUnk_1D;
|
||||
/* 1E */ STRUCT_PAD(0x1E, 0x2C);
|
||||
/* 2C */
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a0 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ CourseEntry **mUnk_00; // elements from courselist.clb
|
||||
|
||||
UnkStruct_027e09a0();
|
||||
~UnkStruct_027e09a0();
|
||||
|
||||
UnkStruct_func_ov000_0207029c *func_ov000_0207029c(unk32 param1);
|
||||
CourseEntry *func_ov000_0207029c(unk32 param1);
|
||||
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1);
|
||||
};
|
||||
|
||||
|
||||
@@ -204,9 +204,9 @@ class UnkStruct_WarpUnk1 : public UnkStruct_0204a060_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */ STRUCT_PAD(0x24, 0x78);
|
||||
/* 78 */ UnkStruct_SceneChange1 mUnk_78;
|
||||
/* 8C */ unk32 mNextSceneIndex;
|
||||
/* 90 */ STRUCT_PAD(0x90, 0xB4);
|
||||
/* 78 */ UnkStruct_SceneChange1 mUnk_78; // current scene?
|
||||
/* 8C */ UnkStruct_SceneChange1 mUnk_8C; // next scene
|
||||
/* A0 */ STRUCT_PAD(0xA0, 0xB4);
|
||||
/* B4 */ unk32 mSpawnTransitionType; // the behavior of Link when entering a new scene
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
class UnkStruct_027e0cec {
|
||||
public:
|
||||
void func_ov000_0209feac(unk32 param1, Vec3p *param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, Vec3p *param3, unk32 param4);
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, Vec3p *param4, unk32 param5);
|
||||
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cf8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e0cf8();
|
||||
~UnkStruct_027e0cf8();
|
||||
|
||||
void func_ov024_020c7828(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0cf8 *data_027e0cf8;
|
||||
@@ -1,16 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d34_04 {
|
||||
public:
|
||||
bool func_ov000_02093bc8(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0d34 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ UnkStruct_027e0d34_04 *mUnk_04;
|
||||
|
||||
UnkStruct_027e0d34();
|
||||
~UnkStruct_027e0d34();
|
||||
|
||||
void func_ov031_020d9844();
|
||||
bool TryItemGive(ItemId itemId);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d34 *data_027e0d34;
|
||||
|
||||
@@ -78,12 +78,22 @@ public:
|
||||
|
||||
typedef void (*UnkCallback2)();
|
||||
|
||||
class BMGEntry {
|
||||
public:
|
||||
/* 00 */ SectionINF1 *mpINF1;
|
||||
/* 04 */ SectionFLW1 *mpFLW1;
|
||||
/* 08 */ SectionFLI1 *mpFLI1;
|
||||
/* 0C */ SectionDAT1 *mpDAT1;
|
||||
/* 10 */ unk32 mBMGGroup;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub3 : public SysObject {
|
||||
public:
|
||||
/* 00 */ SectionINF1 *mUnk_00;
|
||||
/* 04 */ BMGHeader *mUnk_04;
|
||||
/* 08 */ BMGHeader *mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 00 */ BMGEntry **mpBMGTable;
|
||||
/* 04 */ BMGHeader **mUnk_04;
|
||||
/* 08 */ BMGHeader **mUnk_08;
|
||||
/* 0C */ SectionINF1 *mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */
|
||||
|
||||
@@ -117,7 +127,7 @@ public:
|
||||
|
||||
void *func_ov000_02067bb4(unk32 param1);
|
||||
UnkStruct_ov000_02067bc4 *func_ov000_02067bc4(unk32);
|
||||
unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkStruct_ov000_02067bc4::UnkStruct1 *param3);
|
||||
unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkStruct_ov000_02067bc4::UnkStruct1 *param3); // ShowText?
|
||||
void func_ov000_02067e60(u8 param1, unk32 param2);
|
||||
unk32 func_ov000_020682c0(unk32 param1);
|
||||
|
||||
@@ -134,4 +144,5 @@ public:
|
||||
void func_ov001_020be6f4(void);
|
||||
};
|
||||
|
||||
// gMessageManager?
|
||||
extern UnkStruct_ov000_020b504c data_ov000_020b504c;
|
||||
|
||||
@@ -26,19 +26,34 @@ public:
|
||||
class UnkStruct_PlayerGet_64 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
|
||||
UnkStruct_PlayerGet_64(unk32 *param1, unk32 param2);
|
||||
UnkStruct_PlayerGet_64(void *param1, unk32 param2);
|
||||
~UnkStruct_PlayerGet_64();
|
||||
|
||||
void func_ov000_0208a100();
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_64_2 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_PlayerGet_64_2(void *param1, unk32 param2);
|
||||
~UnkStruct_PlayerGet_64_2();
|
||||
|
||||
void func_ov000_0208a100();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_28_98 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x38];
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk32 mUnk_04;
|
||||
/* 00 */ u16 mUnk_08;
|
||||
/* 0C */ STRUCT_PAD(0x0C, 0x38);
|
||||
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
// /* 3C */ unk32 mUnk_3C;
|
||||
// /* 40 */ u16 mUnk_40;
|
||||
|
||||
void func_ov093_0216f76c(Vec3p *param1, unk32 param2);
|
||||
};
|
||||
@@ -47,9 +62,7 @@ class UnkStruct_ov000_0208f820_28 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x38);
|
||||
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
/* 42 */ STRUCT_PAD(0x42, 0x48);
|
||||
/* 42 */ STRUCT_PAD(0x44, 0x48);
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 48 */ unk32 mUnk_4C;
|
||||
/* 48 */ unk32 mUnk_50;
|
||||
@@ -147,11 +160,19 @@ public:
|
||||
|
||||
class UnkStruct_ov000_0208f820_04 {
|
||||
public:
|
||||
/* 00 */ u8 mUnk_00[4];
|
||||
/* 04 */ u8 mUnk_04[4];
|
||||
/* 00 */ union {
|
||||
u8 mUnk_00[4];
|
||||
u16 mUnk_00_s16;
|
||||
u32 mUnk_00_s32;
|
||||
};
|
||||
/* 04 */ union {
|
||||
u8 mUnk_04[4];
|
||||
u16 mUnk_04_s16;
|
||||
u32 mUnk_04_s32;
|
||||
};
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ ItemId mItemId;
|
||||
/* 14 */
|
||||
/* 10 */
|
||||
|
||||
UnkStruct_ov000_0208f820_04(unk32 param1, unk32 param2, unk32 param3, ItemId itemId) {
|
||||
*(u32 *) this->mUnk_00 = param1;
|
||||
@@ -163,6 +184,11 @@ public:
|
||||
UnkStruct_ov000_0208f820_04() {}
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_44 {
|
||||
public:
|
||||
void *mUnk_00;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -182,7 +208,7 @@ public:
|
||||
/* 38 */ Vec3p *mUnk_38;
|
||||
/* 3C */ Vec3p *mUnk_3C;
|
||||
/* 40 */ UnkStruct_ov000_0208f820_40 *mUnk_40;
|
||||
/* 44 */ unk32 *mUnk_44;
|
||||
/* 44 */ UnkStruct_ov000_0208f820_44 *mUnk_44;
|
||||
/* 48 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
|
||||
@@ -28,8 +28,8 @@ public:
|
||||
|
||||
~UnkStruct_ov000_020b5d34() {}
|
||||
|
||||
MapObjectProfile *func_ov000_0209c6b8(unk32 param1);
|
||||
void func_ov000_0209c6f0();
|
||||
MapObjectProfile *GetProfileFromId(MapObjectId mapObjId);
|
||||
MapObject *CreateMapObject(MapObjectId mapObjId);
|
||||
|
||||
static unk32 func_ov000_0209c718(u32 param1);
|
||||
};
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov024_020d86b0 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x7E);
|
||||
/* 7E */ s8 mNumPostcards; // current amount of postcards
|
||||
/* 7F */ s8 mNumPostedCards; // current amount of posted postcards
|
||||
/* 80 */ STRUCT_PAD(0x80, 0x90);
|
||||
/* 90 */
|
||||
};
|
||||
|
||||
extern UnkStruct_ov024_020d86b0 *data_ov024_020d86b0;
|
||||
@@ -11,6 +11,7 @@
|
||||
*/
|
||||
|
||||
#define GET_FLAG(arr, pos) (((arr)[((u32) (pos)) >> 5] & (1 << ((pos) & 0x1F))) != 0)
|
||||
#define GET_FLAG2(var, pos) ((var) & (1 << pos))
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1F))
|
||||
#define UNSET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1F)))
|
||||
#define FLAG(index, pos) (((index) << 5) | ((pos) & 0x1F))
|
||||
|
||||
@@ -127,7 +127,11 @@ union Vec3p {
|
||||
|
||||
Vec3p() {}
|
||||
Vec3p(Vec3p &from) {
|
||||
#if __MWERKS__
|
||||
this->coords = from.coords;
|
||||
#else
|
||||
*this = from;
|
||||
#endif
|
||||
}
|
||||
Vec3p(q20 X, q20 Y, q20 Z) {
|
||||
x = X;
|
||||
|
||||
@@ -17,14 +17,14 @@ ARM Actor::Actor() {
|
||||
this->mUnk_52 = 0;
|
||||
this->mUnk_54 = 0;
|
||||
this->ResetFlags();
|
||||
this->mUnk_84 = 0;
|
||||
this->mUnk_5C.mUnk_28 = 0;
|
||||
this->mUnk_5C.func_ov000_020975f8();
|
||||
this->mRef.Reset();
|
||||
this->mType = NULL;
|
||||
_MI_CpuCopy(&data_ov000_020b539c_eur.mUnk_00, &this->mUnk_5C, sizeof(data_ov000_020b539c_eur.mUnk_00));
|
||||
this->mPos = this->mUnk_5C.mUnk_00;
|
||||
this->mPrevPos = this->mUnk_5C.mUnk_00;
|
||||
this->mAngle = this->mUnk_5C.mUnk_0C;
|
||||
this->mpProfile = NULL;
|
||||
_MI_CpuCopy(&data_ov000_020b539c_eur.mUnk_00, &this->mUnk_5C, sizeof(ActorParams));
|
||||
this->mPos = this->mUnk_5C.mInitialPos;
|
||||
this->mPrevPos = this->mUnk_5C.mInitialPos;
|
||||
this->mAngle = this->mUnk_5C.mInitialAngle;
|
||||
SET_FLAGS(this->mFlags, ActorFlag_Alive, ActorFlag_Visible, ActorFlag_Active, ActorFlag_14);
|
||||
this->mUnk_44 = 0xFF;
|
||||
this->mUnk_46 = 0;
|
||||
@@ -42,7 +42,7 @@ ARM void Actor::func_ov000_0209848c(ActorProfile *param1) {
|
||||
unk_1c = param1->mUnk_1C;
|
||||
temp_r3 = ¶m1->mUnk_04;
|
||||
|
||||
this->mType = param1;
|
||||
this->mpProfile = param1;
|
||||
this->mUnk_30 = this->mUnk_34 = temp_r3;
|
||||
this->mUnk_4E = unk_1c;
|
||||
}
|
||||
@@ -76,8 +76,8 @@ ARM void Actor::func_ov000_020984d0() {
|
||||
}
|
||||
|
||||
ARM void Actor::func_ov000_020984f0() {
|
||||
if (this->mUnk_80 >= 0) {
|
||||
data_027e0cd8->func_ov000_02081ecc(this->mUnk_80, 1);
|
||||
if (this->mUnk_5C.mUnk_24 >= 0) {
|
||||
data_027e0cd8->func_ov000_02081ecc(this->mUnk_5C.mUnk_24, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,15 +99,15 @@ ARM Vec3p *Actor::func_ov000_0209853c(unk32 param1) {
|
||||
}
|
||||
|
||||
ARM bool Actor::vfunc_04() {
|
||||
return this->mType->mUnk_1E & 1;
|
||||
return this->mpProfile->mUnk_1E & 1;
|
||||
}
|
||||
|
||||
ARM unk16 Actor::vfunc_08() {
|
||||
return this->mType->mUnk_1A;
|
||||
return this->mpProfile->mUnk_1A;
|
||||
}
|
||||
|
||||
ARM unk8 Actor::vfunc_0c() {
|
||||
return this->mType->mUnk_18;
|
||||
return this->mpProfile->mUnk_18;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
|
||||
@@ -15,7 +15,7 @@ ARM ActorEventIcon::ActorEventIcon() {
|
||||
}
|
||||
|
||||
ARM bool ActorEventIcon::vfunc_18(unk32 param1) {
|
||||
this->mUnk_094.func_ov000_0206082c(0x5D, this->mUnk_6C);
|
||||
this->mUnk_094.func_ov000_0206082c(0x5D, this->mUnk_5C.mParams[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@ ARM ActorProfileUnkSWOB::ActorProfileUnkSWOB() :
|
||||
ARM ActorUnkSWOB::ActorUnkSWOB() {}
|
||||
|
||||
ARM bool ActorUnkSWOB::vfunc_18(unk32 param1) {
|
||||
this->mUnk_9E = this->mUnk_78;
|
||||
this->mUnk_94 = this->mUnk_6E;
|
||||
this->mUnk_98 = this->mUnk_70;
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_6C;
|
||||
this->mUnk_A2 = this->mUnk_75;
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1C_0;
|
||||
this->mUnk_94 = this->mUnk_5C.mParams[1];
|
||||
this->mUnk_98 = this->mUnk_5C.mParams[2];
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_5C.mParams[0];
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18.y;
|
||||
this->mUnk_9C = this->mUnk_9E;
|
||||
|
||||
if (this->func_ov000_02098a60(0)) {
|
||||
@@ -61,30 +61,29 @@ ARM void ActorUnkSWOB::func_ov000_0209a9b4(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/cUf0c
|
||||
ARM void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
if (this->mUnk_4C == 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (this->mUnk_72) {
|
||||
switch (this->mUnk_5C.mParams[3]) {
|
||||
case 1:
|
||||
data_ov000_020b5214.func_ov000_0206db44(0xA3);
|
||||
break;
|
||||
case 3:
|
||||
data_ov000_020b5214.func_ov000_0206db44(0xA3);
|
||||
|
||||
s16 unk_78 = this->mUnk_78;
|
||||
s16 unk_78 = this->mUnk_5C.mUnk_1C_0;
|
||||
if (unk_78 > 0) {
|
||||
data_027e0cd8->func_ov000_02081d7c((s16) (unk_78 - 1), this->mUnk_75, 1);
|
||||
data_027e0cd8->func_ov000_02081d7c((s16) (unk_78 - 1), this->mUnk_5C.mUnk_18.y, 1);
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
Vec3p temp;
|
||||
Vec3p vec2;
|
||||
Vec3p vec;
|
||||
Actor_5c_temp AStack_7c;
|
||||
u16 auStack_80[4];
|
||||
ActorParams AStack_7c;
|
||||
u16 auStack_80[2];
|
||||
int j;
|
||||
u32 i;
|
||||
|
||||
@@ -109,7 +108,7 @@ ARM void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
|
||||
if (j < 10) {
|
||||
func_01ffedac(auStack_80, &vec);
|
||||
func_01ffb9cc(&vec2, &vec);
|
||||
func_01ffb9cc(&temp, &vec);
|
||||
i--;
|
||||
j++;
|
||||
}
|
||||
|
||||
@@ -30,11 +30,11 @@ ARM ActorUnkSWTM::~ActorUnkSWTM() {
|
||||
|
||||
// https://decomp.me/scratch/qkP8m
|
||||
ARM bool ActorUnkSWTM::vfunc_18(unk32 param1) {
|
||||
this->mUnk_9E = this->mUnk_78;
|
||||
this->mUnk_98 = this->mUnk_70;
|
||||
this->mUnk_A4 = this->mUnk_6E * 30;
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_6C;
|
||||
this->mUnk_A2 = this->mUnk_75;
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1C_0;
|
||||
this->mUnk_98 = this->mUnk_5C.mParams[2];
|
||||
this->mUnk_A4 = this->mUnk_5C.mParams[1] * 30;
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_5C.mParams[0];
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18.y;
|
||||
this->mUnk_9C = this->mUnk_9E;
|
||||
|
||||
if (this->func_ov000_02098a60(0)) {
|
||||
@@ -167,7 +167,7 @@ ARM unk32 ActorUnkSWTM::func_ov000_0209b038(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < this->mUnk_6C; i++) {
|
||||
for (int i = 0; i < this->mUnk_5C.mParams[0]; i++) {
|
||||
if (!data_027e0cd8->func_ov000_02081e30(this->mUnk_9E + i, this->mUnk_A2)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 p
|
||||
ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {}
|
||||
|
||||
ARM bool ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) {
|
||||
if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0()) {
|
||||
if (this->mUnk_5C.mParams[2] == 0 && this->func_ov000_020a8dd0()) {
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
|
||||
}
|
||||
|
||||
@@ -80,11 +80,11 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_1c() {
|
||||
}
|
||||
|
||||
ARM bool ActorUnk_ov000_020a8bb0::func_ov000_020a8db0() {
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_76, this->mUnk_74);
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1A, this->mUnk_5C.mUnk_18.x);
|
||||
}
|
||||
|
||||
ARM bool ActorUnk_ov000_020a8bb0::func_ov000_020a8dd0() {
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_78, this->mUnk_75);
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1C_0, this->mUnk_5C.mUnk_18.y);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
@@ -125,7 +125,7 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_b0() {
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
ActorUnk_vfunc_b0 auStack_60;
|
||||
auStack_60.mUnk_24 = this;
|
||||
auStack_60.mUnk_0C = this->mUnk_7C;
|
||||
auStack_60.mUnk_0C = this->mUnk_5C.mUnk_20;
|
||||
auStack_60.mUnk_14 = 0;
|
||||
auStack_60.mUnk_18 = -1;
|
||||
auStack_60.mUnk_1C = -1;
|
||||
|
||||
@@ -1,12 +1,129 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "System/Random.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "global.h"
|
||||
|
||||
extern ItemId data_ov000_020afde8[];
|
||||
static const unk32 data_ov000_020afda8[] = {
|
||||
0x0015007E, 0x0015007F, 0x00150080, 0x00150081, 0x00150082, 0x00150083, 0x00150084, 0x00150085,
|
||||
0x00150086, 0x00150087, 0x00150088, 0x00150089, 0x0015008A, 0x0015008B, 0x0015008C, 0x0015008D,
|
||||
};
|
||||
|
||||
ARM void TreasureManager::func_ov000_020a9b10() {}
|
||||
ARM void TreasureManager::func_ov000_020a9b2c() {}
|
||||
ARM void TreasureManager::func_ov000_020a9b3c() {}
|
||||
ARM void TreasureManager::func_ov000_020a9b4c() {}
|
||||
static const unk32 data_ov000_020afd68[] = {
|
||||
0x0015006C, 0x0015006D, 0x0015006E, 0x0015006F, 0x00150070, 0x00150071, 0x00150072, 0x00150073,
|
||||
0x00150074, 0x00150075, 0x00150076, 0x00150077, 0x00150078, 0x00150079, 0x0015007A, 0x0015007B,
|
||||
};
|
||||
|
||||
static const ItemId data_ov000_020afde8[] = {
|
||||
ItemId_DemonFossil, ItemId_StalfosSkull, ItemId_StarFragment, ItemId_BeeLarvae,
|
||||
ItemId_WoodHeart, ItemId_DarkPearlLoop, ItemId_WhitePearlLoop, ItemId_RutoCrown,
|
||||
ItemId_DragonScale, ItemId_PirateNecklace, ItemId_PalaceDish, ItemId_GoronAmber,
|
||||
ItemId_MysticJade, ItemId_AncientCoin, ItemId_PricelessStone, ItemId_RegalRing,
|
||||
};
|
||||
|
||||
// static const u8 data_ov000_020afe28 = 5;
|
||||
// static const u8 data_ov000_020afe2c = 2;
|
||||
// static const u8 data_ov000_020afe30 = 4;
|
||||
// static const u8 data_ov000_020afe34 = 5;
|
||||
extern u8 data_ov000_020afe28;
|
||||
extern u8 data_ov000_020afe2c;
|
||||
extern u8 data_ov000_020afe30;
|
||||
extern u8 data_ov000_020afe34;
|
||||
|
||||
static const u8 data_ov000_020afe38[] = {0x32, 0x32};
|
||||
static const u8 data_ov000_020afe3a[] = {0x32, 0x32};
|
||||
static const u8 data_ov000_020afe3c[] = {0x32, 0x32};
|
||||
static const u8 data_ov000_020afe3e[] = {0x32, 0x32};
|
||||
static const u8 data_ov000_020afe40[] = {0x32, 0x32};
|
||||
static const u8 data_ov000_020afe42[] = {0x14, 0x1E, 0x14, 0x1E};
|
||||
static const u8 data_ov000_020afe46[] = {0x28, 0x0A, 0x05, 0x2D};
|
||||
static const u8 data_ov000_020afe4a[] = {0x05, 0x1E, 0x19, 0x28};
|
||||
static const u8 data_ov000_020afe4e[] = {0x1E, 0x1E, 0x0F, 0x19};
|
||||
static const u8 data_ov000_020afe52[] = {0x0A, 0x1E, 0x28, 0x14};
|
||||
static const u8 data_ov000_020afe56[] = {0x05, 0x1E, 0x14, 0x05, 0x28};
|
||||
static const u8 data_ov000_020afe5b[] = {0x0A, 0x1E, 0x14, 0x0A, 0x1E};
|
||||
static const u8 data_ov000_020afe60[] = {0x05, 0x1E, 0x05, 0x1E, 0x1E};
|
||||
static const u8 data_ov000_020afe65[] = {0x14, 0x14, 0x0A, 0x0A, 0x28};
|
||||
static const u8 data_ov000_020afe6a[] = {0x14, 0x28, 0x0F, 0x0F, 0x0A};
|
||||
static const u8 data_ov000_020afe6f[] = {0x05, 0x1E, 0x14, 0x05, 0x28};
|
||||
static const u8 data_ov000_020afe74[] = {0x1E, 0x0A, 0x14, 0x0A, 0x1E};
|
||||
static const u8 data_ov000_020afe79[] = {0x05, 0x1E, 0x05, 0x1E, 0x1E};
|
||||
static const u8 data_ov000_020afe7e[] = {0x28, 0x0A, 0x0A, 0x0A, 0x1E};
|
||||
static const u8 data_ov000_020afe83[] = {0x0A, 0x28, 0x0F, 0x0F, 0x14};
|
||||
|
||||
static u8 *data_ov000_020b4e88[] = {
|
||||
(u8 *) data_ov000_020afe42, (u8 *) data_ov000_020afe46, (u8 *) data_ov000_020afe4a,
|
||||
(u8 *) data_ov000_020afe4e, (u8 *) data_ov000_020afe52,
|
||||
};
|
||||
|
||||
static u8 *data_ov000_020b4e74[] = {
|
||||
(u8 *) data_ov000_020afe5b, (u8 *) data_ov000_020afe60, (u8 *) data_ov000_020afe65,
|
||||
(u8 *) data_ov000_020afe6a, (u8 *) data_ov000_020afe6f,
|
||||
};
|
||||
|
||||
static u8 *data_ov000_020b4e9c[] = {
|
||||
(u8 *) data_ov000_020afe3e, (u8 *) data_ov000_020afe3c, (u8 *) data_ov000_020afe3a,
|
||||
(u8 *) data_ov000_020afe40, (u8 *) data_ov000_020afe38,
|
||||
};
|
||||
|
||||
static u8 *data_ov000_020b4e60[] = {
|
||||
(u8 *) data_ov000_020afe74, (u8 *) data_ov000_020afe79, (u8 *) data_ov000_020afe7e,
|
||||
(u8 *) data_ov000_020afe83, (u8 *) data_ov000_020afe56,
|
||||
};
|
||||
|
||||
extern u32 data_ov000_020afec4[];
|
||||
extern u32 data_ov000_020afeb0[];
|
||||
extern u32 data_ov000_020afea0[];
|
||||
extern u32 data_ov000_020afe98[];
|
||||
|
||||
// static const u16 data_ov000_020afe88 = 0x01F4;
|
||||
// static const u16 data_ov000_020afe8c = 0x0032;
|
||||
// static const u16 data_ov000_020afe90 = 0x09C4;
|
||||
// static const u16 data_ov000_020afe94 = 0x0096;
|
||||
extern u16 data_ov000_020afe88;
|
||||
extern u16 data_ov000_020afe8c;
|
||||
extern u16 data_ov000_020afe90;
|
||||
extern u16 data_ov000_020afe94;
|
||||
|
||||
ARM void TreasureManager::func_ov000_020a9b10(void *param1) {
|
||||
_MI_CpuCopy(param1, this, sizeof(TreasureManager));
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9b2c(unk32 param1) {
|
||||
return data_ov000_020afda8[param1];
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9b3c(unk32 param1) {
|
||||
return data_ov000_020afd68[param1];
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9b4c(unk32 param1) {
|
||||
for (int i = 0; i < data_ov000_020afe34; i++) {
|
||||
if (data_ov000_020afec4[i] == param1) {
|
||||
return data_ov000_020afe8c;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < data_ov000_020afe34; i++) {
|
||||
if (data_ov000_020afeb0[i] == param1) {
|
||||
return data_ov000_020afe94;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < data_ov000_020afe34; i++) {
|
||||
if (data_ov000_020afea0[i] == param1) {
|
||||
return data_ov000_020afe88;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < data_ov000_020afe2c; i++) {
|
||||
if (data_ov000_020afe98[i] == param1) {
|
||||
return data_ov000_020afe90;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ARM bool TreasureManager::func_ov000_020a9c4c(TreasureType type) {
|
||||
return this->mUnk_3C[type] >= 0;
|
||||
@@ -56,10 +173,100 @@ ARM void TreasureManager::func_ov000_020a9cbc(TreasureType type, s32 amount) {
|
||||
this->mUnk_3C[type] = newAmount;
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9d78(unk32 param1) {}
|
||||
ARM unk32 TreasureManager::func_ov000_020a9e14(unk32 param1) {}
|
||||
ARM unk32 TreasureManager::func_ov000_020a9eb0(unk32 param1) {}
|
||||
ARM unk32 TreasureManager::func_ov000_020a9f4c(unk32 param1) {}
|
||||
ARM u32 TreasureManager::func_ov000_020a9cfc(u8 *param1, u8 param2) {
|
||||
s32 uVar2 = gRandom.Next32(0, 100);
|
||||
s32 iVar1 = 0;
|
||||
|
||||
for (int i = 0; i < param2; i++) {
|
||||
iVar1 += param1[i];
|
||||
|
||||
if (uVar2 < (s32) iVar1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return param2;
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9d78(unk32 param1) {
|
||||
unk32 var_r0;
|
||||
if (param1 < 0) {
|
||||
var_r0 = gSaveManager.mUnk_21C.func_ov000_020a1000();
|
||||
} else {
|
||||
var_r0 = (u16) param1;
|
||||
}
|
||||
|
||||
u8 temp_r4 = data_ov000_020afe34;
|
||||
s32 temp_r0 = func_ov000_020a9cfc(data_ov000_020b4e74[var_r0], temp_r4);
|
||||
if (temp_r0 < temp_r4) {
|
||||
return data_ov000_020afec4[temp_r0];
|
||||
}
|
||||
|
||||
u32 var_r3;
|
||||
var_r3 = gRandom.ConditionalNext32(temp_r4);
|
||||
return data_ov000_020afec4[var_r3];
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9e14(unk32 param1) {
|
||||
unk32 var_r0;
|
||||
if (param1 < 0) {
|
||||
var_r0 = gSaveManager.mUnk_21C.func_ov000_020a1000();
|
||||
} else {
|
||||
var_r0 = (u16) param1;
|
||||
}
|
||||
|
||||
u8 temp_r4 = data_ov000_020afe28;
|
||||
s32 temp_r0 = func_ov000_020a9cfc(data_ov000_020b4e60[var_r0], temp_r4);
|
||||
if (temp_r0 < temp_r4) {
|
||||
return data_ov000_020afeb0[temp_r0];
|
||||
}
|
||||
|
||||
u32 var_r3;
|
||||
var_r3 = gRandom.ConditionalNext32(temp_r4);
|
||||
return data_ov000_020afeb0[var_r3];
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9eb0(unk32 param1) {
|
||||
unk32 var_r0;
|
||||
if (param1 < 0) {
|
||||
var_r0 = gSaveManager.mUnk_21C.func_ov000_020a1000();
|
||||
} else {
|
||||
var_r0 = (u16) param1;
|
||||
}
|
||||
|
||||
u8 temp_r4 = data_ov000_020afe30;
|
||||
s32 temp_r0 = func_ov000_020a9cfc(data_ov000_020b4e88[var_r0], temp_r4);
|
||||
if (temp_r0 < temp_r4) {
|
||||
return data_ov000_020afea0[temp_r0];
|
||||
}
|
||||
|
||||
u32 var_r3;
|
||||
var_r3 = gRandom.ConditionalNext32(temp_r4);
|
||||
return data_ov000_020afea0[var_r3];
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9f4c(unk32 param1) {
|
||||
if ((s32) gRandom.Next32(0, 100) < 80) {
|
||||
return TreasureManager::func_ov000_020a9eb0(param1);
|
||||
}
|
||||
|
||||
unk32 var_r0;
|
||||
if (param1 < 0) {
|
||||
var_r0 = gSaveManager.mUnk_21C.func_ov000_020a1000();
|
||||
} else {
|
||||
var_r0 = (u16) param1;
|
||||
}
|
||||
|
||||
u8 temp_r4 = data_ov000_020afe2c;
|
||||
s32 temp_r0 = TreasureManager::func_ov000_020a9cfc(data_ov000_020b4e9c[var_r0], temp_r4);
|
||||
if (temp_r0 < temp_r4) {
|
||||
return data_ov000_020afe98[temp_r0];
|
||||
}
|
||||
|
||||
u32 var_r3;
|
||||
var_r3 = gRandom.ConditionalNext32(temp_r4);
|
||||
return data_ov000_020afe98[var_r3];
|
||||
}
|
||||
|
||||
ARM ItemId TreasureManager::func_ov000_020aa02c(ItemId itemId) {
|
||||
switch (itemId) {
|
||||
@@ -138,6 +345,7 @@ void TreasureManager::func_ov000_020aa200() {
|
||||
data_ov000_020b6510 = this;
|
||||
}
|
||||
|
||||
void TreasureManager::func_ov000_020aa210() {
|
||||
bool TreasureManager::func_ov000_020aa210() {
|
||||
data_ov000_020b6510 = NULL;
|
||||
//! @bug: no return value
|
||||
}
|
||||
|
||||
@@ -68,11 +68,11 @@ ARM unk32 MapObjectProfile::func_ov000_0209c8e4(MapObject_20 *param1) {
|
||||
ARM void MapObjectProfile::func_ov000_0209c8ec(MapObjectProfile *thisx) {
|
||||
if (thisx->mUnk_0F == 0) {
|
||||
if (thisx->mUnk_14 != 0) {
|
||||
thisx->func_ov000_0209c8ec(data_ov000_020b5d34.func_ov000_0209c6b8(thisx->mUnk_14));
|
||||
thisx->func_ov000_0209c8ec(data_ov000_020b5d34.GetProfileFromId(thisx->mUnk_14));
|
||||
}
|
||||
|
||||
if (thisx->mUnk_18 != 0) {
|
||||
data_ov000_020b539c_eur.func_ov000_020974dc(thisx->mUnk_18)->vfunc_08();
|
||||
data_ov000_020b539c_eur.GetProfileFromId(thisx->mUnk_18)->vfunc_08();
|
||||
}
|
||||
|
||||
thisx->vfunc_08();
|
||||
@@ -136,7 +136,7 @@ ARM MapObjectProfile_Derived2_20 *MapObjectProfile_Derived3::vfunc_04() {
|
||||
}
|
||||
|
||||
ARM void MapObjectProfile_Derived3::vfunc_08() {
|
||||
this->mUnk_20 = data_ov000_020b5d34.func_ov000_0209c6b8(this->mUnk_14)->vfunc_04();
|
||||
this->mUnk_20 = data_ov000_020b5d34.GetProfileFromId(this->mUnk_14)->vfunc_04();
|
||||
}
|
||||
|
||||
ARM MapObjectProfile_Derived4::MapObjectProfile_Derived4(MapObjectId mapObjId1, MapObjectId mapObjId2) :
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
#include "Item/Item.hpp"
|
||||
#include "Player/PlayerGet.hpp"
|
||||
#include "global.h"
|
||||
|
||||
const u32 data_ov000_020af58c[] = {
|
||||
GIModel_None, // ItemId_Nothing
|
||||
GIModel_shdA, // ItemId_NormalShield
|
||||
GIModel_swdA, // ItemId_NormalSword
|
||||
GIModel_trnd, // ItemId_Whirlwind
|
||||
GIModel_bomb, // ItemId_BombBag
|
||||
GIModel_bowA, // ItemId_NormalBow
|
||||
GIModel_bmrn, // ItemId_Boomerang
|
||||
GIModel_whip, // ItemId_Whip
|
||||
GIModel_srod, // ItemId_SandRod
|
||||
GIModel_None, // ItemId_9
|
||||
GIModel_keyN, // ItemId_NormalKey
|
||||
GIModel_keyB, // ItemId_BossKey
|
||||
GIModel_rupG, // ItemId_GreenRupee
|
||||
GIModel_rupB, // ItemId_BlueRupee
|
||||
GIModel_rupR, // ItemId_RedRupee
|
||||
GIModel_rupG, // ItemId_BigGreenRupee
|
||||
GIModel_rupR, // ItemId_BigRedRupee
|
||||
GIModel_rupL, // ItemId_BigGoldRupee
|
||||
GIModel_frcY, // ItemId_ForceGem_18
|
||||
GIModel_frcY, // ItemId_ForceGem_19
|
||||
GIModel_frcY, // ItemId_ForceGem_20
|
||||
GIModel_litA, // ItemId_ForestGlyph
|
||||
GIModel_litB, // ItemId_SnowGlyph
|
||||
GIModel_litC, // ItemId_OceanGlyph
|
||||
GIModel_litD, // ItemId_FireGlyph
|
||||
GIModel_litA, // ItemId_25
|
||||
GIModel_litB, // ItemId_26
|
||||
GIModel_litC, // ItemId_27
|
||||
GIModel_litD, // ItemId_28
|
||||
GIModel_litC, // ItemId_29
|
||||
GIModel_litA, // ItemId_FinalTrack
|
||||
GIModel_None, // ItemId_31
|
||||
GIModel_None, // ItemId_32
|
||||
GIModel_None, // ItemId_33
|
||||
GIModel_None, // ItemId_34
|
||||
GIModel_frcY, // ItemId_ForceGem_35
|
||||
GIModel_frcY, // ItemId_ForceGem_36
|
||||
GIModel_frcY, // ItemId_ForceGem_37
|
||||
GIModel_cloA, // ItemId_RecruitUniform
|
||||
GIModel_ptmL, // ItemId_PostmasterLetter
|
||||
GIModel_hrtu, // ItemId_HeartContainer
|
||||
GIModel_apdM, // ItemId_QuiverMedium
|
||||
GIModel_bmbM, // ItemId_BombBagMedium
|
||||
GIModel_frcY, // ItemId_ForceGem_43
|
||||
GIModel_frcY, // ItemId_ForceGem_44
|
||||
GIModel_frcY, // ItemId_ForceGem_45
|
||||
GIModel_frcY, // ItemId_ForceGem_46
|
||||
GIModel_frcY, // ItemId_ForceGem_47
|
||||
GIModel_frcY, // ItemId_ForceGem_48
|
||||
GIModel_frcY, // ItemId_ForceGem_49
|
||||
GIModel_frcY, // ItemId_ForceGem_50
|
||||
GIModel_frcY, // ItemId_ForceGem_51
|
||||
GIModel_frcY, // ItemId_ForceGem_52
|
||||
GIModel_frcY, // ItemId_ForceGem_53
|
||||
GIModel_frcY, // ItemId_ForceGem_54
|
||||
GIModel_frcY, // ItemId_ForceGem_55
|
||||
GIModel_frcY, // ItemId_ForceGem_56
|
||||
GIModel_frcY, // ItemId_ForceGem_57
|
||||
GIModel_frcY, // ItemId_ForceGem_58
|
||||
GIModel_frcY, // ItemId_ForceGem_59
|
||||
GIModel_frcY, // ItemId_ForceGem_60
|
||||
GIModel_frcY, // ItemId_ForceGem_61
|
||||
GIModel_pflt, // ItemId_PanFlute
|
||||
GIModel_stmp, // ItemId_StampBook
|
||||
GIModel_bowB, // ItemId_LightBow
|
||||
GIModel_swdB, // ItemId_LokomoSword
|
||||
GIModel_przC, // ItemId_TenPriceCard
|
||||
GIModel_revR, // ItemId_RedPotion
|
||||
GIModel_revP, // ItemId_PurplePotion
|
||||
GIModel_revY, // ItemId_YellowPotion
|
||||
GIModel_mons, // ItemId_DemonFossil
|
||||
GIModel_stlb, // ItemId_StalfosSkull
|
||||
GIModel_star, // ItemId_StarFragment
|
||||
GIModel_beee, // ItemId_BeeLarvae
|
||||
GIModel_mrrn, // ItemId_WoodHeart
|
||||
GIModel_prlB, // ItemId_DarkPearlLoop
|
||||
GIModel_prlA, // ItemId_WhitePearlLoop
|
||||
GIModel_crwn, // ItemId_RutoCrown
|
||||
GIModel_zola, // ItemId_DragonScale
|
||||
GIModel_pnec, // ItemId_PirateNecklace
|
||||
GIModel_bowl, // ItemId_PalaceDish
|
||||
GIModel_glon, // ItemId_GoronAmber
|
||||
GIModel_jade, // ItemId_MysticJade
|
||||
GIModel_coin, // ItemId_AncientCoin
|
||||
GIModel_gold, // ItemId_PricelessStone
|
||||
GIModel_ring, // ItemId_RegalRing
|
||||
GIModel_arst, // ItemId_ArrowsRefill
|
||||
GIModel_bmst, // ItemId_BombsRefill
|
||||
GIModel_sold, // ItemId_SoldOutSign
|
||||
GIModel_shdB, // ItemId_AncientShield
|
||||
GIModel_apdL, // ItemId_QuiverLarge
|
||||
GIModel_bmbL, // ItemId_BombBagLarge
|
||||
GIModel_None, // ItemId_RandCommonTreasure
|
||||
GIModel_None, // ItemId_RandUncommonTreasure
|
||||
GIModel_None, // ItemId_RandRareTreasure
|
||||
GIModel_None, // ItemId_RandLegendaryTreasure
|
||||
GIModel_szku, // ItemId_TearLight
|
||||
GIModel_Lcmp, // ItemId_LightCompass
|
||||
GIModel_makA, // ItemId_ScrollSpinAttack
|
||||
GIModel_makB, // ItemId_ScrollBeam
|
||||
GIModel_ptmL, // ItemId_LinebeckLetter
|
||||
GIModel_gdpf, // ItemId_PanFluteSong_101
|
||||
GIModel_gdpf, // ItemId_PanFluteSong_102
|
||||
GIModel_gdpf, // ItemId_PanFluteSong_103
|
||||
GIModel_gdpf, // ItemId_PanFluteSong_104
|
||||
GIModel_gdpf, // ItemId_PanFluteSong_105
|
||||
GIModel_rbnt, // ItemId_RabbitNet
|
||||
GIModel_poit, // ItemId_BeedleCard
|
||||
GIModel_poiS, // ItemId_SilverCard
|
||||
GIModel_poiG, // ItemId_GoldCard
|
||||
GIModel_poiP, // ItemId_PlatinumCard
|
||||
GIModel_poiD, // ItemId_DiamondCard
|
||||
GIModel_poiF, // ItemId_FreebieCard
|
||||
GIModel_poi5, // ItemId_QuintupleCard
|
||||
GIModel_ptmL, // ItemId_CarbenLetter
|
||||
GIModel_cloA, // ItemId_RecruitUniform2
|
||||
GIModel_cloB, // ItemId_EngineerUniform
|
||||
};
|
||||
|
||||
ARM u32 func_ov000_020a4c00(ItemId itemId) {
|
||||
return data_ov000_020af58c[itemId];
|
||||
}
|
||||
@@ -126,7 +126,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
if (func_01ffd3b0() != 0) {
|
||||
iVar5 = data_027e09a4->mSceneIndex;
|
||||
|
||||
if (iVar5 == 0x3E) {
|
||||
if (iVar5 == SceneIndex_f_rabbit) {
|
||||
this->mUnk_34 = 0xFFFFECCD; // ~0x1332
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
|
||||
auStack_28.func_ov000_02059270(0x24, "drop4", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x25, "drop5", 0x2D200000);
|
||||
|
||||
UnkStruct_func_ov000_0207029c *ptr = data_027e09a0->func_ov000_0207029c(iVar5);
|
||||
CourseEntry *ptr = data_027e09a0->func_ov000_0207029c(iVar5);
|
||||
if ((ptr->mUnk_1D - 1) == 1) {
|
||||
auStack_28.func_ov000_02059270(0x38, "mic_0", 0x35B00000);
|
||||
auStack_28.func_ov000_02059270(0x39, "mic_1", 0x35B00000);
|
||||
@@ -368,7 +368,7 @@ THUMB bool ActorManager::func_ov001_020bb728(s32 param1) {
|
||||
THUMB void ActorManager::func_ov001_020bb7b0(ZeldaObjectList *pObjList) {
|
||||
for (s32 i = 0; i < pObjList->nEntries; i++) {
|
||||
u32 id = pObjList->aIdList[i];
|
||||
ActorProfile *pActorProfile = data_ov000_020b539c_eur.func_ov000_020974dc(id);
|
||||
ActorProfile *pActorProfile = data_ov000_020b539c_eur.GetProfileFromId(id);
|
||||
|
||||
if (!this->func_ov001_020bb728(id) && pActorProfile != NULL) {
|
||||
pActorProfile->vfunc_08();
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
|
||||
THUMB void ItemManager::func_ov001_020bb9f8() {
|
||||
if (data_027e09a4->mUnk_0C != 1 && gOverlayManager.mLoadedOverlays[OverlaySlot_10] != OverlayIndex_PlayerPhantom) {
|
||||
this->mTearsAmount = 0;
|
||||
}
|
||||
|
||||
CourseEntry *pEntry = data_027e09a0->func_ov000_0207029c(data_027e09a4->mSceneIndex);
|
||||
|
||||
if (pEntry->mSaveCourseIndex < SaveCourseIndex_Max) {
|
||||
this->mKeyAmount = gSaveManager.mUnk_000->mUnk_36[pEntry->mSaveCourseIndex].mKeyAmount;
|
||||
} else {
|
||||
this->mKeyAmount = 0;
|
||||
}
|
||||
|
||||
if (this->mKeyAmount > MAX_KEYS) {
|
||||
this->mKeyAmount = MAX_KEYS;
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,7 @@ ARM SaveManager::SaveManager() {
|
||||
this->mpSaveFile = NULL;
|
||||
this->mUnk_244 = 0;
|
||||
|
||||
func_020327c8(this->mUnk_004, 0x1021);
|
||||
func_020327c8(&this->mUnk_004, 0x1021);
|
||||
|
||||
this->mUnk_204 = OS_GetLockID();
|
||||
int uVar8 = 1;
|
||||
|
||||
@@ -63,7 +63,7 @@ ARM void UnkSubStruct9::func_ov019_020cbb40() {
|
||||
if (this->IsPlayerNameSet()) {
|
||||
this->mUnk_064.func_0201fb78(pSlotArray[this->mSaveSlotIndex].GetPlayerName());
|
||||
} else {
|
||||
this->mUnk_064.func_0201fa70(0x00020026);
|
||||
this->mUnk_064.func_0201fa70(BMG_ID(BMGGroup_select, 0x26));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ ARM void UnkSystem1_ov019_Derived1::vfunc_08(unk32 param1) {
|
||||
ARM unk32 UnkSystem1_ov019_Derived1::vfunc_1C(u32 param1, unk32 param2, unk32 param3) {
|
||||
if (param1 < 4) {
|
||||
if (this->mUnk_04 <= 0) {
|
||||
this->func_ov019_020c5590(0x0002001B, param2, param3);
|
||||
this->func_ov019_020c5590(BMG_ID(BMGGroup_select, 0x1B), param2, param3);
|
||||
this->mUnk_04++;
|
||||
} else if (data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->vfunc_08() != 0) {
|
||||
switch (this->mUnk_04) {
|
||||
|
||||
@@ -30,7 +30,7 @@ ARM unk32 UnkSystem1_ov019_Derived2::vfunc_1C(u32 param1, unk32 param2, unk32 pa
|
||||
if (this->mUnk_04 <= 0) {
|
||||
data_02049bd4.mUnk_04++;
|
||||
UnkStruct_ov000_02067bc4::UnkStruct1 stack1;
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(0x00020032, 0, &stack1);
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_select, 0x32), 0, &stack1);
|
||||
data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1);
|
||||
data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021c08();
|
||||
this->mUnk_04++;
|
||||
|
||||
@@ -40,9 +40,9 @@ ARM unk32 UnkSystem1_ov019_Derived3::vfunc_1C(u32 param1, unk32 param2, unk32 pa
|
||||
UnkStruct_ov000_02067bc4::UnkStruct1 stack1;
|
||||
|
||||
if (this->mUnk_18 == 0) {
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(0x0002001E, 0, &stack1);
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_select, 0x1E), 0, &stack1);
|
||||
} else {
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(0x00020028, 0, &stack1);
|
||||
this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_select, 0x28), 0, &stack1);
|
||||
}
|
||||
|
||||
data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1);
|
||||
|
||||
@@ -128,28 +128,28 @@ ARM FileSelectMain::FileSelectMain() :
|
||||
mUnk_005C(5, 0x8E, 0, 1, 0x8E, 0),
|
||||
|
||||
mUnk_0100(BTN_ID_NONE, 0x89, 0, 0, 0x89, 0),
|
||||
mUnk_0160(&mUnk_0100, 0x89, 0, 0x20012),
|
||||
mUnk_0160(&mUnk_0100, 0x89, 0, BMG_ID(BMGGroup_select, 0x12)),
|
||||
|
||||
mUnk_0488(BTN_ID_FILE_SELECT_START, 0x8A, 0, 0x0D, 0x8A, 0),
|
||||
mUnk_0520(&mUnk_0488, 0x8A, 0, 0x20016),
|
||||
mUnk_0520(&mUnk_0488, 0x8A, 0, BMG_ID(BMGGroup_select, 0x16)),
|
||||
|
||||
mUnk_07E4(BTN_ID_FILE_SELECT_COPY, 0x8A, 1, 3, 0x8A, 2),
|
||||
mUnk_0844(&mUnk_07E4, 0x8A, 2, 0x20014),
|
||||
mUnk_0844(&mUnk_07E4, 0x8A, 2, BMG_ID(BMGGroup_select, 0x14)),
|
||||
|
||||
mUnk_0AC4(BTN_ID_FILE_SELECT_ERASE, 0x8A, 2, 4, 0x8A, 1),
|
||||
mUnk_0B24(&mUnk_0AC4, 0x8A, 1, 0x20015),
|
||||
mUnk_0B24(&mUnk_0AC4, 0x8A, 1, BMG_ID(BMGGroup_select, 0x15)),
|
||||
|
||||
mUnk_0DA4(BTN_ID_FILE_SELECT_ADVENTURE, 0x8B, 1, 0x0E, 0x8B, 1),
|
||||
mUnk_0E3C(&mUnk_0DA4, 0x8B, 2, 0x20017),
|
||||
mUnk_0E3C(&mUnk_0DA4, 0x8B, 2, BMG_ID(BMGGroup_select, 0x17)),
|
||||
|
||||
mUnk_11BC(BTN_ID_FILE_SELECT_BATTLE, 0x8B, 0, 0x0F, 0x8B, 0),
|
||||
mUnk_1254(&mUnk_11BC, 0x8B, 0, 0x20018),
|
||||
mUnk_1254(&mUnk_11BC, 0x8B, 0, BMG_ID(BMGGroup_select, 0x18)),
|
||||
|
||||
mUnk_15D4(BTN_ID_FILE_SELECT_CONTACT_MODE, 0x8B, 0, 0x10, 0x8B, 3),
|
||||
mUnk_166C(&mUnk_15D4, 0x8B, 3, 0x20019),
|
||||
mUnk_166C(&mUnk_15D4, 0x8B, 3, BMG_ID(BMGGroup_select, 0x19)),
|
||||
|
||||
mUnk_18EC(BTN_ID_FILE_SELECT_OPTIONS, 0x8B, 3, 0x11, 0x8B, 2),
|
||||
mUnk_1984(&mUnk_18EC, 0x8B, 1, 0x2001A) {
|
||||
mUnk_1984(&mUnk_18EC, 0x8B, 1, BMG_ID(BMGGroup_select, 0x1A)) {
|
||||
|
||||
stack_struct1 params;
|
||||
params.param2 = NULL;
|
||||
|
||||
@@ -56,9 +56,9 @@ ARM FileSelectMicTest::FileSelectMicTest() :
|
||||
mUnk_3F8(0x8D, 0x01),
|
||||
mUnk_630(1) {
|
||||
this->mUnk_0C.mList.func_020166cc(&this->mUnk_304.mUnk_044.mUnk_04);
|
||||
this->mUnk_020.func_0201f730(0x00020006);
|
||||
this->mUnk_020.func_0201f730(BMG_ID(BMGGroup_select, 0x06));
|
||||
this->mUnk_3F8.mUnk_14E = 1;
|
||||
this->mUnk_3F8.func_0201f730(0x00020043);
|
||||
this->mUnk_3F8.func_0201f730(BMG_ID(BMGGroup_select, 0x43));
|
||||
|
||||
volatile Vec2us result;
|
||||
Vec2s fetch;
|
||||
@@ -216,13 +216,13 @@ ARM void FileSelectMicTest::vfunc_14(unk8 *param1) {
|
||||
if (this->mUnk_630 != 0) {
|
||||
if (data_ov000_020b5340[5] == 0) {
|
||||
this->mUnk_630 = 0;
|
||||
this->mUnk_3F8.func_0201fa70(0x00020046);
|
||||
this->mUnk_3F8.func_0201fa70(BMG_ID(BMGGroup_select, 0x46));
|
||||
this->mUnk_270.func_ov019_020cf130();
|
||||
}
|
||||
} else {
|
||||
if (data_ov000_020b5340[5] != 0) {
|
||||
this->mUnk_630 = 1;
|
||||
this->mUnk_3F8.func_0201fa70(0x00020043);
|
||||
this->mUnk_3F8.func_0201fa70(BMG_ID(BMGGroup_select, 0x43));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,19 +165,19 @@ ARM FileSelectOptions::FileSelectOptions(s32 saveSlotIndex) :
|
||||
mUnk_0024(&this->mUnk_0C, saveSlotIndex),
|
||||
|
||||
mUnk_10A8(BTN_ID_NONE, 0x8C, 0x01, 0x01, 0x8C, 0x01),
|
||||
mUnk_1108(&mUnk_10A8, 0x8C, 0x00, 0x00020010),
|
||||
mUnk_1108(&mUnk_10A8, 0x8C, 0x00, BMG_ID(BMGGroup_select, 0x10)),
|
||||
|
||||
mUnk_1388(BTN_ID_FILE_SELECT_MIC_TEST, 0x8C, 0x08, 0x14, 0x8C, 0x01),
|
||||
mUnk_1420(&mUnk_1388),
|
||||
mUnk_1470(&mUnk_1388, 0x8C, 0x07, 0x0002000B),
|
||||
mUnk_1470(&mUnk_1388, 0x8C, 0x07, BMG_ID(BMGGroup_select, 0x0B)),
|
||||
|
||||
mUnk_16AC(BTN_ID_FILE_SELECT_CONFIRM, 0x8C, 0x0B, 0x12, 0x8C, 0x00),
|
||||
mUnk_1744(&mUnk_16AC),
|
||||
mUnk_1794(&mUnk_16AC, 0x8C, 0x08, 0x00020008),
|
||||
mUnk_1794(&mUnk_16AC, 0x8C, 0x08, BMG_ID(BMGGroup_select, 0x08)),
|
||||
|
||||
mUnk_19D0(BTN_ID_RETURN, 0x8C, 0x0C, 0x13, 0x8C, 0x08),
|
||||
mUnk_1A68(&mUnk_19D0),
|
||||
mUnk_1AB8(&mUnk_19D0, 0x8C, 0x09, 0x00020007) {
|
||||
mUnk_1AB8(&mUnk_19D0, 0x8C, 0x09, BMG_ID(BMGGroup_select, 0x07)) {
|
||||
this->mUnk_1CF5 = false;
|
||||
this->mUnk_0C.mList.func_020166cc(&this->mUnk_10A8.mUnk_04);
|
||||
this->mUnk_0C.mList.func_020166cc(&this->mUnk_19D0.mUnk_04);
|
||||
@@ -852,11 +852,11 @@ ARM void UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce6c8() {
|
||||
ARM unk32 UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce704(u8 param1) {
|
||||
switch (param1) {
|
||||
case 0:
|
||||
return 0x0002004C;
|
||||
return BMG_ID(BMGGroup_select, 0x4C);
|
||||
case 1:
|
||||
return 0x0002004B;
|
||||
return BMG_ID(BMGGroup_select, 0x4B);
|
||||
case 2:
|
||||
return 0x0002004A;
|
||||
return BMG_ID(BMGGroup_select, 0x4A);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -867,13 +867,13 @@ ARM unk32 UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce704(u8 param1) {
|
||||
ARM unk32 UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce74c(u8 param1) {
|
||||
switch (param1) {
|
||||
case 0:
|
||||
return 0x00020050;
|
||||
return BMG_ID(BMGGroup_select, 0x50);
|
||||
case 1:
|
||||
return 0x0002004F;
|
||||
return BMG_ID(BMGGroup_select, 0x4F);
|
||||
case 2:
|
||||
return 0x0002004D;
|
||||
return BMG_ID(BMGGroup_select, 0x4D);
|
||||
case 3:
|
||||
return 0x0002004E;
|
||||
return BMG_ID(BMGGroup_select, 0x4E);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -884,9 +884,9 @@ ARM unk32 UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce74c(u8 param1) {
|
||||
ARM unk32 UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce7a0(u8 param1) {
|
||||
switch (param1) {
|
||||
case 0:
|
||||
return 0x00020049;
|
||||
return BMG_ID(BMGGroup_select, 0x49);
|
||||
case 1:
|
||||
return 0x00020048;
|
||||
return BMG_ID(BMGGroup_select, 0x48);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ ARM FileSelect_UnkClass7::FileSelect_UnkClass7() {
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_004.mUnk_000); i++) {
|
||||
this->mUnk_004.mUnk_000[i].func_ov000_0206082c(0x8F, data_ov019_020d1bcc[gRandom.Next32(0, 3)]);
|
||||
|
||||
u16 value = gRandom.ConditionalNext32(this->mUnk_004.mUnk_000[i].func_ov000_02060c28());
|
||||
u16 value = gRandom.ConditionalNext16(this->mUnk_004.mUnk_000[i].func_ov000_02060c28());
|
||||
this->mUnk_004.mUnk_000[i].func_ov000_02060bd8(value);
|
||||
|
||||
Vec2us pos;
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_02049bac.hpp"
|
||||
|
||||
extern "C" u8 func_ov000_020a9a50();
|
||||
|
||||
MiscAdvManager *MiscAdvManager::Create() {
|
||||
return new(HeapIndex_1) MiscAdvManager();
|
||||
}
|
||||
|
||||
MiscAdvManager::MiscAdvManager() {
|
||||
MiscAdvManager::SetInstance(this);
|
||||
this->mLettersRead = 0;
|
||||
this->mStampsFlag = 0;
|
||||
this->mSongs = 0;
|
||||
}
|
||||
|
||||
MiscAdvManager::~MiscAdvManager() {
|
||||
MiscAdvManager::ClearInstance();
|
||||
}
|
||||
|
||||
void MiscAdvManager::func_ov024_020d6310(MiscAdvManager *pSrc) {
|
||||
u16 local_10;
|
||||
|
||||
_MI_CpuCopy(pSrc, this, sizeof(MiscAdvManager));
|
||||
data_02049bac.func_02014a34(&local_10);
|
||||
|
||||
if (local_10 == this->mUnk_28) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->mNumPostedPriceCards == 0) {
|
||||
this->func_ov024_020d6530();
|
||||
}
|
||||
}
|
||||
|
||||
void MiscAdvManager::GiveLetterOrPriceCard(ItemId itemId) {
|
||||
AdventureFlag flag = ItemManager::GetAdvFlagFromItem(itemId);
|
||||
|
||||
if (flag - AdventureFlag_MetPostmanFirstLetter < LetterType_Max) {
|
||||
this->GiveLetter(flag);
|
||||
}
|
||||
|
||||
if (itemId == ItemId_TenPriceCard) {
|
||||
this->GivePriceCard(10);
|
||||
}
|
||||
}
|
||||
|
||||
unk32 MiscAdvManager::GetObtainedLetterCount() {
|
||||
u8 ret = 0;
|
||||
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mObtainedLetters); i++) {
|
||||
if (this->mObtainedLetters[i] >= 0) {
|
||||
ret++;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool MiscAdvManager::GotUnreadLetters() {
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mObtainedLetters); i++) {
|
||||
if (this->mObtainedLetters[i] >= 0 && !GET_FLAG2(this->mLettersRead, i)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void MiscAdvManager::GiveLetter(AdventureFlag_Half flag) {
|
||||
s8 letterType = flag - AdventureFlag_MetPostmanFirstLetter;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_LEN(this->mObtainedLetters); i++) {
|
||||
if (letterType == this->mObtainedLetters[i]) {
|
||||
return;
|
||||
}
|
||||
|
||||
// LetterType_None
|
||||
if (this->mObtainedLetters[i] < 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (i < ARRAY_LEN(this->mObtainedLetters)) {
|
||||
this->mObtainedLetters[i] = letterType;
|
||||
}
|
||||
}
|
||||
|
||||
unk32 MiscAdvManager::func_ov024_020d6468() {
|
||||
unk32 ret = 0;
|
||||
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mObtainedStamps); i++) {
|
||||
if (this->mObtainedStamps[i] >= 0) {
|
||||
ret++;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
unk32 MiscAdvManager::GetStamp(unk32 index) {
|
||||
return this->mObtainedStamps[index];
|
||||
}
|
||||
|
||||
u16 *MiscAdvManager::GetStampDate(unk32 index) {
|
||||
return (u16 *) &this->mStampDates[index];
|
||||
}
|
||||
|
||||
Vec2b *MiscAdvManager::GetStampPos(unk32 index) {
|
||||
return (Vec2b *) &this->mStampPositions[index];
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void MiscAdvManager::func_ov024_020d64b4(unk32 param1, unk32 param2, u16 *param3) {
|
||||
if (param2 < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((u32) param2 >= StampType_Max || (u32) param1 >= StampType_Max) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mObtainedStamps); i++) {
|
||||
if (param1 == this->mObtainedStamps[i]) {
|
||||
this->mObtainedStamps[i] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
u16 local_18;
|
||||
data_02049bac.func_02014a34((void *) &local_18);
|
||||
this->mObtainedStamps[param2] = param1;
|
||||
this->mStampDates[param2] = local_18;
|
||||
*(u16 *) &this->mStampPositions[param2] = *param3;
|
||||
}
|
||||
|
||||
void MiscAdvManager::func_ov024_020d6530() {
|
||||
this->mLastRandomNum = this->mRandomNum;
|
||||
this->mRandomNum = func_ov000_020a9a50();
|
||||
data_02049bac.func_02014a34(&this->mUnk_28);
|
||||
}
|
||||
|
||||
unk32 MiscAdvManager::GetNumPostcards() {
|
||||
unk32 numPostcards = this->mNumPriceCards;
|
||||
|
||||
if (numPostcards < 0) {
|
||||
numPostcards = 0;
|
||||
}
|
||||
|
||||
return numPostcards;
|
||||
}
|
||||
|
||||
void MiscAdvManager::GivePriceCard(unk32 amount) {
|
||||
if (this->mNumPriceCards < 0) {
|
||||
this->mNumPriceCards = 0;
|
||||
}
|
||||
|
||||
if (this->mNumPriceCards + amount > MAX_PRICECARDS) {
|
||||
this->mNumPriceCards = MAX_PRICECARDS;
|
||||
} else {
|
||||
this->mNumPriceCards += amount;
|
||||
}
|
||||
}
|
||||
|
||||
void MiscAdvManager::PostPriceCard(unk32 amount, unk32 param2) {
|
||||
if (amount > this->mNumPriceCards) {
|
||||
this->mNumPriceCards = 0;
|
||||
} else {
|
||||
this->mNumPriceCards -= amount;
|
||||
}
|
||||
|
||||
if (this->mNumPostedPriceCards + amount > MAX_PRICECARDS) {
|
||||
this->mNumPostedPriceCards = MAX_PRICECARDS;
|
||||
} else {
|
||||
this->mNumPostedPriceCards += amount;
|
||||
}
|
||||
|
||||
u16 date;
|
||||
data_02049bac.func_02014a34(&date);
|
||||
this->mPostDate = date;
|
||||
|
||||
if (this->mUnk_80 == -1 || param2 < this->mUnk_80) {
|
||||
this->mUnk_80 = param2;
|
||||
}
|
||||
}
|
||||
|
||||
void MiscAdvManager::func_ov024_020d6610() {
|
||||
this->mNumPostedPriceCards = 0;
|
||||
this->mUnk_80 = -1;
|
||||
this->func_ov024_020d6530();
|
||||
}
|
||||
|
||||
void MiscAdvManager::SetInstance(MiscAdvManager *pInstance) {
|
||||
gpMiscAdvManager = pInstance;
|
||||
}
|
||||
|
||||
int MiscAdvManager::ClearInstance() {
|
||||
gpMiscAdvManager = NULL;
|
||||
//! @bug: missing return
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
extern "C" void func_01ffedac(u16 *, Vec3p *);
|
||||
extern "C" void func_01fff05c(u32 *, UnkStruct_027e0cd8_0c *, Vec3p *);
|
||||
@@ -14,9 +15,7 @@ extern "C" void func_ov017_020bf99c();
|
||||
extern "C" void func_ov031_0210acd4(u8);
|
||||
extern "C" unk32 func_ov031_0210af50(u16, unk32 *);
|
||||
extern void func_ov031_0210b0e4(u16, unk32);
|
||||
extern "C" unk32 func_ov031_020d9834(unk32 *);
|
||||
|
||||
extern unk32 *data_027e0d34;
|
||||
extern Cylinder data_ov031_02113478;
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileRupee);
|
||||
@@ -55,7 +54,7 @@ ARM void ActorRupee::func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3,
|
||||
stack.sp4.z = param1->z;
|
||||
stack.sp2C = param4;
|
||||
stack.sp30 = param3;
|
||||
this->func_ov000_020973f4(&data_ov000_020b539c_eur, ActorId_Rupee, (Actor_5c *) &stack, 0);
|
||||
this->func_ov000_020973f4(&data_ov000_020b539c_eur, ActorId_Rupee, (ActorParams *) &stack, 0);
|
||||
}
|
||||
|
||||
ARM ActorRupee::ActorRupee() :
|
||||
@@ -81,12 +80,12 @@ ARM bool ActorRupee::vfunc_18(unk32 param1) {
|
||||
SET_FLAG(this->mFlags, ActorFlag_12);
|
||||
}
|
||||
|
||||
if (this->mUnk_80 >= 0) {
|
||||
if (this->mUnk_5C.mUnk_24 >= 0) {
|
||||
if (this->func_ov000_02098a60(0)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this->mUnk_6E == 0) {
|
||||
if (this->mUnk_5C.mParams[1] == 0) {
|
||||
this->func_ov031_020e9904(3);
|
||||
} else {
|
||||
this->func_ov031_020e9904(10);
|
||||
@@ -95,7 +94,7 @@ ARM bool ActorRupee::vfunc_18(unk32 param1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (this->mUnk_88) {
|
||||
switch (this->mUnk_5C.mUnk_2C) {
|
||||
case 0:
|
||||
this->mUnk_96 = 0x1E0;
|
||||
this->mUnk_94 = 0;
|
||||
@@ -157,7 +156,7 @@ ARM bool ActorRupee::vfunc_18(unk32 param1) {
|
||||
}
|
||||
|
||||
ARM void ActorRupee::func_ov031_020e8fec() {
|
||||
switch (this->mUnk_6C) {
|
||||
switch (this->mUnk_5C.mParams[0]) {
|
||||
case RupeeId_Green:
|
||||
data_027e09a8->func_ov000_02071b30(0x73, &this->mPos, 0);
|
||||
break;
|
||||
@@ -176,7 +175,7 @@ ARM void ActorRupee::func_ov031_020e8fec() {
|
||||
ARM void ActorRupee::func_ov031_020e9068() {
|
||||
bool var_r4 = false;
|
||||
|
||||
switch (this->mUnk_6C) {
|
||||
switch (this->mUnk_5C.mParams[0]) {
|
||||
case RupeeId_BigGreen:
|
||||
case RupeeId_BigRed:
|
||||
case RupeeId_Gold:
|
||||
@@ -190,7 +189,7 @@ ARM void ActorRupee::func_ov031_020e9068() {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_80 >= 0 && this->mUnk_76 != 0) {
|
||||
if (this->mUnk_5C.mUnk_24 >= 0 && this->mUnk_5C.mUnk_1A != 0) {
|
||||
this->func_ov000_02098a88(0, 1);
|
||||
}
|
||||
|
||||
@@ -373,7 +372,7 @@ ARM void ActorRupee::func_ov031_020e951c() {
|
||||
|
||||
itemId = ItemId_None;
|
||||
|
||||
switch (this->mUnk_6C) {
|
||||
switch (this->mUnk_5C.mParams[0]) {
|
||||
case RupeeId_Gold:
|
||||
itemId = ItemId_BigGoldRupee;
|
||||
break;
|
||||
@@ -387,7 +386,7 @@ ARM void ActorRupee::func_ov031_020e951c() {
|
||||
break;
|
||||
}
|
||||
|
||||
if (itemId != ItemId_None && func_ov031_020d9834(data_027e0d34) == 0) {
|
||||
if (itemId != ItemId_None && !data_027e0d34->TryItemGive(itemId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -440,7 +439,7 @@ ARM void ActorRupee::func_ov031_020e9638() {
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
this->mUnk_C4.mUnk_04 = 0;
|
||||
|
||||
if (this->mUnk_6E == 2) {
|
||||
if (this->mUnk_5C.mParams[1] == 2) {
|
||||
this->mUnk_4A = 1;
|
||||
data_027e0cec->func_ov000_0209ff8c(&this->mUnk_F0, 0xD00C, &this->mPos, 2);
|
||||
} else {
|
||||
@@ -497,7 +496,7 @@ ARM void ActorRupee::func_ov031_020e9740() {
|
||||
}
|
||||
} else {
|
||||
temp_r0 = data_027e0cd8->mUnk_0C;
|
||||
this->mPos.y = temp_r0->vfunc_28(&this->mUnk_5C.mUnk_00, 0, 0);
|
||||
this->mPos.y = temp_r0->vfunc_28(&this->mUnk_5C.mInitialPos, 0, 0);
|
||||
this->func_ov031_020e9904(0xC);
|
||||
}
|
||||
|
||||
@@ -662,11 +661,11 @@ ARM void ActorRupee::vfunc_20() {
|
||||
|
||||
// (*pcVar6)();
|
||||
|
||||
if ((this->mUnk_80 < 0) && (this->mUnk_4C != 5)) {
|
||||
if ((this->mUnk_5C.mUnk_24 < 0) && (this->mUnk_4C != 5)) {
|
||||
this->func_ov031_020e9d94();
|
||||
}
|
||||
|
||||
if (this->mUnk_6E != 0) {
|
||||
if (this->mUnk_5C.mParams[1] != 0) {
|
||||
sVar1 = this->mUnk_4C;
|
||||
|
||||
if (!(sVar1 != 10 && sVar1 != 0xb && sVar1 != 0xc)) {
|
||||
@@ -683,7 +682,7 @@ ARM void ActorRupee::func_ov031_020e9b88() {
|
||||
func_ov000_02098838();
|
||||
Vec3p_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
|
||||
if (this->mUnk_5C.mUnk_00.y < this->mPos.y + this->mVel.y) {
|
||||
if (this->mUnk_5C.mInitialPos.y < this->mPos.y + this->mVel.y) {
|
||||
this->mUnk_44 = 0x9C;
|
||||
} else {
|
||||
this->mUnk_44 = 0x9F;
|
||||
@@ -721,7 +720,7 @@ ARM void ActorRupee::vfunc_2c(unk32 param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
func_ov000_0205c1f0(auStack_30, data_ov031_02110aa0[this->mUnk_6C]);
|
||||
func_ov000_0205c1f0(auStack_30, data_ov031_02110aa0[this->mUnk_5C.mParams[0]]);
|
||||
iStack_18 = this->mPos;
|
||||
|
||||
if (!this->func_ov031_020e9d54()) {
|
||||
@@ -743,7 +742,7 @@ ARM void ActorRupee::vfunc_2c(unk32 param1) {
|
||||
}
|
||||
|
||||
ARM bool ActorRupee::func_ov031_020e9d54() {
|
||||
switch (this->mUnk_6C) {
|
||||
switch (this->mUnk_5C.mParams[0]) {
|
||||
case RupeeId_BigGreen:
|
||||
case RupeeId_BigRed:
|
||||
case RupeeId_Gold:
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
#include "MapObject/MapObjectChestBase.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
|
||||
#pragma readonly_strings on
|
||||
|
||||
extern "C" unk32 func_0200f218(unk32, const char *);
|
||||
extern "C" void func_0200b58c(void *);
|
||||
extern "C" void func_01ffb714(Vec3p *, Vec3p *, void *);
|
||||
extern "C" void func_01ffcfcc(Vec3p *, Vec3p *, Vec3p *);
|
||||
|
||||
static const Vec2p data_ov031_02115830(0x800, 0x800);
|
||||
static const UnkSubStruct19 data_ov031_02115c84;
|
||||
|
||||
ARM MapObjectTreasureSpawned_74::MapObjectTreasureSpawned_74(unk32 param1) :
|
||||
UnkSystem4(param1),
|
||||
mUnk_60(1) {}
|
||||
|
||||
ARM void MapObjectTreasureSpawned_74::vfunc_1C(UnkSystem4_vfunc_1C *param1) {
|
||||
unk32 iVar1;
|
||||
unk32 uVar2;
|
||||
|
||||
if (param1->mUnk_04[1] != 0) {
|
||||
iVar1 = param1->mUnk_04[1] + 0x40;
|
||||
} else {
|
||||
iVar1 = 0;
|
||||
}
|
||||
|
||||
if (iVar1 != 0) {
|
||||
uVar2 = func_0200f218(iVar1, "box_B");
|
||||
} else {
|
||||
uVar2 = -1;
|
||||
}
|
||||
|
||||
if (param1->mUnk_00[1] == uVar2) {
|
||||
if (!this->mUnk_60) {
|
||||
*param1->mUnk_B8 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ARM void MapObjectTreasureSpawned_74::func_ov031_0210306c() {
|
||||
func_0200b58c(&this->mUnk_08);
|
||||
}
|
||||
|
||||
ARM MapObjectChestBase::MapObjectChestBase(unk32 param1) :
|
||||
mUnk_040(0),
|
||||
mUnk_044(-1),
|
||||
mUnk_048(param1),
|
||||
mUnk_04C(0),
|
||||
mUnk_04D(1),
|
||||
mUnk_074(0),
|
||||
mItemId(ItemId_Nothing) {
|
||||
this->mUnk_0DC.func_ov000_0206082c(0x5D, 0x05);
|
||||
}
|
||||
|
||||
ARM MapObjectChestBase::~MapObjectChestBase() {}
|
||||
|
||||
ARM bool MapObjectChestBase::vfunc_00() {
|
||||
SET_FLAG(this->mFlags, MapObjFlag_9);
|
||||
this->mUnk_18[0] = 0x0D;
|
||||
|
||||
UnkStruct_027e0cd8_0c *pUVar2 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[3] == 1) {
|
||||
this->mPos.x += 0x7FC;
|
||||
|
||||
Vec2b sp48(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
pUVar2->func_ov000_020801b0(&sp48, 7, 1);
|
||||
|
||||
sp48.x++;
|
||||
pUVar2->func_ov000_020801b0(&sp48, 7, 1);
|
||||
}
|
||||
|
||||
this->vfunc_38(this->vfunc_3C(), 1);
|
||||
this->mItemId = this->mUnk_20.mUnk_00[0];
|
||||
return true;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void MapObjectChestBase::vfunc_04() {
|
||||
q20 iVar2;
|
||||
UnkStruct_027e0cd8_0c *pUVar5;
|
||||
Vec3p sp48;
|
||||
Vec3p sp3C;
|
||||
Vec3p local_38;
|
||||
Vec3p local_44;
|
||||
Vec3p sp18;
|
||||
Vec3p spC;
|
||||
Vec2b local_5e;
|
||||
Vec2b local_62;
|
||||
Vec2b local_64;
|
||||
Vec2b local_66;
|
||||
Vec2b local_68;
|
||||
Vec2us local_6c;
|
||||
|
||||
pUVar5 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
sp48.x = FLOAT_TO_Q20(0.0f);
|
||||
sp48.y = FLOAT_TO_Q20(0.0f);
|
||||
sp48.z = FLOAT_TO_Q20(0.0f);
|
||||
|
||||
sp3C.x = FLOAT_TO_Q20(0.0f);
|
||||
sp3C.y = FLOAT_TO_Q20(0.0f);
|
||||
sp3C.z = FLOAT_TO_Q20(0.0f);
|
||||
|
||||
sp18.x = FLOAT_TO_Q20(0.5f);
|
||||
sp18.y = FLOAT_TO_Q20(0.0f);
|
||||
sp18.z = FLOAT_TO_Q20(0.5f);
|
||||
|
||||
func_01ffb714(&sp48, &sp18, &sp48);
|
||||
|
||||
spC.x = FLOAT_TO_Q20(0.5f);
|
||||
spC.y = FLOAT_TO_Q20(1.0f);
|
||||
spC.z = FLOAT_TO_Q20(0.5f);
|
||||
|
||||
Vec3p_Add((Vec3p *) &sp3C, &spC, (Vec3p *) &sp3C);
|
||||
|
||||
local_68.x = this->mUnk_3A.x;
|
||||
local_68.y = this->mUnk_3A.y;
|
||||
iVar2 = pUVar5->func_01ffedf4((Vec2b *) &local_68);
|
||||
|
||||
if (this->mUnk_20.mUnk_00[3] == 1) {
|
||||
Vec2b temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
temp_r0.x--;
|
||||
|
||||
if (pUVar5->func_01ffedf4((Vec2b *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
sp48.x -= FLOAT_TO_Q20(0.5f);
|
||||
}
|
||||
|
||||
temp_r0.x += 3;
|
||||
if (pUVar5->func_01ffedf4((Vec2b *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
sp3C.x += FLOAT_TO_Q20(0.5f);
|
||||
}
|
||||
} else {
|
||||
Vec2b temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
temp_r0.x--;
|
||||
temp_r0.y += 2;
|
||||
// local_5e.y = this->mUnk_3A.y + (this->mUnk_3A.x - 1);
|
||||
// local_6c.y += local_5e.y;
|
||||
// local_5e.y += 2;
|
||||
|
||||
if (gpMapObjManager->func_ov000_0209c3a8(&temp_r0) == MapObjectId_MiniBlocks) {
|
||||
sp48.x -= FLOAT_TO_Q20(0.5f);
|
||||
}
|
||||
|
||||
// temp_r0.x += 3;
|
||||
if (gpMapObjManager->func_ov000_0209c3a8(&temp_r0) == MapObjectId_MiniBlocks) {
|
||||
sp3C.x += FLOAT_TO_Q20(0.5f);
|
||||
}
|
||||
}
|
||||
|
||||
local_62.x = (this->mUnk_3A.y - 1) + this->mUnk_3A.x;
|
||||
|
||||
if (gpMapObjManager->func_ov000_0209c3a8(&local_62) == MapObjectId_MiniBlocks &&
|
||||
iVar2 == pUVar5->func_01ffedf4(&local_62)) {
|
||||
sp48.z -= FLOAT_TO_Q20(0.5f);
|
||||
}
|
||||
|
||||
if (data_027e09a4->mSceneIndex == SceneIndex_d_flame) {
|
||||
local_64.x = this->mUnk_3A.x;
|
||||
local_66.y = this->mUnk_3A.y;
|
||||
|
||||
local_66.x = local_64.x - 1;
|
||||
local_64.y = local_66.y - 1;
|
||||
|
||||
if (iVar2 > pUVar5->func_01ffedf4(&local_64) && iVar2 > pUVar5->func_01ffedf4(&local_66)) {
|
||||
sp3C.y += FLOAT_TO_Q20(1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
func_01ffcfcc(&local_44, &sp48, (Vec3p *) &sp3C);
|
||||
|
||||
this->mUnk_050.mUnk_0C.x = local_44.x;
|
||||
this->mUnk_050.mUnk_0C.y = local_44.y;
|
||||
this->mUnk_050.mUnk_0C.z = local_44.z;
|
||||
|
||||
this->mUnk_050.mUnk_18.x = local_38.x;
|
||||
this->mUnk_050.mUnk_18.y = local_38.y;
|
||||
this->mUnk_050.mUnk_18.z = local_38.z;
|
||||
|
||||
this->mUnk_050.mUnk_08 = 0x84007006;
|
||||
this->mUnk_10 = &this->mUnk_050;
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::vfunc_08() {}
|
||||
|
||||
ARM void MapObjectChestBase::vfunc_0C() {
|
||||
this->vfunc_08();
|
||||
}
|
||||
|
||||
ARM unk32 MapObjectChestBase::vfunc_28() {
|
||||
return this->func_ov031_021037d0();
|
||||
}
|
||||
|
||||
ARM ItemId MapObjectChestBase::func_ov031_021037d0() {
|
||||
switch (this->mUnk_16) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
return ItemId_None;
|
||||
case 2:
|
||||
case 3:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
this->vfunc_38(7, 0);
|
||||
|
||||
if ((u32) this->mItemId - ItemId_RedPotion <= 2 && data_027e0ce0->mUnk_2C->func_ov000_020a8948()) {
|
||||
return ItemId_BigGreenRupee;
|
||||
}
|
||||
|
||||
return this->mItemId;
|
||||
}
|
||||
|
||||
ARM bool MapObjectChestBase::func_ov031_02103864() {
|
||||
return this->mUnk_16 == 8 ? true : false;
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::func_ov031_02103878() {
|
||||
this->vfunc_38(8, 1);
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::vfunc_38(unk32 param1, unk32 param2) {}
|
||||
ARM void MapObjectChestBase::vfunc_18(s8 *param1, s8 param2) {}
|
||||
ARM void MapObjectChestBase::vfunc_14() {}
|
||||
ARM unk32 MapObjectChestBase::vfunc_3C() {}
|
||||
|
||||
ARM bool MapObjectChestBase::vfunc_40() {
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM bool MapObjectChestBase::vfunc_44() {
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::func_ov031_02103f48() {
|
||||
Vec3p local_10(this->mPos.x, this->mPos.y + 0x800, this->mPos.z);
|
||||
data_027e0cec->func_ov000_0209feac(0x81f, &local_10, 4, 0, 0);
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::vfunc_4C() {
|
||||
data_027e09a8->func_ov000_02071b30(0x150, &this->mPos, 0);
|
||||
}
|
||||
|
||||
ARM void MapObjectChestBase::vfunc_50() {
|
||||
data_027e09a8->func_ov000_02071b30(0x151, &this->mPos, 0);
|
||||
}
|
||||
|
||||
ARM Vec2p *MapObjectChestBase::vfunc_54() {
|
||||
return (Vec2p *) &data_ov031_02115830;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
#include "MapObject/MapObjectTreasureSpawned.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
|
||||
static const Vec2p data_ov031_021157b0(0x96B, 0x99A);
|
||||
|
||||
ARM DECL_PROFILE(MapObjectProfileTreasureSpawned);
|
||||
|
||||
ARM MapObject *MapObjectProfileTreasureSpawned::Create() {
|
||||
return new(HeapIndex_ITCM) MapObjectTreasureSpawned();
|
||||
}
|
||||
|
||||
ARM MapObjectProfileTreasureSpawned::MapObjectProfileTreasureSpawned() :
|
||||
MapObjectProfile_Derived2(MapObjectId_TreasureSpawned, MapObjectId_TreasureSpawned) {
|
||||
this->mUnk_0E = 1;
|
||||
this->mUnk_06 = 1;
|
||||
this->mUnk_0C = 0x1333;
|
||||
}
|
||||
|
||||
ARM MapObjectTreasureSpawned::MapObjectTreasureSpawned() :
|
||||
MapObjectChestBase(1) {
|
||||
this->mUnk_074.vfunc_08(GetUnkPointer1<MapObjectProfileTreasureSpawned>());
|
||||
}
|
||||
|
||||
ARM unk32 MapObjectTreasureSpawned::vfunc_3C() {
|
||||
if (data_027e0cd8->func_ov000_02081f3c(this->mUnk_20.mUnk_14, 1)) {
|
||||
return 8;
|
||||
}
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
ARM bool MapObjectTreasureSpawned::vfunc_40() {
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM Vec2p *MapObjectTreasureSpawned::vfunc_54() {
|
||||
return (Vec2p *) &data_ov031_021157b0;
|
||||
}
|
||||
|
||||
ARM MapObjectTreasureSpawned::~MapObjectTreasureSpawned() {}
|
||||
ARM MapObjectProfileTreasureSpawned::~MapObjectProfileTreasureSpawned() {}
|
||||
@@ -1,22 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "MapObject/MapObjectUnkTRES.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
ARM DECL_PROFILE(MapObjectProfileUnkTRES);
|
||||
|
||||
ARM MapObject *MapObjectProfileUnkTRES::Create() {
|
||||
return new(HeapIndex_2) MapObjectUnkTRES();
|
||||
}
|
||||
|
||||
ARM MapObjectProfileUnkTRES::MapObjectProfileUnkTRES() :
|
||||
MapObjectProfile(MapObjectId_TRES) {}
|
||||
|
||||
ARM MapObjectUnkTRES::MapObjectUnkTRES() {}
|
||||
|
||||
ARM void MapObjectUnkTRES::func_ov031_02102f64(void) {}
|
||||
ARM void MapObjectUnkTRES::func_ov031_02102f90(void) {}
|
||||
ARM void MapObjectUnkTRES::func_ov031_02102f98(void) {}
|
||||
|
||||
ARM MapObjectUnkTRES::~MapObjectUnkTRES() {}
|
||||
ARM MapObjectProfileUnkTRES::~MapObjectProfileUnkTRES() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
bool UnkStruct_027e0d34::TryItemGive(ItemId itemId) {
|
||||
return this->mUnk_04->func_ov000_02093bc8(itemId);
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkGORY.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileUnkGORY);
|
||||
|
||||
@@ -16,7 +19,36 @@ ARM ActorUnkGORY::ActorUnkGORY() {}
|
||||
|
||||
ARM void ActorUnkGORY::func_ov036_0211bc20(void) {}
|
||||
ARM void ActorUnkGORY::func_ov036_0211bc84(void) {}
|
||||
ARM void ActorUnkGORY::func_ov036_0211bcb0(void) {}
|
||||
|
||||
ARM ItemId ActorUnkGORY::func_ov036_0211bcb0(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 0:
|
||||
return ItemId_BombsRefill;
|
||||
case 1:
|
||||
return ItemId_YellowPotion;
|
||||
case 2:
|
||||
return ItemId_PurplePotion;
|
||||
case 3:
|
||||
return ItemId_NormalShield;
|
||||
case 4:
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_BoughtGoronShopQuiver)) {
|
||||
return ItemId_TenPriceCard;
|
||||
}
|
||||
|
||||
if (data_027e0ce0->mUnk_2C->mQuiverCapacity == UpgradeCapacity_Tier1) {
|
||||
return ItemId_QuiverMedium;
|
||||
} else if (data_027e0ce0->mUnk_2C->mQuiverCapacity == UpgradeCapacity_Tier2) {
|
||||
return ItemId_QuiverLarge;
|
||||
} else {
|
||||
return ItemId_TenPriceCard;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ItemId_Nothing;
|
||||
}
|
||||
|
||||
ARM ActorUnkGORY::~ActorUnkGORY() {}
|
||||
ARM ActorProfileUnkGORY::~ActorProfileUnkGORY() {}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkSHIT.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileUnkSHIT);
|
||||
|
||||
@@ -34,17 +39,316 @@ ARM void ActorUnkSHIT::func_ov036_0211c998(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211c9ac(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211c9cc(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211c9d4(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211cddc(void) {}
|
||||
ARM unk32 ActorUnkSHIT::func_ov036_0211cddc(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211cdfc(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211ceec(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d0a8(void) {}
|
||||
|
||||
ARM u16 ActorUnkSHIT::func_ov036_0211ceec(void) {
|
||||
switch (this->mItemId) {
|
||||
case ItemId_NormalShield: {
|
||||
u16 param = this->mUnk_5C.mParams[3];
|
||||
if (param == 4) {
|
||||
return 200;
|
||||
}
|
||||
if (param == 2) {
|
||||
return 150;
|
||||
}
|
||||
return 80;
|
||||
}
|
||||
case ItemId_RedPotion:
|
||||
return 100;
|
||||
case ItemId_PurplePotion:
|
||||
return 150;
|
||||
case ItemId_YellowPotion:
|
||||
return 200;
|
||||
case ItemId_TenPriceCard:
|
||||
return 100;
|
||||
case ItemId_DemonFossil:
|
||||
case ItemId_StalfosSkull:
|
||||
case ItemId_StarFragment:
|
||||
case ItemId_BeeLarvae:
|
||||
case ItemId_WoodHeart:
|
||||
case ItemId_DarkPearlLoop:
|
||||
case ItemId_WhitePearlLoop:
|
||||
case ItemId_RutoCrown:
|
||||
case ItemId_DragonScale:
|
||||
case ItemId_PirateNecklace:
|
||||
case ItemId_PalaceDish:
|
||||
case ItemId_GoronAmber:
|
||||
case ItemId_MysticJade:
|
||||
case ItemId_AncientCoin:
|
||||
case ItemId_PricelessStone:
|
||||
case ItemId_RegalRing: {
|
||||
return data_ov000_020b6510->func_ov000_020a9b4c(this->mItemId - ItemId_DemonFossil) * 2;
|
||||
}
|
||||
case ItemId_HeartContainer:
|
||||
return 2000;
|
||||
case ItemId_BombsRefill: {
|
||||
u16 param = this->mUnk_5C.mParams[3];
|
||||
|
||||
if (param == 4) {
|
||||
return 200;
|
||||
}
|
||||
|
||||
if (param == 3) {
|
||||
return 150;
|
||||
}
|
||||
|
||||
return 100;
|
||||
}
|
||||
case ItemId_ArrowsRefill:
|
||||
return 50;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
return 2000;
|
||||
case ItemId_BombBag:
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
return 500;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 9999;
|
||||
}
|
||||
|
||||
ARM unk32 ActorUnkSHIT::func_ov036_0211d0a8(void) {
|
||||
if (this->mUnk_2D3) {
|
||||
return 0x12;
|
||||
}
|
||||
|
||||
switch (this->mItemId) {
|
||||
case ItemId_SoldOutSign:
|
||||
return 0x12;
|
||||
case ItemId_NormalShield:
|
||||
return 0x08;
|
||||
case ItemId_RedPotion:
|
||||
return 0x09;
|
||||
case ItemId_PurplePotion:
|
||||
return 0x0A;
|
||||
case ItemId_YellowPotion:
|
||||
return 0x0B;
|
||||
case ItemId_TenPriceCard:
|
||||
return 0x13;
|
||||
case ItemId_DemonFossil:
|
||||
case ItemId_StalfosSkull:
|
||||
case ItemId_StarFragment:
|
||||
case ItemId_BeeLarvae:
|
||||
case ItemId_WoodHeart:
|
||||
case ItemId_DarkPearlLoop:
|
||||
case ItemId_WhitePearlLoop:
|
||||
case ItemId_RutoCrown:
|
||||
case ItemId_DragonScale:
|
||||
case ItemId_PirateNecklace:
|
||||
case ItemId_PalaceDish:
|
||||
case ItemId_GoronAmber:
|
||||
case ItemId_MysticJade:
|
||||
case ItemId_AncientCoin:
|
||||
case ItemId_PricelessStone:
|
||||
case ItemId_RegalRing:
|
||||
return 0x06;
|
||||
case ItemId_HeartContainer:
|
||||
return 0x07;
|
||||
case ItemId_BombsRefill:
|
||||
return 0x05;
|
||||
case ItemId_ArrowsRefill:
|
||||
return 0x03;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
return 0x02;
|
||||
case ItemId_BombBag:
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
return 0x04;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0x0D;
|
||||
}
|
||||
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d22c(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d254(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d270(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d28c(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d2a8(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d2dc(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d570(void) {}
|
||||
|
||||
ARM bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
|
||||
ItemManager *pIVar4 = data_027e0ce0->mUnk_2C;
|
||||
|
||||
switch (this->mItemId) {
|
||||
case ItemId_NormalShield:
|
||||
if (GET_FLAG(pIVar4->mUnk_08, ItemFlag_Shield)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_RedPotion:
|
||||
case ItemId_PurplePotion:
|
||||
case ItemId_YellowPotion:
|
||||
if (pIVar4->func_ov000_020a8948()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_TenPriceCard:
|
||||
if (gpMiscAdvManager->GotMaxPriceCards()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_DemonFossil:
|
||||
case ItemId_StalfosSkull:
|
||||
case ItemId_StarFragment:
|
||||
case ItemId_BeeLarvae:
|
||||
case ItemId_WoodHeart:
|
||||
case ItemId_DarkPearlLoop:
|
||||
case ItemId_WhitePearlLoop:
|
||||
case ItemId_RutoCrown:
|
||||
case ItemId_DragonScale:
|
||||
case ItemId_PirateNecklace:
|
||||
case ItemId_PalaceDish:
|
||||
case ItemId_GoronAmber:
|
||||
case ItemId_MysticJade:
|
||||
case ItemId_AncientCoin:
|
||||
if (data_ov000_020b6510->func_ov000_020a9ca4(this->mItemId - ItemId_DemonFossil)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_PricelessStone:
|
||||
case ItemId_RegalRing:
|
||||
return false;
|
||||
case ItemId_HeartContainer:
|
||||
if (this->mUnk_5C.mParams[3] == 5) {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_10F)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_10E)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_BombsRefill:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bombs)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
u8 amount = pIVar4->mBombAmount;
|
||||
if (amount >= pIVar4->func_ov000_020a8748()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_ArrowsRefill:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bow)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
u8 amount = pIVar4->mArrowAmount;
|
||||
if (amount >= pIVar4->func_ov000_020a8728()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bow)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_BoughtGoronShopQuiver)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_BombBag:
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_BoughtBombBagFromBeedle)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d570(unk32 param1) {
|
||||
ItemManager *pIVar4 = data_027e0ce0->mUnk_2C;
|
||||
|
||||
switch (this->mItemId) {
|
||||
case ItemId_NormalShield:
|
||||
break;
|
||||
case ItemId_RedPotion:
|
||||
break;
|
||||
case ItemId_PurplePotion:
|
||||
break;
|
||||
case ItemId_YellowPotion:
|
||||
break;
|
||||
case ItemId_TenPriceCard:
|
||||
break;
|
||||
case ItemId_DemonFossil:
|
||||
case ItemId_StalfosSkull:
|
||||
case ItemId_StarFragment:
|
||||
case ItemId_BeeLarvae:
|
||||
case ItemId_WoodHeart:
|
||||
case ItemId_DarkPearlLoop:
|
||||
case ItemId_WhitePearlLoop:
|
||||
case ItemId_RutoCrown:
|
||||
case ItemId_DragonScale:
|
||||
case ItemId_PirateNecklace:
|
||||
case ItemId_PalaceDish:
|
||||
case ItemId_GoronAmber:
|
||||
case ItemId_MysticJade:
|
||||
case ItemId_AncientCoin:
|
||||
case ItemId_PricelessStone:
|
||||
case ItemId_RegalRing:
|
||||
this->mUnk_2D3 = true;
|
||||
break;
|
||||
case ItemId_HeartContainer:
|
||||
if (this->mUnk_5C.mParams[3] == 5) {
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_10F);
|
||||
} else {
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_10E);
|
||||
}
|
||||
|
||||
this->mUnk_2D3 = true;
|
||||
break;
|
||||
case ItemId_BombsRefill:
|
||||
pIVar4->func_ov000_020a8820(10);
|
||||
break;
|
||||
case ItemId_ArrowsRefill:
|
||||
pIVar4->func_ov000_020a87ec(10);
|
||||
break;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_BoughtGoronShopQuiver);
|
||||
this->mUnk_2D3 = true;
|
||||
break;
|
||||
case ItemId_BombBag:
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_BoughtBombBagFromBeedle);
|
||||
this->mUnk_2D3 = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (param1 == 0) {
|
||||
pIVar4->GiveRupees(-this->func_ov036_0211cddc(), false, false);
|
||||
}
|
||||
}
|
||||
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d75c(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d774(void) {}
|
||||
ARM void ActorUnkSHIT::func_ov036_0211d790(void) {}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
#include "Actor/ActorUnkKEYN.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileUnkKEYN);
|
||||
|
||||
@@ -38,7 +40,21 @@ ARM void ActorUnkKEYN::func_ov070_02141fbc(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_02142014(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_021420a4(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_021420d8(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_02142140(void) {}
|
||||
|
||||
ARM void ActorUnkKEYN::func_ov070_02142140(void) {
|
||||
if (this->mUnk_50 < this->mUnk_52) {
|
||||
this->mUnk_50++;
|
||||
}
|
||||
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
if (data_027e0d34->TryItemGive(this->mItemId)) {
|
||||
this->func_ov000_02098a88(0, 1);
|
||||
this->Kill();
|
||||
this->func_ov000_020984f0();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ARM void ActorUnkKEYN::func_ov070_021421bc(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_021421e8(void) {}
|
||||
ARM void ActorUnkKEYN::func_ov070_021421ec(void) {}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
#include "Actor/ActorUnkSZKU.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileUnkSZKU);
|
||||
|
||||
@@ -35,7 +37,21 @@ ARM void ActorUnkSZKU::func_ov071_0215fe54(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_0215fe94(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_0215fed4(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_0215ff08(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_0215ff3c(void) {}
|
||||
|
||||
ARM void ActorUnkSZKU::func_ov071_0215ff3c(void) {
|
||||
if (this->mUnk_50 < this->mUnk_52) {
|
||||
this->mUnk_50++;
|
||||
}
|
||||
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
if (data_027e0d34->TryItemGive(this->mItemId)) {
|
||||
this->func_ov000_02098a88(0, 1);
|
||||
this->Kill();
|
||||
this->func_ov000_020984f0();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ARM void ActorUnkSZKU::func_ov071_0215ffb8(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_0215ffbc(void) {}
|
||||
ARM void ActorUnkSZKU::func_ov071_02160000(void) {}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "MapObject/MapObjectUnkWDST.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
ARM DECL_PROFILE(MapObjectProfileUnkWDST);
|
||||
|
||||
@@ -19,7 +22,17 @@ ARM void MapObjectUnkWDST::func_ov094_02171e58(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02171e9c(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02171fbc(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172030(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172290(void) {}
|
||||
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172290(void) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
if (this->mUnk_B8 != 2) {
|
||||
data_027e0d34->TryItemGive(this->mUnk_B8 + ItemId_PanFluteSong_101);
|
||||
}
|
||||
|
||||
this->func_ov094_02172c94(5);
|
||||
}
|
||||
}
|
||||
|
||||
ARM void MapObjectUnkWDST::func_ov094_021722e0(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_021722f4(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_021726a0(void) {}
|
||||
@@ -32,7 +45,7 @@ ARM void MapObjectUnkWDST::func_ov094_02172a44(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172ae0(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172af4(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172bfc(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172c94(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02172c94(unk32 param1) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_0217310c(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_021731e4(void) {}
|
||||
ARM void MapObjectUnkWDST::func_ov094_02173464(void) {}
|
||||
|
||||
+375
-127
@@ -3,6 +3,8 @@
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/ActorUnkNSHD.hpp"
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "MapObject/MapObjectChestBase.hpp"
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Player/PlayerGet.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
@@ -13,11 +15,13 @@
|
||||
#include "Unknown/UnkStruct_027e09bc.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cf8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51c0.hpp"
|
||||
#include "versions.h"
|
||||
|
||||
#include <nitro/math.h>
|
||||
|
||||
struct UnkStruct_02186240 {
|
||||
@@ -26,6 +30,9 @@ struct UnkStruct_02186240 {
|
||||
};
|
||||
UnkStruct_02186240 data_ov110_02186240;
|
||||
|
||||
extern const char *data_ov000_020aa240; // .nsbtx
|
||||
extern const char *data_ov000_020aa248; // .nsbmd
|
||||
|
||||
extern "C" void func_ov000_0205ca74(unk32);
|
||||
extern "C" void func_01ffb6e4(unk32, const void *, void *);
|
||||
extern "C" void func_01ffc5a0(UnkSystem4 *, unk32, u16, void *, unk32);
|
||||
@@ -33,18 +40,15 @@ extern "C" void func_ov000_0208f820();
|
||||
extern "C" unk32 func_ov024_020d5354(unk32 *, u16 *);
|
||||
extern "C" void func_ov000_02058fc4(unk32 *, UnkStruct_PlayerGet_74 *, Vec3p *);
|
||||
extern unk32 *data_027e0958;
|
||||
extern "C" void func_ov024_020d6370(unk32 *, ItemId);
|
||||
extern unk32 *data_ov024_020d86b0;
|
||||
extern "C" void func_ov000_0208ba10(char *, void *, unk32);
|
||||
extern "C" unk32 func_ov000_020a4c00(ItemId itemId);
|
||||
extern "C" void func_02015ea8(unk32, unk16 *);
|
||||
extern "C" void func_ov000_0208ba10(void *, void *, unk32);
|
||||
extern "C" void func_02015ea8(unk32, void *);
|
||||
extern "C" void func_02015628(char *, char *, unk32, void *, size_t);
|
||||
extern "C" void func_02015664(char *, unk32);
|
||||
extern "C" void func_020156c8(char *, char *, unk32);
|
||||
extern "C" void func_020156f4(char *);
|
||||
extern "C" void func_02015644(char *);
|
||||
|
||||
extern "C" UnkResourceStruct *func_ov000_0205abcc(char *, char *, unk32, unk32, unk32);
|
||||
extern "C" UnkResourceStruct *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32);
|
||||
extern "C" unk32 func_ov000_02077590(unk32);
|
||||
|
||||
static const unk32 data_ov110_02185dc4[1] = {8};
|
||||
@@ -56,14 +60,17 @@ static const UnkStruct_ov110_02185dc8 data_ov110_02185dc8[] = {
|
||||
{ItemId_AncientShield, ItemFlag_AncientShield}, {ItemId_PanFlute, ItemFlag_PanFlute},
|
||||
};
|
||||
|
||||
// non-matching
|
||||
ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
s16 itemFlag_s16;
|
||||
ItemFlag itemFlag;
|
||||
ItemFlag temp_r0_5;
|
||||
u32 temp_r2;
|
||||
u32 i;
|
||||
static inline s16 GetItemFlag(ItemId itemId) {
|
||||
for (u32 i = 0; i < ARRAY_LEN(data_ov110_02185dc8); i++) {
|
||||
if (itemId == data_ov110_02185dc8[i].mItemId) {
|
||||
return data_ov110_02185dc8[i].mItemFlag;
|
||||
}
|
||||
}
|
||||
|
||||
return ItemFlag_None;
|
||||
}
|
||||
|
||||
ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
switch (itemId) {
|
||||
case ItemId_NormalKey:
|
||||
this->func_ov000_020a87c8(1);
|
||||
@@ -128,7 +135,7 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
itemFlag = ItemManager::func_ov000_020a8984(itemId);
|
||||
ItemFlag itemFlag = ItemManager::func_ov000_020a8984(itemId);
|
||||
|
||||
if (itemFlag != ItemFlag_None) {
|
||||
this->func_ov000_020a863c(itemFlag);
|
||||
@@ -148,35 +155,28 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
|
||||
if (this->mEquippedItem == ItemFlag_None) {
|
||||
this->mEquippedItem = itemFlag;
|
||||
data_ov024_020d8698->func_ov024_020cd458(itemFlag, 0);
|
||||
data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, 0);
|
||||
}
|
||||
} else {
|
||||
itemFlag_s16 = ItemFlag_None;
|
||||
itemFlag = GetItemFlag(itemId);
|
||||
|
||||
for (i = 0; i < ARRAY_LEN(data_ov110_02185dc8); i++) {
|
||||
if (itemId == data_ov110_02185dc8[i].mItemId) {
|
||||
itemFlag_s16 = data_ov110_02185dc8[i].mItemFlag;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (itemFlag_s16 != ItemFlag_None) {
|
||||
this->func_ov000_020a863c(itemFlag_s16);
|
||||
if (itemFlag != ItemFlag_None) {
|
||||
this->func_ov000_020a863c(itemFlag);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
temp_r0_5 = ItemManager::func_ov110_02185db4(itemId);
|
||||
AdventureFlag advFlag = ItemManager::GetAdvFlagFromItem(itemId);
|
||||
|
||||
if (temp_r0_5 != 0) {
|
||||
temp_r0_5 &= 0xFFFF;
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, temp_r0_5);
|
||||
if (advFlag != AdventureFlag_Nothing) {
|
||||
advFlag &= 0xFFFF;
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, advFlag);
|
||||
}
|
||||
|
||||
data_027e0ce0->mUnk_34->func_ov110_02185d3c(itemId);
|
||||
data_ov000_020b6510->func_ov000_020aa0ac(itemId);
|
||||
func_ov024_020d6370(data_ov024_020d86b0, itemId);
|
||||
gpMiscAdvManager->GiveLetterOrPriceCard(itemId);
|
||||
|
||||
if (!GET_FLAG(this->mUnk_08, ItemFlag_LokomoSword) && itemId == ItemId_TearLight &&
|
||||
this->mTearsAmount == MAX_TEARS_OF_LIGHT && (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower)) {
|
||||
@@ -186,29 +186,246 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static const unk32 data_ov110_02185de8[] = {
|
||||
0x30001, 0x30002, 0xB00D6, 0x8007A, 0x30003, 0x8007B, 0x8007C, 0x8007D, 0x8007E, 0x30004, 0x30005, 0x30006, 0x30007,
|
||||
0x30008, 0x30009, 0x3000A, 0x3000B, 0x3000C, 0x3000D, 0x3000E, 0x3000F, 0xD0000, 0xD0001, 0xD0002, 0xD0003, 0xF00EB,
|
||||
0x100000, 0x110000, 0x1C008E, 0x1E0048, 0x30010, 0x30011, 0x30012, 0x30013, 0x30014, 0x30015, 0x30016, 0x30017, 0xB00D7,
|
||||
0x30018, 0x30019, 0x3001A, 0x3001B, 0x3001C, 0x3001D, 0x3001E, 0x3001F, 0x30020, 0x30021, 0x30022, 0x30023, 0x30024,
|
||||
0x30025, 0x30026, 0x30027, 0x30028, 0x30029, 0x3002A, 0x3002B, 0x3002C, 0x3002D, 0x3002E, 0x3002F, 0x1400F7, 0x8007F,
|
||||
0x30030, 0x30031, 0x30032, 0x30033, 0x30034, 0x30035, 0x30036, 0x30037, 0x30038, 0x30039, 0x3003A, 0x3003B, 0x3003C,
|
||||
0x3003D, 0x3003E, 0x3003F, 0x30040, 0x30041, 0x30042, 0x30043, 0x30044, 0x30045, 0x30046, 0x30047, 0x1400F8, 0x30048,
|
||||
0x30049, 0x3004A, 0x3004B, 0x3004C, 0x3004D, 0xD0004, 0xD0005, 0x3004E, 0x3004F, 0x1400F9, 0xF00EC, 0x80080, 0x110001,
|
||||
0x1400FA, 0x100001, 0x30050, 0x30051, 0x30052, 0x30053, 0x30054, 0x30055, 0x30056, 0x30057, 0x30058, 0x030059, 0x3005A,
|
||||
// BMG IDs
|
||||
static const u32 sBMGItemMap[] = {
|
||||
BMG_ID(BMGGroup_maingame, 0x01), // ItemId_Nothing
|
||||
BMG_ID(BMGGroup_maingame, 0x02), // ItemId_NormalShield
|
||||
BMG_ID(BMGGroup_castle, 0xD6), // ItemId_NormalSword
|
||||
BMG_ID(BMGGroup_dungeon, 0x7A), // ItemId_Whirlwind
|
||||
BMG_ID(BMGGroup_maingame, 0x03), // ItemId_BombBag
|
||||
BMG_ID(BMGGroup_dungeon, 0x7B), // ItemId_NormalBow
|
||||
BMG_ID(BMGGroup_dungeon, 0x7C), // ItemId_Boomerang
|
||||
BMG_ID(BMGGroup_dungeon, 0x7D), // ItemId_Whip
|
||||
BMG_ID(BMGGroup_dungeon, 0x7E), // ItemId_SandRod
|
||||
BMG_ID(BMGGroup_maingame, 0x04), // ItemId_9
|
||||
BMG_ID(BMGGroup_maingame, 0x05), // ItemId_NormalKey
|
||||
BMG_ID(BMGGroup_maingame, 0x06), // ItemId_BossKey
|
||||
BMG_ID(BMGGroup_maingame, 0x07), // ItemId_GreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x08), // ItemId_BlueRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x09), // ItemId_RedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0A), // ItemId_BigGreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0B), // ItemId_BigRedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0C), // ItemId_BigGoldRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0D), // ItemId_ForceGem_18
|
||||
BMG_ID(BMGGroup_maingame, 0x0E), // ItemId_ForceGem_19
|
||||
BMG_ID(BMGGroup_maingame, 0x0F), // ItemId_ForceGem_20
|
||||
BMG_ID(BMGGroup_tower, 0x00), // ItemId_ForestGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x01), // ItemId_SnowGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x02), // ItemId_OceanGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x03), // ItemId_FireGlyph
|
||||
BMG_ID(BMGGroup_forest, 0xEB), // ItemId_25
|
||||
BMG_ID(BMGGroup_snow, 0x00), // ItemId_26
|
||||
BMG_ID(BMGGroup_water, 0x00), // ItemId_27
|
||||
BMG_ID(BMGGroup_flame_fld, 0x8E), // ItemId_28
|
||||
BMG_ID(BMGGroup_desert, 0x48), // ItemId_29
|
||||
BMG_ID(BMGGroup_maingame, 0x10), // ItemId_FinalTrack
|
||||
BMG_ID(BMGGroup_maingame, 0x11), // ItemId_31
|
||||
BMG_ID(BMGGroup_maingame, 0x12), // ItemId_32
|
||||
BMG_ID(BMGGroup_maingame, 0x13), // ItemId_33
|
||||
BMG_ID(BMGGroup_maingame, 0x14), // ItemId_34
|
||||
BMG_ID(BMGGroup_maingame, 0x15), // ItemId_ForceGem_35
|
||||
BMG_ID(BMGGroup_maingame, 0x16), // ItemId_ForceGem_36
|
||||
BMG_ID(BMGGroup_maingame, 0x17), // ItemId_ForceGem_37
|
||||
BMG_ID(BMGGroup_castle, 0xD7), // ItemId_RecruitUniform
|
||||
BMG_ID(BMGGroup_maingame, 0x18), // ItemId_PostmasterLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x19), // ItemId_HeartContainer
|
||||
BMG_ID(BMGGroup_maingame, 0x1A), // ItemId_QuiverMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1B), // ItemId_BombBagMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1C), // ItemId_ForceGem_43
|
||||
BMG_ID(BMGGroup_maingame, 0x1D), // ItemId_ForceGem_44
|
||||
BMG_ID(BMGGroup_maingame, 0x1E), // ItemId_ForceGem_45
|
||||
BMG_ID(BMGGroup_maingame, 0x1F), // ItemId_ForceGem_46
|
||||
BMG_ID(BMGGroup_maingame, 0x20), // ItemId_ForceGem_47
|
||||
BMG_ID(BMGGroup_maingame, 0x21), // ItemId_ForceGem_48
|
||||
BMG_ID(BMGGroup_maingame, 0x22), // ItemId_ForceGem_49
|
||||
BMG_ID(BMGGroup_maingame, 0x23), // ItemId_ForceGem_50
|
||||
BMG_ID(BMGGroup_maingame, 0x24), // ItemId_ForceGem_51
|
||||
BMG_ID(BMGGroup_maingame, 0x25), // ItemId_ForceGem_52
|
||||
BMG_ID(BMGGroup_maingame, 0x26), // ItemId_ForceGem_53
|
||||
BMG_ID(BMGGroup_maingame, 0x27), // ItemId_ForceGem_54
|
||||
BMG_ID(BMGGroup_maingame, 0x28), // ItemId_ForceGem_55
|
||||
BMG_ID(BMGGroup_maingame, 0x29), // ItemId_ForceGem_56
|
||||
BMG_ID(BMGGroup_maingame, 0x2A), // ItemId_ForceGem_57
|
||||
BMG_ID(BMGGroup_maingame, 0x2B), // ItemId_ForceGem_58
|
||||
BMG_ID(BMGGroup_maingame, 0x2C), // ItemId_ForceGem_59
|
||||
BMG_ID(BMGGroup_maingame, 0x2D), // ItemId_ForceGem_60
|
||||
BMG_ID(BMGGroup_maingame, 0x2E), // ItemId_ForceGem_61
|
||||
BMG_ID(BMGGroup_maingame, 0x2F), // ItemId_PanFlute
|
||||
BMG_ID(BMGGroup_village, 0xF7), // ItemId_StampBook
|
||||
BMG_ID(BMGGroup_dungeon, 0x7F), // ItemId_LightBow
|
||||
BMG_ID(BMGGroup_maingame, 0x30), // ItemId_LokomoSword
|
||||
BMG_ID(BMGGroup_maingame, 0x31), // ItemId_TenPriceCard
|
||||
BMG_ID(BMGGroup_maingame, 0x32), // ItemId_RedPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x33), // ItemId_PurplePotion
|
||||
BMG_ID(BMGGroup_maingame, 0x34), // ItemId_YellowPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x35), // ItemId_DemonFossil
|
||||
BMG_ID(BMGGroup_maingame, 0x36), // ItemId_StalfosSkull
|
||||
BMG_ID(BMGGroup_maingame, 0x37), // ItemId_StarFragment
|
||||
BMG_ID(BMGGroup_maingame, 0x38), // ItemId_BeeLarvae
|
||||
BMG_ID(BMGGroup_maingame, 0x39), // ItemId_WoodHeart
|
||||
BMG_ID(BMGGroup_maingame, 0x3A), // ItemId_DarkPearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3B), // ItemId_WhitePearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3C), // ItemId_RutoCrown
|
||||
BMG_ID(BMGGroup_maingame, 0x3D), // ItemId_DragonScale
|
||||
BMG_ID(BMGGroup_maingame, 0x3E), // ItemId_PirateNecklace
|
||||
BMG_ID(BMGGroup_maingame, 0x3F), // ItemId_PalaceDish
|
||||
BMG_ID(BMGGroup_maingame, 0x40), // ItemId_GoronAmber
|
||||
BMG_ID(BMGGroup_maingame, 0x41), // ItemId_MysticJade
|
||||
BMG_ID(BMGGroup_maingame, 0x42), // ItemId_AncientCoin
|
||||
BMG_ID(BMGGroup_maingame, 0x43), // ItemId_PricelessStone
|
||||
BMG_ID(BMGGroup_maingame, 0x44), // ItemId_RegalRing
|
||||
BMG_ID(BMGGroup_maingame, 0x45), // ItemId_ArrowsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x46), // ItemId_BombsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x47), // ItemId_SoldOutSign
|
||||
BMG_ID(BMGGroup_village, 0xF8), // ItemId_AncientShield
|
||||
BMG_ID(BMGGroup_maingame, 0x48), // ItemId_QuiverLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x49), // ItemId_BombBagLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x4A), // ItemId_RandCommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4B), // ItemId_RandUncommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4C), // ItemId_RandRareTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4D), // ItemId_RandLegendaryTreasure
|
||||
BMG_ID(BMGGroup_tower, 0x04), // ItemId_TearLight
|
||||
BMG_ID(BMGGroup_tower, 0x05), // ItemId_LightCompass
|
||||
BMG_ID(BMGGroup_maingame, 0x4E), // ItemId_ScrollSpinAttack
|
||||
BMG_ID(BMGGroup_maingame, 0x4F), // ItemId_ScrollBeam
|
||||
BMG_ID(BMGGroup_village, 0xF9), // ItemId_LinebeckLetter
|
||||
BMG_ID(BMGGroup_forest, 0xEC), // ItemId_PanFluteSong_101
|
||||
BMG_ID(BMGGroup_dungeon, 0x80), // ItemId_PanFluteSong_102
|
||||
BMG_ID(BMGGroup_water, 0x01), // ItemId_PanFluteSong_103
|
||||
BMG_ID(BMGGroup_village, 0xFA), // ItemId_PanFluteSong_104
|
||||
BMG_ID(BMGGroup_snow, 0x01), // ItemId_PanFluteSong_105
|
||||
BMG_ID(BMGGroup_maingame, 0x50), // ItemId_RabbitNet
|
||||
BMG_ID(BMGGroup_maingame, 0x51), // ItemId_BeedleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x52), // ItemId_SilverCard
|
||||
BMG_ID(BMGGroup_maingame, 0x53), // ItemId_GoldCard
|
||||
BMG_ID(BMGGroup_maingame, 0x54), // ItemId_PlatinumCard
|
||||
BMG_ID(BMGGroup_maingame, 0x55), // ItemId_DiamondCard
|
||||
BMG_ID(BMGGroup_maingame, 0x56), // ItemId_FreebieCard
|
||||
BMG_ID(BMGGroup_maingame, 0x57), // ItemId_QuintupleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x58), // ItemId_CarbenLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x59), // ItemId_RecruitUniform2
|
||||
BMG_ID(BMGGroup_maingame, 0x5A), // ItemId_EngineerUniform
|
||||
};
|
||||
|
||||
static const unk32 data_ov110_02185fbc[] = {
|
||||
0x000, 0x000, 0x003, 0x000, 0x000, 0x1A3, 0x000, 0x27B, 0x0CB, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
|
||||
0x000, 0x076, 0x077, 0x078, 0x00F, 0x010, 0x011, 0x012, 0x008, 0x009, 0x00A, 0x00B, 0x00C, 0x00D, 0x002, 0x01F, 0x020,
|
||||
0x021, 0x079, 0x07A, 0x07B, 0x000, 0x000, 0x000, 0x000, 0x000, 0x068, 0x069, 0x06A, 0x06B, 0x06C, 0x06D, 0x06E, 0x06F,
|
||||
0x070, 0x071, 0x072, 0x073, 0x074, 0x075, 0x0A6, 0x0A7, 0x0A8, 0x0A9, 0x0AA, 0x000, 0x000, 0x0B0, 0x0B1,
|
||||
};
|
||||
|
||||
static const unk32 data_ov110_021860c4[] = {
|
||||
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
|
||||
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x12D, 0x000, 0x000,
|
||||
0x03C, 0x000, 0x000, 0x000, 0x000, 0x000, 0x0D6, 0x194, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x046, 0x000, 0x000,
|
||||
// Adventure Flags
|
||||
static const AdventureFlag sAdvFlagItemMap[] = {
|
||||
AdventureFlag_Nothing, // ItemId_Nothing
|
||||
AdventureFlag_Nothing, // ItemId_NormalShield
|
||||
AdventureFlag_ObtainedRecruitSword, // ItemId_NormalSword
|
||||
AdventureFlag_Nothing, // ItemId_Whirlwind
|
||||
AdventureFlag_Nothing, // ItemId_BombBag
|
||||
AdventureFlag_ObtainedBowAndArrows, // ItemId_NormalBow
|
||||
AdventureFlag_Nothing, // ItemId_Boomerang
|
||||
AdventureFlag_ObtainedWhip, // ItemId_Whip
|
||||
AdventureFlag_ObtainedSandWand, // ItemId_SandRod
|
||||
AdventureFlag_Nothing, // ItemId_9
|
||||
AdventureFlag_Nothing, // ItemId_NormalKey
|
||||
AdventureFlag_Nothing, // ItemId_BossKey
|
||||
AdventureFlag_Nothing, // ItemId_GreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BlueRupee
|
||||
AdventureFlag_Nothing, // ItemId_RedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigRedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGoldRupee
|
||||
AdventureFlag_ObtainedWadatsumiForceGem, // ItemId_ForceGem_18
|
||||
AdventureFlag_ObtainedNiboshiForceGem, // ItemId_ForceGem_19
|
||||
AdventureFlag_ObtainedGoronAdultMegaIceForceGem, // ItemId_ForceGem_20
|
||||
AdventureFlag_ObtainedForestGlyph, // ItemId_ForestGlyph
|
||||
AdventureFlag_ObtainedSnowGlyph, // ItemId_SnowGlyph
|
||||
AdventureFlag_ObtainedOceanGlyph, // ItemId_OceanGlyph
|
||||
AdventureFlag_ObtainedFireGlyph, // ItemId_FireGlyph
|
||||
AdventureFlag_CompletedForestRestorationSong, // ItemId_25
|
||||
AdventureFlag_CompletedOceanRestorationSong, // ItemId_26
|
||||
AdventureFlag_CompletedSnowRestorationSong, // ItemId_27
|
||||
AdventureFlag_CompletedFireRestorationSong, // ItemId_28
|
||||
AdventureFlag_CompletedSandRestorationSong, // ItemId_29
|
||||
AdventureFlag_OpenedDarkRealmPortal, // ItemId_FinalTrack
|
||||
AdventureFlag_ObtainedSpiritTrain, // ItemId_31
|
||||
AdventureFlag_ObtainedTrainCannon, // ItemId_32
|
||||
AdventureFlag_Unk_020, // ItemId_33
|
||||
AdventureFlag_ObtainedTrainWagon, // ItemId_34
|
||||
AdventureFlag_ObtainedFerrusForceGem2, // ItemId_ForceGem_35
|
||||
AdventureFlag_ObtainedKofuForceGem, // ItemId_ForceGem_36
|
||||
AdventureFlag_ObtainedChildGoronForceGem, // ItemId_ForceGem_37
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform
|
||||
AdventureFlag_Nothing, // ItemId_PostmasterLetter
|
||||
AdventureFlag_Nothing, // ItemId_HeartContainer
|
||||
AdventureFlag_Nothing, // ItemId_QuiverMedium
|
||||
AdventureFlag_Nothing, // ItemId_BombBagMedium
|
||||
AdventureFlag_ObtainedLuciaForceGem, // ItemId_ForceGem_43
|
||||
AdventureFlag_ObtainedOrcaForceGem, // ItemId_ForceGem_44
|
||||
AdventureFlag_ObtainedCarbenForceGem, // ItemId_ForceGem_45
|
||||
AdventureFlag_ObtainedRaelForceGem, // ItemId_ForceGem_46
|
||||
AdventureFlag_ObtainedJoeForceGem, // ItemId_ForceGem_47
|
||||
AdventureFlag_ObtainedMonaForceGem, // ItemId_ForceGem_48
|
||||
AdventureFlag_ObtainedHarryForceGem, // ItemId_ForceGem_49
|
||||
AdventureFlag_ObtainedMashForceGem, // ItemId_ForceGem_50
|
||||
AdventureFlag_ObtainedFerrusForceGem1, // ItemId_ForceGem_51
|
||||
AdventureFlag_ObtainedYekoForceGem, // ItemId_ForceGem_52
|
||||
AdventureFlag_ObtainedNokoForceGem, // ItemId_ForceGem_53
|
||||
AdventureFlag_ObtainedGoronAdultAnoukiForceGem, // ItemId_ForceGem_54
|
||||
AdventureFlag_ObtainedSteemForceGem, // ItemId_ForceGem_55
|
||||
AdventureFlag_ObtainedLinebeckForceGem, // ItemId_ForceGem_56
|
||||
AdventureFlag_ObtainedAnjeanDesertForceGem, // ItemId_ForceGem_57
|
||||
AdventureFlag_Unk_0A7, // ItemId_ForceGem_58
|
||||
AdventureFlag_Unk_0A8, // ItemId_ForceGem_59
|
||||
AdventureFlag_Unk_0A9, // ItemId_ForceGem_60
|
||||
AdventureFlag_Unk_0AA, // ItemId_ForceGem_61
|
||||
AdventureFlag_Nothing, // ItemId_PanFlute
|
||||
AdventureFlag_Nothing, // ItemId_StampBook
|
||||
AdventureFlag_ObtainedBowOfLight, // ItemId_LightBow
|
||||
AdventureFlag_Unk_0B1, // ItemId_LokomoSword
|
||||
AdventureFlag_Nothing, // ItemId_TenPriceCard
|
||||
AdventureFlag_Nothing, // ItemId_RedPotion
|
||||
AdventureFlag_Nothing, // ItemId_PurplePotion
|
||||
AdventureFlag_Nothing, // ItemId_YellowPotion
|
||||
AdventureFlag_Nothing, // ItemId_DemonFossil
|
||||
AdventureFlag_Nothing, // ItemId_StalfosSkull
|
||||
AdventureFlag_Nothing, // ItemId_StarFragment
|
||||
AdventureFlag_Nothing, // ItemId_BeeLarvae
|
||||
AdventureFlag_Nothing, // ItemId_WoodHeart
|
||||
AdventureFlag_Nothing, // ItemId_DarkPearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_WhitePearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_RutoCrown
|
||||
AdventureFlag_Nothing, // ItemId_DragonScale
|
||||
AdventureFlag_Nothing, // ItemId_PirateNecklace
|
||||
AdventureFlag_Nothing, // ItemId_PalaceDish
|
||||
AdventureFlag_Nothing, // ItemId_GoronAmber
|
||||
AdventureFlag_Nothing, // ItemId_MysticJade
|
||||
AdventureFlag_Nothing, // ItemId_AncientCoin
|
||||
AdventureFlag_Nothing, // ItemId_PricelessStone
|
||||
AdventureFlag_Nothing, // ItemId_RegalRing
|
||||
AdventureFlag_Nothing, // ItemId_ArrowsRefill
|
||||
AdventureFlag_Nothing, // ItemId_BombsRefill
|
||||
AdventureFlag_Nothing, // ItemId_SoldOutSign
|
||||
AdventureFlag_Nothing, // ItemId_AncientShield
|
||||
AdventureFlag_Nothing, // ItemId_QuiverLarge
|
||||
AdventureFlag_Nothing, // ItemId_BombBagLarge
|
||||
AdventureFlag_Nothing, // ItemId_RandCommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandUncommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandRareTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandLegendaryTreasure
|
||||
AdventureFlag_Nothing, // ItemId_TearLight
|
||||
AdventureFlag_ObtainedCompassOfLight, // ItemId_LightCompass
|
||||
AdventureFlag_Nothing, // ItemId_ScrollSpinAttack
|
||||
AdventureFlag_Nothing, // ItemId_ScrollBeam
|
||||
AdventureFlag_ObtainedLinebecksLetter, // ItemId_LinebeckLetter
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_101
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_102
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_103
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_104
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_105
|
||||
AdventureFlag_ObtainedRabbitNet, // ItemId_RabbitNet
|
||||
AdventureFlag_ObtainedBeedlePointsCard, // ItemId_BeedleCard
|
||||
AdventureFlag_Unk_18E, // ItemId_SilverCard
|
||||
AdventureFlag_Unk_18F, // ItemId_GoldCard
|
||||
AdventureFlag_Unk_190, // ItemId_PlatinumCard
|
||||
AdventureFlag_Unk_191, // ItemId_DiamondCard
|
||||
AdventureFlag_ObtainedBeedleFreebieCard, // ItemId_FreebieCard
|
||||
AdventureFlag_ObtainedBeedleQuintuplePointsCard, // ItemId_QuintupleCard
|
||||
AdventureFlag_ReceivedCarbensLetter, // ItemId_CarbenLetter
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform2
|
||||
AdventureFlag_Nothing, // ItemId_EngineerUniform
|
||||
};
|
||||
|
||||
// non-matching
|
||||
@@ -243,9 +460,9 @@ ARM PlayerGet::~PlayerGet() {
|
||||
|
||||
UnkStruct_ov000_0208f820_28_98 *pUnk_28_98 = this->mUnk_28->mUnk_98;
|
||||
if (pUnk_28_98 != 0) {
|
||||
pUnk_28_98->mUnk_40 &= ~0x10;
|
||||
pUnk_28_98->mUnk_38.mUnk_40 &= ~0x10;
|
||||
|
||||
if (pUnk_28_98->mUnk_40 == 0) {
|
||||
if (pUnk_28_98->mUnk_38.mUnk_40 == 0) {
|
||||
// real?
|
||||
pUnk_28_98->mUnk_38.~UnkStruct_PlayerGet_64();
|
||||
}
|
||||
@@ -273,24 +490,25 @@ ARM bool PlayerGet::func_ov110_02186b8c() {
|
||||
}
|
||||
#endif
|
||||
|
||||
// https://decomp.me/scratch/ZAW2N
|
||||
ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
ItemManager *pItemManager;
|
||||
ItemId itemId;
|
||||
ItemManager *pItemManager;
|
||||
Actor *iVar10;
|
||||
Vec3p *pUnk_38;
|
||||
Vec3p *pUnk_3c;
|
||||
char auStack_108[12];
|
||||
Vec3p VStack_fc;
|
||||
unk32 uStack_f0[4];
|
||||
unk32 auStack_30[5];
|
||||
|
||||
switch (param1->mUnk_04) {
|
||||
case 0x39:
|
||||
*(u32 *) this->mUnk_54.mUnk_00 = param1->mUnk_10.x;
|
||||
*(u32 *) this->mUnk_54.mUnk_04 = param1->mUnk_10.y;
|
||||
this->mUnk_54.mUnk_08 = param1->mUnk_10.z;
|
||||
pItemManager = this->mUnk_28->pItemManager;
|
||||
itemId = param1->mUnk_1C;
|
||||
Vec3p temp;
|
||||
itemId = param1->mUnk_1C;
|
||||
temp.x = param1->mUnk_10.x;
|
||||
temp.y = param1->mUnk_10.y;
|
||||
temp.z = param1->mUnk_10.z;
|
||||
this->mUnk_54.mUnk_08 = temp.z;
|
||||
this->mUnk_54.mUnk_00_s32 = temp.x;
|
||||
this->mUnk_54.mUnk_04_s32 = temp.y;
|
||||
pItemManager = this->mUnk_28->pItemManager;
|
||||
|
||||
switch (itemId) {
|
||||
case ItemId_BombBag:
|
||||
@@ -323,8 +541,9 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
this->mUnk_54.mItemId = itemId;
|
||||
this->mUnk_70 = 0;
|
||||
this->mUnk_2C->mUnk_58 = 0;
|
||||
func_ov000_0208ba10(auStack_108, &this->mUnk_24->mUnk_25, 0);
|
||||
this->mUnk_40->mUnk_00 = 0x8000;
|
||||
char auStack_108[12];
|
||||
func_ov000_0208ba10(auStack_108, &this->mUnk_24->mUnk_94, 0);
|
||||
*(s16 *) &this->mUnk_40->mUnk_00 = 0x8000;
|
||||
|
||||
pUnk_38 = this->mUnk_38;
|
||||
pUnk_38->x = 0;
|
||||
@@ -335,7 +554,7 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
pUnk_3c->y = 0;
|
||||
pUnk_3c->z = 0;
|
||||
|
||||
if (((*(u16 *) this->mUnk_54.mUnk_00 << 0x10) >> 0x1E) != 1) {
|
||||
if (((u32) (u16) this->mUnk_54.mUnk_00_s16 << 16) >> 30 != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -352,48 +571,44 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
break;
|
||||
case 0x3A:
|
||||
if (this->mUnk_54.mItemId != ItemId_Nothing) {
|
||||
if (func_ov000_020a4c00(this->mUnk_54.mItemId) == 0) {
|
||||
this->mUnk_8C.vfunc_08(0);
|
||||
} else {
|
||||
unk32 niVar10;
|
||||
u32 niVar10 = func_ov000_020a4c00(this->mUnk_54.mItemId);
|
||||
|
||||
if (niVar10 == GIModel_None) {
|
||||
this->mUnk_8C.vfunc_08(NULL);
|
||||
} else {
|
||||
if (this->mUnk_54.mItemId == ItemId_LokomoSword) {
|
||||
niVar10 = func_ov000_020a4c00(ItemId_NormalSword);
|
||||
}
|
||||
|
||||
unk16 auStack_110[2];
|
||||
unk16 acStack_a6[2];
|
||||
unk16 auStack_48[2];
|
||||
unk16 auStack_64[2];
|
||||
unk16 acStack_e0[2];
|
||||
size_t len;
|
||||
wchar_t pathBuffer[32];
|
||||
char modelPath[64];
|
||||
u16 idStr[5];
|
||||
|
||||
auStack_110[0] = 0;
|
||||
auStack_110[1] = 0;
|
||||
func_02015ea8(niVar10, auStack_110);
|
||||
acStack_a6[1] = 0;
|
||||
strncpy((char *) acStack_e0, "Player/get/", 0x39);
|
||||
len = strlen((char *) acStack_e0);
|
||||
strncpy((char *) acStack_e0 + len, (char *) auStack_110, 0x39 - len);
|
||||
auStack_64[1] = 0;
|
||||
strncpy((char *) acStack_a6, (char *) acStack_e0, 0x3f);
|
||||
len = strlen((char *) acStack_a6);
|
||||
strncpy((char *) acStack_a6 + len, ".nsbmd", 0x3f - len);
|
||||
func_02015628((char *) auStack_64, (char *) acStack_a6, 0, &data_ov110_02186240,
|
||||
sizeof(UnkStruct_02186240));
|
||||
func_02015664((char *) auStack_64, 0x10);
|
||||
strncpy((char *) acStack_a6, (char *) acStack_e0, 0x3f);
|
||||
len = strlen((char *) acStack_a6);
|
||||
strncpy((char *) acStack_a6 + len, ".nsbtx", 0x3f - len);
|
||||
func_020156c8((char *) auStack_48, (char *) acStack_a6, 0);
|
||||
idStr[0] = 0;
|
||||
idStr[1] = 0;
|
||||
func_02015ea8(niVar10, idStr);
|
||||
idStr[4] = '\0';
|
||||
|
||||
unk32 var_r1_2;
|
||||
UnkResourceStruct *ret =
|
||||
func_ov000_0205abcc((char *) auStack_64, (char *) auStack_48, 0, 1, this->mUnk_30->mUnk_24);
|
||||
strncpy((char *) pathBuffer, "Player/get/", 0x39);
|
||||
size_t l = strlen((char *) pathBuffer);
|
||||
strncpy((char *) pathBuffer + l, (char *) idStr, 0x39 - l);
|
||||
pathBuffer[31] = '\0';
|
||||
|
||||
this->mUnk_8C.vfunc_08(GetUnkPointer1_Impl(ret));
|
||||
func_020156f4((char *) auStack_48);
|
||||
func_02015644((char *) auStack_64);
|
||||
strncpy(modelPath, (char *) pathBuffer, 0x3F);
|
||||
l = strlen(modelPath);
|
||||
strncpy(modelPath + l, data_ov000_020aa248, 0x3F - l);
|
||||
|
||||
UnkFileSystem4 fs4(modelPath, 0, (unk32) &data_ov110_02186240, sizeof(UnkStruct_02186240));
|
||||
fs4.vfunc_08(0x10);
|
||||
|
||||
strncpy(modelPath, (char *) pathBuffer, 0x3F);
|
||||
l = strlen(modelPath);
|
||||
strncpy(modelPath + l, data_ov000_020aa240, 0x3F - l);
|
||||
|
||||
UnkFileSystem2 fs2(modelPath, 0);
|
||||
UnkResourceStruct *res = func_ov000_0205abcc((void *) &fs4, (void *) &fs2, 0, 1, this->mUnk_30->mUnk_24);
|
||||
|
||||
this->mUnk_8C.vfunc_08(GetUnkPointer1_Impl(res));
|
||||
}
|
||||
|
||||
switch (this->mUnk_54.mItemId) {
|
||||
@@ -409,8 +624,7 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
}
|
||||
|
||||
UnkStruct_027e09bc_0c *uVar11 = data_027e09bc->mUnk_0C;
|
||||
unk32 uVar6 = func_ov000_02077590(4);
|
||||
uVar11->func_ov000_0207834c(this->mUnk_34, uVar6, 0);
|
||||
uVar11->func_ov000_0207834c(this->mUnk_34, func_ov000_02077590(4), 0);
|
||||
|
||||
UnkStruct_PlayerGet_48 *pUnk_48 = this->mUnk_48;
|
||||
pUnk_48->mUnk_42 = 0x1000;
|
||||
@@ -418,19 +632,48 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
pUnk_48->mUnk_5E = 0x1000;
|
||||
pUnk_48->mUnk_63 = 0;
|
||||
|
||||
if (this->mUnk_44 != NULL) {
|
||||
if (this->mUnk_44->mUnk_00 != NULL) {
|
||||
this->mUnk_64.func_ov000_0208a100();
|
||||
}
|
||||
|
||||
// pUnk24 = this->mUnk_24;
|
||||
bool bVar8;
|
||||
bool var_r1_4 = 0;
|
||||
void **temp_r5_2 = this->mUnk_24->mUnk_78;
|
||||
if (temp_r5_2 != NULL) {
|
||||
u16 temp_r6 = *(u16 *) temp_r5_2;
|
||||
bool var_r3 = 1;
|
||||
bool var_r2 = 0;
|
||||
|
||||
// ...
|
||||
if ((temp_r6 != 0x100) && (temp_r6 != 0x101)) {
|
||||
var_r3 = 0;
|
||||
}
|
||||
|
||||
UnkStruct_ov000_0208f820_28_98 *pUnk28_98 = this->mUnk_28->mUnk_98;
|
||||
if (!bVar8 && pUnk28_98 != NULL) {
|
||||
pUnk28_98->mUnk_40 |= 0x10;
|
||||
this->mUnk_64.func_ov000_0208a100();
|
||||
if (var_r3 != 0) {
|
||||
bool var_r0_2;
|
||||
|
||||
if (temp_r6 == 0x101) {
|
||||
var_r0_2 = 0;
|
||||
} else {
|
||||
var_r0_2 = ((u16 *) temp_r5_2)[1];
|
||||
}
|
||||
|
||||
if (var_r0_2 == 1) {
|
||||
var_r2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r2 != 0) {
|
||||
var_r1_4 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!var_r1_4) {
|
||||
UnkStruct_ov000_0208f820_28_98 *pUnk28_98 = this->mUnk_28->mUnk_98;
|
||||
|
||||
if (pUnk28_98 != NULL) {
|
||||
UnkStruct_PlayerGet_64 *ptr = &pUnk28_98->mUnk_38;
|
||||
ptr->mUnk_40 |= 0x10;
|
||||
this->mUnk_64.func_ov000_0208a100();
|
||||
}
|
||||
}
|
||||
|
||||
this->mUnk_73 = 0;
|
||||
@@ -441,28 +684,33 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
case ItemId_27:
|
||||
case ItemId_28:
|
||||
case ItemId_29:
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_027e0cd8->mUnk_0C->func_ov000_02080a44());
|
||||
this->mUnk_73 = 1;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_027e0cd8->mUnk_0C->func_ov000_02080a44());
|
||||
this->mUnk_73 = 1;
|
||||
break;
|
||||
case 0x3B:
|
||||
this->mUnk_72 = 0;
|
||||
|
||||
if (this->mUnk_54.mItemId != ItemId_Nothing) {
|
||||
unk32 uStack_f0[4];
|
||||
Vec3p VStack_fc;
|
||||
|
||||
Vec3p_Add(this->mUnk_34, &data_ov110_021861ec.mUnk_00, &VStack_fc);
|
||||
data_027e0cec->func_ov000_0209feac(0x874, &VStack_fc, 1, 0, 0);
|
||||
uStack_f0[0] = 0x870;
|
||||
uStack_f0[1] = 0x871;
|
||||
uStack_f0[2] = 0x872;
|
||||
uStack_f0[0] = 0x870;
|
||||
uStack_f0[3] = 0x873;
|
||||
data_027e0cec->func_ov000_020a0000(this->mUnk_EC, this->mUnk_FC, uStack_f0, &VStack_fc, 1);
|
||||
data_027e0cec->func_ov000_020a0000(this->mUnk_EC, &this->mUnk_FC, uStack_f0, &VStack_fc, 1);
|
||||
}
|
||||
|
||||
data_027e0cf8->func_ov024_020c7828(this->mUnk_54.mItemId);
|
||||
UnkStruct_ov000_02067bc4::UnkStruct1 auStack_30;
|
||||
data_ov000_020b504c.func_ov000_02067cf8(ItemManager::func_ov110_02185da4(this->mUnk_54.mItemId), 0, &auStack_30);
|
||||
data_ov000_020b504c.func_ov000_02067cf8(ItemManager::GetBmgIDFromItem(this->mUnk_54.mItemId), 0, &auStack_30);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -473,7 +721,6 @@ const UnkStruct_ov110_021861ec data_ov110_021861ec(0x5E3, 0x152D, 0xCD);
|
||||
|
||||
ARM void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
unk32 var_r1;
|
||||
MapObject **temp_r0_6;
|
||||
s32 temp_r5;
|
||||
bool temp_r6;
|
||||
s32 var_r0;
|
||||
@@ -644,9 +891,9 @@ ARM void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
|
||||
if (*(u16 *) this->mUnk_54.mUnk_00 == 0x1000) {
|
||||
UnkStruct_func_01fff498 stack;
|
||||
stack.ptrIndex = this->mUnk_54.mUnk_00[0];
|
||||
stack.valueIndex = this->mUnk_54.mUnk_00[1];
|
||||
Vec2b stack;
|
||||
stack.x = this->mUnk_54.mUnk_00[0];
|
||||
stack.y = this->mUnk_54.mUnk_00[1];
|
||||
|
||||
MapObject *pMapObj = gpMapObjManager->func_01fff498(stack);
|
||||
|
||||
@@ -665,10 +912,11 @@ ARM void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
|
||||
if (var_r5_2 != MapObjectId_None) {
|
||||
data_ov000_020b34c4.mUnk_04 = var_r5_2;
|
||||
temp_r0_6 = gpMapObjManager->func_01fff520(&data_ov000_020b34c4, gpMapObjManager->mMapObjTable);
|
||||
data_ov000_020b34c4.mUnk_04 = var_r5_2;
|
||||
MapObjectChestBase **temp_r0_6 = (MapObjectChestBase **) gpMapObjManager->func_01fff520(
|
||||
&data_ov000_020b34c4, gpMapObjManager->mMapObjTable);
|
||||
|
||||
if (temp_r0_6 == gpMapObjManager->mUnk_08) {
|
||||
if ((MapObject **) temp_r0_6 == gpMapObjManager->mUnk_08) {
|
||||
(*temp_r0_6)->func_ov031_02103878();
|
||||
}
|
||||
}
|
||||
@@ -797,10 +1045,10 @@ THUMB void UnkStruct_027e0ce0_34::func_ov110_02185d3c(ItemId itemId) {
|
||||
}
|
||||
}
|
||||
|
||||
ARM unk32 ItemManager::func_ov110_02185da4(unk32 param1) {
|
||||
return data_ov110_02185de8[param1];
|
||||
ARM u32 ItemManager::GetBmgIDFromItem(ItemId itemId) {
|
||||
return sBMGItemMap[itemId];
|
||||
}
|
||||
|
||||
ARM ItemFlag ItemManager::func_ov110_02185db4(ItemId itemId) {
|
||||
return data_ov110_02185fbc[itemId];
|
||||
ARM AdventureFlag ItemManager::GetAdvFlagFromItem(ItemId itemId) {
|
||||
return sAdvFlagItemMap[itemId];
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ ARM PlayerSceneChange::PlayerSceneChange() {
|
||||
|
||||
ARM PlayerSceneChange::~PlayerSceneChange() {
|
||||
UnkStruct_ov000_0208f820_28 *pUnk_28 = this->mUnk_28;
|
||||
pUnk_28->mUnk_40 &= 0xFFFD;
|
||||
pUnk_28->mUnk_38.mUnk_40 &= 0xFFFD;
|
||||
|
||||
if (pUnk_28->mUnk_40 == 0) {
|
||||
if (pUnk_28->mUnk_38.mUnk_40 == 0) {
|
||||
pUnk_28->mUnk_38.~UnkStruct_PlayerGet_64();
|
||||
}
|
||||
|
||||
@@ -78,9 +78,9 @@ extern "C" void func_01ff930c(UnkStruct_ov000_0208f820_40 *, unk16, unk32);
|
||||
// https://decomp.me/scratch/c7PhN
|
||||
ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
q4 *pSinCosTable = gSinCosTable;
|
||||
UnkStruct_func_01fff498 stack4;
|
||||
Vec2b stack4;
|
||||
s16 stack3;
|
||||
UnkStruct_func_01fff498 stack2;
|
||||
Vec2b stack2;
|
||||
UnkStackStruct1 stack;
|
||||
|
||||
switch (param1->mUnk_04) {
|
||||
@@ -147,8 +147,8 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1
|
||||
break;
|
||||
default:
|
||||
if (this->mUnk_2C->mUnk_150 == 0x1000) {
|
||||
stack2.ptrIndex = this->mUnk_2C->mUnk_150 >> 0x10;
|
||||
stack2.valueIndex = 0;
|
||||
stack2.y = this->mUnk_2C->mUnk_150 >> 0x10;
|
||||
stack2.x = 0;
|
||||
|
||||
MapObjectUnkDRTY *pDRTY = (MapObjectUnkDRTY *) gpMapObjManager->func_01fff498(stack2);
|
||||
|
||||
@@ -287,8 +287,8 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1
|
||||
return;
|
||||
}
|
||||
|
||||
stack4.ptrIndex = this->mUnk_8C >> 16;
|
||||
stack4.valueIndex = 0;
|
||||
stack4.y = this->mUnk_8C >> 16;
|
||||
stack4.x = 0;
|
||||
|
||||
MapObject *target = gpMapObjManager->func_01fff498(stack4);
|
||||
if (target != NULL && target->GetMapObjectId() == MapObjectId_WPHL) {
|
||||
@@ -648,7 +648,7 @@ ARM void PlayerSceneChange::vfunc_10(unk32 param1, unk32 param2) {
|
||||
this->mUnk_6C--;
|
||||
|
||||
if (this->mUnk_6C < 0x37) {
|
||||
this->mUnk_28->mUnk_40 |= 0x02;
|
||||
this->mUnk_28->mUnk_38.mUnk_40 |= 0x02;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ ARM void PlayerSceneChange2::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param
|
||||
|
||||
func_ov000_0208ba10(auStack_18, &this->mUnk_24->mUnk_94, 0);
|
||||
|
||||
if (this->mUnk_44[0] != 0) {
|
||||
if (this->mUnk_44->mUnk_00 != 0) {
|
||||
this->mUnk_28->func_ov000_0208cf20(0x1400, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@ struct UnkStruct {
|
||||
|
||||
extern "C" void func_01ffecdc(int, void *);
|
||||
|
||||
MapObject *MapObjectManager::func_01fff498(UnkStruct_func_01fff498 param1) {
|
||||
if (this->mUnk_0C[param1.valueIndex][param1.ptrIndex] < 0) {
|
||||
MapObject *MapObjectManager::func_01fff498(Vec2b param1) {
|
||||
if (this->mUnk_0C[param1.y][param1.x] < 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return this->mMapObjTable[this->mUnk_0C[param1.valueIndex][param1.ptrIndex]];
|
||||
return this->mMapObjTable[this->mUnk_0C[param1.y][param1.x]];
|
||||
}
|
||||
|
||||
void MapObjectManager::func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2) {
|
||||
|
||||
+6
-1
@@ -163,6 +163,7 @@ config.libs = [
|
||||
Object("000_Second/Game/GameModeManagerBase_104.cpp"),
|
||||
Object("000_Second/UnkSystem1_Base.cpp"),
|
||||
Object("000_Second/UnkSystem1_Derived1.cpp"),
|
||||
Object("000_Second/data_ov000_020af58c.cpp"),
|
||||
Object("000_Second/Actor/Actor.cpp"),
|
||||
Object("000_Second/Actor/ActorManager.cpp"),
|
||||
Object("000_Second/Actor/ActorUnkSWOB.cpp"),
|
||||
@@ -184,6 +185,7 @@ config.libs = [
|
||||
"Overlay 1",
|
||||
[
|
||||
Object("001_SceneInit/Actor/ActorManager_001.cpp"),
|
||||
Object("001_SceneInit/Item/ItemManager_001.cpp"),
|
||||
]
|
||||
),
|
||||
GameLib(
|
||||
@@ -231,6 +233,7 @@ config.libs = [
|
||||
GameLib(
|
||||
"Overlay 24",
|
||||
[
|
||||
Object("024_MainGame/MiscAdvManager.cpp"),
|
||||
Object("024_MainGame/Actor/ActorUnkOBPC.cpp"),
|
||||
]
|
||||
),
|
||||
@@ -365,6 +368,7 @@ config.libs = [
|
||||
GameLib(
|
||||
"Overlay 31",
|
||||
[
|
||||
Object("031_Land/UnkStruct_027e0d34.cpp"),
|
||||
Object("031_Land/Actor/ActorRupee.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkAROW.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkATTG.cpp"),
|
||||
@@ -421,7 +425,8 @@ config.libs = [
|
||||
Object("031_Land/MapObject/MapObjectUnkTATZ.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTRED.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTREN.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTRES.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectTreasureSpawned.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectChestBase.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTREW.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTRWS.cpp"),
|
||||
Object("031_Land/MapObject/MapObjectUnkTSUB.cpp"),
|
||||
|
||||
Reference in New Issue
Block a user