From 048ffeaaaae4137aa258e2ecb3e9bf996c98d435 Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Wed, 14 Oct 2026 03:39:02 +0200 Subject: [PATCH] Match actors 5 (#164) * ActorUnkTGTZ OK * ActorUnkSWCH OK * ActorUnkFLEN OK * fix build * mark flen as complete for eur * ActorUnkCLLT OK * ActorUnkMLCK OK * ActorRollingStone and ActorItemTornado OK * remove useless thing --- config/eur/arm9/overlays/ov000/symbols.txt | 14 +- config/eur/arm9/overlays/ov031/delinks.txt | 13 +- config/eur/arm9/overlays/ov031/symbols.txt | 42 ++-- config/eur1/arm9/overlays/ov000/relocs.txt | 12 +- config/eur1/arm9/overlays/ov000/symbols.txt | 14 +- config/eur1/arm9/overlays/ov031/delinks.txt | 13 +- config/eur1/arm9/overlays/ov031/relocs.txt | 10 +- config/eur1/arm9/overlays/ov031/symbols.txt | 40 ++-- config/jp/arm9/overlays/ov000/symbols.txt | 14 +- config/jp/arm9/overlays/ov031/delinks.txt | 14 +- config/jp/arm9/overlays/ov031/relocs.txt | 6 +- config/jp/arm9/overlays/ov031/symbols.txt | 57 +++--- config/jp/arm9/overlays/ov093/symbols.txt | 2 +- config/jp/arm9/symbols.txt | 2 +- config/usa/arm9/overlays/ov000/relocs.txt | 12 +- config/usa/arm9/overlays/ov000/symbols.txt | 14 +- config/usa/arm9/overlays/ov031/delinks.txt | 13 +- config/usa/arm9/overlays/ov031/symbols.txt | 54 ++--- include/Actor/Actor.hpp | 2 +- include/Actor/ActorItemBoomerang.hpp | 3 +- include/Actor/ActorItemTornado.hpp | 2 +- include/Actor/ActorRollingStone.hpp | 5 +- include/Actor/ActorUnkEFIK.hpp | 6 +- include/Actor/ActorUnkTGTZ.hpp | 6 +- include/RefStruct.hpp | 12 ++ include/Unknown/Common.hpp | 18 +- include/Unknown/UnkStruct_027e0ce0.hpp | 6 +- include/Unknown/UnkStruct_027e0cec.hpp | 7 +- include/global.h | 10 +- src/000_Second/Actor/ActorUnkEFIK.cpp | 5 +- src/001_SceneInit/UnkStruct_027e0cec_001.cpp | 2 +- .../Player/PlayerLinkActor_017.cpp | 2 +- .../Train/UnkStruct_027e0d00_20.cpp | 2 +- src/031_Land/Actor/ActorItemBoomerang.cpp | 12 +- src/031_Land/Actor/ActorItemTornado.cpp | 15 +- src/031_Land/Actor/ActorRollingStone.cpp | 185 ++++++++++-------- src/031_Land/Actor/ActorRupee.cpp | 4 +- src/031_Land/Actor/ActorUnkCLLT.cpp | 12 +- src/031_Land/Actor/ActorUnkFLEN.cpp | 10 +- src/031_Land/Actor/ActorUnkMLCK.cpp | 30 +-- src/031_Land/Actor/ActorUnkNTTZ.cpp | 3 - src/031_Land/Actor/ActorUnkSWCH.cpp | 4 - src/031_Land/Actor/ActorUnkTGTZ.cpp | 145 ++++++++------ src/031_Land/MapObject/MapObjectDoorBase.cpp | 2 +- src/031_Land/MapObject/MapObjectDoorClick.cpp | 16 +- .../MapObject/MapObjectDoorDangerSpawn.cpp | 24 +-- src/031_Land/MapObject/MapObjectDoorKey.cpp | 16 +- .../MapObject/MapObjectDoorSwitch.cpp | 6 +- src/071_Tower/Actor/ActorTearLight.cpp | 8 +- src/110_PlayerGet/PlayerGet.cpp | 7 +- 50 files changed, 518 insertions(+), 415 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 81184e72..19717e74 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1945,7 +1945,7 @@ func_ov000_0208bde4 kind:function(arm,size=0x18) addr:0x0208bde4 func_ov000_0208bdfc kind:function(arm,size=0x10) addr:0x0208bdfc _ZN18UnkStruct_027e0ce019func_ov000_0208be0cE9RefStruct kind:function(arm,size=0x3c) addr:0x0208be0c func_ov000_0208be48 kind:function(arm,size=0x28) addr:0x0208be48 -func_ov000_0208be70 kind:function(arm,size=0x2c) addr:0x0208be70 +_ZN18UnkStruct_027e0ce019func_ov000_0208be70Ev kind:function(arm,size=0x2c) addr:0x0208be70 func_ov000_0208be9c kind:function(arm,size=0x2c) addr:0x0208be9c func_ov000_0208bec8 kind:function(arm,size=0x20) addr:0x0208bec8 _ZN18UnkStruct_027e0ce019func_ov000_0208bee8Ev kind:function(arm,size=0x20) addr:0x0208bee8 @@ -2062,10 +2062,10 @@ func_ov000_0208eb90 kind:function(arm,size=0x104) addr:0x0208eb90 func_ov000_0208ec94 kind:function(arm,size=0x60) addr:0x0208ec94 func_ov000_0208ecf4 kind:function(thumb,size=0x1c) addr:0x0208ecf4 func_ov000_0208ed10 kind:function(thumb,size=0x20) addr:0x0208ed10 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPc kind:function(thumb,size=0x34) addr:0x0208ed30 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPKc kind:function(thumb,size=0x34) addr:0x0208ed30 func_ov000_0208ed64 kind:function(thumb,size=0xc4) addr:0x0208ed64 func_ov000_0208ee28 kind:function(thumb,size=0x6c) addr:0x0208ee28 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPci kind:function(arm,size=0x8c) addr:0x0208ee94 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPKci kind:function(arm,size=0x8c) addr:0x0208ee94 func_ov000_0208ef20 kind:function(arm,size=0x68) addr:0x0208ef20 func_ov000_0208ef88 kind:function(thumb,size=0x34) addr:0x0208ef88 func_ov000_0208efbc kind:function(thumb,size=0x12) addr:0x0208efbc @@ -2672,15 +2672,15 @@ func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fea0 _ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x0209feac _ZN18UnkStruct_027e0cec19func_ov000_0209ff24EiP7VecFx32P7VecFx16i kind:function(arm,size=0x28) addr:0x0209ff24 _ZN18UnkStruct_027e0cec19func_ov000_0209ff4cEiP7VecFx3214UnkAngleStructi kind:function(arm,size=0x40) addr:0x0209ff4c -_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff8c +_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP10UnkSystem7iP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff8c func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0000 func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00a0 -_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP22UnkStruct_PlayerGet_eciiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a00d4 +_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP10UnkSystem7iiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a00d4 _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP10UnkSystem7 kind:function(arm,size=0x30) addr:0x020a0110 _ZN18UnkStruct_027e0cec19func_ov000_020a0140EP10UnkSystem7P7VecFx32 kind:function(arm,size=0xe0) addr:0x020a0140 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a0220 -_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a02d4 -_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a0304 +_ZN10UnkSystem7D1Ev kind:function(arm,size=0x30) addr:0x020a02d4 +_ZN10UnkSystem7D2Ev kind:function(arm,size=0x30) addr:0x020a0304 _ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a0334 func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a036c func_ov000_020a038c kind:function(arm,size=0x24) addr:0x020a038c diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index 1c28bb4d..a163f1cf 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -41,6 +41,7 @@ src/031_Land/Actor/ActorItemBoomerang.cpp: .bss start:0x021164e8 end:0x02116534 src/031_Land/Actor/ActorItemTornado.cpp: + complete .text start:0x020e575c end:0x020e64d8 .init start:0x02111138 end:0x021111ac .ctor start:0x021127ac end:0x021127b0 @@ -140,14 +141,15 @@ src/031_Land/Actor/ActorUnkNTTZ.cpp: .init start:0x021115e8 end:0x02111638 .ctor start:0x021127dc end:0x021127e0 .data start:0x02114504 end:0x02114584 - .bss start:0x02116b08 end:0x02116b64 + .bss start:0x02116b08 end:0x02116b54 src/031_Land/Actor/ActorUnkTGTZ.cpp: + complete .text start:0x020f6834 end:0x020f7474 .init start:0x0211165c end:0x021116c0 .ctor start:0x021127e4 end:0x021127e8 .data start:0x021145a4 end:0x0211465c - .bss start:0x02116b64 end:0x02116c54 + .bss start:0x02116b54 end:0x02116c54 src/031_Land/Actor/ActorUnkSWCH.cpp: complete @@ -174,18 +176,22 @@ src/031_Land/Actor/ActorUnkNORE.cpp: .bss start:0x02116cec end:0x02116d38 src/031_Land/Actor/ActorUnkFLEN.cpp: + complete .text start:0x020f8024 end:0x020f82e0 .init start:0x021117b0 end:0x02111800 .ctor start:0x021127f4 end:0x021127f8 .data start:0x021149b8 end:0x02114a38 .bss start:0x02116d38 end:0x02116d84 + .rodata start:0x02110b90 end:0x02110b98 src/031_Land/Actor/ActorRollingStone.cpp: + complete .text start:0x020f82e0 end:0x020f9dcc .init start:0x02111800 end:0x02111850 .ctor start:0x021127f8 end:0x021127fc .data start:0x02114a38 end:0x02114ba0 .bss start:0x02116d84 end:0x02116e6c + .rodata start:0x02110b98 end:0x02110bc8 src/031_Land/Actor/ActorItemDrop.cpp: complete @@ -197,13 +203,16 @@ src/031_Land/Actor/ActorItemDrop.cpp: .bss start:0x02116e6c end:0x02116f9c src/031_Land/Actor/ActorUnkMLCK.cpp: + complete .text start:0x020fab5c end:0x020fb30c .init start:0x02111988 end:0x021119fc .ctor start:0x02112800 end:0x02112804 .data start:0x02114d28 end:0x02114e1c .bss start:0x02116f9c end:0x02116fe8 + .rodata start:0x02110bec end:0x02110c00 src/031_Land/Actor/ActorUnkCLLT.cpp: + complete .text start:0x020fb30c end:0x020fb4ac .init start:0x021119fc end:0x02111a4c .ctor start:0x02112804 end:0x02112808 diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 35d2fab0..a9dcc83c 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -445,7 +445,7 @@ _ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e5474 _ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e5488 _ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310i kind:function(arm,size=0x30) addr:0x020e54a4 _ZN22ActorItemBoomerang_11C8vfunc_0CE9RefStructP24UnkStruct_ov031_020e54d4PK7VecFx32S5_ kind:function(arm,size=0x230) addr:0x020e54d4 -_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e5704 +_ZN10UnkSystem7C1Ev kind:function(arm,size=0xc) addr:0x020e5704 _ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e5710 _ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e572c _ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e5748 @@ -2002,7 +2002,7 @@ data_ov031_02110a10 kind:data(byte[0x18]) addr:0x02110a10 local data_ov031_02110a28 kind:data(byte[0x18]) addr:0x02110a28 local data_ov031_02110a40 kind:data(any) addr:0x02110a40 local data_ov031_02110a80 kind:data(any) addr:0x02110a80 -@8898 kind:data(byte[0xb]) addr:0x02110a88 local +data_ov031_02110a88 kind:data(any) addr:0x02110a88 local data_ov031_02110a98 kind:data(any) addr:0x02110a98 data_ov031_02110a9c kind:data(any) addr:0x02110a9c data_ov031_02110aa0 kind:data(any) addr:0x02110aa0 @@ -2017,14 +2017,14 @@ data_ov031_02110b4c kind:data(any) addr:0x02110b4c data_ov031_02110b5c kind:data(any) addr:0x02110b5c data_ov031_02110b70 kind:data(any) addr:0x02110b70 data_ov031_02110b80 kind:data(any) addr:0x02110b80 -data_ov031_02110b90 kind:data(any) addr:0x02110b90 -data_ov031_02110b94 kind:data(any) addr:0x02110b94 -data_ov031_02110b98 kind:data(any) addr:0x02110b98 -data_ov031_02110ba4 kind:data(any) addr:0x02110ba4 -data_ov031_02110bb0 kind:data(any) addr:0x02110bb0 -data_ov031_02110bbc kind:data(any) addr:0x02110bbc +data_ov031_02110b90 kind:data(any) addr:0x02110b90 local +data_ov031_02110b94 kind:data(any) addr:0x02110b94 local +data_ov031_02110b98 kind:data(any) addr:0x02110b98 local +data_ov031_02110ba4 kind:data(any) addr:0x02110ba4 local +data_ov031_02110bb0 kind:data(any) addr:0x02110bb0 local +data_ov031_02110bbc kind:data(any) addr:0x02110bbc local data_ov031_02110bc8 kind:data(any) addr:0x02110bc8 local -data_ov031_02110bec kind:data(any) addr:0x02110bec +data_ov031_02110bec kind:data(any) addr:0x02110bec local data_ov031_02110c00 kind:data(any) addr:0x02110c00 data_ov031_02110c1c kind:data(any) addr:0x02110c1c local data_ov031_02110c28 kind:data(any) addr:0x02110c28 local @@ -2091,7 +2091,7 @@ __sinit_ActorUnkSWCH.cpp kind:function(arm,size=0x50) addr:0x021116c0 local __sinit_ActorUnkSWON.cpp kind:function(arm,size=0x50) addr:0x02111710 local __sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x02111760 local __sinit_ActorUnkFLEN.cpp kind:function(arm,size=0x50) addr:0x021117b0 local -__sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x02111800 +__sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x02111800 local __sinit_ActorItemDrop.cpp kind:function(arm,size=0x138) addr:0x02111850 local __sinit_ActorUnkMLCK.cpp kind:function(arm,size=0x74) addr:0x02111988 local __sinit_ActorUnkCLLT.cpp kind:function(arm,size=0x50) addr:0x021119fc local @@ -2350,8 +2350,8 @@ _ZTV19ActorProfileUnkNTTZ kind:data(any) addr:0x02114504 _ZTV12ActorUnkNTTZ kind:data(any) addr:0x02114528 data_ov031_02114584 kind:data(any) addr:0x02114584 _ZTV19data_ov031_02114594 kind:data(any) addr:0x0211458c -data_ov031_021145a4 kind:data(any) addr:0x021145a4 -@3969 kind:data(byte[7]) addr:0x021145a8 +data_ov031_021145a4 kind:data(any) addr:0x021145a4 local +@3969 kind:data(byte[7]) addr:0x021145a8 local _ZTV19ActorProfileUnkTGTZ kind:data(any) addr:0x021145b0 _ZTV24ActorUnkTGTZ_ModelRender kind:data(any) addr:0x021145d4 _ZTV12ActorUnkTGTZ kind:data(any) addr:0x02114600 @@ -2375,8 +2375,8 @@ _ZTV12ActorUnkFLEN kind:data(any) addr:0x021149dc _ZTV20ActorRollingStone_D4 kind:data(any) addr:0x02114a38 _ZTV21ActorRollingStone_104 kind:data(any) addr:0x02114a54 _ZTV24ActorProfileRollingStone kind:data(any) addr:0x02114a70 -data_ov031_02114a94 kind:data(any) addr:0x02114a94 -data_ov031_02114aec kind:data(any) addr:0x02114aec +data_ov031_02114a94 kind:data(any) addr:0x02114a94 local +data_ov031_02114aec kind:data(any) addr:0x02114aec local _ZTV17ActorRollingStone kind:data(any) addr:0x02114b44 data_ov031_02114ba0 kind:data(any) addr:0x02114ba0 local data_ov031_02114bb0 kind:data(any) addr:0x02114bb0 local @@ -2388,6 +2388,8 @@ _ZTV25ActorProfileRedPotionDrop kind:data(any) addr:0x02114c80 _ZTV20ActorProfileBombDrop kind:data(any) addr:0x02114ca4 _ZTV13ActorItemDrop kind:data(any) addr:0x02114cc8 data_ov031_02114d28 kind:data(any) addr:0x02114d28 local +data_ov031_02114d2c kind:data(any) addr:0x02114d2c local +data_ov031_02114d30 kind:data(any) addr:0x02114d30 local _ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02114d34 _ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02114d4c _ZTV12ActorUnkMLCK kind:data(any) addr:0x02114d70 @@ -2560,10 +2562,10 @@ _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116acc _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116b08 @10872 kind:bss addr:0x02116b0c local _ZN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116b18 -data_ov031_02116b54 kind:bss addr:0x02116b54 +_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116b54 data_ov031_02116b58 kind:bss addr:0x02116b58 -_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116b64 -@10878 kind:bss addr:0x02116b70 +data_ov031_02116b64 kind:bss addr:0x02116b64 +@10878 kind:bss addr:0x02116b70 local _ZN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116b7c _ZGVN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x02116c54 @10884 kind:bss addr:0x02116c58 local @@ -2575,10 +2577,10 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cec @10896 kind:bss addr:0x02116cf0 local _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cfc _ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d38 -@10902 kind:bss addr:0x02116d3c +@10902 kind:bss addr:0x02116d3c local _ZN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d48 _ZGVN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d84 -@10908 kind:bss addr:0x02116d88 +@10908 kind:bss addr:0x02116d88 local _ZN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d94 _ZGVN15ProfileInstanceI24ActorProfileTreasureDropE8sProfileE kind:bss addr:0x02116e6c _ZGVN15ProfileInstanceI25ActorProfileRedPotionDropE8sProfileE kind:bss addr:0x02116e70 @@ -2596,7 +2598,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02116f9c @10920 kind:bss addr:0x02116fa0 local _ZN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02116fac _ZGVN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116fe8 -@10926 kind:bss addr:0x02116fec +@10926 kind:bss addr:0x02116fec local _ZN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116ff8 _ZGVN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117034 @10932 kind:bss addr:0x02117038 local diff --git a/config/eur1/arm9/overlays/ov000/relocs.txt b/config/eur1/arm9/overlays/ov000/relocs.txt index 49e12be3..f6272f6f 100644 --- a/config/eur1/arm9/overlays/ov000/relocs.txt +++ b/config/eur1/arm9/overlays/ov000/relocs.txt @@ -8639,7 +8639,7 @@ from:0x020ae5e4 kind:load to:0x02158c18 module:overlays(61,82) from:0x020ae5e8 kind:load to:0x0212b054 module:overlay(40) from:0x020ae5ec kind:load to:0x02139928 module:overlays(26,55) from:0x020ae5f0 kind:load to:0x0217a918 module:overlay(96) -from:0x020ae5f4 kind:load to:0x020fb43c module:overlays(23,31) +from:0x020ae5f4 kind:load to:0x020fb43c module:overlay(31) from:0x020ae5f8 kind:load to:0x020f3908 module:overlays(21,22,23) from:0x020ae5fc kind:load to:0x0210f250 module:overlay(26) from:0x020ae600 kind:load to:0x0215c7fc module:overlay(60) @@ -8720,7 +8720,7 @@ from:0x020ae728 kind:load to:0x0215a528 module:overlays(61,65,84) from:0x020ae72c kind:load to:0x021451c8 module:overlay(27) from:0x020ae730 kind:load to:0x021592c0 module:overlay(61) from:0x020ae734 kind:load to:0x02135548 module:overlays(26,47) -from:0x020ae738 kind:load to:0x020f8154 module:overlays(22,23,31) +from:0x020ae738 kind:load to:0x020f8154 module:overlay(31) from:0x020ae73c kind:load to:0x0211aba8 module:overlay(35) from:0x020ae740 kind:load to:0x0211ac1c module:overlay(35) from:0x020ae744 kind:load to:0x020f39ec module:overlays(21,22,23) @@ -8765,7 +8765,7 @@ from:0x020ae7dc kind:load to:0x02125ff4 module:overlay(44) from:0x020ae7e0 kind:load to:0x02150db8 module:overlay(80) from:0x020ae7e4 kind:load to:0x020e46c4 module:overlays(20,31) from:0x020ae7e8 kind:load to:0x02159e20 module:overlay(84) -from:0x020ae7ec kind:load to:0x020e59e8 module:overlays(20,31) +from:0x020ae7ec kind:load to:0x020e59e8 module:overlay(31) from:0x020ae7f0 kind:load to:0x02189048 module:overlays(105,110) from:0x020ae7f4 kind:load to:0x02150d80 module:overlays(71,72,73,74,75,76,79,80,81,84,85) from:0x020ae7f8 kind:load to:0x02158fcc module:overlays(61,82) @@ -8809,7 +8809,7 @@ from:0x020ae88c kind:load to:0x0214b09c module:overlays(29,30) from:0x020ae890 kind:load to:0x0215e7bc module:overlays(66,68,83) from:0x020ae894 kind:load to:0x021252e8 module:overlay(42) from:0x020ae898 kind:load to:0x0211b80c module:overlay(32) -from:0x020ae89c kind:load to:0x020fac8c module:overlays(23,31) +from:0x020ae89c kind:load to:0x020fac8c module:overlay(31) from:0x020ae8a0 kind:load to:0x0216fc0c module:overlay(94) from:0x020ae8a4 kind:load to:0x0215a630 module:overlays(61,62,65) from:0x020ae8a8 kind:load to:0x02154320 module:overlays(58,75,85) @@ -8892,7 +8892,7 @@ from:0x020ae9d8 kind:load to:0x02119488 module:overlay(33) from:0x020ae9dc kind:load to:0x0213b3c8 module:overlays(26,53,55) from:0x020ae9e0 kind:load to:0x0213bf9c module:overlays(26,55,57) from:0x020ae9e4 kind:load to:0x02143dac module:overlay(70) -from:0x020ae9e8 kind:load to:0x020f8410 module:overlays(22,23,31) +from:0x020ae9e8 kind:load to:0x020f8410 module:overlay(31) from:0x020ae9ec kind:load to:0x0216091c module:overlays(62,66,68,86) from:0x020ae9f0 kind:load to:0x0216067c module:overlays(62,66,68,86) from:0x020ae9f4 kind:load to:0x021607cc module:overlays(62,66,68,86) @@ -9033,7 +9033,7 @@ from:0x020aec0c kind:load to:0x0211d994 module:overlays(36,39) from:0x020aec10 kind:load to:0x0211bf24 module:overlay(36) from:0x020aec14 kind:load to:0x02177ef8 module:overlays(89,90,91,92,93,94) from:0x020aec18 kind:load to:0x02116710 module:overlays(26,31) -from:0x020aec1c kind:load to:0x020f6964 module:overlays(22,23,31) +from:0x020aec1c kind:load to:0x020f6964 module:overlay(31) from:0x020aec20 kind:load to:0x021111c0 module:overlay(26) from:0x020aec24 kind:load to:0x0217ad6c module:overlays(92,96) from:0x020aec28 kind:load to:0x020e41f8 module:overlay(31) diff --git a/config/eur1/arm9/overlays/ov000/symbols.txt b/config/eur1/arm9/overlays/ov000/symbols.txt index 2684313c..7b5044fd 100644 --- a/config/eur1/arm9/overlays/ov000/symbols.txt +++ b/config/eur1/arm9/overlays/ov000/symbols.txt @@ -1945,7 +1945,7 @@ func_ov000_0208bde4 kind:function(arm,size=0x18) addr:0x0208be34 func_ov000_0208bdfc kind:function(arm,size=0x10) addr:0x0208be4c _ZN18UnkStruct_027e0ce019func_ov000_0208be0cE9RefStruct kind:function(arm,size=0x3c) addr:0x0208be5c func_ov000_0208be48 kind:function(arm,size=0x28) addr:0x0208be98 -func_ov000_0208be70 kind:function(arm,size=0x2c) addr:0x0208bec0 +_ZN18UnkStruct_027e0ce019func_ov000_0208be70Ev kind:function(arm,size=0x2c) addr:0x0208bec0 func_ov000_0208be9c kind:function(arm,size=0x2c) addr:0x0208beec func_ov000_0208bec8 kind:function(arm,size=0x20) addr:0x0208bf18 _ZN18UnkStruct_027e0ce019func_ov000_0208bee8Ev kind:function(arm,size=0x20) addr:0x0208bf38 @@ -2062,10 +2062,10 @@ func_ov000_0208eb90 kind:function(arm,size=0x104) addr:0x0208ebe4 func_ov000_0208ec94 kind:function(arm,size=0x60) addr:0x0208ece8 func_ov000_0208ecf4 kind:function(thumb,size=0x1c) addr:0x0208ed48 func_ov000_0208ed10 kind:function(thumb,size=0x20) addr:0x0208ed64 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPc kind:function(thumb,size=0x34) addr:0x0208ed84 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPKc kind:function(thumb,size=0x34) addr:0x0208ed84 func_ov000_0208ed64 kind:function(thumb,size=0xc4) addr:0x0208edb8 func_ov000_0208ee28 kind:function(thumb,size=0x6c) addr:0x0208ee7c -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPci kind:function(arm,size=0x8c) addr:0x0208eee8 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPKci kind:function(arm,size=0x8c) addr:0x0208eee8 func_ov000_0208ef20 kind:function(arm,size=0x68) addr:0x0208ef74 func_ov000_0208ef88 kind:function(thumb,size=0x34) addr:0x0208efdc func_ov000_0208efbc kind:function(thumb,size=0x12) addr:0x0208f010 @@ -2672,15 +2672,15 @@ func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fef4 _ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x0209ff00 _ZN18UnkStruct_027e0cec19func_ov000_0209ff24EiP7VecFx32P7VecFx16i kind:function(arm,size=0x28) addr:0x0209ff78 _ZN18UnkStruct_027e0cec19func_ov000_0209ff4cEiP7VecFx3214UnkAngleStructi kind:function(arm,size=0x40) addr:0x0209ffa0 -_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ffe0 +_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP10UnkSystem7iP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ffe0 func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0054 func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00f4 -_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP22UnkStruct_PlayerGet_eciiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a0128 +_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP10UnkSystem7iiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a0128 _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP10UnkSystem7 kind:function(arm,size=0x30) addr:0x020a0164 _ZN18UnkStruct_027e0cec19func_ov000_020a0140EP10UnkSystem7P7VecFx32 kind:function(arm,size=0xe0) addr:0x020a0194 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a0274 -_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a0328 -_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a0358 +_ZN10UnkSystem7D1Ev kind:function(arm,size=0x30) addr:0x020a0328 +_ZN10UnkSystem7D2Ev kind:function(arm,size=0x30) addr:0x020a0358 _ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a0388 func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a03c0 func_ov000_020a038c kind:function(arm,size=0x24) addr:0x020a03e0 diff --git a/config/eur1/arm9/overlays/ov031/delinks.txt b/config/eur1/arm9/overlays/ov031/delinks.txt index cd565da0..e2605175 100644 --- a/config/eur1/arm9/overlays/ov031/delinks.txt +++ b/config/eur1/arm9/overlays/ov031/delinks.txt @@ -41,6 +41,7 @@ src/031_Land/Actor/ActorItemBoomerang.cpp: .bss start:0x02116628 end:0x02116674 src/031_Land/Actor/ActorItemTornado.cpp: + complete .text start:0x020e587c end:0x020e65f8 .init start:0x02111268 end:0x021112dc .ctor start:0x021128dc end:0x021128e0 @@ -140,14 +141,15 @@ src/031_Land/Actor/ActorUnkNTTZ.cpp: .init start:0x02111718 end:0x02111768 .ctor start:0x0211290c end:0x02112910 .data start:0x02114644 end:0x021146c4 - .bss start:0x02116c48 end:0x02116ca4 + .bss start:0x02116c48 end:0x02116c94 src/031_Land/Actor/ActorUnkTGTZ.cpp: + complete .text start:0x020f6964 end:0x020f75a4 .init start:0x0211178c end:0x021117f0 .ctor start:0x02112914 end:0x02112918 .data start:0x021146e4 end:0x0211479c - .bss start:0x02116ca4 end:0x02116d94 + .bss start:0x02116c94 end:0x02116d94 src/031_Land/Actor/ActorUnkSWCH.cpp: complete @@ -174,18 +176,22 @@ src/031_Land/Actor/ActorUnkNORE.cpp: .bss start:0x02116e2c end:0x02116e78 src/031_Land/Actor/ActorUnkFLEN.cpp: + complete .text start:0x020f8154 end:0x020f8410 .init start:0x021118e0 end:0x02111930 .ctor start:0x02112924 end:0x02112928 .data start:0x02114af8 end:0x02114b78 .bss start:0x02116e78 end:0x02116ec4 + .rodata start:0x02110cc0 end:0x02110cc8 src/031_Land/Actor/ActorRollingStone.cpp: + complete .text start:0x020f8410 end:0x020f9efc .init start:0x02111930 end:0x02111980 .ctor start:0x02112928 end:0x0211292c .data start:0x02114b78 end:0x02114ce0 .bss start:0x02116ec4 end:0x02116fac + .rodata start:0x02110cc8 end:0x02110cf8 src/031_Land/Actor/ActorItemDrop.cpp: complete @@ -197,13 +203,16 @@ src/031_Land/Actor/ActorItemDrop.cpp: .bss start:0x02116fac end:0x021170dc src/031_Land/Actor/ActorUnkMLCK.cpp: + complete .text start:0x020fac8c end:0x020fb43c .init start:0x02111ab8 end:0x02111b2c .ctor start:0x02112930 end:0x02112934 .data start:0x02114e68 end:0x02114f5c .bss start:0x021170dc end:0x02117128 + .rodata start:0x02110d1c end:0x02110d30 src/031_Land/Actor/ActorUnkCLLT.cpp: + complete .text start:0x020fb43c end:0x020fb5dc .init start:0x02111b2c end:0x02111b7c .ctor start:0x02112934 end:0x02112938 diff --git a/config/eur1/arm9/overlays/ov031/relocs.txt b/config/eur1/arm9/overlays/ov031/relocs.txt index 1ad22ad2..acca60d0 100644 --- a/config/eur1/arm9/overlays/ov031/relocs.txt +++ b/config/eur1/arm9/overlays/ov031/relocs.txt @@ -3258,14 +3258,14 @@ from:0x020f696c kind:load to:0x02116cbc module:overlay(31) from:0x020f6980 kind:arm_call to:0x02011f3c module:main from:0x020f698c kind:arm_call to:0x020f69d8 module:overlay(31) from:0x020f69a0 kind:arm_call to:0x020978ec module:overlay(0) -from:0x020f69d4 kind:load to:0x021146f8 module:overlay(31) +from:0x020f69d4 kind:load to:0x021146f0 module:overlay(31) add:0x8 from:0x020f69e0 kind:arm_call to:0x020983dc module:overlay(0) from:0x020f6a40 kind:arm_call to:0x0205a690 module:overlay(0) from:0x020f6a90 kind:arm_call to:0x01ffa06c module:itcm from:0x020f6a9c kind:arm_call to:0x02098680 module:overlay(0) from:0x020f6aa8 kind:load to:0x02114740 add:0x8 module:overlay(31) from:0x020f6aac kind:load to:0x02116cbc module:overlay(31) -from:0x020f6ab0 kind:load to:0x0211471c module:overlay(31) +from:0x020f6ab0 kind:load to:0x02114714 module:overlay(31) add:0x8 from:0x020f6abc kind:arm_call_thumb to:0x02057bd4 module:overlay(0) from:0x020f6b2c kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x020f6b4c kind:arm_call to:0x0205fc20 module:overlay(0) @@ -3464,7 +3464,7 @@ from:0x020f817c kind:arm_call to:0x020f81c0 module:overlay(31) from:0x020f8190 kind:arm_call to:0x020976d0 module:overlay(0) from:0x020f81bc kind:load to:0x02114af8 add:0x8 module:overlay(31) from:0x020f81c8 kind:arm_call to:0x020983dc module:overlay(0) -from:0x020f81e4 kind:load to:0x02114b24 module:overlay(31) +from:0x020f81e4 kind:load to:0x02114b1c module:overlay(31) add:0x8 from:0x020f8214 kind:arm_call to:0x02097530 module:overlay(0) from:0x020f8234 kind:arm_call to:0x020f82e4 module:overlay(31) from:0x020f8240 kind:load to:0x02110cc4 module:overlay(31) @@ -3839,7 +3839,7 @@ from:0x020fb478 kind:arm_call to:0x020976d0 module:overlay(0) from:0x020fb490 kind:load to:0x02114f5c add:0x8 module:overlay(31) from:0x020fb49c kind:arm_call to:0x020e3ec0 module:overlay(31) from:0x020fb4ac kind:arm_call to:0x0209fb14 module:overlay(0) -from:0x020fb4b8 kind:load to:0x02114f88 module:overlay(31) +from:0x020fb4b8 kind:load to:0x02114f80 module:overlay(31) add:0x8 from:0x020fb4d0 kind:arm_call to:0x0206807c module:overlay(0) from:0x020fb4f4 kind:load to:0x020b508c module:overlay(0) from:0x020fb550 kind:arm_call to:0x020e3f18 module:overlay(31) @@ -5346,7 +5346,7 @@ from:0x02108bac kind:arm_call to:0x0207c04c module:overlay(0) from:0x02108bf8 kind:arm_call to:0x01ffa06c module:itcm from:0x02108c04 kind:load to:0x02115fb4 module:overlay(31) from:0x02108c08 kind:load to:0x02118628 module:overlay(31) -from:0x02108c0c kind:load to:0x0211471c module:overlay(31) +from:0x02108c0c kind:load to:0x02114714 module:overlay(31) add:0x8 from:0x02108c10 kind:load to:0x02114050 module:overlay(31) add:0x8 from:0x02108c40 kind:arm_call to:0x01ffedf4 module:itcm from:0x02108cb4 kind:arm_call_thumb to:0x01ffa1a0 module:itcm diff --git a/config/eur1/arm9/overlays/ov031/symbols.txt b/config/eur1/arm9/overlays/ov031/symbols.txt index fe32fea9..7c5258e1 100644 --- a/config/eur1/arm9/overlays/ov031/symbols.txt +++ b/config/eur1/arm9/overlays/ov031/symbols.txt @@ -445,7 +445,7 @@ _ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e5594 _ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e55a8 _ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310i kind:function(arm,size=0x30) addr:0x020e55c4 _ZN22ActorItemBoomerang_11C8vfunc_0CE9RefStructP24UnkStruct_ov031_020e54d4PK7VecFx32S5_ kind:function(arm,size=0x230) addr:0x020e55f4 -_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e5824 +_ZN10UnkSystem7C1Ev kind:function(arm,size=0xc) addr:0x020e5824 _ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e5830 _ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e584c _ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e5868 @@ -2002,7 +2002,7 @@ data_ov031_02110a10 kind:data(byte[0x18]) addr:0x02110b40 local data_ov031_02110a28 kind:data(byte[0x18]) addr:0x02110b58 local data_ov031_02110a40 kind:data(any) addr:0x02110b70 local data_ov031_02110bb0 kind:data(any) addr:0x02110bb0 -@8898 kind:data(byte[0xb]) addr:0x02110bb8 local +data_ov031_02110a88 kind:data(any) addr:0x02110bb8 local data_ov031_02110bc8_eur1 kind:data(any) addr:0x02110bc8 data_ov031_02110bcc kind:data(any) addr:0x02110bcc data_ov031_02110bd0 kind:data(any) addr:0x02110bd0 @@ -2017,14 +2017,14 @@ data_ov031_02110b4c kind:data(any) addr:0x02110c7c data_ov031_02110b5c kind:data(any) addr:0x02110c8c data_ov031_02110ca0 kind:data(any) addr:0x02110ca0 data_ov031_02110cb0 kind:data(any) addr:0x02110cb0 -data_ov031_02110cc0 kind:data(any) addr:0x02110cc0 -data_ov031_02110cc4 kind:data(any) addr:0x02110cc4 -data_ov031_02110cc8 kind:data(any) addr:0x02110cc8 -data_ov031_02110cd4 kind:data(any) addr:0x02110cd4 -data_ov031_02110ce0 kind:data(any) addr:0x02110ce0 -data_ov031_02110cec kind:data(any) addr:0x02110cec +data_ov031_02110b90 kind:data(any) addr:0x02110cc0 local +data_ov031_02110b94 kind:data(any) addr:0x02110cc4 local +data_ov031_02110b98 kind:data(any) addr:0x02110cc8 local +data_ov031_02110ba4 kind:data(any) addr:0x02110cd4 local +data_ov031_02110bb0 kind:data(any) addr:0x02110ce0 local +data_ov031_02110bbc kind:data(any) addr:0x02110cec local data_ov031_02110bc8 kind:data(any) addr:0x02110cf8 local -data_ov031_02110bec kind:data(any) addr:0x02110d1c +data_ov031_02110bec kind:data(any) addr:0x02110d1c local data_ov031_02110d30 kind:data(any) addr:0x02110d30 data_ov031_02110d4c kind:data(any) addr:0x02110d4c data_ov031_02110d58 kind:data(any) addr:0x02110d58 @@ -2362,10 +2362,10 @@ _ZTV19ActorProfileUnkNTTZ kind:data(any) addr:0x02114644 _ZTV12ActorUnkNTTZ kind:data(any) addr:0x02114668 data_ov031_021146c4 kind:data(any) addr:0x021146c4 data_ov031_021146d4 kind:data(any) addr:0x021146d4 -data_ov031_021146e4 kind:data(any) addr:0x021146e4 -data_ov031_021146e8 kind:data(any) addr:0x021146e8 -data_ov031_021146f8 kind:data(any) addr:0x021146f8 -data_ov031_0211471c kind:data(any) addr:0x0211471c +data_ov031_021145a4 kind:data(any) addr:0x021146e4 local +@8384 kind:data(byte[7]) addr:0x021146e8 local +_ZTV19ActorProfileUnkTGTZ kind:data(any) addr:0x021146f0 +_ZTV24ActorUnkTGTZ_ModelRender kind:data(any) addr:0x02114714 _ZTV12ActorUnkTGTZ kind:data(any) addr:0x02114740 _ZTV19data_ov031_0211465c kind:data(any) addr:0x0211479c _ZTV19data_ov031_021146b8 kind:data(any) addr:0x021147f8 ambiguous @@ -2383,12 +2383,12 @@ _ZTV12ActorUnkSWON kind:data(any) addr:0x02114a1c _ZTV19ActorProfileUnkNORE kind:data(any) addr:0x02114a78 _ZTV12ActorUnkNORE kind:data(any) addr:0x02114a9c _ZTV19ActorProfileUnkFLEN kind:data(any) addr:0x02114af8 -data_ov031_02114b24 kind:data(any) addr:0x02114b24 +_ZTV12ActorUnkFLEN kind:data(any) addr:0x02114b1c _ZTV20ActorRollingStone_D4 kind:data(any) addr:0x02114b78 _ZTV21ActorRollingStone_104 kind:data(any) addr:0x02114b94 _ZTV24ActorProfileRollingStone kind:data(any) addr:0x02114bb0 -data_ov031_02114bd4 kind:data(any) addr:0x02114bd4 -data_ov031_02114c2c kind:data(any) addr:0x02114c2c +data_ov031_02114a94 kind:data(any) addr:0x02114bd4 local +data_ov031_02114aec kind:data(any) addr:0x02114c2c local _ZTV17ActorRollingStone kind:data(any) addr:0x02114c84 data_ov031_02114ba0 kind:data(any) addr:0x02114ce0 local data_ov031_02114bb0 kind:data(any) addr:0x02114cf0 local @@ -2400,11 +2400,13 @@ _ZTV25ActorProfileRedPotionDrop kind:data(any) addr:0x02114dc0 _ZTV20ActorProfileBombDrop kind:data(any) addr:0x02114de4 _ZTV13ActorItemDrop kind:data(any) addr:0x02114e08 data_ov031_02114d28 kind:data(any) addr:0x02114e68 local +data_ov031_02114d2c kind:data(any) addr:0x02114e6c local +data_ov031_02114d30 kind:data(any) addr:0x02114e70 local _ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02114e74 _ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02114e8c _ZTV12ActorUnkMLCK kind:data(any) addr:0x02114eb0 _ZTV19ActorProfileUnkCLLT kind:data(any) addr:0x02114f5c -data_ov031_02114f88 kind:data(any) addr:0x02114f88 +_ZTV12ActorUnkCLLT kind:data(any) addr:0x02114f80 _ZTV19ActorProfileUnkEFSB kind:data(any) addr:0x02114fec data_ov031_02114ed0 kind:data(any) addr:0x02115010 local _ZTV12ActorUnkEFSB kind:data(any) addr:0x02115040 @@ -2579,9 +2581,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116c0c _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116c48 @10872 kind:bss addr:0x02116c4c local _ZN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116c58 -data_ov031_02116b54 kind:bss addr:0x02116c94 +_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116c94 data_ov031_02116b58 kind:bss addr:0x02116c98 -_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116ca4 +data_ov031_02116b64 kind:bss addr:0x02116ca4 @10878 kind:bss addr:0x02116cb0 local _ZN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116cbc _ZGVN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x02116d94 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 16dfa3d1..c35d1be9 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -1946,7 +1946,7 @@ func_ov000_0208bde4 kind:function(arm,size=0x18) addr:0x0208d4bc func_ov000_0208bdfc kind:function(arm,size=0x10) addr:0x0208d4d4 _ZN18UnkStruct_027e0ce019func_ov000_0208be0cE9RefStruct kind:function(arm,size=0x3c) addr:0x0208d4e4 func_ov000_0208be48 kind:function(arm,size=0x28) addr:0x0208d520 -func_ov000_0208be70 kind:function(arm,size=0x2c) addr:0x0208d548 +_ZN18UnkStruct_027e0ce019func_ov000_0208be70Ev kind:function(arm,size=0x2c) addr:0x0208d548 func_ov000_0208be9c kind:function(arm,size=0x2c) addr:0x0208d574 func_ov000_0208bec8 kind:function(arm,size=0x20) addr:0x0208d5a0 _ZN18UnkStruct_027e0ce019func_ov000_0208bee8Ev kind:function(arm,size=0x20) addr:0x0208d5c0 @@ -2063,10 +2063,10 @@ func_ov000_0208eb90 kind:function(arm,size=0x104) addr:0x0209026c func_ov000_0208ec94 kind:function(arm,size=0x60) addr:0x02090370 func_ov000_0208ecf4 kind:function(thumb,size=0x1c) addr:0x020903d0 func_ov000_0208ed10 kind:function(thumb,size=0x20) addr:0x020903ec -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPc kind:function(thumb,size=0x34) addr:0x0209040c +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPKc kind:function(thumb,size=0x34) addr:0x0209040c func_ov000_0208ed64 kind:function(thumb,size=0xc4) addr:0x02090440 func_ov000_0208ee28 kind:function(thumb,size=0x6c) addr:0x02090504 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPci kind:function(arm,size=0x8c) addr:0x02090570 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPKci kind:function(arm,size=0x8c) addr:0x02090570 func_ov000_0208ef20 kind:function(arm,size=0x68) addr:0x020905fc func_ov000_0208ef88 kind:function(thumb,size=0x34) addr:0x02090664 func_ov000_0208efbc kind:function(thumb,size=0x12) addr:0x02090698 @@ -2673,15 +2673,15 @@ func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x020a1678 _ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x020a1684 _ZN18UnkStruct_027e0cec19func_ov000_0209ff24EiP7VecFx32P7VecFx16i kind:function(arm,size=0x28) addr:0x020a16fc _ZN18UnkStruct_027e0cec19func_ov000_0209ff4cEiP7VecFx3214UnkAngleStructi kind:function(arm,size=0x40) addr:0x020a1724 -_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x020a1764 +_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP10UnkSystem7iP7VecFx32i kind:function(arm,size=0x74) addr:0x020a1764 func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a17d8 func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a1878 -_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP22UnkStruct_PlayerGet_eciiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a18ac +_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP10UnkSystem7iiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a18ac _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP10UnkSystem7 kind:function(arm,size=0x30) addr:0x020a18e8 _ZN18UnkStruct_027e0cec19func_ov000_020a0140EP10UnkSystem7P7VecFx32 kind:function(arm,size=0xe0) addr:0x020a1918 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a19f8 -_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a1aac -_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a1adc +_ZN10UnkSystem7D1Ev kind:function(arm,size=0x30) addr:0x020a1aac +_ZN10UnkSystem7D2Ev kind:function(arm,size=0x30) addr:0x020a1adc _ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a1b0c func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a1b44 func_ov000_020a038c kind:function(arm,size=0x24) addr:0x020a1b64 diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index 82240ef9..efd4f3ca 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -41,6 +41,7 @@ src/031_Land/Actor/ActorItemBoomerang.cpp: .bss start:0x02118288 end:0x021182d4 src/031_Land/Actor/ActorItemTornado.cpp: + complete .text start:0x020e7148 end:0x020e7ec4 .init start:0x02112ea8 end:0x02112f1c .ctor start:0x02114538 end:0x0211453c @@ -140,16 +141,18 @@ src/031_Land/Actor/ActorUnkNTTZ.cpp: .init start:0x02113358 end:0x021133a8 .ctor start:0x02114568 end:0x0211456c .data start:0x021162a4 end:0x02116324 - .bss start:0x021188a8 end:0x02118904 + .bss start:0x021188a8 end:0x021188f4 src/031_Land/Actor/ActorUnkTGTZ.cpp: + complete .text start:0x020f82d4 end:0x020f8ea4 .init start:0x021133cc end:0x0211344c .ctor start:0x02114570 end:0x02114574 .data start:0x02116344 end:0x021163d0 - .bss start:0x02118904 end:0x021189f4 + .bss start:0x021188f4 end:0x021189f4 src/031_Land/Actor/ActorUnkSWCH.cpp: + complete .text start:0x020f94c8 end:0x020f9620 .init start:0x0211344c end:0x0211349c .ctor start:0x02114574 end:0x02114578 @@ -173,18 +176,22 @@ src/031_Land/Actor/ActorUnkNORE.cpp: .bss start:0x02118a8c end:0x02118ad8 src/031_Land/Actor/ActorUnkFLEN.cpp: + complete .text start:0x020f9a68 end:0x020f9d24 .init start:0x0211353c end:0x0211358c .ctor start:0x02114580 end:0x02114584 .data start:0x0211672c end:0x021167ac .bss start:0x02118ad8 end:0x02118b24 + .rodata start:0x02112900 end:0x02112908 src/031_Land/Actor/ActorRollingStone.cpp: + complete .text start:0x020f9d24 end:0x020fb810 .init start:0x0211358c end:0x021135dc .ctor start:0x02114584 end:0x02114588 .data start:0x021167ac end:0x02116914 .bss start:0x02118b24 end:0x02118c0c + .rodata start:0x02112908 end:0x02112938 src/031_Land/Actor/ActorItemDrop.cpp: complete @@ -196,13 +203,16 @@ src/031_Land/Actor/ActorItemDrop.cpp: .bss start:0x02118c0c end:0x02118d3c src/031_Land/Actor/ActorUnkMLCK.cpp: + complete .text start:0x020fc5b4 end:0x020fcd64 .init start:0x02113714 end:0x02113788 .ctor start:0x0211458c end:0x02114590 .data start:0x02116a9c end:0x02116b90 .bss start:0x02118d3c end:0x02118d88 + .rodata start:0x0211295c end:0x02112970 src/031_Land/Actor/ActorUnkCLLT.cpp: + complete .text start:0x020fcd64 end:0x020fcf04 .init start:0x02113788 end:0x021137d8 .ctor start:0x02114590 end:0x02114594 diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index d0fb72b3..b0288146 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -3504,7 +3504,7 @@ from:0x020fa098 kind:load to:0x021168b8 add:0x8 module:overlay(31) from:0x020fa09c kind:load to:0x02118b34 module:overlay(31) from:0x020fa0a0 kind:load to:0x020b3160 add:0x8 module:overlay(0) from:0x020fa0a4 kind:load to:0x021167ac add:0x8 module:overlay(31) -from:0x020fa0a8 kind:load to:0x021167d0 module:overlay(31) +from:0x020fa0a8 kind:load to:0x021167c8 module:overlay(31) add:0x8 from:0x020fa0ac kind:load to:0x027e0130 module:dtcm from:0x020fa0b0 kind:load to:0x020a1aac module:overlay(0) from:0x020fa0b4 kind:load to:0x020e70f0 module:overlay(31) @@ -3554,7 +3554,7 @@ from:0x020fa79c kind:arm_call to:0x0209a25c module:overlay(0) from:0x020fa7cc kind:arm_call to:0x0207fc44 module:overlay(0) from:0x020fa808 kind:arm_call to:0x0207f550 module:overlay(0) from:0x020fa810 kind:arm_call to:0x0207d6b4 module:overlay(0) -from:0x020fa81c kind:load to:0x021167d0 module:overlay(31) +from:0x020fa81c kind:load to:0x021167c8 module:overlay(31) add:0x8 from:0x020fa820 kind:load to:0x0203feb0 module:main from:0x020fa824 kind:load to:0x027e09c0 module:dtcm from:0x020fa854 kind:arm_call to:0x0209a188 module:overlay(0) @@ -3619,7 +3619,7 @@ from:0x020fb1d0 kind:arm_call to:0x020d837c module:overlay(24) from:0x020fb1e0 kind:arm_call to:0x01ffb6e4 module:itcm from:0x020fb1e8 kind:arm_call to:0x020fb328 module:overlay(31) from:0x020fb1f0 kind:arm_call to:0x0207d6b4 module:overlay(0) -from:0x020fb1fc kind:load to:0x021167d0 module:overlay(31) +from:0x020fb1fc kind:load to:0x021167c8 module:overlay(31) add:0x8 from:0x020fb200 kind:load to:0x0203feb0 module:main from:0x020fb204 kind:load to:0x027e09c0 module:dtcm from:0x020fb2a4 kind:arm_call_thumb to:0x01ffa1bc module:itcm diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 99259fdf..681be76c 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -395,7 +395,7 @@ _ZN22ActorUnkTLKTnCLLT_Base4InitEi kind:function(arm,size=0x2c) addr:0x020e5804 _ZN22ActorUnkTLKTnCLLT_Base5SetupEv kind:function(arm,size=0x28) addr:0x020e5830 _ZN22ActorUnkTLKTnCLLT_Base19func_ov031_020e3e6cEv kind:function(arm,size=0x18) addr:0x020e5858 _ZN22ActorUnkTLKTnCLLT_Base6UpdateEv kind:function(arm,size=0x54) addr:0x020e5870 -func_ov031_020e58c4 kind:function(arm,size=0x28) addr:0x020e58c4 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_24Ev kind:function(arm,size=0x28) addr:0x020e58c4 func_ov031_020e58ec kind:function(arm,size=0x50) addr:0x020e58ec _ZN22ActorUnkTLKTnCLLT_Base8vfunc_54Ev kind:function(arm,size=0x124) addr:0x020e593c func_ov031_020e5a60 kind:function(arm,size=0x4) addr:0x020e5a60 @@ -445,7 +445,7 @@ _ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e6e60 _ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e6e74 _ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310i kind:function(arm,size=0x30) addr:0x020e6e90 _ZN22ActorItemBoomerang_11C8vfunc_0CE9RefStructP24UnkStruct_ov031_020e54d4PK7VecFx32S5_ kind:function(arm,size=0x230) addr:0x020e6ec0 -_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e70f0 +_ZN10UnkSystem7C1Ev kind:function(arm,size=0xc) addr:0x020e70f0 _ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e70fc _ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e7118 _ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e7134 @@ -2002,7 +2002,7 @@ data_ov031_02110a10 kind:data(byte[0x18]) addr:0x02112780 local data_ov031_02110a28 kind:data(byte[0x18]) addr:0x02112798 local data_ov031_02110a40 kind:data(any) addr:0x021127b0 local data_ov031_021127f0 kind:data(any) addr:0x021127f0 -@8898 kind:data(byte[0xb]) addr:0x021127f8 local +data_ov031_02110a88 kind:data(any) addr:0x021127f8 local data_ov031_02112808 kind:data(any) addr:0x02112808 data_ov031_0211280c kind:data(any) addr:0x0211280c data_ov031_02112810 kind:data(any) addr:0x02112810 @@ -2017,14 +2017,14 @@ data_ov031_02110b4c kind:data(any) addr:0x021128bc data_ov031_02110b5c kind:data(any) addr:0x021128cc data_ov031_021128e0 kind:data(any) addr:0x021128e0 data_ov031_021128f0 kind:data(any) addr:0x021128f0 -data_ov031_02110b90 kind:data(any) addr:0x02112900 -data_ov031_02110b94 kind:data(any) addr:0x02112904 -data_ov031_02112908 kind:data(any) addr:0x02112908 -data_ov031_02112914 kind:data(any) addr:0x02112914 -data_ov031_02112920 kind:data(any) addr:0x02112920 -data_ov031_0211292c kind:data(any) addr:0x0211292c +data_ov031_02110b90 kind:data(any) addr:0x02112900 local +data_ov031_02110b94 kind:data(any) addr:0x02112904 local +data_ov031_02110b98 kind:data(any) addr:0x02112908 local +data_ov031_02110ba4 kind:data(any) addr:0x02112914 local +data_ov031_02110bb0 kind:data(any) addr:0x02112920 local +data_ov031_02110bbc kind:data(any) addr:0x0211292c local data_ov031_02110bc8 kind:data(any) addr:0x02112938 local -data_ov031_02110bec kind:data(any) addr:0x0211295c +data_ov031_02110bec kind:data(any) addr:0x0211295c local data_ov031_02112970 kind:data(any) addr:0x02112970 data_ov031_02110c1c kind:data(any) addr:0x0211298c local data_ov031_02110c28 kind:data(any) addr:0x02112998 local @@ -2356,7 +2356,7 @@ _ZTV19ActorProfileUnkNTTZ kind:data(any) addr:0x021162a4 _ZTV12ActorUnkNTTZ kind:data(any) addr:0x021162c8 data_ov031_02116324 kind:data(any) addr:0x02116324 _ZTV19data_ov031_02116334 kind:data(any) addr:0x0211632c -data_ov031_02116344 kind:data(any) addr:0x02116344 +data_ov031_02116344 kind:data(any) addr:0x02116344 local _ZTV19ActorProfileUnkTGTZ kind:data(any) addr:0x02116350 _ZTV12ActorUnkTGTZ kind:data(any) addr:0x02116374 _ZTV19data_ov031_021163d0 kind:data(any) addr:0x021163d0 @@ -2376,12 +2376,12 @@ _ZTV19ActorProfileUnkNORE kind:data(any) addr:0x021166ac _ZTV12ActorUnkNORE kind:data(any) addr:0x021166d0 _ZTV19ActorProfileUnkFLEN kind:data(any) addr:0x0211672c _ZTV12ActorUnkFLEN kind:data(any) addr:0x02116750 -_ZTV19data_ov031_021167b4 kind:data(any) addr:0x021167ac -data_ov031_021167d0 kind:data(any) addr:0x021167d0 -_ZTV19data_ov031_021167e4 kind:data(any) addr:0x021167e4 -data_ov031_02116808 kind:data(any) addr:0x02116808 -data_ov031_02116860 kind:data(any) addr:0x02116860 -_ZTV19data_ov031_021168b8 kind:data(any) addr:0x021168b8 +_ZTV20ActorRollingStone_D4 kind:data(any) addr:0x021167ac +_ZTV21ActorRollingStone_104 kind:data(any) addr:0x021167c8 +_ZTV24ActorProfileRollingStone kind:data(any) addr:0x021167e4 +data_ov031_02114a94 kind:data(any) addr:0x02116808 local +data_ov031_02114aec kind:data(any) addr:0x02116860 local +_ZTV17ActorRollingStone kind:data(any) addr:0x021168b8 data_ov031_02114ba0 kind:data(any) addr:0x02116914 local data_ov031_02114bb0 kind:data(any) addr:0x02116924 local data_ov031_02114be8 kind:data(any) addr:0x0211695c local @@ -2392,11 +2392,13 @@ _ZTV25ActorProfileRedPotionDrop kind:data(any) addr:0x021169f4 _ZTV20ActorProfileBombDrop kind:data(any) addr:0x02116a18 _ZTV13ActorItemDrop kind:data(any) addr:0x02116a3c data_ov031_02114d28 kind:data(any) addr:0x02116a9c local +data_ov031_02114d2c kind:data(any) addr:0x02116aa0 local +data_ov031_02114d30 kind:data(any) addr:0x02116aa4 local _ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02116aa8 _ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02116ac0 _ZTV12ActorUnkMLCK kind:data(any) addr:0x02116ae4 -_ZTV19data_ov031_02116b90 kind:data(any) addr:0x02116b90 -_ZTV19data_ov031_02116bb4 kind:data(any) addr:0x02116bb4 +_ZTV19ActorProfileUnkCLLT kind:data(any) addr:0x02116b90 +_ZTV12ActorUnkCLLT kind:data(any) addr:0x02116bb4 _ZTV19ActorProfileUnkEFSB kind:data(any) addr:0x02116c20 data_ov031_02114ed0 kind:data(any) addr:0x02116c44 local _ZTV12ActorUnkEFSB kind:data(any) addr:0x02116c74 @@ -2565,15 +2567,14 @@ _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x0211886c _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x021188a8 @30872 kind:bss addr:0x021188ac local _ZN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x021188b8 -data_ov031_02116b54 kind:bss addr:0x021188f4 -data_ov031_02116b58 kind:bss addr:0x021188f8 -_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02118904 -@30878 kind:bss addr:0x02118910 +_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x021188f4 +@10878 kind:bss addr:0x021188f8 local +data_ov031_02116b64 kind:bss addr:0x02118904 +data_ov031_02116b58 kind:bss addr:0x02118910 _ZN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x0211891c _ZGVN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x021189f4 -@30884 kind:bss addr:0x021189f8 +@30884 kind:bss addr:0x021189f8 local _ZN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x02118a04 -data_ov031_02118a1c kind:bss addr:0x02118a1c ambiguous _ZGVN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02118a40 @30890 kind:bss addr:0x02118a44 local _ZN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02118a50 @@ -2581,10 +2582,10 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02118a8c @30896 kind:bss addr:0x02118a90 local _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02118a9c _ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02118ad8 -@30902 kind:bss addr:0x02118adc +@30902 kind:bss addr:0x02118adc local _ZN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02118ae8 _ZGVN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02118b24 -@30908 kind:bss addr:0x02118b28 +@30908 kind:bss addr:0x02118b28 local _ZN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02118b34 _ZGVN15ProfileInstanceI24ActorProfileTreasureDropE8sProfileE kind:bss addr:0x02118c0c _ZGVN15ProfileInstanceI25ActorProfileRedPotionDropE8sProfileE kind:bss addr:0x02118c10 @@ -2602,7 +2603,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02118d3c @30920 kind:bss addr:0x02118d40 local _ZN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02118d4c _ZGVN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02118d88 -@30926 kind:bss addr:0x02118d8c +@30926 kind:bss addr:0x02118d8c local _ZN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02118d98 _ZGVN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02118dd4 @30932 kind:bss addr:0x02118dd8 local diff --git a/config/jp/arm9/overlays/ov093/symbols.txt b/config/jp/arm9/overlays/ov093/symbols.txt index fb0d4578..718e6f79 100644 --- a/config/jp/arm9/overlays/ov093/symbols.txt +++ b/config/jp/arm9/overlays/ov093/symbols.txt @@ -31,7 +31,7 @@ func_ov093_02168440 kind:function(arm,size=0x10) addr:0x02168440 func_ov093_02168450 kind:function(arm,size=0x10) addr:0x02168450 func_ov093_02168460 kind:function(arm,size=0x10) addr:0x02168460 func_ov093_02168470 kind:function(arm,size=0x10) addr:0x02168470 -func_ov093_02168480 kind:function(arm,size=0x10) addr:0x02168480 +_ZN18UnkStruct_027e0d8c19func_ov093_02166220Ev kind:function(arm,size=0x10) addr:0x02168480 func_ov093_02168490 kind:function(arm,size=0x10) addr:0x02168490 func_ov093_021684a0 kind:function(arm,size=0x10) addr:0x021684a0 func_ov093_021684b0 kind:function(arm,size=0x10) addr:0x021684b0 diff --git a/config/jp/arm9/symbols.txt b/config/jp/arm9/symbols.txt index 69a9c813..ed95986a 100644 --- a/config/jp/arm9/symbols.txt +++ b/config/jp/arm9/symbols.txt @@ -888,7 +888,7 @@ func_02017bd4 kind:function(arm,size=0x30) addr:0x02017bd4 func_02017c04 kind:function(arm,size=0x40) addr:0x02017c04 func_02017c44 kind:function(arm,size=0xd8) addr:0x02017c44 func_02017d1c kind:function(arm,size=0x108) addr:0x02017d1c -func_02017e24 kind:function(arm,size=0x18) addr:0x02017e24 +func_02017e8c kind:function(arm,size=0x18) addr:0x02017e24 func_02017ea4 kind:function(arm,size=0x40) addr:0x02017e3c func_02017ee4 kind:function(arm,size=0x54) addr:0x02017e7c func_02017ed0 kind:function(arm,size=0x1c) addr:0x02017ed0 diff --git a/config/usa/arm9/overlays/ov000/relocs.txt b/config/usa/arm9/overlays/ov000/relocs.txt index 1863e72a..3cbee519 100644 --- a/config/usa/arm9/overlays/ov000/relocs.txt +++ b/config/usa/arm9/overlays/ov000/relocs.txt @@ -8639,7 +8639,7 @@ from:0x020ae570 kind:load to:0x02158ad8 module:overlays(61,82) from:0x020ae574 kind:load to:0x0212aef4 module:overlay(40) from:0x020ae578 kind:load to:0x021397e8 module:overlays(26,55) from:0x020ae57c kind:load to:0x0217a718 module:overlay(96) -from:0x020ae580 kind:load to:0x020fb2ec module:overlays(23,31) +from:0x020ae580 kind:load to:0x020fb2ec module:overlay(31) from:0x020ae584 kind:load to:0x020f38a8 module:overlays(21,22,23) from:0x020ae588 kind:load to:0x0210f110 module:overlay(26) from:0x020ae58c kind:load to:0x0215c6bc module:overlay(60) @@ -8720,7 +8720,7 @@ from:0x020ae6b4 kind:load to:0x0215a388 module:overlays(61,62,84) from:0x020ae6b8 kind:load to:0x02145088 module:overlay(27) from:0x020ae6bc kind:load to:0x02159180 module:overlay(61) from:0x020ae6c0 kind:load to:0x021353e8 module:overlays(26,47) -from:0x020ae6c4 kind:load to:0x020f8004 module:overlays(22,23,31) +from:0x020ae6c4 kind:load to:0x020f8004 module:overlay(31) from:0x020ae6c8 kind:load to:0x0211aa48 module:overlays(35,36) from:0x020ae6cc kind:load to:0x0211aabc module:overlay(35) from:0x020ae6d0 kind:load to:0x020f398c module:overlays(21,22,23) @@ -8765,7 +8765,7 @@ from:0x020ae768 kind:load to:0x02125e94 module:overlay(44) from:0x020ae76c kind:load to:0x02150c18 module:overlay(80) from:0x020ae770 kind:load to:0x020e4584 module:overlays(20,31) from:0x020ae774 kind:load to:0x02159c80 module:overlays(64,84) -from:0x020ae778 kind:load to:0x020e58a8 module:overlays(20,31) +from:0x020ae778 kind:load to:0x020e58a8 module:overlay(31) from:0x020ae77c kind:load to:0x02188e28 module:overlays(105,110) from:0x020ae780 kind:load to:0x02150be0 module:overlays(71,72,73,74,75,76,79,80,81,84,85) from:0x020ae784 kind:load to:0x02158e8c module:overlays(61,82) @@ -8809,7 +8809,7 @@ from:0x020ae818 kind:load to:0x0214af5c module:overlays(29,30) from:0x020ae81c kind:load to:0x0215e4f8 module:overlays(66,68,83) from:0x020ae820 kind:load to:0x02125188 module:overlay(42) from:0x020ae824 kind:load to:0x0211b6ac module:overlays(32,36) -from:0x020ae828 kind:load to:0x020fab3c module:overlays(23,31) +from:0x020ae828 kind:load to:0x020fab3c module:overlay(31) from:0x020ae82c kind:load to:0x0216fa6c module:overlay(94) from:0x020ae830 kind:load to:0x0215a4f0 module:overlays(61,62,65) from:0x020ae834 kind:load to:0x021541c0 module:overlays(58,75,85) @@ -8892,7 +8892,7 @@ from:0x020ae964 kind:load to:0x02119328 module:overlay(33) from:0x020ae968 kind:load to:0x0213b288 module:overlays(26,53,55) from:0x020ae96c kind:load to:0x0213be5c module:overlays(26,55,57) from:0x020ae970 kind:load to:0x02143c6c module:overlay(70) -from:0x020ae974 kind:load to:0x020f82c0 module:overlays(22,23,31) +from:0x020ae974 kind:load to:0x020f82c0 module:overlay(31) from:0x020ae978 kind:load to:0x02160658 module:overlays(62,66,68,86) from:0x020ae97c kind:load to:0x021603b8 module:overlays(62,66,68,86) from:0x020ae980 kind:load to:0x02160508 module:overlays(62,66,68,86) @@ -9033,7 +9033,7 @@ from:0x020aeb98 kind:load to:0x0211d830 module:overlays(36,39) from:0x020aeb9c kind:load to:0x0211bdc0 module:overlay(36) from:0x020aeba0 kind:load to:0x02177d58 module:overlays(89,90,91,92,93,94) from:0x020aeba4 kind:load to:0x021165d0 module:overlay(26) -from:0x020aeba8 kind:load to:0x020f6814 module:overlays(22,23,31) +from:0x020aeba8 kind:load to:0x020f6814 module:overlay(31) from:0x020aebac kind:load to:0x02111080 module:overlay(26) from:0x020aebb0 kind:load to:0x0217ab6c module:overlays(92,96) from:0x020aebb4 kind:load to:0x020e40b8 module:overlay(31) diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 381941af..104ab767 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1945,7 +1945,7 @@ func_ov000_0208bde4 kind:function(arm,size=0x18) addr:0x0208bdc4 func_ov000_0208bdfc kind:function(arm,size=0x10) addr:0x0208bddc _ZN18UnkStruct_027e0ce019func_ov000_0208be0cE9RefStruct kind:function(arm,size=0x3c) addr:0x0208bdec func_ov000_0208be48 kind:function(arm,size=0x28) addr:0x0208be28 -func_ov000_0208be70 kind:function(arm,size=0x2c) addr:0x0208be50 +_ZN18UnkStruct_027e0ce019func_ov000_0208be70Ev kind:function(arm,size=0x2c) addr:0x0208be50 func_ov000_0208be9c kind:function(arm,size=0x2c) addr:0x0208be7c func_ov000_0208bec8 kind:function(arm,size=0x20) addr:0x0208bea8 _ZN18UnkStruct_027e0ce019func_ov000_0208bee8Ev kind:function(arm,size=0x20) addr:0x0208bec8 @@ -2062,10 +2062,10 @@ func_ov000_0208eb90 kind:function(arm,size=0x104) addr:0x0208eb70 func_ov000_0208ec94 kind:function(arm,size=0x60) addr:0x0208ec74 func_ov000_0208ecf4 kind:function(thumb,size=0x1c) addr:0x0208ecd4 func_ov000_0208ed10 kind:function(thumb,size=0x20) addr:0x0208ecf0 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPc kind:function(thumb,size=0x34) addr:0x0208ed10 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ed30EiiPKc kind:function(thumb,size=0x34) addr:0x0208ed10 func_ov000_0208ed64 kind:function(thumb,size=0xc4) addr:0x0208ed44 func_ov000_0208ee28 kind:function(thumb,size=0x6c) addr:0x0208ee08 -_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPci kind:function(arm,size=0x8c) addr:0x0208ee74 +_ZN21UnkStruct_027e0ce0_1C19func_ov000_0208ee94EiiPKci kind:function(arm,size=0x8c) addr:0x0208ee74 func_ov000_0208ef20 kind:function(arm,size=0x68) addr:0x0208ef00 func_ov000_0208ef88 kind:function(thumb,size=0x34) addr:0x0208ef68 func_ov000_0208efbc kind:function(thumb,size=0x12) addr:0x0208ef9c @@ -2672,15 +2672,15 @@ func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fe80 _ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x0209fe8c _ZN18UnkStruct_027e0cec19func_ov000_0209ff24EiP7VecFx32P7VecFx16i kind:function(arm,size=0x28) addr:0x0209ff04 _ZN18UnkStruct_027e0cec19func_ov000_0209ff4cEiP7VecFx3214UnkAngleStructi kind:function(arm,size=0x40) addr:0x0209ff2c -_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff6c +_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP10UnkSystem7iP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff6c func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x0209ffe0 func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a0080 -_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP22UnkStruct_PlayerGet_eciiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a00b4 +_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP10UnkSystem7iiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a00b4 _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP10UnkSystem7 kind:function(arm,size=0x30) addr:0x020a00f0 _ZN18UnkStruct_027e0cec19func_ov000_020a0140EP10UnkSystem7P7VecFx32 kind:function(arm,size=0xe0) addr:0x020a0120 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a0200 -_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a02b4 -_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a02e4 +_ZN10UnkSystem7D1Ev kind:function(arm,size=0x30) addr:0x020a02b4 +_ZN10UnkSystem7D2Ev kind:function(arm,size=0x30) addr:0x020a02e4 _ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a0314 func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a034c func_ov000_020a038c kind:function(arm,size=0x24) addr:0x020a036c diff --git a/config/usa/arm9/overlays/ov031/delinks.txt b/config/usa/arm9/overlays/ov031/delinks.txt index fe1ec5cd..f1c1c508 100644 --- a/config/usa/arm9/overlays/ov031/delinks.txt +++ b/config/usa/arm9/overlays/ov031/delinks.txt @@ -41,6 +41,7 @@ src/031_Land/Actor/ActorItemBoomerang.cpp: .bss start:0x021164c8 end:0x02116514 src/031_Land/Actor/ActorItemTornado.cpp: + complete .text start:0x020e573c end:0x020e64b8 .init start:0x02111118 end:0x0211118c .ctor start:0x0211278c end:0x02112790 @@ -140,14 +141,15 @@ src/031_Land/Actor/ActorUnkNTTZ.cpp: .init start:0x021115c8 end:0x02111618 .ctor start:0x021127bc end:0x021127c0 .data start:0x021144e4 end:0x02114564 - .bss start:0x02116ae8 end:0x02116b44 + .bss start:0x02116ae8 end:0x02116b34 src/031_Land/Actor/ActorUnkTGTZ.cpp: + complete .text start:0x020f6814 end:0x020f7454 .init start:0x0211163c end:0x021116a0 .ctor start:0x021127c4 end:0x021127c8 .data start:0x02114584 end:0x0211463c - .bss start:0x02116b44 end:0x02116c34 + .bss start:0x02116b34 end:0x02116c34 src/031_Land/Actor/ActorUnkSWCH.cpp: complete @@ -174,18 +176,22 @@ src/031_Land/Actor/ActorUnkNORE.cpp: .bss start:0x02116ccc end:0x02116d18 src/031_Land/Actor/ActorUnkFLEN.cpp: + complete .text start:0x020f8004 end:0x020f82c0 .init start:0x02111790 end:0x021117e0 .ctor start:0x021127d4 end:0x021127d8 .data start:0x02114998 end:0x02114a18 .bss start:0x02116d18 end:0x02116d64 + .rodata start:0x02110b70 end:0x02110b78 src/031_Land/Actor/ActorRollingStone.cpp: + complete .text start:0x020f82c0 end:0x020f9dac .init start:0x021117e0 end:0x02111830 .ctor start:0x021127d8 end:0x021127dc .data start:0x02114a18 end:0x02114b80 .bss start:0x02116d64 end:0x02116e4c + .rodata start:0x02110b78 end:0x02110ba8 src/031_Land/Actor/ActorItemDrop.cpp: complete @@ -197,13 +203,16 @@ src/031_Land/Actor/ActorItemDrop.cpp: .bss start:0x02116e4c end:0x02116f7c src/031_Land/Actor/ActorUnkMLCK.cpp: + complete .text start:0x020fab3c end:0x020fb2ec .init start:0x02111968 end:0x021119dc .ctor start:0x021127e0 end:0x021127e4 .data start:0x02114d08 end:0x02114dfc .bss start:0x02116f7c end:0x02116fc8 + .rodata start:0x02110bcc end:0x02110be0 src/031_Land/Actor/ActorUnkCLLT.cpp: + complete .text start:0x020fb2ec end:0x020fb48c .init start:0x021119dc end:0x02111a2c .ctor start:0x021127e4 end:0x021127e8 diff --git a/config/usa/arm9/overlays/ov031/symbols.txt b/config/usa/arm9/overlays/ov031/symbols.txt index 9d34d2b0..fa1af4d2 100644 --- a/config/usa/arm9/overlays/ov031/symbols.txt +++ b/config/usa/arm9/overlays/ov031/symbols.txt @@ -445,7 +445,7 @@ _ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e5454 _ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e5468 _ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310i kind:function(arm,size=0x30) addr:0x020e5484 _ZN22ActorItemBoomerang_11C8vfunc_0CE9RefStructP24UnkStruct_ov031_020e54d4PK7VecFx32S5_ kind:function(arm,size=0x230) addr:0x020e54b4 -_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e56e4 +_ZN10UnkSystem7C1Ev kind:function(arm,size=0xc) addr:0x020e56e4 _ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e56f0 _ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e570c _ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e5728 @@ -2002,7 +2002,7 @@ data_ov031_02110a10 kind:data(byte[0x18]) addr:0x021109f0 local data_ov031_02110a28 kind:data(byte[0x18]) addr:0x02110a08 local data_ov031_02110a40 kind:data(any) addr:0x02110a20 local data_ov031_02110a60 kind:data(any) addr:0x02110a60 -@8898 kind:data(byte[0xb]) addr:0x02110a68 local +data_ov031_02110a88 kind:data(any) addr:0x02110a68 local data_ov031_02110a78 kind:data(any) addr:0x02110a78 data_ov031_02110a7c kind:data(any) addr:0x02110a7c data_ov031_02110a80 kind:data(any) addr:0x02110a80 @@ -2017,14 +2017,14 @@ data_ov031_02110b4c kind:data(any) addr:0x02110b2c data_ov031_02110b5c kind:data(any) addr:0x02110b3c data_ov031_02110b50 kind:data(any) addr:0x02110b50 data_ov031_02110b60 kind:data(any) addr:0x02110b60 -data_ov031_02110b70 kind:data(any) addr:0x02110b70 -data_ov031_02110b74 kind:data(any) addr:0x02110b74 -data_ov031_02110b78 kind:data(any) addr:0x02110b78 -data_ov031_02110b84 kind:data(any) addr:0x02110b84 -data_ov031_02110b90 kind:data(any) addr:0x02110b90 -data_ov031_02110b9c kind:data(any) addr:0x02110b9c +data_ov031_02110b90 kind:data(any) addr:0x02110b70 local +data_ov031_02110b94 kind:data(any) addr:0x02110b74 local +data_ov031_02110b98 kind:data(any) addr:0x02110b78 local +data_ov031_02110ba4 kind:data(any) addr:0x02110b84 local +data_ov031_02110bb0 kind:data(any) addr:0x02110b90 local +data_ov031_02110bbc kind:data(any) addr:0x02110b9c local data_ov031_02110bc8 kind:data(any) addr:0x02110ba8 local -data_ov031_02110bec kind:data(any) addr:0x02110bcc +data_ov031_02110bec kind:data(any) addr:0x02110bcc local data_ov031_02110be0 kind:data(any) addr:0x02110be0 data_ov031_02110bfc kind:data(any) addr:0x02110bfc data_ov031_02110c08 kind:data(any) addr:0x02110c08 @@ -2360,8 +2360,8 @@ _ZTV19ActorProfileUnkNTTZ kind:data(any) addr:0x021144e4 _ZTV12ActorUnkNTTZ kind:data(any) addr:0x02114508 data_ov031_02114564 kind:data(any) addr:0x02114564 _ZTV19data_ov031_02114574 kind:data(any) addr:0x0211456c -data_ov031_02114584 kind:data(any) addr:0x02114584 -data_ov031_02114588 kind:data(any) addr:0x02114588 +data_ov031_021145a4 kind:data(any) addr:0x02114584 local +@8383 kind:data(byte[7]) addr:0x02114588 local _ZTV19ActorProfileUnkTGTZ kind:data(any) addr:0x02114590 _ZTV24ActorUnkTGTZ_ModelRender kind:data(any) addr:0x021145b4 _ZTV12ActorUnkTGTZ kind:data(any) addr:0x021145e0 @@ -2385,8 +2385,8 @@ _ZTV12ActorUnkFLEN kind:data(any) addr:0x021149bc _ZTV20ActorRollingStone_D4 kind:data(any) addr:0x02114a18 _ZTV21ActorRollingStone_104 kind:data(any) addr:0x02114a34 _ZTV24ActorProfileRollingStone kind:data(any) addr:0x02114a50 -data_ov031_02114a74 kind:data(any) addr:0x02114a74 -data_ov031_02114acc kind:data(any) addr:0x02114acc +data_ov031_02114a94 kind:data(any) addr:0x02114a74 local +data_ov031_02114aec kind:data(any) addr:0x02114acc local _ZTV17ActorRollingStone kind:data(any) addr:0x02114b24 data_ov031_02114ba0 kind:data(any) addr:0x02114b80 local data_ov031_02114bb0 kind:data(any) addr:0x02114b90 local @@ -2398,6 +2398,8 @@ _ZTV25ActorProfileRedPotionDrop kind:data(any) addr:0x02114c60 _ZTV20ActorProfileBombDrop kind:data(any) addr:0x02114c84 _ZTV13ActorItemDrop kind:data(any) addr:0x02114ca8 data_ov031_02114d28 kind:data(any) addr:0x02114d08 local +data_ov031_02114d2c kind:data(any) addr:0x02114d0c local +data_ov031_02114d30 kind:data(any) addr:0x02114d10 local _ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02114d14 _ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02114d2c _ZTV12ActorUnkMLCK kind:data(any) addr:0x02114d50 @@ -2577,11 +2579,11 @@ _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116aac _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116ae8 @10872 kind:bss addr:0x02116aec local _ZN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116af8 -data_ov031_02116b54 kind:bss addr:0x02116b34 +_ZGVN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116b34 data_ov031_02116b58 kind:bss addr:0x02116b38 -data_ov031_02116b44 kind:bss addr:0x02116b44 -data_ov031_02116b50 kind:bss addr:0x02116b50 -data_ov031_02116b5c kind:bss addr:0x02116b5c +data_ov031_02116b64 kind:bss addr:0x02116b44 +@10878 kind:bss addr:0x02116b50 local +_ZN15ProfileInstanceI19ActorProfileUnkTGTZE8sProfileE kind:bss addr:0x02116b5c _ZGVN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x02116c34 @10884 kind:bss addr:0x02116c38 local _ZN15ProfileInstanceI19ActorProfileUnkSWCHE8sProfileE kind:bss addr:0x02116c44 @@ -2591,12 +2593,12 @@ _ZN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02116c90 _ZGVN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116ccc @10896 kind:bss addr:0x02116cd0 local _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cdc -data_ov031_02116d18 kind:bss addr:0x02116d18 -data_ov031_02116d1c kind:bss addr:0x02116d1c -data_ov031_02116d28 kind:bss addr:0x02116d28 -data_ov031_02116d64 kind:bss addr:0x02116d64 -data_ov031_02116d68 kind:bss addr:0x02116d68 -data_ov031_02116d74 kind:bss addr:0x02116d74 +_ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d18 +@10902 kind:bss addr:0x02116d1c local +_ZN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d28 +_ZGVN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d64 +@10908 kind:bss addr:0x02116d68 local +_ZN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d74 _ZGVN15ProfileInstanceI24ActorProfileTreasureDropE8sProfileE kind:bss addr:0x02116e4c _ZGVN15ProfileInstanceI25ActorProfileRedPotionDropE8sProfileE kind:bss addr:0x02116e50 _ZGVN15ProfileInstanceI20ActorProfileBombDropE8sProfileE kind:bss addr:0x02116e54 @@ -2612,9 +2614,9 @@ _ZN15ProfileInstanceI20ActorProfileBombDropE8sProfileE kind:bss addr:0x02116f40 _ZGVN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02116f7c @4770 kind:bss addr:0x02116f80 local _ZN15ProfileInstanceI19ActorProfileUnkMLCKE8sProfileE kind:bss addr:0x02116f8c -data_ov031_02116fc8 kind:bss addr:0x02116fc8 -data_ov031_02116fcc kind:bss addr:0x02116fcc -data_ov031_02116fd8 kind:bss addr:0x02116fd8 +_ZGVN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116fc8 +@5315 kind:bss addr:0x02116fcc local +_ZN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116fd8 _ZGVN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117014 @10932 kind:bss addr:0x02117018 local _ZN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117024 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 8523ca9a..516204fc 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -155,7 +155,7 @@ public: void Destroy() { for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_00; ptr != &this->mUnk_00[ARRAY_LEN(this->mUnk_00)]; ++ptr) { - ptr->func_ov000_020a0334(); + ptr->mUnk_00.func_ov000_020a0334(); } this->mUnk_08.Init(); diff --git a/include/Actor/ActorItemBoomerang.hpp b/include/Actor/ActorItemBoomerang.hpp index 997ffa04..2d655266 100644 --- a/include/Actor/ActorItemBoomerang.hpp +++ b/include/Actor/ActorItemBoomerang.hpp @@ -23,7 +23,6 @@ public: /* 10 */ void func_ov031_020e45fc(); - void func_ov031_020e5704(); }; class ActorItemBoomerang_11C : public UnkStruct_ov031_Items_00 { @@ -73,7 +72,7 @@ public: /* 118 */ unk32 mUnk_118; /* 11C */ ActorItemBoomerang_11C mUnk_11C; /* 128 */ u32 mUnk_128; - /* 12C */ UnkStruct_PlayerGet_ec mUnk_12C[0x3]; + /* 12C */ UnkSystem7 mUnk_12C[0x3]; /* 138 */ Timer mUnk_138; /* 13C */ u16 mUnk_13C; /* 13E */ PAD(0x13E, 0x140); diff --git a/include/Actor/ActorItemTornado.hpp b/include/Actor/ActorItemTornado.hpp index 34757c7f..64da6b3e 100644 --- a/include/Actor/ActorItemTornado.hpp +++ b/include/Actor/ActorItemTornado.hpp @@ -60,7 +60,7 @@ public: /* 1D6 */ u16 mUnk_1D6; /* 1D8 */ unk32 mUnk_1D8; /* 1DC */ fx32 mUnk_1DC; - /* 1E0 */ UnkStruct_PlayerGet_ec mUnk_1E0[0x3]; + /* 1E0 */ UnkSystem7 mUnk_1E0[0x3]; /* 1EC */ ActorItemTornado(); diff --git a/include/Actor/ActorRollingStone.hpp b/include/Actor/ActorRollingStone.hpp index 5187d786..de7429a9 100644 --- a/include/Actor/ActorRollingStone.hpp +++ b/include/Actor/ActorRollingStone.hpp @@ -8,6 +8,7 @@ #include "Render/ModelRender.hpp" #include "Unknown/UnkStruct_ov031_Items.hpp" #include "global.h" +#include "nitro/fx.h" #include "types.h" enum ActorRollingStoneState_ { @@ -22,7 +23,7 @@ enum ActorRollingStoneState_ { ActorRollingStoneState_8 = 8, ActorRollingStoneState_9 = 9, ActorRollingStoneState_10 = 10, - ActorRollingStoneState_MAX + ActorRollingStoneState_Max }; class ActorRollingStone; @@ -64,7 +65,7 @@ public: /* 108 */ u16 mUnk_108; /* 10A */ PAD(0x10A, 0x10C); /* 10C */ MtxFx33 mUnk_10C; - /* 130 */ UnkStruct_PlayerGet_ec mUnk_130[0x2]; + /* 130 */ UnkSystem7 mUnk_130[0x2]; /* 138 */ unk16 mUnk_138; /* 13C */ Cylinder mUnk_13C; /* 14C */ unk32 mUnk_14C; diff --git a/include/Actor/ActorUnkEFIK.hpp b/include/Actor/ActorUnkEFIK.hpp index 730efe3c..a95c7a41 100644 --- a/include/Actor/ActorUnkEFIK.hpp +++ b/include/Actor/ActorUnkEFIK.hpp @@ -6,11 +6,15 @@ #include "global.h" #include "types.h" +class ActorUnkEFIK_98 : public UnkSystem7 { +public: +}; + class ActorUnkEFIK : public Actor { public: /* 00 (base) */ /* 94 */ unk32 mUnk_94; - /* 98 */ UnkSystem7 mUnk_98; + /* 98 */ ActorUnkEFIK_98 mUnk_98; /* 9C */ unk32 mUnk_9C; /* A0 */ unk32 mUnk_A0; diff --git a/include/Actor/ActorUnkTGTZ.hpp b/include/Actor/ActorUnkTGTZ.hpp index 84deb49b..e8f9f9cc 100644 --- a/include/Actor/ActorUnkTGTZ.hpp +++ b/include/Actor/ActorUnkTGTZ.hpp @@ -48,13 +48,13 @@ public: /* 30 */ virtual void vfunc_2C(unk32 param1) override; /* 34 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override; - void func_ov031_020f6984(); - static void func_ov031_020f6e5c(RefStruct param1); - static void func_ov031_020f6ea8(RefStruct *param0, u16 param1, const VecFx32 *param2, s16 param3, u16 param4); void func_ov031_020f6f20(unk32 param1); void func_ov031_020f7358(); void func_ov031_020f73e4(); void func_ov031_020f73f0(); + + static void func_ov031_020f6e5c(RefStruct param1); + static void func_ov031_020f6ea8(RefStruct *param0, u16 param1, const VecFx32 *param2, s16 param3, u16 param4); }; class ActorProfileUnkTGTZ : public ActorProfile_Derived1 { diff --git a/include/RefStruct.hpp b/include/RefStruct.hpp index 55c0dcc3..59f61d65 100644 --- a/include/RefStruct.hpp +++ b/include/RefStruct.hpp @@ -84,6 +84,18 @@ struct ActorRef { return ret; } + const bool UnkCheck2Alt() { + bool ret = false; + + if (((s32) this->type_index == REF_TYPE_INDEX(ActorRefType_0, 0x100) || + this->type_index == REF_TYPE_INDEX(ActorRefType_0, 0x101)) && + this->GetTypeIndex1() == 0x01) { + ret = true; + } + + return ret; + } + const bool UnkCheck3(u16 value) { BOOL ret = false; diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index a64be2c0..4c8e1c76 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -215,7 +215,7 @@ public: struct UnkStruct_ov019_020d24c8_28_258_00 { /* 00 */ void *mUnk_00; /* 04 */ unk32 mUnk_04; - /* 0C */ + /* 08 */ UnkStruct_ov019_020d24c8_28_258_00() {} @@ -1022,15 +1022,16 @@ public: /* 00 */ UnkSystem7_UnkStruct_00 *mUnk_00; /* 04 */ + WEAK UnkSystem7() { + this->mUnk_00 = NULL; + } + UnkSystem7(UnkSystem7_UnkStruct_00 *param1) { this->mUnk_00 = param1; } - ~UnkSystem7() { - this->func_ov000_020a0304(); - } + ~UnkSystem7(); - void func_ov000_020a0304(void); void func_ov000_020a0334(); }; @@ -1047,16 +1048,15 @@ public: mUnk_08(param3) {} }; -class UnkStruct_PlayerGet_ec : public UnkSystem7 { +class UnkStruct_PlayerGet_ec { public: - /* 00 (base) */ + /* 00 */ UnkSystem7 mUnk_00; /* 04 */ UnkStruct_PlayerGet_ec(UnkSystem7_UnkStruct_00 *param1) : - UnkSystem7(param1) {} + mUnk_00(param1) {} UnkStruct_PlayerGet_ec(); - ~UnkStruct_PlayerGet_ec(); }; class UnkActorSystem2 : public GameModeManagerBase_104 { diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index dd8cf7f3..f3d43984 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -96,8 +96,8 @@ public: ~UnkStruct_027e0ce0_1C(); // overlay 0 - G3d_Model *func_ov000_0208ed30(unk32 param1, unk32 param2, char *param3); - UnkStruct_ov000_02058a84 *func_ov000_0208ee94(unk32 param1, unk32 param2, char *param3, unk32 param4); + G3d_Model *func_ov000_0208ed30(unk32 param1, unk32 param2, const char *param3); + UnkStruct_ov000_02058a84 *func_ov000_0208ee94(unk32 param1, unk32 param2, const char *param3, unk32 param4); // overlay 1 void func_ov001_020bccec(); @@ -936,7 +936,7 @@ public: void func_ov000_0208bd20(bool param1, unk32 param2, unk32 param3); void func_ov000_0208bd30(bool param1, unk32 param2, unk32 param3, unk32 param4); bool func_ov000_0208be0c(RefStruct param1); - bool func_ov000_0208be70(VecFx32 param1); + bool func_ov000_0208be70(); bool func_ov000_0208bee8(); bool func_ov000_0208bf34(unk32 param1); diff --git a/include/Unknown/UnkStruct_027e0cec.hpp b/include/Unknown/UnkStruct_027e0cec.hpp index 70eda0e5..f7cb675b 100644 --- a/include/Unknown/UnkStruct_027e0cec.hpp +++ b/include/Unknown/UnkStruct_027e0cec.hpp @@ -122,10 +122,9 @@ public: // overlay 0 void func_ov000_0209feac(unk32 param1, VecFx32 *param2, unk32 param3, unk32 param4, unk32 param5); void func_ov000_0209ff24(unk32 param1, VecFx32 *param2, VecFx16 *param3, unk32 param4); - void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, VecFx32 *param3, unk32 param4); - void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5); - void func_ov000_020a00d4(UnkStruct_PlayerGet_ec *param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5, - unk32 param6); + void func_ov000_0209ff8c(UnkSystem7 *param1, unk32 param2, VecFx32 *param3, unk32 param4); + void func_ov000_020a0000(UnkSystem7 *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5); + void func_ov000_020a00d4(UnkSystem7 *param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5, unk32 param6); void func_ov000_020a0110(UnkSystem7 *param1); void func_ov000_020a0140(UnkSystem7 *param1, VecFx32 *param2); void func_ov000_020a0220(void *param1, void *param2); diff --git a/include/global.h b/include/global.h index 34121cf3..39024f78 100644 --- a/include/global.h +++ b/include/global.h @@ -41,12 +41,10 @@ #define DF_CONCAT3(a, b, c) DF_CONCAT3_(a, b, c) #define DF_UNIQUE_IDENT(ident_) DF_CONCAT3(ident_, _, __LINE__) -// sometimes we need something in .bss -// to force things in .data to align properly -#define DATA_ALIGN_FIX() int DF_UNIQUE_IDENT(__data_align_fix) - -// for cases where `DATA_ALIGN_FIX` doesn't work -#define DATA_ALIGN_FIX2() \ +// sometimes we need dummy variables to force a section to align properly +#define DUMMY_BSS() int DF_UNIQUE_IDENT(__data_align_fix) +#define DUMMY_DATA(n) char DF_UNIQUE_IDENT(__data_align_fix)[n] = {1} +#define DUMMY_RODATA() \ static const int DF_UNIQUE_IDENT(__data_align_fix) = 0; \ void DF_UNIQUE_IDENT(__data_align_fix_func)() { \ *(int *) &DF_UNIQUE_IDENT(__data_align_fix) = 0; \ diff --git a/src/000_Second/Actor/ActorUnkEFIK.cpp b/src/000_Second/Actor/ActorUnkEFIK.cpp index c2a79f63..f9f0e495 100644 --- a/src/000_Second/Actor/ActorUnkEFIK.cpp +++ b/src/000_Second/Actor/ActorUnkEFIK.cpp @@ -16,13 +16,14 @@ Actor *ActorProfileUnkEFIK::Create() { ActorProfileUnkEFIK::ActorProfileUnkEFIK() : ActorProfile(ActorId_EFIK) {} -ActorUnkEFIK::ActorUnkEFIK() : - mUnk_98(NULL) { +ActorUnkEFIK::ActorUnkEFIK() { this->mUnk_9C = -1; this->mUnk_A0 = 0; } bool ActorUnkEFIK::Init(unk32 param1) { +#pragma unused(param1) + this->mUnk_9C = 0x86F; this->mUnk_A0 = 4; this->mUnk_98.func_ov000_020a0334(); diff --git a/src/001_SceneInit/UnkStruct_027e0cec_001.cpp b/src/001_SceneInit/UnkStruct_027e0cec_001.cpp index 1c842344..997742bd 100644 --- a/src/001_SceneInit/UnkStruct_027e0cec_001.cpp +++ b/src/001_SceneInit/UnkStruct_027e0cec_001.cpp @@ -8,7 +8,7 @@ #include -DATA_ALIGN_FIX2(); +DUMMY_RODATA(); enum EffectPathIndex_ { EffectPathIndex_Dungeon1 = 0, diff --git a/src/017_CourseExec/Player/PlayerLinkActor_017.cpp b/src/017_CourseExec/Player/PlayerLinkActor_017.cpp index 406b4438..92fb3b73 100644 --- a/src/017_CourseExec/Player/PlayerLinkActor_017.cpp +++ b/src/017_CourseExec/Player/PlayerLinkActor_017.cpp @@ -271,7 +271,7 @@ void PlayerLinkActor::func_ov017_020bdd84(void *param1, unk32 param2) { PlayerLinkActor_134 *temp_r1 = this->mUnk_134; if (temp_r1->mUnk_04 > 0) { - UnkSystem7_UnkStruct_00 *temp_r0 = temp_r1->mUnk_00.mUnk_00; + UnkSystem7_UnkStruct_00 *temp_r0 = temp_r1->mUnk_00.mUnk_00.mUnk_00; if (temp_r0 != NULL) { temp_r0->mUnk_28.x = sp10.x + temp_r0->mUnk_20->mUnk_00->mUnk_04.x; diff --git a/src/024_MainGame/Train/UnkStruct_027e0d00_20.cpp b/src/024_MainGame/Train/UnkStruct_027e0d00_20.cpp index 80ab014f..d12c3cac 100644 --- a/src/024_MainGame/Train/UnkStruct_027e0d00_20.cpp +++ b/src/024_MainGame/Train/UnkStruct_027e0d00_20.cpp @@ -21,7 +21,7 @@ static const char *data_ov024_020d8484[] = { "lord", "wood", "iron", "bone", "euro", "fest", "cute", "gold", }; -DATA_ALIGN_FIX(); +DUMMY_BSS(); void UnkStruct_027e0d00_20::func_ov024_020d4e9c(wchar_t *param1, unk32 param2, bool param3) { const char *fileExt = param3 ? data_ov000_020aa24c : data_ov000_020aa244; diff --git a/src/031_Land/Actor/ActorItemBoomerang.cpp b/src/031_Land/Actor/ActorItemBoomerang.cpp index 38f96ea6..d249f586 100644 --- a/src/031_Land/Actor/ActorItemBoomerang.cpp +++ b/src/031_Land/Actor/ActorItemBoomerang.cpp @@ -263,8 +263,8 @@ void ActorItemBoomerang::func_ov031_020e5034(unk32 param1) { if (this->mUnk_128 == param1) { return; } - this->mUnk_128 = param1; - UnkStruct_PlayerGet_ec *ptr = NULL; + this->mUnk_128 = param1; + UnkSystem7 *ptr = NULL; switch (this->mUnk_128) { case 0x1: @@ -329,7 +329,7 @@ void ActorItemBoomerang::func_ov031_020e5220() { void ActorItemBoomerang::func_ov031_020e52a0() { if (!(this->mUnk_128 != 0x1 && this->mUnk_128 != 0x2)) { - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_12C; ptr != this->mUnk_12C + 0x3; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_12C; ptr != &this->mUnk_12C[ARRAY_LEN(this->mUnk_12C)]; ++ptr) { UnkSystem7_UnkStruct_00 *data = ptr->mUnk_00; if (data != NULL) { @@ -339,7 +339,7 @@ void ActorItemBoomerang::func_ov031_020e52a0() { } } } else { - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_12C; ptr != this->mUnk_12C + 0x3; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_12C; ptr != &this->mUnk_12C[ARRAY_LEN(this->mUnk_12C)]; ++ptr) { ptr->func_ov000_020a0334(); } } @@ -456,10 +456,6 @@ bool ActorItemBoomerang_11C::vfunc_0C(RefStruct ref, UnkStruct_ov031_020e54d4 *p return this->UnkStruct_027e0ce0_38_Base::vfunc_0C(ref, param2, param3, param4); } -void ActorItemBoomerang_Unknown::func_ov031_020e5704() { - this->mUnk_00 = 0; -} - ActorItemBoomerang::~ActorItemBoomerang() { if (data_027e0d2c) { data_027e0d2c->func_ov031_020d95b4(); diff --git a/src/031_Land/Actor/ActorItemTornado.cpp b/src/031_Land/Actor/ActorItemTornado.cpp index 0fe3c46e..51adf4f6 100644 --- a/src/031_Land/Actor/ActorItemTornado.cpp +++ b/src/031_Land/Actor/ActorItemTornado.cpp @@ -14,10 +14,9 @@ #include "math.hpp" #include "nitro/fx.h" #include "nitro/math.h" +#include "nitro/types.h" -#pragma readonly_strings on - -extern char *data_ov031_02110a88; +static const char data_ov031_02110a88[16] = "ef_tsumuji"; static const Cylinder data_ov031_02112fdc(0, 0xD9A, 0, 0xCCD); @@ -75,9 +74,9 @@ ActorProfileItemTornado::ActorProfileItemTornado() : // non-matching ActorItemTornado::ActorItemTornado() : - mUnk_94(data_027e0ce0->mUnk_1C->func_ov000_0208ed30(0x0, 0x1, "ef_tsumuji")), - mUnk_F4(data_027e0ce0->mUnk_1C->func_ov000_0208ee94(0x00, 0x01, "ef_tsumuji", 0x00), this->mUnk_94.mpModel), - mUnk_134(data_027e0ce0->mUnk_1C->func_ov000_0208ee94(0x00, 0x01, "ef_tsumuji", 0x02), this->mUnk_94.mpModel), + mUnk_94(data_027e0ce0->mUnk_1C->func_ov000_0208ed30(0x0, 0x1, data_ov031_02110a88)), + mUnk_F4(data_027e0ce0->mUnk_1C->func_ov000_0208ee94(0x00, 0x01, data_ov031_02110a88, 0x00), this->mUnk_94.mpModel), + mUnk_134(data_027e0ce0->mUnk_1C->func_ov000_0208ee94(0x00, 0x01, data_ov031_02110a88, 0x02), this->mUnk_94.mpModel), mUnk_174(this), mUnk_17C((UnkStruct_ov000_0208f820 *) this), //! TODO: conflicting type mUnk_1C0(0, 0, 0), @@ -125,7 +124,7 @@ void ActorItemTornado::SetState(ActorState state) { case ActorItemTornadoState_2: data_027e09a8->func_ov000_02071b30(0x8D6D, &this->mPos, 0x0); - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_1E0; ptr != this->mUnk_1E0 + 0x3; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_1E0; ptr != &this->mUnk_1E0[ARRAY_LEN(this->mUnk_1E0)]; ++ptr) { ptr->func_ov000_020a0334(); } @@ -172,7 +171,7 @@ void ActorItemTornado::func_ov031_020e5d18(unk32 param1) { case ActorItemTornadoState_1: data_027e09a8->func_ov000_02071d34(&this->mRef, 0x8D6C, &this->mPos, 0x0); - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_1E0; ptr != this->mUnk_1E0 + 0x3; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_1E0; ptr != &this->mUnk_1E0[ARRAY_LEN(this->mUnk_1E0)]; ++ptr) { UnkSystem7_UnkStruct_00 *data = ptr->mUnk_00; if (data != NULL) { diff --git a/src/031_Land/Actor/ActorRollingStone.cpp b/src/031_Land/Actor/ActorRollingStone.cpp index f6126e6b..785449ca 100644 --- a/src/031_Land/Actor/ActorRollingStone.cpp +++ b/src/031_Land/Actor/ActorRollingStone.cpp @@ -10,30 +10,20 @@ #include "Unknown/UnkStruct_027e0cec.hpp" #include "Unknown/UnkStruct_027e0d38.hpp" #include "Unknown/UnkStruct_027e0d8c.hpp" +#include "global.h" +#include "nitro/fx.h" +#include "nitro/math.h" +#include "nitro/types.h" extern MtxFx33 data_027e0130; extern unk32 data_ov000_020aecf8; -extern VecFx32 data_ov031_02110b98; -extern VecFx32 data_ov031_02110ba4; -extern VecFx32 data_ov031_02110bb0; -extern VecFx32 data_ov031_02110bbc; +static const VecFx32 data_ov031_02110bbc = {0xB50, 0, 0xB50}; +static const VecFx32 data_ov031_02110b98 = {0xB50, 0, -0xB50}; +static const VecFx32 data_ov031_02110bb0 = {0xB50, 0, 0xB50}; +static const VecFx32 data_ov031_02110ba4 = {0xB50, 0, -0xB50}; -static PTMF data_ov031_02114aec[0xB] = { - &ActorRollingStone::func_ov031_020f89f4, // ActorRollingStoneState_0 - &ActorRollingStone::func_ov031_020f8a2c, // ActorRollingStoneState_1 - &ActorRollingStone::func_ov031_020f8a3c, // ActorRollingStoneState_2 - &ActorRollingStone::func_ov031_020f8b58, // ActorRollingStoneState_3 - &ActorRollingStone::func_ov031_020f9250, // ActorRollingStoneState_4 - &ActorRollingStone::func_ov031_020f9340, // ActorRollingStoneState_5 - &ActorRollingStone::func_ov031_020f8ed4, // ActorRollingStoneState_6 - &ActorRollingStone::func_ov031_020f8f10, // ActorRollingStoneState_7 - &ActorRollingStone::func_ov031_020f9018, // ActorRollingStoneState_8 - &ActorRollingStone::func_ov031_020f916c, // ActorRollingStoneState_9 - &ActorRollingStone::func_ov031_020f9494, // ActorRollingStoneState_10 -}; - -static PTMF data_ov031_02114a94[0xB] = { +static PTMF data_ov031_02114a94[ActorRollingStoneState_Max] = { &ActorRollingStone::func_ov031_020f8a04, // ActorRollingStoneState_0 &ActorRollingStone::func_ov031_020f8a38, // ActorRollingStoneState_1 &ActorRollingStone::func_ov031_020f8a58, // ActorRollingStoneState_2 @@ -47,6 +37,20 @@ static PTMF data_ov031_02114a94[0xB] = { &ActorRollingStone::func_ov031_020f9554, // ActorRollingStoneState_10 }; +static PTMF data_ov031_02114aec[ActorRollingStoneState_Max] = { + &ActorRollingStone::func_ov031_020f89f4, // ActorRollingStoneState_0 + &ActorRollingStone::func_ov031_020f8a2c, // ActorRollingStoneState_1 + &ActorRollingStone::func_ov031_020f8a3c, // ActorRollingStoneState_2 + &ActorRollingStone::func_ov031_020f8b58, // ActorRollingStoneState_3 + &ActorRollingStone::func_ov031_020f9250, // ActorRollingStoneState_4 + &ActorRollingStone::func_ov031_020f9340, // ActorRollingStoneState_5 + &ActorRollingStone::func_ov031_020f8ed4, // ActorRollingStoneState_6 + &ActorRollingStone::func_ov031_020f8f10, // ActorRollingStoneState_7 + &ActorRollingStone::func_ov031_020f9018, // ActorRollingStoneState_8 + &ActorRollingStone::func_ov031_020f916c, // ActorRollingStoneState_9 + &ActorRollingStone::func_ov031_020f9494, // ActorRollingStoneState_10 +}; + DECL_PROFILE(ActorProfileRollingStone); Actor *ActorProfileRollingStone::Create() { @@ -58,9 +62,18 @@ ActorProfileRollingStone::ActorProfileRollingStone() : this->mUnk_04.Init(FX_F32_TO_FX32(0.8f)); } -// non-matching bool ActorRollingStone_104::vfunc_0C(RefStruct ref, UnkStruct_ov031_020e54d4 *param2, const VecFx32 *param3, - const VecFx32 *param4) {} + const VecFx32 *param4) { +#pragma unused(param2, param3, param4) + + bool var_r2 = true; + + if (!ref.acRef.UnkCheck2Alt() && !ref.acRef.UnkCheck3(0x102)) { + var_r2 = false; + } + + return !var_r2; +} bool ActorRollingStone_104::vfunc_10(RefStruct param1, unk32 param2) { if (param1.common.type != 0x0) { @@ -111,6 +124,8 @@ ActorRollingStone::ActorRollingStone() : } bool ActorRollingStone::Init(unk32 param1) { +#pragma unused(param1) + this->mUnk_13C.Init(FX_F32_TO_FX32(0.8f)); if (data_027e09a4->mUnk_00.sceneIndex == SceneIndex_f_flame) { @@ -270,12 +285,17 @@ void ActorRollingStone::func_ov031_020f8b58() { this->func_ov031_020f9af4(); } -// non-matching void ActorRollingStone::func_ov031_020f8bc4() { + VecFx32 sp38; + Cylinder sp28; + UnkStruct_ov000_0207de98 sp14; + + STACK_PAD(4); + this->mUnk_3C = &this->mUnk_AC; this->func_ov031_020f9af8(); - ActorRollingStone_104 spC = ActorRollingStone_104(); + ActorRollingStone_104 spC; this->func_ov000_02098910(&spC, 0x10); if ((this->mUnk_46 & 0x1C) != 0x0 || (this->mUnk_46 & 0x80) != 0x0) { @@ -289,35 +309,27 @@ void ActorRollingStone::func_ov031_020f8bc4() { } this->func_ov031_020f8de8(); - VecFx32 sp38; - unk16 sinValue = SIN((u16) this->mAngle.angle_s); - unk16 cosValue = COS((u16) this->mAngle.angle_s); - sp38.x = FX_MUL(sinValue, FX_F32_TO_FX32(1.0f)); - sp38.z = FX_MUL(cosValue, FX_F32_TO_FX32(1.0f)); + sp38.x = FX_MUL(SIN((u16) this->mAngle.angle_s), FX_F32_TO_FX32(1.0f)); + sp38.z = FX_MUL(COS((u16) this->mAngle.angle_s), FX_F32_TO_FX32(1.0f)); sp38.y = FX_F32_TO_FX32(0.0f); - Cylinder sp28; this->vfunc_10(&sp28); - - sp28.pos.z += FX_F32_TO_FX32(0.05f); + sp28.size += FX_F32_TO_FX32(0.05f); if (data_027e09c0->func_ov000_0207e458(0x2, 0x1B, &sp28.pos, 0x2, &sp38, this->mRef)) { return; } - this->func_ov000_02098ab4(0x2, 0x5, 0x1, &this->mVel); + this->func_ov000_02098ab4(0x2, 0x5, 0x1, &this->mVel); this->vfunc_10(&this->mUnk_D4.mUnk_0C); - VecFx32 sp14; - VecFx32_Copy(&this->mPos, &sp14); - data_027e09c0->func_ov000_0207e58c(this->mRef, 0xB, 0x4, &this->mUnk_D4); - UnkStruct_ov000_0207de98 param; - VecFx32_Copy(&this->mPos, ¶m.vec); - param.param1 = 0xB33; - param.param2 = 0x1000; - data_027e09c0->func_ov000_0207de98(this->mRef, ¶m, this->mUnk_38); + + VecFx32_Copy(&this->mPos, &sp14.vec); + sp14.param1 = 0xB33; + sp14.param2 = 0x1000; + data_027e09c0->func_ov000_0207de98(this->mRef, &sp14, this->mUnk_38); } void ActorRollingStone::func_ov031_020f8de8() { @@ -361,7 +373,7 @@ void ActorRollingStone::func_ov031_020f8de8() { } void ActorRollingStone::func_ov031_020f8ed4() { - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != this->mUnk_130 + 0x2; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_130; ptr != &this->mUnk_130[ARRAY_LEN(this->mUnk_130)]; ++ptr) { ptr->func_ov000_020a0334(); } this->func_ov031_020f8880(); @@ -369,10 +381,9 @@ void ActorRollingStone::func_ov031_020f8ed4() { void ActorRollingStone::func_ov031_020f8f0c() {} -// non-matching void ActorRollingStone::func_ov031_020f8f10() { - this->mUnk_2C = 0x0; this->mUnk_158 = false; + this->mUnk_2C = 0x0; this->mUnk_150.Set(0, this->mUnk_5C.mParams[1]); } @@ -490,7 +501,7 @@ void ActorRollingStone::func_ov031_020f9250() { this->vfunc_40(); this->mUnk_2C = 0x0; - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != this->mUnk_130 + 0x2; ++ptr) { + for (UnkSystem7 *ptr = this->mUnk_130; ptr != &this->mUnk_130[ARRAY_LEN(this->mUnk_130)]; ++ptr) { ptr->func_ov000_020a0334(); } @@ -603,12 +614,17 @@ void ActorRollingStone::func_ov031_020f9494() { VecFx32_Copy(&this->mPos, &this->mPrevPos); } -// non-matching void ActorRollingStone::func_ov031_020f9554() { + VecFx32 sp38; + Cylinder sp28; + UnkStruct_ov000_0207de98 unk; + + STACK_PAD(4); + this->mUnk_3C = &this->mUnk_AC; this->func_ov031_020f9af8(); - ActorRollingStone_104 spC = ActorRollingStone_104(); + ActorRollingStone_104 spC; this->func_ov000_02098910(&spC, 0x10); if ((this->mUnk_46 & 0x1C) != 0x0 || (this->mUnk_46 & 0x80) != 0x0) { @@ -616,46 +632,37 @@ void ActorRollingStone::func_ov031_020f9554() { this->SetState(ActorRollingStoneState_6); return; } - } else if ((this->mUnk_46 & 0x1) == 0x0) { + } else if ((this->mUnk_46 & 0x01) == 0x0) { this->SetState(ActorRollingStoneState_5); return; } this->func_ov031_020f8de8(); - VecFx32 sp38; - unk16 sinValue = SIN((u16) this->mAngle.angle_s); - unk16 cosValue = COS((u16) this->mAngle.angle_s); - - sp38.x = FX_MUL(sinValue, FX_F32_TO_FX32(0.25f)); + sp38.x = FX_MUL(SIN((u16) this->mAngle.angle_s), FX_F32_TO_FX32(1.0f)); + sp38.z = FX_MUL(COS((u16) this->mAngle.angle_s), FX_F32_TO_FX32(1.0f)); sp38.y = FX_F32_TO_FX32(0.0f); - sp38.z = FX_MUL(cosValue, FX_F32_TO_FX32(0.25f)); - Cylinder sp28; this->vfunc_10(&sp28); - - sp28.pos.z += FX_F32_TO_FX32(0.05f); + sp28.size += FX_F32_TO_FX32(0.05f); if (data_027e09c0->func_ov000_0207e458(0x2, 0x1B, &sp28.pos, 0x2, &sp38, this->mRef)) { return; } - this->func_ov000_02098ab4(0x2, 0x5, 0x1, 0x0); + this->func_ov000_02098ab4(0x2, 0x5, 0x1, 0x0); this->vfunc_10(&this->mUnk_D4.mUnk_0C); data_027e09c0->func_ov000_0207e58c(this->mRef, 0xB, 0x4, &this->mUnk_D4); - UnkStruct_ov000_0207de98 unk; VecFx32_Copy(&this->mPos, &unk.vec); unk.param1 = 0xB33; unk.param2 = 0x1000; data_027e09c0->func_ov000_0207de98(this->mRef, &unk, this->mUnk_38); VecFx32_Copy(&this->mPos, &this->mPrevPos); - this->mUnk_15C.func_ov024_020d69d8(&this->mPos, &this->mAngle.angle_s, &this->mVel, 0x1AE, 0xE39, 0x1AE); VecFx32_Add(&this->mPos, &this->mVel, &this->mPos); - this->func_ov031_020f98e4(); } @@ -747,13 +754,13 @@ void ActorRollingStone::func_ov031_020f98e4() { void ActorRollingStone::func_ov031_020f9af4() {} -// non-matching void ActorRollingStone::func_ov031_020f9af8() { - const fx32 y = this->mPos.y + FX_F32_TO_FX32(0.4f); - const fx32 x = this->mPos.x; - const fx32 z = this->mPos.z; + UnkSystem7 *ptr; + fx32 x = this->mPos.x; + fx32 y = this->mPos.y + FX_F32_TO_FX32(0.4f); + fx32 z = this->mPos.z; - for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != this->mUnk_130 + 0x2; ++ptr) { + for (ptr = this->mUnk_130; ptr != &this->mUnk_130[ARRAY_LEN(this->mUnk_130)]; ptr++) { UnkSystem7_UnkStruct_00 *data = ptr->mUnk_00; if (data != NULL) { @@ -766,15 +773,22 @@ void ActorRollingStone::func_ov031_020f9af8() { data_027e09a8->func_ov000_02071d34(&this->mRef, 0x989F, &this->mPos, 0x0); } -// non-matching bool ActorRollingStone::func_ov031_020f9ba4() { + VecFx32 sp18; + VecFx32 spC; + VecFx32 sp0; + if (!data_027e0ce0->func_01fff1a4()) { VecFx32 *pVec = data_027e0ce0->func_01fff148(0x0); - VecFx32 sp18; - sp18.x = this->mPos.x - pVec->x; - sp18.y = this->mPos.y - pVec->y; - sp18.z = this->mPos.z - pVec->z; + VecFx32 temp; + temp.x = this->mPos.x - pVec->x; + temp.z = this->mPos.z - pVec->z; + temp.y = this->mPos.y - pVec->y; + + sp18.x = temp.x; + sp18.y = temp.y; + sp18.z = temp.z; return VecFx32_Length(&sp18) > FX_F32_TO_FX32(8.0f); } @@ -782,22 +796,29 @@ bool ActorRollingStone::func_ov031_020f9ba4() { VecFx32 *pVec1 = data_027e0ce0->func_01fff148(0x0); VecFx32 *pVec2 = data_027e0ce0->func_01fff148(0x1); - VecFx32 sp18; - sp18.x = this->mPos.x - pVec1->x; - sp18.y = this->mPos.y - pVec1->y; - sp18.z = this->mPos.z - pVec1->z; + fx32 new_var; - fx32 x = this->mPos.x - pVec2->x; - fx32 y = this->mPos.y - pVec2->y; - fx32 z = this->mPos.z - pVec2->z; + VecFx32 temp2; + VecFx32 temp3; - if (data_027e0ce0->func_ov000_0208be70(sp18)) { - sp18.x = x; - sp18.y = y; - sp18.z = z; + temp2.x = this->mPos.x - pVec1->x; + new_var = this->mPos.z; + temp2.z = pVec1->z; + spC.y = this->mPos.y - pVec1->y; + temp2.z = new_var - temp2.z; + temp3.z = new_var - pVec2->z; + spC.x = temp2.x; + temp3.y = this->mPos.y - pVec2->y; + temp3.x = this->mPos.x - pVec2->x; + spC.z = temp2.z; + + sp0 = spC; + + if (data_027e0ce0->func_ov000_0208be70()) { + VecFx32_Copy(&temp3, &sp0); } - return VecFx32_Length(&sp18) > FX_F32_TO_FX32(8.0f); + return VecFx32_Length(&sp0) > FX_F32_TO_FX32(8.0f); } void ActorRollingStone::func_ov031_020f9cc0() { diff --git a/src/031_Land/Actor/ActorRupee.cpp b/src/031_Land/Actor/ActorRupee.cpp index 1cf5da8a..3e974f4e 100644 --- a/src/031_Land/Actor/ActorRupee.cpp +++ b/src/031_Land/Actor/ActorRupee.cpp @@ -454,7 +454,7 @@ void ActorRupee::func_ov031_020e9638() { if (this->mUnk_5C.mParams[1] == 2) { this->mUnk_4A[0] = 1; - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_F0, 0xD00C, &this->mPos, 2); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_F0.mUnk_00, 0xD00C, &this->mPos, 2); } else { this->mUnk_4A[0] = 0; } @@ -521,7 +521,7 @@ void ActorRupee::func_ov031_020e9838() { func_ov031_0210b0e4(sp2, 0); func_ov031_0210acd4(sp2); func_ov031_0210acd4(sp2); - data_027e0cec->func_ov000_020a0110(&this->mUnk_F0); + data_027e0cec->func_ov000_020a0110(&this->mUnk_F0.mUnk_00); } void ActorRupee::func_ov031_020e98c4() { diff --git a/src/031_Land/Actor/ActorUnkCLLT.cpp b/src/031_Land/Actor/ActorUnkCLLT.cpp index 449a4e2a..ad349b6b 100644 --- a/src/031_Land/Actor/ActorUnkCLLT.cpp +++ b/src/031_Land/Actor/ActorUnkCLLT.cpp @@ -28,18 +28,22 @@ void ActorUnkCLLT::vfunc_5C() { this->vfunc_60(ActorUnkCLLTState_5); } -// non-matching void ActorUnkCLLT::vfunc_60(ActorState state) { if (state == ActorUnkCLLTState_1) { - Actor *actor = func_ov031_020e3df8(); + Actor *actor = this->func_ov031_020e3df8(); + if (actor != NULL) { - this->mUnk_9C.mUnk_2C = actor->mRef; - this->mUnk_9C.mUnk_30 = this->mRef; + u32 actorRef = actor->mRef.Get32(); + u32 thisRef = *(vu32 *) &this->mRef; + + this->mUnk_9C.mUnk_2C.data = actorRef; + this->mUnk_9C.mUnk_30.data = thisRef; } else { this->mUnk_9C.mUnk_28 = 0; this->mUnk_9C.mUnk_2C = 0; this->mUnk_9C.mUnk_30 = 0; } } + this->mState = state; } diff --git a/src/031_Land/Actor/ActorUnkFLEN.cpp b/src/031_Land/Actor/ActorUnkFLEN.cpp index f97a27c4..a922fd9d 100644 --- a/src/031_Land/Actor/ActorUnkFLEN.cpp +++ b/src/031_Land/Actor/ActorUnkFLEN.cpp @@ -1,9 +1,11 @@ #include "Actor/ActorUnkFLEN.hpp" +#include "Actor/ActorId.hpp" #include "CommonFuncs.hpp" #include "System/SysNew.hpp" -extern u16 data_ov031_02110b90[]; -extern ActorId data_ov031_02110b94[]; +static const u16 data_ov031_02110b90[] = {0x02, 0x00}; + +static const ActorId data_ov031_02110b94[] = {ActorId_ChuChu}; DECL_PROFILE(ActorProfileUnkFLEN); @@ -20,9 +22,11 @@ ActorUnkFLEN::ActorUnkFLEN() : mUnk_94(0) {} bool ActorUnkFLEN::Init(int param1) { +#pragma unused(param1) + this->mUnk_94 = this->mUnk_5C.mParams[1]; - if (this->mUnk_5C.mParams[1] >= (s16) 0x2) { + if (this->mUnk_94 >= 0x02) { this->mUnk_94 = 0; } diff --git a/src/031_Land/Actor/ActorUnkMLCK.cpp b/src/031_Land/Actor/ActorUnkMLCK.cpp index 8868dc42..2a33444f 100644 --- a/src/031_Land/Actor/ActorUnkMLCK.cpp +++ b/src/031_Land/Actor/ActorUnkMLCK.cpp @@ -11,22 +11,17 @@ #include "Unknown/UnkStruct_ov000_020b3000.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" #include "Unknown/UnkStruct_ov000_020b52e8.hpp" +#include "global.h" #include "nitro/math.h" -extern unk32 data_ov031_02110bec[]; +DUMMY_BSS(); +DUMMY_BSS(); -struct UnkStruct_ov031_02114d28 { - /* 00 */ u32 mUnk_00; - /* 04 */ u32 mUnk_04; - /* 08 */ u32 mUnk_08; +static const RefStruct data_ov031_02114d28 = 0x10002; +static const RefStruct data_ov031_02114d30 = 0x10006; +static const RefStruct data_ov031_02114d2c = 0x10009; - UnkStruct_ov031_02114d28() { - this->mUnk_00 = 0x10002; - this->mUnk_08 = 0x10006; - this->mUnk_04 = 0x10009; - } -}; -static const UnkStruct_ov031_02114d28 data_ov031_02114d28; +static const unk32 data_ov031_02110bec[] = {0x90, 0x92, 0x94, 0x96, 0x98}; DECL_PROFILE(ActorProfileUnkMLCK); @@ -50,6 +45,8 @@ ActorUnkMLCK::ActorUnkMLCK() : mUnk_F4(-1) {} bool ActorUnkMLCK::Init(unk32 param1) { +#pragma unused(param1) + this->mUnk_B8 = this->mUnk_5C.mParams[0]; UnkStruct_ov031_02112ad4 local_9c(ActorId_MLCK, this->mUnk_5C.mParams[0]); @@ -79,7 +76,6 @@ bool ActorUnkMLCK::Init(unk32 param1) { return true; } -// non-matching void ActorUnkMLCK::vfunc_64(unk32 param1) { this->mUnk_BC = param1; this->mUnk_C0.Reset(); @@ -92,16 +88,22 @@ void ActorUnkMLCK::vfunc_64(unk32 param1) { } void ActorUnkMLCK::vfunc_54(unk32 param1, unk32 param2) { +#pragma unused(param1) + if (param2 != 0) { this->vfunc_64(0x1); } } void ActorUnkMLCK::vfunc_58(unk32 param1, unk32 param2) { +#pragma unused(param1, param2) + this->mUnk_F0 = true; } void ActorUnkMLCK::vfunc_5C(unk32 param1) { +#pragma unused(param1) + if (this->mUnk_F1 && this->mUnk_F0) { data_027e0d34->func_ov031_020d994c(); data_ov000_020b51b8.func_ov000_0206d274(data_ov031_02110bec[this->mUnk_B8]); @@ -245,6 +247,8 @@ void ActorUnkMLCK::func_ov031_020fb1e8(ActorUnkMLCK_A0 *param1) { } bool ActorUnkMLCK::func_ov031_020fb204(unk32 param1) { +#pragma unused(param1) + for (ActorUnkMLCK_A0 **ptr = this->mUnk_A0; ptr != this->mUnk_B4; ptr++) { if ((*ptr)->vfunc_04()) { return true; diff --git a/src/031_Land/Actor/ActorUnkNTTZ.cpp b/src/031_Land/Actor/ActorUnkNTTZ.cpp index e1fd0080..4b7b506f 100644 --- a/src/031_Land/Actor/ActorUnkNTTZ.cpp +++ b/src/031_Land/Actor/ActorUnkNTTZ.cpp @@ -6,9 +6,6 @@ DECL_PROFILE(ActorProfileUnkNTTZ); -unk32 data_ov031_02116b58[0x3]; -unk32 data_ov031_02116b54; - Actor *ActorProfileUnkNTTZ::Create() { return new(HeapIndex_2) ActorUnkNTTZ(); } diff --git a/src/031_Land/Actor/ActorUnkSWCH.cpp b/src/031_Land/Actor/ActorUnkSWCH.cpp index 0ec71b92..03ca77ca 100644 --- a/src/031_Land/Actor/ActorUnkSWCH.cpp +++ b/src/031_Land/Actor/ActorUnkSWCH.cpp @@ -3,10 +3,6 @@ DECL_PROFILE(ActorProfileUnkSWCH); -#if IS_JP -unk8 data_ov031_02118a1c[0x24]; -#endif - Actor *ActorProfileUnkSWCH::Create() { return new(HeapIndex_2) ActorUnkSWCH(); } diff --git a/src/031_Land/Actor/ActorUnkTGTZ.cpp b/src/031_Land/Actor/ActorUnkTGTZ.cpp index 8c35829e..81e7aba6 100644 --- a/src/031_Land/Actor/ActorUnkTGTZ.cpp +++ b/src/031_Land/Actor/ActorUnkTGTZ.cpp @@ -8,18 +8,24 @@ #include "Unknown/UnkStruct_027e0998.hpp" #include "Unknown/UnkStruct_027e09a8.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" +#include "global.h" +#include "math.hpp" +#include "nitro/mi.h" #if IS_JP static const VecFx32Cpp data_ov031_02116344(FX_F32_TO_FX32(1.5f), FX_F32_TO_FX32(2.0f), FX_F32_TO_FX32(0.0f)); #else -static unk32 data_ov031_02114584[0x2] = {0}; -static const char *data_ov031_021145a4 = "target"; +static char *data_ov031_021145a4 = "target"; #endif -unk32 data_ov031_02116b54 = 0x0; -UnkStruct_ov019_020d24c8_28_258_00 data_ov031_02116b58(NULL, 0); + +UnkStruct_ov019_020d24c8_28_258_00_Derived1 data_ov031_02116b58; +UnkStruct_ov019_020d24c8_28_258_00_Derived1 data_ov031_02116b64; DECL_PROFILE(ActorProfileUnkTGTZ); +DUMMY_RODATA(); +DUMMY_DATA(1); + Actor *ActorProfileUnkTGTZ::Create() { return new(HeapIndex_2) ActorUnkTGTZ(); } @@ -29,68 +35,70 @@ ActorProfileUnkTGTZ::ActorProfileUnkTGTZ() : this->mUnk_04.Init(FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(2.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.5f)); } -// non-matching ActorUnkTGTZ::ActorUnkTGTZ() : #if IS_JP - mUnk_094(NULL, true), + mUnk_094(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkTGTZ)->mUnk_3C.mUnk_50), true), #else mUnk_094(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkTGTZ)->mUnk_3C.mUnk_50), 0xC, &this->mUnk_100), #endif mUnk_1B4(NULL), mUnk_1B8(0x0), - mUnk_1BC(-0x1), - mUnk_1C0(0, 0), - mUnk_1C4(FX_F32_TO_FX32(0.0f)), - mUnk_1CC(0x0), - mUnk_1D0(0, 0), - mUnk_1D4(0x0), - mUnk_1D6(0x0), - mUnk_1D8(false), - mUnk_1DC(0x0) { + mUnk_1BC(-0x1) { + *(u16 *) &mUnk_1C0.value = 0; // somehow breaks if volatile + mUnk_1C0.max = 0; + mUnk_1C4 = FX_F32_TO_FX32(0.0f); + mUnk_1CC = 0x0; + mUnk_1D0.value = 0; + mUnk_1D0.max = 0; + mUnk_1D4 = 0x0; + mUnk_1D6 = 0x0; + mUnk_1D8 = false; + mUnk_1DC = 0x0; MtxFx33_InitIdentity(&this->mUnk_190); this->func_ov000_0209862c(0x0); } -// non-matching -void ActorUnkTGTZ::func_ov031_020f6984() {} - -// non-matching bool ActorUnkTGTZ::Init(unk32 param1) { - if (this->mUnk_5C.mUnk_1A[0] != 0x0) { - this->mPos.y = FX_MUL(this->mUnk_5C.mUnk_1A[0] << 0xC, 0x1333); +#pragma unused(param1) + + if (this->mUnk_5C.mParams[3] != 0x0) { + this->mPos.y = FX_MUL(this->mUnk_5C.mParams[3] << 0xC, 0x1333); } + MtxFx33_InitYRotation(&this->mUnk_190, SIN((u16) this->mAngle.angle_s), COS((u16) this->mAngle.angle_s)); data_ov031_02116b58.func_ov000_0205fc20(0x5D, 0x32, NULL, NULL); - ((UnkStruct_ov019_020d24c8_28_258_00 *) GET_PROFILE(ActorProfileUnkNTTZ))->func_ov000_0205fc20(0x5D, 0x31, NULL, NULL); + data_ov031_02116b64.func_ov000_0205fc20(0x5D, 0x31, NULL, NULL); - unk32 temp_r3_2 = this->mUnk_5C.mParams[1]; - unk32 temp_r0 = (u16) (((s16) this->mAngle.angle_s + 0x2000)) >> 0xE; - if ((temp_r0 != 0) && (temp_r0 != 2)) { - this->mUnk_1C8 = (UnkStruct_ov019_020d24c8_28_258_00 *) GET_PROFILE(ActorProfileUnkNTTZ); - } else { + int temp_r0 = GET_DIRECTION(this->mAngle.angle_s); + + if (!(temp_r0 != 0 && temp_r0 != 2)) { this->mUnk_1C8 = &data_ov031_02116b58; - } - if (temp_r3_2 != 0) { - unk32 temp_r1_3 = this->mUnk_5C.mParams[2]; - if (temp_r1_3 != 0) { - this->mUnk_1D4 = temp_r1_3; - } - this->mUnk_1CC = 1; - this->mUnk_1D6 = temp_r3_2; - if (temp_r1_3 == 0) { - this->mUnk_1D4 = temp_r3_2; - } - } - if (this->mUnk_5C.mUnk_1A[0] == 0 || !this->func_ov000_02098a60(0x0)) { - this->func_ov031_020f6f20(0x2); } else { - this->func_ov031_020f6f20(0x0); + this->mUnk_1C8 = &data_ov031_02116b64; + } + + if (this->mUnk_5C.mParams[1] != 0) { + this->mUnk_1CC = 1; + this->mUnk_1D6 = this->mUnk_5C.mParams[1]; + + if (this->mUnk_5C.mParams[2] != 0) { + this->mUnk_1D4 = this->mUnk_5C.mParams[2]; + } else { + this->mUnk_1D4 = this->mUnk_5C.mParams[1]; + } + } + + if (this->mUnk_5C.mUnk_1A[0] == 0) { + this->func_ov031_020f6f20(2); + } else if (this->func_ov000_02098a60(0x0)) { + this->func_ov031_020f6f20(2); + } else { + this->func_ov031_020f6f20(0); } return true; } -// non-matching void ActorUnkTGTZ::Update() { switch (this->mUnk_1B8) { case 0x0: { @@ -181,6 +189,7 @@ void ActorUnkTGTZ::Update() { default: break; } + if (this->mUnk_1CC == 0x1) { ActorUnkNTTZ *actor = this->mUnk_1B4; VecFx32 vecSp0C = actor->mPos; @@ -302,43 +311,59 @@ void ActorUnkTGTZ::func_ov031_020f6f20(unk32 param1) { } } -// non-matching void ActorUnkTGTZ::vfunc_30(Actor_vfunc_30 *param1) { + Vec2s sp10; + struct { + /* 00 */ unk32 unk_00; + /* 04 */ unk8 unk_04; + /* 05 */ unk8 unk_05; + /* 06 */ u16 unk_06; + } sp8; + Vec2s sp4; + unk32 var_r2; + Vec2s var_r5; + if (this->mUnk_1B8 == 0x0) { return; } - unk32 var; + if (this->mUnk_1C8->mUnk_04 & 0x1) { - var = 0x1; + var_r2 = 0x1; } else { - var = 0x0; + var_r2 = 0x0; } - if (param1->mUnk_00.unk_00 != var || param1->mUnk_00.unk_01 != var) { - return; - } - Vec2s vec2s; - - if (!data_027e0998->vfunc_00(&this->mPos, &vec2s, &this->mRef)) { + if (param1->mUnk_00.unk_00 != var_r2 && param1->mUnk_00.unk_01 != var_r2) { return; } - unk32 var_r5 = 0; - unk32 var_r6 = 0; - switch (((u16) (((s16) this->mAngle.angle_s + 0x2000)) >> 0xE)) { + if (!data_027e0998->vfunc_00(&this->mPos, &sp10, &this->mRef)) { + return; + } + + var_r5.x = 0; + var_r5.y = 0; + + switch (GET_DIRECTION(this->mAngle.angle_s)) { case 0x3: - var_r5 = 0x10000 >> 0x10; + var_r5.x++; break; case 0x0: - var_r6 = -0x10000 >> 0x10; + var_r5.y--; break; default: break; } - data_027e0998->func_ov000_02061a70(); + sp8.unk_06 = 0; + MI_CpuFill32(0, &sp8, sizeof(sp8)); + sp8.unk_05 = -1; + sp8.unk_00 = data_027e0998->func_ov000_02061a70(); + sp8.unk_06 |= 0x01; - data_0204af1c.func_0201aa44(this->mUnk_1C8, NULL, 0x2, NULL); + sp4.x = sp10.x + var_r5.x; + sp4.y = sp10.y + var_r5.y; + data_0204af1c.func_0201aa44(this->mUnk_1C8, &sp4, 0x2, &sp8); } void ActorUnkTGTZ::vfunc_2C(unk32 param1) { diff --git a/src/031_Land/MapObject/MapObjectDoorBase.cpp b/src/031_Land/MapObject/MapObjectDoorBase.cpp index 07eddbff..14d54530 100644 --- a/src/031_Land/MapObject/MapObjectDoorBase.cpp +++ b/src/031_Land/MapObject/MapObjectDoorBase.cpp @@ -542,7 +542,7 @@ void MapObjectDoorBase::vfunc_74() {} void MapObjectDoorBase::vfunc_78() {} void MapObjectDoorBase::vfunc_7C() { - this->mUnk_68.func_ov000_020a0334(); + this->mUnk_68.mUnk_00.func_ov000_020a0334(); } void MapObjectDoorBase::vfunc_80() { diff --git a/src/031_Land/MapObject/MapObjectDoorClick.cpp b/src/031_Land/MapObject/MapObjectDoorClick.cpp index 7bcae2a9..fbfe5ed7 100644 --- a/src/031_Land/MapObject/MapObjectDoorClick.cpp +++ b/src/031_Land/MapObject/MapObjectDoorClick.cpp @@ -332,15 +332,15 @@ bool MapObjectDoorClick::vfunc_6C(void) { } void MapObjectDoorClick::vfunc_74(void) { - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x89E, &this->mPos, 4); - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68.mUnk_00, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0.mUnk_00, 0x89E, &this->mPos, 4); } void MapObjectDoorClick::vfunc_7C(void) { this->MapObjectDoorBase::vfunc_7C(); - if (this->mUnk_A0.mUnk_00 != NULL) { - this->mUnk_A0.func_ov000_020a0334(); + if (this->mUnk_A0.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00.func_ov000_020a0334(); } } @@ -390,12 +390,12 @@ void MapObjectDoorClick::vfunc_78(void) { VecFx32_Add(&local_30, &local_90, &local_30); VecFx32_Add(&local_30, &local_84, &VStack_48); - if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); + if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); } - if (this->mUnk_A0.mUnk_00 != NULL) { - this->mUnk_A0.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); + if (this->mUnk_A0.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); } } diff --git a/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp b/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp index c8f2bbef..c43aee5c 100644 --- a/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp +++ b/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp @@ -560,11 +560,11 @@ void MapObjectDoorDangerSpawn::vfunc2_10(void) { case MapObjDoorDangerSpawnState_0: default: if (data_027e09b8->func_ov000_020732ec(this->mUnk_74) != 0) { - if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->mUnk_24 &= ~0x08; + if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->mUnk_24 &= ~0x08; } - } else if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->mUnk_24 |= 0x08; + } else if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->mUnk_24 |= 0x08; } break; case MapObjDoorDangerSpawnState_1: @@ -619,23 +619,23 @@ void MapObjectDoorDangerSpawn::vfunc_74(void) { VecFx32_Add(&local_28, &local_40, &local_28); VecFx32_Add(&local_34, &local_4c, &local_34); - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x8CF, &local_28, 4); - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A8, 0x8CF, &local_34, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68.mUnk_00, 0x8CF, &local_28, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A8.mUnk_00, 0x8CF, &local_34, 4); - if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->mUnk_A4 = var_r5; + if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->mUnk_A4 = var_r5; } - if (this->mUnk_A8.mUnk_00 != NULL) { - this->mUnk_A8.mUnk_00->mUnk_A4 = var_r5; + if (this->mUnk_A8.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A8.mUnk_00.mUnk_00->mUnk_A4 = var_r5; } } void MapObjectDoorDangerSpawn::vfunc_7C(void) { this->MapObjectDoorBase::vfunc_7C(); - if (this->mUnk_A8.mUnk_00 != NULL) { - this->mUnk_A8.func_ov000_020a0334(); + if (this->mUnk_A8.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A8.mUnk_00.func_ov000_020a0334(); } } diff --git a/src/031_Land/MapObject/MapObjectDoorKey.cpp b/src/031_Land/MapObject/MapObjectDoorKey.cpp index 3785254b..bc4c5ec8 100644 --- a/src/031_Land/MapObject/MapObjectDoorKey.cpp +++ b/src/031_Land/MapObject/MapObjectDoorKey.cpp @@ -159,15 +159,15 @@ bool MapObjectDoorKey::vfunc_6C(void) { } void MapObjectDoorKey::vfunc_74(void) { - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x89E, &this->mPos, 4); - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68.mUnk_00, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0.mUnk_00, 0x89E, &this->mPos, 4); } void MapObjectDoorKey::vfunc_7C(void) { this->MapObjectDoorBase::vfunc_7C(); - if (this->mUnk_A0.mUnk_00 != NULL) { - this->mUnk_A0.func_ov000_020a0334(); + if (this->mUnk_A0.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00.func_ov000_020a0334(); } } @@ -217,12 +217,12 @@ void MapObjectDoorKey::vfunc_78(void) { VecFx32_Add(&local_30, &local_90, &local_30); VecFx32_Add(&local_30, &local_84, &VStack_48); - if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); + if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); } - if (this->mUnk_A0.mUnk_00 != NULL) { - this->mUnk_A0.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); + if (this->mUnk_A0.mUnk_00.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); } } diff --git a/src/031_Land/MapObject/MapObjectDoorSwitch.cpp b/src/031_Land/MapObject/MapObjectDoorSwitch.cpp index fd0f95a2..87c5c73a 100644 --- a/src/031_Land/MapObject/MapObjectDoorSwitch.cpp +++ b/src/031_Land/MapObject/MapObjectDoorSwitch.cpp @@ -136,10 +136,10 @@ void MapObjectDoorSwitch::vfunc_74(void) { func_01ffaf74(&local_2c, &m, &local_2c); VecFx32_Add(&local_20, &local_2c, &local_20); - data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x8CF, &local_20, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68.mUnk_00, 0x8CF, &local_20, 4); - if (this->mUnk_68.mUnk_00 != NULL) { - this->mUnk_68.mUnk_00->mUnk_A4 = this->mAngle.angle_s; + if (this->mUnk_68.mUnk_00.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00.mUnk_00->mUnk_A4 = this->mAngle.angle_s; } } diff --git a/src/071_Tower/Actor/ActorTearLight.cpp b/src/071_Tower/Actor/ActorTearLight.cpp index ecfd1b83..ee02d5bf 100644 --- a/src/071_Tower/Actor/ActorTearLight.cpp +++ b/src/071_Tower/Actor/ActorTearLight.cpp @@ -178,7 +178,7 @@ void ActorTearLight::func_ov071_0215f824() { UnkStruct_027e0cec *data = data_027e0cec; for (ActorTearLight_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204); ++playerGet) { - data->func_ov000_020a0110(playerGet); + data->func_ov000_020a0110(&playerGet->mUnk_00); } break; } @@ -189,14 +189,14 @@ void ActorTearLight::func_ov071_0215f824() { UnkStruct_027e0cec *data = data_027e0cec; for (ActorTearLight_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204); ++playerGet) { - data->func_ov000_020a0140(playerGet, &vec); + data->func_ov000_020a0140(&playerGet->mUnk_00, &vec); } break; } UnkStruct_027e0cec *data = data_027e0cec; for (ActorTearLight_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204); ++playerGet) { - data->func_ov000_020a0110(playerGet); + data->func_ov000_020a0110(&playerGet->mUnk_00); } break; } @@ -283,7 +283,7 @@ void ActorTearLight::func_ov071_0215fc0c() { UnkStruct_027e0cec *data = data_027e0cec; for (ActorTearLight_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204); ++playerGet) { - data->func_ov000_020a0110(playerGet); + data->func_ov000_020a0110(&playerGet->mUnk_00); } this->func_ov071_0215fd80(); } diff --git a/src/110_PlayerGet/PlayerGet.cpp b/src/110_PlayerGet/PlayerGet.cpp index 07f4dfcc..310bd4b4 100644 --- a/src/110_PlayerGet/PlayerGet.cpp +++ b/src/110_PlayerGet/PlayerGet.cpp @@ -435,7 +435,7 @@ PlayerGet::~PlayerGet() { 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); + pData_027e0cec->func_ov000_020a0110(&pUnk_ec->mUnk_00); pUnk_ec++; } } @@ -665,7 +665,7 @@ void PlayerGet::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) { uStack_f0[1] = 0x871; uStack_f0[2] = 0x872; uStack_f0[3] = 0x873; - data_027e0cec->func_ov000_020a0000(this->mUnk_EC, &this->mUnk_FC, uStack_f0, &VStack_fc, 1); + data_027e0cec->func_ov000_020a0000(&this->mUnk_EC->mUnk_00, &this->mUnk_FC, uStack_f0, &VStack_fc, 1); } data_027e0cf8->func_ov024_020c7828(this->mUnk_54.mItemId); @@ -973,8 +973,7 @@ void PlayerGet::vfunc_18(unk32 param1, unk32 param2, unk32 param3) { } } -UnkStruct_PlayerGet_ec::UnkStruct_PlayerGet_ec() : - UnkSystem7(NULL) {} +UnkStruct_PlayerGet_ec::UnkStruct_PlayerGet_ec() {} THUMB_BEGIN