From 550f01708e31e607c233703dc4b4186928c918ee Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Wed, 6 Aug 2025 12:12:32 +0200 Subject: [PATCH] Overlay 110 - PlayerGet (#2) * delink overlay 110 * mangled functions names in symbols * improve how versions are defined in the compiler's command * add version-exclusive function + fix data_ov110_021861ec size * match .rodata * dsd sig apply * progress * vfunc_18 & func_ov110_02185d3c + format * symbols renames * remove force_data pragma * started func_ov110_02184a40 * improve vfunc_18 match thanks to nepecam * fixed relocs issues * match func_ov110_02186b8c * continue the awful function (and rename the folder) * format * build issues * almost match func_ov110_02184a40!!! * start vfunc_10 + misc * vfunc_10 progress (91%) * symbol fix * vfunc_10 big switch fix * turn some structs into a class * update symbols * vfunc_10 prog, move func_ov110_02185da4 to itemmanaager and some docs/cleanup * progress on playerget and itemmanager * fix build issues * remove accidental header from merge and name mUnk_60 * add hex value comment in item id enum * random stuff * started vfunc_0c * move externs around * match/docs stuff related to item usage in PlayerGet * format * vfunc_10 version diff * improve func_ov110_02186b8c handling and fix broken matches * vfunc_0c small improvements * progress on item manager * complete item manager and add upgrade capacities * some cleanup * header cleanup * match data (kind of) * symbol naming * name more symbols 1 * name more symbols 2 * name more symbols 3 * more jp syncing * mystery actor stuff * rename the file and fix build errors --- config/eur/arm9/itcm/symbols.txt | 6 +- config/eur/arm9/overlays/ov000/delinks.txt | 11 +- config/eur/arm9/overlays/ov000/relocs.txt | 2 +- config/eur/arm9/overlays/ov000/symbols.txt | 216 ++-- config/eur/arm9/overlays/ov001/relocs.txt | 2 +- config/eur/arm9/overlays/ov024/symbols.txt | 10 +- config/eur/arm9/overlays/ov031/symbols.txt | 8 +- config/eur/arm9/overlays/ov053/symbols.txt | 2 +- config/eur/arm9/overlays/ov058/symbols.txt | 2 +- config/eur/arm9/overlays/ov062/symbols.txt | 2 +- config/eur/arm9/overlays/ov110/delinks.txt | 7 + config/eur/arm9/overlays/ov110/relocs.txt | 10 +- config/eur/arm9/overlays/ov110/symbols.txt | 43 +- config/eur/arm9/symbols.txt | 30 +- config/jp/arm9/itcm/symbols.txt | 6 +- config/jp/arm9/overlays/ov000/delinks.txt | 15 + config/jp/arm9/overlays/ov000/relocs.txt | 8 +- config/jp/arm9/overlays/ov000/symbols.txt | 306 ++--- config/jp/arm9/overlays/ov024/symbols.txt | 16 +- config/jp/arm9/overlays/ov031/symbols.txt | 8 +- config/jp/arm9/overlays/ov053/symbols.txt | 2 +- config/jp/arm9/overlays/ov058/symbols.txt | 2 +- config/jp/arm9/overlays/ov062/symbols.txt | 2 +- config/jp/arm9/overlays/ov110/delinks.txt | 7 + config/jp/arm9/overlays/ov110/relocs.txt | 2 +- config/jp/arm9/overlays/ov110/symbols.txt | 23 +- config/jp/arm9/symbols.txt | 88 +- include/Actor/Actor.hpp | 10 +- include/Actor/ActorId.hpp | 1046 +++++++++--------- include/Actor/ActorUnk_ov000_020a8bb0.hpp | 123 ++ include/Item/Item.hpp | 251 +++-- include/Item/ItemManager.hpp | 193 ++-- include/Player/PlayerGet.hpp | 181 +-- include/Unknown/UnkStruct_020d8698.hpp | 11 + include/Unknown/UnkStruct_027e09a4.hpp | 12 + include/Unknown/UnkStruct_027e09b8.hpp | 17 + include/Unknown/UnkStruct_027e09bc.hpp | 19 + include/Unknown/UnkStruct_027e0cd8.hpp | 2 + include/Unknown/UnkStruct_027e0ce0.hpp | 29 +- include/Unknown/UnkStruct_027e0ce4.hpp | 14 +- include/Unknown/UnkStruct_027e0ce8.hpp | 21 + include/Unknown/UnkStruct_027e0cec.hpp | 1 + include/Unknown/UnkStruct_ov000_02067bc4.hpp | 16 + include/Unknown/UnkStruct_ov000_0208f820.hpp | 153 ++- include/Unknown/UnkStruct_ov000_020b34c4.hpp | 11 + include/Unknown/UnkStruct_ov000_020b51b8.hpp | 18 + include/Unknown/UnkStruct_ov000_020b51c0.hpp | 10 + include/nitro/math.h | 2 +- include/versions.h | 14 + src/000_Second/Actor/Actor.cpp | 4 +- src/000_Second/ActorUnk_ov000_020a8bb0.cpp | 120 ++ src/000_Second/Item/ItemManager.cpp | 300 ++--- src/000_Second/Item/TreasureManager.cpp | 143 +++ src/031_Land/Actor/ActorRupee.cpp | 19 +- src/110_PlayerGet/PlayerGet.cpp | 835 ++++++++++++++ tools/configure.py | 4 +- 56 files changed, 2964 insertions(+), 1451 deletions(-) create mode 100644 include/Actor/ActorUnk_ov000_020a8bb0.hpp create mode 100644 include/Unknown/UnkStruct_020d8698.hpp create mode 100644 include/Unknown/UnkStruct_027e09a4.hpp create mode 100644 include/Unknown/UnkStruct_027e09b8.hpp create mode 100644 include/Unknown/UnkStruct_027e09bc.hpp create mode 100644 include/Unknown/UnkStruct_027e0ce8.hpp create mode 100644 include/Unknown/UnkStruct_ov000_02067bc4.hpp create mode 100644 include/Unknown/UnkStruct_ov000_020b34c4.hpp create mode 100644 include/Unknown/UnkStruct_ov000_020b51b8.hpp create mode 100644 include/Unknown/UnkStruct_ov000_020b51c0.hpp create mode 100644 include/versions.h create mode 100644 src/000_Second/ActorUnk_ov000_020a8bb0.cpp create mode 100644 src/000_Second/Item/TreasureManager.cpp create mode 100644 src/110_PlayerGet/PlayerGet.cpp diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt index 32e6fb21..0b93935e 100644 --- a/config/eur/arm9/itcm/symbols.txt +++ b/config/eur/arm9/itcm/symbols.txt @@ -10,7 +10,7 @@ func_01ff8d94 kind:function(arm,size=0x18) addr:0x01ff8d94 func_01ff8dac kind:function(arm,size=0xac) addr:0x01ff8dac func_01ff8e58 kind:function(arm,size=0xe8) addr:0x01ff8e58 func_01ff8f40 kind:function(arm,size=0x68) addr:0x01ff8f40 -func_01ff8fa8 kind:function(arm,size=0x40) addr:0x01ff8fa8 +_ZN22UnkStruct_PlayerGet_5013func_01ff8fa8Ev kind:function(arm,size=0x40) addr:0x01ff8fa8 func_01ff8fe8 kind:function(arm,size=0x128) addr:0x01ff8fe8 func_01ff9110 kind:function(arm,size=0x5c) addr:0x01ff9110 func_01ff916c kind:function(arm,size=0x4c) addr:0x01ff916c @@ -156,7 +156,7 @@ func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294 func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0 func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8 func_01ffd400 kind:function(arm,size=0x20) addr:0x01ffd400 -func_01ffd420 kind:function(arm,size=0x1c) addr:0x01ffd420 +_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420 func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c func_01ffd640 kind:function(arm,size=0x128) addr:0x01ffd640 @@ -203,7 +203,7 @@ func_01fff350 kind:function(arm,size=0x64) addr:0x01fff350 _ZN18UnkStruct_027e0ce413func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4 func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440 func_01fff458 kind:function(arm,size=0xc) addr:0x01fff458 -func_01fff464 kind:function(arm,size=0x34) addr:0x01fff464 +_ZN5Actor8vfunc_10Ev kind:function(arm,size=0x34) addr:0x01fff464 func_01fff498 kind:function(arm,size=0x34) addr:0x01fff498 func_01fff4cc kind:function(arm,size=0x54) addr:0x01fff4cc func_01fff520 kind:function(arm,size=0x64) addr:0x01fff520 diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt index 487cf9a2..6e6814de 100644 --- a/config/eur/arm9/overlays/ov000/delinks.txt +++ b/config/eur/arm9/overlays/ov000/delinks.txt @@ -10,4 +10,13 @@ src/000_Second/Actor/Actor.cpp: .data start:0x020b30e4 end:0x020b3148 src/000_Second/Item/ItemManager.cpp: - .text start:0x020a865c end:0x020aa224 + complete + .text start:0x020a863c end:0x020a8ae0 + .rodata start:0x020afc40 end:0x020afc48 + +src/000_Second/ActorUnk_ov000_020a8bb0.cpp: + .text start:0x020a8ae0 end:0x020a9b10 + .data start:0x020b4d88 end:0x020b4e4c + +src/000_Second/Item/TreasureManager.cpp: + .text start:0x020a9b10 end:0x020aa224 diff --git a/config/eur/arm9/overlays/ov000/relocs.txt b/config/eur/arm9/overlays/ov000/relocs.txt index fe29b673..85114d86 100644 --- a/config/eur/arm9/overlays/ov000/relocs.txt +++ b/config/eur/arm9/overlays/ov000/relocs.txt @@ -8394,7 +8394,7 @@ from:0x020a8bac kind:load to:0x020afd1c module:overlay(0) from:0x020a8bc0 kind:arm_call to:0x02098388 module:overlay(0) from:0x020a8bd0 kind:arm_call to:0x0207edac module:overlay(0) from:0x020a8c48 kind:arm_call_thumb to:0x020d6668 module:overlay(24) -from:0x020a8cb4 kind:load to:0x020b4d90 module:overlay(0) +from:0x020a8cb4 kind:load to:0x020b4d88 add:8 module:overlay(0) from:0x020a8ccc kind:arm_call to:0x0207ede8 module:overlay(0) from:0x020a8cd4 kind:arm_call to:0x02098488 module:overlay(0) from:0x020a8cec kind:arm_call to:0x0207ede8 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index ac19ce5a..0b8cd74c 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -91,8 +91,8 @@ func_ov000_02057b08 kind:function(arm,size=0x1c) addr:0x02057b08 func_ov000_02057b24 kind:function(arm,size=0x14) addr:0x02057b24 func_ov000_02057b38 kind:function(arm,size=0x1c) addr:0x02057b38 func_ov000_02057b54 kind:function(thumb,size=0x1c) addr:0x02057b54 -func_ov000_02057b70 kind:function(thumb,size=0x1c) addr:0x02057b70 -func_ov000_02057b8c kind:function(thumb,size=0x20) addr:0x02057b8c +_ZN22UnkStruct_PlayerGet_8cC1Ei kind:function(thumb,size=0x1c) addr:0x02057b70 +_ZN22UnkStruct_PlayerGet_8cD1Ev kind:function(thumb,size=0x20) addr:0x02057b8c func_ov000_02057bac kind:function(thumb,size=0x28) addr:0x02057bac func_ov000_02057bd4 kind:function(thumb,size=0x20) addr:0x02057bd4 func_ov000_02057bf4 kind:function(arm,size=0x20) addr:0x02057bf4 @@ -182,7 +182,7 @@ func_ov000_02058f9c kind:function(arm,size=0x28) addr:0x02058f9c func_ov000_02058fc4 kind:function(arm,size=0x34) addr:0x02058fc4 func_ov000_02058ff8 kind:function(arm,size=0xdc) addr:0x02058ff8 func_ov000_020590d4 kind:function(arm,size=0x10) addr:0x020590d4 -func_ov000_020590e4 kind:function(arm,size=0x24) addr:0x020590e4 +_ZN27UnkStruct_PlayerGet_74_baseC2Ev kind:function(arm,size=0x24) addr:0x020590e4 func_ov000_02059108 kind:function(arm,size=0x30) addr:0x02059108 func_ov000_02059138 kind:function(arm,size=0x30) addr:0x02059138 func_ov000_02059168 kind:function(arm,size=0x28) addr:0x02059168 @@ -723,7 +723,7 @@ func_ov000_02067aa4 kind:function(arm,size=0x7c) addr:0x02067aa4 func_ov000_02067b20 kind:function(arm,size=0x40) addr:0x02067b20 func_ov000_02067b60 kind:function(arm,size=0x54) addr:0x02067b60 func_ov000_02067bb4 kind:function(arm,size=0x10) addr:0x02067bb4 -func_ov000_02067bc4 kind:function(arm,size=0x1c) addr:0x02067bc4 +_ZN24UnkStruct_ov000_02067bc419func_ov000_02067bc4Ei kind:function(arm,size=0x1c) addr:0x02067bc4 func_ov000_02067be0 kind:function(arm,size=0x10) addr:0x02067be0 func_ov000_02067bf0 kind:function(arm,size=0x8) addr:0x02067bf0 func_ov000_02067bf8 kind:function(arm,size=0x8) addr:0x02067bf8 @@ -880,7 +880,7 @@ func_ov000_0206c660 kind:function(arm,size=0x64) addr:0x0206c660 func_ov000_0206c6c4 kind:function(arm,size=0x18) addr:0x0206c6c4 func_ov000_0206c6dc kind:function(arm,size=0x290) addr:0x0206c6dc func_ov000_0206c96c kind:function(arm,size=0x3c) addr:0x0206c96c -func_ov000_0206c9a8 kind:function(arm,size=0x714) addr:0x0206c9a8 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c9a8Eiiii kind:function(arm,size=0x714) addr:0x0206c9a8 func_ov000_0206d0bc kind:function(arm,size=0x30) addr:0x0206d0bc func_ov000_0206d0ec kind:function(arm,size=0x48) addr:0x0206d0ec func_ov000_0206d134 kind:function(arm,size=0x4c) addr:0x0206d134 @@ -888,7 +888,7 @@ func_ov000_0206d180 kind:function(arm,size=0x18) addr:0x0206d180 func_ov000_0206d198 kind:function(arm,size=0x14) addr:0x0206d198 func_ov000_0206d1ac kind:function(arm,size=0x88) addr:0x0206d1ac func_ov000_0206d234 kind:function(arm,size=0x40) addr:0x0206d234 -func_ov000_0206d274 kind:function(arm,size=0x2c) addr:0x0206d274 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d274Ei kind:function(arm,size=0x2c) addr:0x0206d274 func_ov000_0206d2a0 kind:function(arm,size=0x40) addr:0x0206d2a0 func_ov000_0206d2e0 kind:function(arm,size=0x10) addr:0x0206d2e0 func_ov000_0206d2f0 kind:function(arm,size=0x34) addr:0x0206d2f0 @@ -1018,7 +1018,7 @@ func_ov000_02070af8 kind:function(arm,size=0x1c) addr:0x02070af8 func_ov000_02070b14 kind:function(arm,size=0x20) addr:0x02070b14 func_ov000_02070b34 kind:function(arm,size=0x44) addr:0x02070b34 func_ov000_02070b78 kind:function(arm,size=0x58) addr:0x02070b78 -func_ov000_02070bd0 kind:function(arm,size=0x94) addr:0x02070bd0 +_ZN18UnkStruct_027e09a419func_ov000_02070bd0Eii kind:function(arm,size=0x94) addr:0x02070bd0 func_ov000_02070c64 kind:function(arm,size=0x20) addr:0x02070c64 func_ov000_02070c84 kind:function(arm,size=0x3c) addr:0x02070c84 func_ov000_02070cc0 kind:function(arm,size=0x3c) addr:0x02070cc0 @@ -1124,9 +1124,9 @@ func_ov000_020731c4 kind:function(arm,size=0x30) addr:0x020731c4 func_ov000_020731f4 kind:function(arm,size=0x40) addr:0x020731f4 func_ov000_02073234 kind:function(arm,size=0x3c) addr:0x02073234 func_ov000_02073270 kind:function(arm,size=0x6c) addr:0x02073270 -func_ov000_020732dc kind:function(arm,size=0x10) addr:0x020732dc -func_ov000_020732ec kind:function(arm,size=0x10) addr:0x020732ec -func_ov000_020732fc kind:function(arm,size=0x10) addr:0x020732fc +_ZN18UnkStruct_027e09b819func_ov000_020732dcEi kind:function(arm,size=0x10) addr:0x020732dc +_ZN18UnkStruct_027e09b819func_ov000_020732ecEi kind:function(arm,size=0x10) addr:0x020732ec +_ZN18UnkStruct_027e09b819func_ov000_020732fcEi kind:function(arm,size=0x10) addr:0x020732fc func_ov000_0207330c kind:function(arm,size=0x20) addr:0x0207330c func_ov000_0207332c kind:function(arm,size=0x5c) addr:0x0207332c func_ov000_02073388 kind:function(arm,size=0xe8) addr:0x02073388 @@ -1251,7 +1251,7 @@ func_ov000_020780fc kind:function(arm,size=0x8c) addr:0x020780fc func_ov000_02078188 kind:function(arm,size=0x4c) addr:0x02078188 func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x020781d4 func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020781e8 -func_ov000_02078230 kind:function(arm,size=0xe4) addr:0x02078230 +_ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078230 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x02078314 func_ov000_0207834c kind:function(arm,size=0x40) addr:0x0207834c func_ov000_0207838c kind:function(arm,size=0x70) addr:0x0207838c @@ -1496,9 +1496,9 @@ func_ov000_0207ed10 kind:function(arm,size=0x30) addr:0x0207ed10 func_ov000_0207ed40 kind:function(arm,size=0x44) addr:0x0207ed40 func_ov000_0207ed84 kind:function(arm,size=0x8) addr:0x0207ed84 func_ov000_0207ed8c kind:function(arm,size=0x20) addr:0x0207ed8c -func_ov000_0207edac kind:function(arm,size=0x20) addr:0x0207edac +_ZN26ActorUnk_ov000_020a8bb0_94C1Ev kind:function(arm,size=0x20) addr:0x0207edac func_ov000_0207edcc kind:function(arm,size=0x1c) addr:0x0207edcc -func_ov000_0207ede8 kind:function(arm,size=0x30) addr:0x0207ede8 +_ZN26ActorUnk_ov000_020a8bb0_94D1Ev kind:function(arm,size=0x30) addr:0x0207ede8 func_ov000_0207ee18 kind:function(arm,size=0x38) addr:0x0207ee18 func_ov000_0207ee50 kind:function(arm,size=0x30) addr:0x0207ee50 func_ov000_0207ee80 kind:function(arm,size=0x4) addr:0x0207ee80 @@ -1576,7 +1576,7 @@ func_ov000_020808f4 kind:function(arm,size=0x5c) addr:0x020808f4 func_ov000_02080950 kind:function(arm,size=0x48) addr:0x02080950 func_ov000_02080998 kind:function(arm,size=0x40) addr:0x02080998 func_ov000_020809d8 kind:function(arm,size=0x6c) addr:0x020809d8 -func_ov000_02080a44 kind:function(arm,size=0x18) addr:0x02080a44 +_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x02080a44 func_ov000_02080a5c kind:function(arm,size=0x1c) addr:0x02080a5c func_ov000_02080a78 kind:function(arm,size=0x18) addr:0x02080a78 func_ov000_02080a90 kind:function(arm,size=0x1c) addr:0x02080a90 @@ -1869,15 +1869,15 @@ func_ov000_02089f74 kind:function(arm,size=0x24) addr:0x02089f74 func_ov000_02089f98 kind:function(arm,size=0x18) addr:0x02089f98 func_ov000_02089fb0 kind:function(arm,size=0xe0) addr:0x02089fb0 func_ov000_0208a090 kind:function(arm,size=0x60) addr:0x0208a090 -func_ov000_0208a0f0 kind:function(arm,size=0x10) addr:0x0208a0f0 +_ZN22UnkStruct_PlayerGet_64C1EPii kind:function(arm,size=0x10) addr:0x0208a0f0 func_ov000_0208a100 kind:function(arm,size=0x64) addr:0x0208a100 -func_ov000_0208a164 kind:function(arm,size=0x64) addr:0x0208a164 +_ZN22UnkStruct_PlayerGet_64D1Ev kind:function(arm,size=0x64) addr:0x0208a164 func_ov000_0208a1c8 kind:function(thumb,size=0x48) addr:0x0208a1c8 func_ov000_0208a210 kind:function(thumb,size=0x8) addr:0x0208a210 func_ov000_0208a218 kind:function(thumb,size=0x36) addr:0x0208a218 func_ov000_0208a250 kind:function(thumb,size=0x74) addr:0x0208a250 func_ov000_0208a2c4 kind:function(arm,size=0x54) addr:0x0208a2c4 -func_ov000_0208a318 kind:function(arm,size=0x74) addr:0x0208a318 +_ZN18UnkStruct_027e0ce019func_ov000_0208a318Eiii kind:function(arm,size=0x74) addr:0x0208a318 func_ov000_0208a38c kind:function(arm,size=0x30) addr:0x0208a38c func_ov000_0208a3bc kind:function(arm,size=0x328) addr:0x0208a3bc func_ov000_0208a6e4 kind:function(arm,size=0x48) addr:0x0208a6e4 @@ -2075,10 +2075,10 @@ func_ov000_0208f00c kind:function(arm,size=0x430) addr:0x0208f00c func_ov000_0208f43c kind:function(arm,size=0x120) addr:0x0208f43c func_ov000_0208f55c kind:function(arm,size=0x124) addr:0x0208f55c func_ov000_0208f680 kind:function(arm,size=0x1a0) addr:0x0208f680 -func_ov000_0208f820 kind:function(arm,size=0x8c) addr:0x0208f820 +_ZN24UnkStruct_ov000_0208f820C2Ev kind:function(arm,size=0x8c) addr:0x0208f820 func_ov000_0208f8ac kind:function(arm,size=0x4) addr:0x0208f8ac func_ov000_0208f8b0 kind:function(arm,size=0x14) addr:0x0208f8b0 -func_ov000_0208f8c4 kind:function(arm,size=0x4) addr:0x0208f8c4 +_ZN24UnkStruct_ov000_0208f820D2Ev kind:function(arm,size=0x4) addr:0x0208f8c4 func_ov000_0208f8c8 kind:function(arm,size=0x8c) addr:0x0208f8c8 func_ov000_0208f954 kind:function(arm,size=0x40) addr:0x0208f954 func_ov000_0208f994 kind:function(arm,size=0x11c) addr:0x0208f994 @@ -2089,14 +2089,14 @@ func_ov000_0208fef4 kind:function(arm,size=0x44) addr:0x0208fef4 func_ov000_0208ff38 kind:function(arm,size=0x154) addr:0x0208ff38 func_ov000_0209008c kind:function(arm,size=0xc8) addr:0x0209008c func_ov000_02090154 kind:function(arm,size=0x48) addr:0x02090154 -func_ov000_0209019c kind:function(arm,size=0x8) addr:0x0209019c +_ZN24UnkStruct_ov000_0208f8208vfunc_00Ev kind:function(arm,size=0x8) addr:0x0209019c func_ov000_020901a4 kind:function(arm,size=0x50) addr:0x020901a4 func_ov000_020901f4 kind:function(arm,size=0x55c) addr:0x020901f4 func_ov000_02090750 kind:function(arm,size=0x3c) addr:0x02090750 func_ov000_0209078c kind:function(arm,size=0x30) addr:0x0209078c -func_ov000_020907bc kind:function(arm,size=0x4) addr:0x020907bc +_ZN24UnkStruct_ov000_0208f8208vfunc_14Ev kind:function(arm,size=0x4) addr:0x020907bc func_ov000_020907c0 kind:function(arm,size=0x4) addr:0x020907c0 -func_ov000_020907c4 kind:function(arm,size=0x54) addr:0x020907c4 +_ZN24UnkStruct_ov000_0208f8208vfunc_1cEv kind:function(arm,size=0x54) addr:0x020907c4 func_ov000_02090818 kind:function(arm,size=0x38) addr:0x02090818 func_ov000_02090850 kind:function(arm,size=0x90) addr:0x02090850 func_ov000_020908e0 kind:function(arm,size=0x104) addr:0x020908e0 @@ -2123,7 +2123,7 @@ func_ov000_02092094 kind:function(arm,size=0x1c) addr:0x02092094 func_ov000_020920b0 kind:function(arm,size=0x34) addr:0x020920b0 func_ov000_020920e4 kind:function(arm,size=0xc4) addr:0x020920e4 func_ov000_020921a8 kind:function(arm,size=0x3c) addr:0x020921a8 -func_ov000_020921e4 kind:function(arm,size=0x464) addr:0x020921e4 +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020921e4 func_ov000_02092648 kind:function(arm,size=0x7f0) addr:0x02092648 func_ov000_02092e38 kind:function(arm,size=0x70) addr:0x02092e38 func_ov000_02092ea8 kind:function(arm,size=0x24) addr:0x02092ea8 @@ -2141,7 +2141,7 @@ func_ov000_0209360c kind:function(arm,size=0x44) addr:0x0209360c func_ov000_02093650 kind:function(arm,size=0x4c) addr:0x02093650 func_ov000_0209369c kind:function(arm,size=0x28) addr:0x0209369c func_ov000_020936c4 kind:function(arm,size=0x28) addr:0x020936c4 -func_ov000_020936ec kind:function(arm,size=0x2c) addr:0x020936ec +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x020936ec func_ov000_02093718 kind:function(arm,size=0x38) addr:0x02093718 func_ov000_02093750 kind:function(arm,size=0x3c) addr:0x02093750 func_ov000_0209378c kind:function(arm,size=0x58) addr:0x0209378c @@ -2150,7 +2150,7 @@ func_ov000_020938a4 kind:function(arm,size=0x2c) addr:0x020938a4 func_ov000_020938d0 kind:function(arm,size=0x2c) addr:0x020938d0 func_ov000_020938fc kind:function(arm,size=0x58) addr:0x020938fc func_ov000_02093954 kind:function(arm,size=0xb0) addr:0x02093954 -func_ov000_02093a04 kind:function(arm,size=0x10) addr:0x02093a04 +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x02093a04 func_ov000_02093a14 kind:function(arm,size=0x30) addr:0x02093a14 func_ov000_02093a44 kind:function(arm,size=0x44) addr:0x02093a44 func_ov000_02093a88 kind:function(arm,size=0x28) addr:0x02093a88 @@ -2676,7 +2676,7 @@ _ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0000 func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00a0 func_ov000_020a00d4 kind:function(arm,size=0x3c) addr:0x020a00d4 -func_ov000_020a0110 kind:function(arm,size=0x30) addr:0x020a0110 +_ZN18UnkStruct_027e0cec19func_ov000_020a0110EP22UnkStruct_PlayerGet_ec kind:function(arm,size=0x30) addr:0x020a0110 func_ov000_020a0140 kind:function(arm,size=0xe0) addr:0x020a0140 func_ov000_020a0220 kind:function(arm,size=0xb4) addr:0x020a0220 _ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a02d4 @@ -2992,25 +2992,25 @@ func_ov000_020a84a8 kind:function(arm,size=0x7c) addr:0x020a84a8 func_ov000_020a8524 kind:function(arm,size=0x48) addr:0x020a8524 func_ov000_020a856c kind:function(arm,size=0x50) addr:0x020a856c func_ov000_020a85bc kind:function(thumb,size=0x80) addr:0x020a85bc -func_ov000_020a863c kind:function(arm,size=0x20) addr:0x020a863c +_ZN11ItemManager19func_ov000_020a863cEj kind:function(arm,size=0x20) addr:0x020a863c _ZN11ItemManager19func_ov000_020a865cEj kind:function(arm,size=0x24) addr:0x020a865c _ZN11ItemManager19func_ov000_020a8680Ev kind:function(arm,size=0x24) addr:0x020a8680 _ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a86a4 _ZN11ItemManager19func_ov000_020a86d0Ej kind:function(arm,size=0x58) addr:0x020a86d0 _ZN11ItemManager19func_ov000_020a8728Ev kind:function(arm,size=0x20) addr:0x020a8728 _ZN11ItemManager19func_ov000_020a8748Ev kind:function(arm,size=0x20) addr:0x020a8748 -_ZN11ItemManager19func_ov000_020a8768Eiii kind:function(arm,size=0x60) addr:0x020a8768 +_ZN11ItemManager10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a8768 _ZN11ItemManager19func_ov000_020a87c8Ei kind:function(arm,size=0x24) addr:0x020a87c8 _ZN11ItemManager19func_ov000_020a87ecEi kind:function(arm,size=0x34) addr:0x020a87ec _ZN11ItemManager19func_ov000_020a8820Ei kind:function(arm,size=0x34) addr:0x020a8820 -func_ov000_020a8854 kind:function(arm,size=0x38) addr:0x020a8854 +_ZN11ItemManager19func_ov000_020a8854Ev kind:function(arm,size=0x38) addr:0x020a8854 _ZN11ItemManager19func_ov000_020a888cEj kind:function(arm,size=0x3c) addr:0x020a888c _ZN11ItemManager19func_ov000_020a88c8Ev kind:function(arm,size=0x2c) addr:0x020a88c8 _ZN11ItemManager19func_ov000_020a88f4Ev kind:function(arm,size=0x2c) addr:0x020a88f4 _ZN11ItemManager19func_ov000_020a8920Ev kind:function(arm,size=0x28) addr:0x020a8920 _ZN11ItemManager19func_ov000_020a8948Ev kind:function(arm,size=0x2c) addr:0x020a8948 -_ZN11ItemManager19func_ov000_020a8974Ev kind:function(arm,size=0x10) addr:0x020a8974 -_ZN11ItemManager19func_ov000_020a8984Ev kind:function(arm,size=0x38) addr:0x020a8984 +_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020a8974 +_ZN11ItemManager19func_ov000_020a8984Ei kind:function(arm,size=0x38) addr:0x020a8984 _ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020a89bc _ZN11ItemManager19func_ov000_020a89d4Ev kind:function(arm,size=0x38) addr:0x020a89d4 _ZN11ItemManager19func_ov000_020a8a0cEv kind:function(arm,size=0x50) addr:0x020a8a0c @@ -3020,81 +3020,81 @@ _ZN11ItemManager19func_ov000_020a8a90Ev kind:function(arm,size=0x14) addr:0x020a _ZN11ItemManager19func_ov000_020a8aa4Ev kind:function(arm,size=0x14) addr:0x020a8aa4 _ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020a8ab8 _ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020a8acc -_ZN11ItemManager19func_ov000_020a8ae0Ev kind:function(arm,size=0x14) addr:0x020a8ae0 -_ZN11ItemManager19func_ov000_020a8af4Ev kind:function(arm,size=0x54) addr:0x020a8af4 -_ZN11ItemManager19func_ov000_020a8b48Ev kind:function(arm,size=0x34) addr:0x020a8b48 -_ZN11ItemManager19func_ov000_020a8b7cEv kind:function(arm,size=0x34) addr:0x020a8b7c -_ZN11ItemManager19func_ov000_020a8bb0Ev kind:function(arm,size=0x110) addr:0x020a8bb0 -_ZN11ItemManager19func_ov000_020a8cc0Ev kind:function(arm,size=0x20) addr:0x020a8cc0 -_ZN11ItemManager19func_ov000_020a8ce0Ev kind:function(arm,size=0x28) addr:0x020a8ce0 -_ZN11ItemManager19func_ov000_020a8d08Ev kind:function(arm,size=0x20) addr:0x020a8d08 -_ZN11ItemManager19func_ov000_020a8d28Ev kind:function(arm,size=0x78) addr:0x020a8d28 -_ZN11ItemManager19func_ov000_020a8da0Ev kind:function(arm,size=0x4) addr:0x020a8da0 -_ZN11ItemManager19func_ov000_020a8da4Ev kind:function(arm,size=0xc) addr:0x020a8da4 -_ZN11ItemManager19func_ov000_020a8db0Ev kind:function(arm,size=0x20) addr:0x020a8db0 -_ZN11ItemManager19func_ov000_020a8dd0Ev kind:function(arm,size=0x20) addr:0x020a8dd0 -_ZN11ItemManager19func_ov000_020a8df0Ev kind:function(arm,size=0x94) addr:0x020a8df0 -_ZN11ItemManager19func_ov000_020a8e84Ev kind:function(arm,size=0x18) addr:0x020a8e84 -_ZN11ItemManager19func_ov000_020a8e9cEv kind:function(arm,size=0x24) addr:0x020a8e9c -_ZN11ItemManager19func_ov000_020a8ec0Ev kind:function(arm,size=0x94) addr:0x020a8ec0 -_ZN11ItemManager19func_ov000_020a8f54Ev kind:function(arm,size=0x8) addr:0x020a8f54 -_ZN11ItemManager19func_ov000_020a8f5cEv kind:function(arm,size=0x8) addr:0x020a8f5c -_ZN11ItemManager19func_ov000_020a8f64Ev kind:function(arm,size=0x8) addr:0x020a8f64 -_ZN11ItemManager19func_ov000_020a8f6cEv kind:function(arm,size=0xc) addr:0x020a8f6c -_ZN11ItemManager19func_ov000_020a8f78Ev kind:function(arm,size=0x68) addr:0x020a8f78 -_ZN11ItemManager19func_ov000_020a8fe0Ev kind:function(arm,size=0x14) addr:0x020a8fe0 -_ZN11ItemManager19func_ov000_020a8ff4Ev kind:function(arm,size=0x158) addr:0x020a8ff4 -_ZN11ItemManager19func_ov000_020a914cEv kind:function(arm,size=0x4) addr:0x020a914c -_ZN11ItemManager19func_ov000_020a9150Ev kind:function(arm,size=0x50) addr:0x020a9150 -_ZN11ItemManager19func_ov000_020a91a0Ev kind:function(arm,size=0x8) addr:0x020a91a0 -_ZN11ItemManager19func_ov000_020a91a8Ev kind:function(arm,size=0x8) addr:0x020a91a8 -_ZN11ItemManager19func_ov000_020a91b0Ev kind:function(arm,size=0x8) addr:0x020a91b0 -_ZN11ItemManager19func_ov000_020a91b8Ev kind:function(arm,size=0x48) addr:0x020a91b8 -_ZN11ItemManager19func_ov000_020a9200Ev kind:function(arm,size=0x1c) addr:0x020a9200 -_ZN11ItemManager19func_ov000_020a921cEv kind:function(arm,size=0x24) addr:0x020a921c -_ZN11ItemManager19func_ov000_020a9240Ev kind:function(arm,size=0x4) addr:0x020a9240 -_ZN11ItemManager19func_ov000_020a9244Ev kind:function(arm,size=0x4) addr:0x020a9244 -_ZN11ItemManager19func_ov000_020a9248Ev kind:function(arm,size=0x88) addr:0x020a9248 -_ZN11ItemManager19func_ov000_020a92d0Ev kind:function(arm,size=0x178) addr:0x020a92d0 -_ZN11ItemManager19func_ov000_020a9448Ev kind:function(arm,size=0x68) addr:0x020a9448 -_ZN11ItemManager19func_ov000_020a94b0Ev kind:function(arm,size=0xe8) addr:0x020a94b0 -_ZN11ItemManager19func_ov000_020a9598Ev kind:function(arm,size=0x2c) addr:0x020a9598 -_ZN11ItemManager19func_ov000_020a95c4Ev kind:function(arm,size=0x10) addr:0x020a95c4 -_ZN11ItemManager19func_ov000_020a95d4Ev kind:function(arm,size=0x4) addr:0x020a95d4 -_ZN11ItemManager19func_ov000_020a95d8Ev kind:function(arm,size=0xc) addr:0x020a95d8 -_ZN11ItemManager19func_ov000_020a95e4Ev kind:function(arm,size=0x218) addr:0x020a95e4 -_ZN11ItemManager19func_ov000_020a97fcEv kind:function(arm,size=0x8) addr:0x020a97fc -_ZN11ItemManager19func_ov000_020a9804Ev kind:function(arm,size=0xec) addr:0x020a9804 -_ZN11ItemManager19func_ov000_020a98f0Ev kind:function(arm,size=0x4) addr:0x020a98f0 -_ZN11ItemManager19func_ov000_020a98f4Ev kind:function(arm,size=0x68) addr:0x020a98f4 -_ZN11ItemManager19func_ov000_020a995cEv kind:function(arm,size=0x48) addr:0x020a995c -_ZN11ItemManager19func_ov000_020a99a4Ev kind:function(arm,size=0x34) addr:0x020a99a4 -_ZN11ItemManager19func_ov000_020a99d8Ev kind:function(arm,size=0x48) addr:0x020a99d8 -_ZN11ItemManager19func_ov000_020a9a20Ev kind:function(arm,size=0x14) addr:0x020a9a20 -_ZN11ItemManager19func_ov000_020a9a34Ev kind:function(arm,size=0x1c) addr:0x020a9a34 -_ZN11ItemManager19func_ov000_020a9a50Ev kind:function(arm,size=0x44) addr:0x020a9a50 -_ZN11ItemManager19func_ov000_020a9a94Ev kind:function(arm,size=0x28) addr:0x020a9a94 -_ZN11ItemManager19func_ov000_020a9abcEv kind:function(arm,size=0x24) addr:0x020a9abc -_ZN11ItemManager19func_ov000_020a9ae0Ev kind:function(arm,size=0x1c) addr:0x020a9ae0 -_ZN11ItemManager19func_ov000_020a9afcEv kind:function(arm,size=0x14) addr:0x020a9afc -_ZN11ItemManager19func_ov000_020a9b10Ev kind:function(arm,size=0x1c) addr:0x020a9b10 -_ZN11ItemManager19func_ov000_020a9b2cEv kind:function(arm,size=0x10) addr:0x020a9b2c -_ZN11ItemManager19func_ov000_020a9b3cEv kind:function(arm,size=0x10) addr:0x020a9b3c -_ZN11ItemManager19func_ov000_020a9b4cEv kind:function(arm,size=0x100) addr:0x020a9b4c -_ZN11ItemManager19func_ov000_020a9c4cEv kind:function(arm,size=0x18) addr:0x020a9c4c -_ZN11ItemManager19func_ov000_020a9c64Ev kind:function(arm,size=0x2c) addr:0x020a9c64 -_ZN11ItemManager19func_ov000_020a9c90Es kind:function(arm,size=0x14) addr:0x020a9c90 -_ZN11ItemManager19func_ov000_020a9ca4Es kind:function(arm,size=0x18) addr:0x020a9ca4 -_ZN11ItemManager19func_ov000_020a9cbcEsi kind:function(arm,size=0x40) addr:0x020a9cbc +func_ov000_020a8ae0 kind:function(arm,size=0x14) addr:0x020a8ae0 +func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020a8af4 +func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020a8b48 +func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020a8b7c +_ZN23ActorUnk_ov000_020a8bb0C1Eii kind:function(arm,size=0x110) addr:0x020a8bb0 +_ZN23ActorUnk_ov000_020a8bb0D1Ev kind:function(arm,size=0x20) addr:0x020a8cc0 +_ZN23ActorUnk_ov000_020a8bb0D0Ev kind:function(arm,size=0x28) addr:0x020a8ce0 +_ZN23ActorUnk_ov000_020a8bb0D2Ev kind:function(arm,size=0x20) addr:0x020a8d08 +_ZN23ActorUnk_ov000_020a8bb08vfunc_18Ev kind:function(arm,size=0x78) addr:0x020a8d28 +_ZN23ActorUnk_ov000_020a8bb08vfunc_54Ev kind:function(arm,size=0x4) addr:0x020a8da0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_1cEv kind:function(arm,size=0xc) addr:0x020a8da4 +func_ov000_020a8db0 kind:function(arm,size=0x20) addr:0x020a8db0 +func_ov000_020a8dd0 kind:function(arm,size=0x20) addr:0x020a8dd0 +func_ov000_020a8df0 kind:function(arm,size=0x94) addr:0x020a8df0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_b4Ev kind:function(arm,size=0x18) addr:0x020a8e84 +func_ov000_020a8e9c kind:function(arm,size=0x24) addr:0x020a8e9c +_ZN23ActorUnk_ov000_020a8bb08vfunc_b0Ev kind:function(arm,size=0x94) addr:0x020a8ec0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_88Ev kind:function(arm,size=0x8) addr:0x020a8f54 +_ZN23ActorUnk_ov000_020a8bb08vfunc_8cEv kind:function(arm,size=0x8) addr:0x020a8f5c +_ZN23ActorUnk_ov000_020a8bb08vfunc_90Ev kind:function(arm,size=0x8) addr:0x020a8f64 +_ZN23ActorUnk_ov000_020a8bb08vfunc_94Ev kind:function(arm,size=0xc) addr:0x020a8f6c +_ZN23ActorUnk_ov000_020a8bb08vfunc_60Ev kind:function(arm,size=0x68) addr:0x020a8f78 +_ZN23ActorUnk_ov000_020a8bb08vfunc_64Ev kind:function(arm,size=0x14) addr:0x020a8fe0 +func_ov000_020a8ff4 kind:function(arm,size=0x158) addr:0x020a8ff4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_6cEv kind:function(arm,size=0x4) addr:0x020a914c +_ZN23ActorUnk_ov000_020a8bb08vfunc_68Ev kind:function(arm,size=0x50) addr:0x020a9150 +_ZN23ActorUnk_ov000_020a8bb08vfunc_7cEv kind:function(arm,size=0x8) addr:0x020a91a0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_80Ev kind:function(arm,size=0x8) addr:0x020a91a8 +_ZN23ActorUnk_ov000_020a8bb08vfunc_84Ev kind:function(arm,size=0x8) addr:0x020a91b0 +func_ov000_020a91b8 kind:function(arm,size=0x48) addr:0x020a91b8 +func_ov000_020a9200 kind:function(arm,size=0x1c) addr:0x020a9200 +_ZN23ActorUnk_ov000_020a8bb08vfunc_70Ev kind:function(arm,size=0x24) addr:0x020a921c +_ZN23ActorUnk_ov000_020a8bb08vfunc_74Ev kind:function(arm,size=0x4) addr:0x020a9240 +_ZN23ActorUnk_ov000_020a8bb08vfunc_78Ev kind:function(arm,size=0x4) addr:0x020a9244 +func_ov000_020a9248 kind:function(arm,size=0x88) addr:0x020a9248 +_ZN23ActorUnk_ov000_020a8bb08vfunc_5cEv kind:function(arm,size=0x178) addr:0x020a92d0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_98Ev kind:function(arm,size=0x68) addr:0x020a9448 +_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a94b0Ev kind:function(arm,size=0xe8) addr:0x020a94b0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_9cEv kind:function(arm,size=0x2c) addr:0x020a9598 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a0Ev kind:function(arm,size=0x10) addr:0x020a95c4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_acEv kind:function(arm,size=0x4) addr:0x020a95d4 +func_ov000_020a95d8 kind:function(arm,size=0xc) addr:0x020a95d8 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a4Ev kind:function(arm,size=0x218) addr:0x020a95e4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a8Ev kind:function(arm,size=0x8) addr:0x020a97fc +func_ov000_020a9804 kind:function(arm,size=0xec) addr:0x020a9804 +_ZN23ActorUnk_ov000_020a8bb08vfunc_20Ev kind:function(arm,size=0x4) addr:0x020a98f0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_24Ev kind:function(arm,size=0x68) addr:0x020a98f4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_2cEv kind:function(arm,size=0x48) addr:0x020a995c +_ZN23ActorUnk_ov000_020a8bb08vfunc_b8Ev kind:function(arm,size=0x34) addr:0x020a99a4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_14Ev kind:function(arm,size=0x48) addr:0x020a99d8 +func_ov000_020a9a20 kind:function(arm,size=0x14) addr:0x020a9a20 +func_ov000_020a9a34 kind:function(arm,size=0x1c) addr:0x020a9a34 +func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020a9a50 +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_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 -_ZN11ItemManager19func_ov000_020a9d78Ei kind:function(arm,size=0x9c) addr:0x020a9d78 -_ZN11ItemManager19func_ov000_020a9e14Ei kind:function(arm,size=0x9c) addr:0x020a9e14 -_ZN11ItemManager19func_ov000_020a9eb0Ei kind:function(arm,size=0x9c) addr:0x020a9eb0 -_ZN11ItemManager19func_ov000_020a9f4cEi kind:function(arm,size=0xe0) addr:0x020a9f4c -_ZN11ItemManager19func_ov000_020aa02cEj kind:function(arm,size=0x80) addr:0x020aa02c -_ZN11ItemManager19func_ov000_020aa0acEj kind:function(arm,size=0x154) addr:0x020aa0ac -func_ov000_020aa200 kind:function(arm,size=0x10) addr:0x020aa200 -func_ov000_020aa210 kind:function(arm,size=0x14) addr:0x020aa210 +_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 +_ZN15TreasureManager19func_ov000_020a9f4cEi kind:function(arm,size=0xe0) addr:0x020a9f4c +_ZN15TreasureManager19func_ov000_020aa02cEi kind:function(arm,size=0x80) addr:0x020aa02c +_ZN15TreasureManager19func_ov000_020aa0acEi kind:function(arm,size=0x154) addr:0x020aa0ac +_ZN15TreasureManager19func_ov000_020aa200Ev kind:function(arm,size=0x10) addr:0x020aa200 +_ZN15TreasureManager19func_ov000_020aa210Ev kind:function(arm,size=0x14) addr:0x020aa210 func_ov000_020aa224 kind:function(arm,size=0x14) addr:0x020aa224 data_ov000_020aa238 kind:data(any) addr:0x020aa238 data_ov000_020aa240 kind:data(any) addr:0x020aa240 @@ -3276,8 +3276,8 @@ data_ov000_020af770 kind:data(any) addr:0x020af770 data_ov000_020af77c kind:data(any) addr:0x020af77c data_ov000_020af780 kind:data(any) addr:0x020af780 data_ov000_020afc3c kind:data(any) addr:0x020afc3c -data_ov000_020afc40 kind:data(any) addr:0x020afc40 -data_ov000_020afc43 kind:data(any) addr:0x020afc43 +gQuiverCapacities kind:data(any) addr:0x020afc40 +gBombBagCapacities kind:data(any) addr:0x020afc43 data_ov000_020afc48 kind:data(any) addr:0x020afc48 data_ov000_020afd08 kind:data(any) addr:0x020afd08 data_ov000_020afd0c kind:data(any) addr:0x020afd0c @@ -3999,7 +3999,7 @@ data_ov000_020b4d48 kind:data(any) addr:0x020b4d48 data_ov000_020b4d54 kind:data(any) addr:0x020b4d54 data_ov000_020b4d58 kind:data(any) addr:0x020b4d58 data_ov000_020b4d64 kind:data(any) addr:0x020b4d64 -data_ov000_020b4d90 kind:data(any) addr:0x020b4d90 +_ZTV23ActorUnk_ov000_020a8bb0 kind:data(any) addr:0x020b4d88 data_ov000_020b4e4c kind:data(any) addr:0x020b4e4c data_ov000_020b4e60 kind:data(any) addr:0x020b4e60 data_ov000_020b4e74 kind:data(any) addr:0x020b4e74 diff --git a/config/eur/arm9/overlays/ov001/relocs.txt b/config/eur/arm9/overlays/ov001/relocs.txt index 0776b945..e0ea0658 100644 --- a/config/eur/arm9/overlays/ov001/relocs.txt +++ b/config/eur/arm9/overlays/ov001/relocs.txt @@ -2369,7 +2369,7 @@ from:0x020c1684 kind:load to:0x020c5bd4 module:overlay(18) from:0x020c168c kind:load to:0x020c273c module:overlay(1) from:0x020c16f8 kind:load to:0x020c4701 module:overlay(1) from:0x020c16fc kind:load to:0x020c5c10 module:overlay(18) -from:0x020c1718 kind:load to:0x020c1528 add:5120 module:overlay(1) +from:0x020c1718 kind:load to:0x020c1528 add:0x1400 module:overlay(1) from:0x020c171c kind:load to:0x020c5b68 module:overlays(18,25) from:0x020c1720 kind:load to:0x020c29a0 module:overlay(1) from:0x020c1724 kind:load to:0x020c5b68 module:overlays(18,25) diff --git a/config/eur/arm9/overlays/ov024/symbols.txt b/config/eur/arm9/overlays/ov024/symbols.txt index 16fe6911..48405ba0 100644 --- a/config/eur/arm9/overlays/ov024/symbols.txt +++ b/config/eur/arm9/overlays/ov024/symbols.txt @@ -349,7 +349,7 @@ func_ov024_020cd1e4 kind:function(arm,size=0x98) addr:0x020cd1e4 func_ov024_020cd27c kind:function(arm,size=0xcc) addr:0x020cd27c func_ov024_020cd348 kind:function(arm,size=0x10) addr:0x020cd348 func_ov024_020cd358 kind:function(arm,size=0x10) addr:0x020cd358 -func_ov024_020cd368 kind:function(arm,size=0x3c) addr:0x020cd368 +_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cd368 func_ov024_020cd3a4 kind:function(arm,size=0x2c) addr:0x020cd3a4 func_ov024_020cd3d0 kind:function(arm,size=0x10) addr:0x020cd3d0 func_ov024_020cd3e0 kind:function(arm,size=0x10) addr:0x020cd3e0 @@ -357,7 +357,7 @@ func_ov024_020cd3f0 kind:function(arm,size=0x10) addr:0x020cd3f0 func_ov024_020cd400 kind:function(arm,size=0x10) addr:0x020cd400 func_ov024_020cd410 kind:function(arm,size=0x10) addr:0x020cd410 func_ov024_020cd420 kind:function(arm,size=0x38) addr:0x020cd420 -func_ov024_020cd458 kind:function(arm,size=0x4c) addr:0x020cd458 +_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020cd458 func_ov024_020cd4a4 kind:function(arm,size=0x40) addr:0x020cd4a4 func_ov024_020cd4e4 kind:function(arm,size=0xdc) addr:0x020cd4e4 func_ov024_020cd5c0 kind:function(arm,size=0x44) addr:0x020cd5c0 @@ -564,7 +564,7 @@ func_ov024_020d3c60 kind:function(thumb,size=0x94) addr:0x020d3c60 func_ov024_020d3cf4 kind:function(thumb,size=0x2c) addr:0x020d3cf4 func_ov024_020d3d20 kind:function(thumb,size=0x5e) addr:0x020d3d20 func_ov024_020d3d80 kind:function(thumb,size=0x18) addr:0x020d3d80 -func_ov024_020d3d98 kind:function(thumb,size=0x10) addr:0x020d3d98 +_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3d98Eii kind:function(thumb,size=0x10) addr:0x020d3d98 func_ov024_020d3da8 kind:function(thumb,size=0x16) addr:0x020d3da8 func_ov024_020d3dc0 kind:function(thumb,size=0xa) addr:0x020d3dc0 func_ov024_020d3dcc kind:function(thumb,size=0x20) addr:0x020d3dcc @@ -572,7 +572,7 @@ func_ov024_020d3dec kind:function(arm,size=0x20) addr:0x020d3dec func_ov024_020d3e0c kind:function(arm,size=0x24) addr:0x020d3e0c func_ov024_020d3e30 kind:function(arm,size=0x38) addr:0x020d3e30 func_ov024_020d3e68 kind:function(arm,size=0x80) addr:0x020d3e68 -func_ov024_020d3ee8 kind:function(arm,size=0x64) addr:0x020d3ee8 +_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3ee8Eiti kind:function(arm,size=0x64) addr:0x020d3ee8 func_ov024_020d3f4c kind:function(arm,size=0x40) addr:0x020d3f4c func_ov024_020d3f8c kind:function(arm,size=0x3c) addr:0x020d3f8c func_ov024_020d3fc8 kind:function(arm,size=0x40) addr:0x020d3fc8 @@ -698,7 +698,7 @@ 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 func_ov024_020d6650 kind:function(thumb,size=0x16) addr:0x020d6650 -func_ov024_020d6668 kind:function(thumb,size=0x16) addr:0x020d6668 +_ZN26ActorUnk_ov000_020a8bb0_ec19func_ov024_020d6668Ev kind:function(thumb,size=0x16) addr:0x020d6668 func_ov024_020d6680 kind:function(arm,size=0x40) addr:0x020d6680 func_ov024_020d66c0 kind:function(arm,size=0x44) addr:0x020d66c0 func_ov024_020d6704 kind:function(arm,size=0x2c) addr:0x020d6704 diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 45ad3924..b9fbb157 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -161,9 +161,9 @@ func_ov031_020db7c0 kind:function(thumb,size=0x16) addr:0x020db7c0 func_ov031_020db7d8 kind:function(thumb,size=0x1a) addr:0x020db7d8 func_ov031_020db7f4 kind:function(arm,size=0x50) addr:0x020db7f4 func_ov031_020db844 kind:function(arm,size=0x30) addr:0x020db844 -func_ov031_020db874 kind:function(arm,size=0x58) addr:0x020db874 -func_ov031_020db8cc kind:function(arm,size=0x2c) addr:0x020db8cc -func_ov031_020db8f8 kind:function(arm,size=0x44) addr:0x020db8f8 +_ZN24UnkStruct_ItemManager_2019func_ov031_020db874Ej kind:function(arm,size=0x58) addr:0x020db874 +_ZN24UnkStruct_ItemManager_2019func_ov031_020db8ccEv kind:function(arm,size=0x2c) addr:0x020db8cc +_ZN24UnkStruct_ItemManager_2019func_ov031_020db8f8Ev kind:function(arm,size=0x44) addr:0x020db8f8 func_ov031_020db93c kind:function(thumb,size=0x12) addr:0x020db93c func_ov031_020db950 kind:function(thumb,size=0x2) addr:0x020db950 func_ov031_020db954 kind:function(arm,size=0x4) addr:0x020db954 @@ -281,7 +281,7 @@ func_ov031_020e0624 kind:function(thumb,size=0x4c) addr:0x020e0624 func_ov031_020e0670 kind:function(thumb,size=0x68) addr:0x020e0670 func_ov031_020e06d8 kind:function(thumb,size=0x70) addr:0x020e06d8 func_ov031_020e0748 kind:function(arm,size=0x24) addr:0x020e0748 -func_ov031_020e076c kind:function(thumb,size=0x64) addr:0x020e076c +_ZN30UnkStruct_ov000_0208f820_30_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e076c func_ov031_020e07d0 kind:function(arm,size=0xb8) addr:0x020e07d0 func_ov031_020e0888 kind:function(arm,size=0x1c) addr:0x020e0888 func_ov031_020e08a4 kind:function(arm,size=0x50) addr:0x020e08a4 diff --git a/config/eur/arm9/overlays/ov053/symbols.txt b/config/eur/arm9/overlays/ov053/symbols.txt index 96e1224e..49617e2e 100644 --- a/config/eur/arm9/overlays/ov053/symbols.txt +++ b/config/eur/arm9/overlays/ov053/symbols.txt @@ -111,7 +111,7 @@ func_ov053_0213c9b0 kind:function(arm,size=0x1c) addr:0x0213c9b0 func_ov053_0213c9cc kind:function(arm,size=0x84) addr:0x0213c9cc func_ov053_0213ca50 kind:function(arm,size=0x8c) addr:0x0213ca50 func_ov053_0213cadc kind:function(arm,size=0x14) addr:0x0213cadc -func_ov053_0213caf0 kind:function(arm,size=0x98) addr:0x0213caf0 +_ZN27UnkStruct_ItemManager_20_1419func_ov053_0213caf0Ev kind:function(arm,size=0x98) addr:0x0213caf0 func_ov053_0213cb88 kind:function(arm,size=0x194) addr:0x0213cb88 data_ov053_0213cd1c kind:data(any) addr:0x0213cd1c data_ov053_0213cd2c kind:data(any) addr:0x0213cd2c diff --git a/config/eur/arm9/overlays/ov058/symbols.txt b/config/eur/arm9/overlays/ov058/symbols.txt index ab247dd8..43bb3be3 100644 --- a/config/eur/arm9/overlays/ov058/symbols.txt +++ b/config/eur/arm9/overlays/ov058/symbols.txt @@ -638,7 +638,7 @@ func_ov058_0215291c kind:function(arm,size=0x38) addr:0x0215291c func_ov058_02152954 kind:function(arm,size=0x14) addr:0x02152954 func_ov058_02152968 kind:function(thumb,size=0x5a) addr:0x02152968 func_ov058_021529c4 kind:function(arm,size=0x60) addr:0x021529c4 -func_ov058_02152a24 kind:function(thumb,size=0x64) addr:0x02152a24 +_ZN27UnkStruct_ov000_0208f820_2819func_ov058_02152a24Ev kind:function(thumb,size=0x64) addr:0x02152a24 func_ov058_02152a88 kind:function(arm,size=0x60) addr:0x02152a88 func_ov058_02152ae8 kind:function(arm,size=0x20) addr:0x02152ae8 func_ov058_02152b08 kind:function(arm,size=0x28) addr:0x02152b08 diff --git a/config/eur/arm9/overlays/ov062/symbols.txt b/config/eur/arm9/overlays/ov062/symbols.txt index 87d62687..e87697f6 100644 --- a/config/eur/arm9/overlays/ov062/symbols.txt +++ b/config/eur/arm9/overlays/ov062/symbols.txt @@ -69,7 +69,7 @@ func_ov062_02158be8 kind:function(arm,size=0x24) addr:0x02158be8 func_ov062_02158c0c kind:function(arm,size=0x3c) addr:0x02158c0c func_ov062_02158c48 kind:function(arm,size=0x80) addr:0x02158c48 func_ov062_02158cc8 kind:function(arm,size=0x20) addr:0x02158cc8 -func_ov062_02158ce8 kind:function(arm,size=0x10c) addr:0x02158ce8 +_ZN27UnkStruct_func_01fff3b4_ret19func_ov062_02158ce8Ev kind:function(arm,size=0x10c) addr:0x02158ce8 func_ov062_02158df4 kind:function(arm,size=0x44) addr:0x02158df4 func_ov062_02158e38 kind:function(arm,size=0x14) addr:0x02158e38 func_ov062_02158e4c kind:function(arm,size=0xfc) addr:0x02158e4c diff --git a/config/eur/arm9/overlays/ov110/delinks.txt b/config/eur/arm9/overlays/ov110/delinks.txt index 9319e47e..61eb6923 100644 --- a/config/eur/arm9/overlays/ov110/delinks.txt +++ b/config/eur/arm9/overlays/ov110/delinks.txt @@ -5,3 +5,10 @@ .data start:0x021861e0 end:0x02186240 kind:data align:32 .bss start:0x02186240 end:0x0218a1c0 kind:bss align:32 +src/110_PlayerGet/PlayerGet.cpp: + .text start:0x02184a40 end:0x02185dc4 + .rodata start:0x02185dc4 end:0x02186190 + .init start:0x02186190 end:0x021861bc + .ctor start:0x021861bc end:0x021861c4 + .data start:0x021861e0 end:0x02186240 + .bss start:0x02186240 end:0x0218a1c0 diff --git a/config/eur/arm9/overlays/ov110/relocs.txt b/config/eur/arm9/overlays/ov110/relocs.txt index 68462a00..9f99c3a0 100644 --- a/config/eur/arm9/overlays/ov110/relocs.txt +++ b/config/eur/arm9/overlays/ov110/relocs.txt @@ -19,7 +19,7 @@ from:0x02184d88 kind:load to:0x020afc43 module:overlay(0) from:0x02184d8c kind:load to:0x020afc40 module:overlay(0) from:0x02184d90 kind:load to:0x020d8698 module:overlay(24) from:0x02184d94 kind:load to:0x02185dc8 module:overlay(110) -from:0x02184d98 kind:load to:0x02185dca module:overlay(110) +from:0x02184d98 kind:load to:0x02185dc8 add:2 module:overlay(110) from:0x02184d9c kind:load to:0x027e09b8 module:dtcm from:0x02184da0 kind:load to:0x020b6510 module:overlay(0) from:0x02184da4 kind:load to:0x020d86b0 module:overlay(24) @@ -30,8 +30,8 @@ from:0x02184e10 kind:arm_call to:0x0208a0f0 module:overlay(0) from:0x02184e2c kind:arm_call to:0x020590e4 module:overlay(0) from:0x02184e44 kind:arm_call_thumb to:0x02057b70 module:overlay(0) from:0x02184e60 kind:arm_call to:0x0203d160 module:main -from:0x02184e6c kind:load to:0x0218620c module:overlay(110) -from:0x02184e70 kind:load to:0x02186200 module:overlay(110) +from:0x02184e6c kind:load to:0x02186204 add:8 module:overlay(110) +from:0x02184e70 kind:load to:0x021861f8 add:8 module:overlay(110) from:0x02184e74 kind:load to:0x020a02d4 module:overlay(0) from:0x02184e78 kind:load to:0x02185d30 module:overlay(110) from:0x02184e90 kind:arm_call to:0x0205ca74 module:overlay(0) @@ -41,7 +41,7 @@ from:0x02184f0c kind:arm_call to:0x0203d210 module:main from:0x02184f14 kind:arm_call_thumb to:0x02057b8c module:overlay(0) from:0x02184f1c kind:arm_call to:0x0208a164 module:overlay(0) from:0x02184f24 kind:arm_call to:0x0208f8c4 module:overlay(0) -from:0x02184f30 kind:load to:0x0218620c module:overlay(110) +from:0x02184f30 kind:load to:0x02186204 add:8 module:overlay(110) from:0x02184f34 kind:load to:0x027e0cec module:dtcm from:0x02184f3c kind:load to:0x020a02d4 module:overlay(0) from:0x02184f54 kind:arm_call to:0x0205ca74 module:overlay(0) @@ -52,7 +52,7 @@ from:0x02184fd8 kind:arm_call_thumb to:0x02057b8c module:overlay(0) from:0x02184fe0 kind:arm_call to:0x0208a164 module:overlay(0) from:0x02184fe8 kind:arm_call to:0x0208f8c4 module:overlay(0) from:0x02184ff0 kind:arm_call to:0x02011ff4 module:main -from:0x02184ffc kind:load to:0x0218620c module:overlay(110) +from:0x02184ffc kind:load to:0x02186204 add:8 module:overlay(110) from:0x02185000 kind:load to:0x027e0cec module:dtcm from:0x02185008 kind:load to:0x020a02d4 module:overlay(0) from:0x0218511c kind:arm_call to:0x020aa02c module:overlay(0) diff --git a/config/eur/arm9/overlays/ov110/symbols.txt b/config/eur/arm9/overlays/ov110/symbols.txt index a70b1e92..c88a7229 100644 --- a/config/eur/arm9/overlays/ov110/symbols.txt +++ b/config/eur/arm9/overlays/ov110/symbols.txt @@ -1,31 +1,24 @@ -func_ov110_02184a40 kind:function(arm,size=0x36c) addr:0x02184a40 -func_ov110_02184dac kind:function(arm,size=0x30) addr:0x02184dac -func_ov110_02184ddc kind:function(arm,size=0xa0) addr:0x02184ddc -func_ov110_02184e7c kind:function(arm,size=0xc4) addr:0x02184e7c -func_ov110_02184f40 kind:function(arm,size=0xcc) addr:0x02184f40 -func_ov110_0218500c kind:function(arm,size=0x5d8) addr:0x0218500c -func_ov110_021855e4 kind:function(arm,size=0x6d0) addr:0x021855e4 -func_ov110_02185cb4 kind:function(arm,size=0x7c) addr:0x02185cb4 -func_ov110_02185d30 kind:function(arm,size=0xc) addr:0x02185d30 -func_ov110_02185d3c kind:function(thumb,size=0x66) addr:0x02185d3c -func_ov110_02185da4 kind:function(arm,size=0x10) addr:0x02185da4 -func_ov110_02185db4 kind:function(arm,size=0x10) addr:0x02185db4 +_ZN11ItemManager19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x02184a40 +_ZN22UnkStruct_PlayerGet_748vfunc_00Eiii kind:function(arm,size=0x30) addr:0x02184dac +_ZN9PlayerGetC2Ev kind:function(arm,size=0xa0) addr:0x02184ddc +_ZN9PlayerGetD1Ev kind:function(arm,size=0xc4) addr:0x02184e7c +_ZN9PlayerGetD0Ev kind:function(arm,size=0xcc) addr:0x02184f40 +_ZN9PlayerGet8vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0x5d8) addr:0x0218500c +_ZN9PlayerGet8vfunc_10Ei 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 +data_ov110_02185dc4 kind:data(any) addr:0x02185dc4 data_ov110_02185dc8 kind:data(any) addr:0x02185dc8 -data_ov110_02185dca kind:data(any) addr:0x02185dca data_ov110_02185de8 kind:data(any) addr:0x02185de8 data_ov110_02185fbc kind:data(any) addr:0x02185fbc data_ov110_021860c4 kind:data(any) addr:0x021860c4 ambiguous -__sinit_ov110_02186190 kind:function(arm,size=0x2c) addr:0x02186190 -.p__sinit_ov110_02186190 kind:data(word) addr:0x021861bc +__sinit_PlayerGet.cpp kind:function(arm,size=0x2c) addr:0x02186190 +.p__sinit_PlayerGet.cpp kind:data(word) addr:0x021861bc data_ov110_021861e0 kind:data(any) addr:0x021861e0 data_ov110_021861ec kind:data(any) addr:0x021861ec -data_ov110_02186200 kind:data(any) addr:0x02186200 -data_ov110_0218620c kind:data(any) addr:0x0218620c -data_ov110_02186240 kind:bss addr:0x02186240 -data_ov110_02188e48 kind:bss addr:0x02188e48 ambiguous -data_ov110_02188f08 kind:bss addr:0x02188f08 ambiguous -data_ov110_02188f64 kind:bss addr:0x02188f64 ambiguous -data_ov110_02188f78 kind:bss addr:0x02188f78 ambiguous -data_ov110_02188f88 kind:bss addr:0x02188f88 ambiguous -data_ov110_02188f98 kind:bss addr:0x02188f98 ambiguous -data_ov110_02189280 kind:bss addr:0x02189280 ambiguous +_ZTV22UnkStruct_PlayerGet_74 kind:data(any) addr:0x021861f8 +_ZTV9PlayerGet kind:data(any) addr:0x02186204 +data_ov110_02186240 kind:bss(size=0x3F68) addr:0x02186240 diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index b317d0a1..4bb65375 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -145,7 +145,7 @@ func_02002e78 kind:function(arm,size=0x20) addr:0x02002e78 func_02002e98 kind:function(arm,size=0x20) addr:0x02002e98 func_02002eb8 kind:function(arm,size=0x20) addr:0x02002eb8 func_02002ed8 kind:function(arm,size=0x2c) addr:0x02002ed8 -func_02002f04 kind:function(arm,size=0x28) addr:0x02002f04 +_ZN24UnkStruct_ov000_020b51c013func_02002f04Ev kind:function(arm,size=0x28) addr:0x02002f04 func_02002f2c kind:function(arm,size=0x28) addr:0x02002f2c func_02002f54 kind:function(arm,size=0x48) addr:0x02002f54 func_02002f9c kind:function(arm,size=0x28) addr:0x02002f9c @@ -742,7 +742,7 @@ func_02014ff4 kind:function(arm,size=0x14) addr:0x02014ff4 func_02015008 kind:function(arm,size=0x28) addr:0x02015008 func_02015030 kind:function(arm,size=0x24) addr:0x02015030 func_02015054 kind:function(arm,size=0x2c) addr:0x02015054 -func_02015080 kind:function(arm,size=0x1c4) addr:0x02015080 +_ZN22UnkStruct_PlayerGet_5013func_02015080Ei kind:function(arm,size=0x1c4) addr:0x02015080 func_02015244 kind:function(arm,size=0x40) addr:0x02015244 func_02015284 kind:function(arm,size=0x7c) addr:0x02015284 func_02015300 kind:function(arm,size=0x38) addr:0x02015300 @@ -1980,9 +1980,9 @@ func_02033d7c kind:function(arm,size=0xac) addr:0x02033d7c func_02033e28 kind:function(arm,size=0x28) addr:0x02033e28 func_02033e50 kind:function(arm,size=0x4) addr:0x02033e50 func_02033e54 kind:function(arm,size=0x128) addr:0x02033e54 -func_02033f7c kind:function(arm,size=0x1c) addr:0x02033f7c +strlen kind:function(arm,size=0x1c) addr:0x02033f7c func_02033f98 kind:function(arm,size=0xc8) addr:0x02033f98 -func_02034060 kind:function(arm,size=0x50) addr:0x02034060 +strncpy kind:function(arm,size=0x50) addr:0x02034060 func_020340b0 kind:function(arm,size=0x114) addr:0x020340b0 func_020341c4 kind:function(arm,size=0x34) addr:0x020341c4 func_020341f8 kind:function(arm,size=0x10) addr:0x020341f8 @@ -2043,9 +2043,9 @@ func_02038d94 kind:function(arm,size=0x2c) addr:0x02038d94 func_02038dc0 kind:function(arm,size=0x8c) addr:0x02038dc0 func_02038e4c kind:function(arm,size=0x318) addr:0x02038e4c func_0203917c kind:function(arm,size=0x3b4) addr:0x0203917c -func_02039530 kind:function(arm,size=0x364) addr:0x02039530 -func_02039894 kind:function(arm,size=0x104) addr:0x02039894 -func_02039998 kind:function(arm,size=0x40) addr:0x02039998 +_dmul kind:function(arm,size=0x364) addr:0x02039530 +_fflt kind:function(arm,size=0x104) addr:0x02039894 +_dflt kind:function(arm,size=0x40) addr:0x02039998 func_020399d8 kind:function(arm,size=0x3c) addr:0x020399d8 func_02039a14 kind:function(arm,size=0x98) addr:0x02039a14 func_02039aac kind:function(arm,size=0xa4) addr:0x02039aac @@ -2061,11 +2061,11 @@ func_02039f04 kind:function(arm,size=0x48) addr:0x02039f04 func_02039f4c kind:function(arm,size=0x48) addr:0x02039f4c func_02039f94 kind:function(arm,size=0x10) addr:0x02039f94 func_02039fa4 kind:function(arm,size=0x1b0) addr:0x02039fa4 -func_0203a154 kind:function(arm,size=0xc) addr:0x0203a154 +_ll_udiv kind:function(arm,size=0xc) addr:0x0203a154 func_0203a160 kind:function(arm,size=0x3c) addr:0x0203a160 func_0203a19c kind:function(arm,size=0x20) addr:0x0203a19c -func_0203a1bc kind:function(arm,size=0x20c) addr:0x0203a1bc -func_0203a3c8 kind:function(arm,size=0x1e4) addr:0x0203a3c8 +_s32_div_f kind:function(arm,size=0x20c) addr:0x0203a1bc +_u32_div_f kind:function(arm,size=0x1e4) addr:0x0203a3c8 .L_0203a3d0 kind:label(arm) addr:0x0203a3d0 func_0203a5ac kind:function(arm,size=0x34) addr:0x0203a5ac func_0203a5e0 kind:function(arm,size=0x40) addr:0x0203a5e0 @@ -2078,7 +2078,7 @@ func_0203ab58 kind:function(arm,size=0x21c) addr:0x0203ab58 func_0203ad74 kind:function(arm,size=0x8) addr:0x0203ad74 func_0203ad88 kind:function(arm,size=0x278) addr:0x0203ad88 func_0203b00c kind:function(arm,size=0x3b8) addr:0x0203b00c -func_0203b3dc kind:function(arm,size=0x544) addr:0x0203b3dc +_ddiv kind:function(arm,size=0x544) addr:0x0203b3dc func_0203b920 kind:function(arm,size=0x4) addr:0x0203b920 func_0203b924 kind:function(arm,size=0xc) addr:0x0203b924 func_0203b930 kind:function(arm,size=0x4) addr:0x0203b930 @@ -2108,7 +2108,7 @@ func_0203cd70 kind:function(arm,size=0x28) addr:0x0203cd70 func_0203cd98 kind:function(arm,size=0x14) addr:0x0203cd98 func_0203cdac kind:function(arm,size=0xc) addr:0x0203cdac CallStaticInitializers kind:function(arm,size=0x30) addr:0x0203cdb8 -func_0203cde8 kind:function(arm,size=0x44) addr:0x0203cde8 +__destroy_global_chain kind:function(arm,size=0x44) addr:0x0203cde8 func_0203ce2c kind:function(arm,size=0xc) addr:0x0203ce2c func_0203ce38 kind:function(arm,size=0xc) addr:0x0203ce38 func_0203ce44 kind:function(arm,size=0x18) addr:0x0203ce44 @@ -2118,8 +2118,8 @@ func_0203ce94 kind:function(arm,size=0x1b4) addr:0x0203ce94 func_0203d048 kind:function(arm,size=0x48) addr:0x0203d048 func_0203d090 kind:function(arm,size=0x14) addr:0x0203d090 func_0203d0a4 kind:function(arm,size=0xbc) addr:0x0203d0a4 -func_0203d160 kind:function(arm,size=0xb0) addr:0x0203d160 -func_0203d210 kind:function(arm,size=0x48) addr:0x0203d210 +__cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0203d160 +__cxa_vec_cleanup kind:function(arm,size=0x48) addr:0x0203d210 func_0203d258 kind:function(arm,size=0x14) addr:0x0203d258 func_0203d26c kind:function(arm,size=0x4) addr:0x0203d26c func_0203d270 kind:function(arm,size=0x30) addr:0x0203d270 @@ -2134,7 +2134,7 @@ func_0203d410 kind:function(arm,size=0x20) addr:0x0203d410 func_0203d430 kind:function(arm,size=0x28) addr:0x0203d430 func_0203d458 kind:function(arm,size=0x30) addr:0x0203d458 func_0203d488 kind:function(arm,size=0x48) addr:0x0203d488 -func_0203d4d0 kind:function(arm,size=0x4c) addr:0x0203d4d0 +func_0204fc68 kind:function(arm,size=0x4c) addr:0x0203d4d0 data_0203d51c kind:data(any) addr:0x0203d51c data_0203d52c kind:data(any) addr:0x0203d52c data_0203d540 kind:data(any) addr:0x0203d540 diff --git a/config/jp/arm9/itcm/symbols.txt b/config/jp/arm9/itcm/symbols.txt index 32e6fb21..0b93935e 100644 --- a/config/jp/arm9/itcm/symbols.txt +++ b/config/jp/arm9/itcm/symbols.txt @@ -10,7 +10,7 @@ func_01ff8d94 kind:function(arm,size=0x18) addr:0x01ff8d94 func_01ff8dac kind:function(arm,size=0xac) addr:0x01ff8dac func_01ff8e58 kind:function(arm,size=0xe8) addr:0x01ff8e58 func_01ff8f40 kind:function(arm,size=0x68) addr:0x01ff8f40 -func_01ff8fa8 kind:function(arm,size=0x40) addr:0x01ff8fa8 +_ZN22UnkStruct_PlayerGet_5013func_01ff8fa8Ev kind:function(arm,size=0x40) addr:0x01ff8fa8 func_01ff8fe8 kind:function(arm,size=0x128) addr:0x01ff8fe8 func_01ff9110 kind:function(arm,size=0x5c) addr:0x01ff9110 func_01ff916c kind:function(arm,size=0x4c) addr:0x01ff916c @@ -156,7 +156,7 @@ func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294 func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0 func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8 func_01ffd400 kind:function(arm,size=0x20) addr:0x01ffd400 -func_01ffd420 kind:function(arm,size=0x1c) addr:0x01ffd420 +_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420 func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c func_01ffd640 kind:function(arm,size=0x128) addr:0x01ffd640 @@ -203,7 +203,7 @@ func_01fff350 kind:function(arm,size=0x64) addr:0x01fff350 _ZN18UnkStruct_027e0ce413func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4 func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440 func_01fff458 kind:function(arm,size=0xc) addr:0x01fff458 -func_01fff464 kind:function(arm,size=0x34) addr:0x01fff464 +_ZN5Actor8vfunc_10Ev kind:function(arm,size=0x34) addr:0x01fff464 func_01fff498 kind:function(arm,size=0x34) addr:0x01fff498 func_01fff4cc kind:function(arm,size=0x54) addr:0x01fff4cc func_01fff520 kind:function(arm,size=0x64) addr:0x01fff520 diff --git a/config/jp/arm9/overlays/ov000/delinks.txt b/config/jp/arm9/overlays/ov000/delinks.txt index cb92c63a..da18d9b5 100644 --- a/config/jp/arm9/overlays/ov000/delinks.txt +++ b/config/jp/arm9/overlays/ov000/delinks.txt @@ -5,3 +5,18 @@ .data start:0x020b3160 end:0x020b66c0 kind:data align:32 .bss start:0x020b66c0 end:0x020b7d40 kind:bss align:32 +src/000_Second/Actor/Actor.cpp: + .text start:0x02099b30 end:0x02099dfc + .data start:0x020b48e4 end:0x020b4948 + +src/000_Second/Item/ItemManager.cpp: + complete + .text start:0x020a9e3c end:0x020aa2e0 + .rodata start:0x020b1450 end:0x020b1458 + +src/000_Second/ActorUnk_ov000_020a8bb0.cpp: + .text start:0x020aa2e0 end:0x020ab310 + .data start:0x020b6588 end:0x020b664c + +src/000_Second/Item/TreasureManager.cpp: + .text start:0x020ab310 end:0x020aba00 diff --git a/config/jp/arm9/overlays/ov000/relocs.txt b/config/jp/arm9/overlays/ov000/relocs.txt index ffc3b8c9..3797415e 100644 --- a/config/jp/arm9/overlays/ov000/relocs.txt +++ b/config/jp/arm9/overlays/ov000/relocs.txt @@ -6680,7 +6680,7 @@ from:0x02099b8c kind:arm_call to:0x02098dac module:overlay(0) from:0x02099ba8 kind:arm_call to:0x0202a20c module:main from:0x02099bf4 kind:arm_call to:0x02099dd4 module:overlay(0) from:0x02099c00 kind:arm_call to:0x02099c34 module:overlay(0) -from:0x02099c0c kind:load to:0x020b48ec module:overlay(0) +from:0x02099c0c kind:load to:0x020b48e4 add:8 module:overlay(0) from:0x02099c10 kind:load to:0x020b6ba4 module:overlay(0) from:0x02099c24 kind:arm_call to:0x02011ff4 module:main from:0x02099c90 kind:arm_call to:0x02099c98 module:overlay(0) @@ -8370,11 +8370,11 @@ from:0x020a9dc8 kind:thumb_call_arm to:0x0202a190 module:main from:0x020a9f44 kind:load to:0x020b1450 module:overlay(0) from:0x020a9f64 kind:load to:0x020b1453 module:overlay(0) from:0x020a9fb8 kind:arm_call to:0x020cebb8 module:overlay(24) -from:0x020a9fc4 kind:load to:0x020da038 module:overlays(19,24) +from:0x020a9fc4 kind:load to:0x020da038 module:overlay(24) from:0x020a9ff8 kind:arm_call to:0x020a9f28 module:overlay(0) from:0x020aa02c kind:arm_call to:0x020a9f48 module:overlay(0) from:0x020aa07c kind:arm_call to:0x020ceca8 module:overlay(24) -from:0x020aa088 kind:load to:0x020da038 module:overlays(19,24) +from:0x020aa088 kind:load to:0x020da038 module:overlay(24) from:0x020aa180 kind:load to:0x020b1458 module:overlay(0) from:0x020aa194 kind:arm_call to:0x020aa174 module:overlay(0) from:0x020aa1c4 kind:thumb_call_arm to:0x0213e524 module:overlay(53) @@ -8396,7 +8396,7 @@ from:0x020aa3ac kind:load to:0x020b152c module:overlay(0) from:0x020aa3c0 kind:arm_call to:0x02099b30 module:overlay(0) from:0x020aa3d0 kind:arm_call to:0x02080464 module:overlay(0) from:0x020aa448 kind:arm_call_thumb to:0x020d800c module:overlay(24) -from:0x020aa4b4 kind:load to:0x020b6590 module:overlay(0) +from:0x020aa4b4 kind:load to:0x020b6588 add:8 module:overlay(0) from:0x020aa4cc kind:arm_call to:0x020804a0 module:overlay(0) from:0x020aa4d4 kind:arm_call to:0x02099c30 module:overlay(0) from:0x020aa4ec kind:arm_call to:0x020804a0 module:overlay(0) diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index d47c363f..455fc153 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -91,8 +91,8 @@ func_ov000_02059088 kind:function(arm,size=0x1c) addr:0x02059088 func_ov000_020590a4 kind:function(arm,size=0x14) addr:0x020590a4 func_ov000_020590b8 kind:function(arm,size=0x1c) addr:0x020590b8 func_ov000_020590d4 kind:function(thumb,size=0x1c) addr:0x020590d4 -func_ov000_020590f0 kind:function(thumb,size=0x1c) addr:0x020590f0 -func_ov000_0205910c kind:function(thumb,size=0x20) addr:0x0205910c +_ZN22UnkStruct_PlayerGet_8cC1Ei kind:function(thumb,size=0x1c) addr:0x020590f0 +_ZN22UnkStruct_PlayerGet_8cD1Ev kind:function(thumb,size=0x20) addr:0x0205910c func_ov000_0205912c kind:function(thumb,size=0x28) addr:0x0205912c func_ov000_02059154 kind:function(thumb,size=0x20) addr:0x02059154 func_ov000_02059174 kind:function(arm,size=0x20) addr:0x02059174 @@ -179,10 +179,10 @@ func_ov000_0205a4dc kind:function(arm,size=0x18) addr:0x0205a4dc func_ov000_0205a4f4 kind:function(arm,size=0x10) addr:0x0205a4f4 func_ov000_0205a504 kind:function(arm,size=0x18) addr:0x0205a504 func_ov000_0205a51c kind:function(arm,size=0x28) addr:0x0205a51c -func_ov000_0205a544 kind:function(arm,size=0x34) addr:0x0205a544 +func_ov000_02058fc4 kind:function(arm,size=0x34) addr:0x0205a544 func_ov000_0205a578 kind:function(arm,size=0xdc) addr:0x0205a578 func_ov000_0205a654 kind:function(arm,size=0x10) addr:0x0205a654 -func_ov000_0205a664 kind:function(arm,size=0x24) addr:0x0205a664 +_ZN27UnkStruct_PlayerGet_74_baseC2Ev kind:function(arm,size=0x24) addr:0x0205a664 func_ov000_0205a688 kind:function(arm,size=0x30) addr:0x0205a688 func_ov000_0205a6b8 kind:function(arm,size=0x30) addr:0x0205a6b8 func_ov000_0205a6e8 kind:function(arm,size=0x28) addr:0x0205a6e8 @@ -347,7 +347,7 @@ func_ov000_0205df3c kind:function(arm,size=0x1c) addr:0x0205df3c func_ov000_0205df58 kind:function(arm,size=0x48) addr:0x0205df58 func_ov000_0205dfa0 kind:function(arm,size=0x1c) addr:0x0205dfa0 func_ov000_0205dfbc kind:function(arm,size=0x40) addr:0x0205dfbc -func_ov000_0205dffc kind:function(arm,size=0x40) addr:0x0205dffc +func_ov000_0205ca74 kind:function(arm,size=0x40) addr:0x0205dffc func_ov000_0205e03c kind:function(arm,size=0x28) addr:0x0205e03c func_ov000_0205e064 kind:function(arm,size=0xe8) addr:0x0205e064 func_ov000_0205e14c kind:function(arm,size=0x17c) addr:0x0205e14c @@ -723,7 +723,7 @@ func_ov000_02069040 kind:function(arm,size=0x7c) addr:0x02069040 func_ov000_020690bc kind:function(arm,size=0x40) addr:0x020690bc func_ov000_020690fc kind:function(arm,size=0x54) addr:0x020690fc func_ov000_02069150 kind:function(arm,size=0x10) addr:0x02069150 -func_ov000_02069160 kind:function(arm,size=0x1c) addr:0x02069160 +_ZN24UnkStruct_ov000_02067bc419func_ov000_02067bc4Ei kind:function(arm,size=0x1c) addr:0x02069160 func_ov000_0206917c kind:function(arm,size=0x10) addr:0x0206917c func_ov000_0206918c kind:function(arm,size=0x8) addr:0x0206918c func_ov000_02069194 kind:function(arm,size=0x8) addr:0x02069194 @@ -881,7 +881,7 @@ func_ov000_0206dc14 kind:function(arm,size=0x64) addr:0x0206dc14 func_ov000_0206dc78 kind:function(arm,size=0x18) addr:0x0206dc78 func_ov000_0206dc90 kind:function(arm,size=0x290) addr:0x0206dc90 func_ov000_0206df20 kind:function(arm,size=0x3c) addr:0x0206df20 -func_ov000_0206df5c kind:function(arm,size=0x714) addr:0x0206df5c +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c9a8Eiiii kind:function(arm,size=0x714) addr:0x0206df5c func_ov000_0206e670 kind:function(arm,size=0x30) addr:0x0206e670 func_ov000_0206e6a0 kind:function(arm,size=0x48) addr:0x0206e6a0 func_ov000_0206e6e8 kind:function(arm,size=0x4c) addr:0x0206e6e8 @@ -889,7 +889,7 @@ func_ov000_0206e734 kind:function(arm,size=0x18) addr:0x0206e734 func_ov000_0206e74c kind:function(arm,size=0x14) addr:0x0206e74c func_ov000_0206e760 kind:function(arm,size=0x88) addr:0x0206e760 func_ov000_0206e7e8 kind:function(arm,size=0x40) addr:0x0206e7e8 -func_ov000_0206e828 kind:function(arm,size=0x2c) addr:0x0206e828 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d274Ei kind:function(arm,size=0x2c) addr:0x0206e828 func_ov000_0206e854 kind:function(arm,size=0x40) addr:0x0206e854 func_ov000_0206e894 kind:function(arm,size=0x10) addr:0x0206e894 func_ov000_0206e8a4 kind:function(arm,size=0x34) addr:0x0206e8a4 @@ -1019,7 +1019,7 @@ func_ov000_020721b0 kind:function(arm,size=0x1c) addr:0x020721b0 func_ov000_020721cc kind:function(arm,size=0x20) addr:0x020721cc func_ov000_020721ec kind:function(arm,size=0x44) addr:0x020721ec func_ov000_02072230 kind:function(arm,size=0x58) addr:0x02072230 -func_ov000_02072288 kind:function(arm,size=0x94) addr:0x02072288 +_ZN18UnkStruct_027e09a419func_ov000_02070bd0Eii kind:function(arm,size=0x94) addr:0x02072288 func_ov000_0207231c kind:function(arm,size=0x20) addr:0x0207231c func_ov000_0207233c kind:function(arm,size=0x3c) addr:0x0207233c func_ov000_02072378 kind:function(arm,size=0x3c) addr:0x02072378 @@ -1125,9 +1125,9 @@ func_ov000_0207487c kind:function(arm,size=0x30) addr:0x0207487c func_ov000_020748ac kind:function(arm,size=0x40) addr:0x020748ac func_ov000_020748ec kind:function(arm,size=0x3c) addr:0x020748ec func_ov000_02074928 kind:function(arm,size=0x6c) addr:0x02074928 -func_ov000_02074994 kind:function(arm,size=0x10) addr:0x02074994 -func_ov000_020749a4 kind:function(arm,size=0x10) addr:0x020749a4 -func_ov000_020749b4 kind:function(arm,size=0x10) addr:0x020749b4 +_ZN18UnkStruct_027e09b819func_ov000_020732dcEi kind:function(arm,size=0x10) addr:0x02074994 +_ZN18UnkStruct_027e09b819func_ov000_020732ecEi kind:function(arm,size=0x10) addr:0x020749a4 +_ZN18UnkStruct_027e09b819func_ov000_020732fcEi kind:function(arm,size=0x10) addr:0x020749b4 func_ov000_020749c4 kind:function(arm,size=0x20) addr:0x020749c4 func_ov000_020749e4 kind:function(arm,size=0x5c) addr:0x020749e4 func_ov000_02074a40 kind:function(arm,size=0xe8) addr:0x02074a40 @@ -1249,7 +1249,7 @@ func_ov000_020797b4 kind:function(arm,size=0x8c) addr:0x020797b4 func_ov000_02079840 kind:function(arm,size=0x4c) addr:0x02079840 func_ov000_0207988c kind:function(arm,size=0x14) addr:0x0207988c func_ov000_020798a0 kind:function(arm,size=0x48) addr:0x020798a0 -func_ov000_020798e8 kind:function(arm,size=0xe4) addr:0x020798e8 +_ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x020798e8 func_ov000_020799cc kind:function(arm,size=0x38) addr:0x020799cc func_ov000_02079a04 kind:function(arm,size=0x40) addr:0x02079a04 func_ov000_02079a44 kind:function(arm,size=0x70) addr:0x02079a44 @@ -1494,9 +1494,9 @@ func_ov000_020803c8 kind:function(arm,size=0x30) addr:0x020803c8 func_ov000_020803f8 kind:function(arm,size=0x44) addr:0x020803f8 func_ov000_0208043c kind:function(arm,size=0x8) addr:0x0208043c func_ov000_02080444 kind:function(arm,size=0x20) addr:0x02080444 -func_ov000_02080464 kind:function(arm,size=0x20) addr:0x02080464 +_ZN26ActorUnk_ov000_020a8bb0_94C1Ev kind:function(arm,size=0x20) addr:0x02080464 func_ov000_02080484 kind:function(arm,size=0x1c) addr:0x02080484 -func_ov000_020804a0 kind:function(arm,size=0x30) addr:0x020804a0 +_ZN26ActorUnk_ov000_020a8bb0_94D1Ev kind:function(arm,size=0x30) addr:0x020804a0 func_ov000_020804d0 kind:function(arm,size=0x38) addr:0x020804d0 func_ov000_02080508 kind:function(arm,size=0x30) addr:0x02080508 func_ov000_02080538 kind:function(arm,size=0x4) addr:0x02080538 @@ -1574,7 +1574,7 @@ func_ov000_02081fac kind:function(arm,size=0x5c) addr:0x02081fac func_ov000_02082008 kind:function(arm,size=0x48) addr:0x02082008 func_ov000_02082050 kind:function(arm,size=0x40) addr:0x02082050 func_ov000_02082090 kind:function(arm,size=0x6c) addr:0x02082090 -func_ov000_020820fc kind:function(arm,size=0x18) addr:0x020820fc +_ZN21UnkStruct_027e0cd8_0c19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x020820fc func_ov000_02082114 kind:function(arm,size=0x1c) addr:0x02082114 func_ov000_02082130 kind:function(arm,size=0x18) addr:0x02082130 func_ov000_02082148 kind:function(arm,size=0x1c) addr:0x02082148 @@ -1634,7 +1634,7 @@ func_ov000_02083414 kind:function(arm,size=0x20) addr:0x02083414 func_ov000_02083434 kind:function(arm,size=0xb4) addr:0x02083434 func_ov000_020834e8 kind:function(arm,size=0x8c) addr:0x020834e8 func_ov000_02083574 kind:function(arm,size=0x10) addr:0x02083574 -func_ov000_02083584 kind:function(arm,size=0x10) addr:0x02083584 +_ZN18UnkStruct_027e0cd819func_ov000_02081eccEsi kind:function(arm,size=0x10) addr:0x02083584 func_ov000_02083594 kind:function(arm,size=0x10) addr:0x02083594 func_ov000_020835a4 kind:function(arm,size=0x50) addr:0x020835a4 func_ov000_020835f4 kind:function(arm,size=0x4c) addr:0x020835f4 @@ -1867,15 +1867,15 @@ func_ov000_0208b648 kind:function(arm,size=0x24) addr:0x0208b648 func_ov000_0208b66c kind:function(arm,size=0x18) addr:0x0208b66c func_ov000_0208b684 kind:function(arm,size=0xe0) addr:0x0208b684 func_ov000_0208b764 kind:function(arm,size=0x60) addr:0x0208b764 -func_ov000_0208b7c4 kind:function(arm,size=0x10) addr:0x0208b7c4 +_ZN22UnkStruct_PlayerGet_64C1EPii kind:function(arm,size=0x10) addr:0x0208b7c4 func_ov000_0208b7d4 kind:function(arm,size=0x64) addr:0x0208b7d4 -func_ov000_0208b838 kind:function(arm,size=0x64) addr:0x0208b838 +_ZN22UnkStruct_PlayerGet_64D1Ev kind:function(arm,size=0x64) addr:0x0208b838 func_ov000_0208b89c kind:function(thumb,size=0x48) addr:0x0208b89c func_ov000_0208b8e4 kind:function(thumb,size=0x8) addr:0x0208b8e4 func_ov000_0208b8ec kind:function(thumb,size=0x36) addr:0x0208b8ec func_ov000_0208b924 kind:function(thumb,size=0x74) addr:0x0208b924 func_ov000_0208b998 kind:function(arm,size=0x54) addr:0x0208b998 -func_ov000_0208b9ec kind:function(arm,size=0x74) addr:0x0208b9ec +_ZN18UnkStruct_027e0ce019func_ov000_0208a318Eiii kind:function(arm,size=0x74) addr:0x0208b9ec func_ov000_0208ba60 kind:function(arm,size=0x30) addr:0x0208ba60 func_ov000_0208ba90 kind:function(arm,size=0x328) addr:0x0208ba90 func_ov000_0208bdb8 kind:function(arm,size=0x48) addr:0x0208bdb8 @@ -2073,10 +2073,10 @@ func_ov000_020906e8 kind:function(arm,size=0x430) addr:0x020906e8 func_ov000_02090b18 kind:function(arm,size=0x120) addr:0x02090b18 func_ov000_02090c38 kind:function(arm,size=0x124) addr:0x02090c38 func_ov000_02090d5c kind:function(arm,size=0x1a0) addr:0x02090d5c -func_ov000_02090efc kind:function(arm,size=0x8c) addr:0x02090efc +_ZN24UnkStruct_ov000_0208f820C2Ev kind:function(arm,size=0x8c) addr:0x02090efc func_ov000_02090f88 kind:function(arm,size=0x4) addr:0x02090f88 func_ov000_02090f8c kind:function(arm,size=0x14) addr:0x02090f8c -func_ov000_02090fa0 kind:function(arm,size=0x4) addr:0x02090fa0 +_ZN24UnkStruct_ov000_0208f820D2Ev kind:function(arm,size=0x4) addr:0x02090fa0 func_ov000_02090fa4 kind:function(arm,size=0x8c) addr:0x02090fa4 func_ov000_02091030 kind:function(arm,size=0x40) addr:0x02091030 func_ov000_02091070 kind:function(arm,size=0x11c) addr:0x02091070 @@ -2087,14 +2087,14 @@ func_ov000_020915d0 kind:function(arm,size=0x44) addr:0x020915d0 func_ov000_02091614 kind:function(arm,size=0x154) addr:0x02091614 func_ov000_02091768 kind:function(arm,size=0xc8) addr:0x02091768 func_ov000_02091830 kind:function(arm,size=0x48) addr:0x02091830 -func_ov000_02091878 kind:function(arm,size=0x8) addr:0x02091878 +_ZN24UnkStruct_ov000_0208f8208vfunc_00Ev kind:function(arm,size=0x8) addr:0x02091878 func_ov000_02091880 kind:function(arm,size=0x50) addr:0x02091880 func_ov000_020918d0 kind:function(arm,size=0x55c) addr:0x020918d0 func_ov000_02091e2c kind:function(arm,size=0x3c) addr:0x02091e2c func_ov000_02091e68 kind:function(arm,size=0x30) addr:0x02091e68 -func_ov000_02091e98 kind:function(arm,size=0x4) addr:0x02091e98 +_ZN24UnkStruct_ov000_0208f8208vfunc_14Ev kind:function(arm,size=0x4) addr:0x02091e98 func_ov000_02091e9c kind:function(arm,size=0x4) addr:0x02091e9c -func_ov000_02091ea0 kind:function(arm,size=0x54) addr:0x02091ea0 +_ZN24UnkStruct_ov000_0208f8208vfunc_1cEv kind:function(arm,size=0x54) addr:0x02091ea0 func_ov000_02091ef4 kind:function(arm,size=0x38) addr:0x02091ef4 func_ov000_02091f2c kind:function(arm,size=0x90) addr:0x02091f2c func_ov000_02091fbc kind:function(arm,size=0x104) addr:0x02091fbc @@ -2121,7 +2121,7 @@ func_ov000_02093770 kind:function(arm,size=0x1c) addr:0x02093770 func_ov000_0209378c kind:function(arm,size=0x34) addr:0x0209378c func_ov000_020937c0 kind:function(arm,size=0xc4) addr:0x020937c0 func_ov000_02093884 kind:function(arm,size=0x3c) addr:0x02093884 -func_ov000_020938c0 kind:function(arm,size=0x464) addr:0x020938c0 +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020938c0 func_ov000_02093d24 kind:function(arm,size=0x7f0) addr:0x02093d24 func_ov000_02094514 kind:function(arm,size=0x70) addr:0x02094514 func_ov000_02094584 kind:function(arm,size=0x24) addr:0x02094584 @@ -2139,7 +2139,7 @@ func_ov000_02094ce8 kind:function(arm,size=0x44) addr:0x02094ce8 func_ov000_02094d2c kind:function(arm,size=0x4c) addr:0x02094d2c func_ov000_02094d78 kind:function(arm,size=0x28) addr:0x02094d78 func_ov000_02094da0 kind:function(arm,size=0x28) addr:0x02094da0 -func_ov000_02094dc8 kind:function(arm,size=0x2c) addr:0x02094dc8 +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x02094dc8 func_ov000_02094df4 kind:function(arm,size=0x38) addr:0x02094df4 func_ov000_02094e2c kind:function(arm,size=0x3c) addr:0x02094e2c func_ov000_02094e68 kind:function(arm,size=0x58) addr:0x02094e68 @@ -2148,7 +2148,7 @@ func_ov000_02094f80 kind:function(arm,size=0x2c) addr:0x02094f80 func_ov000_02094fac kind:function(arm,size=0x2c) addr:0x02094fac func_ov000_02094fd8 kind:function(arm,size=0x58) addr:0x02094fd8 func_ov000_02095030 kind:function(arm,size=0xb0) addr:0x02095030 -func_ov000_020950e0 kind:function(arm,size=0x10) addr:0x020950e0 +_ZN27UnkStruct_ov000_0208f820_3019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x020950e0 func_ov000_020950f0 kind:function(arm,size=0x30) addr:0x020950f0 func_ov000_02095120 kind:function(arm,size=0x44) addr:0x02095120 func_ov000_02095164 kind:function(arm,size=0x28) addr:0x02095164 @@ -2259,7 +2259,7 @@ 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 -func_ov000_02098dac kind:function(arm,size=0x78) addr:0x02098dac +_ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x02098dac _ZN23ActorUnk_ov000_0209767cC2Ej kind:function(arm,size=0xa8) addr:0x02098e24 func_ov000_02098ecc kind:function(arm,size=0x28) addr:0x02098ecc func_ov000_02098ef4 kind:function(arm,size=0x8) addr:0x02098ef4 @@ -2309,28 +2309,28 @@ func_ov000_02099a80 kind:function(arm,size=0x80) addr:0x02099a80 func_ov000_02099b00 kind:function(arm,size=0x14) addr:0x02099b00 func_ov000_02099b14 kind:function(arm,size=0x1c) addr:0x02099b14 _ZN5ActorC2Ev kind:function(arm,size=0xe8) addr:0x02099b30 -func_ov000_02099c18 kind:function(arm,size=0x4) addr:0x02099c18 -func_ov000_02099c1c kind:function(arm,size=0x14) addr:0x02099c1c +_ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x02099c18 +_ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x02099c1c _ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x02099c30 -func_ov000_02099c34 kind:function(arm,size=0x1c) addr:0x02099c34 -func_ov000_02099c50 kind:function(arm,size=0x8) addr:0x02099c50 -func_ov000_02099c58 kind:function(arm,size=0x4) addr:0x02099c58 -func_ov000_02099c5c kind:function(arm,size=0x4) addr:0x02099c5c -func_ov000_02099c60 kind:function(arm,size=0x4) addr:0x02099c60 -func_ov000_02099c64 kind:function(arm,size=0x4) addr:0x02099c64 -func_ov000_02099c68 kind:function(arm,size=0x4) addr:0x02099c68 -func_ov000_02099c6c kind:function(arm,size=0x4) addr:0x02099c6c -func_ov000_02099c70 kind:function(arm,size=0x8) addr:0x02099c70 +_ZN5Actor19func_ov000_0209848cEP27UnkStruct_ov000_020b539c_30 kind:function(arm,size=0x1c) addr:0x02099c34 +_ZN5Actor8vfunc_18Ev kind:function(arm,size=0x8) addr:0x02099c50 +_ZN5Actor8vfunc_1cEv kind:function(arm,size=0x4) addr:0x02099c58 +_ZN5Actor8vfunc_20Ev kind:function(arm,size=0x4) addr:0x02099c5c +_ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x02099c60 +_ZN5Actor8vfunc_28Ev kind:function(arm,size=0x4) addr:0x02099c64 +_ZN5Actor8vfunc_2cEv kind:function(arm,size=0x4) addr:0x02099c68 +_ZN5Actor8vfunc_30Ev kind:function(arm,size=0x4) addr:0x02099c6c +_ZN5Actor8vfunc_34Ev kind:function(arm,size=0x8) addr:0x02099c70 _ZN5Actor19func_ov000_020984d0Ev kind:function(arm,size=0x20) addr:0x02099c78 -func_ov000_02099c98 kind:function(arm,size=0x28) addr:0x02099c98 -func_ov000_02099cc0 kind:function(arm,size=0x24) addr:0x02099cc0 -func_ov000_02099ce4 kind:function(arm,size=0x18) addr:0x02099ce4 -func_ov000_02099cfc kind:function(arm,size=0x18) addr:0x02099cfc -func_ov000_02099d14 kind:function(arm,size=0xc) addr:0x02099d14 -func_ov000_02099d20 kind:function(arm,size=0xc) addr:0x02099d20 -func_ov000_02099d2c kind:function(arm,size=0x6c) addr:0x02099d2c -func_ov000_02099d98 kind:function(arm,size=0x3c) addr:0x02099d98 -func_ov000_02099dd4 kind:function(arm,size=0x28) addr:0x02099dd4 +_ZN5Actor19func_ov000_020984f0Ev kind:function(arm,size=0x28) addr:0x02099c98 +_ZN5Actor8vfunc_00EP5Vec3p kind:function(arm,size=0x24) addr:0x02099cc0 +_ZN5Actor19func_ov000_0209853cEv kind:function(arm,size=0x18) addr:0x02099ce4 +_ZN5Actor8vfunc_04Ev kind:function(arm,size=0x18) addr:0x02099cfc +_ZN5Actor8vfunc_08Ev kind:function(arm,size=0xc) addr:0x02099d14 +_ZN5Actor8vfunc_0cEv kind:function(arm,size=0xc) addr:0x02099d20 +_ZN5Actor8vfunc_38Ei kind:function(arm,size=0x6c) addr:0x02099d2c +_ZN5Actor8vfunc_3cEiP5Vec3p kind:function(arm,size=0x3c) addr:0x02099d98 +_ZN5Actor19func_ov000_0209862cEi kind:function(arm,size=0x28) addr:0x02099dd4 func_ov000_02099dfc kind:function(arm,size=0x28) addr:0x02099dfc func_ov000_02099e24 kind:function(arm,size=0x38) addr:0x02099e24 func_ov000_02099e5c kind:function(arm,size=0x48) addr:0x02099e5c @@ -2991,107 +2991,107 @@ func_ov000_020a9ca8 kind:function(arm,size=0x7c) addr:0x020a9ca8 func_ov000_020a9d24 kind:function(arm,size=0x48) addr:0x020a9d24 func_ov000_020a9d6c kind:function(arm,size=0x50) addr:0x020a9d6c func_ov000_020a9dbc kind:function(thumb,size=0x80) addr:0x020a9dbc -func_ov000_020a9e3c kind:function(arm,size=0x20) addr:0x020a9e3c -func_ov000_020a9e5c kind:function(arm,size=0x24) addr:0x020a9e5c -func_ov000_020a9e80 kind:function(arm,size=0x24) addr:0x020a9e80 -func_ov000_020a9ea4 kind:function(arm,size=0x2c) addr:0x020a9ea4 -func_ov000_020a9ed0 kind:function(arm,size=0x58) addr:0x020a9ed0 -func_ov000_020a9f28 kind:function(arm,size=0x20) addr:0x020a9f28 -func_ov000_020a9f48 kind:function(arm,size=0x20) addr:0x020a9f48 -_ZN11ItemManager19func_ov000_020a8768Eiii kind:function(arm,size=0x60) addr:0x020a9f68 -func_ov000_020a9fc8 kind:function(arm,size=0x24) addr:0x020a9fc8 -func_ov000_020a9fec kind:function(arm,size=0x34) addr:0x020a9fec -func_ov000_020aa020 kind:function(arm,size=0x34) addr:0x020aa020 -func_ov000_020aa054 kind:function(arm,size=0x38) addr:0x020aa054 -func_ov000_020aa08c kind:function(arm,size=0x3c) addr:0x020aa08c -func_ov000_020aa0c8 kind:function(arm,size=0x2c) addr:0x020aa0c8 -func_ov000_020aa0f4 kind:function(arm,size=0x2c) addr:0x020aa0f4 -func_ov000_020aa120 kind:function(arm,size=0x28) addr:0x020aa120 -func_ov000_020aa148 kind:function(arm,size=0x2c) addr:0x020aa148 -func_ov000_020aa174 kind:function(arm,size=0x10) addr:0x020aa174 -func_ov000_020aa184 kind:function(arm,size=0x38) addr:0x020aa184 -func_ov000_020aa1bc kind:function(thumb,size=0x18) addr:0x020aa1bc -func_ov000_020aa1d4 kind:function(arm,size=0x38) addr:0x020aa1d4 -func_ov000_020aa20c kind:function(arm,size=0x50) addr:0x020aa20c -func_ov000_020aa25c kind:function(arm,size=0x18) addr:0x020aa25c -func_ov000_020aa274 kind:function(arm,size=0x1c) addr:0x020aa274 -func_ov000_020aa290 kind:function(arm,size=0x14) addr:0x020aa290 -func_ov000_020aa2a4 kind:function(arm,size=0x14) addr:0x020aa2a4 -func_ov000_020aa2b8 kind:function(arm,size=0x14) addr:0x020aa2b8 -func_ov000_020aa2cc kind:function(arm,size=0x14) addr:0x020aa2cc -func_ov000_020aa2e0 kind:function(arm,size=0x14) addr:0x020aa2e0 -func_ov000_020aa2f4 kind:function(arm,size=0x54) addr:0x020aa2f4 -func_ov000_020aa348 kind:function(arm,size=0x34) addr:0x020aa348 -func_ov000_020aa37c kind:function(arm,size=0x34) addr:0x020aa37c -func_ov000_020aa3b0 kind:function(arm,size=0x110) addr:0x020aa3b0 -func_ov000_020aa4c0 kind:function(arm,size=0x20) addr:0x020aa4c0 -func_ov000_020aa4e0 kind:function(arm,size=0x28) addr:0x020aa4e0 -func_ov000_020aa508 kind:function(arm,size=0x20) addr:0x020aa508 -func_ov000_020aa528 kind:function(arm,size=0x78) addr:0x020aa528 -func_ov000_020aa5a0 kind:function(arm,size=0x4) addr:0x020aa5a0 -func_ov000_020aa5a4 kind:function(arm,size=0xc) addr:0x020aa5a4 -func_ov000_020aa5b0 kind:function(arm,size=0x20) addr:0x020aa5b0 -func_ov000_020aa5d0 kind:function(arm,size=0x20) addr:0x020aa5d0 -func_ov000_020aa5f0 kind:function(arm,size=0x94) addr:0x020aa5f0 -func_ov000_020aa684 kind:function(arm,size=0x18) addr:0x020aa684 -func_ov000_020aa69c kind:function(arm,size=0x24) addr:0x020aa69c -func_ov000_020aa6c0 kind:function(arm,size=0x94) addr:0x020aa6c0 -func_ov000_020aa754 kind:function(arm,size=0x8) addr:0x020aa754 -func_ov000_020aa75c kind:function(arm,size=0x8) addr:0x020aa75c -func_ov000_020aa764 kind:function(arm,size=0x8) addr:0x020aa764 -func_ov000_020aa76c kind:function(arm,size=0xc) addr:0x020aa76c -func_ov000_020aa778 kind:function(arm,size=0x68) addr:0x020aa778 -func_ov000_020aa7e0 kind:function(arm,size=0x14) addr:0x020aa7e0 -func_ov000_020aa7f4 kind:function(arm,size=0x158) addr:0x020aa7f4 -func_ov000_020aa94c kind:function(arm,size=0x4) addr:0x020aa94c -func_ov000_020aa950 kind:function(arm,size=0x50) addr:0x020aa950 -func_ov000_020aa9a0 kind:function(arm,size=0x8) addr:0x020aa9a0 -func_ov000_020aa9a8 kind:function(arm,size=0x8) addr:0x020aa9a8 -func_ov000_020aa9b0 kind:function(arm,size=0x8) addr:0x020aa9b0 -func_ov000_020aa9b8 kind:function(arm,size=0x48) addr:0x020aa9b8 -func_ov000_020aaa00 kind:function(arm,size=0x1c) addr:0x020aaa00 -func_ov000_020aaa1c kind:function(arm,size=0x24) addr:0x020aaa1c -func_ov000_020aaa40 kind:function(arm,size=0x4) addr:0x020aaa40 -func_ov000_020aaa44 kind:function(arm,size=0x4) addr:0x020aaa44 -func_ov000_020aaa48 kind:function(arm,size=0x88) addr:0x020aaa48 -func_ov000_020aaad0 kind:function(arm,size=0x178) addr:0x020aaad0 -func_ov000_020aac48 kind:function(arm,size=0x68) addr:0x020aac48 -func_ov000_020aacb0 kind:function(arm,size=0xe8) addr:0x020aacb0 -func_ov000_020aad98 kind:function(arm,size=0x2c) addr:0x020aad98 -func_ov000_020aadc4 kind:function(arm,size=0x10) addr:0x020aadc4 -func_ov000_020aadd4 kind:function(arm,size=0x4) addr:0x020aadd4 -func_ov000_020aadd8 kind:function(arm,size=0xc) addr:0x020aadd8 -func_ov000_020aade4 kind:function(arm,size=0x218) addr:0x020aade4 -func_ov000_020aaffc kind:function(arm,size=0x8) addr:0x020aaffc -func_ov000_020ab004 kind:function(arm,size=0xec) addr:0x020ab004 -func_ov000_020ab0f0 kind:function(arm,size=0x4) addr:0x020ab0f0 -func_ov000_020ab0f4 kind:function(arm,size=0x68) addr:0x020ab0f4 -func_ov000_020ab15c kind:function(arm,size=0x48) addr:0x020ab15c -func_ov000_020ab1a4 kind:function(arm,size=0x34) addr:0x020ab1a4 -func_ov000_020ab1d8 kind:function(arm,size=0x48) addr:0x020ab1d8 -func_ov000_020ab220 kind:function(arm,size=0x14) addr:0x020ab220 -func_ov000_020ab234 kind:function(arm,size=0x1c) addr:0x020ab234 -func_ov000_020ab250 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 -func_ov000_020ab310 kind:function(arm,size=0x1c) addr:0x020ab310 +_ZN11ItemManager19func_ov000_020a863cEj kind:function(arm,size=0x20) addr:0x020a9e3c +_ZN11ItemManager19func_ov000_020a865cEj kind:function(arm,size=0x24) addr:0x020a9e5c +_ZN11ItemManager19func_ov000_020a8680Ev kind:function(arm,size=0x24) addr:0x020a9e80 +_ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a9ea4 +_ZN11ItemManager19func_ov000_020a86d0Ej kind:function(arm,size=0x58) addr:0x020a9ed0 +_ZN11ItemManager19func_ov000_020a8728Ev kind:function(arm,size=0x20) addr:0x020a9f28 +_ZN11ItemManager19func_ov000_020a8748Ev kind:function(arm,size=0x20) addr:0x020a9f48 +_ZN11ItemManager10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a9f68 +_ZN11ItemManager19func_ov000_020a87c8Ei kind:function(arm,size=0x24) addr:0x020a9fc8 +_ZN11ItemManager19func_ov000_020a87ecEi kind:function(arm,size=0x34) addr:0x020a9fec +_ZN11ItemManager19func_ov000_020a8820Ei kind:function(arm,size=0x34) addr:0x020aa020 +_ZN11ItemManager19func_ov000_020a8854Ev kind:function(arm,size=0x38) addr:0x020aa054 +_ZN11ItemManager19func_ov000_020a888cEj kind:function(arm,size=0x3c) addr:0x020aa08c +_ZN11ItemManager19func_ov000_020a88c8Ev kind:function(arm,size=0x2c) addr:0x020aa0c8 +_ZN11ItemManager19func_ov000_020a88f4Ev kind:function(arm,size=0x2c) addr:0x020aa0f4 +_ZN11ItemManager19func_ov000_020a8920Ev kind:function(arm,size=0x28) addr:0x020aa120 +_ZN11ItemManager19func_ov000_020a8948Ev kind:function(arm,size=0x2c) addr:0x020aa148 +_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020aa174 +_ZN11ItemManager19func_ov000_020a8984Ei kind:function(arm,size=0x38) addr:0x020aa184 +_ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020aa1bc +_ZN11ItemManager19func_ov000_020a89d4Ev kind:function(arm,size=0x38) addr:0x020aa1d4 +_ZN11ItemManager19func_ov000_020a8a0cEv kind:function(arm,size=0x50) addr:0x020aa20c +_ZN11ItemManager19func_ov000_020a8a5cEv kind:function(arm,size=0x18) addr:0x020aa25c +_ZN11ItemManager19func_ov000_020a8a74Ev kind:function(arm,size=0x1c) addr:0x020aa274 +_ZN11ItemManager19func_ov000_020a8a90Ev kind:function(arm,size=0x14) addr:0x020aa290 +_ZN11ItemManager19func_ov000_020a8aa4Ev kind:function(arm,size=0x14) addr:0x020aa2a4 +_ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020aa2b8 +_ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020aa2cc +func_ov000_020a8ae0 kind:function(arm,size=0x14) addr:0x020aa2e0 +func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020aa2f4 +func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020aa348 +func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020aa37c +_ZN23ActorUnk_ov000_020a8bb0C1Eii kind:function(arm,size=0x110) addr:0x020aa3b0 +_ZN23ActorUnk_ov000_020a8bb0D1Ev kind:function(arm,size=0x20) addr:0x020aa4c0 +_ZN23ActorUnk_ov000_020a8bb0D0Ev kind:function(arm,size=0x28) addr:0x020aa4e0 +_ZN23ActorUnk_ov000_020a8bb0D2Ev kind:function(arm,size=0x20) addr:0x020aa508 +_ZN23ActorUnk_ov000_020a8bb08vfunc_18Ev kind:function(arm,size=0x78) addr:0x020aa528 +_ZN23ActorUnk_ov000_020a8bb08vfunc_54Ev kind:function(arm,size=0x4) addr:0x020aa5a0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_1cEv kind:function(arm,size=0xc) addr:0x020aa5a4 +func_ov000_020a8db0 kind:function(arm,size=0x20) addr:0x020aa5b0 +func_ov000_020a8dd0 kind:function(arm,size=0x20) addr:0x020aa5d0 +func_ov000_020a8df0 kind:function(arm,size=0x94) addr:0x020aa5f0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_b4Ev kind:function(arm,size=0x18) addr:0x020aa684 +func_ov000_020a8e9c kind:function(arm,size=0x24) addr:0x020aa69c +_ZN23ActorUnk_ov000_020a8bb08vfunc_b0Ev kind:function(arm,size=0x94) addr:0x020aa6c0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_88Ev kind:function(arm,size=0x8) addr:0x020aa754 +_ZN23ActorUnk_ov000_020a8bb08vfunc_8cEv kind:function(arm,size=0x8) addr:0x020aa75c +_ZN23ActorUnk_ov000_020a8bb08vfunc_90Ev kind:function(arm,size=0x8) addr:0x020aa764 +_ZN23ActorUnk_ov000_020a8bb08vfunc_94Ev kind:function(arm,size=0xc) addr:0x020aa76c +_ZN23ActorUnk_ov000_020a8bb08vfunc_60Ev kind:function(arm,size=0x68) addr:0x020aa778 +_ZN23ActorUnk_ov000_020a8bb08vfunc_64Ev kind:function(arm,size=0x14) addr:0x020aa7e0 +func_ov000_020a8ff4 kind:function(arm,size=0x158) addr:0x020aa7f4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_6cEv kind:function(arm,size=0x4) addr:0x020aa94c +_ZN23ActorUnk_ov000_020a8bb08vfunc_68Ev kind:function(arm,size=0x50) addr:0x020aa950 +_ZN23ActorUnk_ov000_020a8bb08vfunc_7cEv kind:function(arm,size=0x8) addr:0x020aa9a0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_80Ev kind:function(arm,size=0x8) addr:0x020aa9a8 +_ZN23ActorUnk_ov000_020a8bb08vfunc_84Ev kind:function(arm,size=0x8) addr:0x020aa9b0 +func_ov000_020a91b8 kind:function(arm,size=0x48) addr:0x020aa9b8 +func_ov000_020a9200 kind:function(arm,size=0x1c) addr:0x020aaa00 +_ZN23ActorUnk_ov000_020a8bb08vfunc_70Ev kind:function(arm,size=0x24) addr:0x020aaa1c +_ZN23ActorUnk_ov000_020a8bb08vfunc_74Ev kind:function(arm,size=0x4) addr:0x020aaa40 +_ZN23ActorUnk_ov000_020a8bb08vfunc_78Ev kind:function(arm,size=0x4) addr:0x020aaa44 +func_ov000_020a9248 kind:function(arm,size=0x88) addr:0x020aaa48 +_ZN23ActorUnk_ov000_020a8bb08vfunc_5cEv kind:function(arm,size=0x178) addr:0x020aaad0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_98Ev kind:function(arm,size=0x68) addr:0x020aac48 +_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a94b0Ev kind:function(arm,size=0xe8) addr:0x020aacb0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_9cEv kind:function(arm,size=0x2c) addr:0x020aad98 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a0Ev kind:function(arm,size=0x10) addr:0x020aadc4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_acEv kind:function(arm,size=0x4) addr:0x020aadd4 +func_ov000_020a95d8 kind:function(arm,size=0xc) addr:0x020aadd8 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a4Ev kind:function(arm,size=0x218) addr:0x020aade4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_a8Ev kind:function(arm,size=0x8) addr:0x020aaffc +func_ov000_020a9804 kind:function(arm,size=0xec) addr:0x020ab004 +_ZN23ActorUnk_ov000_020a8bb08vfunc_20Ev kind:function(arm,size=0x4) addr:0x020ab0f0 +_ZN23ActorUnk_ov000_020a8bb08vfunc_24Ev kind:function(arm,size=0x68) addr:0x020ab0f4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_2cEv kind:function(arm,size=0x48) addr:0x020ab15c +_ZN23ActorUnk_ov000_020a8bb08vfunc_b8Ev kind:function(arm,size=0x34) addr:0x020ab1a4 +_ZN23ActorUnk_ov000_020a8bb08vfunc_14Ev kind:function(arm,size=0x48) addr:0x020ab1d8 +func_ov000_020a9a20 kind:function(arm,size=0x14) addr:0x020ab220 +func_ov000_020a9a34 kind:function(arm,size=0x1c) addr:0x020ab234 +func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020ab250 +func_ov000_020a9a94 kind:function(arm,size=0x28) addr:0x020ab294 +func_ov000_020a9abc kind:function(arm,size=0x24) addr:0x020ab2bc +func_ov000_020a9ae0 kind:function(arm,size=0x1c) addr:0x020ab2e0 +func_ov000_020a9afc kind:function(arm,size=0x14) addr:0x020ab2fc +_ZN15TreasureManager19func_ov000_020a9b10Ev 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 -func_ov000_020ab34c kind:function(arm,size=0x100) addr:0x020ab34c -func_ov000_020ab44c kind:function(arm,size=0x18) addr:0x020ab44c -func_ov000_020ab464 kind:function(arm,size=0x2c) addr:0x020ab464 -func_ov000_020ab490 kind:function(arm,size=0x14) addr:0x020ab490 -func_ov000_020ab4a4 kind:function(arm,size=0x18) addr:0x020ab4a4 -func_ov000_020ab4bc kind:function(arm,size=0x40) addr:0x020ab4bc -func_ov000_020ab4fc kind:function(arm,size=0x7c) addr:0x020ab4fc -func_ov000_020ab578 kind:function(arm,size=0x9c) addr:0x020ab578 -func_ov000_020ab614 kind:function(arm,size=0x9c) addr:0x020ab614 -func_ov000_020ab6b0 kind:function(arm,size=0x9c) addr:0x020ab6b0 -func_ov000_020ab74c kind:function(arm,size=0xe0) addr:0x020ab74c -func_ov000_020ab82c kind:function(arm,size=0x80) addr:0x020ab82c -func_ov000_020ab8ac kind:function(arm,size=0x154) addr:0x020ab8ac +_ZN15TreasureManager19func_ov000_020a9b4cEv kind:function(arm,size=0x100) addr:0x020ab34c +_ZN15TreasureManager19func_ov000_020a9c4cEs 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_020a9cfc 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 +_ZN15TreasureManager19func_ov000_020a9f4cEi kind:function(arm,size=0xe0) addr:0x020ab74c +_ZN15TreasureManager19func_ov000_020aa02cEi kind:function(arm,size=0x80) addr:0x020ab82c +_ZN15TreasureManager19func_ov000_020aa0acEi kind:function(arm,size=0x154) addr:0x020ab8ac func_ov000_020aba00 kind:function(arm,size=0x10) addr:0x020aba00 func_ov000_020aba10 kind:function(arm,size=0x14) addr:0x020aba10 func_ov000_020aba24 kind:function(arm,size=0x14) addr:0x020aba24 @@ -3276,9 +3276,9 @@ data_ov000_020b0f80 kind:data(any) addr:0x020b0f80 data_ov000_020b0f8c kind:data(any) addr:0x020b0f8c data_ov000_020b0f90 kind:data(any) addr:0x020b0f90 data_ov000_020b144c kind:data(any) addr:0x020b144c -data_ov000_020b1450 kind:data(any) addr:0x020b1450 -data_ov000_020b1453 kind:data(any) addr:0x020b1453 -data_ov000_020b1458 kind:data(any) addr:0x020b1458 +gQuiverCapacities kind:data(any) addr:0x020b1450 +gBombBagCapacities kind:data(any) addr:0x020b1453 +data_ov000_020afc48 kind:data(any) addr:0x020b1458 data_ov000_020b1518 kind:data(any) addr:0x020b1518 data_ov000_020b151c kind:data(any) addr:0x020b151c data_ov000_020b1520 kind:data(any) addr:0x020b1520 @@ -3667,7 +3667,7 @@ data_ov000_020b4898 kind:data(any) addr:0x020b4898 data_ov000_020b48a4 kind:data(any) addr:0x020b48a4 data_ov000_020b48b4 kind:data(any) addr:0x020b48b4 data_ov000_020b48d0 kind:data(any) addr:0x020b48d0 -data_ov000_020b48ec kind:data(any) addr:0x020b48ec +_ZTV5Actor kind:data(any) addr:0x020b48e4 data_ov000_020b4948 kind:data(any) addr:0x020b4948 data_ov000_020b49a8 kind:data(any) addr:0x020b49a8 data_ov000_020b49f0 kind:data(any) addr:0x020b49f0 @@ -3999,7 +3999,7 @@ data_ov000_020b6548 kind:data(any) addr:0x020b6548 data_ov000_020b6554 kind:data(any) addr:0x020b6554 data_ov000_020b6558 kind:data(any) addr:0x020b6558 data_ov000_020b6564 kind:data(any) addr:0x020b6564 -data_ov000_020b6590 kind:data(any) addr:0x020b6590 +_ZTV23ActorUnk_ov000_020a8bb0 kind:data(any) addr:0x020b6588 data_ov000_020b664c kind:data(any) addr:0x020b664c data_ov000_020b6660 kind:data(any) addr:0x020b6660 data_ov000_020b6674 kind:data(any) addr:0x020b6674 diff --git a/config/jp/arm9/overlays/ov024/symbols.txt b/config/jp/arm9/overlays/ov024/symbols.txt index e5fece09..e5eb7d05 100644 --- a/config/jp/arm9/overlays/ov024/symbols.txt +++ b/config/jp/arm9/overlays/ov024/symbols.txt @@ -349,7 +349,7 @@ func_ov024_020cea34 kind:function(arm,size=0x98) addr:0x020cea34 func_ov024_020ceacc kind:function(arm,size=0xcc) addr:0x020ceacc func_ov024_020ceb98 kind:function(arm,size=0x10) addr:0x020ceb98 func_ov024_020ceba8 kind:function(arm,size=0x10) addr:0x020ceba8 -func_ov024_020cebb8 kind:function(arm,size=0x3c) addr:0x020cebb8 +_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cebb8 func_ov024_020cebf4 kind:function(arm,size=0x2c) addr:0x020cebf4 func_ov024_020cec20 kind:function(arm,size=0x10) addr:0x020cec20 func_ov024_020cec30 kind:function(arm,size=0x10) addr:0x020cec30 @@ -357,7 +357,7 @@ func_ov024_020cec40 kind:function(arm,size=0x10) addr:0x020cec40 func_ov024_020cec50 kind:function(arm,size=0x10) addr:0x020cec50 func_ov024_020cec60 kind:function(arm,size=0x10) addr:0x020cec60 func_ov024_020cec70 kind:function(arm,size=0x38) addr:0x020cec70 -func_ov024_020ceca8 kind:function(arm,size=0x4c) addr:0x020ceca8 +_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020ceca8 func_ov024_020cecf4 kind:function(arm,size=0x40) addr:0x020cecf4 func_ov024_020ced34 kind:function(arm,size=0xdc) addr:0x020ced34 func_ov024_020cee10 kind:function(arm,size=0x44) addr:0x020cee10 @@ -564,7 +564,7 @@ func_ov024_020d55b4 kind:function(thumb,size=0x94) addr:0x020d55b4 func_ov024_020d5648 kind:function(thumb,size=0x2c) addr:0x020d5648 func_ov024_020d5674 kind:function(thumb,size=0x5e) addr:0x020d5674 func_ov024_020d56d4 kind:function(thumb,size=0x18) addr:0x020d56d4 -func_ov024_020d56ec kind:function(thumb,size=0x10) addr:0x020d56ec +_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3d98Eii kind:function(thumb,size=0x10) addr:0x020d56ec func_ov024_020d56fc kind:function(thumb,size=0x16) addr:0x020d56fc func_ov024_020d5714 kind:function(thumb,size=0xa) addr:0x020d5714 func_ov024_020d5720 kind:function(thumb,size=0x20) addr:0x020d5720 @@ -572,7 +572,7 @@ func_ov024_020d5740 kind:function(arm,size=0x20) addr:0x020d5740 func_ov024_020d5760 kind:function(arm,size=0x24) addr:0x020d5760 func_ov024_020d5784 kind:function(arm,size=0x38) addr:0x020d5784 func_ov024_020d57bc kind:function(arm,size=0x80) addr:0x020d57bc -func_ov024_020d583c kind:function(arm,size=0x64) addr:0x020d583c +_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3ee8Eiti kind:function(arm,size=0x64) addr:0x020d583c func_ov024_020d58a0 kind:function(arm,size=0x40) addr:0x020d58a0 func_ov024_020d58e0 kind:function(arm,size=0x3c) addr:0x020d58e0 func_ov024_020d591c kind:function(arm,size=0x40) addr:0x020d591c @@ -641,7 +641,7 @@ func_ov024_020d6b80 kind:function(arm,size=0x70) addr:0x020d6b80 func_ov024_020d6bf0 kind:function(arm,size=0xb8) addr:0x020d6bf0 func_ov024_020d6ca8 kind:function(arm,size=0x3c) addr:0x020d6ca8 func_ov024_020d6ce4 kind:function(arm,size=0x14) addr:0x020d6ce4 -func_ov024_020d6cf8 kind:function(arm,size=0x5c) addr:0x020d6cf8 +func_ov024_020d5354 kind:function(arm,size=0x5c) addr:0x020d6cf8 func_ov024_020d6d54 kind:function(arm,size=0x60) addr:0x020d6d54 func_ov024_020d6db4 kind:function(arm,size=0x24) addr:0x020d6db4 func_ov024_020d6dd8 kind:function(arm,size=0x24) addr:0x020d6dd8 @@ -681,7 +681,7 @@ 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_020d6370 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 @@ -698,7 +698,7 @@ 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 func_ov024_020d7ff4 kind:function(thumb,size=0x16) addr:0x020d7ff4 -func_ov024_020d800c kind:function(thumb,size=0x16) addr:0x020d800c +_ZN26ActorUnk_ov000_020a8bb0_ec19func_ov024_020d6668Ev kind:function(thumb,size=0x16) addr:0x020d800c func_ov024_020d8024 kind:function(arm,size=0x40) addr:0x020d8024 func_ov024_020d8064 kind:function(arm,size=0x44) addr:0x020d8064 func_ov024_020d80a8 kind:function(arm,size=0x2c) addr:0x020d80a8 @@ -904,7 +904,7 @@ data_ov024_020da000 kind:bss addr:0x020da000 data_ov024_020da008 kind:bss addr:0x020da008 data_ov024_020da014 kind:bss addr:0x020da014 data_ov024_020da034 kind:bss addr:0x020da034 -data_ov024_020da038 kind:bss addr:0x020da038 +data_ov024_020d8698 kind:bss addr:0x020da038 data_ov024_020da03c kind:bss addr:0x020da03c data_ov024_020da040 kind:bss addr:0x020da040 data_ov024_020da044 kind:bss addr:0x020da044 diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 7b7e1d14..792d47dd 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -161,9 +161,9 @@ func_ov031_020dd160 kind:function(thumb,size=0x16) addr:0x020dd160 func_ov031_020dd178 kind:function(thumb,size=0x1a) addr:0x020dd178 func_ov031_020dd194 kind:function(arm,size=0x50) addr:0x020dd194 func_ov031_020dd1e4 kind:function(arm,size=0x30) addr:0x020dd1e4 -func_ov031_020dd214 kind:function(arm,size=0x58) addr:0x020dd214 -func_ov031_020dd26c kind:function(arm,size=0x2c) addr:0x020dd26c -func_ov031_020dd298 kind:function(arm,size=0x44) addr:0x020dd298 +_ZN24UnkStruct_ItemManager_2019func_ov031_020db874Ej kind:function(arm,size=0x58) addr:0x020dd214 +_ZN24UnkStruct_ItemManager_2019func_ov031_020db8ccEv kind:function(arm,size=0x2c) addr:0x020dd26c +_ZN24UnkStruct_ItemManager_2019func_ov031_020db8f8Ev kind:function(arm,size=0x44) addr:0x020dd298 func_ov031_020dd2dc kind:function(thumb,size=0x12) addr:0x020dd2dc func_ov031_020dd2f0 kind:function(thumb,size=0x2) addr:0x020dd2f0 func_ov031_020dd2f4 kind:function(arm,size=0x4) addr:0x020dd2f4 @@ -281,7 +281,7 @@ func_ov031_020e1ff4 kind:function(thumb,size=0x4c) addr:0x020e1ff4 func_ov031_020e2040 kind:function(thumb,size=0x68) addr:0x020e2040 func_ov031_020e20a8 kind:function(thumb,size=0x70) addr:0x020e20a8 func_ov031_020e2118 kind:function(arm,size=0x24) addr:0x020e2118 -func_ov031_020e213c kind:function(thumb,size=0x64) addr:0x020e213c +_ZN30UnkStruct_ov000_0208f820_30_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e213c func_ov031_020e21a0 kind:function(arm,size=0xb8) addr:0x020e21a0 func_ov031_020e2258 kind:function(arm,size=0x1c) addr:0x020e2258 func_ov031_020e2274 kind:function(arm,size=0x50) addr:0x020e2274 diff --git a/config/jp/arm9/overlays/ov053/symbols.txt b/config/jp/arm9/overlays/ov053/symbols.txt index 5e0e1bea..792be6bd 100644 --- a/config/jp/arm9/overlays/ov053/symbols.txt +++ b/config/jp/arm9/overlays/ov053/symbols.txt @@ -111,7 +111,7 @@ func_ov053_0213e3e4 kind:function(arm,size=0x1c) addr:0x0213e3e4 func_ov053_0213e400 kind:function(arm,size=0x84) addr:0x0213e400 func_ov053_0213e484 kind:function(arm,size=0x8c) addr:0x0213e484 func_ov053_0213e510 kind:function(arm,size=0x14) addr:0x0213e510 -func_ov053_0213e524 kind:function(arm,size=0x98) addr:0x0213e524 +_ZN27UnkStruct_ItemManager_20_1419func_ov053_0213caf0Ev kind:function(arm,size=0x98) addr:0x0213e524 func_ov053_0213e5bc kind:function(arm,size=0x194) addr:0x0213e5bc data_ov053_0213e750 kind:data(any) addr:0x0213e750 data_ov053_0213e760 kind:data(any) addr:0x0213e760 diff --git a/config/jp/arm9/overlays/ov058/symbols.txt b/config/jp/arm9/overlays/ov058/symbols.txt index c18f3930..dfe6cc03 100644 --- a/config/jp/arm9/overlays/ov058/symbols.txt +++ b/config/jp/arm9/overlays/ov058/symbols.txt @@ -633,7 +633,7 @@ func_ov058_02154658 kind:function(arm,size=0x38) addr:0x02154658 func_ov058_02154690 kind:function(arm,size=0x14) addr:0x02154690 func_ov058_021546a4 kind:function(thumb,size=0x5a) addr:0x021546a4 func_ov058_02154700 kind:function(arm,size=0x60) addr:0x02154700 -func_ov058_02154760 kind:function(thumb,size=0x64) addr:0x02154760 +_ZN27UnkStruct_ov000_0208f820_2819func_ov058_02152a24Ev kind:function(thumb,size=0x64) addr:0x02154760 func_ov058_021547c4 kind:function(arm,size=0x60) addr:0x021547c4 func_ov058_02154824 kind:function(arm,size=0x20) addr:0x02154824 func_ov058_02154844 kind:function(arm,size=0x28) addr:0x02154844 diff --git a/config/jp/arm9/overlays/ov062/symbols.txt b/config/jp/arm9/overlays/ov062/symbols.txt index 68a599ab..b5c4d599 100644 --- a/config/jp/arm9/overlays/ov062/symbols.txt +++ b/config/jp/arm9/overlays/ov062/symbols.txt @@ -69,7 +69,7 @@ func_ov062_0215a928 kind:function(arm,size=0x24) addr:0x0215a928 func_ov062_0215a94c kind:function(arm,size=0x3c) addr:0x0215a94c func_ov062_0215a988 kind:function(arm,size=0x80) addr:0x0215a988 func_ov062_0215aa08 kind:function(arm,size=0x20) addr:0x0215aa08 -func_ov062_0215aa28 kind:function(arm,size=0x10c) addr:0x0215aa28 +_ZN27UnkStruct_func_01fff3b4_ret19func_ov062_02158ce8Ev kind:function(arm,size=0x10c) addr:0x0215aa28 func_ov062_0215ab34 kind:function(arm,size=0x44) addr:0x0215ab34 func_ov062_0215ab78 kind:function(arm,size=0x14) addr:0x0215ab78 func_ov062_0215ab8c kind:function(arm,size=0xfc) addr:0x0215ab8c diff --git a/config/jp/arm9/overlays/ov110/delinks.txt b/config/jp/arm9/overlays/ov110/delinks.txt index 5713e853..b1b5038c 100644 --- a/config/jp/arm9/overlays/ov110/delinks.txt +++ b/config/jp/arm9/overlays/ov110/delinks.txt @@ -5,3 +5,10 @@ .data start:0x02187de0 end:0x02187e40 kind:data align:32 .bss start:0x02187e40 end:0x0218bdc0 kind:bss align:32 +src/110_PlayerGet/PlayerGet.cpp: + .text start:0x021865c0 end:0x021879c4 + .rodata start:0x021879c4 end:0x02187d90 + .init start:0x02187d90 end:0x02187dbc + .ctor start:0x02187dbc end:0x02187dc4 + .data start:0x02187de0 end:0x02187e40 + .bss start:0x02187e40 end:0x0218bdc0 diff --git a/config/jp/arm9/overlays/ov110/relocs.txt b/config/jp/arm9/overlays/ov110/relocs.txt index 95158b21..a06e20ca 100644 --- a/config/jp/arm9/overlays/ov110/relocs.txt +++ b/config/jp/arm9/overlays/ov110/relocs.txt @@ -13,7 +13,7 @@ from:0x02186868 kind:arm_call to:0x020a9e3c module:overlay(0) from:0x02186870 kind:arm_call to:0x021879b4 module:overlay(110) from:0x021868b4 kind:arm_call_thumb to:0x0218793c module:overlay(110) from:0x021868c4 kind:arm_call to:0x020ab8ac module:overlay(0) -from:0x021868d4 kind:arm_call to:0x020d7d14 module:overlays(20,24) +from:0x021868d4 kind:arm_call to:0x020d7d14 module:overlay(24) from:0x02186904 kind:load to:0x027e0ce0 module:dtcm from:0x02186908 kind:load to:0x020b1453 module:overlay(0) from:0x0218690c kind:load to:0x020b1450 module:overlay(0) diff --git a/config/jp/arm9/overlays/ov110/symbols.txt b/config/jp/arm9/overlays/ov110/symbols.txt index 7eec4604..a4fdb710 100644 --- a/config/jp/arm9/overlays/ov110/symbols.txt +++ b/config/jp/arm9/overlays/ov110/symbols.txt @@ -1,16 +1,16 @@ -_ZN9PlayerGet19func_ov110_02184a40Ev kind:function(arm,size=0x36c) addr:0x021865c0 -_ZN9PlayerGet19func_ov110_02184dacEiii kind:function(arm,size=0x30) addr:0x0218692c +_ZN11ItemManager19func_ov110_02184a40Ei kind:function(arm,size=0x36c) addr:0x021865c0 +_ZN22UnkStruct_PlayerGet_748vfunc_00Eiii kind:function(arm,size=0x30) addr:0x0218692c _ZN9PlayerGetC2Ev kind:function(arm,size=0xa0) addr:0x0218695c _ZN9PlayerGetD1Ev kind:function(arm,size=0xc4) addr:0x021869fc _ZN9PlayerGetD0Ev kind:function(arm,size=0xcc) addr:0x02186ac0 _ZN9PlayerGet19func_ov110_02186b8cEv kind:function(arm,size=0x54) addr:0x02186b8c -_ZN9PlayerGet8vfunc_0cEv kind:function(arm,size=0x5d8) addr:0x02186be0 -_ZN9PlayerGet8vfunc_10Ev kind:function(arm,size=0x6fc) addr:0x021871b8 +_ZN9PlayerGet8vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0x5d8) addr:0x02186be0 +_ZN9PlayerGet8vfunc_10Ei 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 -_ZN18UnkStruct_027e0ce019func_ov110_02185d3cEi kind:function(thumb,size=0x66) addr:0x0218793c -_ZN9PlayerGet19func_ov110_02185da4Ei kind:function(arm,size=0x10) addr:0x021879a4 -_ZN9PlayerGet19func_ov110_02185db4Ei kind:function(arm,size=0x10) addr:0x021879b4 +_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 data_ov110_021879c8 kind:data(any) addr:0x021879c8 data_ov110_021879ca kind:data(any) addr:0x021879ca data_ov110_021879e8 kind:data(any) addr:0x021879e8 @@ -22,11 +22,4 @@ data_ov110_02187de0 kind:data(any) addr:0x02187de0 data_ov110_02187dec kind:data(any) addr:0x02187dec _ZTV22UnkStruct_PlayerGet_74 kind:data(any) addr:0x02187df8 _ZTV9PlayerGet kind:data(any) addr:0x02187e04 -data_ov110_02187e40 kind:bss addr:0x02187e40 -data_ov110_0218a9c8 kind:bss addr:0x0218a9c8 ambiguous -data_ov110_0218aa88 kind:bss addr:0x0218aa88 ambiguous -data_ov110_0218aae4 kind:bss addr:0x0218aae4 ambiguous -data_ov110_0218aaf8 kind:bss addr:0x0218aaf8 ambiguous -data_ov110_0218ab08 kind:bss addr:0x0218ab08 ambiguous -data_ov110_0218ab18 kind:bss addr:0x0218ab18 ambiguous -data_ov110_0218ae00 kind:bss addr:0x0218ae00 ambiguous +data_ov110_02186240 kind:bss(size=0x3f68) addr:0x02187e40 diff --git a/config/jp/arm9/symbols.txt b/config/jp/arm9/symbols.txt index 12160446..aa0cb357 100644 --- a/config/jp/arm9/symbols.txt +++ b/config/jp/arm9/symbols.txt @@ -145,7 +145,7 @@ func_02002e78 kind:function(arm,size=0x20) addr:0x02002e78 func_02002e98 kind:function(arm,size=0x20) addr:0x02002e98 func_02002eb8 kind:function(arm,size=0x20) addr:0x02002eb8 func_02002ed8 kind:function(arm,size=0x2c) addr:0x02002ed8 -func_02002f04 kind:function(arm,size=0x28) addr:0x02002f04 +_ZN24UnkStruct_ov000_020b51c013func_02002f04Ev kind:function(arm,size=0x28) addr:0x02002f04 func_02002f2c kind:function(arm,size=0x28) addr:0x02002f2c func_02002f54 kind:function(arm,size=0x48) addr:0x02002f54 func_02002f9c kind:function(arm,size=0x28) addr:0x02002f9c @@ -601,9 +601,9 @@ func_02011c04 kind:function(arm,size=0x40) addr:0x02011c04 func_02011c44 kind:function(arm,size=0x24) addr:0x02011c44 func_02011c68 kind:function(arm,size=0x138) addr:0x02011c68 func_02011da0 kind:function(arm,size=0x70) addr:0x02011da0 -func_02011e10 kind:function(arm,size=0x94) addr:0x02011e10 -func_02011ea4 kind:function(arm,size=0x6c) addr:0x02011ea4 -func_02011f10 kind:function(arm,size=0x20) addr:0x02011f10 +_Z6SysNewP18UnkStruct_02011e10ii kind:function(arm,size=0x94) addr:0x02011e10 +_Z9SysDeletePv kind:function(arm,size=0x6c) addr:0x02011ea4 +_Z13func_02011f10i kind:function(arm,size=0x20) addr:0x02011f10 func_02011f30 kind:function(arm,size=0xc) addr:0x02011f30 _ZN9SysObjectnwEmjj kind:function(arm,size=0xb8) addr:0x02011f3c _ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x02011ff4 @@ -694,15 +694,15 @@ func_020143a4 kind:function(arm,size=0x50) addr:0x020143a4 func_020143f4 kind:function(arm,size=0x24) addr:0x020143f4 func_02014418 kind:function(arm,size=0x64) addr:0x02014418 func_0201447c kind:function(arm,size=0x28) addr:0x0201447c -func_020144a4 kind:function(thumb,size=0x10) addr:0x020144a4 +func_020144a0 kind:function(thumb,size=0x10) addr:0x020144a4 func_020144b4 kind:function(thumb,size=0x1c) addr:0x020144b4 func_020144d0 kind:function(thumb,size=0x6c) addr:0x020144d0 func_0201453c kind:function(thumb,size=0x34) addr:0x0201453c func_02014570 kind:function(arm,size=0x44) addr:0x02014570 -func_020145b4 kind:function(arm,size=0x80) addr:0x020145b4 -func_02014634 kind:function(arm,size=0x58) addr:0x02014634 +func_020145b0 kind:function(arm,size=0x80) addr:0x020145b4 +func_02014630 kind:function(arm,size=0x58) addr:0x02014634 func_0201468c kind:function(arm,size=0x7c) addr:0x0201468c -func_02014708 kind:function(arm,size=0x28) addr:0x02014708 +func_02014704 kind:function(arm,size=0x28) addr:0x02014708 func_02014730 kind:function(arm,size=0x4c) addr:0x02014730 func_0201477c kind:function(arm,size=0x14) addr:0x0201477c func_02014790 kind:function(arm,size=0x1c) addr:0x02014790 @@ -742,8 +742,8 @@ func_02014f8c kind:function(arm,size=0x14) addr:0x02014f8c func_02014fa0 kind:function(arm,size=0x28) addr:0x02014fa0 func_02014fc8 kind:function(arm,size=0x24) addr:0x02014fc8 func_02014fec kind:function(arm,size=0x2c) addr:0x02014fec -func_02015018 kind:function(arm,size=0x1c4) addr:0x02015018 -func_020151dc kind:function(arm,size=0x40) addr:0x020151dc +_ZN22UnkStruct_PlayerGet_5013func_02015080Ei kind:function(arm,size=0x1c4) addr:0x02015018 +func_02015244 kind:function(arm,size=0x40) addr:0x020151dc func_0201521c kind:function(arm,size=0x7c) addr:0x0201521c func_02015298 kind:function(arm,size=0x38) addr:0x02015298 func_020152d0 kind:function(arm,size=0x10) addr:0x020152d0 @@ -850,7 +850,7 @@ func_02016e0c kind:function(arm,size=0x68) addr:0x02016e0c func_02016e74 kind:function(arm,size=0xe0) addr:0x02016e74 func_02016f54 kind:function(arm,size=0xf0) addr:0x02016f54 func_02017044 kind:function(arm,size=0xac) addr:0x02017044 -func_020170f0 kind:function(arm,size=0x38) addr:0x020170f0 +func_02017158 kind:function(arm,size=0x38) addr:0x020170f0 func_02017128 kind:function(arm,size=0x54) addr:0x02017128 func_0201717c kind:function(arm,size=0x4c) addr:0x0201717c func_020171c8 kind:function(arm,size=0x16c) addr:0x020171c8 @@ -896,7 +896,7 @@ func_02017eec kind:function(arm,size=0x38) addr:0x02017eec func_02017f24 kind:function(arm,size=0x84) addr:0x02017f24 func_02017fa8 kind:function(arm,size=0x98) addr:0x02017fa8 func_02018040 kind:function(arm,size=0x6c) addr:0x02018040 -func_020180ac kind:function(arm,size=0xa0) addr:0x020180ac +func_02018114 kind:function(arm,size=0xa0) addr:0x020180ac func_0201814c kind:function(arm,size=0x60) addr:0x0201814c func_020181ac kind:function(arm,size=0x54) addr:0x020181ac func_02018200 kind:function(arm,size=0x7c) addr:0x02018200 @@ -1331,10 +1331,10 @@ GX_DispOff kind:function(arm,size=0x3c) addr:0x02024a3c func_02024a78 kind:function(arm,size=0x44) addr:0x02024a78 GX_SetGraphicsMode kind:function(arm,size=0x68) addr:0x02024abc GXS_SetGraphicsMode kind:function(arm,size=0x1c) addr:0x02024b24 -func_02024b40 kind:function(arm,size=0x28) addr:0x02024b40 +SetBrightColor kind:function(arm,size=0x28) addr:0x02024b40 func_02024b68 kind:function(arm,size=0x40) addr:0x02024b68 func_02024ba8 kind:function(arm,size=0x60) addr:0x02024ba8 -func_02024c08 kind:function(arm,size=0x98) addr:0x02024c08 +func_020236d8 kind:function(arm,size=0x98) addr:0x02024c08 func_02024ca0 kind:function(arm,size=0x204) addr:0x02024ca0 func_02024ea4 kind:function(arm,size=0x130) addr:0x02024ea4 func_02024fd4 kind:function(arm,size=0xf8) addr:0x02024fd4 @@ -1550,7 +1550,7 @@ func_02028aec kind:function(arm,size=0x2c) addr:0x02028aec func_02028b18 kind:function(arm,size=0x34) addr:0x02028b18 func_02028b4c kind:function(arm,size=0x1c) addr:0x02028b4c func_02028b68 kind:function(arm,size=0x1c) addr:0x02028b68 -func_02028b84 kind:function(arm,size=0x24) addr:0x02028b84 +func_02027654 kind:function(arm,size=0x24) addr:0x02028b84 func_02028ba8 kind:function(arm,size=0xc) addr:0x02028ba8 func_02028bb4 kind:function(arm,size=0xc) addr:0x02028bb4 func_02028bc0 kind:function(arm,size=0x1c) addr:0x02028bc0 @@ -1591,8 +1591,8 @@ func_020294e8 kind:function(arm,size=0x10) addr:0x020294e8 func_020294f8 kind:function(arm,size=0xec) addr:0x020294f8 func_020295e4 kind:function(thumb,size=0x24) addr:0x020295e4 func_02029608 kind:function(arm,size=0x14) addr:0x02029608 -func_0202961c kind:function(arm,size=0x14) addr:0x0202961c -func_02029630 kind:function(arm,size=0x18) addr:0x02029630 +func_020280ec kind:function(arm,size=0x14) addr:0x0202961c +func_02028100 kind:function(arm,size=0x18) addr:0x02029630 func_02029648 kind:function(arm,size=0x14) addr:0x02029648 func_0202965c kind:function(arm,size=0x18) addr:0x0202965c func_02029674 kind:function(arm,size=0xc) addr:0x02029674 @@ -1609,7 +1609,7 @@ func_020298c0 kind:function(arm,size=0x8) addr:0x020298c0 func_020298c8 kind:function(arm,size=0x34) addr:0x020298c8 func_020298fc kind:function(arm,size=0x84) addr:0x020298fc func_02029980 kind:function(arm,size=0xcc) addr:0x02029980 -func_02029a4c kind:function(arm,size=0x10) addr:0x02029a4c +func_0202851c kind:function(arm,size=0x10) addr:0x02029a4c func_02029a5c kind:function(arm,size=0xc) addr:0x02029a5c func_02029a68 kind:function(arm,size=0x10) addr:0x02029a68 func_02029a78 kind:function(arm,size=0x80) addr:0x02029a78 @@ -1626,19 +1626,19 @@ func_02029f28 kind:function(arm,size=0xec) addr:0x02029f28 func_0202a014 kind:function(arm,size=0xa8) addr:0x0202a014 func_0202a0bc kind:function(arm,size=0x60) addr:0x0202a0bc func_0202a11c kind:function(arm,size=0x2c) addr:0x0202a11c -func_0202a148 kind:function(arm,size=0x18) addr:0x0202a148 +func_02028c18 kind:function(arm,size=0x18) addr:0x0202a148 func_0202a160 kind:function(arm,size=0x1c) addr:0x0202a160 -func_0202a17c kind:function(arm,size=0x14) addr:0x0202a17c +func_02028c4c kind:function(arm,size=0x14) addr:0x0202a17c func_0202a190 kind:function(arm,size=0x18) addr:0x0202a190 func_0202a1a8 kind:function(arm,size=0x18) addr:0x0202a1a8 func_0202a1c0 kind:function(arm,size=0x4c) addr:0x0202a1c0 -func_0202a20c kind:function(arm,size=0x38) addr:0x0202a20c +_ZN24UnkStruct_ov000_020b539c13func_02028cdcEP8Actor_5ci kind:function(arm,size=0x38) addr:0x0202a20c func_0202a244 kind:function(arm,size=0x1c) addr:0x0202a244 CopySingle288 kind:function(arm,size=0x1c) addr:0x0202a260 func_0202a27c kind:function(arm,size=0x24) addr:0x0202a27c func_0202a2a0 kind:function(arm,size=0x2c) addr:0x0202a2a0 -func_0202a2cc kind:function(arm,size=0x94) addr:0x0202a2cc -func_0202a360 kind:function(arm,size=0x130) addr:0x0202a360 +func_02028d9c kind:function(arm,size=0x94) addr:0x0202a2cc +func_02028e30 kind:function(arm,size=0x130) addr:0x0202a360 func_0202a490 kind:function(thumb,size=0xe) addr:0x0202a490 func_0202a4a0 kind:function(arm,size=0x8) addr:0x0202a4a0 func_0202a4a8 kind:function(arm,size=0xe0) addr:0x0202a4a8 @@ -1699,7 +1699,7 @@ func_0202bd1c kind:function(arm,size=0x44) addr:0x0202bd1c SND_Init kind:function(arm,size=0x38) addr:0x0202bd60 func_0202bd98 kind:function(arm,size=0x14) addr:0x0202bd98 func_0202bdac kind:function(arm,size=0x14) addr:0x0202bdac -func_0202bdc0 kind:function(arm,size=0xd0) addr:0x0202bdc0 +func_0202a890 kind:function(arm,size=0xd0) addr:0x0202bdc0 func_0202be90 kind:function(arm,size=0x100) addr:0x0202be90 func_0202bf90 kind:function(arm,size=0x88) addr:0x0202bf90 func_0202c018 kind:function(arm,size=0x38) addr:0x0202c018 @@ -1774,18 +1774,18 @@ func_0202e35c kind:function(arm,size=0x20) addr:0x0202e35c func_0202e37c kind:function(arm,size=0x84) addr:0x0202e37c FS_Init kind:function(arm,size=0x28) addr:0x0202e400 func_0202e428 kind:function(arm,size=0x10) addr:0x0202e428 -func_0202e438 kind:function(arm,size=0x28) addr:0x0202e438 +func_0202cf08 kind:function(arm,size=0x28) addr:0x0202e438 func_0202e460 kind:function(arm,size=0x13c) addr:0x0202e460 func_0202e59c kind:function(arm,size=0x80) addr:0x0202e59c func_0202e61c kind:function(arm,size=0x48) addr:0x0202e61c func_0202e664 kind:function(arm,size=0x44) addr:0x0202e664 -func_0202e6a8 kind:function(arm,size=0x64) addr:0x0202e6a8 +func_0202d178 kind:function(arm,size=0x64) addr:0x0202e6a8 func_0202e70c kind:function(arm,size=0x48) addr:0x0202e70c -func_0202e754 kind:function(arm,size=0x40) addr:0x0202e754 +func_0202d224 kind:function(arm,size=0x40) addr:0x0202e754 func_0202e794 kind:function(arm,size=0xc0) addr:0x0202e794 func_0202e854 kind:function(arm,size=0x48) addr:0x0202e854 func_0202e89c kind:function(arm,size=0x10) addr:0x0202e89c -func_0202e8ac kind:function(arm,size=0x10) addr:0x0202e8ac +func_0202d37c kind:function(arm,size=0x10) addr:0x0202e8ac func_0202e8bc kind:function(arm,size=0x64) addr:0x0202e8bc func_0202e920 kind:function(arm,size=0x24) addr:0x0202e920 func_0202e944 kind:function(arm,size=0x48) addr:0x0202e944 @@ -1793,18 +1793,18 @@ func_0202e98c kind:function(arm,size=0x8) addr:0x0202e98c func_0202e994 kind:function(arm,size=0x6c) addr:0x0202e994 func_0202ea00 kind:function(arm,size=0x8) addr:0x0202ea00 func_0202ea08 kind:function(arm,size=0x8) addr:0x0202ea08 -func_0202ea10 kind:function(arm,size=0x144) addr:0x0202ea10 +func_0202d4e0 kind:function(arm,size=0x144) addr:0x0202ea10 func_0202eb54 kind:function(arm,size=0x20) addr:0x0202eb54 func_0202eb74 kind:function(arm,size=0x30) addr:0x0202eb74 -func_0202eba4 kind:function(arm,size=0x1c) addr:0x0202eba4 -func_0202ebc0 kind:function(arm,size=0x3c) addr:0x0202ebc0 -func_0202ebfc kind:function(arm,size=0x28) addr:0x0202ebfc -func_0202ec24 kind:function(arm,size=0xfc) addr:0x0202ec24 +func_0202d674 kind:function(arm,size=0x1c) addr:0x0202eba4 +func_0202d690 kind:function(arm,size=0x3c) addr:0x0202ebc0 +func_0202d6cc kind:function(arm,size=0x28) addr:0x0202ebfc +func_0202d6f4 kind:function(arm,size=0xfc) addr:0x0202ec24 FS_LoadOverlayInfo kind:function(arm,size=0x100) addr:0x0202ed20 FS_LoadOverlayFile kind:function(arm,size=0x94) addr:0x0202ee20 -func_0202eeb4 kind:function(arm,size=0x90) addr:0x0202eeb4 +func_0202d984 kind:function(arm,size=0x90) addr:0x0202eeb4 FS_StartOverlay kind:function(arm,size=0xf4) addr:0x0202ef44 -func_0202f038 kind:function(arm,size=0xf0) addr:0x0202f038 +Overlay_CleanupResources kind:function(arm,size=0xf0) addr:0x0202f038 FS_StopOverlay kind:function(arm,size=0x10) addr:0x0202f128 FS_LoadOverlay kind:function(arm,size=0x58) addr:0x0202f138 FS_UnloadOverlay kind:function(arm,size=0x50) addr:0x0202f190 @@ -2001,9 +2001,9 @@ func_020352ac kind:function(arm,size=0xac) addr:0x020352ac func_02035358 kind:function(arm,size=0x28) addr:0x02035358 func_02035380 kind:function(arm,size=0x4) addr:0x02035380 func_02035384 kind:function(arm,size=0x128) addr:0x02035384 -func_020354ac kind:function(arm,size=0x1c) addr:0x020354ac +strlen kind:function(arm,size=0x1c) addr:0x020354ac func_020354c8 kind:function(arm,size=0xc8) addr:0x020354c8 -func_02035590 kind:function(arm,size=0x50) addr:0x02035590 +strncpy kind:function(arm,size=0x50) addr:0x02035590 func_020355e0 kind:function(arm,size=0x114) addr:0x020355e0 func_020356f4 kind:function(arm,size=0x34) addr:0x020356f4 func_02035728 kind:function(arm,size=0x10) addr:0x02035728 @@ -2102,7 +2102,7 @@ func_0203c53c kind:function(arm,size=0x3b8) addr:0x0203c53c .L_0203c5f0 kind:data(byte[0]) addr:0x0203c5f0 _ddiv kind:function(arm,size=0x544) addr:0x0203c90c .L_0203ca44 kind:data(byte[0]) addr:0x0203ca44 -func_0203ce50 kind:function(arm,size=0x4) addr:0x0203ce50 +func_0203b920 kind:function(arm,size=0x4) addr:0x0203ce50 func_0203ce54 kind:function(arm,size=0xc) addr:0x0203ce54 func_0203ce60 kind:function(arm,size=0x4) addr:0x0203ce60 func_0203ce64 kind:function(arm,size=0x4) addr:0x0203ce64 @@ -2127,10 +2127,10 @@ func_0203df14 kind:function(arm,size=0x60) addr:0x0203df14 func_0203df74 kind:function(arm,size=0x1dc) addr:0x0203df74 func_0203e150 kind:function(arm,size=0x5c) addr:0x0203e150 func_0203e1ac kind:function(arm,size=0xf4) addr:0x0203e1ac -func_0203e2a0 kind:function(arm,size=0x28) addr:0x0203e2a0 +func_0203cd70 kind:function(arm,size=0x28) addr:0x0203e2a0 func_0203e2c8 kind:function(arm,size=0x14) addr:0x0203e2c8 func_0203e2dc kind:function(arm,size=0xc) addr:0x0203e2dc -func_0203e2e8 kind:function(arm,size=0x30) addr:0x0203e2e8 +CallStaticInitializers kind:function(arm,size=0x30) addr:0x0203e2e8 __destroy_global_chain kind:function(arm,size=0x44) addr:0x0203e318 func_0203e35c kind:function(arm,size=0xc) addr:0x0203e35c func_0203e368 kind:function(arm,size=0xc) addr:0x0203e368 @@ -2138,11 +2138,11 @@ func_0203e374 kind:function(arm,size=0x18) addr:0x0203e374 func_0203e38c kind:function(arm,size=0x18) addr:0x0203e38c __register_global_object kind:function(arm,size=0x20) addr:0x0203e3a4 func_0203e3c4 kind:function(arm,size=0x1b4) addr:0x0203e3c4 -func_0203e578 kind:function(arm,size=0x48) addr:0x0203e578 +func_0203d048 kind:function(arm,size=0x48) addr:0x0203e578 func_0203e5c0 kind:function(arm,size=0x14) addr:0x0203e5c0 func_0203e5d4 kind:function(arm,size=0xbc) addr:0x0203e5d4 __cxa_vec_ctor kind:function(arm,size=0xb0) addr:0x0203e690 -func_0203e740 kind:function(arm,size=0x48) addr:0x0203e740 +__cxa_vec_cleanup kind:function(arm,size=0x48) addr:0x0203e740 func_0203e788 kind:function(arm,size=0x14) addr:0x0203e788 func_0203e79c kind:function(arm,size=0x4) addr:0x0203e79c func_0203e7a0 kind:function(arm,size=0x30) addr:0x0203e7a0 @@ -2157,7 +2157,7 @@ func_0203e940 kind:function(arm,size=0x20) addr:0x0203e940 func_0203e960 kind:function(arm,size=0x28) addr:0x0203e960 func_0203e988 kind:function(arm,size=0x30) addr:0x0203e988 func_0203e9b8 kind:function(arm,size=0x48) addr:0x0203e9b8 -func_0203ea00 kind:function(arm,size=0x4c) addr:0x0203ea00 +func_0204fc68 kind:function(arm,size=0x4c) addr:0x0203ea00 data_0203ea4c kind:data(any) addr:0x0203ea4c data_0203ea5c kind:data(any) addr:0x0203ea5c data_0203ea70 kind:data(any) addr:0x0203ea70 @@ -2541,7 +2541,7 @@ data_020451b4 kind:data(any) addr:0x020451b4 data_020451c4 kind:data(any) addr:0x020451c4 data_020451d4 kind:data(any) addr:0x020451d4 data_020451e8 kind:data(any) addr:0x020451e8 -data_020453b0 kind:data(any) addr:0x020453b0 +gOverlayManager kind:data(any) addr:0x020453b0 data_020453f8 kind:data(any) addr:0x020453f8 data_02045408 kind:data(any) addr:0x02045408 data_02045418 kind:data(any) addr:0x02045418 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 664c7f84..29579732 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -39,6 +39,14 @@ public: void func_02028cdc(Actor_5c *param1, unk32 param2); }; +class Actor_34 { +public: + /* 00 */ unk32 mUnk_00; + /* 00 */ unk32 mUnk_04; + /* 00 */ unk32 mUnk_08; + /* 00 */ unk32 mUnk_0c; +}; + class Actor : public SysObject { public: /* 00 (vtable) */ @@ -49,7 +57,7 @@ public: /* 2a */ unk16 mUnk_2a; /* 2c */ unk32 mUnk_2c; // gravity? /* 30 */ unk32 *mUnk_30; - /* 34 */ unk32 *mUnk_34; + /* 34 */ Actor_34 *mUnk_34; /* 38 */ unk32 *mUnk_38; /* 3c */ unk32 mUnk_3c; /* 40 */ void *mUnk_40; // pointer to `Actor_c4` diff --git a/include/Actor/ActorId.hpp b/include/Actor/ActorId.hpp index 43962b88..1ac82893 100644 --- a/include/Actor/ActorId.hpp +++ b/include/Actor/ActorId.hpp @@ -4,527 +4,527 @@ typedef u32 ActorId; enum ActorId_ { - ActorId_AJAI = 'AJAI', - ActorId_AJBS = 'AJBS', - ActorId_AJCR = 'AJCR', - ActorId_AJEM = 'AJEM', - ActorId_AJET = 'AJET', - ActorId_AJMN = 'AJMN', - ActorId_AJNP = 'AJNP', - ActorId_AJSP = 'AJSP', - ActorId_AJTM = 'AJTM', - ActorId_ALEV = 'ALEV', - ActorId_AROW = 'AROW', - ActorId_ASBA = 'ASBA', - ActorId_ASYU = 'ASYU', - ActorId_ATTG = 'ATTG', - ActorId_BAEY = 'BAEY', - ActorId_BAFO = 'BAFO', - ActorId_BANI = 'BANI', - ActorId_BAPH = 'BAPH', - ActorId_BBLE = 'BBLE', - ActorId_BDBA = 'BDBA', - ActorId_BDEA = 'BDEA', - ActorId_BDEM = 'BDEM', - ActorId_BDGA = 'BDGA', - ActorId_BDLB = 'BDLB', - ActorId_TreasureBee = 'BEEE', - ActorId_BeeHive = 'BEEH', - ActorId_BFFN = 'BFFN', - ActorId_BGOK = 'BGOK', - ActorId_BKST = 'BKST', - ActorId_BLBL = 'BLBL', - ActorId_BLBR = 'BLBR', - ActorId_BLJF = 'BLJF', - ActorId_BLON = 'BLON', - ActorId_BLST = 'BLST', - ActorId_BMHN = 'BMHN', - ActorId_BMOC = 'BMOC', - ActorId_BOMB = 'BOMB', - ActorId_BPAP = 'BPAP', - ActorId_BPBS = 'BPBS', - ActorId_BROW = 'BROW', - ActorId_BSFC = 'BSFC', - ActorId_BSKM = 'BSKM', - ActorId_BSTG = 'BSTG', - ActorId_BTIR = 'BTIR', - ActorId_CAGE = 'CAGE', - ActorId_CAMA = 'CAMA', - ActorId_CAMB = 'CAMB', - ActorId_CAMS = 'CAMS', - ActorId_CAMY = 'CAMY', - ActorId_CANS = 'CANS', - ActorId_CASE = 'CASE', - ActorId_CASL = 'CASL', - ActorId_CAST = 'CAST', - ActorId_CAWA = 'CAWA', - ActorId_CAWB = 'CAWB', - ActorId_ChuChu = 'CHUC', - ActorId_CLBT = 'CLBT', - ActorId_CLLT = 'CLLT', - ActorId_CLZN = 'CLZN', - ActorId_CNBL = 'CNBL', - ActorId_COMM = 'COMM', - ActorId_CRCH = 'CRCH', - ActorId_CRFP = 'CRFP', - ActorId_CRFT = 'CRFT', - ActorId_CROW = 'CROW', - ActorId_CTFS = 'CTFS', - ActorId_DGPC = 'DGPC', - ActorId_DKCB = 'DKCB', - ActorId_DKCL = 'DKCL', - ActorId_DKTR = 'DKTR', - ActorId_DLPN = 'DLPN', - ActorId_DLTG = 'DLTG', - ActorId_DMCH = 'DMCH', - ActorId_DMEQ = 'DMEQ', - ActorId_DMET = 'DMET', - ActorId_DMFR = 'DMFR', - ActorId_DMFT = 'DMFT', - ActorId_DMGM = 'DMGM', - ActorId_DMGN = 'DMGN', - ActorId_DMMM = 'DMMM', - ActorId_DMMS = 'DMMS', - ActorId_DMMT = 'DMMT', - ActorId_DMPK = 'DMPK', - ActorId_DMPS = 'DMPS', - ActorId_DMSS = 'DMSS', - ActorId_DMST = 'DMST', - ActorId_DMT2 = 'DMT2', - ActorId_DMTR = 'DMTR', - ActorId_DMWS = 'DMWS', - ActorId_DMWT = 'DMWT', - ActorId_DMZS = 'DMZS', - ActorId_DSBB = 'DSBB', - ActorId_DSBH = 'DSBH', - ActorId_DSBN = 'DSBN', - ActorId_DSDS = 'DSDS', - ActorId_DSFR = 'DSFR', - ActorId_DSSN = 'DSSN', - ActorId_DSVC = 'DSVC', - ActorId_DSWT = 'DSWT', - ActorId_E3GL = 'E3GL', - ActorId_E3LV = 'E3LV', - ActorId_E3ST = 'E3ST', - ActorId_E3TT = 'E3TT', - ActorId_EFIK = 'EFIK', - ActorId_EFOC = 'EFOC', - ActorId_EFR2 = 'EFR2', - ActorId_EFR3 = 'EFR3', - ActorId_EFRI = 'EFRI', - ActorId_EFRL = 'EFRL', - ActorId_EFRP = 'EFRP', - ActorId_EFSB = 'EFSB', - ActorId_EFSC = 'EFSC', - ActorId_EFW2 = 'EFW2', - ActorId_EFW3 = 'EFW3', - ActorId_EFWI = 'EFWI', - ActorId_EFWL = 'EFWL', - ActorId_EFWV = 'EFWV', - ActorId_ELVT = 'ELVT', - ActorId_ENGE = 'ENGE', - ActorId_EVCH = 'EVCH', - ActorId_EVIC = 'EVIC', - ActorId_EWHI = 'EWHI', - ActorId_FBBF = 'FBBF', - ActorId_FBBH = 'FBBH', - ActorId_FBCH = 'FBCH', - ActorId_FBRD = 'FBRD', - ActorId_FBRG = 'FBRG', - ActorId_FBSC = 'FBSC', - ActorId_FCHL = 'FCHL', - ActorId_FDKY = 'FDKY', - ActorId_FIBB = 'FIBB', - ActorId_FIFI = 'FIFI', - ActorId_FIMA = 'FIMA', - ActorId_FIML = 'FIML', - ActorId_FIRB = 'FIRB', - ActorId_FKTR = 'FKTR', - ActorId_FLCT = 'FLCT', - ActorId_FLDK = 'FLDK', - ActorId_FLEN = 'FLEN', - ActorId_FMAS = 'FMAS', - ActorId_FMLS = 'FMLS', - ActorId_FOFA = 'FOFA', - ActorId_FOMA = 'FOMA', - ActorId_FOMB = 'FOMB', - ActorId_FOMC = 'FOMC', - ActorId_FOMD = 'FOMD', - ActorId_FOMR = 'FOMR', - ActorId_FOMS = 'FOMS', - ActorId_FOMY = 'FOMY', - ActorId_FOPD = 'FOPD', - ActorId_FRBS = 'FRBS', - ActorId_FRTN = 'FRTN', - ActorId_FSIR = 'FSIR', - ActorId_FSSF = 'FSSF', - ActorId_FSST = 'FSST', - ActorId_FTRN = 'FTRN', - ActorId_GHOS = 'GHOS', - ActorId_GOCA = 'GOCA', - ActorId_GOCB = 'GOCB', - ActorId_GOCP = 'GOCP', - ActorId_GOKI = 'GOKI', - ActorId_GORK = 'GORK', - ActorId_GORM = 'GORM', - ActorId_GORP = 'GORP', - ActorId_GORS = 'GORS', - ActorId_GORY = 'GORY', - ActorId_GOVT = 'GOVT', - ActorId_GRCF = 'GRCF', - ActorId_GRCM = 'GRCM', - ActorId_GTTG = 'GTTG', - ActorId_GYAM = 'GYAM', - ActorId_HAMN = 'HAMN', - ActorId_HELA = 'HELA', - ActorId_Heart = 'HERT', - ActorId_HLMG = 'HLMG', - ActorId_HYSW = 'HYSW', - ActorId_IBBA = 'IBBA', - ActorId_IBSP = 'IBSP', - ActorId_ICBA = 'ICBA', - ActorId_ICBB = 'ICBB', - ActorId_ICBS = 'ICBS', - ActorId_ITBM = 'ITBM', - ActorId_ITSC = 'ITSC', - ActorId_ITTD = 'ITTD', - ActorId_ITWP = 'ITWP', - ActorId_IWTS = 'IWTS', - ActorId_JOLN = 'JOLN', - ActorId_KETH = 'KETH', - ActorId_KEYB = 'KEYB', - ActorId_KEYN = 'KEYN', - ActorId_KEYT = 'KEYT', - ActorId_KGDB = 'KGDB', - ActorId_KGDN = 'KGDN', - ActorId_KIMA = 'KIMA', - ActorId_KIMB = 'KIMB', - ActorId_KLTR = 'KLTR', - ActorId_KMOH = 'KMOH', - ActorId_KMOS = 'KMOS', - ActorId_KMSO = 'KMSO', - ActorId_KOAT = 'KOAT', - ActorId_KOCH = 'KOCH', - ActorId_KOKO = 'KOKO', - ActorId_KOTA = 'KOTA', - ActorId_KURI = 'KURI', - ActorId_L2MT = 'L2MT', - ActorId_L2V1 = 'L2V1', - ActorId_L2V2 = 'L2V2', - ActorId_LAVA = 'LAVA', - ActorId_LBCK = 'LBCK', - ActorId_LBRC = 'LBRC', - ActorId_LikeLike = 'LIKE', - ActorId_LIRA = 'LIRA', - ActorId_LOCK = 'LOCK', - ActorId_LVBD = 'LVBD', - ActorId_LVOF = 'LVOF', - ActorId_LZET = 'LZET', - ActorId_MABC = 'MABC', - ActorId_MABL = 'MABL', - ActorId_MAFI = 'MAFI', - ActorId_MAGR = 'MAGR', - ActorId_MARG = 'MARG', - ActorId_MATR = 'MATR', - ActorId_MBCC = 'MBCC', - ActorId_MDYG = 'MDYG', - ActorId_MGAJ = 'MGAJ', - ActorId_MIFR = 'MIFR', - ActorId_MKUR = 'MKUR', - ActorId_MLCK = 'MLCK', - ActorId_MNCB = 'MNCB', - ActorId_MOCT = 'MOCT', - ActorId_MRD2 = 'MRD2', - ActorId_MRDA = 'MRDA', - ActorId_MRDL = 'MRDL', - ActorId_MRDO = 'MRDO', - ActorId_MTFB = 'MTFB', - ActorId_MTFL = 'MTFL', - ActorId_MTWP = 'MTWP', - ActorId_MZCT = 'MZCT', - ActorId_NAVI = 'NAVI', - ActorId_NCCA = 'NCCA', - ActorId_NCCB = 'NCCB', - ActorId_NCCS = 'NCCS', - ActorId_NCMB = 'NCMB', - ActorId_NCWA = 'NCWA', - ActorId_NFSP = 'NFSP', - ActorId_NICO = 'NICO', - ActorId_NITF = 'NITF', - ActorId_NLTR = 'NLTR', - ActorId_NORE = 'NORE', - ActorId_NPWC = 'NPWC', - ActorId_NSHD = 'NSHD', - ActorId_NSSW = 'NSSW', - ActorId_NSTN = 'NSTN', - ActorId_NTTZ = 'NTTZ', - ActorId_NTUB = 'NTUB', - ActorId_OBPC = 'OBPC', - ActorId_OCGS = 'OCGS', - ActorId_OCTA = 'OCTA', - ActorId_OCTG = 'OCTG', - ActorId_OCTS = 'OCTS', - ActorId_OCTW = 'OCTW', - ActorId_OCWS = 'OCWS', - ActorId_OFSW = 'OFSW', - ActorId_OLDM = 'OLDM', - ActorId_OLDS = 'OLDS', - ActorId_PASS = 'PASS', - ActorId_PBK2 = 'PBK2', - ActorId_PBSP = 'PBSP', - ActorId_PCTG = 'PCTG', - ActorId_PHEY = 'PHEY', - ActorId_PHTM = 'PHTM', - ActorId_PLSR = 'PLSR', - ActorId_PMST = 'PMST', - ActorId_PMTB = 'PMTB', - ActorId_PMTC = 'PMTC', - ActorId_PMTD = 'PMTD', - ActorId_PostBox = 'POST', - ActorId_PPPM = 'PPPM', - ActorId_PRPL = 'PRPL', - ActorId_PRPP = 'PRPP', - ActorId_PRSP = 'PRSP', - ActorId_PSBK = 'PSBK', - ActorId_PSBL = 'PSBL', - ActorId_PSBS = 'PSBS', - ActorId_PSEM = 'PSEM', - ActorId_PSNP = 'PSNP', - ActorId_PSWB = 'PSWB', - ActorId_PTMN = 'PTMN', - ActorId_QKSD = 'QKSD', - ActorId_QKTG = 'QKTG', - ActorId_RAT0 = 'RAT0', - ActorId_RB1F = 'RB1F', - ActorId_RB1T = 'RB1T', - ActorId_RBD2 = 'RBD2', - ActorId_RBDS = 'RBDS', - ActorId_RBFR = 'RBFR', - ActorId_RBL1 = 'RBL1', - ActorId_RBL2 = 'RBL2', - ActorId_RBLS = 'RBLS', - ActorId_RBNT = 'RBNT', - ActorId_RBRP = 'RBRP', - ActorId_RBRT = 'RBRT', - ActorId_RBSN = 'RBSN', - ActorId_RBVC = 'RBVC', - ActorId_RBWS = 'RBWS', - ActorId_RBWT = 'RBWT', - ActorId_RCFO = 'RCFO', - ActorId_RCHU = 'RCHU', - ActorId_RCMS = 'RCMS', - ActorId_RCSG = 'RCSG', - ActorId_RLST = 'RLST', - ActorId_RMA0 = 'RMA0', - ActorId_RMA1 = 'RMA1', - ActorId_RMA2 = 'RMA2', - ActorId_RMA3 = 'RMA3', - ActorId_RMAJ = 'RMAJ', - ActorId_RMBC = 'RMBC', - ActorId_RMBD = 'RMBD', - ActorId_RMC0 = 'RMC0', - ActorId_RMC1 = 'RMC1', - ActorId_RMC2 = 'RMC2', - ActorId_RMC3 = 'RMC3', - ActorId_RMC4 = 'RMC4', - ActorId_RMC5 = 'RMC5', - ActorId_RMC6 = 'RMC6', - ActorId_RMDO = 'RMDO', - ActorId_RMDS = 'RMDS', - ActorId_RMF0 = 'RMF0', - ActorId_RMF1 = 'RMF1', - ActorId_RMFK = 'RMFK', - ActorId_RML0 = 'RML0', - ActorId_RML1 = 'RML1', - ActorId_RML2 = 'RML2', - ActorId_RML3 = 'RML3', - ActorId_RMLF = 'RMLF', - ActorId_RMM0 = 'RMM0', - ActorId_RMM1 = 'RMM1', - ActorId_RMM2 = 'RMM2', - ActorId_RMM3 = 'RMM3', - ActorId_RMM4 = 'RMM4', - ActorId_RMS0 = 'RMS0', - ActorId_RMS1 = 'RMS1', - ActorId_RMS2 = 'RMS2', - ActorId_RMS3 = 'RMS3', - ActorId_RMS4 = 'RMS4', - ActorId_RMS5 = 'RMS5', - ActorId_RMSD = 'RMSD', - ActorId_RMSF = 'RMSF', - ActorId_RMSS = 'RMSS', - ActorId_RMST = 'RMST', - ActorId_RMSV = 'RMSV', - ActorId_RMSW = 'RMSW', - ActorId_RMT0 = 'RMT0', - ActorId_RMT1 = 'RMT1', - ActorId_RMT2 = 'RMT2', - ActorId_RMT3 = 'RMT3', - ActorId_RMT4 = 'RMT4', - ActorId_RMTB = 'RMTB', - ActorId_RMTE = 'RMTE', - ActorId_RMTG = 'RMTG', - ActorId_RMTR = 'RMTR', - ActorId_RMTZ = 'RMTZ', - ActorId_RMV0 = 'RMV0', - ActorId_RMV1 = 'RMV1', - ActorId_RMVD = 'RMVD', - ActorId_RMVF = 'RMVF', - ActorId_RMVS = 'RMVS', - ActorId_RMVT = 'RMVT', - ActorId_RMVV = 'RMVV', - ActorId_RMVW = 'RMVW', - ActorId_RMW0 = 'RMW0', - ActorId_RMW1 = 'RMW1', - ActorId_RNTN = 'RNTN', - ActorId_ROCK = 'ROCK', - ActorId_RPMT = 'RPMT', - ActorId_Rupee = 'RUPE', - ActorId_RYAW = 'RYAW', - ActorId_SCCN = 'SCCN', - ActorId_SEAT = 'SEAT', - ActorId_SEFS = 'SEFS', - ActorId_SGMG = 'SGMG', - ActorId_SHDL = 'SHDL', - ActorId_SHIT = 'SHIT', - ActorId_SIRO = 'SIRO', - ActorId_SIRS = 'SIRS', - ActorId_SKDO = 'SKDO', - ActorId_SMCT = 'SMCT', - ActorId_SNMA = 'SNMA', - ActorId_SNMB = 'SNMB', - ActorId_SNOW = 'SNOW', - ActorId_SNST = 'SNST', - ActorId_SOGB = 'SOGB', - ActorId_SOGC = 'SOGC', - ActorId_SOLB = 'SOLB', - ActorId_SOLC = 'SOLC', - ActorId_SOLD = 'SOLD', - ActorId_SOLF = 'SOLF', - ActorId_SOLG = 'SOLG', - ActorId_SOLT = 'SOLT', - ActorId_SPAR = 'SPAR', - ActorId_SPBM = 'SPBM', - ActorId_SPDR = 'SPDR', - ActorId_SPID = 'SPID', - ActorId_SPTG = 'SPTG', - ActorId_SPTR = 'SPTR', - ActorId_SPTT = 'SPTT', - ActorId_SRNM = 'SRNM', - ActorId_SRSL = 'SRSL', - ActorId_SRST = 'SRST', - ActorId_SSFC = 'SSFC', - ActorId_STCT = 'STCT', - ActorId_STFB = 'STFB', - ActorId_STFH = 'STFH', - ActorId_STLF = 'STLF', - ActorId_STLW = 'STLW', - ActorId_STTG = 'STTG', - ActorId_STWH = 'STWH', - ActorId_SWBM = 'SWBM', - ActorId_SWCH = 'SWCH', - ActorId_SWDS = 'SWDS', - ActorId_SWHI = 'SWHI', - ActorId_SWOB = 'SWOB', - ActorId_SWON = 'SWON', - ActorId_SWTM = 'SWTM', - ActorId_SYDE = 'SYDE', - ActorId_SYDL = 'SYDL', - ActorId_SYDS = 'SYDS', - ActorId_SYFI = 'SYFI', - ActorId_SYFO = 'SYFO', - ActorId_SYIL = 'SYIL', - ActorId_SYIS = 'SYIS', - ActorId_SYOL = 'SYOL', - ActorId_SYOS = 'SYOS', - ActorId_SYRN = 'SYRN', - ActorId_SYSL = 'SYSL', - ActorId_SYSN = 'SYSN', - ActorId_SYSS = 'SYSS', - ActorId_SYWA = 'SYWA', - ActorId_SYWL = 'SYWL', - ActorId_SYWS = 'SYWS', - ActorId_SZKL = 'SZKL', - ActorId_SZKU = 'SZKU', - ActorId_SZRD = 'SZRD', - ActorId_TBRD = 'TBRD', - ActorId_TCAM = 'TCAM', - ActorId_TCOW = 'TCOW', - ActorId_TDKT = 'TDKT', - ActorId_TEHT = 'TEHT', - ActorId_Beedle = 'TERY', - ActorId_TEVT = 'TEVT', - ActorId_TFAT = 'TFAT', - ActorId_TGTZ = 'TGTZ', - ActorId_THER = 'THER', - ActorId_TKYT = 'TKYT', - ActorId_TLKT = 'TLKT', - ActorId_TMNA = 'TMNA', - ActorId_TMNC = 'TMNC', - ActorId_TMNP = 'TMNP', - ActorId_TPDO = 'TPDO', - ActorId_TRAP = 'TRAP', - ActorId_TRBC = 'TRBC', - ActorId_TRCB = 'TRCB', - ActorId_TRER = 'TRER', - ActorId_TRIC = 'TRIC', - ActorId_TRLY = 'TRLY', - ActorId_TRRL = 'TRRL', - ActorId_TRSG = 'TRSG', - ActorId_TRSP = 'TRSP', - ActorId_TRTT = 'TRTT', - ActorId_TRUP = 'TRUP', - ActorId_TSCN = 'TSCN', - ActorId_TSLB = 'TSLB', - ActorId_TSMT = 'TSMT', - ActorId_TTET = 'TTET', - ActorId_TTFT = 'TTFT', - ActorId_TTKB = 'TTKB', - ActorId_TTUT = 'TTUT', - ActorId_TUTO = 'TUTO', - ActorId_TVLR = 'TVLR', - ActorId_VCCH = 'VCCH', - ActorId_VCFT = 'VCFT', - ActorId_VLCR = 'VLCR', - ActorId_VOLV = 'VOLV', - ActorId_VRGN = 'VRGN', - ActorId_WAMA = 'WAMA', - ActorId_WAWA = 'WAWA', - ActorId_WAWB = 'WAWB', - ActorId_WAWC = 'WAWC', - ActorId_WAWS = 'WAWS', - ActorId_WAWY = 'WAWY', - ActorId_WBEF = 'WBEF', - ActorId_WBN2 = 'WBN2', - ActorId_WBPS = 'WBPS', - ActorId_WBTN = 'WBTN', - ActorId_WCAS = 'WCAS', - ActorId_WDBA = 'WDBA', - ActorId_WDRD = 'WDRD', - ActorId_WHMA = 'WHMA', - ActorId_WIDR = 'WIDR', - ActorId_WIDT = 'WIDT', - ActorId_WKTR = 'WKTR', - ActorId_WPBD = 'WPBD', - ActorId_WPCH = 'WPCH', - ActorId_WPCL = 'WPCL', - ActorId_WTBS = 'WTBS', - ActorId_WTH2 = 'WTH2', - ActorId_WTH3 = 'WTH3', - ActorId_WTTH = 'WTTH', - ActorId_WWFS = 'WWFS', - ActorId_YKAP = 'YKAP', - ActorId_YKCP = 'YKCP', - ActorId_YKEP = 'YKEP', - ActorId_YUKI = 'YUKI', - ActorId_YUKY = 'YUKY', - ActorId_YWIS = 'YWIS', - ActorId_ZELD = 'ZELD', - ActorId_ZLBB = 'ZLBB', - ActorId_ZLBS = 'ZLBS', - ActorId_ZLSL = 'ZLSL', - ActorId_ZLSN = 'ZLSN', - ActorId_ZLSS = 'ZLSS', - ActorId_ZSRS = 'ZSRS', - ActorId_ZSTG = 'ZSTG', + ActorId_AJAI = 'AJAI', + ActorId_AJBS = 'AJBS', + ActorId_AJCR = 'AJCR', + ActorId_AJEM = 'AJEM', + ActorId_AJET = 'AJET', + ActorId_AJMN = 'AJMN', + ActorId_AJNP = 'AJNP', + ActorId_AJSP = 'AJSP', + ActorId_AJTM = 'AJTM', + ActorId_ALEV = 'ALEV', + ActorId_AROW = 'AROW', + ActorId_ASBA = 'ASBA', + ActorId_ASYU = 'ASYU', + ActorId_ATTG = 'ATTG', + ActorId_BAEY = 'BAEY', + ActorId_BAFO = 'BAFO', + ActorId_BANI = 'BANI', + ActorId_BAPH = 'BAPH', + ActorId_BBLE = 'BBLE', + ActorId_BDBA = 'BDBA', + ActorId_BDEA = 'BDEA', + ActorId_BDEM = 'BDEM', + ActorId_BDGA = 'BDGA', + ActorId_BDLB = 'BDLB', + ActorId_TreasureBee = 'BEEE', + ActorId_BeeHive = 'BEEH', + ActorId_BFFN = 'BFFN', + ActorId_BGOK = 'BGOK', + ActorId_BKST = 'BKST', + ActorId_BLBL = 'BLBL', + ActorId_BLBR = 'BLBR', + ActorId_BLJF = 'BLJF', + ActorId_BLON = 'BLON', + ActorId_BLST = 'BLST', + ActorId_BMHN = 'BMHN', + ActorId_BMOC = 'BMOC', + ActorId_BOMB = 'BOMB', + ActorId_BPAP = 'BPAP', + ActorId_BPBS = 'BPBS', + ActorId_BROW = 'BROW', + ActorId_BSFC = 'BSFC', + ActorId_BSKM = 'BSKM', + ActorId_BSTG = 'BSTG', + ActorId_BTIR = 'BTIR', + ActorId_CAGE = 'CAGE', + ActorId_CAMA = 'CAMA', + ActorId_CAMB = 'CAMB', + ActorId_CAMS = 'CAMS', + ActorId_CAMY = 'CAMY', + ActorId_CANS = 'CANS', + ActorId_CASE = 'CASE', + ActorId_CASL = 'CASL', + ActorId_CAST = 'CAST', + ActorId_CAWA = 'CAWA', + ActorId_CAWB = 'CAWB', + ActorId_ChuChu = 'CHUC', + ActorId_CLBT = 'CLBT', + ActorId_CLLT = 'CLLT', + ActorId_CLZN = 'CLZN', + ActorId_CNBL = 'CNBL', + ActorId_COMM = 'COMM', + ActorId_CRCH = 'CRCH', + ActorId_CRFP = 'CRFP', + ActorId_CRFT = 'CRFT', + ActorId_CROW = 'CROW', + ActorId_CTFS = 'CTFS', + ActorId_DGPC = 'DGPC', + ActorId_DKCB = 'DKCB', + ActorId_DKCL = 'DKCL', + ActorId_DKTR = 'DKTR', + ActorId_DLPN = 'DLPN', + ActorId_DLTG = 'DLTG', + ActorId_DMCH = 'DMCH', + ActorId_DMEQ = 'DMEQ', + ActorId_DMET = 'DMET', + ActorId_DMFR = 'DMFR', + ActorId_DMFT = 'DMFT', + ActorId_DMGM = 'DMGM', + ActorId_DMGN = 'DMGN', + ActorId_DMMM = 'DMMM', + ActorId_DMMS = 'DMMS', + ActorId_DMMT = 'DMMT', + ActorId_DMPK = 'DMPK', + ActorId_DMPS = 'DMPS', + ActorId_DMSS = 'DMSS', + ActorId_DMST = 'DMST', + ActorId_DMT2 = 'DMT2', + ActorId_DMTR = 'DMTR', + ActorId_DMWS = 'DMWS', + ActorId_DMWT = 'DMWT', + ActorId_DMZS = 'DMZS', + ActorId_DSBB = 'DSBB', + ActorId_DSBH = 'DSBH', + ActorId_DSBN = 'DSBN', + ActorId_DSDS = 'DSDS', + ActorId_DSFR = 'DSFR', + ActorId_DSSN = 'DSSN', + ActorId_DSVC = 'DSVC', + ActorId_DSWT = 'DSWT', + ActorId_E3GL = 'E3GL', + ActorId_E3LV = 'E3LV', + ActorId_E3ST = 'E3ST', + ActorId_E3TT = 'E3TT', + ActorId_EFIK = 'EFIK', + ActorId_EFOC = 'EFOC', + ActorId_EFR2 = 'EFR2', + ActorId_EFR3 = 'EFR3', + ActorId_EFRI = 'EFRI', + ActorId_EFRL = 'EFRL', + ActorId_EFRP = 'EFRP', + ActorId_EFSB = 'EFSB', + ActorId_EFSC = 'EFSC', + ActorId_EFW2 = 'EFW2', + ActorId_EFW3 = 'EFW3', + ActorId_EFWI = 'EFWI', + ActorId_EFWL = 'EFWL', + ActorId_EFWV = 'EFWV', + ActorId_ELVT = 'ELVT', + ActorId_ENGE = 'ENGE', + ActorId_EVCH = 'EVCH', + ActorId_EVIC = 'EVIC', + ActorId_EWHI = 'EWHI', + ActorId_FBBF = 'FBBF', + ActorId_FBBH = 'FBBH', + ActorId_FBCH = 'FBCH', + ActorId_FBRD = 'FBRD', + ActorId_FBRG = 'FBRG', + ActorId_FBSC = 'FBSC', + ActorId_FCHL = 'FCHL', + ActorId_FDKY = 'FDKY', + ActorId_FIBB = 'FIBB', + ActorId_FIFI = 'FIFI', + ActorId_FIMA = 'FIMA', + ActorId_FIML = 'FIML', + ActorId_FIRB = 'FIRB', + ActorId_FKTR = 'FKTR', + ActorId_FLCT = 'FLCT', + ActorId_FLDK = 'FLDK', + ActorId_FLEN = 'FLEN', + ActorId_FMAS = 'FMAS', + ActorId_FMLS = 'FMLS', + ActorId_FOFA = 'FOFA', + ActorId_FOMA = 'FOMA', + ActorId_FOMB = 'FOMB', + ActorId_FOMC = 'FOMC', + ActorId_FOMD = 'FOMD', + ActorId_FOMR = 'FOMR', + ActorId_FOMS = 'FOMS', + ActorId_FOMY = 'FOMY', + ActorId_FOPD = 'FOPD', + ActorId_FRBS = 'FRBS', + ActorId_FRTN = 'FRTN', + ActorId_FSIR = 'FSIR', + ActorId_FSSF = 'FSSF', + ActorId_FSST = 'FSST', + ActorId_FTRN = 'FTRN', + ActorId_GHOS = 'GHOS', + ActorId_GOCA = 'GOCA', + ActorId_GOCB = 'GOCB', + ActorId_GOCP = 'GOCP', + ActorId_GOKI = 'GOKI', + ActorId_GORK = 'GORK', + ActorId_GORM = 'GORM', + ActorId_GORP = 'GORP', + ActorId_GORS = 'GORS', + ActorId_GORY = 'GORY', + ActorId_GOVT = 'GOVT', + ActorId_GRCF = 'GRCF', + ActorId_GRCM = 'GRCM', + ActorId_GTTG = 'GTTG', + ActorId_GYAM = 'GYAM', + ActorId_HAMN = 'HAMN', + ActorId_HELA = 'HELA', + ActorId_Heart = 'HERT', + ActorId_HLMG = 'HLMG', + ActorId_HYSW = 'HYSW', + ActorId_IBBA = 'IBBA', + ActorId_IBSP = 'IBSP', + ActorId_ICBA = 'ICBA', + ActorId_ICBB = 'ICBB', + ActorId_ICBS = 'ICBS', + ActorId_ITBM = 'ITBM', + ActorId_ITSC = 'ITSC', + ActorId_ITTD = 'ITTD', + ActorId_ITWP = 'ITWP', + ActorId_IWTS = 'IWTS', + ActorId_JOLN = 'JOLN', + ActorId_KETH = 'KETH', + ActorId_KEYB = 'KEYB', + ActorId_KEYN = 'KEYN', + ActorId_KEYT = 'KEYT', + ActorId_KGDB = 'KGDB', + ActorId_KGDN = 'KGDN', + ActorId_KIMA = 'KIMA', + ActorId_KIMB = 'KIMB', + ActorId_KLTR = 'KLTR', + ActorId_KMOH = 'KMOH', + ActorId_KMOS = 'KMOS', + ActorId_KMSO = 'KMSO', + ActorId_KOAT = 'KOAT', + ActorId_KOCH = 'KOCH', + ActorId_KOKO = 'KOKO', + ActorId_KOTA = 'KOTA', + ActorId_KURI = 'KURI', + ActorId_L2MT = 'L2MT', + ActorId_L2V1 = 'L2V1', + ActorId_L2V2 = 'L2V2', + ActorId_LAVA = 'LAVA', + ActorId_LBCK = 'LBCK', + ActorId_LBRC = 'LBRC', + ActorId_LikeLike = 'LIKE', + ActorId_LIRA = 'LIRA', + ActorId_LOCK = 'LOCK', + ActorId_LVBD = 'LVBD', + ActorId_LVOF = 'LVOF', + ActorId_LZET = 'LZET', + ActorId_MABC = 'MABC', + ActorId_MABL = 'MABL', + ActorId_MAFI = 'MAFI', + ActorId_MAGR = 'MAGR', + ActorId_MARG = 'MARG', + ActorId_MATR = 'MATR', + ActorId_MBCC = 'MBCC', + ActorId_MDYG = 'MDYG', + ActorId_MGAJ = 'MGAJ', + ActorId_MIFR = 'MIFR', + ActorId_MKUR = 'MKUR', + ActorId_MLCK = 'MLCK', + ActorId_MNCB = 'MNCB', + ActorId_MOCT = 'MOCT', + ActorId_MRD2 = 'MRD2', + ActorId_MRDA = 'MRDA', + ActorId_MRDL = 'MRDL', + ActorId_MRDO = 'MRDO', + ActorId_MTFB = 'MTFB', + ActorId_MTFL = 'MTFL', + ActorId_MTWP = 'MTWP', + ActorId_MZCT = 'MZCT', + ActorId_NAVI = 'NAVI', + ActorId_NCCA = 'NCCA', + ActorId_NCCB = 'NCCB', + ActorId_NCCS = 'NCCS', + ActorId_NCMB = 'NCMB', + ActorId_NCWA = 'NCWA', + ActorId_NFSP = 'NFSP', + ActorId_NICO = 'NICO', + ActorId_NITF = 'NITF', + ActorId_NLTR = 'NLTR', + ActorId_NORE = 'NORE', + ActorId_NPWC = 'NPWC', + ActorId_NormalShield = 'NSHD', + ActorId_NSSW = 'NSSW', + ActorId_NSTN = 'NSTN', + ActorId_NTTZ = 'NTTZ', + ActorId_NTUB = 'NTUB', + ActorId_OBPC = 'OBPC', + ActorId_OCGS = 'OCGS', + ActorId_OCTA = 'OCTA', + ActorId_OCTG = 'OCTG', + ActorId_OCTS = 'OCTS', + ActorId_OCTW = 'OCTW', + ActorId_OCWS = 'OCWS', + ActorId_OFSW = 'OFSW', + ActorId_OLDM = 'OLDM', + ActorId_OLDS = 'OLDS', + ActorId_PASS = 'PASS', + ActorId_PBK2 = 'PBK2', + ActorId_PBSP = 'PBSP', + ActorId_PCTG = 'PCTG', + ActorId_PHEY = 'PHEY', + ActorId_PHTM = 'PHTM', + ActorId_PLSR = 'PLSR', + ActorId_PMST = 'PMST', + ActorId_PMTB = 'PMTB', + ActorId_PMTC = 'PMTC', + ActorId_PMTD = 'PMTD', + ActorId_PostBox = 'POST', + ActorId_PPPM = 'PPPM', + ActorId_PRPL = 'PRPL', + ActorId_PRPP = 'PRPP', + ActorId_PRSP = 'PRSP', + ActorId_PSBK = 'PSBK', + ActorId_PSBL = 'PSBL', + ActorId_PSBS = 'PSBS', + ActorId_PSEM = 'PSEM', + ActorId_PSNP = 'PSNP', + ActorId_PSWB = 'PSWB', + ActorId_PTMN = 'PTMN', + ActorId_QKSD = 'QKSD', + ActorId_QKTG = 'QKTG', + ActorId_RAT0 = 'RAT0', + ActorId_RB1F = 'RB1F', + ActorId_RB1T = 'RB1T', + ActorId_RBD2 = 'RBD2', + ActorId_RBDS = 'RBDS', + ActorId_RBFR = 'RBFR', + ActorId_RBL1 = 'RBL1', + ActorId_RBL2 = 'RBL2', + ActorId_RBLS = 'RBLS', + ActorId_RBNT = 'RBNT', + ActorId_RBRP = 'RBRP', + ActorId_RBRT = 'RBRT', + ActorId_RBSN = 'RBSN', + ActorId_RBVC = 'RBVC', + ActorId_RBWS = 'RBWS', + ActorId_RBWT = 'RBWT', + ActorId_RCFO = 'RCFO', + ActorId_RCHU = 'RCHU', + ActorId_RCMS = 'RCMS', + ActorId_RCSG = 'RCSG', + ActorId_RLST = 'RLST', + ActorId_RMA0 = 'RMA0', + ActorId_RMA1 = 'RMA1', + ActorId_RMA2 = 'RMA2', + ActorId_RMA3 = 'RMA3', + ActorId_RMAJ = 'RMAJ', + ActorId_RMBC = 'RMBC', + ActorId_RMBD = 'RMBD', + ActorId_RMC0 = 'RMC0', + ActorId_RMC1 = 'RMC1', + ActorId_RMC2 = 'RMC2', + ActorId_RMC3 = 'RMC3', + ActorId_RMC4 = 'RMC4', + ActorId_RMC5 = 'RMC5', + ActorId_RMC6 = 'RMC6', + ActorId_RMDO = 'RMDO', + ActorId_RMDS = 'RMDS', + ActorId_RMF0 = 'RMF0', + ActorId_RMF1 = 'RMF1', + ActorId_RMFK = 'RMFK', + ActorId_RML0 = 'RML0', + ActorId_RML1 = 'RML1', + ActorId_RML2 = 'RML2', + ActorId_RML3 = 'RML3', + ActorId_RMLF = 'RMLF', + ActorId_RMM0 = 'RMM0', + ActorId_RMM1 = 'RMM1', + ActorId_RMM2 = 'RMM2', + ActorId_RMM3 = 'RMM3', + ActorId_RMM4 = 'RMM4', + ActorId_RMS0 = 'RMS0', + ActorId_RMS1 = 'RMS1', + ActorId_RMS2 = 'RMS2', + ActorId_RMS3 = 'RMS3', + ActorId_RMS4 = 'RMS4', + ActorId_RMS5 = 'RMS5', + ActorId_RMSD = 'RMSD', + ActorId_RMSF = 'RMSF', + ActorId_RMSS = 'RMSS', + ActorId_RMST = 'RMST', + ActorId_RMSV = 'RMSV', + ActorId_RMSW = 'RMSW', + ActorId_RMT0 = 'RMT0', + ActorId_RMT1 = 'RMT1', + ActorId_RMT2 = 'RMT2', + ActorId_RMT3 = 'RMT3', + ActorId_RMT4 = 'RMT4', + ActorId_RMTB = 'RMTB', + ActorId_RMTE = 'RMTE', + ActorId_RMTG = 'RMTG', + ActorId_RMTR = 'RMTR', + ActorId_RMTZ = 'RMTZ', + ActorId_RMV0 = 'RMV0', + ActorId_RMV1 = 'RMV1', + ActorId_RMVD = 'RMVD', + ActorId_RMVF = 'RMVF', + ActorId_RMVS = 'RMVS', + ActorId_RMVT = 'RMVT', + ActorId_RMVV = 'RMVV', + ActorId_RMVW = 'RMVW', + ActorId_RMW0 = 'RMW0', + ActorId_RMW1 = 'RMW1', + ActorId_RNTN = 'RNTN', + ActorId_ROCK = 'ROCK', + ActorId_RPMT = 'RPMT', + ActorId_Rupee = 'RUPE', + ActorId_RYAW = 'RYAW', + ActorId_SCCN = 'SCCN', + ActorId_SEAT = 'SEAT', + ActorId_SEFS = 'SEFS', + ActorId_SGMG = 'SGMG', + ActorId_SHDL = 'SHDL', + ActorId_SHIT = 'SHIT', + ActorId_SIRO = 'SIRO', + ActorId_SIRS = 'SIRS', + ActorId_SKDO = 'SKDO', + ActorId_SMCT = 'SMCT', + ActorId_SNMA = 'SNMA', + ActorId_SNMB = 'SNMB', + ActorId_SNOW = 'SNOW', + ActorId_SNST = 'SNST', + ActorId_SOGB = 'SOGB', + ActorId_SOGC = 'SOGC', + ActorId_SOLB = 'SOLB', + ActorId_SOLC = 'SOLC', + ActorId_SOLD = 'SOLD', + ActorId_SOLF = 'SOLF', + ActorId_SOLG = 'SOLG', + ActorId_SOLT = 'SOLT', + ActorId_SPAR = 'SPAR', + ActorId_SPBM = 'SPBM', + ActorId_SPDR = 'SPDR', + ActorId_SPID = 'SPID', + ActorId_SPTG = 'SPTG', + ActorId_SPTR = 'SPTR', + ActorId_SPTT = 'SPTT', + ActorId_SRNM = 'SRNM', + ActorId_SRSL = 'SRSL', + ActorId_SRST = 'SRST', + ActorId_SSFC = 'SSFC', + ActorId_STCT = 'STCT', + ActorId_STFB = 'STFB', + ActorId_STFH = 'STFH', + ActorId_STLF = 'STLF', + ActorId_STLW = 'STLW', + ActorId_STTG = 'STTG', + ActorId_STWH = 'STWH', + ActorId_SWBM = 'SWBM', + ActorId_SWCH = 'SWCH', + ActorId_SWDS = 'SWDS', + ActorId_SWHI = 'SWHI', + ActorId_SWOB = 'SWOB', + ActorId_SWON = 'SWON', + ActorId_SWTM = 'SWTM', + ActorId_SYDE = 'SYDE', + ActorId_SYDL = 'SYDL', + ActorId_SYDS = 'SYDS', + ActorId_SYFI = 'SYFI', + ActorId_SYFO = 'SYFO', + ActorId_SYIL = 'SYIL', + ActorId_SYIS = 'SYIS', + ActorId_SYOL = 'SYOL', + ActorId_SYOS = 'SYOS', + ActorId_SYRN = 'SYRN', + ActorId_SYSL = 'SYSL', + ActorId_SYSN = 'SYSN', + ActorId_SYSS = 'SYSS', + ActorId_SYWA = 'SYWA', + ActorId_SYWL = 'SYWL', + ActorId_SYWS = 'SYWS', + ActorId_SZKL = 'SZKL', + ActorId_SZKU = 'SZKU', + ActorId_SZRD = 'SZRD', + ActorId_TBRD = 'TBRD', + ActorId_TCAM = 'TCAM', + ActorId_TCOW = 'TCOW', + ActorId_TDKT = 'TDKT', + ActorId_TEHT = 'TEHT', + ActorId_Beedle = 'TERY', + ActorId_TEVT = 'TEVT', + ActorId_TFAT = 'TFAT', + ActorId_TGTZ = 'TGTZ', + ActorId_THER = 'THER', + ActorId_TKYT = 'TKYT', + ActorId_TLKT = 'TLKT', + ActorId_TMNA = 'TMNA', + ActorId_TMNC = 'TMNC', + ActorId_TMNP = 'TMNP', + ActorId_TPDO = 'TPDO', + ActorId_TRAP = 'TRAP', + ActorId_TRBC = 'TRBC', + ActorId_TRCB = 'TRCB', + ActorId_TRER = 'TRER', + ActorId_TRIC = 'TRIC', + ActorId_TRLY = 'TRLY', + ActorId_TRRL = 'TRRL', + ActorId_TRSG = 'TRSG', + ActorId_TRSP = 'TRSP', + ActorId_TRTT = 'TRTT', + ActorId_TRUP = 'TRUP', + ActorId_TSCN = 'TSCN', + ActorId_TSLB = 'TSLB', + ActorId_TSMT = 'TSMT', + ActorId_TTET = 'TTET', + ActorId_TTFT = 'TTFT', + ActorId_TTKB = 'TTKB', + ActorId_TTUT = 'TTUT', + ActorId_TUTO = 'TUTO', + ActorId_TVLR = 'TVLR', + ActorId_VCCH = 'VCCH', + ActorId_VCFT = 'VCFT', + ActorId_VLCR = 'VLCR', + ActorId_VOLV = 'VOLV', + ActorId_VRGN = 'VRGN', + ActorId_WAMA = 'WAMA', + ActorId_WAWA = 'WAWA', + ActorId_WAWB = 'WAWB', + ActorId_WAWC = 'WAWC', + ActorId_WAWS = 'WAWS', + ActorId_WAWY = 'WAWY', + ActorId_WBEF = 'WBEF', + ActorId_WBN2 = 'WBN2', + ActorId_WBPS = 'WBPS', + ActorId_WBTN = 'WBTN', + ActorId_WCAS = 'WCAS', + ActorId_WDBA = 'WDBA', + ActorId_WDRD = 'WDRD', + ActorId_WHMA = 'WHMA', + ActorId_WIDR = 'WIDR', + ActorId_WIDT = 'WIDT', + ActorId_WKTR = 'WKTR', + ActorId_WPBD = 'WPBD', + ActorId_WPCH = 'WPCH', + ActorId_WPCL = 'WPCL', + ActorId_WTBS = 'WTBS', + ActorId_WTH2 = 'WTH2', + ActorId_WTH3 = 'WTH3', + ActorId_WTTH = 'WTTH', + ActorId_WWFS = 'WWFS', + ActorId_YKAP = 'YKAP', + ActorId_YKCP = 'YKCP', + ActorId_YKEP = 'YKEP', + ActorId_YUKI = 'YUKI', + ActorId_YUKY = 'YUKY', + ActorId_YWIS = 'YWIS', + ActorId_ZELD = 'ZELD', + ActorId_ZLBB = 'ZLBB', + ActorId_ZLBS = 'ZLBS', + ActorId_ZLSL = 'ZLSL', + ActorId_ZLSN = 'ZLSN', + ActorId_ZLSS = 'ZLSS', + ActorId_ZSRS = 'ZSRS', + ActorId_ZSTG = 'ZSTG', }; diff --git a/include/Actor/ActorUnk_ov000_020a8bb0.hpp b/include/Actor/ActorUnk_ov000_020a8bb0.hpp new file mode 100644 index 00000000..97b5328b --- /dev/null +++ b/include/Actor/ActorUnk_ov000_020a8bb0.hpp @@ -0,0 +1,123 @@ +#pragma once + +#include "Actor/Actor.hpp" +#include "types.h" + +class ActorUnk_ov000_020a8bb0_94 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk16 mUnk_08; + /* 08 */ unk16 mUnk_0a; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk16 mUnk_14; + /* 14 */ unk16 mUnk_16; + /* 18 */ unk32 mUnk_18; + /* 1c */ + + ActorUnk_ov000_020a8bb0_94(); + ~ActorUnk_ov000_020a8bb0_94(); +}; + +class ActorUnk_ov000_020a8bb0_ec { +public: + void func_ov024_020d6668(); +}; + +class ActorUnk_ov000_020a8bb0 : public Actor { +public: + /* 000 (base) */ + /* 094 */ ActorUnk_ov000_020a8bb0_94 mUnk_094; + /* 0b0 */ u16 mUnk_0b0; + /* 0b4 */ unk32 mUnk_0b4; + /* 0b8 */ unk32 mUnk_0b8; + /* 0bc */ unk32 mUnk_0bc; + /* 0c0 */ unk32 mUnk_0c0; + /* 0c4 */ unk32 mUnk_0c4; + /* 0c8 */ unk32 mUnk_0c8; + /* 0cc */ unk16 mUnk_0cc; + /* 0cc */ unk16 mUnk_0ce; + /* 0d0 */ unk32 mUnk_0d0; + /* 0d4 */ unk32 mUnk_0d4; + /* 0d8 */ unk16 mUnk_0d8; + /* 0d8 */ unk16 mUnk_0da; + /* 0dc */ unk16 mUnk_0dc; + /* 0dc */ unk16 mUnk_0de; + /* 0e0 */ unk16 mUnk_0e0; + /* 0e0 */ unk16 mUnk_0e2; + /* 0e4 */ unk32 mUnk_0e4; + /* 0e8 */ unk16 mUnk_0e8; + /* 0e8 */ unk16 mUnk_0ea; + /* 0ec */ ActorUnk_ov000_020a8bb0_ec mUnk_0ec; + /* 0f0 */ unk32 mUnk_0f0; + /* 0f4 */ unk32 mUnk_0f4; + /* 0f8 */ unk32 mUnk_0f8; + /* 0fc */ unk32 mUnk_0fc; + /* 100 */ unk32 mUnk_100; + /* 104 */ unk32 mUnk_104; + /* 108 */ unk32 mUnk_108; + /* 10c */ unk32 mUnk_10c; + /* 110 */ unk32 mUnk_110; + /* 114 */ unk32 mUnk_114; + /* 118 */ unk32 mUnk_118; + /* 11c */ unk32 mUnk_11c; + + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual unk32 vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 20 */ virtual void vfunc_20() override; + /* 24 */ virtual void vfunc_24() override; + /* 2c */ virtual void vfunc_2c() override; + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4c */ virtual ~ActorUnk_ov000_020a8bb0(); + /* 54 */ virtual void vfunc_54(); + /* 54 */ virtual void vfunc_58() = 0; + /* 5c */ virtual void vfunc_5c(); + /* 60 */ virtual void vfunc_60(); + /* 64 */ virtual void vfunc_64(); + /* 68 */ virtual void vfunc_68(); + /* 6c */ virtual void vfunc_6c(); + /* 70 */ virtual void vfunc_70(); + /* 74 */ virtual void vfunc_74(); + /* 78 */ virtual void vfunc_78(); + /* 7c */ virtual unk32 vfunc_7c(); + /* 80 */ virtual unk32 vfunc_80(); + /* 84 */ virtual unk32 vfunc_84(); + /* 88 */ virtual unk32 vfunc_88(); + /* 8c */ virtual unk32 vfunc_8c(); + /* 90 */ virtual unk32 vfunc_90(); + /* 94 */ virtual void vfunc_94(); + /* 98 */ virtual void vfunc_98(); + /* 9c */ virtual void vfunc_9c(); + /* a0 */ virtual void vfunc_a0(); + /* a4 */ virtual void vfunc_a4(); + /* a8 */ virtual unk32 vfunc_a8(); + /* ac */ virtual void vfunc_ac(); + /* b0 */ virtual void vfunc_b0(); + /* b4 */ virtual void vfunc_b4(); + /* b8 */ virtual void vfunc_b8(); + /* bc */ + + ActorUnk_ov000_020a8bb0(unk32 param1, unk32 param2); + void func_ov000_020a8db0(); + void func_ov000_020a8dd0(); + void func_ov000_020a8df0(); + void func_ov000_020a8e9c(); + void func_ov000_020a8ff4(); + void func_ov000_020a91b8(); + void func_ov000_020a9200(); + void func_ov000_020a9248(); + void func_ov000_020a94b0(); + void func_ov000_020a95d8(); + void func_ov000_020a9804(); + void func_ov000_020a9a20(); + void func_ov000_020a9a34(); + void func_ov000_020a9a50(); + void func_ov000_020a9a94(); + void func_ov000_020a9abc(); + void func_ov000_020a9ae0(); + void func_ov000_020a9afc(); +}; diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp index 85716615..0bb59065 100644 --- a/include/Item/Item.hpp +++ b/include/Item/Item.hpp @@ -4,9 +4,28 @@ #include "types.h" #define MAX_KEYS 8 +#define MAX_TEARS_OF_LIGHT 3 + +#define CAPACITY_QUIVER_TIER_1 20 +#define CAPACITY_QUIVER_TIER_2 30 +#define CAPACITY_QUIVER_TIER_3 50 + +#define CAPACITY_BOMB_BAG_TIER_1 10 +#define CAPACITY_BOMB_BAG_TIER_2 20 +#define CAPACITY_BOMB_BAG_TIER_3 30 + +typedef u8 UpgradeCapacity; +enum UpgradeCapacity_ { + UpgradeCapacity_Tier1, + UpgradeCapacity_Tier2, + UpgradeCapacity_Tier3, + UpgradeCapacity_Max +}; typedef u32 ItemFlag; +typedef u16 ItemFlag_u16; enum ItemFlag_ { + ItemFlag_None = -1, ItemFlag_Whirlwind = FLAG(0, 0), ItemFlag_Boomerang = FLAG(0, 1), ItemFlag_Whip = FLAG(0, 2), @@ -78,116 +97,127 @@ enum ItemFlag_ { ItemFlag_Max }; -typedef u32 ItemId; +typedef s32 ItemId; +typedef s16 ItemId_s16; enum ItemId_ { - ItemId_None = -1, - ItemId_Nothing = 0, - ItemId_NormalShield = 1, - ItemId_NormalSword = 2, - ItemId_Whirlwind = 3, - ItemId_BombBag = 4, - ItemId_NormalBow = 5, - ItemId_Boomerang = 6, - ItemId_Whip = 7, - ItemId_SandRod = 8, - ItemId_NormalKey = 10, - ItemId_BossKey = 11, - ItemId_GreenRupee = 12, - ItemId_BlueRupee = 13, - ItemId_RedRupee = 14, - ItemId_BigGreenRupee = 15, - ItemId_BigRedRupee = 16, - ItemId_BigGoldRupee = 17, - ItemId_ForceGem_18 = 18, // kidnapped papuchia man - ItemId_ForceGem_19 = 19, // ice for fish seller - ItemId_ForceGem_20 = 20, // goron lava house ice - ItemId_ForestGlyph = 21, - ItemId_SnowGlyph = 22, - ItemId_OceanGlyph = 23, - ItemId_FireGlyph = 24, - ItemId_FinalTrack = 30, // unlocks the endgame portal - ItemId_ForceGem_35 = 35, // rightmost fire gem - ItemId_ForceGem_36 = 36, // right snow gem - ItemId_ForceGem_37 = 37, // top fire gem - ItemId_RecruitUniform = 38, - ItemId_PostmasterLetter = 39, - ItemId_HeartContainer = 40, - ItemId_QuiverMedium = 41, - ItemId_BombBagMedium = 42, - ItemId_ForceGem_43 = 43, // one of rightmost forest - ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top - ItemId_ForceGem_45 = 45, // the bottom-rightmost forest - ItemId_ForceGem_46 = 46, // the top-rightmost fire - ItemId_ForceGem_47 = 47, // the center forest - ItemId_ForceGem_48 = 48, // the middle-left forest - ItemId_ForceGem_49 = 49, // the below middle-left forest - ItemId_ForceGem_50 = 50, - ItemId_ForceGem_51 = 51, - ItemId_ForceGem_52 = 52, - ItemId_ForceGem_53 = 53, - ItemId_ForceGem_54 = 54, - ItemId_ForceGem_55 = 55, - ItemId_ForceGem_56 = 56, - ItemId_ForceGem_57 = 57, - ItemId_ForceGem_58 = 58, - ItemId_ForceGem_59 = 59, - ItemId_ForceGem_60 = 60, - ItemId_ForceGem_61 = 61, - ItemId_PanFlute = 62, - ItemId_StampBook = 63, - ItemId_LightBow = 64, - ItemId_LocomoSword = 65, - ItemId_TenPriceCard = 66, - ItemId_RedPotion = 67, - ItemId_PurplePotion = 68, - ItemId_YellowPotion = 69, - ItemId_DemonFossil = 70, - ItemId_StalfosSkull = 71, - ItemId_StarFragment = 72, - ItemId_BeeLarvae = 73, - ItemId_WoodHeart = 74, - ItemId_DarkPearlLoop = 75, - ItemId_WhitePearlLoop = 76, - ItemId_RutoCrown = 77, - ItemId_DragonScale = 78, - ItemId_PirateNecklace = 79, - ItemId_PalaceDish = 80, - ItemId_GoronAmber = 81, - ItemId_MysticJade = 82, - ItemId_AncientCoin = 83, - ItemId_PricelessStone = 84, - ItemId_RegalRing = 85, - ItemId_ArrowsRefill = 86, - ItemId_BombsRefill = 87, - ItemId_SoldOutSign = 88, - ItemId_AncientShield = 89, - ItemId_QuiverLarge = 90, - ItemId_BombBagLarge = 91, - ItemId_RandCommonTreasure = 92, - ItemId_RandUncommonTreasure = 93, - ItemId_RandRareTreasure = 94, - ItemId_RandLegendaryTreasure = 95, - ItemId_TearLight = 96, - ItemId_LightCompass = 97, - ItemId_SuperSpinScroll = 98, - ItemId_BeamScroll = 99, - ItemId_LinebeckLetter = 100, - ItemId_PanFluteSong_101 = 101, - ItemId_PanFluteSong_102 = 102, - ItemId_PanFluteSong_103 = 103, - ItemId_PanFluteSong_104 = 104, - ItemId_PanFluteSong_105 = 105, - ItemId_RabbitNet = 106, - ItemId_BeedleCard = 107, - ItemId_SilverCard = 108, - ItemId_GoldCard = 109, - ItemId_PlatinumCard = 110, - ItemId_DiamondCard = 111, - ItemId_FreebieCard = 112, - ItemId_QuintupleCard = 113, - ItemId_CarbenLetter = 114, - ItemId_RecruitUniform2 = 115, - ItemId_EngineerUniform = 116, + /* 0xFF */ ItemId_None = -1, + /* 0x00 */ ItemId_Nothing = 0, + /* 0x01 */ ItemId_NormalShield = 1, + /* 0x02 */ ItemId_NormalSword = 2, + /* 0x03 */ ItemId_Whirlwind = 3, + /* 0x04 */ ItemId_BombBag = 4, + /* 0x05 */ ItemId_NormalBow = 5, + /* 0x06 */ ItemId_Boomerang = 6, + /* 0x07 */ ItemId_Whip = 7, + /* 0x08 */ ItemId_SandRod = 8, + /* 0x09 */ ItemId_9 = 9, + /* 0x0A */ ItemId_NormalKey = 10, + /* 0x0B */ ItemId_BossKey = 11, + /* 0x0C */ ItemId_GreenRupee = 12, + /* 0x0D */ ItemId_BlueRupee = 13, + /* 0x0E */ ItemId_RedRupee = 14, + /* 0x0F */ ItemId_BigGreenRupee = 15, + /* 0x10 */ ItemId_BigRedRupee = 16, + /* 0x11 */ ItemId_BigGoldRupee = 17, + /* 0x12 */ ItemId_ForceGem_18 = 18, // kidnapped papuchia man + /* 0x13 */ ItemId_ForceGem_19 = 19, // ice for fish seller + /* 0x14 */ ItemId_ForceGem_20 = 20, // goron lava house ice + /* 0x15 */ ItemId_ForestGlyph = 21, + /* 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, + /* 0x1E */ ItemId_FinalTrack = 30, // unlocks the endgame portal + /* 0x1F */ ItemId_31 = 31, + /* 0x20 */ ItemId_32 = 32, + /* 0x21 */ ItemId_33 = 33, + /* 0x22 */ ItemId_34 = 34, + /* 0x23 */ ItemId_ForceGem_35 = 35, // rightmost fire gem + /* 0x24 */ ItemId_ForceGem_36 = 36, // right snow gem + /* 0x25 */ ItemId_ForceGem_37 = 37, // top fire gem + /* 0x26 */ ItemId_RecruitUniform = 38, + /* 0x27 */ ItemId_PostmasterLetter = 39, + /* 0x28 */ ItemId_HeartContainer = 40, + /* 0x29 */ ItemId_QuiverMedium = 41, + /* 0x2A */ ItemId_BombBagMedium = 42, + /* 0x2B */ ItemId_ForceGem_43 = 43, // one of rightmost forest + /* 0x2C */ ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top + /* 0x2D */ ItemId_ForceGem_45 = 45, // the bottom-rightmost forest + /* 0x2E */ ItemId_ForceGem_46 = 46, // the top-rightmost fire + /* 0x2F */ ItemId_ForceGem_47 = 47, // the center forest + /* 0x30 */ ItemId_ForceGem_48 = 48, // the middle-left forest + /* 0x31 */ ItemId_ForceGem_49 = 49, // the below middle-left forest + /* 0x32 */ ItemId_ForceGem_50 = 50, + /* 0x33 */ ItemId_ForceGem_51 = 51, + /* 0x34 */ ItemId_ForceGem_52 = 52, + /* 0x35 */ ItemId_ForceGem_53 = 53, + /* 0x36 */ ItemId_ForceGem_54 = 54, + /* 0x37 */ ItemId_ForceGem_55 = 55, + /* 0x38 */ ItemId_ForceGem_56 = 56, + /* 0x39 */ ItemId_ForceGem_57 = 57, + /* 0x3A */ ItemId_ForceGem_58 = 58, + /* 0x3B */ ItemId_ForceGem_59 = 59, + /* 0x3C */ ItemId_ForceGem_60 = 60, + /* 0x3D */ ItemId_ForceGem_61 = 61, + /* 0x3E */ ItemId_PanFlute = 62, + /* 0x3F */ ItemId_StampBook = 63, + /* 0x40 */ ItemId_LightBow = 64, + /* 0x41 */ ItemId_LokomoSword = 65, + /* 0x42 */ ItemId_TenPriceCard = 66, + /* 0x43 */ ItemId_RedPotion = 67, + /* 0x44 */ ItemId_PurplePotion = 68, + /* 0x45 */ ItemId_YellowPotion = 69, + /* 0x46 */ ItemId_DemonFossil = 70, + /* 0x47 */ ItemId_StalfosSkull = 71, + /* 0x48 */ ItemId_StarFragment = 72, + /* 0x49 */ ItemId_BeeLarvae = 73, + /* 0x4A */ ItemId_WoodHeart = 74, + /* 0x4B */ ItemId_DarkPearlLoop = 75, + /* 0x4C */ ItemId_WhitePearlLoop = 76, + /* 0x4D */ ItemId_RutoCrown = 77, + /* 0x4E */ ItemId_DragonScale = 78, + /* 0x4F */ ItemId_PirateNecklace = 79, + /* 0x50 */ ItemId_PalaceDish = 80, + /* 0x51 */ ItemId_GoronAmber = 81, + /* 0x52 */ ItemId_MysticJade = 82, + /* 0x53 */ ItemId_AncientCoin = 83, + /* 0x54 */ ItemId_PricelessStone = 84, + /* 0x55 */ ItemId_RegalRing = 85, + /* 0x56 */ ItemId_ArrowsRefill = 86, + /* 0x57 */ ItemId_BombsRefill = 87, + /* 0x58 */ ItemId_SoldOutSign = 88, + /* 0x59 */ ItemId_AncientShield = 89, + /* 0x5A */ ItemId_QuiverLarge = 90, + /* 0x5B */ ItemId_BombBagLarge = 91, + /* 0x5C */ ItemId_RandCommonTreasure = 92, + /* 0x5D */ ItemId_RandUncommonTreasure = 93, + /* 0x5E */ ItemId_RandRareTreasure = 94, + /* 0x5F */ ItemId_RandLegendaryTreasure = 95, + /* 0x60 */ ItemId_TearLight = 96, + /* 0x61 */ ItemId_LightCompass = 97, + /* 0x62 */ ItemId_ScrollSpinAttack = 98, + /* 0x63 */ ItemId_ScrollBeam = 99, + /* 0x64 */ ItemId_LinebeckLetter = 100, + /* 0x65 */ ItemId_PanFluteSong_101 = 101, + /* 0x66 */ ItemId_PanFluteSong_102 = 102, + /* 0x67 */ ItemId_PanFluteSong_103 = 103, + /* 0x68 */ ItemId_PanFluteSong_104 = 104, + /* 0x69 */ ItemId_PanFluteSong_105 = 105, + /* 0x6A */ ItemId_RabbitNet = 106, + /* 0x6B */ ItemId_BeedleCard = 107, + /* 0x6C */ ItemId_SilverCard = 108, + /* 0x6D */ ItemId_GoldCard = 109, + /* 0x6E */ ItemId_PlatinumCard = 110, + /* 0x6F */ ItemId_DiamondCard = 111, + /* 0x70 */ ItemId_FreebieCard = 112, + /* 0x71 */ ItemId_QuintupleCard = 113, + /* 0x72 */ ItemId_CarbenLetter = 114, + /* 0x73 */ ItemId_RecruitUniform2 = 115, + /* 0x74 */ ItemId_EngineerUniform = 116, }; #define MAX_TREASURE 99 @@ -209,7 +239,8 @@ enum TreasureType_ { TreasureType_MysticJade = 12, TreasureType_AncientCoin = 13, TreasureType_PricelessStone = 14, - TreasureType_RegalRing = 15 + TreasureType_RegalRing = 15, + TreasureType_Max = 16 }; #define MAX_POTIONS 2 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 3f31dd4a..da03bc7d 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -4,46 +4,129 @@ #include "System/SysNew.hpp" #include "types.h" +#define IS_ITEM_RESTRICTED(restrictions, itemFlag) (((restrictions) & (1 << (itemFlag))) != 0) + +struct UnkStruct_ov000_020afc48 { + /* 00 */ ItemId_s16 mItemId; + /* 02 */ unk16 mUnk_02; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ char mUnk_10[16]; + /* 20 */ +}; + +class UnkStruct_ItemManager_20_14 { +public: + /* 00 (vtable) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + + virtual void vfunc_00(); //! TODO: name symbol func_ov000_020667d8 + virtual void vfunc_04(); //! TODO: name symbol func_ov000_020667f4 + virtual void vfunc_08(); //! TODO: name symbol func_ov000_020673c8 + virtual void vfunc_0c(); //! TODO: name symbol func_ov000_02067434 + virtual void vfunc_10(); //! TODO: name symbol func_ov000_02067474 + virtual void vfunc_14(); //! TODO: name symbol func_ov000_02066dfc + virtual void vfunc_18(); //! TODO: name symbol func_ov000_020669d8 + virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02067234 + virtual void vfunc_20(); //! TODO: name symbol func_ov000_0206723c + virtual ~UnkStruct_ItemManager_20_14(); //! TODO: name symbols func_ov000_020672ac, func_ov000_020672f4 + + UnkStruct_ItemManager_20_14(); + + unk32 func_ov053_0213caf0(); +}; + +class UnkStruct_ItemManager_20 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ UnkStruct_ItemManager_20_14 mUnk_14; + + bool func_ov031_020db874(ItemFlag itemFlag); + void func_ov031_020db8cc(); + bool func_ov031_020db8f8(); +}; + class ItemManager : public SysObject { public: - /* 00 */ unk32 mEquippedItem; - /* 04 */ unk32 mForcedItem; + /* 00 */ ItemFlag mEquippedItem; + /* 04 */ ItemFlag mForcedItem; /* 08 */ u32 mUnk_08[2]; // inventory items bitfield & collection/equipment bitfield - /* 10 */ unk16 mNumRupees; + /* 10 */ u16 mNumRupees; /* 12 */ u16 mUnk_12; // "toggle bitfield" - /* 14 */ unk16 mItemRestrictions; // bitfield - /* 16 */ unk8 mTearsAmount; // number of tears of light + /* 14 */ u16 mItemRestrictions; // bitfield + /* 16 */ u8 mTearsAmount; // number of tears of light /* 17 */ u8 mKeyAmount; // number of small keys - /* 18 */ u8 mQuiverCapacity; - /* 19 */ u8 mBombBagCapacity; + /* 18 */ UpgradeCapacity mQuiverCapacity; + /* 19 */ UpgradeCapacity mBombBagCapacity; /* 1a */ u8 mArrowAmount; /* 1b */ u8 mBombAmount; /* 1c */ u8 mPotions[MAX_POTIONS]; /* 1e */ unk16 mUnk_1e; - /* 20 */ unk32 *mUnk_20; - /* 24 */ unk32 mUnk_24; - /* 28 */ unk8 mUnk_28[0x3C - 0x28]; - /* 3c */ TreasureType mUnk_3c[16]; // treasures - /* 5c */ + /* 20 */ UnkStruct_ItemManager_20 *mUnk_20; + /* 24 */ unk8 mUnk_24; + /* 24 */ unk8 mUnk_25; + /* 24 */ unk8 mUnk_26; + /* 24 */ unk8 mUnk_27; + /* 28 */ ItemManager(); ~ItemManager(); + void func_ov000_020a863c(ItemFlag itemFlag); void func_ov000_020a865c(ItemFlag itemFlag); bool func_ov000_020a8680(); unk32 func_ov000_020a86a4(); u32 func_ov000_020a86d0(ItemFlag itemFlag); u8 func_ov000_020a8728(); - void func_ov000_020a8768(unk32 param1, unk32 param2, unk32 param3); u8 func_ov000_020a8748(); + void GiveRupees(s32 amount, bool param2, bool param3); void func_ov000_020a87c8(s32 amount); void func_ov000_020a87ec(s32 amount); void func_ov000_020a8820(s32 amount); + bool func_ov000_020a8854(); void func_ov000_020a888c(PotionType type); bool func_ov000_020a88c8(); bool func_ov000_020a88f4(); void func_ov000_020a8920(); bool func_ov000_020a8948(); + static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag); + static ItemFlag func_ov000_020a8984(ItemId itemId); + void func_ov000_020a89bc(); + bool func_ov000_020a89d4(); + bool func_ov000_020a8a0c(); + void func_ov000_020a8a5c(); + bool func_ov000_020a8a74(); + unk32 func_ov000_020a8a90(); + unk32 func_ov000_020a8aa4(); + unk32 func_ov000_020a8ab8(); + unk32 func_ov000_020a8acc(); + void func_ov000_020a8ae0(); + + bool func_ov110_02184a40(ItemId itemId); + static ItemId func_ov110_02185da4(ItemId itemId); + static ItemFlag func_ov110_02185db4(ItemId itemId); +}; + +class TreasureManager : public ItemManager { +public: + /* 28 */ unk8 mUnk_28[0x3C - 0x28]; + /* 3c */ s16 mUnk_3c[TreasureType_Max]; // treasures + /* 5c */ + + TreasureManager(); + ~TreasureManager(); + + void func_ov000_020a9b10(); + void func_ov000_020a9b2c(); + void func_ov000_020a9b3c(); + void func_ov000_020a9b4c(); + bool func_ov000_020a9c4c(TreasureType type); bool func_ov000_020a9c64(); unk32 func_ov000_020a9c90(TreasureType type); bool func_ov000_020a9ca4(TreasureType type); @@ -52,81 +135,13 @@ public: static unk32 func_ov000_020a9e14(unk32 param1); static unk32 func_ov000_020a9eb0(unk32 param1); static unk32 func_ov000_020a9f4c(unk32 param1); - unk32 func_ov000_020aa02c(ItemId itemId); + ItemId func_ov000_020aa02c(ItemId itemId); void func_ov000_020aa0ac(ItemId itemId); - - //! TODO: find out if it belongs here (some of them are (derived) Actor vfuncs?) - void func_ov000_020a8974(); - void func_ov000_020a8984(); - void func_ov000_020a89bc(); - void func_ov000_020a89d4(); - void func_ov000_020a8a0c(); - void func_ov000_020a8a5c(); - void func_ov000_020a8a74(); - void func_ov000_020a8a90(); - void func_ov000_020a8aa4(); - void func_ov000_020a8ab8(); - void func_ov000_020a8acc(); - void func_ov000_020a8ae0(); - void func_ov000_020a8af4(); - void func_ov000_020a8b48(); - void func_ov000_020a8b7c(); - void func_ov000_020a8bb0(); - void func_ov000_020a8cc0(); - void func_ov000_020a8ce0(); - void func_ov000_020a8d08(); - void func_ov000_020a8d28(); - void func_ov000_020a8da0(); - void func_ov000_020a8da4(); - void func_ov000_020a8db0(); - void func_ov000_020a8dd0(); - void func_ov000_020a8df0(); - void func_ov000_020a8e84(); - void func_ov000_020a8e9c(); - void func_ov000_020a8ec0(); - unk32 func_ov000_020a8f54(); - unk32 func_ov000_020a8f5c(); - unk32 func_ov000_020a8f64(); - void func_ov000_020a8f6c(); - void func_ov000_020a8f78(); - void func_ov000_020a8fe0(); - void func_ov000_020a8ff4(); - void func_ov000_020a914c(); - void func_ov000_020a9150(); - unk32 func_ov000_020a91a0(); - unk32 func_ov000_020a91a8(); - unk32 func_ov000_020a91b0(); - void func_ov000_020a91b8(); - void func_ov000_020a9200(); - void func_ov000_020a921c(); - void func_ov000_020a9240(); - void func_ov000_020a9244(); - void func_ov000_020a9248(); - void func_ov000_020a92d0(); - void func_ov000_020a9448(); - void func_ov000_020a94b0(); - void func_ov000_020a9598(); - void func_ov000_020a95c4(); - void func_ov000_020a95d4(); - void func_ov000_020a95d8(); - void func_ov000_020a95e4(); - unk32 func_ov000_020a97fc(); - void func_ov000_020a9804(); - void func_ov000_020a98f0(); - void func_ov000_020a98f4(); - void func_ov000_020a995c(); - void func_ov000_020a99a4(); - void func_ov000_020a99d8(); - void func_ov000_020a9a20(); - void func_ov000_020a9a34(); - void func_ov000_020a9a50(); - void func_ov000_020a9a94(); - void func_ov000_020a9abc(); - void func_ov000_020a9ae0(); - void func_ov000_020a9afc(); - void func_ov000_020a9b10(); - void func_ov000_020a9b2c(); - void func_ov000_020a9b3c(); - void func_ov000_020a9b4c(); - void func_ov000_020a9c4c(); + void func_ov000_020aa200(); + void func_ov000_020aa210(); }; + +extern TreasureManager *data_ov000_020b6510; +extern UnkStruct_ov000_020afc48 data_ov000_020afc48[ItemFlag_EQUIP_COUNT]; +extern const u8 gQuiverCapacities[UpgradeCapacity_Max]; +extern const u8 gBombBagCapacities[UpgradeCapacity_Max]; diff --git a/include/Player/PlayerGet.hpp b/include/Player/PlayerGet.hpp index 1375bc2f..681ebd59 100644 --- a/include/Player/PlayerGet.hpp +++ b/include/Player/PlayerGet.hpp @@ -2,16 +2,21 @@ #include "global.h" #include "types.h" +#include "versions.h" #include "Unknown/UnkStruct_027e0ce0.hpp" #include "Unknown/UnkStruct_ov000_0208f820.hpp" +#include "nitro/math.h" + +struct UnkStruct_ov110_02185dc8 { + u16 mItemId; + u16 mItemFlag; +}; class UnkStruct_ov110_021861ec { public: /* 00 */ Vec3p mUnk_00; - /* 08 */ unk32 mUnk_0c; - /* 08 */ unk32 mUnk_10; - /* 14 */ + /* 0c */ ARM UnkStruct_ov110_021861ec(q20 x, q20 y, q20 z) { this->mUnk_00.x = x; @@ -20,24 +25,11 @@ public: } }; -struct UnkStruct_PlayerGet_64 { - UnkStruct_PlayerGet_64(unk32 param1, unk32 param2); -}; - class UnkStruct_PlayerGet_74_base : public SysObject { public: /* 00 (vtable) */ - /* 00 */ virtual void vfunc_00(); - /* 04 */ virtual void vfunc_04() /* = 0 */; - /* 08 */ virtual void vfunc_08() /* = 0 */; - /* 0c */ virtual void vfunc_0c() /* = 0 */; - /* 10 */ virtual void vfunc_10() /* = 0 */; - /* 14 */ virtual void vfunc_14() /* = 0 */; - /* 18 */ virtual void vfunc_18() /* = 0 */; - /* 1c */ virtual void vfunc_1c() /* = 0 */; - /* 20 */ virtual void vfunc_20() /* = 0 */; - /* 24 */ + /* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3); UnkStruct_PlayerGet_74_base(); }; @@ -45,90 +37,133 @@ public: class UnkStruct_PlayerGet_74 : public UnkStruct_PlayerGet_74_base { public: /* 00 (base) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ UnkStruct_ov000_0208f820 *mUnk_14; - /* 00 */ virtual void vfunc_00() override; + /* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3) override; - UnkStruct_PlayerGet_74() {} + UnkStruct_PlayerGet_74(UnkStruct_ov000_0208f820 *param1) { + this->mUnk_14 = param1; + } }; class UnkStruct_PlayerGet_8c { public: + // /* 00 */ unk32 *mUnk_00; + + virtual ~UnkStruct_PlayerGet_8c(); + virtual void vfunc_08(unk32 param1); //! TODO: name symbol func_ov000_02057bf4 + virtual void vfunc_0c(); //! TODO: name symbol func_01ffc57c + virtual void vfunc_10(); //! TODO: name symbol func_ov000_02057dc8 + virtual void vfunc_14(); //! TODO: name symbol func_ov000_02057e44 + virtual void vfunc_18(); //! TODO: name symbol func_ov000_02057ea8 + virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02057c34 + virtual void vfunc_20(); //! TODO: name symbol func_ov000_02057d84 + UnkStruct_PlayerGet_8c(unk32 param1); }; class UnkStruct_PlayerGet_ec { public: - /* 00 */ unk32 mUnk_00; + /* 00 */ unk32 *mUnk_00; /* 04 */ - UnkStruct_PlayerGet_ec(unk32 param1) { + UnkStruct_PlayerGet_ec(unk32 *param1) { this->mUnk_00 = param1; } + UnkStruct_PlayerGet_ec(); ~UnkStruct_PlayerGet_ec(); }; +class UnkStruct_PlayerGet_50 { +public: + unk32 func_01ff8fa8(); + unk32 func_02015080(unk32 param1); +}; + +class UnkStruct_PlayerGet_fc { +public: + /* 00 */ UnkStruct_PlayerGet_ec *mUnk_00; +}; + +class UnkStruct_PlayerGet_48 { +public: + /* 00 */ unk8 mUnk_00[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]; + /* 5e */ unk16 mUnk_5e; + /* 60 */ unk8 mUnk_60; + /* 61 */ unk8 mUnk_61; + /* 62 */ unk8 mUnk_62; + /* 63 */ unk8 mUnk_63; +}; + class PlayerGet : public UnkStruct_ov000_0208f820 { public: - /* 00 (base) */ - /* 48 */ unk32 mUnk_48; - /* 4c */ unk32 mUnk_4c; - /* 50 */ unk32 mUnk_50; - /* 54 */ unk32 mUnk_54; - /* 58 */ unk32 mUnk_58; - /* 5c */ unk32 mUnk_5c; - /* 60 */ unk32 mUnk_60; - /* 64 */ UnkStruct_PlayerGet_64 mUnk_64; - /* 68 */ unk32 mUnk_68; - /* 6c */ unk32 mUnk_6c; - /* 70 */ unk16 mUnk_70; - /* 70 */ unk8 mUnk_72; - /* 70 */ unk8 mUnk_73; - /* 74 */ UnkStruct_PlayerGet_74 mUnk_74; - /* 78 */ unk32 mUnk_78; - /* 7c */ unk32 mUnk_7c; - /* 80 */ unk32 mUnk_80; - /* 84 */ unk32 mUnk_84; - /* 88 */ UnkStruct_ov000_0208f820 *mUnk_88; - /* 8c */ UnkStruct_PlayerGet_8c mUnk_8c; - /* 90 */ unk32 mUnk_90; - /* 94 */ unk32 mUnk_94; - /* 98 */ unk32 mUnk_98; - /* 9c */ unk32 mUnk_9c; - /* a0 */ unk32 mUnk_a0; - /* a4 */ unk32 mUnk_a4; - /* a8 */ unk32 mUnk_a8; - /* ac */ unk32 mUnk_ac; - /* b0 */ unk32 mUnk_b0; - /* b4 */ unk32 mUnk_b4; - /* b8 */ unk32 mUnk_b8; - /* bc */ unk32 mUnk_bc; - /* c0 */ unk32 mUnk_c0; - /* c4 */ unk32 mUnk_c4; - /* c8 */ unk32 mUnk_c8; - /* cc */ unk32 mUnk_cc; - /* d0 */ unk32 mUnk_d0; - /* d4 */ unk32 mUnk_d4; - /* d8 */ unk32 mUnk_d8; - /* dc */ unk32 mUnk_dc; - /* e0 */ unk32 mUnk_e0; - /* e4 */ unk32 mUnk_e4; - /* e8 */ unk32 mUnk_e8; - /* ec */ UnkStruct_PlayerGet_ec mUnk_ec[4]; - /* f0 */ + /* 000 (base) */ + /* 048 */ UnkStruct_PlayerGet_48 *mUnk_48; + /* 04c */ unk32 *mUnk_4c; + /* 050 */ UnkStruct_PlayerGet_50 *mUnk_50; + /* 054 */ UnkStruct_ov000_0208f820_04 mUnk_54; + /* 064 */ UnkStruct_PlayerGet_64 mUnk_64; + /* 068 */ unk32 mUnk_68; + /* 06c */ unk32 mUnk_6c; // scale + /* 070 */ unk16 mUnk_70; // angle/rotation + /* 070 */ u8 mUnk_72; // probably bools + /* 070 */ u8 mUnk_73; // probably bools + /* 074 */ UnkStruct_PlayerGet_74 mUnk_74; + /* 08c */ UnkStruct_PlayerGet_8c mUnk_8c; + /* 090 */ unk32 *mUnk_90; + /* 094 */ unk32 mUnk_94; + /* 098 */ unk32 *mUnk_98; + /* 09c */ unk32 mUnk_9c; + /* 0a0 */ unk32 *mUnk_a0; + /* 0a4 */ unk32 mUnk_a4; + /* 0a8 */ unk32 *mUnk_a8; + /* 0ac */ unk32 mUnk_ac; + /* 0b0 */ unk32 *mUnk_b0; + /* 0b4 */ unk32 mUnk_b4; + /* 0b8 */ unk32 mUnk_b8; + /* 0bc */ unk32 mUnk_bc; + /* 0c0 */ unk32 mUnk_c0; + /* 0c4 */ unk32 mUnk_c4; + /* 0c8 */ unk32 mUnk_c8; + /* 0cc */ unk32 mUnk_cc; + /* 0d0 */ unk32 mUnk_d0; + /* 0d4 */ unk32 mUnk_d4; + /* 0d8 */ unk32 mUnk_d8; + /* 0dc */ unk32 mUnk_dc; + /* 0e0 */ unk32 mUnk_e0; + /* 0e4 */ unk32 mUnk_e4; + /* 0e8 */ unk32 mUnk_e8; + /* 0ec */ UnkStruct_PlayerGet_ec mUnk_ec[4]; + /* 0fc */ void *mUnk_fc; + /* 100 */ /* 04 */ virtual ~PlayerGet() override; - /* 0c */ virtual void vfunc_0c() override; - /* 10 */ virtual void vfunc_10() override; + /* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override; + /* 10 */ virtual void vfunc_10(unk32 param1) override; /* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3) override; - void func_ov110_02184dac(unk32 param1, unk32 param2, unk32 param3); PlayerGet(); - static unk32 func_ov110_02185da4(unk32 param1); - - // Japanese version only +#if IS_JP bool func_ov110_02186b8c(); +#else + bool func_ov110_02186b8c() { + return true; + } +#endif }; extern const UnkStruct_ov110_021861ec data_ov110_021861ec; diff --git a/include/Unknown/UnkStruct_020d8698.hpp b/include/Unknown/UnkStruct_020d8698.hpp new file mode 100644 index 00000000..78b7b04e --- /dev/null +++ b/include/Unknown/UnkStruct_020d8698.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "types.h" + +class UnkStruct_020d8698 { +public: + void func_ov024_020cd458(ItemFlag itemFlag, unk32 param2); + void func_ov024_020cd368(bool param1, bool param2); +}; + +extern UnkStruct_020d8698 *data_ov024_020d8698; diff --git a/include/Unknown/UnkStruct_027e09a4.hpp b/include/Unknown/UnkStruct_027e09a4.hpp new file mode 100644 index 00000000..01d70ddd --- /dev/null +++ b/include/Unknown/UnkStruct_027e09a4.hpp @@ -0,0 +1,12 @@ +#pragma once + +#include "types.h" + +class UnkStruct_027e09a4 { +public: + /* 00 */ unk32 mUnk_00; + + unk8 func_ov000_02070bd0(unk32, unk32); +}; + +extern UnkStruct_027e09a4 *data_027e09a4; diff --git a/include/Unknown/UnkStruct_027e09b8.hpp b/include/Unknown/UnkStruct_027e09b8.hpp new file mode 100644 index 00000000..6439fd1d --- /dev/null +++ b/include/Unknown/UnkStruct_027e09b8.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "types.h" + +class UnkStruct_027e09b8 { +public: + /* 00 */ unk8 mUnk_00[0x14]; + /* 14 */ u32 mUnk_14[1]; //! TODO + + unk32 func_01ffd420(); + + unk32 func_ov000_020732ec(unk32 param1); + unk32 func_ov000_020732fc(unk32 param1); + unk32 func_ov000_020732dc(unk32 param1); +}; + +extern UnkStruct_027e09b8 *data_027e09b8; diff --git a/include/Unknown/UnkStruct_027e09bc.hpp b/include/Unknown/UnkStruct_027e09bc.hpp new file mode 100644 index 00000000..8e405be0 --- /dev/null +++ b/include/Unknown/UnkStruct_027e09bc.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "types.h" + +class UnkStruct_027e09bc_0c { +public: + void func_ov000_02078230(unk32 param1); + void func_ov000_0207834c(Vec3p *param1, unk32 param2, unk32 param3); +}; + +class UnkStruct_027e09bc { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ UnkStruct_027e09bc_0c *mUnk_0c; +}; + +extern UnkStruct_027e09bc *data_027e09bc; diff --git a/include/Unknown/UnkStruct_027e0cd8.hpp b/include/Unknown/UnkStruct_027e0cd8.hpp index e163fcaa..0ee47e05 100644 --- a/include/Unknown/UnkStruct_027e0cd8.hpp +++ b/include/Unknown/UnkStruct_027e0cd8.hpp @@ -17,6 +17,8 @@ public: /* 24 */ virtual void vfunc_24(); /* 28 */ virtual q20 vfunc_28(Vec3p *param1, unk32 param2, unk32 param3); /* 2c */ virtual void vfunc_2c(); + + unk32 func_ov000_02080a44(); }; class UnkStruct_027e0cd8 { diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index fc628670..6562173c 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -6,6 +6,28 @@ #include "Item/ItemManager.hpp" #include "System/SysNew.hpp" +class UnkStruct_027e0ce0_34 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ unk32 mUnk_20; + /* 24 */ unk32 mUnk_24; + /* 28 */ unk32 mUnk_28; + /* 2c */ unk32 mUnk_2c; + /* 30 */ + + void func_ov024_020d3d98(unk32 param1, unk32 param2); + void func_ov024_020d3ee8(unk32 param1, u16 param2, unk32 param3); + + void func_ov110_02185d3c(ItemId itemId); +}; + // PlayerManager? class UnkStruct_027e0ce0 { public: @@ -25,7 +47,7 @@ public: /* 28 */ ItemManager *mUnk_28; /* 2c */ ItemManager *mUnk_2c; // same as above /* 30 */ unk32 *mUnk_30; // ? - /* 34 */ unk32 *mUnk_34; + /* 34 */ UnkStruct_027e0ce0_34 *mUnk_34; /* 38 */ unk32 *mUnk_38; // pointer to data_027e0478 when on the train /* 3c */ unk32 mUnk_3c; /* 40 */ unk32 *mUnk_40; // pointer to data_027e0478 when not on the train @@ -34,11 +56,6 @@ public: void func_01fff148(); void func_ov000_0208a318(unk32 param1, unk32 param2, unk32 param3); - - void func_ov024_020d3d98(unk32 param1, unk32 param2); - void func_ov024_020d3ee8(unk32, u16, unk32); - - void func_ov110_02185d3c(unk32 param1); }; extern UnkStruct_027e0ce0 *data_027e0ce0; diff --git a/include/Unknown/UnkStruct_027e0ce4.hpp b/include/Unknown/UnkStruct_027e0ce4.hpp index 0756ae71..6a274b59 100644 --- a/include/Unknown/UnkStruct_027e0ce4.hpp +++ b/include/Unknown/UnkStruct_027e0ce4.hpp @@ -3,9 +3,19 @@ #include "nitro/math.h" #include "types.h" -struct UnkStruct_func_01fff3b4_ret { - /* 00 */ unk8 mUnk_00[0xE8]; +class UnkStruct_func_01fff3b4_ret { +public: + /* 00 */ unk8 mUnk_00[0x48]; + /* 48 */ unk8 mUnk_48; + /* 48 */ unk8 mUnk_49; + /* 48 */ unk8 mUnk_4a; + /* 48 */ unk8 mUnk_4b; + /* 48 */ unk8 mUnk_4c[0x58 - 0x4C]; + /* 58 */ unk32 mUnk_58; + /* 5c */ unk8 mUnk_5c[0xE8 - 0x5C]; /* e8 */ Vec3p mPos; + + void func_ov062_02158ce8(); }; class UnkStruct_027e0ce4 { diff --git a/include/Unknown/UnkStruct_027e0ce8.hpp b/include/Unknown/UnkStruct_027e0ce8.hpp new file mode 100644 index 00000000..e953650e --- /dev/null +++ b/include/Unknown/UnkStruct_027e0ce8.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "Unknown/UnkStruct_ov000_020b34c4.hpp" +#include "types.h" + +class UnkStruct_func_01fff520_ret { +public: + void func_ov031_02103878(); +}; + +class UnkStruct_027e0ce8 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ UnkStruct_func_01fff520_ret **mUnk_08; + + UnkStruct_func_01fff520_ret **func_01fff520(UnkStruct_ov000_020b34c4 *param1, unk32); + unk32 func_01fff498(UnkStruct_ov000_0208f820_04 param1); +}; + +extern UnkStruct_027e0ce8 *data_027e0ce8; diff --git a/include/Unknown/UnkStruct_027e0cec.hpp b/include/Unknown/UnkStruct_027e0cec.hpp index 70321019..9e126fba 100644 --- a/include/Unknown/UnkStruct_027e0cec.hpp +++ b/include/Unknown/UnkStruct_027e0cec.hpp @@ -7,6 +7,7 @@ class UnkStruct_027e0cec { public: 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); }; diff --git a/include/Unknown/UnkStruct_ov000_02067bc4.hpp b/include/Unknown/UnkStruct_ov000_02067bc4.hpp new file mode 100644 index 00000000..31c1aa8c --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_02067bc4.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "Item/Item.hpp" +#include "types.h" + +class UnkStruct_ov000_02067bc4 { +public: + /* 00 */ virtual unk32 vfunc_00(); + /* 04 */ virtual unk32 vfunc_04(); + /* 08 */ virtual unk32 vfunc_08(); + + UnkStruct_ov000_02067bc4 *func_ov000_02067bc4(unk32); + void func_ov000_02067cf8(ItemId itemId, unk32 param2, unk32 *param3); +}; + +extern UnkStruct_ov000_02067bc4 data_ov000_020b504c; diff --git a/include/Unknown/UnkStruct_ov000_0208f820.hpp b/include/Unknown/UnkStruct_ov000_0208f820.hpp index 6eb2b5a3..44941337 100644 --- a/include/Unknown/UnkStruct_ov000_0208f820.hpp +++ b/include/Unknown/UnkStruct_ov000_0208f820.hpp @@ -6,7 +6,8 @@ #include "System/SysNew.hpp" #include "nitro/math.h" -struct UnkStruct_ov000_0208f820_14 { +class UnkStruct_ov000_0208f820_14 { +public: /* 00 */ unk8 mUnk_00[0x6C]; /* 6c */ unk32 mUnk_6c; /* 70 */ u16 mUnk_70; @@ -21,48 +22,152 @@ struct UnkStruct_ov000_0208f820_14 { /* 90 */ }; -struct UnkStruct_ov000_0208f820_28_54 { - /* 00 */ unk8 mUnk_00[0x12]; - /* 12 */ u16 mUnk_12; +class UnkStruct_PlayerGet_64 { +public: + UnkStruct_PlayerGet_64(unk32 *param1, unk32 param2); + ~UnkStruct_PlayerGet_64(); + + void func_ov000_0208a100(); }; -struct UnkStruct_ov000_0208f820_28 { +class UnkStruct_ov000_0208f820_28_98 { +public: + /* 00 */ unk8 mUnk_00[0x38]; + /* 38 */ UnkStruct_PlayerGet_64 mUnk_38; + /* 3c */ unk32 mUnk_3c; + /* 40 */ u16 mUnk_40; +}; + +class UnkStruct_ov000_0208f820_28 { +public: /* 00 */ unk8 mUnk_00[0x54]; - /* 54 */ UnkStruct_ov000_0208f820_28_54 *mUnk_54; - /* 58 */ + /* 54 */ ItemManager *pItemManager; + /* 58 */ unk8 mUnk_58[0x98 - 0x58]; + /* 98 */ UnkStruct_ov000_0208f820_28_98 *mUnk_98; + + void func_ov058_02152a24(); +}; + +class UnkStruct_ov000_0208f820_2c { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk8 mUnk_14[0x58 - 0x14]; + /* 58 */ unk16 mUnk_58; +}; + +class UnkStruct_ov000_0208f820_30_10 { +public: + void func_ov031_020e076c(); +}; + +class UnkStruct_ov000_0208f820_30 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ UnkStruct_ov000_0208f820_30_10 *mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ unk32 mUnk_20; + /* 24 */ unk32 mUnk_24; + /* 28 */ unk8 mUnk_28[0x70 - 0x28]; + /* 70 */ u32 mUnk_70; + + void func_ov000_020921e4(unk32 param1); + void func_ov000_020936ec(); + void func_ov000_02093a04(); +}; + +class UnkStruct_ov000_0208f820_38 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; +}; + +class UnkStruct_ov000_0208f820_3c { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; +}; + +class UnkStruct_ov000_0208f820_40 { +public: + /* 00 */ unk16 mUnk_00; +}; + +class UnkStruct_PlayerGet_vfunc_0c_param1 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1c */ ItemId mUnk_1c; +}; + +class UnkStruct_ov000_0208f820_24 { +public: + /* 00 */ unk8 mUnk_00[0x24]; + /* 24 */ unk8 mUnk_24; + /* 25 */ unk8 mUnk_25; +}; + +class UnkStruct_ov000_0208f820_04 { +public: + /* 00 */ u8 mUnk_00[4]; + /* 04 */ u8 mUnk_04[4]; + /* 08 */ unk32 mUnk_08; + /* 0c */ ItemId mItemId; + /* 14 */ + + UnkStruct_ov000_0208f820_04(unk32 param1, unk32 param2, unk32 param3, ItemId itemId) { + *(u32 *) this->mUnk_00 = param1; + *(u32 *) this->mUnk_04 = param2; + this->mUnk_08 = param3; + this->mItemId = itemId; + } + + UnkStruct_ov000_0208f820_04() {}; }; class UnkStruct_ov000_0208f820 : public SysObject { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0c */ unk32 mUnk_0c; - /* 10 */ unk32 mUnk_10; + /* 04 */ UnkStruct_ov000_0208f820_04 mUnk_04; /* 14 */ UnkStruct_ov000_0208f820_14 *mUnk_14; /* 18 */ unk8 mUnk_18; - /* 18 */ unk8 mUnk_19; - /* 18 */ unk8 mUnk_1a; - /* 18 */ unk8 mUnk_1b; + /* 19 */ unk8 mUnk_19; + /* 1a */ unk8 mUnk_1a; + /* 1b */ unk8 mUnk_1b; /* 1c */ unk32 mUnk_1c; /* 20 */ unk32 mUnk_20; - /* 24 */ unk32 mUnk_24; + /* 24 */ UnkStruct_ov000_0208f820_24 *mUnk_24; /* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28; - /* 2c */ unk32 mUnk_2c; - /* 30 */ unk32 mUnk_30; + /* 2c */ UnkStruct_ov000_0208f820_2c *mUnk_2c; + /* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30; /* 34 */ Vec3p *mUnk_34; - /* 38 */ unk32 mUnk_38; - /* 3c */ unk32 mUnk_3c; - /* 40 */ unk32 mUnk_40; - /* 44 */ unk32 mUnk_44; + /* 38 */ UnkStruct_ov000_0208f820_38 *mUnk_38; + /* 3c */ UnkStruct_ov000_0208f820_3c *mUnk_3c; + /* 40 */ UnkStruct_ov000_0208f820_40 *mUnk_40; + /* 44 */ unk32 *mUnk_44; /* 48 */ /* 00 */ virtual void vfunc_00(); /* 04 */ virtual ~UnkStruct_ov000_0208f820(); - /* 0c */ virtual void vfunc_0c(); - /* 10 */ virtual void vfunc_10(); + /* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1); + /* 10 */ virtual void vfunc_10(unk32 param1); /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual void vfunc_18(); + /* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3); /* 1c */ virtual void vfunc_1c(); /* 20 */ diff --git a/include/Unknown/UnkStruct_ov000_020b34c4.hpp b/include/Unknown/UnkStruct_ov000_020b34c4.hpp new file mode 100644 index 00000000..b8d8c19c --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020b34c4.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "types.h" + +class UnkStruct_ov000_020b34c4 { +public: + /* 00 */ void *mUnk_00; + /* 04 */ unk32 mUnk_04; +}; + +extern UnkStruct_ov000_020b34c4 data_ov000_020b34c4; diff --git a/include/Unknown/UnkStruct_ov000_020b51b8.hpp b/include/Unknown/UnkStruct_ov000_020b51b8.hpp new file mode 100644 index 00000000..f19e7df1 --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020b51b8.hpp @@ -0,0 +1,18 @@ +#pragma once + +#include "types.h" + +class UnkStruct_ov000_020b51b8 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + + void func_ov000_0206d274(unk32 param1); + void func_ov000_0206c96c(unk32 param1); + void func_ov000_0206c9a8(unk32 param1, unk32 param2, unk32 param3, unk32 param4); +}; + +extern UnkStruct_ov000_020b51b8 data_ov000_020b51b8; diff --git a/include/Unknown/UnkStruct_ov000_020b51c0.hpp b/include/Unknown/UnkStruct_ov000_020b51c0.hpp new file mode 100644 index 00000000..e45349ba --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020b51c0.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "types.h" + +class UnkStruct_ov000_020b51c0 { +public: + unk32 func_02002f04(); +}; + +extern UnkStruct_ov000_020b51c0 data_ov000_020b51c0; diff --git a/include/nitro/math.h b/include/nitro/math.h index ea1d1d88..0f818b8c 100644 --- a/include/nitro/math.h +++ b/include/nitro/math.h @@ -114,7 +114,7 @@ typedef struct { extern const Vec3p gVec3p_ZERO; -void Vec3p_Add(Vec3p *a, Vec3p *b, Vec3p *out); +void Vec3p_Add(Vec3p *a, const Vec3p *b, Vec3p *out); void Vec3p_Sub(Vec3p *a, Vec3p *b, Vec3p *out); q20 Vec3p_Dot(Vec3p *a, Vec3p *b); void Vec3p_Cross(Vec3p *a, Vec3p *b, Vec3p *out); diff --git a/include/versions.h b/include/versions.h new file mode 100644 index 00000000..9ae46bf1 --- /dev/null +++ b/include/versions.h @@ -0,0 +1,14 @@ +#pragma once + +#define EUR 0 +#define JP 1 +#define USA 2 + +#ifndef VERSION + #warning "VERSION is not defined, check configure.py!" + #define VERSION EUR +#endif + +#define IS_EUR (VERSION == EUR) +#define IS_JP (VERSION == JP) +#define IS_USA (VERSION == USA) diff --git a/src/000_Second/Actor/Actor.cpp b/src/000_Second/Actor/Actor.cpp index 0b8af2d8..341f97d6 100644 --- a/src/000_Second/Actor/Actor.cpp +++ b/src/000_Second/Actor/Actor.cpp @@ -41,8 +41,8 @@ ARM void Actor::func_ov000_0209848c(UnkStruct_ov000_020b539c_30 *param1) { temp_r3 = ¶m1->mUnk_04; this->mUnk_90 = param1; - this->mUnk_30 = this->mUnk_34 = temp_r3; - this->mUnk_4e = unk_1c; + this->mUnk_30 = (unk32 *) this->mUnk_34 = temp_r3; + this->mUnk_4e = unk_1c; } ARM unk32 Actor::vfunc_18() { diff --git a/src/000_Second/ActorUnk_ov000_020a8bb0.cpp b/src/000_Second/ActorUnk_ov000_020a8bb0.cpp new file mode 100644 index 00000000..b9291a8c --- /dev/null +++ b/src/000_Second/ActorUnk_ov000_020a8bb0.cpp @@ -0,0 +1,120 @@ +#include "Actor/ActorUnk_ov000_020a8bb0.hpp" +#include "global.h" + +ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(unk32 param1, unk32 param2) { + unk32 uVar2; + + this->mUnk_0b0 = 0; + this->mUnk_094.mUnk_0c = param2; + this->mUnk_094.mUnk_10 = param1; + this->mUnk_094.mUnk_14 = 0; + this->mUnk_094.mUnk_18 = 0; + this->mUnk_0b4 = -1; + this->mUnk_0b8 = 0; + this->mUnk_0bc = 0; + this->mUnk_0c0 = 0; + this->mUnk_0c4 = 0; + this->mUnk_0c8 = 0; + this->mUnk_0cc = 0; + this->mUnk_0ce = 0; + this->mUnk_0d0 = 0; + this->mUnk_0d4 = 0; + this->mUnk_0d8 = 0; + this->mUnk_0da = 0; + this->mUnk_0dc = 0x2AAB; + this->mUnk_0de = 0xEAAB; + this->mUnk_0e0 = 0x1555; + this->mUnk_0e4 = 0; + this->mUnk_0e8 = 0; + this->mUnk_0ea = 0; + this->mUnk_0ec.func_ov024_020d6668(); + uVar2 = this->mUnk_34->mUnk_0c; + this->mUnk_114 = -1; + this->mUnk_118 = 0x1000; + this->mUnk_11c = 0x019A; + this->mUnk_104 = 0; + this->mUnk_108 = uVar2; + this->mUnk_10c = 0; + this->mUnk_110 = uVar2; + this->mUnk_30 = &this->mUnk_104; + this->mUnk_4a = 5; + this->mUnk_44 = 0x1f; + this->mUnk_094.mUnk_08 = 3; + this->mUnk_38 = &this->mUnk_094.mUnk_00; + this->mUnk_0b0 |= 8; +} + +ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_18() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_1c() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8db0() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8dd0() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8df0() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_b4() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8e9c() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_b0() {} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_88() { + return 1; +} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_8c() { + return 1; +} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_90() { + return 0x7B; +} + +ARM void ActorUnk_ov000_020a8bb0::vfunc_94() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_60() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_64() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ff4() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_6c() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_68() {} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_7c() { + return 1; +} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_80() { + return -1; +} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_84() { + return 1; +} + +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a91b8() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9200() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_70() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_74() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_78() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9248() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_5c() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_98() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a94b0() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_9c() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_a0() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_ac() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a95d8() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_a4() {} + +ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_a8() { + return 1; +} + +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9804() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_20() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_24() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_2c() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_b8() {} +ARM void ActorUnk_ov000_020a8bb0::vfunc_14() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9a20() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9a34() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9a50() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9a94() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9abc() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9ae0() {} +ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a9afc() {} diff --git a/src/000_Second/Item/ItemManager.cpp b/src/000_Second/Item/ItemManager.cpp index 57f51301..c6b74b09 100644 --- a/src/000_Second/Item/ItemManager.cpp +++ b/src/000_Second/Item/ItemManager.cpp @@ -1,10 +1,23 @@ #include "Item/ItemManager.hpp" +#include "Unknown/UnkStruct_020d8698.hpp" #include "global.h" -// quiver and bomb bag tiers -extern u8 data_ov000_020afc40[3]; -extern u8 data_ov000_020afc43[3]; -extern unk32 data_ov000_020afde8[]; +const u8 gQuiverCapacities[UpgradeCapacity_Max] = { + CAPACITY_QUIVER_TIER_1, + CAPACITY_QUIVER_TIER_2, + CAPACITY_QUIVER_TIER_3, +}; + +const u8 gBombBagCapacities[UpgradeCapacity_Max] = { + CAPACITY_BOMB_BAG_TIER_1, + CAPACITY_BOMB_BAG_TIER_2, + CAPACITY_BOMB_BAG_TIER_3, +}; + +// SetInventoryFlag? +ARM void ItemManager::func_ov000_020a863c(ItemFlag itemFlag) { + SET_FLAG(this->mUnk_08, itemFlag); +} // removeEquipmentItem ARM void ItemManager::func_ov000_020a865c(ItemFlag itemFlag) { @@ -49,7 +62,7 @@ ARM u8 ItemManager::func_ov000_020a8728() { return 0; } - return data_ov000_020afc40[this->mQuiverCapacity]; + return gQuiverCapacities[this->mQuiverCapacity]; } // getMaxBombs @@ -58,7 +71,24 @@ ARM u8 ItemManager::func_ov000_020a8748() { return 0; } - return data_ov000_020afc43[this->mBombBagCapacity]; + return gBombBagCapacities[this->mBombBagCapacity]; +} + +ARM void ItemManager::GiveRupees(s32 amount, bool param2, bool param3) { + u16 prevNumRupees = this->mNumRupees; + s32 newAmount = this->mNumRupees + amount; + + if (newAmount > 9999) { + newAmount = 9999; + } else if (newAmount < 0) { + newAmount = 0; + } + + this->mNumRupees = newAmount; + + if (param3) { + data_ov024_020d8698->func_ov024_020cd368(param2 && prevNumRupees != this->mNumRupees, 1); + } } // addKeys @@ -102,6 +132,17 @@ ARM void ItemManager::func_ov000_020a8820(s32 amount) { this->mBombAmount = newAmount; } +ARM bool ItemManager::func_ov000_020a8854() { + if (this->mForcedItem != ItemFlag_None) { + this->mEquippedItem = this->mForcedItem; + this->mForcedItem = ItemFlag_None; + data_ov024_020d8698->func_ov024_020cd458(this->mEquippedItem, 0); + return true; + } + + return false; +} + // gainPotion ARM void ItemManager::func_ov000_020a888c(PotionType type) { switch (type) { @@ -162,222 +203,77 @@ ARM bool ItemManager::func_ov000_020a8948() { return true; } -ARM void ItemManager::func_ov000_020a8974() {} -ARM void ItemManager::func_ov000_020a8984() {} -THUMB void ItemManager::func_ov000_020a89bc() {} -ARM void ItemManager::func_ov000_020a89d4() {} -ARM void ItemManager::func_ov000_020a8a0c() {} -ARM void ItemManager::func_ov000_020a8a5c() {} -ARM void ItemManager::func_ov000_020a8a74() {} -ARM void ItemManager::func_ov000_020a8a90() {} -ARM void ItemManager::func_ov000_020a8aa4() {} -ARM void ItemManager::func_ov000_020a8ab8() {} -ARM void ItemManager::func_ov000_020a8acc() {} -ARM void ItemManager::func_ov000_020a8ae0() {} -ARM void ItemManager::func_ov000_020a8af4() {} -ARM void ItemManager::func_ov000_020a8b48() {} -ARM void ItemManager::func_ov000_020a8b7c() {} -ARM void ItemManager::func_ov000_020a8bb0() {} -ARM void ItemManager::func_ov000_020a8cc0() {} -ARM void ItemManager::func_ov000_020a8ce0() {} -ARM void ItemManager::func_ov000_020a8d08() {} -ARM void ItemManager::func_ov000_020a8d28() {} -ARM void ItemManager::func_ov000_020a8da0() {} -ARM void ItemManager::func_ov000_020a8da4() {} -ARM void ItemManager::func_ov000_020a8db0() {} -ARM void ItemManager::func_ov000_020a8dd0() {} -ARM void ItemManager::func_ov000_020a8df0() {} -ARM void ItemManager::func_ov000_020a8e84() {} -ARM void ItemManager::func_ov000_020a8e9c() {} -ARM void ItemManager::func_ov000_020a8ec0() {} - -ARM unk32 ItemManager::func_ov000_020a8f54() { - return 1; +ARM UnkStruct_ov000_020afc48 *ItemManager::func_ov000_020a8974(ItemFlag itemFlag) { + return &data_ov000_020afc48[itemFlag]; } -ARM unk32 ItemManager::func_ov000_020a8f5c() { - return 1; -} +// GetEquipItemFlag? +ARM ItemFlag ItemManager::func_ov000_020a8984(ItemId itemId) { + ItemFlag itemFlag; -ARM unk32 ItemManager::func_ov000_020a8f64() { - return 0x7B; -} + for (itemFlag = 0; itemFlag < ItemFlag_EQUIP_COUNT; itemFlag++) { + UnkStruct_ov000_020afc48 *pEquipItem = ItemManager::func_ov000_020a8974(itemFlag); -ARM void ItemManager::func_ov000_020a8f6c() {} -ARM void ItemManager::func_ov000_020a8f78() {} -ARM void ItemManager::func_ov000_020a8fe0() {} -ARM void ItemManager::func_ov000_020a8ff4() {} -ARM void ItemManager::func_ov000_020a914c() {} -ARM void ItemManager::func_ov000_020a9150() {} - -ARM unk32 ItemManager::func_ov000_020a91a0() { - return 1; -} - -ARM unk32 ItemManager::func_ov000_020a91a8() { - return -1; -} - -ARM unk32 ItemManager::func_ov000_020a91b0() { - return 1; -} - -ARM void ItemManager::func_ov000_020a91b8() {} -ARM void ItemManager::func_ov000_020a9200() {} -ARM void ItemManager::func_ov000_020a921c() {} -ARM void ItemManager::func_ov000_020a9240() {} -ARM void ItemManager::func_ov000_020a9244() {} -ARM void ItemManager::func_ov000_020a9248() {} -ARM void ItemManager::func_ov000_020a92d0() {} -ARM void ItemManager::func_ov000_020a9448() {} -ARM void ItemManager::func_ov000_020a94b0() {} -ARM void ItemManager::func_ov000_020a9598() {} -ARM void ItemManager::func_ov000_020a95c4() {} -ARM void ItemManager::func_ov000_020a95d4() {} -ARM void ItemManager::func_ov000_020a95d8() {} -ARM void ItemManager::func_ov000_020a95e4() {} - -ARM unk32 ItemManager::func_ov000_020a97fc() { - return 1; -} - -ARM void ItemManager::func_ov000_020a9804() {} -ARM void ItemManager::func_ov000_020a98f0() {} -ARM void ItemManager::func_ov000_020a98f4() {} -ARM void ItemManager::func_ov000_020a995c() {} -ARM void ItemManager::func_ov000_020a99a4() {} -ARM void ItemManager::func_ov000_020a99d8() {} -ARM void ItemManager::func_ov000_020a9a20() {} -ARM void ItemManager::func_ov000_020a9a34() {} -ARM void ItemManager::func_ov000_020a9a50() {} -ARM void ItemManager::func_ov000_020a9a94() {} -ARM void ItemManager::func_ov000_020a9abc() {} -ARM void ItemManager::func_ov000_020a9ae0() {} -ARM void ItemManager::func_ov000_020a9afc() {} -ARM void ItemManager::func_ov000_020a9b10() {} -ARM void ItemManager::func_ov000_020a9b2c() {} -ARM void ItemManager::func_ov000_020a9b3c() {} -ARM void ItemManager::func_ov000_020a9b4c() {} -ARM void ItemManager::func_ov000_020a9c4c() {} - -// hasAnyTreasure -ARM bool ItemManager::func_ov000_020a9c64() { - for (s32 i = 0; i < ARRAY_LEN(this->mUnk_3c); i++) { - if (this->mUnk_3c[i] >= 0) { - return true; + if (itemId == pEquipItem->mItemId) { + return itemFlag; } } + return ItemFlag_None; +} + +THUMB void ItemManager::func_ov000_020a89bc() { + if (this->mUnk_20->mUnk_14.func_ov053_0213caf0() != 0) { + this->mUnk_24 = 0; + } +} + +ARM bool ItemManager::func_ov000_020a89d4() { + if (this->mUnk_20 != NULL) { + return (this->mUnk_20->mUnk_14.mUnk_08 & 0xFFFF) != 0xFFFF; + } + return false; } -// getTreasureAmount -ARM unk32 ItemManager::func_ov000_020a9c90(TreasureType type) { - if (this->mUnk_3c[type] >= 0) { - return this->mUnk_3c[type]; +ARM bool ItemManager::func_ov000_020a8a0c() { + if (this->mUnk_20 == NULL || this->mEquippedItem == ItemFlag_None || + IS_ITEM_RESTRICTED(this->mItemRestrictions, this->mEquippedItem) || + this->func_ov000_020a86d0(this->mEquippedItem) == 0) { + return false; } - return 0; + return this->mUnk_20->func_ov031_020db874(this->mEquippedItem); } -// isTreasureAmountMaxed -ARM bool ItemManager::func_ov000_020a9ca4(TreasureType type) { - return this->func_ov000_020a9c90(type) >= MAX_TREASURE; -} - -// gainTreasure -ARM void ItemManager::func_ov000_020a9cbc(TreasureType type, s32 amount) { - s32 newAmount; - - if (this->mUnk_3c[type] < 0) { - this->mUnk_3c[type] = 0; +ARM void ItemManager::func_ov000_020a8a5c() { + if (this->mUnk_20 == NULL) { + return; } - newAmount = this->mUnk_3c[type] + amount; - - if (newAmount > MAX_TREASURE) { - newAmount = MAX_TREASURE; - } else if (newAmount < 0) { - newAmount = 0; - } - - this->mUnk_3c[type] = newAmount; + this->mUnk_20->func_ov031_020db8cc(); } -ARM unk32 ItemManager::func_ov000_020a9d78(unk32 param1) {} -ARM unk32 ItemManager::func_ov000_020a9e14(unk32 param1) {} -ARM unk32 ItemManager::func_ov000_020a9eb0(unk32 param1) {} -ARM unk32 ItemManager::func_ov000_020a9f4c(unk32 param1) {} - -ARM unk32 ItemManager::func_ov000_020aa02c(ItemId itemId) { - switch (itemId) { - case ItemId_RandCommonTreasure: - return data_ov000_020afde8[ItemManager::func_ov000_020a9d78(-1)]; - case ItemId_RandUncommonTreasure: - return data_ov000_020afde8[ItemManager::func_ov000_020a9e14(-1)]; - case ItemId_RandRareTreasure: - return data_ov000_020afde8[ItemManager::func_ov000_020a9eb0(-1)]; - case ItemId_RandLegendaryTreasure: - return data_ov000_020afde8[ItemManager::func_ov000_020a9f4c(-1)]; - default: - break; +ARM bool ItemManager::func_ov000_020a8a74() { + if (this->mUnk_20 == NULL) { + return false; } - return itemId; + return this->mUnk_20->func_ov031_020db8f8(); } -// gainTreasureFromItem -ARM void ItemManager::func_ov000_020aa0ac(ItemId itemId) { - switch (itemId) { - case ItemId_DemonFossil: - this->func_ov000_020a9cbc(TreasureType_DemonFossil, 1); - break; - case ItemId_StalfosSkull: - this->func_ov000_020a9cbc(TreasureType_StalfosSkull, 1); - break; - case ItemId_StarFragment: - this->func_ov000_020a9cbc(TreasureType_StarFragment, 1); - break; - case ItemId_BeeLarvae: - this->func_ov000_020a9cbc(TreasureType_BeeLarvae, 1); - break; - case ItemId_WoodHeart: - this->func_ov000_020a9cbc(TreasureType_WoodHeart, 1); - break; - case ItemId_DarkPearlLoop: - this->func_ov000_020a9cbc(TreasureType_DarkPearlLoop, 1); - break; - case ItemId_WhitePearlLoop: - this->func_ov000_020a9cbc(TreasureType_WhitePearlLoop, 1); - break; - case ItemId_RutoCrown: - this->func_ov000_020a9cbc(TreasureType_RutoCrown, 1); - break; - case ItemId_DragonScale: - this->func_ov000_020a9cbc(TreasureType_DragonScale, 1); - break; - case ItemId_PirateNecklace: - this->func_ov000_020a9cbc(TreasureType_PirateNecklace, 1); - break; - case ItemId_PalaceDish: - this->func_ov000_020a9cbc(TreasureType_PalaceDish, 1); - break; - case ItemId_GoronAmber: - this->func_ov000_020a9cbc(TreasureType_GoronAmber, 1); - break; - case ItemId_MysticJade: - this->func_ov000_020a9cbc(TreasureType_MysticJade, 1); - break; - case ItemId_AncientCoin: - this->func_ov000_020a9cbc(TreasureType_AncientCoin, 1); - break; - case ItemId_PricelessStone: - this->func_ov000_020a9cbc(TreasureType_PricelessStone, 1); - break; - case ItemId_RegalRing: - this->func_ov000_020a9cbc(TreasureType_RegalRing, 1); - break; - default: - break; - } +ARM unk32 ItemManager::func_ov000_020a8a90() { + return this->mUnk_20 != NULL ? this->mUnk_20->mUnk_00 : 0; +} + +ARM unk32 ItemManager::func_ov000_020a8aa4() { + return this->mUnk_20 != NULL ? this->mUnk_20->mUnk_04 : 0; +} + +ARM unk32 ItemManager::func_ov000_020a8ab8() { + return this->mUnk_20 != NULL ? this->mUnk_20->mUnk_0c : 0; +} + +ARM unk32 ItemManager::func_ov000_020a8acc() { + return this->mUnk_20 != NULL ? this->mUnk_20->mUnk_10 : 0; } diff --git a/src/000_Second/Item/TreasureManager.cpp b/src/000_Second/Item/TreasureManager.cpp new file mode 100644 index 00000000..fdcb6c8b --- /dev/null +++ b/src/000_Second/Item/TreasureManager.cpp @@ -0,0 +1,143 @@ +#include "Item/ItemManager.hpp" +#include "global.h" + +extern ItemId data_ov000_020afde8[]; + +ARM void TreasureManager::func_ov000_020a9b10() {} +ARM void TreasureManager::func_ov000_020a9b2c() {} +ARM void TreasureManager::func_ov000_020a9b3c() {} +ARM void TreasureManager::func_ov000_020a9b4c() {} + +ARM bool TreasureManager::func_ov000_020a9c4c(TreasureType type) { + return this->mUnk_3c[type] >= 0; +} + +// hasAnyTreasure +ARM bool TreasureManager::func_ov000_020a9c64() { + for (s32 i = 0; i < ARRAY_LEN(this->mUnk_3c); i++) { + if (this->mUnk_3c[i] >= 0) { + return true; + } + } + + return false; +} + +// getTreasureAmount +ARM unk32 TreasureManager::func_ov000_020a9c90(TreasureType type) { + if (this->mUnk_3c[type] >= 0) { + return this->mUnk_3c[type]; + } + + return 0; +} + +// isTreasureAmountMaxed +ARM bool TreasureManager::func_ov000_020a9ca4(TreasureType type) { + return this->func_ov000_020a9c90(type) >= MAX_TREASURE; +} + +// gainTreasure +ARM void TreasureManager::func_ov000_020a9cbc(TreasureType type, s32 amount) { + s32 newAmount; + + if (this->mUnk_3c[type] < 0) { + this->mUnk_3c[type] = 0; + } + + newAmount = this->mUnk_3c[type] + amount; + + if (newAmount > MAX_TREASURE) { + newAmount = MAX_TREASURE; + } else if (newAmount < 0) { + newAmount = 0; + } + + 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 ItemId TreasureManager::func_ov000_020aa02c(ItemId itemId) { + switch (itemId) { + case ItemId_RandCommonTreasure: + return data_ov000_020afde8[TreasureManager::func_ov000_020a9d78(-1)]; + case ItemId_RandUncommonTreasure: + return data_ov000_020afde8[TreasureManager::func_ov000_020a9e14(-1)]; + case ItemId_RandRareTreasure: + return data_ov000_020afde8[TreasureManager::func_ov000_020a9eb0(-1)]; + case ItemId_RandLegendaryTreasure: + return data_ov000_020afde8[TreasureManager::func_ov000_020a9f4c(-1)]; + default: + break; + } + + return itemId; +} + +// gainTreasureFromItem +ARM void TreasureManager::func_ov000_020aa0ac(ItemId itemId) { + switch (itemId) { + case ItemId_DemonFossil: + this->func_ov000_020a9cbc(TreasureType_DemonFossil, 1); + break; + case ItemId_StalfosSkull: + this->func_ov000_020a9cbc(TreasureType_StalfosSkull, 1); + break; + case ItemId_StarFragment: + this->func_ov000_020a9cbc(TreasureType_StarFragment, 1); + break; + case ItemId_BeeLarvae: + this->func_ov000_020a9cbc(TreasureType_BeeLarvae, 1); + break; + case ItemId_WoodHeart: + this->func_ov000_020a9cbc(TreasureType_WoodHeart, 1); + break; + case ItemId_DarkPearlLoop: + this->func_ov000_020a9cbc(TreasureType_DarkPearlLoop, 1); + break; + case ItemId_WhitePearlLoop: + this->func_ov000_020a9cbc(TreasureType_WhitePearlLoop, 1); + break; + case ItemId_RutoCrown: + this->func_ov000_020a9cbc(TreasureType_RutoCrown, 1); + break; + case ItemId_DragonScale: + this->func_ov000_020a9cbc(TreasureType_DragonScale, 1); + break; + case ItemId_PirateNecklace: + this->func_ov000_020a9cbc(TreasureType_PirateNecklace, 1); + break; + case ItemId_PalaceDish: + this->func_ov000_020a9cbc(TreasureType_PalaceDish, 1); + break; + case ItemId_GoronAmber: + this->func_ov000_020a9cbc(TreasureType_GoronAmber, 1); + break; + case ItemId_MysticJade: + this->func_ov000_020a9cbc(TreasureType_MysticJade, 1); + break; + case ItemId_AncientCoin: + this->func_ov000_020a9cbc(TreasureType_AncientCoin, 1); + break; + case ItemId_PricelessStone: + this->func_ov000_020a9cbc(TreasureType_PricelessStone, 1); + break; + case ItemId_RegalRing: + this->func_ov000_020a9cbc(TreasureType_RegalRing, 1); + break; + default: + break; + } +} + +void TreasureManager::func_ov000_020aa200() { + data_ov000_020b6510 = this; +} + +void TreasureManager::func_ov000_020aa210() { + data_ov000_020b6510 = NULL; +} diff --git a/src/031_Land/Actor/ActorRupee.cpp b/src/031_Land/Actor/ActorRupee.cpp index 4bd8c656..97ff5513 100644 --- a/src/031_Land/Actor/ActorRupee.cpp +++ b/src/031_Land/Actor/ActorRupee.cpp @@ -1,11 +1,11 @@ #include "Actor/ActorRupee.hpp" #include "System/Random.hpp" #include "Unknown/UnkStruct_027e09a8.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" #include "Unknown/UnkStruct_027e0cd8.hpp" #include "Unknown/UnkStruct_027e0ce0.hpp" #include "Unknown/UnkStruct_027e0cec.hpp" -extern "C" unk32 func_01ffd420(unk32 *); extern "C" void func_01ffedac(u16 *, Vec3p *); extern "C" void func_01fff05c(u32 *, UnkStruct_027e0cd8_0c *, Vec3p *); extern "C" unk32 func_02017158(); @@ -17,7 +17,6 @@ extern void func_ov031_0210b0e4(u16, unk32); extern "C" unk32 func_ov031_020d9834(unk32 *); extern UnkStruct_ov000_020b539c_30 data_ov031_021166e8; -extern unk32 *data_027e09b8; extern unk32 *data_027e0d34; ARM UnkStruct_ov000_020b539c_30 *ActorRupee::func_ov031_020e8cb8() { @@ -90,7 +89,7 @@ ARM void ActorRupee::func_ov031_020e9068() { break; default: { ItemManager *pItemManager = data_027e0ce0->mUnk_2c; - pItemManager->func_ov000_020a8768(func_02017158(), 0, 1); + pItemManager->GiveRupees(func_02017158(), false, true); var_r4 = true; break; } @@ -265,29 +264,29 @@ ARM void ActorRupee::func_ov031_020e94d4() { } ARM void ActorRupee::func_ov031_020e951c() { - s32 var_r1; + ItemId itemId; - if (func_01ffd420(data_027e09b8) != 0) { + if (data_027e09b8->func_01ffd420() != 0) { return; } - var_r1 = -1; + itemId = ItemId_None; switch (this->mUnk_6c) { case RupeeId_Gold: - var_r1 = 0x11; + itemId = ItemId_BigGoldRupee; break; case RupeeId_BigGreen: - var_r1 = 0x0F; + itemId = ItemId_BigGreenRupee; break; case RupeeId_BigRed: - var_r1 = 0x10; + itemId = ItemId_BigRedRupee; break; default: break; } - if (var_r1 != -1 && func_ov031_020d9834(data_027e0d34) == 0) { + if (itemId != ItemId_None && func_ov031_020d9834(data_027e0d34) == 0) { return; } diff --git a/src/110_PlayerGet/PlayerGet.cpp b/src/110_PlayerGet/PlayerGet.cpp new file mode 100644 index 00000000..fa5b459a --- /dev/null +++ b/src/110_PlayerGet/PlayerGet.cpp @@ -0,0 +1,835 @@ +#include + +#include "Actor/ActorId.hpp" +#include "Player/PlayerGet.hpp" +#include "System/OverlayManager.hpp" +#include "Unknown/UnkStruct_020d8698.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e09bc.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_027e0ce4.hpp" +#include "Unknown/UnkStruct_027e0ce8.hpp" +#include "Unknown/UnkStruct_027e0cec.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 "nitro/math.h" +#include "versions.h" + +struct UnkStruct_02186240 { + /* 0000 */ unk8 mUnk_0000[0x3F68]; + /* 3f68 */ +}; +UnkStruct_02186240 data_ov110_02186240; + +extern "C" void func_ov000_0205ca74(unk32); +extern "C" void func_01ffb6e4(unk32, const void *, void *); +extern "C" void func_01ffc5a0(UnkStruct_PlayerGet_8c *, unk32, u16, void *, unk32); +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" unk32 func_01fff584(); +extern "C" ActorId func_01fff458(void *); +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_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 *); +struct func_ov000_0205abcc_ret { + unk32 mUnk_00; + unk32 mUnk_04; + unk8 mUnk_08; + unk8 mUnk_09; + unk8 mUnk_0a; + unk8 mUnk_0b; + unk8 mUnk_0c; + unk8 mUnk_0d; + unk8 mUnk_0e; +}; +extern "C" func_ov000_0205abcc_ret *func_ov000_0205abcc(char *, char *, unk32, unk32, unk32); +extern "C" unk32 func_ov000_02077590(unk32); + +static const unk32 data_ov110_02185dc4[1] = {8}; + +static const UnkStruct_ov110_02185dc8 data_ov110_02185dc8[] = { + {ItemId_NormalSword, ItemFlag_Sword}, {ItemId_NormalShield, ItemFlag_Shield}, + {ItemId_LokomoSword, ItemFlag_LokomoSword}, {ItemId_RecruitUniform, ItemFlag_RecruitUniform}, + {ItemId_ScrollBeam, ItemFlag_ScrollBeam}, {ItemId_ScrollSpinAttack, ItemFlag_ScrollSpinAttack}, + {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; + + switch (itemId) { + case ItemId_NormalKey: + this->func_ov000_020a87c8(1); + break; + case ItemId_GreenRupee: + this->GiveRupees(1, true, true); + break; + case ItemId_BlueRupee: + this->GiveRupees(5, true, true); + break; + case ItemId_RedRupee: + this->GiveRupees(20, true, true); + break; + case ItemId_BigGreenRupee: + this->GiveRupees(100, true, true); + break; + case ItemId_BigRedRupee: + this->GiveRupees(200, true, true); + break; + case ItemId_BigGoldRupee: + this->GiveRupees(300, true, true); + break; + case ItemId_HeartContainer: + data_027e0ce0->func_ov000_0208a318(4, 1, 1); + break; + case ItemId_QuiverMedium: + case ItemId_QuiverLarge: + if (this->mQuiverCapacity < UpgradeCapacity_Tier3) { + this->mQuiverCapacity++; + } + + this->mArrowAmount = this->func_ov000_020a8728(); + break; + case ItemId_BombBagMedium: + case ItemId_BombBagLarge: + if (this->mBombBagCapacity < UpgradeCapacity_Tier3) { + this->mBombBagCapacity++; + } + + this->mBombAmount = this->func_ov000_020a8748(); + break; + case ItemId_RedPotion: + this->func_ov000_020a888c(PotionType_Red); + break; + case ItemId_PurplePotion: + this->func_ov000_020a888c(PotionType_Purple); + break; + case ItemId_YellowPotion: + this->func_ov000_020a888c(PotionType_Yellow); + break; + case ItemId_ArrowsRefill: + this->func_ov000_020a87ec(10); + break; + case ItemId_BombsRefill: + this->func_ov000_020a8820(10); + break; + case ItemId_TearLight: + if (this->mTearsAmount >= 3) { + this->mTearsAmount = 3; + } else { + this->mTearsAmount++; + } + break; + default: + itemFlag = ItemManager::func_ov000_020a8984(itemId); + + if (itemFlag != ItemFlag_None) { + this->func_ov000_020a863c(itemFlag); + + switch (itemFlag) { + case ItemFlag_Bombs: + this->mBombBagCapacity = UpgradeCapacity_Tier1; + this->mBombAmount = gBombBagCapacities[UpgradeCapacity_Tier1]; + break; + case ItemFlag_Bow: + this->mQuiverCapacity = UpgradeCapacity_Tier1; + this->mArrowAmount = gQuiverCapacities[UpgradeCapacity_Tier1]; + break; + default: + break; + } + + if (this->mEquippedItem == ItemFlag_None) { + this->mEquippedItem = itemFlag; + data_ov024_020d8698->func_ov024_020cd458(itemFlag, 0); + } + } else { + itemFlag_s16 = ItemFlag_None; + + 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); + } + } + break; + } + + temp_r0_5 = ItemManager::func_ov110_02185db4(itemId); + + if (temp_r0_5 != 0) { + temp_r0_5 &= 0xFFFF; + SET_FLAG(data_027e09b8->mUnk_14, temp_r0_5); + } + + data_027e0ce0->mUnk_34->func_ov110_02185d3c(itemId); + data_ov000_020b6510->func_ov000_020aa0ac(itemId); + func_ov024_020d6370(data_ov024_020d86b0, itemId); + + if (!GET_FLAG(this->mUnk_08, ItemFlag_LokomoSword) && itemId == ItemId_TearLight && + this->mTearsAmount == MAX_TEARS_OF_LIGHT && (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower)) { + return true; + } + + 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, +}; + +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, +}; + +// non-matching +ARM void UnkStruct_PlayerGet_74::vfunc_00(unk32 param1, unk32 param2, unk32 param3) { + PlayerGet *unk_14 = (PlayerGet *) this->mUnk_14; + + func_01ffc5a0(&unk_14->mUnk_8c, unk_14->mUnk_6c, unk_14->mUnk_70, &this->mUnk_04, param3); +} + +ARM PlayerGet::PlayerGet() : + mUnk_54(0, 0, -1, ItemId_None), + mUnk_64(mUnk_44, -1), + mUnk_6c(0x1000), + mUnk_70(0), + mUnk_72(0), + mUnk_73(0), + mUnk_74(this), + mUnk_8c(0) {} + +ARM PlayerGet::~PlayerGet() { + func_ov000_0205ca74(this->mUnk_54.mUnk_08); + + UnkStruct_027e0cec *pData_027e0cec = data_027e0cec; + if (pData_027e0cec != NULL) { + UnkStruct_PlayerGet_ec *pUnk_ec = &this->mUnk_ec[0]; + + while (pUnk_ec != (UnkStruct_PlayerGet_ec *) &this->mUnk_fc) { + pData_027e0cec->func_ov000_020a0110(pUnk_ec); + pUnk_ec++; + } + } + + UnkStruct_ov000_0208f820_28_98 *pUnk_28_98 = this->mUnk_28->mUnk_98; + if (pUnk_28_98 != 0) { + pUnk_28_98->mUnk_40 &= ~0x10; + + if (pUnk_28_98->mUnk_40 == 0) { + // real? + pUnk_28_98->mUnk_38.~UnkStruct_PlayerGet_64(); + } + } +} + +#if IS_JP +ARM bool PlayerGet::func_ov110_02186b8c() { + switch (this->mUnk_54.mItemId) { + case ItemId_NormalShield: + if (this->mUnk_28->pItemManager->mUnk_12 & 2) { + return true; + } + break; + case ItemId_AncientShield: + if (!(this->mUnk_28->pItemManager->mUnk_12 & 2)) { + return true; + } + break; + default: + break; + } + + return false; +} +#endif + +ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) { + ItemManager *pItemManager; + ItemId itemId; + UnkStruct_func_01fff3b4_ret *iVar10; + UnkStruct_ov000_0208f820_38 *pUnk_38; + UnkStruct_ov000_0208f820_3c *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; + *(u32 *) this->mUnk_54.mUnk_04 = param1->mUnk_14; + this->mUnk_54.mUnk_08 = param1->mUnk_18; + pItemManager = this->mUnk_28->pItemManager; + itemId = param1->mUnk_1c; + + switch (itemId) { + case ItemId_BombBag: + case ItemId_BombBagMedium: + case ItemId_BombBagLarge: + if (GET_FLAG(pItemManager->mUnk_08, ItemFlag_Bombs) == 0) { + itemId = ItemId_BombBag; + } else if (pItemManager->mBombBagCapacity == UpgradeCapacity_Tier1) { + itemId = ItemId_BombBagMedium; + } else if (pItemManager->mBombBagCapacity == UpgradeCapacity_Tier2) { + itemId = ItemId_BombBagLarge; + } + break; + case ItemId_NormalBow: + case ItemId_QuiverMedium: + case ItemId_QuiverLarge: + if (GET_FLAG(pItemManager->mUnk_08, ItemFlag_Bow) == 0) { + itemId = ItemId_NormalBow; + } else if (pItemManager->mQuiverCapacity == UpgradeCapacity_Tier1) { + itemId = ItemId_QuiverMedium; + } else if (pItemManager->mQuiverCapacity == UpgradeCapacity_Tier2) { + itemId = ItemId_QuiverLarge; + } + break; + default: + itemId = data_ov000_020b6510->func_ov000_020aa02c(itemId); + break; + } + + 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; + + pUnk_38 = this->mUnk_38; + pUnk_38->mUnk_00 = 0; + pUnk_38->mUnk_08 = 0; + + pUnk_3c = this->mUnk_3c; + pUnk_3c->mUnk_00 = 0; + pUnk_3c->mUnk_04 = 0; + pUnk_3c->mUnk_08 = 0; + + if (((*(u16 *) this->mUnk_54.mUnk_00 << 0x10) >> 0x1E) != 1) { + return; + } + + iVar10 = data_027e0ce4->func_01fff3b4(*(u32 *) this->mUnk_54.mUnk_00); + + if (iVar10 == 0) { + return; + } + + if (func_01fff458(iVar10) == ActorId_NormalShield) { + iVar10->mUnk_58 &= ~2; + iVar10->mUnk_4a = 0; + } + 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; + + 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; + + 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); + + void *var_r1_3; + unk32 var_r1_2; + func_ov000_0205abcc_ret *ret = + func_ov000_0205abcc((char *) auStack_64, (char *) auStack_48, 0, 1, this->mUnk_30->mUnk_24); + if (ret != NULL) { + if (ret->mUnk_08 != 0 && ret->mUnk_09 > 0) { + var_r1_2 = ret->mUnk_08 + ret->mUnk_0e + 4; + } else { + var_r1_2 = 0; + } + + if (var_r1_2 != 0) { + var_r1_3 = ret + var_r1_2; + } else { + var_r1_3 = NULL; + } + } else { + var_r1_3 = NULL; + } + + this->mUnk_8c.vfunc_08((unk32) var_r1_3); + func_020156f4((char *) auStack_48); + func_02015644((char *) auStack_64); + } + + switch (this->mUnk_54.mItemId) { + case ItemId_BigGreenRupee: + case ItemId_BigRedRupee: + case ItemId_BigGoldRupee: + this->mUnk_6c = 0x1666; + break; + default: + this->mUnk_6c = 0x1000; + break; + } + } + + UnkStruct_027e09bc_0c *uVar11 = data_027e09bc->mUnk_0c; + unk32 uVar6 = func_ov000_02077590(4); + uVar11->func_ov000_0207834c(this->mUnk_34, uVar6, 0); + + UnkStruct_PlayerGet_48 *pUnk_48 = this->mUnk_48; + pUnk_48->mUnk_42 = 0x1000; + pUnk_48->mUnk_47 = 0; + pUnk_48->mUnk_5e = 0x1000; + pUnk_48->mUnk_63 = 0; + + if (this->mUnk_44 != NULL) { + this->mUnk_64.func_ov000_0208a100(); + } + + // pUnk24 = this->mUnk_24; + bool bVar8; + + // ... + + 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(); + } + + this->mUnk_73 = 0; + + switch (this->mUnk_54.mItemId) { + case ItemId_25: + case ItemId_26: + case ItemId_27: + case ItemId_28: + case ItemId_29: + break; + default: + return; + } + + 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) { + Vec3p_Add(this->mUnk_34, &data_ov110_021861ec.mUnk_00, &VStack_fc); + 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); + } + + auStack_30[0] = 0; + auStack_30[3] = 0; + auStack_30[4] = 0; + auStack_30[1] = 0; + auStack_30[2] = -1; + data_ov000_020b504c.func_ov000_02067cf8(ItemManager::func_ov110_02185da4(this->mUnk_54.mItemId), 0, auStack_30); + break; + default: + break; + } +} + +const UnkStruct_ov110_021861ec data_ov110_021861ec = UnkStruct_ov110_021861ec(0x5E3, 0x152D, 0xCD); + +ARM void PlayerGet::vfunc_10(unk32 param1) { + unk32 var_r1; + UnkStruct_func_01fff520_ret **temp_r0_6; + s32 temp_r5; + bool temp_r6; + s32 var_r0; + s32 var_r0_2; + bool var_r1_2; + u32 var_r5_2; + UnkStruct_func_01fff3b4_ret *temp_r0_3; + + switch (param1) { + case 0x39: + if (data_027e09b8->func_ov000_020732ec(this->mUnk_54.mUnk_08) == 0) { + break; + } + + if (this->mUnk_30->mUnk_70 < 0xF) { + break; + } + + this->mUnk_30->func_ov000_020921e4(0x3A); + break; + case 0x3A: + if (this->mUnk_50->func_01ff8fa8() != 0) { + this->mUnk_30->func_ov000_020921e4(0x3B); + break; + } + if (this->mUnk_50->func_02015080(0x1C000) == 0) { + break; + } + + var_r1 = 0x64; + switch (this->mUnk_54.mItemId) { + case ItemId_Nothing: + case ItemId_NormalShield: + case ItemId_NormalSword: + case ItemId_Whirlwind: + break; + case ItemId_NormalKey: + case ItemId_GreenRupee: + case ItemId_BlueRupee: + case ItemId_RedRupee: + case ItemId_DemonFossil: + case ItemId_StalfosSkull: + case ItemId_StarFragment: + case ItemId_BeeLarvae: + case ItemId_WoodHeart: + var_r1 = 0x65; + break; + case ItemId_HeartContainer: + var_r1 = 0x67; + break; + case ItemId_ForestGlyph: + case ItemId_SnowGlyph: + case ItemId_OceanGlyph: + case ItemId_FireGlyph: + var_r1 = 0x68; + break; + case ItemId_25: + case ItemId_26: + case ItemId_27: + case ItemId_28: + case ItemId_29: + case ItemId_PanFluteSong_101: + case ItemId_PanFluteSong_102: + case ItemId_PanFluteSong_103: + case ItemId_PanFluteSong_104: + case ItemId_PanFluteSong_105: + var_r1 = 0x66; + break; + case ItemId_ForceGem_18: + case ItemId_ForceGem_19: + case ItemId_ForceGem_20: + case ItemId_ForceGem_35: + case ItemId_ForceGem_36: + case ItemId_ForceGem_37: + case ItemId_ForceGem_43: + case ItemId_ForceGem_44: + case ItemId_ForceGem_45: + case ItemId_ForceGem_46: + case ItemId_ForceGem_47: + case ItemId_ForceGem_48: + case ItemId_ForceGem_49: + case ItemId_ForceGem_50: + case ItemId_ForceGem_51: + case ItemId_ForceGem_52: + case ItemId_ForceGem_53: + case ItemId_ForceGem_54: + case ItemId_ForceGem_55: + case ItemId_ForceGem_56: + case ItemId_ForceGem_57: + case ItemId_ForceGem_58: + case ItemId_ForceGem_59: + case ItemId_ForceGem_60: + case ItemId_ForceGem_61: + var_r1 = 0x6A; + break; + default: + break; + } + data_ov000_020b51b8.func_ov000_0206d274(var_r1); + break; + case 0x3B: + var_r1_2 = false; + + if (data_ov000_020b504c.func_ov000_02067bc4(0)->vfunc_08() == 0) { + var_r1_2 = true; + } + + if (var_r1_2) { + if (this->mUnk_54.mItemId == ItemId_Nothing) { + var_r1_2 = true; + } else { + if (this->mUnk_30->mUnk_70 >= 0x1E) { + var_r1_2 = true; + } else { + goto todo_remove_me; + } + } + } else { + todo_remove_me: + var_r1_2 = false; + } + + if (this->mUnk_72 == 0 && var_r1_2) { + temp_r6 = this->mUnk_28->pItemManager->func_ov110_02184a40(this->mUnk_54.mItemId); + + switch (this->mUnk_54.mItemId) { + case ItemId_NormalShield: + case ItemId_AncientShield: + this->mUnk_30->func_ov000_020936ec(); + + if (((*(u16 *) this->mUnk_54.mUnk_00 << 0x10) >> 0x1E) == 1) { + temp_r0_3 = data_027e0ce4->func_01fff3b4(*(u32 *) this->mUnk_54.mUnk_00); + if ((temp_r0_3 != NULL) && (func_01fff458(temp_r0_3) == ActorId_NormalShield)) { + if (this->func_ov110_02186b8c()) { + this->mUnk_28->pItemManager->mUnk_12 ^= 2; + } + + temp_r0_3->func_ov062_02158ce8(); + } + } else { + if (this->mUnk_54.mItemId == ItemId_AncientShield) { + if (this->func_ov110_02186b8c()) { + this->mUnk_28->pItemManager->mUnk_12 ^= 2; + } + } else if (this->mUnk_54.mItemId == ItemId_NormalShield) { + if (this->func_ov110_02186b8c()) { + this->mUnk_28->pItemManager->mUnk_12 ^= 2; + } + } + } + + this->mUnk_30->func_ov000_02093a04(); + break; + case ItemId_NormalSword: + case ItemId_LokomoSword: + this->mUnk_30->func_ov000_020936ec(); + this->mUnk_30->mUnk_10->func_ov031_020e076c(); + break; + case ItemId_RecruitUniform2: + case ItemId_EngineerUniform: + if (data_027e09a4->mUnk_00 == 0x2F) { + this->mUnk_28->func_ov058_02152a24(); + } + break; + default: + break; + } + + if (*(u16 *) this->mUnk_54.mUnk_00 == 0x1000) { + UnkStruct_ov000_0208f820_04 structure; + structure.mUnk_00[0] = this->mUnk_54.mUnk_00[0]; + structure.mUnk_00[1] = this->mUnk_54.mUnk_00[1]; + // structure.mUnk_08 = this->mUnk_54.mUnk_08; + // structure.mItemId = this->mUnk_54.mItemId; + + if (data_027e0ce8->func_01fff498(structure) != 0) { + var_r5_2 = '\0'; + + switch (func_01fff584()) { + case 'TRLN': + var_r5_2 = 'TREN'; + break; + case 'TREN': + var_r5_2 = 'TRLN'; + break; + default: + break; + } + + if (var_r5_2 != 0) { + // data_ov000_020b34c4.mUnk_04 = var_r5_2; + temp_r0_6 = data_027e0ce8->func_01fff520(&data_ov000_020b34c4, data_027e0ce8->mUnk_00); + if (temp_r0_6 == data_027e0ce8->mUnk_08) { + (*temp_r0_6)->func_ov031_02103878(); + } + } + } + } + + if (this->mUnk_54.mItemId == ItemId_ForestGlyph) { + this->mUnk_72 = data_027e09a4->func_ov000_02070bd0(0x29, 0); + } else if (this->mUnk_54.mItemId == ItemId_FireGlyph) { + this->mUnk_72 = data_027e09a4->func_ov000_02070bd0(0x14, 0); + } + + if (this->mUnk_72 != 0) { + break; + } + + if (!temp_r6) { + data_027e09bc->mUnk_0c->func_ov000_02078230(0); + } + + if (data_027e09b8->func_ov000_020732fc(this->mUnk_54.mUnk_08) != 0) { + this->mUnk_54.mUnk_08 = -1; + } + + this->mUnk_40->mUnk_00 = 0; + + if (temp_r6) { + this->mUnk_30->func_ov000_020921e4(0x49); + break; + } + + if ((((u32) (*(u16 *) this->mUnk_54.mUnk_04 << 0x10) >> 0x1E) == 1) && + (data_027e09b8->func_ov000_020732dc(2) != 0)) { + *(u32 *) this->mUnk_04.mUnk_00 = *(u32 *) this->mUnk_54.mUnk_04; + this->mUnk_30->func_ov000_020921e4(0x57); + break; + } + + this->mUnk_30->func_ov000_020921e4(0); + break; + } + + this->mUnk_70 += 0x10E; + + if (this->mUnk_73 == 0) { + break; + } + + temp_r5 = data_027e0cd8->mUnk_0c->func_ov000_02080a44(); + + if (data_ov000_020b51b8.mUnk_10 != 0) { + var_r0 = 1; + } else { + var_r0 = 0; + } + + if (var_r0 != 0) { + var_r0_2 = 1; + } else { + var_r0_2 = 0; + } + + if (var_r0_2 != 0) { + break; + } + + if (temp_r5 == data_ov000_020b51c0.func_02002f04()) { + break; + } + + data_ov000_020b51b8.func_ov000_0206c9a8(temp_r5, 0x3C, 0x7F, 0); + this->mUnk_73 = 0; + break; + default: + break; + } +} + +ARM void PlayerGet::vfunc_18(unk32 param1, unk32 param2, unk32 param3) { + Vec3p auStack_18; + + switch (param2) { + case 0x39: + case 0x3A: + break; + case 0x3B: + if (param3 != 0 && this->mUnk_54.mItemId != ItemId_Nothing && this->mUnk_90 != 0) { + Vec3p_Add(this->mUnk_34, (Vec3p *) &data_ov110_021861ec.mUnk_00, &auStack_18); + func_ov000_02058fc4(data_027e0958, &this->mUnk_74, &auStack_18); + } + break; + default: + break; + } +} + +ARM UnkStruct_PlayerGet_ec::UnkStruct_PlayerGet_ec() { + this->mUnk_00 = 0; +} + +// non-matching +THUMB void UnkStruct_027e0ce0_34::func_ov110_02185d3c(ItemId itemId) { + unk32 uStack_14; + u16 auStack_18[2]; + + switch (itemId) { + case ItemId_31: + this->func_ov024_020d3d98(0, 0); + this->mUnk_2c = 1; + this->mUnk_00 = 0; + this->mUnk_10 = 0; + break; + case ItemId_33: + this->func_ov024_020d3d98(2, 0); + this->mUnk_2c = 2; + this->mUnk_04 = 2; + this->mUnk_14 = 0; + break; + default: + uStack_14 = -1; + auStack_18[0] = 0; + + if (func_ov024_020d5354(&uStack_14, auStack_18) != 0) { + this->func_ov024_020d3ee8(uStack_14, auStack_18[0], 1); + } + break; + } +} + +ARM unk32 ItemManager::func_ov110_02185da4(unk32 param1) { + return data_ov110_02185de8[param1]; +} + +ARM ItemFlag ItemManager::func_ov110_02185db4(ItemId itemId) { + return data_ov110_02185fbc[itemId]; +} diff --git a/tools/configure.py b/tools/configure.py index b56133b2..87a3f95f 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -270,7 +270,7 @@ def main(): n.newline() # -MMD excludes all includes instead of just system includes for some reason, so use -MD instead. - mwcc_cmd = f'{WINE} "{CC}" {CC_FLAGS} {CC_INCLUDES} $cc_flags -d $game_version -MD -c $in -o $basedir' + mwcc_cmd = f'{WINE} "{CC}" {CC_FLAGS} {CC_INCLUDES} $cc_flags -DVERSION=$game_version -MD -c $in -o $basedir' mwcc_implicit = [CC] if platform.system != "windows": transform_dep = "tools/transform_dep.py" @@ -536,7 +536,7 @@ def add_mwcc_builds(n: ninja_syntax.Writer, project: Project, mwcc_implicit: lis rule="mwcc", outputs=str(src_obj_path.with_suffix(".o")), variables={ - "game_version": project.game_version, + "game_version": project.game_version.upper(), "cc_flags": " ".join(cc_flags), "basedir": os.path.dirname(src_obj_path), "basefile": str(src_obj_path.with_suffix("")),