diff --git a/config/eur/arm9/overlays/ov000/relocs.txt b/config/eur/arm9/overlays/ov000/relocs.txt index b4e838c7..851f0e4b 100644 --- a/config/eur/arm9/overlays/ov000/relocs.txt +++ b/config/eur/arm9/overlays/ov000/relocs.txt @@ -8548,7 +8548,7 @@ from:0x020aa250 kind:load to:0x020b19e0 module:overlay(0) from:0x020aa254 kind:load to:0x020b19b8 module:overlay(0) from:0x020aa258 kind:load to:0x020b19c8 module:overlay(0) from:0x020aa25c kind:load to:0x020b19d0 module:overlay(0) -from:0x020ab0ec kind:load to:0x02040403 module:main +from:0x020ab0ec kind:load to:0x0203e964 add:0x1a9f module:main from:0x020ab4dc kind:load to:0x020b2adc module:overlay(0) from:0x020ab530 kind:load to:0x020ac028 module:overlay(0) from:0x020ab534 kind:load to:0x020ab6b0 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 079ac260..709914cf 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1253,7 +1253,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x020781d4 func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020781e8 _ZN21UnkStruct_027e09bc_0C19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078230 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x02078314 -_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P29UnkStackStruct_ov000_02077590i kind:function(arm,size=0x40) addr:0x0207834c +_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P15UnkStackStruct2i kind:function(arm,size=0x40) addr:0x0207834c func_ov000_0207838c kind:function(arm,size=0x70) addr:0x0207838c func_ov000_020783fc kind:function(arm,size=0x88) addr:0x020783fc func_ov000_02078484 kind:function(arm,size=0x40) addr:0x02078484 @@ -1457,7 +1457,7 @@ func_ov000_0207d9f8 kind:function(arm,size=0x48) addr:0x0207d9f8 _ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207da40 func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207dc4c func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc64 -func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dc88 +_ZN18UnkStruct_027e09c019func_ov000_0207dc88EPP5ActorP8Actor_38 kind:function(arm,size=0x210) addr:0x0207dc88 _ZN18UnkStruct_027e09c019func_ov000_0207de98E9RefStructP24UnkStruct_ov000_0207de98P8Actor_38 kind:function(arm,size=0xc0) addr:0x0207de98 func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207df58 _ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207df88 @@ -1912,7 +1912,7 @@ func_ov000_0208ba30 kind:function(arm,size=0x10) addr:0x0208ba30 _ZN18UnkStruct_027e0ce019func_ov000_0208ba40EP17SaveInventoryData kind:function(thumb,size=0x1e) addr:0x0208ba40 func_ov000_0208ba60 kind:function(arm,size=0x20) addr:0x0208ba60 func_ov000_0208ba80 kind:function(arm,size=0x14) addr:0x0208ba80 -func_ov000_0208ba94 kind:function(arm,size=0x1c) addr:0x0208ba94 +_ZN18UnkStruct_027e0ce019func_ov000_0208ba94EiP7VecFx32 kind:function(arm,size=0x1c) addr:0x0208ba94 func_ov000_0208bab0 kind:function(arm,size=0x1c) addr:0x0208bab0 _ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208bacc func_ov000_0208badc kind:function(arm,size=0x10) addr:0x0208badc @@ -1927,7 +1927,7 @@ func_ov000_0208bb84 kind:function(arm,size=0x10) addr:0x0208bb84 func_ov000_0208bb94 kind:function(arm,size=0x10) addr:0x0208bb94 func_ov000_0208bba4 kind:function(arm,size=0x10) addr:0x0208bba4 func_ov000_0208bbb4 kind:function(arm,size=0x10) addr:0x0208bbb4 -func_ov000_0208bbc4 kind:function(arm,size=0x10) addr:0x0208bbc4 +_ZN18UnkStruct_027e0ce019func_ov000_0208bbc4EiPv kind:function(arm,size=0x10) addr:0x0208bbc4 func_ov000_0208bbd4 kind:function(arm,size=0x2c) addr:0x0208bbd4 func_ov000_0208bc00 kind:function(arm,size=0x1c) addr:0x0208bc00 _ZN18UnkStruct_027e0ce019func_ov000_0208bc1cEiiiP8CylinderPvi kind:function(arm,size=0x40) addr:0x0208bc1c @@ -2275,7 +2275,7 @@ _ZN12ActorProfile8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02097818 func_ov000_0209781c kind:function(arm,size=0x7c) addr:0x0209781c _ZN21ActorProfile_Derived1C2Ej kind:function(arm,size=0x30) addr:0x02097898 func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x020978c8 -_ZN21ActorProfile_Derived1C2EjS0_ kind:function(arm,size=0x30) addr:0x020978dc +_ZN21ActorProfile_Derived1C2Ejj kind:function(arm,size=0x30) addr:0x020978dc _ZN21ActorProfile_Derived1D2Ev kind:function(arm,size=0x38) addr:0x0209790c _ZN21ActorProfile_Derived18vfunc_04Ev kind:function(arm,size=0x8) addr:0x02097944 _ZN21ActorProfile_Derived18vfunc_10Ev kind:function(arm,size=0x20) addr:0x0209794c @@ -2375,9 +2375,9 @@ func_ov000_02099870 kind:function(arm,size=0x80) addr:0x02099870 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_020998f0E9RefStructP7VecFx32 kind:function(arm,size=0x11c) addr:0x020998f0 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x02099a0c func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x02099a1c -_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x02099a28 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP33MapObjectProfile_Derived2_20_Base kind:function(thumb,size=0x54) addr:0x02099a28 func_ov000_02099a7c kind:function(thumb,size=0x48) addr:0x02099a7c -func_ov000_02099ac4 kind:function(thumb,size=0x28) addr:0x02099ac4 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P26ModelRender_ov031_02113670P33MapObjectProfile_Derived2_20_BaseP10G3d_Model_i kind:function(thumb,size=0x28) addr:0x02099ac4 func_ov000_02099aec kind:function(thumb,size=0x2) addr:0x02099aec _ZN19func_ov000_02099af0D0Ev kind:function(thumb,size=0xc) addr:0x02099af0 _ZN24UnkStruct_ov000_020b31a8D2Ev kind:function(thumb,size=0x2) addr:0x02099afc @@ -2424,7 +2424,7 @@ _ZN24UnkStruct_ov000_020b31f08vfunc_38Ev kind:function(arm,size=0x2c) addr:0x020 _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209a764 func_ov000_0209a780 kind:function(thumb,size=0x1c) addr:0x0209a780 _ZN26ModelRender_ov000_020b4d648vfunc_1CEP16G3d_RenderState_ kind:function(arm,size=0x1c) addr:0x0209a79c -_ZN11ModelRender19func_ov000_0209a7b8EPvPFvS0_iE kind:function(arm,size=0xc) addr:0x0209a7b8 +_ZN11ModelRender19func_ov000_0209a7b8EPvPFvP5ActorP16G3d_RenderState_E kind:function(arm,size=0xc) addr:0x0209a7b8 func_ov000_0209a7c4 kind:function(arm,size=0x28) addr:0x0209a7c4 func_ov000_0209a7ec kind:function(arm,size=0x28) addr:0x0209a7ec func_ov000_0209a814 kind:function(arm,size=0x44) addr:0x0209a814 @@ -3022,9 +3022,9 @@ _ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020a _ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020a8acc _ZN14Actor_Derived119func_ov000_020a8ae0Ei kind:function(arm,size=0x14) addr:0x020a8ae0 func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020a8af4 -func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020a8b48 -func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020a8b7c -_ZN14Actor_Derived1C1EP11ModelRenderP20Actor_Derived1_94_0C kind:function(arm,size=0x110) addr:0x020a8bb0 +_ZN26ModelRender_ov000_020b4d64C2EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8b48 +_ZN26ModelRender_ov000_020b4d64C1EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8b7c +_ZN14Actor_Derived1C2EP11ModelRenderP16ActorUnkZSRS_120 kind:function(arm,size=0x110) addr:0x020a8bb0 _ZN14Actor_Derived1D1Ev kind:function(arm,size=0x20) addr:0x020a8cc0 _ZN14Actor_Derived1D0Ev kind:function(arm,size=0x28) addr:0x020a8ce0 _ZN14Actor_Derived1D2Ev kind:function(arm,size=0x20) addr:0x020a8d08 @@ -3064,12 +3064,12 @@ _ZN14Actor_Derived18vfunc_ACEv kind:function(arm,size=0x4) addr:0x020a95d4 _ZN14Actor_Derived119func_ov000_020a95d8Ev kind:function(arm,size=0xc) addr:0x020a95d8 _ZN14Actor_Derived18vfunc_A4Ev kind:function(arm,size=0x218) addr:0x020a95e4 _ZN14Actor_Derived18vfunc_A8Ev kind:function(arm,size=0x8) addr:0x020a97fc -_ZN14Actor_Derived119func_ov000_020a9804Ev kind:function(arm,size=0xec) addr:0x020a9804 +_ZN14Actor_Derived119func_ov000_020a9804EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xec) addr:0x020a9804 _ZN14Actor_Derived16UpdateEv kind:function(arm,size=0x4) addr:0x020a98f0 _ZN14Actor_Derived18vfunc_24Ev kind:function(arm,size=0x68) addr:0x020a98f4 _ZN14Actor_Derived18vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x48) addr:0x020a995c _ZN14Actor_Derived18vfunc_B8Ev kind:function(arm,size=0x34) addr:0x020a99a4 -_ZN14Actor_Derived18vfunc_14Ev kind:function(arm,size=0x48) addr:0x020a99d8 +_ZN14Actor_Derived18vfunc_14EP8Cylinder kind:function(arm,size=0x48) addr:0x020a99d8 _ZN19func_ov000_020a9a20D1Ev kind:function(arm,size=0x14) addr:0x020a9a20 _ZN19func_ov000_020a9a34D0Ev kind:function(arm,size=0x1c) addr:0x020a9a34 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020a9a50 diff --git a/config/eur/arm9/overlays/ov021/relocs.txt b/config/eur/arm9/overlays/ov021/relocs.txt index 83898c7c..624fb33f 100644 --- a/config/eur/arm9/overlays/ov021/relocs.txt +++ b/config/eur/arm9/overlays/ov021/relocs.txt @@ -2271,7 +2271,7 @@ from:0x020fdac8 kind:load to:0x020b4ec4 module:overlay(0) from:0x020fdacc kind:load to:0x02108cc4 module:overlay(21) from:0x020fdad4 kind:load to:0x027e0208 module:dtcm from:0x020fdad8 kind:load to:0x027e0208 add:0x4c module:dtcm -from:0x020fdadc kind:load to:0x0203ea64 module:main +from:0x020fdadc kind:load to:0x0203e964 add:0x100 module:main from:0x020fdae0 kind:load to:0x027e0210 module:dtcm from:0x020fdae8 kind:load to:0x0204999c module:main from:0x020fdaec kind:load to:0x02108d58 module:overlay(21) diff --git a/config/eur/arm9/overlays/ov023/relocs.txt b/config/eur/arm9/overlays/ov023/relocs.txt index 5e025716..63dfdb53 100644 --- a/config/eur/arm9/overlays/ov023/relocs.txt +++ b/config/eur/arm9/overlays/ov023/relocs.txt @@ -60,7 +60,7 @@ from:0x020e9d80 kind:arm_call_thumb to:0x02014994 module:main from:0x020e9d88 kind:arm_call to:0x020bba78 module:overlay(17) from:0x020e9d94 kind:load to:0x027e0208 module:dtcm from:0x020e9d98 kind:load to:0x027e0208 add:0x4c module:dtcm -from:0x020e9d9c kind:load to:0x0203ea64 module:main +from:0x020e9d9c kind:load to:0x0203e964 add:0x100 module:main from:0x020e9da0 kind:load to:0x027e0210 module:dtcm from:0x020e9da8 kind:load to:0x020b4eec module:overlay(0) from:0x020e9dac kind:load to:0x020b6510 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov026/relocs.txt b/config/eur/arm9/overlays/ov026/relocs.txt index d2302820..aa31495e 100644 --- a/config/eur/arm9/overlays/ov026/relocs.txt +++ b/config/eur/arm9/overlays/ov026/relocs.txt @@ -9126,7 +9126,7 @@ from:0x0212db68 kind:arm_call to:0x020f91fc module:overlay(26) from:0x0212dbb8 kind:arm_call to:0x01ffb6e4 module:itcm from:0x0212dbe4 kind:arm_call to:0x01ffa1d4 module:itcm from:0x0212dbf4 kind:arm_call to:0x01ffa60c module:itcm -from:0x0212dc58 kind:load to:0x0203ec64 module:main +from:0x0212dc58 kind:load to:0x0203e964 add:0x300 module:main from:0x0212dc5c kind:load to:0x02141768 module:overlay(26) from:0x0212dc60 kind:load to:0x02138a14 module:overlay(26) from:0x0212dc64 kind:load to:0x021417d0 module:overlay(26) diff --git a/config/eur/arm9/overlays/ov026/symbols.txt b/config/eur/arm9/overlays/ov026/symbols.txt index a85dd3e2..2aa1924e 100644 --- a/config/eur/arm9/overlays/ov026/symbols.txt +++ b/config/eur/arm9/overlays/ov026/symbols.txt @@ -1883,7 +1883,7 @@ _ZN12ActorUnkRB1T19func_ov026_0212052cEv kind:function(arm,size=0x218) addr:0x02 _ZN12ActorUnkRB1T19func_ov026_02120744Ev kind:function(arm,size=0x9c) addr:0x02120744 _ZN12ActorUnkRB1T19func_ov026_021207e0Ev kind:function(arm,size=0x94) addr:0x021207e0 _ZN12ActorUnkRB1T19func_ov026_02120874Ev kind:function(arm,size=0x2c) addr:0x02120874 -_ZN12ActorUnkRB1T19func_ov026_021208a0Ev kind:function(arm,size=0xb4) addr:0x021208a0 +_ZN12ActorUnkRB1T19func_ov026_021208a0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xb4) addr:0x021208a0 _ZN12ActorUnkRB1T19func_ov026_02120954Ev kind:function(arm,size=0x20) addr:0x02120954 _ZN12ActorUnkRB1T19func_ov026_02120974Ev kind:function(arm,size=0x18) addr:0x02120974 _ZN12ActorUnkRB1TD0Ev kind:function(arm,size=0x1c) addr:0x0212098c diff --git a/config/eur/arm9/overlays/ov029/relocs.txt b/config/eur/arm9/overlays/ov029/relocs.txt index 4d93d60d..4b059f46 100644 --- a/config/eur/arm9/overlays/ov029/relocs.txt +++ b/config/eur/arm9/overlays/ov029/relocs.txt @@ -455,9 +455,9 @@ from:0x021447c8 kind:arm_call to:0x02144b20 module:overlay(29) from:0x021447d0 kind:arm_call to:0x02144f94 module:overlay(29) from:0x021447f8 kind:arm_call to:0x0210bb74 module:overlay(26) from:0x02144968 kind:load to:0x0203e964 module:main -from:0x0214496c kind:load to:0x0203f964 module:main -from:0x02144970 kind:load to:0x02040964 module:main -from:0x02144974 kind:load to:0x02041964 module:main +from:0x0214496c kind:load to:0x0203e964 add:0x1000 module:main +from:0x02144970 kind:load to:0x0203e964 add:0x2000 module:main +from:0x02144974 kind:load to:0x0203e964 add:0x3000 module:main from:0x02144994 kind:arm_call to:0x02144ff8 module:overlay(29) from:0x021449bc kind:arm_call to:0x02144804 module:overlay(29) from:0x021449d0 kind:arm_call to:0x02144ff8 module:overlay(29) @@ -1259,7 +1259,7 @@ from:0x0214b6b8 kind:arm_call to:0x0207e3ac module:overlay(0) from:0x0214b700 kind:arm_call to:0x0214b73c module:overlay(29) from:0x0214b730 kind:load to:0x02153710 module:overlay(29) from:0x0214b734 kind:load to:0x0215372c module:overlay(29) -from:0x0214b738 kind:load to:0x0203f164 module:main +from:0x0214b738 kind:load to:0x0203e964 add:0x800 module:main from:0x0214b7d0 kind:load to:0x021524a0 module:overlay(29) from:0x0214b7d4 kind:load to:0x02152490 module:overlay(29) from:0x0214b7ec kind:arm_call to:0x0214c9ec module:overlay(29) @@ -1443,7 +1443,7 @@ from:0x0214d230 kind:arm_call to:0x0207e294 module:overlay(0) from:0x0214d28c kind:arm_call to:0x01ff9638 module:itcm from:0x0214d298 kind:arm_call to:0x01ffbbe0 module:itcm from:0x0214d2c0 kind:arm_call to:0x01ff930c module:itcm -from:0x0214d2f0 kind:load to:0x0203f164 module:main +from:0x0214d2f0 kind:load to:0x0203e964 add:0x800 module:main from:0x0214d300 kind:arm_call to:0x02146f70 module:overlay(29) from:0x0214d32c kind:arm_call to:0x02131778 module:overlay(26) from:0x0214d35c kind:arm_call to:0x01ffbbe0 module:itcm @@ -1483,7 +1483,7 @@ from:0x0214d820 kind:arm_call to:0x01ffe6c4 module:itcm from:0x0214d82c kind:arm_call to:0x0207e294 module:overlay(0) from:0x0214d864 kind:arm_call to:0x0214d4e8 module:overlay(29) from:0x0214d87c kind:arm_call to:0x02071b30 module:overlay(0) -from:0x0214d888 kind:load to:0x0203f164 module:main +from:0x0214d888 kind:load to:0x0203e964 add:0x800 module:main from:0x0214d88c kind:load to:0x027e09a8 module:dtcm from:0x0214d89c kind:arm_call to:0x0209790c module:overlay(0) from:0x0214d8b0 kind:load to:0x02153844 module:overlay(29) @@ -1813,7 +1813,7 @@ from:0x02150824 kind:arm_call to:0x01ffa60c module:itcm from:0x02150838 kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x02150848 kind:arm_call to:0x01ffa60c module:itcm from:0x0215086c kind:load to:0x0203e964 module:main -from:0x02150870 kind:load to:0x02041964 module:main +from:0x02150870 kind:load to:0x0203e964 add:0x3000 module:main from:0x02150888 kind:load to:0x02110d7c module:overlay(26) from:0x021508a8 kind:arm_call to:0x02131644 module:overlay(26) from:0x021508cc kind:arm_call to:0x021314c0 module:overlay(26) diff --git a/config/eur/arm9/overlays/ov030/relocs.txt b/config/eur/arm9/overlays/ov030/relocs.txt index bf2a1406..375301c5 100644 --- a/config/eur/arm9/overlays/ov030/relocs.txt +++ b/config/eur/arm9/overlays/ov030/relocs.txt @@ -711,7 +711,7 @@ from:0x0214761c kind:arm_call to:0x01ffb714 module:itcm from:0x0214762c kind:arm_call to:0x01ffb780 module:itcm from:0x02147650 kind:arm_call to:0x01ff93c0 module:itcm from:0x02147688 kind:arm_call to:0x01ff9638 module:itcm -from:0x021476a8 kind:load to:0x0203f164 module:main +from:0x021476a8 kind:load to:0x0203e964 add:0x800 module:main from:0x02147724 kind:arm_call to:0x01ffb860 module:itcm from:0x02147730 kind:arm_call to:0x01ff93c0 module:itcm from:0x0214778c kind:arm_call to:0x01ffb714 module:itcm @@ -1237,7 +1237,7 @@ from:0x0214c990 kind:arm_call to:0x01ffa878 module:itcm from:0x0214c9a0 kind:arm_call to:0x01ffad5c module:itcm from:0x0214c9e8 kind:arm_call to:0x02028d30 module:main from:0x0214c9fc kind:arm_call to:0x02058fc4 module:overlay(0) -from:0x0214ca10 kind:load to:0x02042564 module:main +from:0x0214ca10 kind:load to:0x0203e964 add:0x3c00 module:main from:0x0214ca14 kind:load to:0x0203e964 module:main from:0x0214ca18 kind:load to:0x021518f0 module:overlay(30) from:0x0214ca1c kind:load to:0x027e0964 module:dtcm diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index 6991af8e..e6a83467 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -49,6 +49,7 @@ src/031_Land/Actor/ActorItemTornado.cpp: .rodata start:0x02110a88 end:0x02110a98 src/031_Land/Actor/ActorUnkSWBM.cpp: + complete .text start:0x020e68d8 end:0x020e7378 .init start:0x021111ac end:0x02111220 .ctor start:0x021127b0 end:0x021127b4 @@ -60,14 +61,14 @@ src/031_Land/Actor/ActorUnkROCK.cpp: .init start:0x02111220 end:0x02111270 .ctor start:0x021127b4 end:0x021127b8 .data start:0x021133c4 end:0x02113468 - .bss start:0x021165d0 end:0x021166e8 + .bss start:0x021165d0 end:0x021166d8 src/031_Land/Actor/ActorRupee.cpp: .text start:0x020e8cb8 end:0x020ea02c .init start:0x02111270 end:0x02111308 .ctor start:0x021127b8 end:0x021127bc .data start:0x02113488 end:0x021135f0 - .bss start:0x021166e8 end:0x0211672c + .bss start:0x021166d8 end:0x0211672c src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp: .text start:0x020ea02c end:0x020ee8cc @@ -122,6 +123,7 @@ src/031_Land/Actor/ActorShotArrow.cpp: .bss start:0x02116a70 end:0x02116abc src/031_Land/Actor/ActorUnkATTG.cpp: + complete .text start:0x020f3d7c end:0x020f409c .init start:0x02111598 end:0x021115e8 .ctor start:0x021127d8 end:0x021127dc diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index 9ced9382..a6f30fce 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -507,7 +507,7 @@ from:0x020dd2d4 kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x020dd2e4 kind:arm_call to:0x01ff8e58 module:itcm from:0x020dd2f4 kind:arm_call to:0x01ff8e58 module:itcm from:0x020dd314 kind:arm_call to:0x01ff8e58 module:itcm -from:0x020dd320 kind:load to:0x02041964 module:main +from:0x020dd320 kind:load to:0x0203e964 add:0x3000 module:main from:0x020dd324 kind:load to:0x020aa394 module:overlay(0) from:0x020dd328 kind:load to:0x027e0208 add:0x4c module:dtcm from:0x020dd338 kind:arm_call to:0x0207b6c0 module:overlay(0) @@ -1734,7 +1734,7 @@ from:0x020e8970 kind:load to:0x0211340c add:0x8 module:overlay(31) from:0x020e8974 kind:load to:0x021165e0 module:overlay(31) from:0x020e8978 kind:load to:0x020b1960 add:0x8 module:overlay(0) from:0x020e899c kind:arm_call to:0x020e8a48 module:overlay(31) -from:0x020e89a8 kind:load to:0x021166b8 module:overlay(31) +from:0x020e89a8 kind:load to:0x021165e0 add:0xd8 module:overlay(31) from:0x020e8a00 kind:arm_call to:0x0208bacc module:overlay(0) from:0x020e8a08 kind:arm_call to:0x02098838 module:overlay(0) from:0x020e8a18 kind:arm_call to:0x01ffb6e4 module:itcm @@ -2188,16 +2188,16 @@ from:0x020ec954 kind:arm_call to:0x01ff930c module:itcm from:0x020ecb40 kind:arm_call to:0x02099ddc module:overlay(0) from:0x020ecb8c kind:arm_call to:0x02099ddc module:overlay(0) from:0x020ecbb0 kind:load to:0x02113a08 module:overlay(31) -from:0x020ecbb4 kind:load to:0x02113a20 module:overlay(31) -from:0x020ecbb8 kind:load to:0x02113a38 module:overlay(31) -from:0x020ecbbc kind:load to:0x02113a50 module:overlay(31) -from:0x020ecbc0 kind:load to:0x02113a68 module:overlay(31) -from:0x020ecbc4 kind:load to:0x02113a80 module:overlay(31) -from:0x020ecbc8 kind:load to:0x02113a98 module:overlay(31) -from:0x020ecbcc kind:load to:0x02113ab0 module:overlay(31) -from:0x020ecbd0 kind:load to:0x02113ac8 module:overlay(31) -from:0x020ecbd4 kind:load to:0x02113ae0 module:overlay(31) -from:0x020ecbd8 kind:load to:0x02113af8 module:overlay(31) +from:0x020ecbb4 kind:load to:0x02113a08 add:0x18 module:overlay(31) +from:0x020ecbb8 kind:load to:0x02113a08 add:0x30 module:overlay(31) +from:0x020ecbbc kind:load to:0x02113a08 add:0x48 module:overlay(31) +from:0x020ecbc0 kind:load to:0x02113a08 add:0x60 module:overlay(31) +from:0x020ecbc4 kind:load to:0x02113a08 add:0x78 module:overlay(31) +from:0x020ecbc8 kind:load to:0x02113a08 add:0x90 module:overlay(31) +from:0x020ecbcc kind:load to:0x02113a08 add:0xa8 module:overlay(31) +from:0x020ecbd0 kind:load to:0x02113a08 add:0xc0 module:overlay(31) +from:0x020ecbd4 kind:load to:0x02113a08 add:0xd8 module:overlay(31) +from:0x020ecbd8 kind:load to:0x02113a08 add:0xf0 module:overlay(31) from:0x020ecc04 kind:arm_call to:0x01fff17c module:itcm from:0x020ecc20 kind:arm_call to:0x0209853c module:overlay(0) from:0x020ecc34 kind:arm_call to:0x020169d4 module:main @@ -2241,10 +2241,10 @@ from:0x020ed320 kind:arm_call to:0x01ff9770 module:itcm from:0x020ed334 kind:arm_call to:0x01ffb6e4 module:itcm from:0x020ed350 kind:arm_call to:0x020edd14 module:overlay(31) from:0x020ed368 kind:arm_call to:0x020169d4 module:main -from:0x020ed3a4 kind:load to:0x02040364 module:main -from:0x020ed3a8 kind:load to:0x0203f364 module:main -from:0x020ed3ac kind:load to:0x02041364 module:main -from:0x020ed3b0 kind:load to:0x02042364 module:main +from:0x020ed3a4 kind:load to:0x0203e964 add:0x1a00 module:main +from:0x020ed3a8 kind:load to:0x0203e964 add:0xa00 module:main +from:0x020ed3ac kind:load to:0x0203e964 add:0x2a00 module:main +from:0x020ed3b0 kind:load to:0x0203e964 add:0x3a00 module:main from:0x020ed3b8 kind:load to:0x02110ac0 module:overlay(31) from:0x020ed3bc kind:load to:0x02110ac4 module:overlay(31) from:0x020ed40c kind:arm_call to:0x020ecea8 module:overlay(31) @@ -3962,7 +3962,7 @@ from:0x020fcca4 kind:arm_call to:0x02028c4c module:main from:0x020fccd4 kind:arm_call to:0x0201aa44 module:main from:0x020fcce0 kind:load to:0x02117204 module:overlay(31) from:0x020fcce8 kind:load to:0x027e0998 module:dtcm -from:0x020fccec kind:load to:0x0203f964 module:main +from:0x020fccec kind:load to:0x0203e964 add:0x1000 module:main from:0x020fccf0 kind:load to:0x0204af1c module:main from:0x020fccf4 kind:load to:0x02117204 module:overlay(31) from:0x020fcd0c kind:load to:0x020a0334 module:overlay(0) @@ -4467,7 +4467,7 @@ from:0x02100d08 kind:arm_call to:0x020801b0 module:overlay(0) from:0x02100d1c kind:arm_call to:0x020801b0 module:overlay(0) from:0x02100d2c kind:arm_call to:0x020808d4 module:overlay(0) from:0x02100d60 kind:load to:0x027e0cd8 module:dtcm -from:0x02100d64 kind:load to:0x0203f964 module:main +from:0x02100d64 kind:load to:0x0203e964 add:0x1000 module:main from:0x02100d68 kind:load to:0x02117784 module:overlay(31) from:0x02100d6c kind:load to:0x02110c68 module:overlay(31) from:0x02100dec kind:arm_call to:0x01ffb714 module:itcm diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 84f3950c..0fe69dd8 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -498,7 +498,7 @@ _ZN12ActorUnkSWBM19func_ov031_020e6d80Ei kind:function(arm,size=0x104) addr:0x02 _ZN12ActorUnkSWBM19func_ov031_020e6e84Es kind:function(arm,size=0x74) addr:0x020e6e84 _ZN12ActorUnkSWBM6UpdateEv kind:function(arm,size=0x268) addr:0x020e6ef8 _ZN12ActorUnkSWBM8vfunc_24Ev kind:function(arm,size=0x2c) addr:0x020e7160 -_ZN12ActorUnkSWBM19func_ov031_020e718cEP7VecFx32P7MtxFx33ists kind:function(arm,size=0x108) addr:0x020e718c +_ZN12ActorUnkSWBM19func_ov031_020e718cEPK7VecFx32P7MtxFx33isss kind:function(arm,size=0x108) addr:0x020e718c _ZN12ActorUnkSWBM8vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x40) addr:0x020e7294 _ZN15ActorUnkSWBM_94D0Ev kind:function(arm,size=0x1c) addr:0x020e72d4 _ZN15ActorUnkSWBM_98D0Ev kind:function(arm,size=0x1c) addr:0x020e72f0 @@ -613,11 +613,11 @@ _ZN19ActorProfileUnkZLSL10GetProfileEv kind:function(thumb,size=0x8) addr:0x020e _ZN19ActorProfileUnkZLSL6CreateEv kind:function(thumb,size=0x1c) addr:0x020ea05c _ZN19ActorProfileUnkZLSLC1Ev kind:function(thumb,size=0x3c) addr:0x020ea078 _ZN24UnkStruct_ov031_0211361c8vfunc_00EP5Actor kind:function(thumb,size=0x30) addr:0x020ea0b4 -_ZN26ModelRender_ov031_02113670C2EP10G3d_Model_ kind:function(thumb,size=0x14) addr:0x020ea0e4 +_ZN26ModelRender_ov031_02113670C1EP10G3d_Model_ kind:function(thumb,size=0x14) addr:0x020ea0e4 _ZN26ModelRender_ov031_021136708vfunc_0CEv kind:function(thumb,size=0x8) addr:0x020ea0f8 _ZN12ActorUnkZLSL19func_ov031_020ea100Ev kind:function(thumb,size=0x40) addr:0x020ea100 _ZN12ActorUnkZLSLC1Ev kind:function(thumb,size=0x3b4) addr:0x020ea140 -_ZN24UnkStruct_ov031_0211372cD1Ev kind:function(thumb,size=0xc) addr:0x020ea4f4 +_ZN16ActorUnkZSRS_120D1Ev kind:function(thumb,size=0xc) addr:0x020ea4f4 _ZN26ModelRender_ov031_02113670D1Ev kind:function(thumb,size=0xc) addr:0x020ea500 _ZN17ActorUnkZLSL_2700D1Ev kind:function(thumb,size=0xc) addr:0x020ea50c _ZN17ActorUnkZLSL_27CCD1Ev kind:function(thumb,size=0xc) addr:0x020ea518 @@ -680,23 +680,23 @@ _ZN12ActorUnkZLSL8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020ec8bc _ZN12ActorUnkZLSL19func_ov031_020ec8c4Ev kind:function(arm,size=0xac) addr:0x020ec8c4 _ZN12ActorUnkZLSL8vfunc_98Ej kind:function(arm,size=0x270) addr:0x020ec970 _ZN12ActorUnkZLSL19func_ov031_020ecbe0Ev kind:function(arm,size=0x88) addr:0x020ecbe0 -_ZN12ActorUnkZLSL19func_ov031_020ecc68Ei kind:function(arm,size=0x240) addr:0x020ecc68 +_ZN12ActorUnkZLSL19func_ov031_020ecc68Eb kind:function(arm,size=0x240) addr:0x020ecc68 _ZN12ActorUnkZLSL19func_ov031_020ecea8E14UnkAngleStructiii kind:function(arm,size=0x208) addr:0x020ecea8 _ZN12ActorUnkZLSL19func_ov031_020ed0b0Ev kind:function(arm,size=0x310) addr:0x020ed0b0 _ZN12ActorUnkZLSL19func_ov031_020ed3c0Ev kind:function(arm,size=0xbc) addr:0x020ed3c0 -_ZN24UnkStruct_ov031_020ecc6819func_ov031_020ed47cEP12ActorUnkZLSLi kind:function(arm,size=0x68) addr:0x020ed47c +_ZN12ActorUnkZLSL19func_ov031_020ed47cEi kind:function(arm,size=0x68) addr:0x020ed47c _ZN12ActorUnkZLSL19func_ov031_020ed4e4Eii kind:function(arm,size=0x78) addr:0x020ed4e4 -_ZN12ActorUnkZLSL19func_ov031_020ed55cEv kind:function(arm,size=0x170) addr:0x020ed55c +_ZN12ActorUnkZLSL19func_ov031_020ed55cEi kind:function(arm,size=0x170) addr:0x020ed55c _ZN12ActorUnkZLSL19func_ov031_020ed6ccEi kind:function(arm,size=0x1e0) addr:0x020ed6cc _ZN12ActorUnkZLSL19func_ov031_020ed8acEi kind:function(arm,size=0x3d4) addr:0x020ed8ac _ZN12ActorUnkZLSL19func_ov031_020edc80Ev kind:function(arm,size=0x94) addr:0x020edc80 _ZN12ActorUnkZLSL19func_ov031_020edd14EP7VecFx32 kind:function(arm,size=0x40) addr:0x020edd14 -_ZN12ActorUnkZLSL19func_ov031_020edd54Ev kind:function(arm,size=0xdc) addr:0x020edd54 -_ZN12ActorUnkZLSL19func_ov031_020ede30Ev kind:function(arm,size=0x168) addr:0x020ede30 -_ZN12ActorUnkZLSL19func_ov031_020edf98Ev kind:function(arm,size=0x44) addr:0x020edf98 +_ZN12ActorUnkZLSL19func_ov031_020edd54E9RefStruct kind:function(arm,size=0xdc) addr:0x020edd54 +_ZN12ActorUnkZLSL19func_ov031_020ede30E9RefStruct kind:function(arm,size=0x168) addr:0x020ede30 +_ZN12ActorUnkZLSL19func_ov031_020edf98E9RefStruct kind:function(arm,size=0x44) addr:0x020edf98 _ZNK12ActorUnkZLSL12GetOffsetPosEP7VecFx32 kind:function(arm,size=0x24) addr:0x020edfdc _ZN12ActorUnkZLSL8vfunc_A4Ev kind:function(arm,size=0x1f4) addr:0x020ee000 -_ZN12ActorUnkZLSL19func_ov031_020ee1f4Ev kind:function(arm,size=0xd4) addr:0x020ee1f4 +_ZN12ActorUnkZLSL19func_ov031_020ee1f4EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xd4) addr:0x020ee1f4 _ZN12ActorUnkZLSL19func_ov031_020ee2c8Ev kind:function(arm,size=0x120) addr:0x020ee2c8 _ZN12ActorUnkZLSL8vfunc_B4Ev kind:function(arm,size=0x34) addr:0x020ee3e8 _ZN12ActorUnkZLSL19func_ov031_020ee41cEv kind:function(arm,size=0xa8) addr:0x020ee41c @@ -710,22 +710,22 @@ _ZN17ActorUnkZLSL_27CC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x020ee794 _ZN26ModelRender_ov031_02113670D0Ev kind:function(arm,size=0x1c) addr:0x020ee79c _ZN17ActorUnkZLSL_2700D0Ev kind:function(arm,size=0x1c) addr:0x020ee7b8 _ZN17ActorUnkZLSL_27CCD0Ev kind:function(arm,size=0x1c) addr:0x020ee7d4 -_ZN24UnkStruct_ov031_0211372c8vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee7f0 -_ZN24UnkStruct_ov031_0211372c8vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee814 -_ZN24UnkStruct_ov031_0211372cD0Ev kind:function(arm,size=0x1c) addr:0x020ee840 -_ZN19ActorProfileUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee85c -_ZN19ActorProfileUnkZSRSD2Ev kind:function(arm,size=0x20) addr:0x020ee884 -_ZN19ActorProfileUnkZLSLD2Ev kind:function(arm,size=0x14) addr:0x020ee8a4 +_ZN16ActorUnkZSRS_1208vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee7f0 +_ZN16ActorUnkZSRS_1208vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee814 +_ZN16ActorUnkZSRS_120D0Ev kind:function(arm,size=0x1c) addr:0x020ee840 +_ZN12ActorUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee85c +_ZN12ActorUnkZSRSD1Ev kind:function(arm,size=0x20) addr:0x020ee884 +_ZN19ActorProfileUnkZSRSD1Ev kind:function(arm,size=0x14) addr:0x020ee8a4 _ZN19ActorProfileUnkZLSLD1Ev kind:function(arm,size=0x14) addr:0x020ee8b8 func_ov031_020ee8cc kind:function(arm,size=0x28) addr:0x020ee8cc -func_ov031_020ee8f4 kind:function(thumb,size=0x48) addr:0x020ee8f4 +_ZN21ActorUnkZSRS_120_BaseC2EP10UnkSystem5S1_P11ModelRenderP19UnkActorFileSystem2P10G3d_Model_i kind:function(thumb,size=0x48) addr:0x020ee8f4 func_ov031_020ee93c kind:function(thumb,size=0xc) addr:0x020ee93c func_ov031_020ee948 kind:function(thumb,size=0x12) addr:0x020ee948 -func_ov031_020ee95c kind:function(thumb,size=0xc) addr:0x020ee95c -_ZN24UnkStruct_ov031_0211372c8vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020ee968 -_ZN24UnkStruct_ov031_0211372c8vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eeae4 -func_ov031_020eeb18 kind:function(arm,size=0x40) addr:0x020eeb18 -func_ov031_020eeb58 kind:function(arm,size=0x150) addr:0x020eeb58 +_ZN21ActorUnkZSRS_120_BaseD2Ev kind:function(thumb,size=0xc) addr:0x020ee95c +_ZN16ActorUnkZSRS_1208vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020ee968 +_ZN16ActorUnkZSRS_1208vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eeae4 +_ZN17ActorUnkZLSL_1690C1Ev kind:function(arm,size=0x40) addr:0x020eeb18 +_ZN17ActorUnkZLSL_169019func_ov031_020eeb58Ev kind:function(arm,size=0x150) addr:0x020eeb58 _ZN17ActorUnkZLSL_169019func_ov031_020eeca8Ev kind:function(arm,size=0x40) addr:0x020eeca8 _ZN17ActorUnkZLSL_169019func_ov031_020eece8Ev kind:function(arm,size=0xc) addr:0x020eece8 _ZN17ActorProfileHeart10GetProfileEv kind:function(arm,size=0xc) addr:0x020eecf4 @@ -2267,7 +2267,7 @@ _ZTV16ActorItemTornado kind:data(any) addr:0x0211302c _ZTV19data_ov031_02113090 kind:data(any) addr:0x02113088 _ZTV19data_ov031_021130a4 kind:data(any) addr:0x021130a4 _ZTV15ActorUnkSWBM_C8 kind:data(any) addr:0x02113108 -data_ov031_02113114 kind:data(any) addr:0x02113114 +data_ov031_02113114 kind:data(any) addr:0x02113114 local _ZTV15ActorUnkSWBM_98 kind:data(any) addr:0x02113124 _ZTV15ActorUnkSWBM_94 kind:data(any) addr:0x02113140 _ZTV19ActorProfileUnkSWBM kind:data(any) addr:0x0211315c @@ -2301,22 +2301,12 @@ _ZTV19ActorProfileUnkZSRS kind:data(any) addr:0x02113644 _ZTV26ModelRender_ov031_02113670 kind:data(any) addr:0x02113668 _ZTV17ActorUnkZLSL_27CC kind:data(any) addr:0x02113694 _ZTV17ActorUnkZLSL_2700 kind:data(any) addr:0x021136dc -_ZTV24UnkStruct_ov031_0211372c kind:data(any) addr:0x02113724 +_ZTV16ActorUnkZSRS_120 kind:data(any) addr:0x02113724 data_ov031_02113770 kind:data(any) addr:0x02113770 data_ov031_021137f8 kind:data(any) addr:0x021137f8 _ZTV12ActorUnkZLSL kind:data(any) addr:0x02113880 _ZTV12ActorUnkZSRS kind:data(any) addr:0x02113944 data_ov031_02113a08 kind:data(any) addr:0x02113a08 -data_ov031_02113a20 kind:data(any) addr:0x02113a20 -data_ov031_02113a38 kind:data(any) addr:0x02113a38 -data_ov031_02113a50 kind:data(any) addr:0x02113a50 -data_ov031_02113a68 kind:data(any) addr:0x02113a68 -data_ov031_02113a80 kind:data(any) addr:0x02113a80 -data_ov031_02113a98 kind:data(any) addr:0x02113a98 -data_ov031_02113ab0 kind:data(any) addr:0x02113ab0 -data_ov031_02113ac8 kind:data(any) addr:0x02113ac8 -data_ov031_02113ae0 kind:data(any) addr:0x02113ae0 -data_ov031_02113af8 kind:data(any) addr:0x02113af8 data_ov031_02113b58 kind:data(any) addr:0x02113b58 data_ov031_02113d08 kind:data(any) addr:0x02113d08 _ZTV19data_ov031_02113d14 kind:data(any) addr:0x02113d0c @@ -2532,14 +2522,12 @@ _ZGVN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x0211 @10799 kind:bss addr:0x02116538 _ZN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x02116544 _ZGVN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02116580 -@10805 kind:bss addr:0x02116584 +@10805 kind:bss addr:0x02116584 local _ZN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02116590 data_ov031_021165cc kind:bss addr:0x021165cc _ZGVN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x021165d0 @10811 kind:bss addr:0x021165d4 _ZN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x021165e0 -data_ov031_021165f0 kind:bss addr:0x021165f0 ambiguous -data_ov031_021166b8 kind:bss addr:0x021166b8 data_ov031_021166d8 kind:bss addr:0x021166d8 data_ov031_021166dc kind:bss addr:0x021166dc _ZN15ProfileInstanceI17ActorProfileRupeeE8sProfileE kind:bss addr:0x021166e8 @@ -2567,7 +2555,7 @@ _ZGVN15ProfileInstanceI21ActorProfileShotArrowE8sProfileE kind:bss addr:0x02116a @10860 kind:bss addr:0x02116a74 _ZN15ProfileInstanceI21ActorProfileShotArrowE8sProfileE kind:bss addr:0x02116a80 _ZGVN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116abc -@10866 kind:bss addr:0x02116ac0 +@10866 kind:bss addr:0x02116ac0 local _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116acc _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116b08 @10872 kind:bss addr:0x02116b0c local diff --git a/config/eur/arm9/overlays/ov032/relocs.txt b/config/eur/arm9/overlays/ov032/relocs.txt index df8ba3fc..117e135e 100644 --- a/config/eur/arm9/overlays/ov032/relocs.txt +++ b/config/eur/arm9/overlays/ov032/relocs.txt @@ -814,7 +814,7 @@ from:0x02120160 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02120170 kind:arm_call to:0x01ffa60c module:itcm from:0x0212017c kind:arm_call to:0x0205f8e8 module:overlay(0) from:0x02120188 kind:load to:0x027e0ce4 module:dtcm -from:0x0212018c kind:load to:0x02040964 module:main +from:0x0212018c kind:load to:0x0203e964 add:0x2000 module:main from:0x021201a8 kind:arm_call to:0x01fff3b4 module:itcm from:0x021201bc kind:arm_call to:0x02120894 module:overlay(32) from:0x0212021c kind:arm_call to:0x01ffa7a0 module:itcm diff --git a/config/eur/arm9/overlays/ov032/symbols.txt b/config/eur/arm9/overlays/ov032/symbols.txt index 8235031d..f091a15d 100644 --- a/config/eur/arm9/overlays/ov032/symbols.txt +++ b/config/eur/arm9/overlays/ov032/symbols.txt @@ -157,7 +157,7 @@ _ZN10ActorKeese19func_ov032_0211f804Ev kind:function(arm,size=0x138) addr:0x0211 _ZN10ActorKeese19func_ov032_0211f93cEP7VecFx32i kind:function(arm,size=0x88) addr:0x0211f93c _ZN10ActorKeese19func_ov032_0211f9c4Ev kind:function(arm,size=0x88) addr:0x0211f9c4 _ZN10ActorKeese19func_ov032_0211fa4cEi kind:function(arm,size=0xa4) addr:0x0211fa4c -_ZN10ActorKeese19func_ov032_0211faf0EPvi kind:function(arm,size=0xac) addr:0x0211faf0 +_ZN10ActorKeese19func_ov032_0211faf0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xac) addr:0x0211faf0 _ZN24UnkStruct_ov032_0212251cC1Ev kind:function(arm,size=0x18) addr:0x0211fb9c _ZN24UnkStruct_ov032_0212251c8vfunc_00EP9MapObject kind:function(arm,size=0x38) addr:0x0211fbb4 _ZN14ActorKeese_284C1Ev kind:function(arm,size=0x14) addr:0x0211fbec diff --git a/config/eur/arm9/overlays/ov036/relocs.txt b/config/eur/arm9/overlays/ov036/relocs.txt index 53d0fd7a..9bf202f0 100644 --- a/config/eur/arm9/overlays/ov036/relocs.txt +++ b/config/eur/arm9/overlays/ov036/relocs.txt @@ -1239,7 +1239,7 @@ from:0x02120c5c kind:arm_call to:0x02061f60 module:overlay(0) from:0x02120c64 kind:arm_call to:0x0201f2cc module:main from:0x02120c6c kind:arm_call to:0x02061ac4 module:overlay(0) from:0x02120c74 kind:arm_call to:0x02011ff4 module:main -from:0x02120dcc kind:load to:0x02040105 module:main +from:0x02120dcc kind:load to:0x0203e964 add:0x17a1 module:main from:0x02120e40 kind:load to:0x020c010a module:overlays(2,4) from:0x02120e8c kind:arm_call to:0x0211afac module:overlay(36) from:0x02120e9c kind:arm_call to:0x0203ce74 module:main diff --git a/config/eur/arm9/overlays/ov041/relocs.txt b/config/eur/arm9/overlays/ov041/relocs.txt index f258fbe6..8107f4e1 100644 --- a/config/eur/arm9/overlays/ov041/relocs.txt +++ b/config/eur/arm9/overlays/ov041/relocs.txt @@ -713,7 +713,7 @@ from:0x02129bc4 kind:arm_call to:0x02057f98 module:overlay(0) from:0x02129c10 kind:arm_call to:0x020c08c4 module:overlay(17) from:0x02129c1c kind:load to:0x027e0ce4 module:dtcm from:0x02129c24 kind:load to:0x0203e964 module:main -from:0x02129c28 kind:load to:0x0203f964 module:main +from:0x02129c28 kind:load to:0x0203e964 add:0x1000 module:main from:0x02129c2c kind:load to:0x027e09b4 module:dtcm from:0x02129c58 kind:arm_call to:0x020bef88 module:overlay(17) from:0x02129c68 kind:arm_call to:0x020bef88 module:overlay(17) diff --git a/config/eur/arm9/overlays/ov043/relocs.txt b/config/eur/arm9/overlays/ov043/relocs.txt index 512a66ac..7728435b 100644 --- a/config/eur/arm9/overlays/ov043/relocs.txt +++ b/config/eur/arm9/overlays/ov043/relocs.txt @@ -276,7 +276,7 @@ from:0x02125c70 kind:arm_call to:0x02058038 module:overlay(0) from:0x02125c84 kind:arm_call to:0x01ff8e58 module:itcm from:0x02125cbc kind:arm_call to:0x020bf5c4 module:overlay(17) from:0x02125cc8 kind:load to:0x0212ca28 module:overlay(43) -from:0x02125ccc kind:load to:0x0203f964 module:main +from:0x02125ccc kind:load to:0x0203e964 add:0x1000 module:main from:0x02125cd0 kind:load to:0x0203e964 module:main from:0x02125ce8 kind:arm_call to:0x02099004 module:overlay(0) from:0x02125cfc kind:arm_call to:0x020989e0 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov046/relocs.txt b/config/eur/arm9/overlays/ov046/relocs.txt index 601ab6e7..757ba0fb 100644 --- a/config/eur/arm9/overlays/ov046/relocs.txt +++ b/config/eur/arm9/overlays/ov046/relocs.txt @@ -483,7 +483,7 @@ from:0x02127e80 kind:arm_call to:0x01ffa7a0 module:itcm from:0x02127e90 kind:arm_call to:0x01ffb6e4 module:itcm from:0x02127ed0 kind:arm_call to:0x021287c4 module:overlay(46) from:0x02127edc kind:load to:0x027e0ce4 module:dtcm -from:0x02127ee0 kind:load to:0x02040964 module:main +from:0x02127ee0 kind:load to:0x0203e964 add:0x2000 module:main from:0x02127f70 kind:arm_call to:0x02127d8c module:overlay(46) from:0x02127fa0 kind:arm_call to:0x01ff938c module:itcm from:0x02127fdc kind:arm_call to:0x01fff17c module:itcm diff --git a/config/eur/arm9/overlays/ov050/relocs.txt b/config/eur/arm9/overlays/ov050/relocs.txt index da548b55..b47ff34a 100644 --- a/config/eur/arm9/overlays/ov050/relocs.txt +++ b/config/eur/arm9/overlays/ov050/relocs.txt @@ -635,7 +635,7 @@ from:0x021358b8 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x021358c8 kind:arm_call to:0x01ffa60c module:itcm from:0x021358d4 kind:arm_call to:0x0205f8e8 module:overlay(0) from:0x021358e0 kind:load to:0x027e0ce4 module:dtcm -from:0x021358e4 kind:load to:0x02040964 module:main +from:0x021358e4 kind:load to:0x0203e964 add:0x2000 module:main from:0x02135900 kind:arm_call to:0x01fff3b4 module:itcm from:0x02135914 kind:arm_call to:0x02135d0c module:overlay(50) from:0x0213595c kind:arm_call to:0x01ffa7a0 module:itcm diff --git a/config/eur/arm9/overlays/ov055/relocs.txt b/config/eur/arm9/overlays/ov055/relocs.txt index f5d2275b..b0552369 100644 --- a/config/eur/arm9/overlays/ov055/relocs.txt +++ b/config/eur/arm9/overlays/ov055/relocs.txt @@ -529,7 +529,7 @@ from:0x0213cc64 kind:arm_call to:0x01ffa60c module:itcm from:0x0213cca4 kind:arm_call to:0x01ffa7a0 module:itcm from:0x0213ccfc kind:arm_call to:0x01ffa7a0 module:itcm from:0x0213cd24 kind:load to:0x027e0ce4 module:dtcm -from:0x0213cd28 kind:load to:0x0203f964 module:main +from:0x0213cd28 kind:load to:0x0203e964 add:0x1000 module:main from:0x0213cd2c kind:load to:0x0203e964 module:main from:0x0213cd44 kind:arm_call to:0x01fff5d0 module:itcm from:0x0213cd74 kind:arm_call to:0x0213cb78 module:overlay(55) diff --git a/config/eur/arm9/overlays/ov058/relocs.txt b/config/eur/arm9/overlays/ov058/relocs.txt index 79119375..99f4387c 100644 --- a/config/eur/arm9/overlays/ov058/relocs.txt +++ b/config/eur/arm9/overlays/ov058/relocs.txt @@ -1918,7 +1918,7 @@ from:0x02150130 kind:arm_call to:0x01ffcfcc module:itcm from:0x021501a4 kind:arm_call to:0x0209d29c module:overlay(0) from:0x021501c4 kind:arm_call to:0x0215026c module:overlay(58) from:0x021501d4 kind:load to:0x027e0cd8 module:dtcm -from:0x021501d8 kind:load to:0x0203f964 module:main +from:0x021501d8 kind:load to:0x0203e964 add:0x1000 module:main from:0x021501dc kind:load to:0x02157a04 module:overlay(58) from:0x021501e0 kind:load to:0x021533d0 module:overlay(58) from:0x0215024c kind:arm_call to:0x0210b0e4 module:overlay(31) diff --git a/config/eur/arm9/overlays/ov059/relocs.txt b/config/eur/arm9/overlays/ov059/relocs.txt index 183ed9f8..26c92915 100644 --- a/config/eur/arm9/overlays/ov059/relocs.txt +++ b/config/eur/arm9/overlays/ov059/relocs.txt @@ -602,7 +602,7 @@ from:0x0215d278 kind:arm_call to:0x020786dc module:overlay(0) from:0x0215d2b0 kind:arm_call to:0x020bf5c4 module:overlay(17) from:0x0215d2bc kind:load to:0x027e0ce4 module:dtcm from:0x0215d2c0 kind:load to:0x0203e964 module:main -from:0x0215d2c4 kind:load to:0x0203f964 module:main +from:0x0215d2c4 kind:load to:0x0203e964 add:0x1000 module:main from:0x0215d2d0 kind:load to:0x027e0ce0 module:dtcm from:0x0215d2d4 kind:load to:0x027e09bc module:dtcm from:0x0215d2f4 kind:arm_call to:0x020975f8 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov060/relocs.txt b/config/eur/arm9/overlays/ov060/relocs.txt index 206298df..b814330d 100644 --- a/config/eur/arm9/overlays/ov060/relocs.txt +++ b/config/eur/arm9/overlays/ov060/relocs.txt @@ -192,9 +192,9 @@ from:0x02159df4 kind:arm_call to:0x02071b30 module:overlay(0) from:0x02159e20 kind:load to:0x027e09a8 module:dtcm from:0x02159e24 kind:load to:0x021618f0 module:overlay(60) from:0x02159e2c kind:load to:0x027e0ce0 module:dtcm -from:0x02159e34 kind:load to:0x02040964 module:main -from:0x02159e38 kind:load to:0x0203f964 module:main -from:0x02159e3c kind:load to:0x02041964 module:main +from:0x02159e34 kind:load to:0x0203e964 add:0x2000 module:main +from:0x02159e38 kind:load to:0x0203e964 add:0x1000 module:main +from:0x02159e3c kind:load to:0x0203e964 add:0x3000 module:main from:0x02159e88 kind:load to:0x02161938 module:overlay(60) from:0x02159eb0 kind:arm_call to:0x020732ec module:overlay(0) from:0x02159edc kind:arm_call to:0x020732ec module:overlay(0) diff --git a/config/eur/arm9/overlays/ov062/relocs.txt b/config/eur/arm9/overlays/ov062/relocs.txt index 5946d08c..8436bb4f 100644 --- a/config/eur/arm9/overlays/ov062/relocs.txt +++ b/config/eur/arm9/overlays/ov062/relocs.txt @@ -174,7 +174,7 @@ from:0x02158e6c kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x02158ea8 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02158eb8 kind:arm_call to:0x01ffa60c module:itcm from:0x02158f2c kind:arm_call to:0x01fff60c module:itcm -from:0x02158f38 kind:load to:0x02040964 module:main +from:0x02158f38 kind:load to:0x0203e964 add:0x2000 module:main from:0x02158f3c kind:load to:0x0203e964 module:main from:0x02158f40 kind:load to:0x027e09b4 module:dtcm from:0x02158f54 kind:arm_call_thumb to:0x02057ed4 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov067/relocs.txt b/config/eur/arm9/overlays/ov067/relocs.txt index a16f2a6c..dda4489b 100644 --- a/config/eur/arm9/overlays/ov067/relocs.txt +++ b/config/eur/arm9/overlays/ov067/relocs.txt @@ -204,7 +204,7 @@ from:0x02159950 kind:load to:0x02158ba4 module:overlay(67) from:0x0215995c kind:load to:0x02158bc4 module:overlay(67) from:0x02159968 kind:load to:0x02158c10 module:overlay(67) from:0x02159ac8 kind:load to:0x0215d0ec module:overlay(67) -from:0x02159acc kind:load to:0x0203f964 module:main +from:0x02159acc kind:load to:0x0203e964 add:0x1000 module:main from:0x02159b0c kind:arm_call to:0x01ff930c module:itcm from:0x02159b2c kind:arm_call to:0x01ffb714 module:itcm from:0x02159b38 kind:arm_call to:0x01ff97c8 module:itcm diff --git a/config/eur/arm9/overlays/ov070/relocs.txt b/config/eur/arm9/overlays/ov070/relocs.txt index e93fbdfa..16440dab 100644 --- a/config/eur/arm9/overlays/ov070/relocs.txt +++ b/config/eur/arm9/overlays/ov070/relocs.txt @@ -1395,7 +1395,7 @@ from:0x0214a90c kind:load to:0x027e0ce0 module:dtcm from:0x0214a910 kind:load to:0x027e09a8 module:dtcm from:0x0214a924 kind:load to:0x02099764 module:overlay(0) from:0x0214a948 kind:arm_call_thumb to:0x01ffa1a0 module:itcm -from:0x0214a9b8 kind:load to:0x0203f964 module:main +from:0x0214a9b8 kind:load to:0x0203e964 add:0x1000 module:main from:0x0214aa50 kind:arm_call to:0x0208053c module:overlay(0) from:0x0214aa7c kind:arm_call to:0x0209d2c4 module:overlay(0) from:0x0214aab0 kind:arm_call to:0x020803ec module:overlay(0) diff --git a/config/eur/arm9/overlays/ov075/relocs.txt b/config/eur/arm9/overlays/ov075/relocs.txt index a391dbfe..54789c48 100644 --- a/config/eur/arm9/overlays/ov075/relocs.txt +++ b/config/eur/arm9/overlays/ov075/relocs.txt @@ -1748,8 +1748,8 @@ from:0x0216089c kind:arm_call_thumb to:0x01ffa970 module:itcm from:0x021608b4 kind:arm_call_thumb to:0x01ffa9ac module:itcm from:0x021608c4 kind:arm_call to:0x01ffad5c module:itcm from:0x021608e8 kind:arm_call to:0x020f1878 module:overlay(31) -from:0x021608f4 kind:load to:0x0203f964 module:main -from:0x021608f8 kind:load to:0x0203f164 module:main +from:0x021608f4 kind:load to:0x0203e964 add:0x1000 module:main +from:0x021608f8 kind:load to:0x0203e964 add:0x800 module:main from:0x02160914 kind:arm_call to:0x01fff5d0 module:itcm from:0x0216097c kind:arm_call to:0x0200eab0 module:main from:0x02160990 kind:arm_call to:0x01ffad5c module:itcm diff --git a/config/eur/arm9/overlays/ov083/relocs.txt b/config/eur/arm9/overlays/ov083/relocs.txt index a1cd05ef..420cca24 100644 --- a/config/eur/arm9/overlays/ov083/relocs.txt +++ b/config/eur/arm9/overlays/ov083/relocs.txt @@ -786,7 +786,7 @@ from:0x0215a7c0 kind:load to:0x0215dcf4 module:overlay(83) from:0x0215a7c4 kind:load to:0x020b1960 add:0x8 module:overlay(0) from:0x0215a7c8 kind:load to:0x0215e454 module:overlay(83) from:0x0215a7cc kind:load to:0x027e0130 module:dtcm -from:0x0215a7d0 kind:load to:0x02041964 module:main +from:0x0215a7d0 kind:load to:0x0203e964 add:0x3000 module:main from:0x0215a844 kind:arm_call to:0x01ffb974 module:itcm from:0x0215a858 kind:arm_call to:0x01ffb974 module:itcm from:0x0215a8e4 kind:arm_call to:0x02098ab4 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov084/relocs.txt b/config/eur/arm9/overlays/ov084/relocs.txt index 0a80e3da..d07a4be1 100644 --- a/config/eur/arm9/overlays/ov084/relocs.txt +++ b/config/eur/arm9/overlays/ov084/relocs.txt @@ -87,7 +87,7 @@ from:0x02152008 kind:load to:0x0203e964 module:main from:0x02152070 kind:arm_call to:0x01ff9638 module:itcm from:0x0215207c kind:arm_call to:0x01ffb744 module:itcm from:0x021520bc kind:arm_call to:0x020f7c3c module:overlay(31) -from:0x021520d0 kind:load to:0x0203ee64 module:main +from:0x021520d0 kind:load to:0x0203e964 add:0x500 module:main from:0x021520f4 kind:arm_call to:0x0203d160 module:main from:0x02152144 kind:arm_call to:0x02028c90 module:main from:0x02152154 kind:load to:0x02152160 module:overlay(84) diff --git a/config/eur/arm9/overlays/ov088/relocs.txt b/config/eur/arm9/overlays/ov088/relocs.txt index 7de75603..139205b6 100644 --- a/config/eur/arm9/overlays/ov088/relocs.txt +++ b/config/eur/arm9/overlays/ov088/relocs.txt @@ -1314,7 +1314,7 @@ from:0x0216fec4 kind:arm_call to:0x02028cdc module:main from:0x0216fee8 kind:arm_call to:0x020c0a30 module:overlay(17) from:0x0216fef4 kind:load to:0x027e0ce0 module:dtcm from:0x0216fef8 kind:load to:0x021744d4 module:overlay(88) -from:0x0216fefc kind:load to:0x02041964 module:main +from:0x0216fefc kind:load to:0x0203e964 add:0x3000 module:main from:0x0216ff00 kind:load to:0x020aa394 module:overlay(0) from:0x0216ff04 kind:load to:0x020ab4dc module:overlay(0) from:0x0216ff0c kind:load to:0x027e09b4 module:dtcm diff --git a/config/eur/arm9/overlays/ov093/symbols.txt b/config/eur/arm9/overlays/ov093/symbols.txt index d85cbd1d..cca88fb4 100644 --- a/config/eur/arm9/overlays/ov093/symbols.txt +++ b/config/eur/arm9/overlays/ov093/symbols.txt @@ -17,7 +17,7 @@ func_ov093_021660d8 kind:function(arm,size=0x10) addr:0x021660d8 func_ov093_021660e8 kind:function(arm,size=0x10) addr:0x021660e8 _ZN18UnkStruct_027e0d8c19func_ov093_021660f8Ev kind:function(arm,size=0x10) addr:0x021660f8 _ZN18UnkStruct_027e0d8c19func_ov093_02166108Ev kind:function(arm,size=0x10) addr:0x02166108 -func_ov093_02166118 kind:function(arm,size=0x10) addr:0x02166118 +_ZN18UnkStruct_027e0d8c19func_ov093_02166118Ev kind:function(arm,size=0x10) addr:0x02166118 func_ov093_02166128 kind:function(arm,size=0x10) addr:0x02166128 func_ov093_02166138 kind:function(arm,size=0x18) addr:0x02166138 func_ov093_02166150 kind:function(arm,size=0x18) addr:0x02166150 diff --git a/config/eur/arm9/overlays/ov094/relocs.txt b/config/eur/arm9/overlays/ov094/relocs.txt index 595ead6b..673cd23a 100644 --- a/config/eur/arm9/overlays/ov094/relocs.txt +++ b/config/eur/arm9/overlays/ov094/relocs.txt @@ -791,7 +791,7 @@ from:0x0216c5a4 kind:arm_call to:0x01ffb860 module:itcm from:0x0216c5b0 kind:arm_call to:0x01ffb744 module:itcm from:0x0216c600 kind:arm_call to:0x02097c20 module:overlay(0) from:0x0216c618 kind:load to:0x027e0ce4 module:dtcm -from:0x0216c628 kind:load to:0x0203f564 module:main +from:0x0216c628 kind:load to:0x0203e964 add:0xc00 module:main from:0x0216c634 kind:load to:0x02178bcc module:overlay(94) from:0x0216c648 kind:arm_call to:0x02011f3c module:main from:0x0216c654 kind:arm_call to:0x0216c6ac module:overlay(94) diff --git a/config/eur/arm9/overlays/ov112/relocs.txt b/config/eur/arm9/overlays/ov112/relocs.txt index e1670fb8..575472f9 100644 --- a/config/eur/arm9/overlays/ov112/relocs.txt +++ b/config/eur/arm9/overlays/ov112/relocs.txt @@ -39,9 +39,9 @@ from:0x02185344 kind:arm_call to:0x02073388 module:overlay(0) from:0x02185624 kind:arm_call to:0x02080998 module:overlay(0) from:0x02185720 kind:load to:0x0203e964 module:main from:0x02185724 kind:load to:0x027e0cd8 module:dtcm -from:0x02185728 kind:load to:0x02040964 module:main -from:0x0218572c kind:load to:0x02041964 module:main -from:0x02185730 kind:load to:0x0203f964 module:main +from:0x02185728 kind:load to:0x0203e964 add:0x2000 module:main +from:0x0218572c kind:load to:0x0203e964 add:0x3000 module:main +from:0x02185730 kind:load to:0x0203e964 add:0x1000 module:main from:0x02185734 kind:load to:0x027e0ce8 module:dtcm from:0x02185744 kind:load to:0x027e0ce4 module:dtcm from:0x02185760 kind:load to:0x027e09a4 module:dtcm diff --git a/config/eur/arm9/relocs.txt b/config/eur/arm9/relocs.txt index cd7af2c4..b743e2eb 100644 --- a/config/eur/arm9/relocs.txt +++ b/config/eur/arm9/relocs.txt @@ -5806,7 +5806,7 @@ from:0x0203de04 kind:load to:0x02008590 module:main from:0x0203de08 kind:load to:0x020087f8 module:main from:0x0203de1c kind:load to:0x02010200 module:main from:0x0203de24 kind:load to:0x02010200 module:main -from:0x0203df9c kind:load to:0x02040202 module:main +from:0x0203df9c kind:load to:0x0203e964 add:0x189e module:main from:0x0203e0dc kind:load to:0x02043770 module:main from:0x0203e0e0 kind:load to:0x02043778 module:main from:0x0203e0e4 kind:load to:0x02043768 module:main diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index 8d28b24b..9d810ebf 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -2308,22 +2308,6 @@ data_0203e90c kind:data(any) addr:0x0203e90c data_0203e958 kind:data(any) addr:0x0203e958 data_0203e95e kind:data(any) addr:0x0203e95e gSinCosTable kind:data(any) addr:0x0203e964 -data_0203ea64 kind:data(any) addr:0x0203ea64 -data_0203ec64 kind:data(any) addr:0x0203ec64 -data_0203ee64 kind:data(any) addr:0x0203ee64 -data_0203f164 kind:data(any) addr:0x0203f164 -data_0203f364 kind:data(any) addr:0x0203f364 -data_0203f564 kind:data(any) addr:0x0203f564 -data_0203f964 kind:data(any) addr:0x0203f964 -data_02040105 kind:data(any) addr:0x02040105 -data_02040202 kind:data(any) addr:0x02040202 -data_02040364 kind:data(any) addr:0x02040364 -data_02040403 kind:data(any) addr:0x02040403 -data_02040964 kind:data(any) addr:0x02040964 -data_02041364 kind:data(any) addr:0x02041364 -data_02041964 kind:data(any) addr:0x02041964 -data_02042364 kind:data(any) addr:0x02042364 -data_02042564 kind:data(any) addr:0x02042564 data_02042964 kind:data(any) addr:0x02042964 data_02042a68 kind:data(any) addr:0x02042a68 data_02042b6c kind:data(any) addr:0x02042b6c diff --git a/config/eur1/arm9/overlays/ov000/relocs.txt b/config/eur1/arm9/overlays/ov000/relocs.txt index 7072bb56..9bb544cf 100644 --- a/config/eur1/arm9/overlays/ov000/relocs.txt +++ b/config/eur1/arm9/overlays/ov000/relocs.txt @@ -8548,7 +8548,7 @@ from:0x020aa2a4 kind:load to:0x020b1a20 module:overlay(0) from:0x020aa2a8 kind:load to:0x020b19f8 module:overlay(0) from:0x020aa2ac kind:load to:0x020b1a08 module:overlay(0) from:0x020aa2b0 kind:load to:0x020b1a10 module:overlay(0) -from:0x020ab140 kind:load to:0x02040403 module:main +from:0x020ab140 kind:load to:0x0203e964 add:0x1a9f module:main from:0x020ab530 kind:load to:0x020b2b1c module:overlay(0) from:0x020ab584 kind:load to:0x020ac07c module:overlay(0) from:0x020ab588 kind:load to:0x020ab704 module:overlay(0) @@ -8595,7 +8595,7 @@ from:0x020ae534 kind:load to:0x0213f8b4 module:overlays(26,70) from:0x020ae538 kind:load to:0x020f14c0 module:overlays(22,31) from:0x020ae53c kind:load to:0x021570fc module:overlays(58,77) from:0x020ae540 kind:load to:0x02153088 module:overlays(29,58,77) -from:0x020ae544 kind:load to:0x020f3eac module:overlays(22,23,31) +from:0x020ae544 kind:load to:0x020f3eac module:overlay(31) from:0x020ae548 kind:load to:0x020f032c module:overlays(21,22) from:0x020ae54c kind:load to:0x020f0d1c module:overlays(21,22) from:0x020ae550 kind:load to:0x02157fc0 module:overlays(59,60,61,62,63,64,65,66,67,68,69,79) @@ -8999,7 +8999,7 @@ from:0x020aeb84 kind:load to:0x02123600 module:overlays(40,41,42,43,44,45,46) from:0x020aeb88 kind:load to:0x021305e0 module:overlays(47,48,49,50,51,52) from:0x020aeb8c kind:load to:0x0216a4a0 module:overlay(94) from:0x020aeb90 kind:load to:0x021332a4 module:overlays(26,52) -from:0x020aeb94 kind:load to:0x020e6c54 module:overlays(20,31) +from:0x020aeb94 kind:load to:0x020e6c54 module:overlay(31) from:0x020aeb98 kind:load to:0x020f7bb4 module:overlay(31) from:0x020aeb9c kind:load to:0x02143ae8 module:overlay(70) from:0x020aeba0 kind:load to:0x0215cc30 module:overlays(66,67) diff --git a/config/eur1/arm9/overlays/ov000/symbols.txt b/config/eur1/arm9/overlays/ov000/symbols.txt index 3a88c065..a7f2f3cd 100644 --- a/config/eur1/arm9/overlays/ov000/symbols.txt +++ b/config/eur1/arm9/overlays/ov000/symbols.txt @@ -1253,7 +1253,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x02078208 func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x0207821c _ZN21UnkStruct_027e09bc_0C19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078264 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x02078348 -_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P29UnkStackStruct_ov000_02077590i kind:function(arm,size=0x40) addr:0x02078380 +_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P15UnkStackStruct2i kind:function(arm,size=0x40) addr:0x02078380 func_ov000_0207838c kind:function(arm,size=0x70) addr:0x020783c0 func_ov000_020783fc kind:function(arm,size=0x88) addr:0x02078430 func_ov000_02078484 kind:function(arm,size=0x40) addr:0x020784b8 @@ -1457,7 +1457,7 @@ func_ov000_0207d9f8 kind:function(arm,size=0x48) addr:0x0207da2c _ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207da74 func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207dc80 func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc98 -func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dcbc +_ZN18UnkStruct_027e09c019func_ov000_0207dc88EPP5ActorP8Actor_38 kind:function(arm,size=0x210) addr:0x0207dcbc _ZN18UnkStruct_027e09c019func_ov000_0207de98E9RefStructP24UnkStruct_ov000_0207de98P8Actor_38 kind:function(arm,size=0xc0) addr:0x0207decc func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207df8c _ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207dfbc @@ -1912,7 +1912,7 @@ func_ov000_0208ba30 kind:function(arm,size=0x10) addr:0x0208ba7c _ZN18UnkStruct_027e0ce019func_ov000_0208ba40EP17SaveInventoryData kind:function(thumb,size=0x1e) addr:0x0208ba8c func_ov000_0208ba60 kind:function(arm,size=0x20) addr:0x0208baac func_ov000_0208ba80 kind:function(arm,size=0x14) addr:0x0208bacc -func_ov000_0208ba94 kind:function(arm,size=0x1c) addr:0x0208bae0 +_ZN18UnkStruct_027e0ce019func_ov000_0208ba94EiP7VecFx32 kind:function(arm,size=0x1c) addr:0x0208bae0 func_ov000_0208bab0 kind:function(arm,size=0x1c) addr:0x0208bafc _ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208bb18 func_ov000_0208badc kind:function(arm,size=0x10) addr:0x0208bb28 @@ -1927,7 +1927,7 @@ func_ov000_0208bb84 kind:function(arm,size=0x10) addr:0x0208bbd0 func_ov000_0208bb94 kind:function(arm,size=0x10) addr:0x0208bbe0 func_ov000_0208bba4 kind:function(arm,size=0x10) addr:0x0208bbf0 func_ov000_0208bbb4 kind:function(arm,size=0x10) addr:0x0208bc00 -func_ov000_0208bbc4 kind:function(arm,size=0x10) addr:0x0208bc10 +_ZN18UnkStruct_027e0ce019func_ov000_0208bbc4EiPv kind:function(arm,size=0x10) addr:0x0208bc10 func_ov000_0208bbd4 kind:function(arm,size=0x2c) addr:0x0208bc20 func_ov000_0208bc00 kind:function(arm,size=0x1c) addr:0x0208bc4c _ZN18UnkStruct_027e0ce019func_ov000_0208bc1cEiiiP8CylinderPvi kind:function(arm,size=0x40) addr:0x0208bc68 @@ -2275,7 +2275,7 @@ _ZN12ActorProfile8vfunc_18Ev kind:function(arm,size=0x4) addr:0x0209786c func_ov000_0209781c kind:function(arm,size=0x7c) addr:0x02097870 _ZN21ActorProfile_Derived1C2Ej kind:function(arm,size=0x30) addr:0x020978ec func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x0209791c -_ZN21ActorProfile_Derived1C2EjS0_ kind:function(arm,size=0x30) addr:0x02097930 +_ZN21ActorProfile_Derived1C2Ejj kind:function(arm,size=0x30) addr:0x02097930 _ZN21ActorProfile_Derived1D2Ev kind:function(arm,size=0x38) addr:0x02097960 _ZN21ActorProfile_Derived18vfunc_04Ev kind:function(arm,size=0x8) addr:0x02097998 _ZN21ActorProfile_Derived18vfunc_10Ev kind:function(arm,size=0x20) addr:0x020979a0 @@ -2375,9 +2375,9 @@ func_ov000_02099870 kind:function(arm,size=0x80) addr:0x020998c4 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_020998f0E9RefStructP7VecFx32 kind:function(arm,size=0x11c) addr:0x02099944 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x02099a60 func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x02099a70 -_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x02099a7c +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP33MapObjectProfile_Derived2_20_Base kind:function(thumb,size=0x54) addr:0x02099a7c func_ov000_02099a7c kind:function(thumb,size=0x48) addr:0x02099ad0 -func_ov000_02099ac4 kind:function(thumb,size=0x28) addr:0x02099b18 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P26ModelRender_ov031_02113670P33MapObjectProfile_Derived2_20_BaseP10G3d_Model_i kind:function(thumb,size=0x28) addr:0x02099b18 func_ov000_02099aec kind:function(thumb,size=0x2) addr:0x02099b40 _ZN19func_ov000_02099af0D0Ev kind:function(thumb,size=0xc) addr:0x02099b44 _ZN24UnkStruct_ov000_020b31a8D2Ev kind:function(thumb,size=0x2) addr:0x02099b50 @@ -2424,7 +2424,7 @@ func_ov000_0209a738 kind:function(arm,size=0x2c) addr:0x0209a78c _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209a7b8 func_ov000_0209a780 kind:function(thumb,size=0x1c) addr:0x0209a7d4 _ZN26ModelRender_ov000_020b4d648vfunc_1CEP16G3d_RenderState_ kind:function(arm,size=0x1c) addr:0x0209a7f0 -_ZN11ModelRender19func_ov000_0209a7b8EPvPFvS0_iE kind:function(arm,size=0xc) addr:0x0209a80c +_ZN11ModelRender19func_ov000_0209a7b8EPvPFvP5ActorP16G3d_RenderState_E kind:function(arm,size=0xc) addr:0x0209a80c func_ov000_0209a7c4 kind:function(arm,size=0x28) addr:0x0209a818 func_ov000_0209a7ec kind:function(arm,size=0x28) addr:0x0209a840 func_ov000_0209a814 kind:function(arm,size=0x44) addr:0x0209a868 @@ -3022,9 +3022,9 @@ _ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020a _ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020a8b20 _ZN14Actor_Derived119func_ov000_020a8ae0Ei kind:function(arm,size=0x14) addr:0x020a8b34 func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020a8b48 -func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020a8b9c -func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020a8bd0 -_ZN14Actor_Derived1C1EP11ModelRenderP20Actor_Derived1_94_0C kind:function(arm,size=0x110) addr:0x020a8c04 +_ZN26ModelRender_ov000_020b4d64C2EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8b9c +_ZN26ModelRender_ov000_020b4d64C1EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8bd0 +_ZN14Actor_Derived1C2EP11ModelRenderP16ActorUnkZSRS_120 kind:function(arm,size=0x110) addr:0x020a8c04 _ZN14Actor_Derived1D1Ev kind:function(arm,size=0x20) addr:0x020a8d14 _ZN14Actor_Derived1D0Ev kind:function(arm,size=0x28) addr:0x020a8d34 _ZN14Actor_Derived1D2Ev kind:function(arm,size=0x20) addr:0x020a8d5c @@ -3064,12 +3064,12 @@ _ZN14Actor_Derived18vfunc_ACEv kind:function(arm,size=0x4) addr:0x020a9628 _ZN14Actor_Derived119func_ov000_020a95d8Ev kind:function(arm,size=0xc) addr:0x020a962c _ZN14Actor_Derived18vfunc_A4Ev kind:function(arm,size=0x218) addr:0x020a9638 _ZN14Actor_Derived18vfunc_A8Ev kind:function(arm,size=0x8) addr:0x020a9850 -_ZN14Actor_Derived119func_ov000_020a9804Ev kind:function(arm,size=0xec) addr:0x020a9858 +_ZN14Actor_Derived119func_ov000_020a9804EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xec) addr:0x020a9858 _ZN14Actor_Derived16UpdateEv kind:function(arm,size=0x4) addr:0x020a9944 _ZN14Actor_Derived18vfunc_24Ev kind:function(arm,size=0x68) addr:0x020a9948 _ZN14Actor_Derived18vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x48) addr:0x020a99b0 _ZN14Actor_Derived18vfunc_B8Ev kind:function(arm,size=0x34) addr:0x020a99f8 -_ZN14Actor_Derived18vfunc_14Ev kind:function(arm,size=0x48) addr:0x020a9a2c +_ZN14Actor_Derived18vfunc_14EP8Cylinder kind:function(arm,size=0x48) addr:0x020a9a2c _ZN19func_ov000_020a9a20D1Ev kind:function(arm,size=0x14) addr:0x020a9a74 _ZN19func_ov000_020a9a34D0Ev kind:function(arm,size=0x1c) addr:0x020a9a88 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020a9aa4 diff --git a/config/eur1/arm9/overlays/ov021/relocs.txt b/config/eur1/arm9/overlays/ov021/relocs.txt index 28bed857..b01b5ddc 100644 --- a/config/eur1/arm9/overlays/ov021/relocs.txt +++ b/config/eur1/arm9/overlays/ov021/relocs.txt @@ -2271,7 +2271,7 @@ from:0x020fdb08 kind:load to:0x020b4f04 module:overlay(0) from:0x020fdb0c kind:load to:0x02108d04 module:overlay(21) from:0x020fdb14 kind:load to:0x027e0208 module:dtcm from:0x020fdb18 kind:load to:0x027e0254 module:dtcm -from:0x020fdb1c kind:load to:0x0203ea64 module:main +from:0x020fdb1c kind:load to:0x0203e964 add:0x100 module:main from:0x020fdb20 kind:load to:0x027e0210 module:dtcm from:0x020fdb28 kind:load to:0x0204999c module:main from:0x020fdb2c kind:load to:0x02108d98 module:overlay(21) diff --git a/config/eur1/arm9/overlays/ov023/relocs.txt b/config/eur1/arm9/overlays/ov023/relocs.txt index 0767e0a7..a2747951 100644 --- a/config/eur1/arm9/overlays/ov023/relocs.txt +++ b/config/eur1/arm9/overlays/ov023/relocs.txt @@ -60,7 +60,7 @@ from:0x020e9dc0 kind:arm_call_thumb to:0x02014994 module:main from:0x020e9dc8 kind:arm_call to:0x020bbab8 module:overlay(17) from:0x020e9dd4 kind:load to:0x027e0208 module:dtcm from:0x020e9dd8 kind:load to:0x027e0254 module:dtcm -from:0x020e9ddc kind:load to:0x0203ea64 module:main +from:0x020e9ddc kind:load to:0x0203e964 add:0x100 module:main from:0x020e9de0 kind:load to:0x027e0210 module:dtcm from:0x020e9de8 kind:load to:0x020b4f2c module:overlay(0) from:0x020e9dec kind:load to:0x020b6558 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov026/relocs.txt b/config/eur1/arm9/overlays/ov026/relocs.txt index ce0a61fe..52b5d1d8 100644 --- a/config/eur1/arm9/overlays/ov026/relocs.txt +++ b/config/eur1/arm9/overlays/ov026/relocs.txt @@ -9126,7 +9126,7 @@ from:0x0212dc88 kind:arm_call to:0x020f931c module:overlay(26) from:0x0212dcd8 kind:arm_call to:0x01ffb6e4 module:itcm from:0x0212dd04 kind:arm_call to:0x01ffa1d4 module:itcm from:0x0212dd14 kind:arm_call to:0x01ffa60c module:itcm -from:0x0212dd78 kind:load to:0x0203ec64 module:main +from:0x0212dd78 kind:load to:0x0203e964 add:0x300 module:main from:0x0212dd7c kind:load to:0x02141888 module:overlay(26) from:0x0212dd80 kind:load to:0x02138b34 module:overlay(26) from:0x0212dd84 kind:load to:0x021418f0 module:overlay(26) diff --git a/config/eur1/arm9/overlays/ov026/symbols.txt b/config/eur1/arm9/overlays/ov026/symbols.txt index a21ef4fb..23681456 100644 --- a/config/eur1/arm9/overlays/ov026/symbols.txt +++ b/config/eur1/arm9/overlays/ov026/symbols.txt @@ -1883,7 +1883,7 @@ _ZN12ActorUnkRB1T19func_ov026_0212052cEv kind:function(arm,size=0x218) addr:0x02 _ZN12ActorUnkRB1T19func_ov026_02120744Ev kind:function(arm,size=0x9c) addr:0x02120864 _ZN12ActorUnkRB1T19func_ov026_021207e0Ev kind:function(arm,size=0x94) addr:0x02120900 _ZN12ActorUnkRB1T19func_ov026_02120874Ev kind:function(arm,size=0x2c) addr:0x02120994 -_ZN12ActorUnkRB1T19func_ov026_021208a0Ev kind:function(arm,size=0xb4) addr:0x021209c0 +_ZN12ActorUnkRB1T19func_ov026_021208a0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xb4) addr:0x021209c0 _ZN12ActorUnkRB1T19func_ov026_02120954Ev kind:function(arm,size=0x20) addr:0x02120a74 _ZN12ActorUnkRB1T19func_ov026_02120974Ev kind:function(arm,size=0x18) addr:0x02120a94 _ZN12ActorUnkRB1TD0Ev kind:function(arm,size=0x1c) addr:0x02120aac diff --git a/config/eur1/arm9/overlays/ov029/relocs.txt b/config/eur1/arm9/overlays/ov029/relocs.txt index 77578ac4..49642c8f 100644 --- a/config/eur1/arm9/overlays/ov029/relocs.txt +++ b/config/eur1/arm9/overlays/ov029/relocs.txt @@ -455,9 +455,9 @@ from:0x021448e8 kind:arm_call to:0x02144c40 module:overlay(29) from:0x021448f0 kind:arm_call to:0x021450b4 module:overlay(29) from:0x02144918 kind:arm_call to:0x0210bc94 module:overlay(26) from:0x02144a88 kind:load to:0x0203e964 module:main -from:0x02144a8c kind:load to:0x0203f964 module:main -from:0x02144a90 kind:load to:0x02040964 module:main -from:0x02144a94 kind:load to:0x02041964 module:main +from:0x02144a8c kind:load to:0x0203e964 add:0x1000 module:main +from:0x02144a90 kind:load to:0x0203e964 add:0x2000 module:main +from:0x02144a94 kind:load to:0x0203e964 add:0x3000 module:main from:0x02144ab4 kind:arm_call to:0x02145118 module:overlay(29) from:0x02144adc kind:arm_call to:0x02144924 module:overlay(29) from:0x02144af0 kind:arm_call to:0x02145118 module:overlay(29) @@ -1259,7 +1259,7 @@ from:0x0214b7d8 kind:arm_call to:0x0207e3e0 module:overlay(0) from:0x0214b820 kind:arm_call to:0x0214b85c module:overlay(29) from:0x0214b850 kind:load to:0x02153830 module:overlay(29) from:0x0214b854 kind:load to:0x0215384c module:overlay(29) -from:0x0214b858 kind:load to:0x0203f164 module:main +from:0x0214b858 kind:load to:0x0203e964 add:0x800 module:main from:0x0214b8f0 kind:load to:0x021525c0 module:overlay(29) from:0x0214b8f4 kind:load to:0x021525b0 module:overlay(29) from:0x0214b90c kind:arm_call to:0x0214cb0c module:overlay(29) @@ -1443,7 +1443,7 @@ from:0x0214d350 kind:arm_call to:0x0207e2c8 module:overlay(0) from:0x0214d3ac kind:arm_call to:0x01ff9638 module:itcm from:0x0214d3b8 kind:arm_call to:0x01ffbbe0 module:itcm from:0x0214d3e0 kind:arm_call to:0x01ff930c module:itcm -from:0x0214d410 kind:load to:0x0203f164 module:main +from:0x0214d410 kind:load to:0x0203e964 add:0x800 module:main from:0x0214d420 kind:arm_call to:0x02147090 module:overlay(29) from:0x0214d44c kind:arm_call to:0x02131898 module:overlay(26) from:0x0214d47c kind:arm_call to:0x01ffbbe0 module:itcm @@ -1483,7 +1483,7 @@ from:0x0214d940 kind:arm_call to:0x01ffe6c4 module:itcm from:0x0214d94c kind:arm_call to:0x0207e2c8 module:overlay(0) from:0x0214d984 kind:arm_call to:0x0214d608 module:overlay(29) from:0x0214d99c kind:arm_call to:0x02071b64 module:overlay(0) -from:0x0214d9a8 kind:load to:0x0203f164 module:main +from:0x0214d9a8 kind:load to:0x0203e964 add:0x800 module:main from:0x0214d9ac kind:load to:0x027e09a8 module:dtcm from:0x0214d9bc kind:arm_call to:0x02097960 module:overlay(0) from:0x0214d9d0 kind:load to:0x02153964 module:overlay(29) @@ -1813,7 +1813,7 @@ from:0x02150944 kind:arm_call to:0x01ffa60c module:itcm from:0x02150958 kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x02150968 kind:arm_call to:0x01ffa60c module:itcm from:0x0215098c kind:load to:0x0203e964 module:main -from:0x02150990 kind:load to:0x02041964 module:main +from:0x02150990 kind:load to:0x0203e964 add:0x3000 module:main from:0x021509a8 kind:load to:0x02110e9c module:overlays(26,31) from:0x021509c8 kind:arm_call to:0x02131764 module:overlay(26) from:0x021509ec kind:arm_call to:0x021315e0 module:overlay(26) diff --git a/config/eur1/arm9/overlays/ov030/relocs.txt b/config/eur1/arm9/overlays/ov030/relocs.txt index 02ce9a79..763c94ac 100644 --- a/config/eur1/arm9/overlays/ov030/relocs.txt +++ b/config/eur1/arm9/overlays/ov030/relocs.txt @@ -711,7 +711,7 @@ from:0x0214773c kind:arm_call to:0x01ffb714 module:itcm from:0x0214774c kind:arm_call to:0x01ffb780 module:itcm from:0x02147770 kind:arm_call to:0x01ff93c0 module:itcm from:0x021477a8 kind:arm_call to:0x01ff9638 module:itcm -from:0x021477c8 kind:load to:0x0203f164 module:main +from:0x021477c8 kind:load to:0x0203e964 add:0x800 module:main from:0x02147844 kind:arm_call to:0x01ffb860 module:itcm from:0x02147850 kind:arm_call to:0x01ff93c0 module:itcm from:0x021478ac kind:arm_call to:0x01ffb714 module:itcm @@ -1237,7 +1237,7 @@ from:0x0214cab0 kind:arm_call to:0x01ffa878 module:itcm from:0x0214cac0 kind:arm_call to:0x01ffad5c module:itcm from:0x0214cb08 kind:arm_call to:0x02028d30 module:main from:0x0214cb1c kind:arm_call to:0x02058fc4 module:overlay(0) -from:0x0214cb30 kind:load to:0x02042564 module:main +from:0x0214cb30 kind:load to:0x0203e964 add:0x3c00 module:main from:0x0214cb34 kind:load to:0x0203e964 module:main from:0x0214cb38 kind:load to:0x02151a10 module:overlay(30) from:0x0214cb3c kind:load to:0x027e0964 module:dtcm diff --git a/config/eur1/arm9/overlays/ov031/delinks.txt b/config/eur1/arm9/overlays/ov031/delinks.txt index e2930afc..53b6294c 100644 --- a/config/eur1/arm9/overlays/ov031/delinks.txt +++ b/config/eur1/arm9/overlays/ov031/delinks.txt @@ -49,6 +49,7 @@ src/031_Land/Actor/ActorItemTornado.cpp: .rodata start:0x02110bb8 end:0x02110bc8 src/031_Land/Actor/ActorUnkSWBM.cpp: + complete .text start:0x020e69f8 end:0x020e7498 .init start:0x021112dc end:0x02111350 .ctor start:0x021128e0 end:0x021128e4 @@ -60,14 +61,14 @@ src/031_Land/Actor/ActorUnkROCK.cpp: .init start:0x02111350 end:0x021113a0 .ctor start:0x021128e4 end:0x021128e8 .data start:0x02113504 end:0x021135a8 - .bss start:0x02116710 end:0x02116828 + .bss start:0x02116710 end:0x02116818 src/031_Land/Actor/ActorRupee.cpp: .text start:0x020e8dd8 end:0x020ea14c .init start:0x021113a0 end:0x02111438 .ctor start:0x021128e8 end:0x021128ec .data start:0x021135c8 end:0x02113730 - .bss start:0x02116828 end:0x0211686c + .bss start:0x02116818 end:0x0211686c src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp: .text start:0x020ea14c end:0x020ee9ec @@ -122,6 +123,7 @@ src/031_Land/Actor/ActorShotArrow.cpp: .bss start:0x02116bb0 end:0x02116bfc src/031_Land/Actor/ActorUnkATTG.cpp: + complete .text start:0x020f3eac end:0x020f41cc .init start:0x021116c8 end:0x02111718 .ctor start:0x02112908 end:0x0211290c diff --git a/config/eur1/arm9/overlays/ov031/relocs.txt b/config/eur1/arm9/overlays/ov031/relocs.txt index be6e670f..36e03235 100644 --- a/config/eur1/arm9/overlays/ov031/relocs.txt +++ b/config/eur1/arm9/overlays/ov031/relocs.txt @@ -507,7 +507,7 @@ from:0x020dd3f4 kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x020dd404 kind:arm_call to:0x01ff8e58 module:itcm from:0x020dd414 kind:arm_call to:0x01ff8e58 module:itcm from:0x020dd434 kind:arm_call to:0x01ff8e58 module:itcm -from:0x020dd440 kind:load to:0x02041964 module:main +from:0x020dd440 kind:load to:0x0203e964 add:0x3000 module:main from:0x020dd444 kind:load to:0x020aa3e8 module:overlay(0) from:0x020dd448 kind:load to:0x027e0254 module:dtcm from:0x020dd458 kind:arm_call to:0x0207b6f4 module:overlay(0) @@ -1580,7 +1580,7 @@ from:0x020e6cc0 kind:load to:0x0211329c add:0x8 module:overlay(31) from:0x020e6cd0 kind:arm_call to:0x020983dc module:overlay(0) from:0x020e6d20 kind:arm_call to:0x020590e4 module:overlay(0) from:0x020e6d50 kind:arm_call to:0x02028c4c module:main -from:0x020e6d6c kind:load to:0x021132c8 module:overlay(31) +from:0x020e6d6c kind:load to:0x021132c0 module:overlay(31) add:0x8 from:0x020e6d70 kind:load to:0x02113280 add:0x8 module:overlay(31) from:0x020e6d74 kind:load to:0x02113264 add:0x8 module:overlay(31) from:0x020e6d78 kind:load to:0x02113248 add:0x8 module:overlay(31) @@ -1727,14 +1727,14 @@ from:0x020e8980 kind:arm_call to:0x020978ec module:overlay(0) from:0x020e8990 kind:arm_call to:0x0207c04c module:overlay(0) from:0x020e89e8 kind:load to:0x02113504 add:0x8 module:overlay(31) from:0x020e89ec kind:load to:0x02112bb8 module:overlay(31) -from:0x020e89f0 kind:load to:0x02113530 module:overlay(31) +from:0x020e89f0 kind:load to:0x02113528 module:overlay(31) add:0x8 from:0x020e8a08 kind:arm_call to:0x020983dc module:overlay(0) from:0x020e8a74 kind:arm_call to:0x0207ecbc module:overlay(0) -from:0x020e8a90 kind:load to:0x02113554 module:overlay(31) +from:0x020e8a90 kind:load to:0x0211354c module:overlay(31) add:0x8 from:0x020e8a94 kind:load to:0x02116720 module:overlay(31) from:0x020e8a98 kind:load to:0x020b19a0 add:0x8 module:overlay(0) from:0x020e8abc kind:arm_call to:0x020e8b68 module:overlay(31) -from:0x020e8ac8 kind:load to:0x021167f8 module:overlay(31) +from:0x020e8ac8 kind:load to:0x02116720 add:0xd8 module:overlay(31) from:0x020e8b20 kind:arm_call to:0x0208bb18 module:overlay(0) from:0x020e8b28 kind:arm_call to:0x0209888c module:overlay(0) from:0x020e8b38 kind:arm_call to:0x01ffb6e4 module:itcm @@ -2241,10 +2241,10 @@ from:0x020ed440 kind:arm_call to:0x01ff9770 module:itcm from:0x020ed454 kind:arm_call to:0x01ffb6e4 module:itcm from:0x020ed470 kind:arm_call to:0x020ede34 module:overlay(31) from:0x020ed488 kind:arm_call to:0x020169d4 module:main -from:0x020ed4c4 kind:load to:0x02040364 module:main -from:0x020ed4c8 kind:load to:0x0203f364 module:main -from:0x020ed4cc kind:load to:0x02041364 module:main -from:0x020ed4d0 kind:load to:0x02042364 module:main +from:0x020ed4c4 kind:load to:0x0203e964 add:0x1a00 module:main +from:0x020ed4c8 kind:load to:0x0203e964 add:0xa00 module:main +from:0x020ed4cc kind:load to:0x0203e964 add:0x2a00 module:main +from:0x020ed4d0 kind:load to:0x0203e964 add:0x3a00 module:main from:0x020ed4d8 kind:load to:0x02110bf0 module:overlay(31) from:0x020ed4dc kind:load to:0x02110bf4 module:overlay(31) from:0x020ed52c kind:arm_call to:0x020ecfc8 module:overlay(31) @@ -3026,7 +3026,7 @@ from:0x020f3ed4 kind:arm_call to:0x020f3f04 module:overlay(31) from:0x020f3ee8 kind:arm_call to:0x020976d0 module:overlay(0) from:0x020f3f00 kind:load to:0x021144dc add:0x8 module:overlay(31) from:0x020f3f0c kind:arm_call to:0x020983dc module:overlay(0) -from:0x020f3f28 kind:load to:0x02114508 module:overlay(31) +from:0x020f3f28 kind:load to:0x02114500 module:overlay(31) add:0x8 from:0x020f3f44 kind:arm_call to:0x02098ab4 module:overlay(0) from:0x020f3f74 kind:arm_call to:0x020f401c module:overlay(31) from:0x020f3fa0 kind:arm_call to:0x020f4144 module:overlay(31) @@ -3963,7 +3963,7 @@ from:0x020fcdd4 kind:arm_call to:0x02028c4c module:main from:0x020fce04 kind:arm_call to:0x0201aa44 module:main from:0x020fce10 kind:load to:0x02117344 module:overlay(31) from:0x020fce18 kind:load to:0x027e0998 module:dtcm -from:0x020fce1c kind:load to:0x0203f964 module:main +from:0x020fce1c kind:load to:0x0203e964 add:0x1000 module:main from:0x020fce20 kind:load to:0x0204af1c module:main from:0x020fce24 kind:load to:0x02117344 module:overlay(31) from:0x020fce3c kind:load to:0x020a0388 module:overlay(0) @@ -4468,7 +4468,7 @@ from:0x02100e38 kind:arm_call to:0x020801e4 module:overlay(0) from:0x02100e4c kind:arm_call to:0x020801e4 module:overlay(0) from:0x02100e5c kind:arm_call to:0x02080908 module:overlay(0) from:0x02100e90 kind:load to:0x027e0cd8 module:dtcm -from:0x02100e94 kind:load to:0x0203f964 module:main +from:0x02100e94 kind:load to:0x0203e964 add:0x1000 module:main from:0x02100e98 kind:load to:0x021178c4 module:overlay(31) from:0x02100e9c kind:load to:0x02110d98 module:overlay(31) from:0x02100f1c kind:arm_call to:0x01ffb714 module:itcm diff --git a/config/eur1/arm9/overlays/ov031/symbols.txt b/config/eur1/arm9/overlays/ov031/symbols.txt index 88e5dcb0..887c7c8c 100644 --- a/config/eur1/arm9/overlays/ov031/symbols.txt +++ b/config/eur1/arm9/overlays/ov031/symbols.txt @@ -498,7 +498,7 @@ _ZN12ActorUnkSWBM19func_ov031_020e6d80Ei kind:function(arm,size=0x104) addr:0x02 _ZN12ActorUnkSWBM19func_ov031_020e6e84Es kind:function(arm,size=0x74) addr:0x020e6fa4 _ZN12ActorUnkSWBM6UpdateEv kind:function(arm,size=0x268) addr:0x020e7018 _ZN12ActorUnkSWBM8vfunc_24Ev kind:function(arm,size=0x2c) addr:0x020e7280 -_ZN12ActorUnkSWBM19func_ov031_020e718cEP7VecFx32P7MtxFx33ists kind:function(arm,size=0x108) addr:0x020e72ac +_ZN12ActorUnkSWBM19func_ov031_020e718cEPK7VecFx32P7MtxFx33isss kind:function(arm,size=0x108) addr:0x020e72ac _ZN12ActorUnkSWBM8vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x40) addr:0x020e73b4 _ZN15ActorUnkSWBM_94D0Ev kind:function(arm,size=0x1c) addr:0x020e73f4 _ZN15ActorUnkSWBM_98D0Ev kind:function(arm,size=0x1c) addr:0x020e7410 @@ -617,7 +617,7 @@ _ZN26ModelRender_ov031_02113670C2EP10G3d_Model_ kind:function(thumb,size=0x14) a _ZN26ModelRender_ov031_021136708vfunc_0CEv kind:function(thumb,size=0x8) addr:0x020ea218 _ZN12ActorUnkZLSL19func_ov031_020ea100Ev kind:function(thumb,size=0x40) addr:0x020ea220 _ZN12ActorUnkZLSLC1Ev kind:function(thumb,size=0x3b4) addr:0x020ea260 -_ZN24UnkStruct_ov031_0211372cD1Ev kind:function(thumb,size=0xc) addr:0x020ea614 +_ZN16ActorUnkZSRS_120D1Ev kind:function(thumb,size=0xc) addr:0x020ea614 _ZN26ModelRender_ov031_02113670D1Ev kind:function(thumb,size=0xc) addr:0x020ea620 _ZN17ActorUnkZLSL_2700D1Ev kind:function(thumb,size=0xc) addr:0x020ea62c _ZN17ActorUnkZLSL_27CCD1Ev kind:function(thumb,size=0xc) addr:0x020ea638 @@ -680,23 +680,23 @@ _ZN12ActorUnkZLSL8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020ec9dc _ZN12ActorUnkZLSL19func_ov031_020ec8c4Ev kind:function(arm,size=0xac) addr:0x020ec9e4 _ZN12ActorUnkZLSL8vfunc_98Ej kind:function(arm,size=0x270) addr:0x020eca90 _ZN12ActorUnkZLSL19func_ov031_020ecbe0Ev kind:function(arm,size=0x88) addr:0x020ecd00 -_ZN12ActorUnkZLSL19func_ov031_020ecc68Ei kind:function(arm,size=0x240) addr:0x020ecd88 +_ZN12ActorUnkZLSL19func_ov031_020ecc68Eb kind:function(arm,size=0x240) addr:0x020ecd88 _ZN12ActorUnkZLSL19func_ov031_020ecea8E14UnkAngleStructiii kind:function(arm,size=0x208) addr:0x020ecfc8 _ZN12ActorUnkZLSL19func_ov031_020ed0b0Ev kind:function(arm,size=0x310) addr:0x020ed1d0 _ZN12ActorUnkZLSL19func_ov031_020ed3c0Ev kind:function(arm,size=0xbc) addr:0x020ed4e0 -_ZN24UnkStruct_ov031_020ecc6819func_ov031_020ed47cEP12ActorUnkZLSLi kind:function(arm,size=0x68) addr:0x020ed59c +_ZN12ActorUnkZLSL19func_ov031_020ed47cEi kind:function(arm,size=0x68) addr:0x020ed59c _ZN12ActorUnkZLSL19func_ov031_020ed4e4Eii kind:function(arm,size=0x78) addr:0x020ed604 -_ZN12ActorUnkZLSL19func_ov031_020ed55cEv kind:function(arm,size=0x170) addr:0x020ed67c +_ZN12ActorUnkZLSL19func_ov031_020ed55cEi kind:function(arm,size=0x170) addr:0x020ed67c _ZN12ActorUnkZLSL19func_ov031_020ed6ccEi kind:function(arm,size=0x1e0) addr:0x020ed7ec _ZN12ActorUnkZLSL19func_ov031_020ed8acEi kind:function(arm,size=0x3d4) addr:0x020ed9cc _ZN12ActorUnkZLSL19func_ov031_020edc80Ev kind:function(arm,size=0x94) addr:0x020edda0 _ZN12ActorUnkZLSL19func_ov031_020edd14EP7VecFx32 kind:function(arm,size=0x40) addr:0x020ede34 -_ZN12ActorUnkZLSL19func_ov031_020edd54Ev kind:function(arm,size=0xdc) addr:0x020ede74 -_ZN12ActorUnkZLSL19func_ov031_020ede30Ev kind:function(arm,size=0x168) addr:0x020edf50 -_ZN12ActorUnkZLSL19func_ov031_020edf98Ev kind:function(arm,size=0x44) addr:0x020ee0b8 +_ZN12ActorUnkZLSL19func_ov031_020edd54E9RefStruct kind:function(arm,size=0xdc) addr:0x020ede74 +_ZN12ActorUnkZLSL19func_ov031_020ede30E9RefStruct kind:function(arm,size=0x168) addr:0x020edf50 +_ZN12ActorUnkZLSL19func_ov031_020edf98E9RefStruct kind:function(arm,size=0x44) addr:0x020ee0b8 _ZNK12ActorUnkZLSL12GetOffsetPosEP7VecFx32 kind:function(arm,size=0x24) addr:0x020ee0fc _ZN12ActorUnkZLSL8vfunc_A4Ev kind:function(arm,size=0x1f4) addr:0x020ee120 -_ZN12ActorUnkZLSL19func_ov031_020ee1f4Ev kind:function(arm,size=0xd4) addr:0x020ee314 +_ZN12ActorUnkZLSL19func_ov031_020ee1f4EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xd4) addr:0x020ee314 _ZN12ActorUnkZLSL19func_ov031_020ee2c8Ev kind:function(arm,size=0x120) addr:0x020ee3e8 _ZN12ActorUnkZLSL8vfunc_B4Ev kind:function(arm,size=0x34) addr:0x020ee508 _ZN12ActorUnkZLSL19func_ov031_020ee41cEv kind:function(arm,size=0xa8) addr:0x020ee53c @@ -710,22 +710,22 @@ _ZN17ActorUnkZLSL_27CC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x020ee8b4 _ZN26ModelRender_ov031_02113670D0Ev kind:function(arm,size=0x1c) addr:0x020ee8bc _ZN17ActorUnkZLSL_2700D0Ev kind:function(arm,size=0x1c) addr:0x020ee8d8 _ZN17ActorUnkZLSL_27CCD0Ev kind:function(arm,size=0x1c) addr:0x020ee8f4 -_ZN24UnkStruct_ov031_0211372c8vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee910 -_ZN24UnkStruct_ov031_0211372c8vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee934 -_ZN24UnkStruct_ov031_0211372cD0Ev kind:function(arm,size=0x1c) addr:0x020ee960 -_ZN19ActorProfileUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee97c -_ZN19ActorProfileUnkZSRSD2Ev kind:function(arm,size=0x20) addr:0x020ee9a4 -_ZN19ActorProfileUnkZLSLD2Ev kind:function(arm,size=0x14) addr:0x020ee9c4 +_ZN16ActorUnkZSRS_1208vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee910 +_ZN16ActorUnkZSRS_1208vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee934 +_ZN16ActorUnkZSRS_120D0Ev kind:function(arm,size=0x1c) addr:0x020ee960 +_ZN12ActorUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee97c +_ZN12ActorUnkZSRSD1Ev kind:function(arm,size=0x20) addr:0x020ee9a4 +_ZN19ActorProfileUnkZSRSD1Ev kind:function(arm,size=0x14) addr:0x020ee9c4 _ZN19ActorProfileUnkZLSLD1Ev kind:function(arm,size=0x14) addr:0x020ee9d8 func_ov031_020ee8cc kind:function(arm,size=0x28) addr:0x020ee9ec -func_ov031_020ee8f4 kind:function(thumb,size=0x48) addr:0x020eea14 +_ZN21ActorUnkZSRS_120_BaseC2EP10UnkSystem5S1_P11ModelRenderP19UnkActorFileSystem2P10G3d_Model_i kind:function(thumb,size=0x48) addr:0x020eea14 func_ov031_020ee93c kind:function(thumb,size=0xc) addr:0x020eea5c func_ov031_020ee948 kind:function(thumb,size=0x12) addr:0x020eea68 -func_ov031_020ee95c kind:function(thumb,size=0xc) addr:0x020eea7c -_ZN24UnkStruct_ov031_0211372c8vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020eea88 -_ZN24UnkStruct_ov031_0211372c8vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eec04 -func_ov031_020eeb18 kind:function(arm,size=0x40) addr:0x020eec38 -func_ov031_020eeb58 kind:function(arm,size=0x150) addr:0x020eec78 +_ZN21ActorUnkZSRS_120_BaseD2Ev kind:function(thumb,size=0xc) addr:0x020eea7c +_ZN16ActorUnkZSRS_1208vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020eea88 +_ZN16ActorUnkZSRS_1208vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eec04 +_ZN17ActorUnkZLSL_1690C1Ev kind:function(arm,size=0x40) addr:0x020eec38 +_ZN17ActorUnkZLSL_169019func_ov031_020eeb58Ev kind:function(arm,size=0x150) addr:0x020eec78 _ZN17ActorUnkZLSL_169019func_ov031_020eeca8Ev kind:function(arm,size=0x40) addr:0x020eedc8 _ZN17ActorUnkZLSL_169019func_ov031_020eece8Ev kind:function(arm,size=0xc) addr:0x020eee08 _ZN17ActorProfileHeart10GetProfileEv kind:function(arm,size=0xc) addr:0x020eee14 @@ -2268,12 +2268,12 @@ _ZTV23ActorProfileItemTornado kind:data(any) addr:0x02113148 _ZTV16ActorItemTornado kind:data(any) addr:0x0211316c _ZTV19data_ov031_021130a4 kind:data(any) addr:0x021131c8 data_ov031_021131ec kind:data(any) addr:0x021131ec -_ZTV19data_ov031_02113250 kind:data(any) addr:0x02113248 -data_ov031_02113254 kind:data(any) addr:0x02113254 +_ZTV15ActorUnkSWBM_C8 kind:data(any) addr:0x02113248 +data_ov031_02113114 kind:data(any) addr:0x02113254 local _ZTV15ActorUnkSWBM_98 kind:data(any) addr:0x02113264 _ZTV15ActorUnkSWBM_94 kind:data(any) addr:0x02113280 _ZTV19ActorProfileUnkSWBM kind:data(any) addr:0x0211329c -data_ov031_021132c8 kind:data(any) addr:0x021132c8 +_ZTV12ActorUnkSWBM kind:data(any) addr:0x021132c0 data_ov031_0211331c kind:data(any) addr:0x0211331c data_ov031_02113320 kind:data(any) addr:0x02113320 data_ov031_02113324 kind:data(any) addr:0x02113324 @@ -2284,8 +2284,8 @@ data_ov031_02113358 kind:data(any) addr:0x02113358 _ZTV19data_ov031_021132a8 kind:data(any) addr:0x02113398 data_ov031_021133f0 kind:data(any) addr:0x021133f0 _ZTV24ActorProfileUnkROCK_Base kind:data(any) addr:0x02113504 -data_ov031_02113530 kind:data(any) addr:0x02113530 -data_ov031_02113554 kind:data(any) addr:0x02113554 +_ZTV19ActorProfileUnkROCK kind:data(any) addr:0x02113528 +_ZTV12ActorUnkROCK kind:data(any) addr:0x0211354c data_ov031_021135a8 kind:data(any) addr:0x021135a8 data_ov031_021135b8 kind:data(any) addr:0x021135b8 _ZTV13ActorRupee_C4 kind:data(any) addr:0x021135c8 @@ -2303,7 +2303,7 @@ data_ov031_0211378c kind:data(any) addr:0x0211378c data_ov031_021137b0 kind:data(any) addr:0x021137b0 _ZTV17ActorUnkZLSL_27CC kind:data(any) addr:0x021137d4 _ZTV17ActorUnkZLSL_2700 kind:data(any) addr:0x0211381c -_ZTV24UnkStruct_ov031_0211372c kind:data(any) addr:0x02113864 +_ZTV16ActorUnkZSRS_120 kind:data(any) addr:0x02113864 data_ov031_021138b0 kind:data(any) addr:0x021138b0 data_ov031_02113938 kind:data(any) addr:0x02113938 _ZTV12ActorUnkZLSL kind:data(any) addr:0x021139c0 @@ -2353,7 +2353,7 @@ data_ov031_02114400 kind:data(any) addr:0x02114400 data_ov031_02114440 kind:data(any) addr:0x02114440 _ZTV14ActorShotArrow kind:data(any) addr:0x02114480 _ZTV19ActorProfileUnkATTG kind:data(any) addr:0x021144dc -data_ov031_02114508 kind:data(any) addr:0x02114508 +_ZTV12ActorUnkATTG kind:data(any) addr:0x02114500 _ZTV19data_ov031_02114424 kind:data(any) addr:0x0211455c _ZTV19data_ov031_02114438 kind:data(any) addr:0x02114578 data_ov031_021145dc kind:data(any) addr:0x021145dc @@ -2546,7 +2546,6 @@ data_ov031_021165cc kind:bss addr:0x0211670c _ZGVN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02116710 @10811 kind:bss addr:0x02116714 local _ZN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02116720 -data_ov031_021167f8 kind:bss addr:0x021167f8 data_ov031_02116818 kind:bss addr:0x02116818 data_ov031_0211681c kind:bss addr:0x0211681c data_ov031_02116828 kind:bss addr:0x02116828 diff --git a/config/eur1/arm9/overlays/ov032/relocs.txt b/config/eur1/arm9/overlays/ov032/relocs.txt index 6e8b76dd..27dd9ad4 100644 --- a/config/eur1/arm9/overlays/ov032/relocs.txt +++ b/config/eur1/arm9/overlays/ov032/relocs.txt @@ -816,7 +816,7 @@ from:0x021202c0 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x021202d0 kind:arm_call to:0x01ffa60c module:itcm from:0x021202dc kind:arm_call to:0x0205f8e8 module:overlay(0) from:0x021202e8 kind:load to:0x027e0ce4 module:dtcm -from:0x021202ec kind:load to:0x02040964 module:main +from:0x021202ec kind:load to:0x0203e964 add:0x2000 module:main from:0x02120308 kind:arm_call to:0x01fff3b4 module:itcm from:0x0212031c kind:arm_call to:0x021209f4 module:overlay(32) from:0x0212037c kind:arm_call to:0x01ffa7a0 module:itcm diff --git a/config/eur1/arm9/overlays/ov032/symbols.txt b/config/eur1/arm9/overlays/ov032/symbols.txt index 9a94e89b..0ecf205c 100644 --- a/config/eur1/arm9/overlays/ov032/symbols.txt +++ b/config/eur1/arm9/overlays/ov032/symbols.txt @@ -157,7 +157,7 @@ _ZN10ActorKeese19func_ov032_0211f804Ev kind:function(arm,size=0x138) addr:0x0211 _ZN10ActorKeese19func_ov032_0211f93cEP7VecFx32i kind:function(arm,size=0x88) addr:0x0211fa7c _ZN10ActorKeese19func_ov032_0211f9c4Ev kind:function(arm,size=0x88) addr:0x0211fb04 _ZN10ActorKeese19func_ov032_0211fa4cEi kind:function(arm,size=0xa4) addr:0x0211fb8c -_ZN10ActorKeese19func_ov032_0211faf0EPvi kind:function(arm,size=0xac) addr:0x0211fc30 +_ZN10ActorKeese19func_ov032_0211faf0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xac) addr:0x0211fc30 _ZN24UnkStruct_ov032_0212251cC1Ev kind:function(arm,size=0x18) addr:0x0211fcdc _ZN24UnkStruct_ov032_0212251c8vfunc_00EP9MapObject kind:function(arm,size=0x38) addr:0x0211fcf4 _ZN14ActorKeese_284C1Ev kind:function(arm,size=0x14) addr:0x0211fd2c diff --git a/config/eur1/arm9/overlays/ov036/relocs.txt b/config/eur1/arm9/overlays/ov036/relocs.txt index 23a13ca0..6d3f4b56 100644 --- a/config/eur1/arm9/overlays/ov036/relocs.txt +++ b/config/eur1/arm9/overlays/ov036/relocs.txt @@ -1239,7 +1239,7 @@ from:0x02120da0 kind:arm_call to:0x02061f60 module:overlay(0) from:0x02120da8 kind:arm_call to:0x0201f2cc module:main from:0x02120db0 kind:arm_call to:0x02061ac4 module:overlay(0) from:0x02120db8 kind:arm_call to:0x02011ff4 module:main -from:0x02120f10 kind:load to:0x02040105 module:main +from:0x02120f10 kind:load to:0x0203e964 add:0x17a1 module:main from:0x02120f84 kind:load to:0x020c010a module:overlays(2,4) from:0x02120fd0 kind:arm_call to:0x0211b0f0 module:overlay(36) from:0x02120fe0 kind:arm_call to:0x0203ce74 module:main diff --git a/config/eur1/arm9/overlays/ov041/relocs.txt b/config/eur1/arm9/overlays/ov041/relocs.txt index e8de083f..7f92f868 100644 --- a/config/eur1/arm9/overlays/ov041/relocs.txt +++ b/config/eur1/arm9/overlays/ov041/relocs.txt @@ -718,7 +718,7 @@ from:0x02129db4 kind:arm_call to:0x02057f98 module:overlay(0) from:0x02129e00 kind:arm_call to:0x020c0904 module:overlay(17) from:0x02129e0c kind:load to:0x027e0ce4 module:dtcm from:0x02129e14 kind:load to:0x0203e964 module:main -from:0x02129e18 kind:load to:0x0203f964 module:main +from:0x02129e18 kind:load to:0x0203e964 add:0x1000 module:main from:0x02129e1c kind:load to:0x027e09b4 module:dtcm from:0x02129e48 kind:arm_call to:0x020befc8 module:overlay(17) from:0x02129e58 kind:arm_call to:0x020befc8 module:overlay(17) diff --git a/config/eur1/arm9/overlays/ov043/relocs.txt b/config/eur1/arm9/overlays/ov043/relocs.txt index 687fc78e..2203fabc 100644 --- a/config/eur1/arm9/overlays/ov043/relocs.txt +++ b/config/eur1/arm9/overlays/ov043/relocs.txt @@ -276,7 +276,7 @@ from:0x02125db0 kind:arm_call to:0x02058038 module:overlay(0) from:0x02125dc4 kind:arm_call to:0x01ff8e58 module:itcm from:0x02125dfc kind:arm_call to:0x020bf604 module:overlay(17) from:0x02125e08 kind:load to:0x0212cb68 module:overlay(43) -from:0x02125e0c kind:load to:0x0203f964 module:main +from:0x02125e0c kind:load to:0x0203e964 add:0x1000 module:main from:0x02125e10 kind:load to:0x0203e964 module:main from:0x02125e28 kind:arm_call to:0x02099058 module:overlay(0) from:0x02125e3c kind:arm_call to:0x02098a34 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov046/relocs.txt b/config/eur1/arm9/overlays/ov046/relocs.txt index 2c4b67ac..e6da887c 100644 --- a/config/eur1/arm9/overlays/ov046/relocs.txt +++ b/config/eur1/arm9/overlays/ov046/relocs.txt @@ -483,7 +483,7 @@ from:0x02127fc0 kind:arm_call to:0x01ffa7a0 module:itcm from:0x02127fd0 kind:arm_call to:0x01ffb6e4 module:itcm from:0x02128010 kind:arm_call to:0x02128904 module:overlay(46) from:0x0212801c kind:load to:0x027e0ce4 module:dtcm -from:0x02128020 kind:load to:0x02040964 module:main +from:0x02128020 kind:load to:0x0203e964 add:0x2000 module:main from:0x021280b0 kind:arm_call to:0x02127ecc module:overlay(46) from:0x021280e0 kind:arm_call to:0x01ff938c module:itcm from:0x0212811c kind:arm_call to:0x01fff17c module:itcm diff --git a/config/eur1/arm9/overlays/ov050/relocs.txt b/config/eur1/arm9/overlays/ov050/relocs.txt index db5b893f..ac524a2a 100644 --- a/config/eur1/arm9/overlays/ov050/relocs.txt +++ b/config/eur1/arm9/overlays/ov050/relocs.txt @@ -635,7 +635,7 @@ from:0x021359f8 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02135a08 kind:arm_call to:0x01ffa60c module:itcm from:0x02135a14 kind:arm_call to:0x0205f8e8 module:overlay(0) from:0x02135a20 kind:load to:0x027e0ce4 module:dtcm -from:0x02135a24 kind:load to:0x02040964 module:main +from:0x02135a24 kind:load to:0x0203e964 add:0x2000 module:main from:0x02135a40 kind:arm_call to:0x01fff3b4 module:itcm from:0x02135a54 kind:arm_call to:0x02135e4c module:overlay(50) from:0x02135a9c kind:arm_call to:0x01ffa7a0 module:itcm diff --git a/config/eur1/arm9/overlays/ov055/relocs.txt b/config/eur1/arm9/overlays/ov055/relocs.txt index 4298985d..7b91a278 100644 --- a/config/eur1/arm9/overlays/ov055/relocs.txt +++ b/config/eur1/arm9/overlays/ov055/relocs.txt @@ -529,7 +529,7 @@ from:0x0213cd84 kind:arm_call to:0x01ffa60c module:itcm from:0x0213cdc4 kind:arm_call to:0x01ffa7a0 module:itcm from:0x0213ce1c kind:arm_call to:0x01ffa7a0 module:itcm from:0x0213ce44 kind:load to:0x027e0ce4 module:dtcm -from:0x0213ce48 kind:load to:0x0203f964 module:main +from:0x0213ce48 kind:load to:0x0203e964 add:0x1000 module:main from:0x0213ce4c kind:load to:0x0203e964 module:main from:0x0213ce64 kind:arm_call to:0x01fff5d0 module:itcm from:0x0213ce94 kind:arm_call to:0x0213cc98 module:overlay(55) diff --git a/config/eur1/arm9/overlays/ov058/relocs.txt b/config/eur1/arm9/overlays/ov058/relocs.txt index 934a5c27..7ec17dcc 100644 --- a/config/eur1/arm9/overlays/ov058/relocs.txt +++ b/config/eur1/arm9/overlays/ov058/relocs.txt @@ -1918,7 +1918,7 @@ from:0x02150250 kind:arm_call to:0x01ffcfcc module:itcm from:0x021502c4 kind:arm_call to:0x0209d2f0 module:overlay(0) from:0x021502e4 kind:arm_call to:0x0215038c module:overlay(58) from:0x021502f4 kind:load to:0x027e0cd8 module:dtcm -from:0x021502f8 kind:load to:0x0203f964 module:main +from:0x021502f8 kind:load to:0x0203e964 add:0x1000 module:main from:0x021502fc kind:load to:0x02157b24 module:overlay(58) from:0x02150300 kind:load to:0x021534f0 module:overlay(58) from:0x0215036c kind:arm_call to:0x0210b214 module:overlay(31) diff --git a/config/eur1/arm9/overlays/ov059/relocs.txt b/config/eur1/arm9/overlays/ov059/relocs.txt index f914f77f..be8055fa 100644 --- a/config/eur1/arm9/overlays/ov059/relocs.txt +++ b/config/eur1/arm9/overlays/ov059/relocs.txt @@ -602,7 +602,7 @@ from:0x0215d398 kind:arm_call to:0x02078710 module:overlay(0) from:0x0215d3d0 kind:arm_call to:0x020bf604 module:overlay(17) from:0x0215d3dc kind:load to:0x027e0ce4 module:dtcm from:0x0215d3e0 kind:load to:0x0203e964 module:main -from:0x0215d3e4 kind:load to:0x0203f964 module:main +from:0x0215d3e4 kind:load to:0x0203e964 add:0x1000 module:main from:0x0215d3f0 kind:load to:0x027e0ce0 module:dtcm from:0x0215d3f4 kind:load to:0x027e09bc module:dtcm from:0x0215d414 kind:arm_call to:0x0209764c module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov060/relocs.txt b/config/eur1/arm9/overlays/ov060/relocs.txt index e3e02b85..cade088a 100644 --- a/config/eur1/arm9/overlays/ov060/relocs.txt +++ b/config/eur1/arm9/overlays/ov060/relocs.txt @@ -192,9 +192,9 @@ from:0x02159f14 kind:arm_call to:0x02071b64 module:overlay(0) from:0x02159f40 kind:load to:0x027e09a8 module:dtcm from:0x02159f44 kind:load to:0x02161a10 module:overlay(60) from:0x02159f4c kind:load to:0x027e0ce0 module:dtcm -from:0x02159f54 kind:load to:0x02040964 module:main -from:0x02159f58 kind:load to:0x0203f964 module:main -from:0x02159f5c kind:load to:0x02041964 module:main +from:0x02159f54 kind:load to:0x0203e964 add:0x2000 module:main +from:0x02159f58 kind:load to:0x0203e964 add:0x1000 module:main +from:0x02159f5c kind:load to:0x0203e964 add:0x3000 module:main from:0x02159fa8 kind:load to:0x02161a58 module:overlay(60) from:0x02159fd0 kind:arm_call to:0x02073320 module:overlay(0) from:0x02159ffc kind:arm_call to:0x02073320 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov062/relocs.txt b/config/eur1/arm9/overlays/ov062/relocs.txt index e3f343cd..44bbb7ab 100644 --- a/config/eur1/arm9/overlays/ov062/relocs.txt +++ b/config/eur1/arm9/overlays/ov062/relocs.txt @@ -174,7 +174,7 @@ from:0x02158f8c kind:arm_call_thumb to:0x01ffa1bc module:itcm from:0x02158fc8 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02158fd8 kind:arm_call to:0x01ffa60c module:itcm from:0x0215904c kind:arm_call to:0x01fff60c module:itcm -from:0x02159058 kind:load to:0x02040964 module:main +from:0x02159058 kind:load to:0x0203e964 add:0x2000 module:main from:0x0215905c kind:load to:0x0203e964 module:main from:0x02159060 kind:load to:0x027e09b4 module:dtcm from:0x02159074 kind:arm_call_thumb to:0x02057ed4 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov067/relocs.txt b/config/eur1/arm9/overlays/ov067/relocs.txt index b9ce424d..df24e335 100644 --- a/config/eur1/arm9/overlays/ov067/relocs.txt +++ b/config/eur1/arm9/overlays/ov067/relocs.txt @@ -204,7 +204,7 @@ from:0x02159a70 kind:load to:0x02158cc4 module:overlay(67) from:0x02159a7c kind:load to:0x02158ce4 module:overlay(67) from:0x02159a88 kind:load to:0x02158d30 module:overlay(67) from:0x02159be8 kind:load to:0x0215d20c module:overlay(67) -from:0x02159bec kind:load to:0x0203f964 module:main +from:0x02159bec kind:load to:0x0203e964 add:0x1000 module:main from:0x02159c2c kind:arm_call to:0x01ff930c module:itcm from:0x02159c4c kind:arm_call to:0x01ffb714 module:itcm from:0x02159c58 kind:arm_call to:0x01ff97c8 module:itcm diff --git a/config/eur1/arm9/overlays/ov070/relocs.txt b/config/eur1/arm9/overlays/ov070/relocs.txt index 6336f582..1bc3ac10 100644 --- a/config/eur1/arm9/overlays/ov070/relocs.txt +++ b/config/eur1/arm9/overlays/ov070/relocs.txt @@ -1395,7 +1395,7 @@ from:0x0214aa2c kind:load to:0x027e0ce0 module:dtcm from:0x0214aa30 kind:load to:0x027e09a8 module:dtcm from:0x0214aa44 kind:load to:0x020997b8 module:overlay(0) from:0x0214aa68 kind:arm_call_thumb to:0x01ffa1a0 module:itcm -from:0x0214aad8 kind:load to:0x0203f964 module:main +from:0x0214aad8 kind:load to:0x0203e964 add:0x1000 module:main from:0x0214ab70 kind:arm_call to:0x02080570 module:overlay(0) from:0x0214ab9c kind:arm_call to:0x0209d318 module:overlay(0) from:0x0214abd0 kind:arm_call to:0x02080420 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov075/relocs.txt b/config/eur1/arm9/overlays/ov075/relocs.txt index a57f4d1a..a98c009b 100644 --- a/config/eur1/arm9/overlays/ov075/relocs.txt +++ b/config/eur1/arm9/overlays/ov075/relocs.txt @@ -1752,8 +1752,8 @@ from:0x021609dc kind:arm_call_thumb to:0x01ffa970 module:itcm from:0x021609f4 kind:arm_call_thumb to:0x01ffa9ac module:itcm from:0x02160a04 kind:arm_call to:0x01ffad5c module:itcm from:0x02160a28 kind:arm_call to:0x020f19a8 module:overlay(31) -from:0x02160a34 kind:load to:0x0203f964 module:main -from:0x02160a38 kind:load to:0x0203f164 module:main +from:0x02160a34 kind:load to:0x0203e964 add:0x1000 module:main +from:0x02160a38 kind:load to:0x0203e964 add:0x800 module:main from:0x02160a54 kind:arm_call to:0x01fff5d0 module:itcm from:0x02160abc kind:arm_call to:0x0200eab0 module:main from:0x02160ad0 kind:arm_call to:0x01ffad5c module:itcm diff --git a/config/eur1/arm9/overlays/ov083/relocs.txt b/config/eur1/arm9/overlays/ov083/relocs.txt index efdfec29..f7b31b28 100644 --- a/config/eur1/arm9/overlays/ov083/relocs.txt +++ b/config/eur1/arm9/overlays/ov083/relocs.txt @@ -786,7 +786,7 @@ from:0x0215a940 kind:load to:0x0215de74 module:overlay(83) from:0x0215a944 kind:load to:0x020b19a0 add:0x8 module:overlay(0) from:0x0215a948 kind:load to:0x0215e5d4 module:overlay(83) from:0x0215a94c kind:load to:0x027e0130 module:dtcm -from:0x0215a950 kind:load to:0x02041964 module:main +from:0x0215a950 kind:load to:0x0203e964 add:0x3000 module:main from:0x0215a9c4 kind:arm_call to:0x01ffb974 module:itcm from:0x0215a9d8 kind:arm_call to:0x01ffb974 module:itcm from:0x0215aa64 kind:arm_call to:0x02098b08 module:overlay(0) diff --git a/config/eur1/arm9/overlays/ov084/relocs.txt b/config/eur1/arm9/overlays/ov084/relocs.txt index 8a6db5ca..9500bfcc 100644 --- a/config/eur1/arm9/overlays/ov084/relocs.txt +++ b/config/eur1/arm9/overlays/ov084/relocs.txt @@ -87,7 +87,7 @@ from:0x02152188 kind:load to:0x0203e964 module:main from:0x021521f0 kind:arm_call to:0x01ff9638 module:itcm from:0x021521fc kind:arm_call to:0x01ffb744 module:itcm from:0x0215223c kind:arm_call to:0x020f7d6c module:overlay(31) -from:0x02152250 kind:load to:0x0203ee64 module:main +from:0x02152250 kind:load to:0x0203e964 add:0x500 module:main from:0x02152274 kind:arm_call to:0x0203d160 module:main from:0x021522c4 kind:arm_call to:0x02028c90 module:main from:0x021522d4 kind:load to:0x021522e0 module:overlay(84) diff --git a/config/eur1/arm9/overlays/ov088/relocs.txt b/config/eur1/arm9/overlays/ov088/relocs.txt index 2357d008..92b36969 100644 --- a/config/eur1/arm9/overlays/ov088/relocs.txt +++ b/config/eur1/arm9/overlays/ov088/relocs.txt @@ -1314,7 +1314,7 @@ from:0x02170044 kind:arm_call to:0x02028cdc module:main from:0x02170068 kind:arm_call to:0x020c0a70 module:overlay(17) from:0x02170074 kind:load to:0x027e0ce0 module:dtcm from:0x02170078 kind:load to:0x02174654 module:overlay(88) -from:0x0217007c kind:load to:0x02041964 module:main +from:0x0217007c kind:load to:0x0203e964 add:0x3000 module:main from:0x02170080 kind:load to:0x020aa3e8 module:overlay(0) from:0x02170084 kind:load to:0x020ab530 module:overlay(0) from:0x0217008c kind:load to:0x027e09b4 module:dtcm diff --git a/config/eur1/arm9/overlays/ov093/symbols.txt b/config/eur1/arm9/overlays/ov093/symbols.txt index db15caa6..abd94da1 100644 --- a/config/eur1/arm9/overlays/ov093/symbols.txt +++ b/config/eur1/arm9/overlays/ov093/symbols.txt @@ -17,7 +17,7 @@ func_ov093_021660d8 kind:function(arm,size=0x10) addr:0x02166258 func_ov093_021660e8 kind:function(arm,size=0x10) addr:0x02166268 _ZN18UnkStruct_027e0d8c19func_ov093_021660f8Ev kind:function(arm,size=0x10) addr:0x02166278 _ZN18UnkStruct_027e0d8c19func_ov093_02166108Ev kind:function(arm,size=0x10) addr:0x02166288 -func_ov093_02166118 kind:function(arm,size=0x10) addr:0x02166298 +_ZN18UnkStruct_027e0d8c19func_ov093_02166118Ev kind:function(arm,size=0x10) addr:0x02166298 func_ov093_02166128 kind:function(arm,size=0x10) addr:0x021662a8 func_ov093_02166138 kind:function(arm,size=0x18) addr:0x021662b8 func_ov093_02166150 kind:function(arm,size=0x18) addr:0x021662d0 diff --git a/config/eur1/arm9/overlays/ov094/relocs.txt b/config/eur1/arm9/overlays/ov094/relocs.txt index 77e8c8cf..0d212a72 100644 --- a/config/eur1/arm9/overlays/ov094/relocs.txt +++ b/config/eur1/arm9/overlays/ov094/relocs.txt @@ -791,7 +791,7 @@ from:0x0216c724 kind:arm_call to:0x01ffb860 module:itcm from:0x0216c730 kind:arm_call to:0x01ffb744 module:itcm from:0x0216c780 kind:arm_call to:0x02097c74 module:overlay(0) from:0x0216c798 kind:load to:0x027e0ce4 module:dtcm -from:0x0216c7a8 kind:load to:0x0203f564 module:main +from:0x0216c7a8 kind:load to:0x0203e964 add:0xc00 module:main from:0x0216c7b4 kind:load to:0x02178dac module:overlay(94) from:0x0216c7c8 kind:arm_call to:0x02011f3c module:main from:0x0216c7d4 kind:arm_call to:0x0216c82c module:overlay(94) diff --git a/config/eur1/arm9/overlays/ov112/relocs.txt b/config/eur1/arm9/overlays/ov112/relocs.txt index 17f5453f..5821af5e 100644 --- a/config/eur1/arm9/overlays/ov112/relocs.txt +++ b/config/eur1/arm9/overlays/ov112/relocs.txt @@ -39,9 +39,9 @@ from:0x02185544 kind:arm_call to:0x020733bc module:overlay(0) from:0x02185824 kind:arm_call to:0x020809cc module:overlay(0) from:0x02185920 kind:load to:0x0203e964 module:main from:0x02185924 kind:load to:0x027e0cd8 module:dtcm -from:0x02185928 kind:load to:0x02040964 module:main -from:0x0218592c kind:load to:0x02041964 module:main -from:0x02185930 kind:load to:0x0203f964 module:main +from:0x02185928 kind:load to:0x0203e964 add:0x2000 module:main +from:0x0218592c kind:load to:0x0203e964 add:0x3000 module:main +from:0x02185930 kind:load to:0x0203e964 add:0x1000 module:main from:0x02185934 kind:load to:0x027e0ce8 module:dtcm from:0x02185944 kind:load to:0x027e0ce4 module:dtcm from:0x02185960 kind:load to:0x027e09a4 module:dtcm diff --git a/config/eur1/arm9/relocs.txt b/config/eur1/arm9/relocs.txt index a875d514..2caf5e4a 100644 --- a/config/eur1/arm9/relocs.txt +++ b/config/eur1/arm9/relocs.txt @@ -5806,7 +5806,7 @@ from:0x0203de04 kind:load to:0x02008590 module:main from:0x0203de08 kind:load to:0x020087f8 module:main from:0x0203de1c kind:load to:0x02010200 module:main from:0x0203de24 kind:load to:0x02010200 module:main -from:0x0203df9c kind:load to:0x02040202 module:main +from:0x0203df9c kind:load to:0x0203e964 add:0x189e module:main from:0x0203e0dc kind:load to:0x02043770 module:main from:0x0203e0e0 kind:load to:0x02043778 module:main from:0x0203e0e4 kind:load to:0x02043768 module:main diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 3331f124..c16802ce 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -1254,7 +1254,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x0207988c func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020798a0 _ZN21UnkStruct_027e09bc_0C19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x020798e8 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x020799cc -_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P29UnkStackStruct_ov000_02077590i kind:function(arm,size=0x40) addr:0x02079a04 +_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P15UnkStackStruct2i kind:function(arm,size=0x40) addr:0x02079a04 func_ov000_0207838c kind:function(arm,size=0x70) addr:0x02079a44 func_ov000_020783fc kind:function(arm,size=0x88) addr:0x02079ab4 func_ov000_02078484 kind:function(arm,size=0x40) addr:0x02079b3c @@ -1458,7 +1458,7 @@ func_ov000_0207d9f8 kind:function(arm,size=0x48) addr:0x0207f0b0 _ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207f0f8 func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207f304 func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207f31c -func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207f340 +_ZN18UnkStruct_027e09c019func_ov000_0207dc88EPP5ActorP8Actor_38 kind:function(arm,size=0x210) addr:0x0207f340 _ZN18UnkStruct_027e09c019func_ov000_0207de98E9RefStructP24UnkStruct_ov000_0207de98P8Actor_38 kind:function(arm,size=0xc0) addr:0x0207f550 func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207f610 _ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207f640 @@ -1913,7 +1913,7 @@ func_ov000_0208ba30 kind:function(arm,size=0x10) addr:0x0208d104 _ZN18UnkStruct_027e0ce019func_ov000_0208ba40EP17SaveInventoryData kind:function(thumb,size=0x1e) addr:0x0208d114 func_ov000_0208ba60 kind:function(arm,size=0x20) addr:0x0208d134 func_ov000_0208ba80 kind:function(arm,size=0x14) addr:0x0208d154 -func_ov000_0208ba94 kind:function(arm,size=0x1c) addr:0x0208d168 +_ZN18UnkStruct_027e0ce019func_ov000_0208ba94EiP7VecFx32 kind:function(arm,size=0x1c) addr:0x0208d168 func_ov000_0208bab0 kind:function(arm,size=0x1c) addr:0x0208d184 _ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208d1a0 func_ov000_0208badc kind:function(arm,size=0x10) addr:0x0208d1b0 @@ -1928,7 +1928,7 @@ func_ov000_0208bb84 kind:function(arm,size=0x10) addr:0x0208d258 func_ov000_0208bb94 kind:function(arm,size=0x10) addr:0x0208d268 func_ov000_0208bba4 kind:function(arm,size=0x10) addr:0x0208d278 func_ov000_0208bbb4 kind:function(arm,size=0x10) addr:0x0208d288 -func_ov000_0208bbc4 kind:function(arm,size=0x10) addr:0x0208d298 +_ZN18UnkStruct_027e0ce019func_ov000_0208bbc4EiPv kind:function(arm,size=0x10) addr:0x0208d298 func_ov000_0208bbd4 kind:function(arm,size=0x2c) addr:0x0208d2a8 func_ov000_0208bc00 kind:function(arm,size=0x1c) addr:0x0208d2d4 _ZN18UnkStruct_027e0ce019func_ov000_0208bc1cEiiiP8CylinderPvi kind:function(arm,size=0x40) addr:0x0208d2f0 @@ -2275,7 +2275,7 @@ _ZN12ActorProfile8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02098fc0 func_ov000_0209781c kind:function(arm,size=0x7c) addr:0x02098fc4 _ZN21ActorProfile_Derived1C2Ej kind:function(arm,size=0x30) addr:0x02099040 func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x02099070 -_ZN21ActorProfile_Derived1C2EjS0_ kind:function(arm,size=0x30) addr:0x02099084 +_ZN21ActorProfile_Derived1C2Ejj kind:function(arm,size=0x30) addr:0x02099084 _ZN21ActorProfile_Derived1D2Ev kind:function(arm,size=0x38) addr:0x020990b4 _ZN21ActorProfile_Derived18vfunc_04Ev kind:function(arm,size=0x8) addr:0x020990ec _ZN21ActorProfile_Derived18vfunc_10Ev kind:function(arm,size=0x20) addr:0x020990f4 @@ -2375,9 +2375,9 @@ func_ov000_02099870 kind:function(arm,size=0x80) addr:0x0209b03c _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_020998f0E9RefStructP7VecFx32 kind:function(arm,size=0x11c) addr:0x0209b0bc _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x0209b1d8 func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x0209b1e8 -_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x0209b1f4 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP33MapObjectProfile_Derived2_20_Base kind:function(thumb,size=0x54) addr:0x0209b1f4 func_ov000_02099a7c kind:function(thumb,size=0x48) addr:0x0209b248 -func_ov000_02099ac4 kind:function(thumb,size=0x28) addr:0x0209b290 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P26ModelRender_ov031_02113670P33MapObjectProfile_Derived2_20_BaseP10G3d_Model_i kind:function(thumb,size=0x28) addr:0x0209b290 func_ov000_02099aec kind:function(thumb,size=0x2) addr:0x0209b2b8 _ZN19func_ov000_02099af0D0Ev kind:function(thumb,size=0xc) addr:0x0209b2bc _ZN24UnkStruct_ov000_020b31a8D2Ev kind:function(thumb,size=0x2) addr:0x0209b2c8 @@ -2424,7 +2424,7 @@ _ZN24UnkStruct_ov000_020b31f08vfunc_38Ev kind:function(arm,size=0x2c) addr:0x020 _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209bf30 func_ov000_0209a780 kind:function(thumb,size=0x1c) addr:0x0209bf4c _ZN26ModelRender_ov000_020b4d648vfunc_1CEP16G3d_RenderState_ kind:function(arm,size=0x1c) addr:0x0209bf68 -_ZN11ModelRender19func_ov000_0209a7b8EPvPFvS0_iE kind:function(arm,size=0xc) addr:0x0209bf84 +_ZN11ModelRender19func_ov000_0209a7b8EPvPFvP5ActorP16G3d_RenderState_E kind:function(arm,size=0xc) addr:0x0209bf84 func_ov000_0209a7c4 kind:function(arm,size=0x28) addr:0x0209bf90 func_ov000_0209a7ec kind:function(arm,size=0x28) addr:0x0209bfb8 func_ov000_0209a814 kind:function(arm,size=0x44) addr:0x0209bfe0 @@ -3024,9 +3024,9 @@ _ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020a _ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020aa2cc _ZN14Actor_Derived119func_ov000_020a8ae0Ei kind:function(arm,size=0x14) addr:0x020aa2e0 func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020aa2f4 -func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020aa348 -func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020aa37c -_ZN14Actor_Derived1C1EP11ModelRenderP20Actor_Derived1_94_0C kind:function(arm,size=0x110) addr:0x020aa3b0 +_ZN26ModelRender_ov000_020b4d64C2EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020aa348 +_ZN26ModelRender_ov000_020b4d64C1EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020aa37c +_ZN14Actor_Derived1C2EP11ModelRenderP16ActorUnkZSRS_120 kind:function(arm,size=0x110) addr:0x020aa3b0 _ZN14Actor_Derived1D1Ev kind:function(arm,size=0x20) addr:0x020aa4c0 _ZN14Actor_Derived1D0Ev kind:function(arm,size=0x28) addr:0x020aa4e0 _ZN14Actor_Derived1D2Ev kind:function(arm,size=0x20) addr:0x020aa508 @@ -3066,12 +3066,12 @@ _ZN14Actor_Derived18vfunc_ACEv kind:function(arm,size=0x4) addr:0x020aadd4 _ZN14Actor_Derived119func_ov000_020a95d8Ev kind:function(arm,size=0xc) addr:0x020aadd8 _ZN14Actor_Derived18vfunc_A4Ev kind:function(arm,size=0x218) addr:0x020aade4 _ZN14Actor_Derived18vfunc_A8Ev kind:function(arm,size=0x8) addr:0x020aaffc -_ZN14Actor_Derived119func_ov000_020a9804Ev kind:function(arm,size=0xec) addr:0x020ab004 +_ZN14Actor_Derived119func_ov000_020a9804EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xec) addr:0x020ab004 _ZN14Actor_Derived16UpdateEv kind:function(arm,size=0x4) addr:0x020ab0f0 _ZN14Actor_Derived18vfunc_24Ev kind:function(arm,size=0x68) addr:0x020ab0f4 _ZN14Actor_Derived18vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x48) addr:0x020ab15c _ZN14Actor_Derived18vfunc_B8Ev kind:function(arm,size=0x34) addr:0x020ab1a4 -_ZN14Actor_Derived18vfunc_14Ev kind:function(arm,size=0x48) addr:0x020ab1d8 +_ZN14Actor_Derived18vfunc_14EP8Cylinder kind:function(arm,size=0x48) addr:0x020ab1d8 _ZN19func_ov000_020a9a20D1Ev kind:function(arm,size=0x14) addr:0x020ab220 _ZN19func_ov000_020a9a34D0Ev kind:function(arm,size=0x1c) addr:0x020ab234 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020ab250 diff --git a/config/jp/arm9/overlays/ov026/symbols.txt b/config/jp/arm9/overlays/ov026/symbols.txt index 4ce1392d..1418ee5c 100644 --- a/config/jp/arm9/overlays/ov026/symbols.txt +++ b/config/jp/arm9/overlays/ov026/symbols.txt @@ -1888,7 +1888,7 @@ _ZN12ActorUnkRB1T19func_ov026_0212052cEv kind:function(arm,size=0x218) addr:0x02 _ZN12ActorUnkRB1T19func_ov026_02120744Ev kind:function(arm,size=0x9c) addr:0x021229a8 _ZN12ActorUnkRB1T19func_ov026_021207e0Ev kind:function(arm,size=0x94) addr:0x02122a44 _ZN12ActorUnkRB1T19func_ov026_02120874Ev kind:function(arm,size=0x2c) addr:0x02122ad8 -_ZN12ActorUnkRB1T19func_ov026_021208a0Ev kind:function(arm,size=0xb4) addr:0x02122b04 +_ZN12ActorUnkRB1T19func_ov026_021208a0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xb4) addr:0x02122b04 _ZN12ActorUnkRB1T19func_ov026_02120954Ev kind:function(arm,size=0x20) addr:0x02122bb8 _ZN12ActorUnkRB1T19func_ov026_02120974Ev kind:function(arm,size=0x18) addr:0x02122bd8 _ZN12ActorUnkRB1TD0Ev kind:function(arm,size=0x1c) addr:0x02122bf0 diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index ab48bab3..6e2ad3fd 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -49,6 +49,7 @@ src/031_Land/Actor/ActorItemTornado.cpp: .rodata start:0x021127f8 end:0x02112808 src/031_Land/Actor/ActorUnkSWBM.cpp: + complete .text start:0x020e82c4 end:0x020e8d64 .init start:0x02112f1c end:0x02112f90 .ctor start:0x0211453c end:0x02114540 @@ -60,14 +61,14 @@ src/031_Land/Actor/ActorUnkROCK.cpp: .init start:0x02112f90 end:0x02112fe0 .ctor start:0x02114540 end:0x02114544 .data start:0x02115164 end:0x02115208 - .bss start:0x02118370 end:0x02118458 + .bss start:0x02118370 end:0x02118478 src/031_Land/Actor/ActorRupee.cpp: .text start:0x020ea6a4 end:0x020eba18 .init start:0x02112fe0 end:0x02113078 .ctor start:0x02114544 end:0x02114548 .data start:0x02115228 end:0x02115390 - .bss start:0x02118488 end:0x021184cc + .bss start:0x02118478 end:0x021184cc src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp: .text start:0x020eba18 end:0x020f02b8 @@ -122,6 +123,7 @@ src/031_Land/Actor/ActorShotArrow.cpp: .bss start:0x02118810 end:0x0211885c src/031_Land/Actor/ActorUnkATTG.cpp: + complete .text start:0x020f5820 end:0x020f5b40 .init start:0x02113308 end:0x02113358 .ctor start:0x02114564 end:0x02114568 diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index 303cc445..1609878f 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -1735,7 +1735,7 @@ from:0x020ea35c kind:load to:0x021151ac add:0x8 module:overlay(31) from:0x020ea360 kind:load to:0x02118380 module:overlay(31) from:0x020ea364 kind:load to:0x020b3160 add:0x8 module:overlay(0) from:0x020ea388 kind:arm_call to:0x020ea434 module:overlay(31) -from:0x020ea394 kind:load to:0x02118458 module:overlay(31) +from:0x020ea394 kind:load to:0x02118380 add:0xd8 module:overlay(31) from:0x020ea3ec kind:arm_call to:0x0208d1a0 module:overlay(0) from:0x020ea3f4 kind:arm_call to:0x02099fe0 module:overlay(0) from:0x020ea404 kind:arm_call to:0x01ffb6e4 module:itcm diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 071847c7..8d6dc98e 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -498,7 +498,7 @@ _ZN12ActorUnkSWBM19func_ov031_020e6d80Ei kind:function(arm,size=0x104) addr:0x02 _ZN12ActorUnkSWBM19func_ov031_020e6e84Es kind:function(arm,size=0x74) addr:0x020e8870 _ZN12ActorUnkSWBM6UpdateEv kind:function(arm,size=0x268) addr:0x020e88e4 _ZN12ActorUnkSWBM8vfunc_24Ev kind:function(arm,size=0x2c) addr:0x020e8b4c -_ZN12ActorUnkSWBM19func_ov031_020e718cEP7VecFx32P7MtxFx33ists kind:function(arm,size=0x108) addr:0x020e8b78 +_ZN12ActorUnkSWBM19func_ov031_020e718cEPK7VecFx32P7MtxFx33isss kind:function(arm,size=0x108) addr:0x020e8b78 _ZN12ActorUnkSWBM8vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x40) addr:0x020e8c80 _ZN15ActorUnkSWBM_94D0Ev kind:function(arm,size=0x1c) addr:0x020e8cc0 _ZN15ActorUnkSWBM_98D0Ev kind:function(arm,size=0x1c) addr:0x020e8cdc @@ -680,23 +680,23 @@ _ZN12ActorUnkZLSL8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020ee2a8 _ZN12ActorUnkZLSL19func_ov031_020ec8c4Ev kind:function(arm,size=0xac) addr:0x020ee2b0 _ZN12ActorUnkZLSL8vfunc_98Ej kind:function(arm,size=0x270) addr:0x020ee35c _ZN12ActorUnkZLSL19func_ov031_020ecbe0Ev kind:function(arm,size=0x88) addr:0x020ee5cc -_ZN12ActorUnkZLSL19func_ov031_020ecc68Ei kind:function(arm,size=0x240) addr:0x020ee654 +_ZN12ActorUnkZLSL19func_ov031_020ecc68Eb kind:function(arm,size=0x240) addr:0x020ee654 _ZN12ActorUnkZLSL19func_ov031_020ecea8E14UnkAngleStructiii kind:function(arm,size=0x208) addr:0x020ee894 _ZN12ActorUnkZLSL19func_ov031_020ed0b0Ev kind:function(arm,size=0x310) addr:0x020eea9c _ZN12ActorUnkZLSL19func_ov031_020ed3c0Ev kind:function(arm,size=0xbc) addr:0x020eedac -_ZN24UnkStruct_ov031_020ecc6819func_ov031_020ed47cEP12ActorUnkZLSLi kind:function(arm,size=0x68) addr:0x020eee68 +_ZN12ActorUnkZLSL19func_ov031_020ed47cEi kind:function(arm,size=0x68) addr:0x020eee68 _ZN12ActorUnkZLSL19func_ov031_020ed4e4Eii kind:function(arm,size=0x78) addr:0x020eeed0 -_ZN12ActorUnkZLSL19func_ov031_020ed55cEv kind:function(arm,size=0x170) addr:0x020eef48 +_ZN12ActorUnkZLSL19func_ov031_020ed55cEi kind:function(arm,size=0x170) addr:0x020eef48 _ZN12ActorUnkZLSL19func_ov031_020ed6ccEi kind:function(arm,size=0x1e0) addr:0x020ef0b8 _ZN12ActorUnkZLSL19func_ov031_020ed8acEi kind:function(arm,size=0x3d4) addr:0x020ef298 _ZN12ActorUnkZLSL19func_ov031_020edc80Ev kind:function(arm,size=0x94) addr:0x020ef66c _ZN12ActorUnkZLSL19func_ov031_020edd14EP7VecFx32 kind:function(arm,size=0x40) addr:0x020ef700 -_ZN12ActorUnkZLSL19func_ov031_020edd54Ev kind:function(arm,size=0xdc) addr:0x020ef740 -_ZN12ActorUnkZLSL19func_ov031_020ede30Ev kind:function(arm,size=0x168) addr:0x020ef81c -_ZN12ActorUnkZLSL19func_ov031_020edf98Ev kind:function(arm,size=0x44) addr:0x020ef984 +_ZN12ActorUnkZLSL19func_ov031_020edd54E9RefStruct kind:function(arm,size=0xdc) addr:0x020ef740 +_ZN12ActorUnkZLSL19func_ov031_020ede30E9RefStruct kind:function(arm,size=0x168) addr:0x020ef81c +_ZN12ActorUnkZLSL19func_ov031_020edf98E9RefStruct kind:function(arm,size=0x44) addr:0x020ef984 _ZNK12ActorUnkZLSL12GetOffsetPosEP7VecFx32 kind:function(arm,size=0x24) addr:0x020ef9c8 _ZN12ActorUnkZLSL8vfunc_A4Ev kind:function(arm,size=0x1f4) addr:0x020ef9ec -_ZN12ActorUnkZLSL19func_ov031_020ee1f4Ev kind:function(arm,size=0xd4) addr:0x020efbe0 +_ZN12ActorUnkZLSL19func_ov031_020ee1f4EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xd4) addr:0x020efbe0 _ZN12ActorUnkZLSL19func_ov031_020ee2c8Ev kind:function(arm,size=0x120) addr:0x020efcb4 _ZN12ActorUnkZLSL8vfunc_B4Ev kind:function(arm,size=0x34) addr:0x020efdd4 _ZN12ActorUnkZLSL19func_ov031_020ee41cEv kind:function(arm,size=0xa8) addr:0x020efe08 @@ -710,12 +710,12 @@ _ZN17ActorUnkZLSL_27CC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x020f0180 _ZN26ModelRender_ov031_02113670D0Ev kind:function(arm,size=0x1c) addr:0x020f0188 _ZN17ActorUnkZLSL_2700D0Ev kind:function(arm,size=0x1c) addr:0x020f01a4 _ZN17ActorUnkZLSL_27CCD0Ev kind:function(arm,size=0x1c) addr:0x020f01c0 -_ZN24UnkStruct_ov031_0211372c8vfunc_3CEv kind:function(arm,size=0x24) addr:0x020f01dc -_ZN24UnkStruct_ov031_0211372c8vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020f0200 +_ZN16ActorUnkZSRS_1208vfunc_3CEv kind:function(arm,size=0x24) addr:0x020f01dc +_ZN16ActorUnkZSRS_1208vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020f0200 _ZN19func_ov031_020f0188D0Ev kind:function(arm,size=0x1c) addr:0x020f022c _ZN12ActorUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020f0248 _ZN12ActorUnkZSRSD1Ev kind:function(arm,size=0x20) addr:0x020f0270 -_ZN19ActorProfileUnkZLSLD2Ev kind:function(arm,size=0x14) addr:0x020f0290 +_ZN19ActorProfileUnkZSRSD1Ev kind:function(arm,size=0x14) addr:0x020f0290 _ZN19ActorProfileUnkZLSLD1Ev kind:function(arm,size=0x14) addr:0x020f02a4 func_ov031_020f02b8 kind:function(arm,size=0x28) addr:0x020f02b8 func_ov031_020f02e0 kind:function(thumb,size=0x48) addr:0x020f02e0 @@ -2264,7 +2264,7 @@ _ZTV16ActorItemTornado kind:data(any) addr:0x02114dcc _ZTV19data_ov031_02114e30 kind:data(any) addr:0x02114e28 _ZTV19data_ov031_02114e44 kind:data(any) addr:0x02114e44 _ZTV15ActorUnkSWBM_C8 kind:data(any) addr:0x02114ea8 -data_ov031_02113114 kind:data(any) addr:0x02114eb4 +data_ov031_02113114 kind:data(any) addr:0x02114eb4 local _ZTV15ActorUnkSWBM_98 kind:data(any) addr:0x02114ec4 _ZTV15ActorUnkSWBM_94 kind:data(any) addr:0x02114ee0 _ZTV19ActorProfileUnkSWBM kind:data(any) addr:0x02114efc @@ -2527,13 +2527,12 @@ _ZGVN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x0211 @30799 kind:bss addr:0x021182d8 _ZN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x021182e4 _ZGVN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02118320 -@30805 kind:bss addr:0x02118324 +@30805 kind:bss addr:0x02118324 local _ZN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02118330 data_ov031_0211836c kind:bss addr:0x0211836c _ZGVN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02118370 -@30811 kind:bss addr:0x02118374 +@30811 kind:bss addr:0x02118374 local _ZN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02118380 -data_ov031_021166b8 kind:bss addr:0x02118458 data_ov031_02118478 kind:bss addr:0x02118478 data_ov031_0211847c kind:bss addr:0x0211847c _ZN15ProfileInstanceI17ActorProfileRupeeE8sProfileE kind:bss addr:0x02118488 @@ -2561,7 +2560,7 @@ _ZGVN15ProfileInstanceI21ActorProfileShotArrowE8sProfileE kind:bss addr:0x021188 @30860 kind:bss addr:0x02118814 _ZN15ProfileInstanceI21ActorProfileShotArrowE8sProfileE kind:bss addr:0x02118820 _ZGVN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x0211885c -@30866 kind:bss addr:0x02118860 +@30866 kind:bss addr:0x02118860 local _ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x0211886c _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x021188a8 @30872 kind:bss addr:0x021188ac local diff --git a/config/jp/arm9/overlays/ov032/symbols.txt b/config/jp/arm9/overlays/ov032/symbols.txt index ba7cba19..d09d0721 100644 --- a/config/jp/arm9/overlays/ov032/symbols.txt +++ b/config/jp/arm9/overlays/ov032/symbols.txt @@ -157,7 +157,7 @@ _ZN10ActorKeese19func_ov032_0211f804Ev kind:function(arm,size=0x138) addr:0x0212 _ZN10ActorKeese19func_ov032_0211f93cEP7VecFx32i kind:function(arm,size=0x88) addr:0x021216dc _ZN10ActorKeese19func_ov032_0211f9c4Ev kind:function(arm,size=0x88) addr:0x02121764 _ZN10ActorKeese19func_ov032_0211fa4cEi kind:function(arm,size=0xa4) addr:0x021217ec -_ZN10ActorKeese19func_ov032_0211faf0EPvi kind:function(arm,size=0xac) addr:0x02121890 +_ZN10ActorKeese19func_ov032_0211faf0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xac) addr:0x02121890 _ZN24UnkStruct_ov032_0212251cC1Ev kind:function(arm,size=0x18) addr:0x0212193c _ZN24UnkStruct_ov032_0212251c8vfunc_00EP9MapObject kind:function(arm,size=0x38) addr:0x02121954 _ZN14ActorKeese_284C1Ev kind:function(arm,size=0x14) addr:0x0212198c diff --git a/config/jp/arm9/overlays/ov093/symbols.txt b/config/jp/arm9/overlays/ov093/symbols.txt index 0f57f42b..fb0d4578 100644 --- a/config/jp/arm9/overlays/ov093/symbols.txt +++ b/config/jp/arm9/overlays/ov093/symbols.txt @@ -11,13 +11,13 @@ func_ov093_021682a8 kind:function(arm,size=0x10) addr:0x021682a8 _ZN18UnkStruct_027e0d8c19func_ov093_02166058Ev kind:function(arm,size=0x10) addr:0x021682b8 _ZN18UnkStruct_027e0d8c19func_ov093_02166068Ev kind:function(arm,size=0x10) addr:0x021682c8 func_ov093_021682d8 kind:function(arm,size=0x30) addr:0x021682d8 -func_ov093_02168308 kind:function(arm,size=0x20) addr:0x02168308 +_ZN18UnkStruct_027e0d8c19func_ov093_021660a8E9RefStruct kind:function(arm,size=0x20) addr:0x02168308 func_ov093_02168328 kind:function(arm,size=0x10) addr:0x02168328 func_ov093_02168338 kind:function(arm,size=0x10) addr:0x02168338 func_ov093_02168348 kind:function(arm,size=0x10) addr:0x02168348 -func_ov093_02168358 kind:function(arm,size=0x10) addr:0x02168358 -func_ov093_02168368 kind:function(arm,size=0x10) addr:0x02168368 -func_ov093_02168378 kind:function(arm,size=0x10) addr:0x02168378 +_ZN18UnkStruct_027e0d8c19func_ov093_021660f8Ev kind:function(arm,size=0x10) addr:0x02168358 +_ZN18UnkStruct_027e0d8c19func_ov093_02166108Ev kind:function(arm,size=0x10) addr:0x02168368 +_ZN18UnkStruct_027e0d8c19func_ov093_02166118Ev kind:function(arm,size=0x10) addr:0x02168378 func_ov093_02168388 kind:function(arm,size=0x10) addr:0x02168388 func_ov093_02168398 kind:function(arm,size=0x18) addr:0x02168398 func_ov093_021683b0 kind:function(arm,size=0x18) addr:0x021683b0 diff --git a/config/usa/arm9/overlays/ov000/relocs.txt b/config/usa/arm9/overlays/ov000/relocs.txt index d2e4e2f7..abc9598f 100644 --- a/config/usa/arm9/overlays/ov000/relocs.txt +++ b/config/usa/arm9/overlays/ov000/relocs.txt @@ -8595,7 +8595,7 @@ from:0x020ae4c0 kind:load to:0x0213f774 module:overlays(26,70) from:0x020ae4c4 kind:load to:0x020f1370 module:overlays(22,31) from:0x020ae4c8 kind:load to:0x02156f5c module:overlays(58,77) from:0x020ae4cc kind:load to:0x02152ee8 module:overlays(29,58,77) -from:0x020ae4d0 kind:load to:0x020f3d5c module:overlays(22,23,31) +from:0x020ae4d0 kind:load to:0x020f3d5c module:overlay(31) from:0x020ae4d4 kind:load to:0x020f02cc module:overlays(21,22) from:0x020ae4d8 kind:load to:0x020f0cbc module:overlays(21,22) from:0x020ae4dc kind:load to:0x02157e80 module:overlays(59,60,61,62,63,64,65,66,67,68,69,79) @@ -8999,7 +8999,7 @@ from:0x020aeb10 kind:load to:0x021234a0 module:overlays(40,41,42,43,44,45,46) from:0x020aeb14 kind:load to:0x02130480 module:overlays(47,48,49,50,51,52) from:0x020aeb18 kind:load to:0x0216a300 module:overlay(94) from:0x020aeb1c kind:load to:0x02133144 module:overlays(26,52) -from:0x020aeb20 kind:load to:0x020e6b14 module:overlays(20,31) +from:0x020aeb20 kind:load to:0x020e6b14 module:overlay(31) from:0x020aeb24 kind:load to:0x020f7a64 module:overlays(31,22,23) from:0x020aeb28 kind:load to:0x021439a8 module:overlay(70) from:0x020aeb2c kind:load to:0x0215caf0 module:overlays(66,67) @@ -9032,7 +9032,7 @@ from:0x020aeb94 kind:load to:0x021770d0 module:overlays(88,89,90,91,92,94) 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:overlays(26,31) +from:0x020aeba4 kind:load to:0x021165d0 module:overlay(26) from:0x020aeba8 kind:load to:0x020f6814 module:overlays(22,23,31) from:0x020aebac kind:load to:0x02111080 module:overlay(26) from:0x020aebb0 kind:load to:0x0217ab6c module:overlays(92,96) diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 57713abb..b985dc74 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1253,7 +1253,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x020781b4 func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020781c8 _ZN21UnkStruct_027e09bc_0C19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078210 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x020782f4 -_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P29UnkStackStruct_ov000_02077590i kind:function(arm,size=0x40) addr:0x0207832c +_ZN21UnkStruct_027e09bc_0C19func_ov000_0207834cEP7VecFx32P15UnkStackStruct2i kind:function(arm,size=0x40) addr:0x0207832c func_ov000_0207838c kind:function(arm,size=0x70) addr:0x0207836c func_ov000_020783fc kind:function(arm,size=0x88) addr:0x020783dc func_ov000_02078484 kind:function(arm,size=0x40) addr:0x02078464 @@ -1457,7 +1457,7 @@ func_ov000_0207d9f8 kind:function(arm,size=0x48) addr:0x0207d9d8 _ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) addr:0x0207da20 func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207dc2c func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc44 -func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dc68 +_ZN18UnkStruct_027e09c019func_ov000_0207dc88EPP5ActorP8Actor_38 kind:function(arm,size=0x210) addr:0x0207dc68 _ZN18UnkStruct_027e09c019func_ov000_0207de98E9RefStructP24UnkStruct_ov000_0207de98P8Actor_38 kind:function(arm,size=0xc0) addr:0x0207de78 func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207df38 _ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207df68 @@ -1912,7 +1912,7 @@ func_ov000_0208ba30 kind:function(arm,size=0x10) addr:0x0208ba10 _ZN18UnkStruct_027e0ce019func_ov000_0208ba40EP17SaveInventoryData kind:function(thumb,size=0x1e) addr:0x0208ba20 func_ov000_0208ba60 kind:function(arm,size=0x20) addr:0x0208ba40 func_ov000_0208ba80 kind:function(arm,size=0x14) addr:0x0208ba60 -func_ov000_0208ba94 kind:function(arm,size=0x1c) addr:0x0208ba74 +_ZN18UnkStruct_027e0ce019func_ov000_0208ba94EiP7VecFx32 kind:function(arm,size=0x1c) addr:0x0208ba74 func_ov000_0208bab0 kind:function(arm,size=0x1c) addr:0x0208ba90 _ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208baac func_ov000_0208badc kind:function(arm,size=0x10) addr:0x0208babc @@ -1927,7 +1927,7 @@ func_ov000_0208bb84 kind:function(arm,size=0x10) addr:0x0208bb64 func_ov000_0208bb94 kind:function(arm,size=0x10) addr:0x0208bb74 func_ov000_0208bba4 kind:function(arm,size=0x10) addr:0x0208bb84 func_ov000_0208bbb4 kind:function(arm,size=0x10) addr:0x0208bb94 -func_ov000_0208bbc4 kind:function(arm,size=0x10) addr:0x0208bba4 +_ZN18UnkStruct_027e0ce019func_ov000_0208bbc4EiPv kind:function(arm,size=0x10) addr:0x0208bba4 func_ov000_0208bbd4 kind:function(arm,size=0x2c) addr:0x0208bbb4 func_ov000_0208bc00 kind:function(arm,size=0x1c) addr:0x0208bbe0 _ZN18UnkStruct_027e0ce019func_ov000_0208bc1cEiiiP8CylinderPvi kind:function(arm,size=0x40) addr:0x0208bbfc @@ -2275,7 +2275,7 @@ _ZN12ActorProfile8vfunc_18Ev kind:function(arm,size=0x4) addr:0x020977f8 func_ov000_0209781c kind:function(arm,size=0x7c) addr:0x020977fc _ZN21ActorProfile_Derived1C2Ej kind:function(arm,size=0x30) addr:0x02097878 func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x020978a8 -_ZN21ActorProfile_Derived1C2EjS0_ kind:function(arm,size=0x30) addr:0x020978bc +_ZN21ActorProfile_Derived1C2Ejj kind:function(arm,size=0x30) addr:0x020978bc _ZN21ActorProfile_Derived1D2Ev kind:function(arm,size=0x38) addr:0x020978ec _ZN21ActorProfile_Derived18vfunc_04Ev kind:function(arm,size=0x8) addr:0x02097924 _ZN21ActorProfile_Derived18vfunc_10Ev kind:function(arm,size=0x20) addr:0x0209792c @@ -2375,9 +2375,9 @@ func_ov000_02099870 kind:function(arm,size=0x80) addr:0x02099850 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_020998f0E9RefStructP7VecFx32 kind:function(arm,size=0x11c) addr:0x020998d0 _ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x020999ec func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x020999fc -_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x02099a08 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP33MapObjectProfile_Derived2_20_Base kind:function(thumb,size=0x54) addr:0x02099a08 func_ov000_02099a7c kind:function(thumb,size=0x48) addr:0x02099a5c -func_ov000_02099ac4 kind:function(thumb,size=0x28) addr:0x02099aa4 +_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P26ModelRender_ov031_02113670P33MapObjectProfile_Derived2_20_BaseP10G3d_Model_i kind:function(thumb,size=0x28) addr:0x02099aa4 func_ov000_02099aec kind:function(thumb,size=0x2) addr:0x02099acc _ZN19func_ov000_02099af0D0Ev kind:function(thumb,size=0xc) addr:0x02099ad0 _ZN24UnkStruct_ov000_020b31a8D2Ev kind:function(thumb,size=0x2) addr:0x02099adc @@ -2424,7 +2424,7 @@ func_ov000_0209a738 kind:function(arm,size=0x2c) addr:0x0209a718 _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209a744 func_ov000_0209a780 kind:function(thumb,size=0x1c) addr:0x0209a760 _ZN26ModelRender_ov000_020b4d648vfunc_1CEP16G3d_RenderState_ kind:function(arm,size=0x1c) addr:0x0209a77c -_ZN11ModelRender19func_ov000_0209a7b8EPvPFvS0_iE kind:function(arm,size=0xc) addr:0x0209a798 +_ZN11ModelRender19func_ov000_0209a7b8EPvPFvP5ActorP16G3d_RenderState_E kind:function(arm,size=0xc) addr:0x0209a798 func_ov000_0209a7c4 kind:function(arm,size=0x28) addr:0x0209a7a4 func_ov000_0209a7ec kind:function(arm,size=0x28) addr:0x0209a7cc func_ov000_0209a814 kind:function(arm,size=0x44) addr:0x0209a7f4 @@ -3022,9 +3022,9 @@ _ZN11ItemManager19func_ov000_020a8ab8Ev kind:function(arm,size=0x14) addr:0x020a _ZN11ItemManager19func_ov000_020a8accEv kind:function(arm,size=0x14) addr:0x020a8aac _ZN14Actor_Derived119func_ov000_020a8ae0Ei kind:function(arm,size=0x14) addr:0x020a8ac0 func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020a8ad4 -func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020a8b28 -func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020a8b5c -_ZN14Actor_Derived1C1EP11ModelRenderP20Actor_Derived1_94_0C kind:function(arm,size=0x110) addr:0x020a8b90 +_ZN26ModelRender_ov000_020b4d64C2EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8b28 +_ZN26ModelRender_ov000_020b4d64C1EP10G3d_Model_ kind:function(arm,size=0x34) addr:0x020a8b5c +_ZN14Actor_Derived1C2EP11ModelRenderP16ActorUnkZSRS_120 kind:function(arm,size=0x110) addr:0x020a8b90 _ZN14Actor_Derived1D1Ev kind:function(arm,size=0x20) addr:0x020a8ca0 _ZN14Actor_Derived1D0Ev kind:function(arm,size=0x28) addr:0x020a8cc0 _ZN14Actor_Derived1D2Ev kind:function(arm,size=0x20) addr:0x020a8ce8 @@ -3064,12 +3064,12 @@ _ZN14Actor_Derived18vfunc_ACEv kind:function(arm,size=0x4) addr:0x020a95b4 _ZN14Actor_Derived119func_ov000_020a95d8Ev kind:function(arm,size=0xc) addr:0x020a95b8 _ZN14Actor_Derived18vfunc_A4Ev kind:function(arm,size=0x218) addr:0x020a95c4 _ZN14Actor_Derived18vfunc_A8Ev kind:function(arm,size=0x8) addr:0x020a97dc -_ZN14Actor_Derived119func_ov000_020a9804Ev kind:function(arm,size=0xec) addr:0x020a97e4 +_ZN14Actor_Derived119func_ov000_020a9804EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xec) addr:0x020a97e4 _ZN14Actor_Derived16UpdateEv kind:function(arm,size=0x4) addr:0x020a98d0 _ZN14Actor_Derived18vfunc_24Ev kind:function(arm,size=0x68) addr:0x020a98d4 _ZN14Actor_Derived18vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x48) addr:0x020a993c _ZN14Actor_Derived18vfunc_B8Ev kind:function(arm,size=0x34) addr:0x020a9984 -_ZN14Actor_Derived18vfunc_14Ev kind:function(arm,size=0x48) addr:0x020a99b8 +_ZN14Actor_Derived18vfunc_14EP8Cylinder kind:function(arm,size=0x48) addr:0x020a99b8 _ZN19func_ov000_020a9a20D1Ev kind:function(arm,size=0x14) addr:0x020a9a00 _ZN19func_ov000_020a9a34D0Ev kind:function(arm,size=0x1c) addr:0x020a9a14 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020a9a30 diff --git a/config/usa/arm9/overlays/ov026/symbols.txt b/config/usa/arm9/overlays/ov026/symbols.txt index 03e7f56c..173533f2 100644 --- a/config/usa/arm9/overlays/ov026/symbols.txt +++ b/config/usa/arm9/overlays/ov026/symbols.txt @@ -1883,7 +1883,7 @@ _ZN12ActorUnkRB1T19func_ov026_0212052cEv kind:function(arm,size=0x218) addr:0x02 _ZN12ActorUnkRB1T19func_ov026_02120744Ev kind:function(arm,size=0x9c) addr:0x02120724 _ZN12ActorUnkRB1T19func_ov026_021207e0Ev kind:function(arm,size=0x94) addr:0x021207c0 _ZN12ActorUnkRB1T19func_ov026_02120874Ev kind:function(arm,size=0x2c) addr:0x02120854 -_ZN12ActorUnkRB1T19func_ov026_021208a0Ev kind:function(arm,size=0xb4) addr:0x02120880 +_ZN12ActorUnkRB1T19func_ov026_021208a0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xb4) addr:0x02120880 _ZN12ActorUnkRB1T19func_ov026_02120954Ev kind:function(arm,size=0x20) addr:0x02120934 _ZN12ActorUnkRB1T19func_ov026_02120974Ev kind:function(arm,size=0x18) addr:0x02120954 _ZN12ActorUnkRB1TD0Ev kind:function(arm,size=0x1c) addr:0x0212096c diff --git a/config/usa/arm9/overlays/ov031/delinks.txt b/config/usa/arm9/overlays/ov031/delinks.txt index ccd907ae..17e35895 100644 --- a/config/usa/arm9/overlays/ov031/delinks.txt +++ b/config/usa/arm9/overlays/ov031/delinks.txt @@ -49,6 +49,7 @@ src/031_Land/Actor/ActorItemTornado.cpp: .rodata start:0x02110a68 end:0x02110a78 src/031_Land/Actor/ActorUnkSWBM.cpp: + complete .text start:0x020e68b8 end:0x020e7358 .init start:0x0211118c end:0x02111200 .ctor start:0x02112790 end:0x02112794 @@ -60,14 +61,14 @@ src/031_Land/Actor/ActorUnkROCK.cpp: .init start:0x02111200 end:0x02111250 .ctor start:0x02112794 end:0x02112798 .data start:0x021133a4 end:0x02113448 - .bss start:0x021165b0 end:0x021166c8 + .bss start:0x021165b0 end:0x021166b8 src/031_Land/Actor/ActorRupee.cpp: .text start:0x020e8c98 end:0x020ea00c .init start:0x02111250 end:0x021112e8 .ctor start:0x02112798 end:0x0211279c .data start:0x02113468 end:0x021135d0 - .bss start:0x021166c8 end:0x0211670c + .bss start:0x021166b8 end:0x0211670c src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp: .text start:0x020ea00c end:0x020ee8ac @@ -122,6 +123,7 @@ src/031_Land/Actor/ActorShotArrow.cpp: .bss start:0x02116a50 end:0x02116a9c src/031_Land/Actor/ActorUnkATTG.cpp: + complete .text start:0x020f3d5c end:0x020f407c .init start:0x02111578 end:0x021115c8 .ctor start:0x021127b8 end:0x021127bc diff --git a/config/usa/arm9/overlays/ov031/relocs.txt b/config/usa/arm9/overlays/ov031/relocs.txt index 44e9c6f7..7e818182 100644 --- a/config/usa/arm9/overlays/ov031/relocs.txt +++ b/config/usa/arm9/overlays/ov031/relocs.txt @@ -1734,7 +1734,7 @@ from:0x020e8950 kind:load to:0x021133ec add:0x8 module:overlay(31) from:0x020e8954 kind:load to:0x021165c0 module:overlay(31) from:0x020e8958 kind:load to:0x020b1940 add:0x8 module:overlay(0) from:0x020e897c kind:arm_call to:0x020e8a28 module:overlay(31) -from:0x020e8988 kind:load to:0x02116698 module:overlay(31) +from:0x020e8988 kind:load to:0x021165c0 add:0xd8 module:overlay(31) from:0x020e89e0 kind:arm_call to:0x0208baac module:overlay(0) from:0x020e89e8 kind:arm_call to:0x02098818 module:overlay(0) from:0x020e89f8 kind:arm_call to:0x01ffb6e4 module:itcm diff --git a/config/usa/arm9/overlays/ov031/symbols.txt b/config/usa/arm9/overlays/ov031/symbols.txt index c002d799..bf1f2407 100644 --- a/config/usa/arm9/overlays/ov031/symbols.txt +++ b/config/usa/arm9/overlays/ov031/symbols.txt @@ -498,7 +498,7 @@ _ZN12ActorUnkSWBM19func_ov031_020e6d80Ei kind:function(arm,size=0x104) addr:0x02 _ZN12ActorUnkSWBM19func_ov031_020e6e84Es kind:function(arm,size=0x74) addr:0x020e6e64 _ZN12ActorUnkSWBM6UpdateEv kind:function(arm,size=0x268) addr:0x020e6ed8 _ZN12ActorUnkSWBM8vfunc_24Ev kind:function(arm,size=0x2c) addr:0x020e7140 -_ZN12ActorUnkSWBM19func_ov031_020e718cEP7VecFx32P7MtxFx33ists kind:function(arm,size=0x108) addr:0x020e716c +_ZN12ActorUnkSWBM19func_ov031_020e718cEPK7VecFx32P7MtxFx33isss kind:function(arm,size=0x108) addr:0x020e716c _ZN12ActorUnkSWBM8vfunc_2CEP14Actor_vfunc_30 kind:function(arm,size=0x40) addr:0x020e7274 _ZN15ActorUnkSWBM_94D0Ev kind:function(arm,size=0x1c) addr:0x020e72b4 _ZN15ActorUnkSWBM_98D0Ev kind:function(arm,size=0x1c) addr:0x020e72d0 @@ -617,7 +617,7 @@ _ZN26ModelRender_ov031_02113670C2EP10G3d_Model_ kind:function(thumb,size=0x14) a _ZN26ModelRender_ov031_021136708vfunc_0CEv kind:function(thumb,size=0x8) addr:0x020ea0d8 _ZN12ActorUnkZLSL19func_ov031_020ea100Ev kind:function(thumb,size=0x40) addr:0x020ea0e0 _ZN12ActorUnkZLSLC1Ev kind:function(thumb,size=0x3b4) addr:0x020ea120 -_ZN24UnkStruct_ov031_0211372cD1Ev kind:function(thumb,size=0xc) addr:0x020ea4d4 +_ZN16ActorUnkZSRS_120D1Ev kind:function(thumb,size=0xc) addr:0x020ea4d4 _ZN26ModelRender_ov031_02113670D1Ev kind:function(thumb,size=0xc) addr:0x020ea4e0 _ZN17ActorUnkZLSL_2700D1Ev kind:function(thumb,size=0xc) addr:0x020ea4ec _ZN17ActorUnkZLSL_27CCD1Ev kind:function(thumb,size=0xc) addr:0x020ea4f8 @@ -680,23 +680,23 @@ _ZN12ActorUnkZLSL8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020ec89c _ZN12ActorUnkZLSL19func_ov031_020ec8c4Ev kind:function(arm,size=0xac) addr:0x020ec8a4 _ZN12ActorUnkZLSL8vfunc_98Ej kind:function(arm,size=0x270) addr:0x020ec950 _ZN12ActorUnkZLSL19func_ov031_020ecbe0Ev kind:function(arm,size=0x88) addr:0x020ecbc0 -_ZN12ActorUnkZLSL19func_ov031_020ecc68Ei kind:function(arm,size=0x240) addr:0x020ecc48 +_ZN12ActorUnkZLSL19func_ov031_020ecc68Eb kind:function(arm,size=0x240) addr:0x020ecc48 _ZN12ActorUnkZLSL19func_ov031_020ecea8E14UnkAngleStructiii kind:function(arm,size=0x208) addr:0x020ece88 _ZN12ActorUnkZLSL19func_ov031_020ed0b0Ev kind:function(arm,size=0x310) addr:0x020ed090 _ZN12ActorUnkZLSL19func_ov031_020ed3c0Ev kind:function(arm,size=0xbc) addr:0x020ed3a0 -_ZN24UnkStruct_ov031_020ecc6819func_ov031_020ed47cEP12ActorUnkZLSLi kind:function(arm,size=0x68) addr:0x020ed45c +_ZN12ActorUnkZLSL19func_ov031_020ed47cEi kind:function(arm,size=0x68) addr:0x020ed45c _ZN12ActorUnkZLSL19func_ov031_020ed4e4Eii kind:function(arm,size=0x78) addr:0x020ed4c4 -_ZN12ActorUnkZLSL19func_ov031_020ed55cEv kind:function(arm,size=0x170) addr:0x020ed53c +_ZN12ActorUnkZLSL19func_ov031_020ed55cEi kind:function(arm,size=0x170) addr:0x020ed53c _ZN12ActorUnkZLSL19func_ov031_020ed6ccEi kind:function(arm,size=0x1e0) addr:0x020ed6ac _ZN12ActorUnkZLSL19func_ov031_020ed8acEi kind:function(arm,size=0x3d4) addr:0x020ed88c _ZN12ActorUnkZLSL19func_ov031_020edc80Ev kind:function(arm,size=0x94) addr:0x020edc60 _ZN12ActorUnkZLSL19func_ov031_020edd14EP7VecFx32 kind:function(arm,size=0x40) addr:0x020edcf4 -_ZN12ActorUnkZLSL19func_ov031_020edd54Ev kind:function(arm,size=0xdc) addr:0x020edd34 -_ZN12ActorUnkZLSL19func_ov031_020ede30Ev kind:function(arm,size=0x168) addr:0x020ede10 -_ZN12ActorUnkZLSL19func_ov031_020edf98Ev kind:function(arm,size=0x44) addr:0x020edf78 +_ZN12ActorUnkZLSL19func_ov031_020edd54E9RefStruct kind:function(arm,size=0xdc) addr:0x020edd34 +_ZN12ActorUnkZLSL19func_ov031_020ede30E9RefStruct kind:function(arm,size=0x168) addr:0x020ede10 +_ZN12ActorUnkZLSL19func_ov031_020edf98E9RefStruct kind:function(arm,size=0x44) addr:0x020edf78 _ZNK12ActorUnkZLSL12GetOffsetPosEP7VecFx32 kind:function(arm,size=0x24) addr:0x020edfbc _ZN12ActorUnkZLSL8vfunc_A4Ev kind:function(arm,size=0x1f4) addr:0x020edfe0 -_ZN12ActorUnkZLSL19func_ov031_020ee1f4Ev kind:function(arm,size=0xd4) addr:0x020ee1d4 +_ZN12ActorUnkZLSL19func_ov031_020ee1f4EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xd4) addr:0x020ee1d4 _ZN12ActorUnkZLSL19func_ov031_020ee2c8Ev kind:function(arm,size=0x120) addr:0x020ee2a8 _ZN12ActorUnkZLSL8vfunc_B4Ev kind:function(arm,size=0x34) addr:0x020ee3c8 _ZN12ActorUnkZLSL19func_ov031_020ee41cEv kind:function(arm,size=0xa8) addr:0x020ee3fc @@ -710,22 +710,22 @@ _ZN17ActorUnkZLSL_27CC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x020ee774 _ZN26ModelRender_ov031_02113670D0Ev kind:function(arm,size=0x1c) addr:0x020ee77c _ZN17ActorUnkZLSL_2700D0Ev kind:function(arm,size=0x1c) addr:0x020ee798 _ZN17ActorUnkZLSL_27CCD0Ev kind:function(arm,size=0x1c) addr:0x020ee7b4 -_ZN24UnkStruct_ov031_0211372c8vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee7d0 -_ZN24UnkStruct_ov031_0211372c8vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee7f4 -_ZN24UnkStruct_ov031_0211372cD0Ev kind:function(arm,size=0x1c) addr:0x020ee820 -_ZN19ActorProfileUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee83c -_ZN19ActorProfileUnkZSRSD2Ev kind:function(arm,size=0x20) addr:0x020ee864 -_ZN19ActorProfileUnkZLSLD2Ev kind:function(arm,size=0x14) addr:0x020ee884 +_ZN16ActorUnkZSRS_1208vfunc_3CEv kind:function(arm,size=0x24) addr:0x020ee7d0 +_ZN16ActorUnkZSRS_1208vfunc_38Eii kind:function(arm,size=0x2c) addr:0x020ee7f4 +_ZN16ActorUnkZSRS_120D0Ev kind:function(arm,size=0x1c) addr:0x020ee820 +_ZN12ActorUnkZSRSD0Ev kind:function(arm,size=0x28) addr:0x020ee83c +_ZN12ActorUnkZSRSD1Ev kind:function(arm,size=0x20) addr:0x020ee864 +_ZN19ActorProfileUnkZSRSD1Ev kind:function(arm,size=0x14) addr:0x020ee884 _ZN19ActorProfileUnkZLSLD1Ev kind:function(arm,size=0x14) addr:0x020ee898 func_ov031_020ee8cc kind:function(arm,size=0x28) addr:0x020ee8ac -func_ov031_020ee8f4 kind:function(thumb,size=0x48) addr:0x020ee8d4 +_ZN21ActorUnkZSRS_120_BaseC2EP10UnkSystem5S1_P11ModelRenderP19UnkActorFileSystem2P10G3d_Model_i kind:function(thumb,size=0x48) addr:0x020ee8d4 func_ov031_020ee93c kind:function(thumb,size=0xc) addr:0x020ee91c func_ov031_020ee948 kind:function(thumb,size=0x12) addr:0x020ee928 -func_ov031_020ee95c kind:function(thumb,size=0xc) addr:0x020ee93c -_ZN24UnkStruct_ov031_0211372c8vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020ee948 -_ZN24UnkStruct_ov031_0211372c8vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eeac4 -func_ov031_020eeb18 kind:function(arm,size=0x40) addr:0x020eeaf8 -func_ov031_020eeb58 kind:function(arm,size=0x150) addr:0x020eeb38 +_ZN21ActorUnkZSRS_120_BaseD2Ev kind:function(thumb,size=0xc) addr:0x020ee93c +_ZN16ActorUnkZSRS_1208vfunc_18Ev kind:function(arm,size=0x17c) addr:0x020ee948 +_ZN16ActorUnkZSRS_1208vfunc_40Ev kind:function(arm,size=0x34) addr:0x020eeac4 +_ZN17ActorUnkZLSL_1690C1Ev kind:function(arm,size=0x40) addr:0x020eeaf8 +_ZN17ActorUnkZLSL_169019func_ov031_020eeb58Ev kind:function(arm,size=0x150) addr:0x020eeb38 _ZN17ActorUnkZLSL_169019func_ov031_020eeca8Ev kind:function(arm,size=0x40) addr:0x020eec88 _ZN17ActorUnkZLSL_169019func_ov031_020eece8Ev kind:function(arm,size=0xc) addr:0x020eecc8 _ZN17ActorProfileHeart10GetProfileEv kind:function(arm,size=0xc) addr:0x020eecd4 @@ -2267,7 +2267,7 @@ _ZTV16ActorItemTornado kind:data(any) addr:0x0211300c _ZTV19data_ov031_021130a4 kind:data(any) addr:0x02113068 data_ov031_0211308c kind:data(any) addr:0x0211308c _ZTV15ActorUnkSWBM_C8 kind:data(any) addr:0x021130e8 -data_ov031_021130f4 kind:data(any) addr:0x021130f4 +data_ov031_02113114 kind:data(any) addr:0x021130f4 local _ZTV15ActorUnkSWBM_98 kind:data(any) addr:0x02113104 _ZTV15ActorUnkSWBM_94 kind:data(any) addr:0x02113120 _ZTV19ActorProfileUnkSWBM kind:data(any) addr:0x0211313c @@ -2301,7 +2301,7 @@ _ZTV19ActorProfileUnkZSRS kind:data(any) addr:0x02113624 _ZTV26ModelRender_ov031_02113670 kind:data(any) addr:0x02113648 _ZTV17ActorUnkZLSL_27CC kind:data(any) addr:0x02113674 _ZTV17ActorUnkZLSL_2700 kind:data(any) addr:0x021136bc -_ZTV24UnkStruct_ov031_0211372c kind:data(any) addr:0x02113704 +_ZTV16ActorUnkZSRS_120 kind:data(any) addr:0x02113704 data_ov031_02113750 kind:data(any) addr:0x02113750 data_ov031_021137d8 kind:data(any) addr:0x021137d8 _ZTV12ActorUnkZLSL kind:data(any) addr:0x02113860 @@ -2537,15 +2537,13 @@ data_ov031_021164d8 kind:bss addr:0x021164d8 _ZGVN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x02116514 @8467 kind:bss addr:0x02116518 local _ZN15ProfileInstanceI23ActorProfileItemTornadoE8sProfileE kind:bss addr:0x02116524 -data_ov031_02116560 kind:bss addr:0x02116560 -data_ov031_02116564 kind:bss addr:0x02116564 -data_ov031_02116570 kind:bss addr:0x02116570 +_ZGVN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02116560 +@8373 kind:bss addr:0x02116564 local +_ZN15ProfileInstanceI19ActorProfileUnkSWBME8sProfileE kind:bss addr:0x02116570 data_ov031_021165ac kind:bss addr:0x021165ac -data_ov031_021165b0 kind:bss addr:0x021165b0 -data_ov031_021165b4 kind:bss addr:0x021165b4 -data_ov031_021165c0 kind:bss addr:0x021165c0 -data_ov031_021165d0 kind:bss addr:0x021165d0 ambiguous -data_ov031_02116698 kind:bss addr:0x02116698 +_ZGVN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x021165b0 +@10811 kind:bss addr:0x021165b4 local +_ZN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x021165c0 data_ov031_021166b8 kind:bss addr:0x021166b8 data_ov031_021166bc kind:bss addr:0x021166bc data_ov031_021166c8 kind:bss addr:0x021166c8 @@ -2573,9 +2571,9 @@ _ZN15ProfileInstanceI22ActorProfileItemFlowerE8sProfileE kind:bss addr:0x02116a1 data_ov031_02116a50 kind:bss addr:0x02116a50 data_ov031_02116a54 kind:bss addr:0x02116a54 data_ov031_02116a60 kind:bss addr:0x02116a60 -data_ov031_02116a9c kind:bss addr:0x02116a9c -data_ov031_02116aa0 kind:bss addr:0x02116aa0 -data_ov031_02116aac kind:bss addr:0x02116aac +_ZGVN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116a9c +@8299 kind:bss addr:0x02116aa0 local +_ZN15ProfileInstanceI19ActorProfileUnkATTGE8sProfileE kind:bss addr:0x02116aac _ZGVN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116ae8 @10872 kind:bss addr:0x02116aec local _ZN15ProfileInstanceI19ActorProfileUnkNTTZE8sProfileE kind:bss addr:0x02116af8 diff --git a/config/usa/arm9/overlays/ov032/symbols.txt b/config/usa/arm9/overlays/ov032/symbols.txt index d2e86023..b0856d77 100644 --- a/config/usa/arm9/overlays/ov032/symbols.txt +++ b/config/usa/arm9/overlays/ov032/symbols.txt @@ -157,7 +157,7 @@ _ZN10ActorKeese19func_ov032_0211f804Ev kind:function(arm,size=0x138) addr:0x0211 _ZN10ActorKeese19func_ov032_0211f93cEP7VecFx32i kind:function(arm,size=0x88) addr:0x0211f91c _ZN10ActorKeese19func_ov032_0211f9c4Ev kind:function(arm,size=0x88) addr:0x0211f9a4 _ZN10ActorKeese19func_ov032_0211fa4cEi kind:function(arm,size=0xa4) addr:0x0211fa2c -_ZN10ActorKeese19func_ov032_0211faf0EPvi kind:function(arm,size=0xac) addr:0x0211fad0 +_ZN10ActorKeese19func_ov032_0211faf0EP5ActorP16G3d_RenderState_ kind:function(arm,size=0xac) addr:0x0211fad0 _ZN24UnkStruct_ov032_0212251cC1Ev kind:function(arm,size=0x18) addr:0x0211fb7c _ZN24UnkStruct_ov032_0212251c8vfunc_00EP9MapObject kind:function(arm,size=0x38) addr:0x0211fb94 _ZN14ActorKeese_284C1Ev kind:function(arm,size=0x14) addr:0x0211fbcc diff --git a/config/usa/arm9/overlays/ov093/symbols.txt b/config/usa/arm9/overlays/ov093/symbols.txt index 9c541bd9..c60c5aee 100644 --- a/config/usa/arm9/overlays/ov093/symbols.txt +++ b/config/usa/arm9/overlays/ov093/symbols.txt @@ -17,7 +17,7 @@ func_ov093_021660d8 kind:function(arm,size=0x10) addr:0x021660b8 func_ov093_021660e8 kind:function(arm,size=0x10) addr:0x021660c8 _ZN18UnkStruct_027e0d8c19func_ov093_021660f8Ev kind:function(arm,size=0x10) addr:0x021660d8 _ZN18UnkStruct_027e0d8c19func_ov093_02166108Ev kind:function(arm,size=0x10) addr:0x021660e8 -func_ov093_02166118 kind:function(arm,size=0x10) addr:0x021660f8 +_ZN18UnkStruct_027e0d8c19func_ov093_02166118Ev kind:function(arm,size=0x10) addr:0x021660f8 func_ov093_02166128 kind:function(arm,size=0x10) addr:0x02166108 func_ov093_02166138 kind:function(arm,size=0x18) addr:0x02166118 func_ov093_02166150 kind:function(arm,size=0x18) addr:0x02166130 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 8e5598a1..04b3e81f 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -179,7 +179,7 @@ public: /* 2C */ unk32 mUnk_2C; // gravity? /* 30 */ Cylinder *mUnk_30; /* 34 */ Cylinder *mUnk_34; - /* 38 */ Actor_38 *mUnk_38; + /* 38 */ Actor_38 *mUnk_38; // wrong type, points to Actor_Derived1_94 /* 3C */ Actor_9C *mUnk_3C; /* 40 */ Actor_C4 *mUnk_40; /* 44 */ u16 mUnk_44; diff --git a/include/Actor/ActorBomb.hpp b/include/Actor/ActorBomb.hpp index 76b9a714..9b9bf49c 100644 --- a/include/Actor/ActorBomb.hpp +++ b/include/Actor/ActorBomb.hpp @@ -19,16 +19,6 @@ enum ActorBombState_ { ActorBombState_Max }; -class ActorBomb_unk : public UnkSystem7 { -public: - /* 00 (base) */ - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0C */ - - ActorBomb_unk(); -}; - class ActorBomb_19C : public UnkStruct_ov031_Items_01 { public: /* 00 (base) */ diff --git a/include/Actor/ActorItemTornado.hpp b/include/Actor/ActorItemTornado.hpp index 6de29434..146c4ee2 100644 --- a/include/Actor/ActorItemTornado.hpp +++ b/include/Actor/ActorItemTornado.hpp @@ -29,19 +29,6 @@ enum ActorItemTornadoState_ { ActorItemTornadoState_MAX, }; -class UnkSystem5_Derived2 { -public: - /* 00 */ UnkSystem5 mUnk_00; - /* 20 */ unk32 mUnk_20; - /* 24 */ PAD(0x24, 0x40); - /* 40 */ - - UnkSystem5_Derived2(UnkStruct_ov000_02058a84 *param1, G3d_Model *param2) : - mUnk_00(&this->mUnk_20, param2) { - this->mUnk_00.func_ov000_020577a4(param1, 0, false); - } -}; - class ActorItemTornado_17C : public UnkStruct_PlayerGet_74 { public: /* 00 (base) */ diff --git a/include/Actor/ActorKeese.hpp b/include/Actor/ActorKeese.hpp index 143840f2..18fd6b2f 100644 --- a/include/Actor/ActorKeese.hpp +++ b/include/Actor/ActorKeese.hpp @@ -141,7 +141,7 @@ public: bool func_ov032_0211f93c(VecFx32 *param1, unk32 param2); bool func_ov032_0211f9c4(); bool func_ov032_0211fa4c(unk32 param1); - static void func_ov032_0211faf0(void *param1, unk32 param2); + static void func_ov032_0211faf0(Actor *param1, G3d_RenderState *param2); }; class ActorProfileKeese : public ActorProfile_Derived1 { diff --git a/include/Actor/ActorUnkRB1T.hpp b/include/Actor/ActorUnkRB1T.hpp index a4e59b75..ad31e037 100644 --- a/include/Actor/ActorUnkRB1T.hpp +++ b/include/Actor/ActorUnkRB1T.hpp @@ -6,6 +6,7 @@ #include "Actor/ActorProfile.hpp" #include "Actor/Actor_Derived1.hpp" #include "global.h" +#include "nns/g3d/sbc.h" #include "types.h" class ActorUnkRB1T_C4 : public Actor_C4 { @@ -21,8 +22,7 @@ public: class ActorUnkRB1T : public Actor_Derived1 { public: /* 000 (base) */ - /* 120 */ - Actor_Derived1_94_0C *mUnk_120; + /* 120 */ ActorUnkZSRS_120 *mUnk_120; /* 124 */ PAD(0x124, 0x20C); /* 20C */ ModelRender mUnk_20C; // actually a derived class of a derived class /* 26C */ PAD(0x26C, 0x280); @@ -99,7 +99,7 @@ public: void func_ov026_02120744(void); void func_ov026_021207e0(void); void func_ov026_02120874(void); - static void func_ov026_021208a0(void); //! TODO is this really static? can't make it work as a ptmf + static void func_ov026_021208a0(Actor *param1, G3d_RenderState *param2); void func_ov026_02120954(void); void func_ov026_02120974(void); void func_ov026_021209d8(void); diff --git a/include/Actor/ActorUnkRPMT.hpp b/include/Actor/ActorUnkRPMT.hpp index 41843b28..ee15fbdd 100644 --- a/include/Actor/ActorUnkRPMT.hpp +++ b/include/Actor/ActorUnkRPMT.hpp @@ -27,7 +27,7 @@ class ActorUnkRPMT : public Actor { public: /* 00 (base) */ /* 94 */ PAD(0x94, 0xA4); - /* A4 */ bool mUnk_A4; + /* A4 */ u8 mUnk_A4; /* A5 */ ActorUnkRPMT(); diff --git a/include/Actor/ActorUnkSWBM.hpp b/include/Actor/ActorUnkSWBM.hpp index 91411670..6482443c 100644 --- a/include/Actor/ActorUnkSWBM.hpp +++ b/include/Actor/ActorUnkSWBM.hpp @@ -75,7 +75,7 @@ public: void func_ov031_020e6d48(); void func_ov031_020e6d80(unk32 param1); void func_ov031_020e6e84(ActorState state); - static void func_ov031_020e718c(VecFx32 *param0, MtxFx33 *param1, s32 param2, s16 param3, u16 param4, s16 param5); + static void func_ov031_020e718c(const VecFx32 *param0, MtxFx33 *param1, s32 param2, s16 param3, s16 param4, s16 param5); }; class ActorProfileUnkSWBM : public ActorProfile { diff --git a/include/Actor/ActorUnkZLSL_ZSRS.hpp b/include/Actor/ActorUnkZLSL_ZSRS.hpp index 65028ca3..a2521316 100644 --- a/include/Actor/ActorUnkZLSL_ZSRS.hpp +++ b/include/Actor/ActorUnkZLSL_ZSRS.hpp @@ -3,11 +3,16 @@ #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" #include "Actor_Derived1.hpp" -#include "Player/PlayerGet.hpp" +#include "RefStruct.hpp" #include "Render/ModelRender.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" #include "global.h" +#include "nitro/types.h" +#include "nns/g3d/g3d.h" #include "types.h" +class ActorUnkZLSL; + // --- Actor ZLSL --- // NPC Renderer ? @@ -16,8 +21,7 @@ public: /* 00 (base) */ /* 60 */ - ModelRender_ov000_020b4d64(G3d_Model *pModel) : - ModelRender(pModel) {} + ModelRender_ov000_020b4d64(G3d_Model *pModel); // data_ov000_020b4d64 /* 0C */ virtual void vfunc_0C() override; @@ -29,8 +33,7 @@ public: /* 00 (base) */ /* 60 */ - ModelRender_ov031_02113670(G3d_Model *pModel) : - ModelRender_ov000_020b4d64(pModel) {} + ModelRender_ov031_02113670(G3d_Model *pModel); // data_ov031_02113670 /* 0C */ virtual void vfunc_0C() override; @@ -48,7 +51,9 @@ public: /* 19 */ PAD(0x19, 0x1C); /* 1C */ - UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3); + UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender *param2, MapObjectProfile_Derived2_20_Base *param3); + UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender_ov031_02113670 *param2, MapObjectProfile_Derived2_20_Base *param4, + G3d_Model *pModel, unk32 param3); // data_ov000_020b31a8 /* 00 */ virtual ~UnkStruct_ov000_020b31a8(); @@ -71,41 +76,58 @@ public: void func_ov000_02099ff8(ActorUnkZLSL_AnimationTag param1, unk32 param2); }; +class ActorUnkZLSL_2700_1C { +public: + /* 1C */ UnkSystem5 mUnk_00; + /* 20 */ unk32 mUnk_20; + /* 24 */ + + ActorUnkZLSL_2700_1C() : + mUnk_00(&mUnk_20, NULL) {} +}; + +class ActorUnkZLSL_2700 : public UnkStruct_ov000_020b31a8 { +public: + /* 00 (base) */ + /* 1C */ ActorUnkZLSL_2700_1C mUnk_1C; + /* 40 */ PAD(0x40, 0x5C); + /* 5C */ unk32 mUnk_5C; + /* 60 */ PAD(0x60, 0x6C); + /* 6C */ + + ActorUnkZLSL_2700(ModelRender_ov031_02113670 *param1, G3d_Model *pModel, unk32 param3) : + UnkStruct_ov000_020b31a8(&this->mUnk_1C.mUnk_00, param1, data_027e0ce0->mUnk_1C->mUnk_08[PlayerCharacter_Zelda][1], + pModel, param3) { + if (pModel != NULL) { + this->mUnk_1C.mUnk_00.mpModel = this->mUnk_10; + } + } + + // data_ov031_021136e4 + /* 00 */ virtual ~ActorUnkZLSL_2700() override {} +}; + class ActorUnkZLSL_27CC : public UnkStruct_ov000_020b31a8 { public: /* 00 (base) */ - /* 1C */ UnkSystem5 mUnk_1C; - /* 5C */ unk32 mUnk_5C; - /* 60 */ PAD(0x60, 0x7C); - /* 7C */ + /* 1C */ ActorUnkZLSL_2700_1C mUnk_1C; + /* 40 */ PAD(0x40, 0x5C); + /* 5C */ - ActorUnkZLSL_27CC(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) : - UnkStruct_ov000_020b31a8(param1, param2, param3), - mUnk_1C(&mUnk_5C, NULL) { + ActorUnkZLSL_27CC(ModelRender *param2, MapObjectProfile_Derived2_20_Base *param3) : + UnkStruct_ov000_020b31a8(&this->mUnk_1C.mUnk_00, param2, param3) { if (param3 != NULL) { - this->mUnk_1C.mpModel = this->mUnk_10; + this->mUnk_1C.mUnk_00.mpModel = this->mUnk_10; } } // data_ov031_0211369c - /* 00 */ WEAK virtual ~ActorUnkZLSL_27CC() override {} // TODO : to be updated in next dsd release + /* 00 */ WEAK virtual ~ActorUnkZLSL_27CC() override {} /* 30 */ virtual s8 vfunc_30() override; /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override; /* 3C */ virtual void vfunc_3C() override; }; -class ActorUnkZLSL_2700 : public ActorUnkZLSL_27CC { -public: - /* 00 (base) */ - /* 04 */ - - ActorUnkZLSL_2700(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) : - ActorUnkZLSL_27CC(param1, param2, param3) {} - - // data_ov031_021136e4 - void func_ov000_02099ddc(ActorUnkZLSL_AnimationTag param1, unk32 param2); -}; - class UnkStruct_ov000_020b31f0 : public UnkStruct_ov000_020b31a8 { public: /* 00 (vtable) */ @@ -136,55 +158,6 @@ public: /* 40 */ virtual void vfunc_40(); }; -class UnkStruct_ov031_0211372c : public UnkStruct_ov000_020b31f0 { -public: - /* 00 (base) */ - /* 04 */ UnkSystem5 *mUnk_04; - /* 08 */ ModelRender *mUnk_08; - /* 0C */ PAD(0x0C, 0x1C); - /* 1C */ UnkSystem5 *mUnk_1C; - /* 20 */ - - UnkStruct_ov031_0211372c(UnkSystem5 *param1, UnkSystem5 *param2, ModelRender *param3, UnkActorFileSystem2 *param4); - - // data_ov031_0211372c - /* 18 */ virtual void vfunc_18() override; - /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override; - /* 3C */ virtual void vfunc_3C() override; - /* 40 */ virtual void vfunc_40() override; -}; - -class UnkStruct_ov031_02113d14 : public UnkStruct_ov031_0211372c { -public: - /* 00 (base) */ - /* 20 */ - - UnkStruct_ov031_02113d14(); - - // data_ov031_02113d14 - /* 00 */ virtual ~UnkStruct_ov031_02113d14(); -}; - -class ActorUnkZLSL; - -class UnkStruct_ov031_020ecc68 { -public: - /* 08 */ unk16 sp_08; - /* 0A */ unk16 sp_0A; - /* 0C */ unk16 sp_0C; - /* 0E */ unk16 sp_0E; - /* 10 */ unk32 sp_10; - /* 14 */ VecFx32 sp_14; - /* 20 */ u16 sp_20; - /* 22 */ u16 sp_22; - /* 24 */ u16 sp_24; - /* 26 */ u16 sp_26; - /* 28 */ VecFx32 sp_28; - /* 34 */ UnkStackStruct1 sp_34; - - void func_ov031_020ed47c(ActorUnkZLSL *param1, unk32 param2); -}; - // --- Actor ZLSL --- enum ActorUnkZLSLState_ { @@ -205,73 +178,155 @@ enum ActorUnkZLSLState_ { ActorUnkZLSLState_14 = 14, ActorUnkZLSLState_15 = 15, ActorUnkZLSLState_16 = 16, - ActorUnkZLSLState_MAX + ActorUnkZLSLState_Max }; class ActorUnkZLSL_1690 { public: /* 00 */ unk32 mUnk_00; + ActorUnkZLSL_1690(); + + void func_ov031_020eeb58(); void func_ov031_020eeca8(); void func_ov031_020eece8(); }; -class ActorUnkZLSL : public Actor_Derived1 { +class ActorUnkZSRS_120_Base { +public: + ActorUnkZSRS_120_Base(UnkSystem5 *param1, UnkSystem5 *param2, ModelRender *param3, UnkActorFileSystem2 *ptr, G3d_Model *, + unk32 param4); + + /* 00 */ virtual ~ActorUnkZSRS_120_Base(); + /* 08 */ virtual void vfunc_08(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ virtual UnkSystem5 *vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(); + /* 1C */ virtual void vfunc_1C(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3, unk32 param4); + /* 20 */ virtual void vfunc_20(); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual UnkStruct_PlayerGet_50 *vfunc_28(); + /* 2C */ virtual void vfunc_2C(); + /* 30 */ virtual s8 vfunc_30(); + /* 34 */ virtual void vfunc_34(); + /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2); + /* 3C */ virtual void vfunc_3C(); +}; + +class ActorUnkZSRS_120 : public ActorUnkZSRS_120_Base { +public: + /* 00 (vtable) */ + /* 04 */ UnkSystem5 *mUnk_04; + /* 08 */ ModelRender *mUnk_08; + /* 0C */ unk32 mUnk_0C; + /* 10 */ G3d_Model *mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1C */ UnkSystem5 *mUnk_1C; + /* 14 */ PAD(0x20, 0x1440); + /* 1440 */ UnkSystem5_Derived3 mUnk_1440; + /* 14A0 */ UnkSystem5_Derived3 mUnk_14A0; + /* 1500 */ + + ActorUnkZSRS_120(ModelRender *param3, UnkActorFileSystem2 *ptr, G3d_Model *pModel, unk32 param4) : + ActorUnkZSRS_120_Base(&mUnk_1440.mUnk_00, &mUnk_14A0.mUnk_00, param3, ptr, pModel, param4), + mUnk_1440(NULL), + mUnk_14A0(NULL) { + if (pModel != NULL) { + this->mUnk_1440.mUnk_00.mpModel = this->mUnk_14A0.mUnk_00.mpModel = this->mUnk_10; + } + } + + /* 00 */ virtual ~ActorUnkZSRS_120() {} + /* 08 */ virtual void vfunc_08(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ virtual UnkSystem5 *vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(); + /* 1C */ virtual void vfunc_1C(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3, unk32 param4); + /* 20 */ virtual void vfunc_20(); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual UnkStruct_PlayerGet_50 *vfunc_28(); + /* 2C */ virtual void vfunc_2C(); + /* 30 */ virtual s8 vfunc_30(); + /* 34 */ virtual void vfunc_34(); + /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2); + /* 3C */ virtual void vfunc_3C(); +}; + +class ActorUnkZSRS : public Actor_Derived1 { +public: + /* 000 (base) */ + /* 0120 */ ActorUnkZSRS_120 mUnk_0120; + /* 1620 */ + + ActorUnkZSRS(ModelRender *param1, G3d_Model *pModel, UnkActorFileSystem2 *param2, unk32 param3) : + Actor_Derived1(param1, &this->mUnk_0120), + mUnk_0120(param1, param2, pModel, param3) {} + + // data_ov031_02113944 +}; + +class ActorUnkZLSL_2828 { +public: + /* 00 */ UnkSystem7 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ + + ActorUnkZLSL_2828() : + mUnk_00(NULL), + mUnk_04(-1), + mUnk_08(0) {} +}; + +extern Actor *data_027e0d3c; + +class ActorUnkZLSL : public ActorUnkZSRS { public: /* 0000 (base) */ - /* 0120 */ PAD(0x120, 0x1620); /* 1620 */ ModelRender_ov031_02113670 mUnk_1620; /* 1680 */ PAD(0x1680, 0x1690); /* 1690 */ ActorUnkZLSL_1690 mUnk_1690; - /* 1694 */ PAD(0x1694, 0x2700); + /* 1694 */ PAD(0x1694, 0x26F4); + /* 26F4 */ Actor_Derived1_94 mUnk_26F4; /* 2700 */ ActorUnkZLSL_2700 mUnk_2700; - /* 2704 */ PAD(0x275C, 0x276C); - /* 276C */ ModelRender_ov031_02113670 mUnk_276C; + /* 276C */ ModelRender mUnk_276C; /* 27CC */ ActorUnkZLSL_27CC mUnk_27CC; - /* 2828 */ UnkStruct_PlayerGet_ec mUnk_2828; - /* 282C */ unk32 mUnk_282C; - /* 2830 */ unk32 mUnk_2830; - /* 2834 */ PAD(0x2834, 0x2838); - /* 2838 */ unk32 mUnk_2838; - /* 283C */ unk32 mUnk_283C; - /* 2840 */ PAD(0x2840, 0x2844); - /* 2844 */ unk32 mUnk_2844; - /* 2848 */ unk32 mUnk_2848; - /* 284C */ PAD(0x284C, 0x2850); - /* 2850 */ unk32 mUnk_2850; - /* 2854 */ unk32 mUnk_2854; - /* 2858 */ PAD(0x2858, 0x285C); - /* 285C */ unk32 mUnk_285C; - /* 2860 */ unk32 mUnk_2860; - /* 2864 */ PAD(0x2864, 0x286A); + /* 2828 */ ActorUnkZLSL_2828 mUnk_2828; + /* 2834 */ ActorBomb_unk mUnk_2834[4]; + /* 2864 */ Timer mUnk_2864; + /* 2868 */ unk16 mUnk_2868; /* 286A */ unk16 mUnk_286A; /* 286C */ unk16 mUnk_286C; /* 286E */ unk16 mUnk_286E; /* 2870 */ unk16 mUnk_2870; /* 2872 */ s16 mUnk_2872; /* 2874 */ bool mUnk_2874; - /* 2875 */ PAD(0x2875, 0x2878); - /* 2878 */ VecFx32 mUnk_2878; + /* 2875 */ unk8 mUnk_2875; + /* 2876 */ unk8 mUnk_2876; + /* 2877 */ unk8 mUnk_2877; + /* 2878 */ VecFx32Cpp mUnk_2878; /* 2884 */ unk32 mUnk_2884; /* 2888 */ fx32 mUnk_2888; /* 288C */ unk32 mUnk_288C; /* 2890 */ fx32 mUnk_2890; /* 2894 */ Cylinder mUnk_2894; - /* 28A4 */ VecFx32 mUnk_28A4; - /* 28B0 */ VecFx32 mUnk_28B0; - /* 28BC */ unk32 mUnk_28BC; - /* 28C0 */ unk32 mUnk_28C0; - /* 28C4 */ unk32 mUnk_28C4; + /* 28A4 */ VecFx32Cpp mUnk_28A4; + /* 28B0 */ VecFx32Cpp mUnk_28B0; + /* 28BC */ VecFx32Cpp mUnk_28BC; /* 28C8 */ unk32 mUnk_28C8; - /* 2894 */ PAD(0x28CC, 0x28DC); - /* 28DC */ RefStruct mUnk_28DC; - /* 28E0 */ PAD(0x28E0, 0x28E4); + /* 28CC */ RefElem mUnk_28CC[4]; // target list? + /* 28DC */ RefStruct mUnk_28DC; // possessed phantom actor ref + /* 28E0 */ unk16 mUnk_28E0; + /* 28E2 */ unk16 mUnk_28E2; /* 28E4 */ unk16 mUnk_28E4; - /* 28E6 */ PAD(0x28E6, 0x28E8); - /* 28E8 */ VecFx32 mUnk_28E8; - /* 28F4 */ VecFx32 mUnk_28F4; + /* 28E6 */ unk16 mUnk_28E6; // pad? + /* 28E8 */ VecFx32Cpp mUnk_28E8; + /* 28F4 */ VecFx32Cpp mUnk_28F4; /* 2900 */ u16 mUnk_2900; - /* 2902 */ PAD(0x2902, 0x2904); + /* 2902 */ unk16 mUnk_2902; // pad? /* 2904 */ unk32 mUnk_2904; /* 2908 */ @@ -320,7 +375,7 @@ public: bool func_ov031_020ee724(); static void func_ov031_020ea100(); - static void func_ov031_020ee1f4(); + static void func_ov031_020ee1f4(Actor *param1, G3d_RenderState *param2); // not sure where they go void func_ov031_020ea8c0(); @@ -347,49 +402,26 @@ public: unk32 func_ov031_020ec54c(); void func_ov031_020ec6d8(bool param1); bool func_ov031_020ec8c4(); - void func_ov031_020ecc68(unk32 param1); + void func_ov031_020ecc68(bool param1); void func_ov031_020ecea8(UnkAngleStruct param1, unk32 param2, unk32 param3, unk32 param4); void func_ov031_020ed0b0(); void func_ov031_020ed3c0(); + UnkStackStruct2::Inner func_ov031_020ed47c(unk32 param2); void func_ov031_020ed4e4(unk32 param1, unk32 param2); - void func_ov031_020ed55c(); + bool func_ov031_020ed55c(unk32 param1); bool func_ov031_020ed6cc(unk32 param1); bool func_ov031_020ed8ac(unk32 param1); void func_ov031_020edc80(); void func_ov031_020edd14(VecFx32 *param1); - void func_ov031_020edd54(); - void func_ov031_020ede30(); - void func_ov031_020edf98(); + void func_ov031_020edd54(RefStruct ref); + void func_ov031_020ede30(RefStruct ref); + void func_ov031_020edf98(RefStruct ref); unk16 func_ov031_020ee2c8(); void func_ov031_020ee41c(); void func_ov031_020ee4c4(UnkAngleStruct angle); void func_ov031_020ee654(); }; -class ActorProfileUnkZLSL : public ActorProfile { -public: - /* 00 (base) */ - - ActorProfileUnkZLSL(); - - /* 0C */ virtual Actor *Create(); - - static ActorProfileUnkZLSL *GetProfile(); -}; - -// --- Actor ZSRS --- - -class ActorUnkZSRS : public Actor_Derived1 { -public: - /* 000 (base) */ - /* 120 */ UnkStruct_ov031_02113d14 mUnk_0120; - /* 140 */ - - ActorUnkZSRS(); - - // data_ov031_02113944 -}; - class ActorProfileUnkZSRS : public ActorProfile_Derived2 { public: /* 00 (base) */ @@ -400,3 +432,14 @@ public: static ActorProfileUnkZSRS *GetProfile(); }; + +class ActorProfileUnkZLSL : public ActorProfile { +public: + /* 00 (base) */ + + ActorProfileUnkZLSL(); + + /* 0C */ virtual Actor *Create(); + + static ActorProfileUnkZLSL *GetProfile(); +}; diff --git a/include/Actor/Actor_Derived1.hpp b/include/Actor/Actor_Derived1.hpp index 0d5f7c4a..e429375a 100644 --- a/include/Actor/Actor_Derived1.hpp +++ b/include/Actor/Actor_Derived1.hpp @@ -7,6 +7,8 @@ #include "Unknown/UnkStruct_027e0960.hpp" #include "types.h" +class ActorUnkZSRS_120; + class ActorUnk_vfunc_B0 { public: /* 00 */ bool mUnk_00; @@ -43,43 +45,30 @@ public: /* 10 */ }; -class Actor_Derived1_94_0C { -public: - /* 00 (vtable) */ - /* 04 */ - - /* 00 */ virtual void vfunc_00(); - /* 04 */ virtual void vfunc_04(); - /* 08 */ virtual void vfunc_08(); - /* 0C */ virtual void vfunc_0C(); - /* 10 */ virtual Actor_Derived1_94_vfunc_10 *vfunc_10(); - /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual void vfunc_18(); - /* 1C */ virtual void vfunc_1C(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3, unk32 param4); - /* 20 */ virtual void vfunc_20(); - /* 24 */ virtual void vfunc_24(); - /* 28 */ virtual void vfunc_28(); - /* 2C */ virtual void vfunc_2C(); - /* 30 */ virtual unk32 vfunc_30(); -}; - class Actor_Derived1_94 { public: - /* 00 */ Actor_38 mUnk_00; + /* 00 (vtable) */ + /* 00 */ unk32 mUnk_04; + /* 04 */ unk16 mUnk_08; /* 0A */ unk16 mUnk_0A; /* 0C */ Actor_Derived1_94(); - ~Actor_Derived1_94(); + + // data_ov000_020b2890 + /* 00 */ virtual ~Actor_Derived1_94(); + /* 08 */ virtual void vfunc_08(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ }; class Actor_Derived1_94_Derived1 : public Actor_Derived1_94 { public: /* 00 (base) */ - /* 0C */ Actor_Derived1_94_0C *mUnk_0C; + /* 0C */ ActorUnkZSRS_120 *mUnk_0C; /* 10 */ - Actor_Derived1_94_Derived1(Actor_Derived1_94_0C *param1) { + Actor_Derived1_94_Derived1(ActorUnkZSRS_120 *param1) { this->mUnk_0C = param1; } }; @@ -133,7 +122,7 @@ public: /* 0A4 */ Actor_Derived1_a4 mUnk_0A4; /* 0B0 */ u16 mUnk_0B0; /* 0B4 */ unk32 mUnk_0B4; - /* 0B8 */ unk32 mUnk_0B8; + /* 0B8 */ ActorUnkZLSL_AnimationTag *mUnk_0B8; /* 0BC */ RefStruct mUnk_0BC; /* 0C0 */ VecFx32Cpp mUnk_0C0; /* 0CC */ unk16 mUnk_0CC; @@ -146,13 +135,14 @@ public: /* 0DC */ unk16 mUnk_0DE; /* 0E0 */ unk16 mUnk_0E0; /* 0E0 */ unk16 mUnk_0E2; - /* 0E4 */ void (*mUnk_0E4)(); // callback + /* 0E4 */ UnkSystem4_UnkCallback mUnk_0E4; /* 0E8 */ Timer mUnk_0E8; /* 0EC */ Actor_Derived1_EC mUnk_0EC; /* 104 */ Cylinder mUnk_104; /* 114 */ unk32 mUnk_114; /* 118 */ unk32 mUnk_118; /* 11C */ unk32 mUnk_11C; + /* 120 */ /* 14 */ virtual bool vfunc_14(Cylinder *param1) override; /* 18 */ virtual bool Init(unk32 param1) override; @@ -189,7 +179,7 @@ public: /* B8 */ virtual void vfunc_B8(); /* BC */ - Actor_Derived1(ModelRender *param1, Actor_Derived1_94_0C *param2); + Actor_Derived1(ModelRender *param1, ActorUnkZSRS_120 *param2); // overlay 0 void func_ov000_020a8ae0(fx32 param1); @@ -209,7 +199,7 @@ public: void func_ov000_020a9a94(); void func_ov000_020a9abc(); - static void func_ov000_020a9804(void *param1, unk32 param2); + static void func_ov000_020a9804(Actor *param1, G3d_RenderState *param2); // overlay 1 void func_ov001_020bff2c(); diff --git a/include/CommonFuncs.hpp b/include/CommonFuncs.hpp index 9c111b72..e8e7c5a2 100644 --- a/include/CommonFuncs.hpp +++ b/include/CommonFuncs.hpp @@ -5,6 +5,7 @@ #include "Map/MapObjectId.hpp" #include "Player/PlayerActorBase.hpp" #include "System/SysNew.hpp" +#include "nitro/fx.h" #include "types.h" #include @@ -54,6 +55,7 @@ struct UnkStruct_027e0ce0_40_Base_78; struct UnkStruct_ov070_0214dc74; struct ActorShotArrow; struct UnkStruct_027e0960_TableEntry_04_Base; +struct UnkStruct_PlayerGet_50; union Vec2bCpp; union Vec3s; @@ -111,6 +113,7 @@ void func_01fff17c(unk16 *, UnkStruct_027e0ce0 *, unk32); void func_01fff6d0(void *, VecFx32 *param1, s32 *param2, s32 *param3); void func_01ffb644(fx32 x, fx32 y); unk32 func_01ffb558(); +void func_01ff9984(VecFx32 *, VecFx32 *, unk32, unk32, unk32); // main UnkStruct_02011e10_Sub1 *func_02001098(void *, size_t, unk32); @@ -149,7 +152,7 @@ void func_02013354(); unk32 func_020147a8(); void func_02014d38(void *, int); unk32 func_02014fe0(); -void func_02015300(unk32 *); +void func_02015300(UnkStruct_PlayerGet_50 *); HeapIndex16 func_02015338(); void func_02015628(char *, char *, unk32, void *, size_t); void func_02015644(char *); @@ -163,10 +166,11 @@ fx32 func_02015a18(u16, unk32, unk32, unk32, u16, unk32, unk32); void func_02015ea8(u32 resourceId, void *); void func_0201659c(); unk16 func_02016958(VecFx32 *, VecFx32 *); -void func_020169d4(VecFx32 *, VecFx32 *, unk16 *, const char *); +void func_020169d4(VecFx32 *, VecFx32 *, unk16 *, void *); bool func_02016ae0(VecFx32 *, VecFx32 *, UnkAngleStruct, unk32, unk32); bool func_02016b8c(VecFx32 *, VecFx32 *, unk32, UnkAngleStruct, u16, unk32); -bool func_02016c68(VecFx32 *, VecFx32 *, RefStruct); +bool func_02016c68(VecFx32 *, VecFx32 *, RefStruct, int, int); +bool func_02016cf0(VecFx32 *, VecFx32 *, RefStruct, int, int); Actor *func_02016fbc(ActorId, VecFx32 *, unk32); unk32 func_02017158(); bool func_02017930(UnkStruct_027e0960_TableEntry_04_Base *, UnkStruct_027e0960_TableEntry_04_Base *); @@ -247,6 +251,7 @@ void func_0202f958(unk32 param1); void func_02005030(void *param1); void NNS_SndHandleInit(void *param1); void NNS_SndPlayerStopSeq(void *param1, unk32 param2); +void func_020158e8(unk32 *, unk16 *, unk16 *, const VecFx32 *, const VecFx32 *); // overlay 0 void func_ov000_02052238(void *, void *); @@ -254,8 +259,6 @@ void func_ov000_02052bcc(void *); void func_ov000_02054548(void *, unk32); unk32 func_ov000_020545d0(void *, void *); UnkStruct_027e0cec_18_04 *func_ov000_02054690(void *, unk32, unk32, unk32, unk32, unk32); -void func_ov000_020578a4(UnkSystem5 *); -void func_ov000_02057c98(ModelRender *param1, UnkSystem5 *param2); void func_ov000_02058c74(void *, int, int, int, int); s8 func_ov000_02059da4(UnkStruct_027e0960_TableEntry *, VecFx32 *param1); BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, void *); @@ -331,7 +334,7 @@ void func_ov000_02097fcc(VecFx32 *); void func_ov000_0209807c(void *); void func_ov000_020980e0(void *); void func_ov000_02098244(VecFx32 *); -void func_ov000_020986b4(s16 *param1, Actor_Derived2 *param2, unk32 param3); +void func_ov000_020986b4(s16 *param1, Actor *param2, unk32 param3); unk32 func_ov000_02098d7c(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2); void func_ov000_02099870(UnkStruct_ActorUnkCANS_224 *, VecFx32 *, u16); void func_ov000_02099e58(UnkStruct_ov063_021632e4 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8); diff --git a/include/MapObject/MapObject_10_Pot.hpp b/include/MapObject/MapObject_10_Pot.hpp index 760a1cc6..90b2684a 100644 --- a/include/MapObject/MapObject_10_Pot.hpp +++ b/include/MapObject/MapObject_10_Pot.hpp @@ -28,4 +28,5 @@ public: /* 20 */ MapObject_10_Pot() {} + MapObject_10_Pot(int) {} }; diff --git a/include/RefStruct.hpp b/include/RefStruct.hpp index a6542233..55c0dcc3 100644 --- a/include/RefStruct.hpp +++ b/include/RefStruct.hpp @@ -4,18 +4,17 @@ #include "math.hpp" // mapping: -// 0011 1111 1111 1111 = index -// 1100 0000 0000 0000 = type +// 0011 1111 1111 1111 (0x3FFF) = index +// 1100 0000 0000 0000 (0xC000) = type // -// 0000 1111 1111 1111 = id -// 1111 0000 0000 0000 = unk +// 0000 1111 1111 1111 (0x0FFF) = id +// 1111 0000 0000 0000 (0xF000) = unk #define REF_TYPE_INDEX(type, index) (((type) << 14) | (index)) enum ActorRefType_ { ActorRefType_0, ActorRefType_1, - ActorRefType_2, }; enum ActorRefId_ { @@ -31,8 +30,8 @@ enum ActorRefId_ { union RefCommon { struct { - /* 00 */ u16 index : 14; - /* 00 */ u16 type : 2; + /* 00 */ u16 index : 14; // for actors this is used as an index to the actor table + /* 00 */ u16 type : 2; // 1 for actors? /* 02 */ u16 id : 12; /* 02 */ u16 unk : 4; /* 04 */ diff --git a/include/Render/ModelRender.hpp b/include/Render/ModelRender.hpp index 8caa768c..e5b232fe 100644 --- a/include/Render/ModelRender.hpp +++ b/include/Render/ModelRender.hpp @@ -12,6 +12,7 @@ class UnkSystem5; class UnkStruct_PlayerGet_50; +class Actor; extern "C" void *func_ov000_02057750(size_t allocSize); struct ActorUnkZLSL_AnimationTag { @@ -20,7 +21,7 @@ struct ActorUnkZLSL_AnimationTag { u32 unknown; }; -typedef void (*UnkSystem4_UnkCallback)(void *, unk32); +typedef void (*UnkSystem4_UnkCallback)(Actor *, G3d_RenderState *); class ModelRenderBase { public: @@ -185,6 +186,30 @@ public: } }; +class UnkSystem5_Derived2 { +public: + /* 00 */ UnkSystem5 mUnk_00; + /* 20 */ unk32 mUnk_20; + /* 24 */ PAD(0x24, 0x40); + /* 40 */ + + UnkSystem5_Derived2(UnkStruct_ov000_02058a84 *param1, G3d_Model *param2) : + mUnk_00(&this->mUnk_20, param2) { + this->mUnk_00.func_ov000_020577a4(param1, 0, false); + } +}; + +class UnkSystem5_Derived3 { +public: + /* 00 */ UnkSystem5 mUnk_00; + /* 20 */ unk32 mUnk_20; + /* 24 */ PAD(0x24, 0x60); + /* 60 */ + + UnkSystem5_Derived3(G3d_Model *param1) : + mUnk_00(&this->mUnk_20, param1) {} +}; + class ModelRender_Derived1 : public ModelRender { public: /* 00 (base) */ diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index a2ede32f..a64be2c0 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -940,6 +940,45 @@ public: /* 08 */ virtual void vfunc2_08() override; }; +union UnkStackStruct2; +extern "C" UnkStackStruct2 *func_ov000_02077590(unk32); +union UnkStackStruct2 { + struct Inner { + /* 00 */ unk16 mUnk_00; + /* 02 */ unk16 mUnk_02; + /* 04 */ unk16 mUnk_04; + /* 06 */ unk16 mUnk_06; + /* 08 */ unk32 mUnk_08; + /* 0C */ VecFx32 mUnk_0C; + /* 18 */ u16 mUnk_18; + /* 1A */ u16 mUnk_1A; + /* 1C */ u16 mUnk_1C; + /* 1E */ u16 mUnk_1E; + /* 20 */ + } s; + u32 data[8]; + + void Copy(unk32 param1) { + UnkStackStruct2 *r3 = func_ov000_02077590(param1); + this->s.mUnk_00 = r3->s.mUnk_00; + this->s.mUnk_02 = r3->s.mUnk_02; + this->s.mUnk_04 = r3->s.mUnk_04; + this->s.mUnk_06 = r3->s.mUnk_06; + this->s.mUnk_08 = r3->s.mUnk_08; + this->s.mUnk_0C = r3->s.mUnk_0C; + + u16 unk_18 = *(volatile u16 *) &r3->s.mUnk_18; //! TODO: Timer? + u16 unk_1A = r3->s.mUnk_1A; + this->s.mUnk_18 = unk_18; + this->s.mUnk_1A = unk_1A; + + u16 unk_1C = *(volatile u16 *) &r3->s.mUnk_1C; //! TODO: Timer? + u16 unk_1E = r3->s.mUnk_1E; + this->s.mUnk_1C = unk_1C; + this->s.mUnk_1E = unk_1E; + } +}; + struct UnkStackStruct1 { /* 00 */ u8 mUnk_00; /* 01 */ unk8 mUnk_01; @@ -948,23 +987,13 @@ struct UnkStackStruct1 { /* 04 */ MapObject_UnkStruct1 *mUnk_04; /* 08 */ unk32 mUnk_08; /* 0C */ VecFx32 mUnk_0C; - /* 18 */ unk16 mUnk_18; - /* 1A */ unk16 mUnk_1A; - /* 1C */ unk16 mUnk_1C; - /* 1E */ unk16 mUnk_1E; - /* 20 */ unk32 mUnk_20; - /* 24 */ VecFx32 mUnk_24; - /* 30 */ u16 mUnk_30; - /* 32 */ u16 mUnk_32; - /* 34 */ u16 mUnk_34; - /* 36 */ u16 mUnk_36; + /* 18 */ UnkStackStruct2 mUnk_18; /* 38 */ u16 mUnk_38; /* 3A */ unk8 mUnk_3A; /* 3B */ unk8 mUnk_3B; /* 3C */ unk32 mUnk_3C; /* 40 */ }; -extern "C" void func_ov000_02072fd0(UnkStackStruct1 *); struct UnkSystem7_UnkStruct_00_20_00 { /* 00 */ PAD(0x00, 0x04); @@ -1325,24 +1354,6 @@ struct UnkStruct_ov000_020aa88c { }; extern UnkStruct_ov000_020aa88c data_ov000_020aa88c[]; -union UnkStackStruct_ov000_02077590 { - struct { - /* 00 */ s16 mUnk_00; - /* 02 */ s16 mUnk_02; - /* 04 */ s16 mUnk_04; - /* 06 */ s16 mUnk_06; - /* 08 */ unk32 mUnk_08; - /* 0C */ VecFx32 mUnk_0C; - /* 18 */ u16 mUnk_18; - /* 1A */ u16 mUnk_1A; - /* 1C */ u16 mUnk_1C; - /* 1E */ u16 mUnk_1E; - /* 20 */ - }; - u32 data[8]; -}; -extern "C" UnkStackStruct_ov000_02077590 *func_ov000_02077590(unk32); - struct UnkStackStruct_ov000_02084344 { /* 00 */ s16 mUnk_00; /* 02 */ s16 mUnk_02; @@ -1377,3 +1388,13 @@ struct UnkStruct_ov031_020e5d18_00 { /* 04 */ PAD(0x04, 0x18); /* 18 */ }; + +class ActorBomb_unk : public UnkSystem7 { +public: + /* 00 (base) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ + + ActorBomb_unk(); +}; diff --git a/include/Unknown/UnkStruct_027e0208.hpp b/include/Unknown/UnkStruct_027e0208.hpp index 9168f2db..f7cc3eb0 100644 --- a/include/Unknown/UnkStruct_027e0208.hpp +++ b/include/Unknown/UnkStruct_027e0208.hpp @@ -1,6 +1,7 @@ #pragma once #include "global.h" +#include "nitro/fx.h" #include "types.h" class UnkStruct_027e0208 { @@ -15,8 +16,10 @@ public: /* 0EC */ unk32 mUnk_0EC; /* 0F0 */ unk32 mUnk_0F0; /* 0F4 */ unk32 mUnk_0F4; - /* 0F4 */ unk32 mUnk_0F8; - /* 0F4 */ unk32 mUnk_0FC; + /* 0F8 */ unk32 mUnk_0F8; + /* 0FC */ unk32 mUnk_0FC; + /* 100 */ PAD(0x100, 0x240); + /* 240 */ VecFx32 mUnk_240; UnkStruct_027e0208(); ~UnkStruct_027e0208(); diff --git a/include/Unknown/UnkStruct_027e095c.hpp b/include/Unknown/UnkStruct_027e095c.hpp index bb05bb5b..9cd3c204 100644 --- a/include/Unknown/UnkStruct_027e095c.hpp +++ b/include/Unknown/UnkStruct_027e095c.hpp @@ -17,7 +17,7 @@ public: /* 960 */ void *mUnk_940; /* 968 */ #else - /* 000 */ VecFx32 mUnk_000[63]; + /* 000 */ VecFx32 mUnk_000[63]; //! TODO: used for G3_TexImageParam/G3_TexPlttBase operations, right type? /* 2F4 */ unk32 mUnk_2F4; /* 2F8 */ PAD(0x2F8, 0x8DC); /* 8DC */ void *mUnk_8DC; diff --git a/include/Unknown/UnkStruct_027e09bc.hpp b/include/Unknown/UnkStruct_027e09bc.hpp index 53454ae5..4e56cbd9 100644 --- a/include/Unknown/UnkStruct_027e09bc.hpp +++ b/include/Unknown/UnkStruct_027e09bc.hpp @@ -63,7 +63,7 @@ public: // overlay 0 void func_ov000_020767b4(VecFx32 *param1, Vec2s *touchPos, fx32 param3, unk32 param4, VecFx32 *param5); void func_ov000_02078230(unk32 param1); - bool func_ov000_0207834c(VecFx32 *param1, UnkStackStruct_ov000_02077590 *param2, unk32 param3); + bool func_ov000_0207834c(VecFx32 *param1, UnkStackStruct2 *param2, unk32 param3); unk16 func_ov000_0207868c(); unk16 func_ov000_02078698(); void func_ov000_02078534(VecFx32 *param1, unk32 param2); diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index d58f5074..b60e8419 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -929,6 +929,7 @@ public: void func_ov000_0208ba40(SaveInventoryData *param1); void func_ov000_0208ba94(unk32 param1, VecFx32 *param2); void func_ov000_0208bacc(unk32 param1, VecFx32 *param2); + void func_ov000_0208bbc4(unk32 param1, void *param2); void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, u16 param3); bool func_ov000_0208bc1c(unk32 param1, unk32 param2, unk32 param3, Cylinder *param4, void *param5, unk32 param6); void func_ov000_0208bc9c(unk32 param1, unk32 param2); diff --git a/include/Unknown/UnkStruct_027e0d8c.hpp b/include/Unknown/UnkStruct_027e0d8c.hpp index 2b691186..3c49ed7b 100644 --- a/include/Unknown/UnkStruct_027e0d8c.hpp +++ b/include/Unknown/UnkStruct_027e0d8c.hpp @@ -1,5 +1,6 @@ #pragma once +#include "RefStruct.hpp" #include "global.h" #include "types.h" @@ -19,6 +20,7 @@ public: void func_ov093_021660a8(RefStruct param1); void func_ov093_021660f8(); void func_ov093_02166108(); + unk32 func_ov093_02166118(); void func_ov093_021661c0(RefStruct param1); void func_ov093_02166220(); }; diff --git a/include/profile.hpp b/include/profile.hpp index 7c2f8ddb..b475d512 100644 --- a/include/profile.hpp +++ b/include/profile.hpp @@ -97,6 +97,7 @@ public: #define GET_PROFILE_20(T) (&ProfileInstance::sProfile.mUnk_20) #define GET_PROFILE_20_50(T) (ProfileInstance::sProfile.mUnk_20.mUnk_50) #define GET_PROFILE_D4(T) (&ProfileInstance::sProfile.mUnk_D4) +#define GET_PROFILE_D8(T) (&ProfileInstance::sProfile.mUnk_D8) #define DECL_PROFILE(T) \ T ProfileInstance::sProfile; \ diff --git a/src/000_Second/Actor/Actor_Derived1.cpp b/src/000_Second/Actor/Actor_Derived1.cpp index 579b06e4..85f44972 100644 --- a/src/000_Second/Actor/Actor_Derived1.cpp +++ b/src/000_Second/Actor/Actor_Derived1.cpp @@ -14,7 +14,7 @@ void Actor_Derived1::func_ov000_020a8ae0(fx32 param1) { this->mVel.y = posY; } -Actor_Derived1::Actor_Derived1(ModelRender *param1, Actor_Derived1_94_0C *param2) : +Actor_Derived1::Actor_Derived1(ModelRender *param1, ActorUnkZSRS_120 *param2) : mUnk_094(param2), mUnk_0A4(param1), mUnk_0B0(0), @@ -37,11 +37,11 @@ Actor_Derived1::Actor_Derived1(ModelRender *param1, Actor_Derived1_94_0C *param2 mUnk_114(-1), mUnk_118(0x1000), mUnk_11C(0x019A) { - this->mUnk_30 = &this->mUnk_104; - this->mUnk_4A[0] = 5; - this->mUnk_44 = 0x1F; - this->mUnk_094.mUnk_00.mUnk_08 = 3; - this->mUnk_38 = &this->mUnk_094.mUnk_00; + this->mUnk_30 = &this->mUnk_104; + this->mUnk_4A[0] = 5; + this->mUnk_44 = 0x1F; + this->mUnk_094.mUnk_08 = 3; + this->mUnk_38 = (Actor_38 *) &this->mUnk_094; this->mUnk_0B0 |= 0x08; } @@ -221,7 +221,7 @@ unk32 Actor_Derived1::vfunc_A8() { return 1; } -void Actor_Derived1::func_ov000_020a9804(void *param1, unk32 param2) {} +void Actor_Derived1::func_ov000_020a9804(Actor *param1, G3d_RenderState *param2) {} void Actor_Derived1::Update() {} // non-matching diff --git a/src/017_CourseExec/UnkStackStruct_ov017_020c1104_017.cpp b/src/017_CourseExec/UnkStackStruct_ov017_020c1104_017.cpp index 332d708e..a5e2d024 100644 --- a/src/017_CourseExec/UnkStackStruct_ov017_020c1104_017.cpp +++ b/src/017_CourseExec/UnkStackStruct_ov017_020c1104_017.cpp @@ -62,7 +62,8 @@ void UnkStackStruct_ov017_020c1104::func_ov017_020c117c(const VecFx32 *param2, u void UnkStackStruct_ov017_020c1104::func_ov017_020c12fc(u8 param2, unk16 param3) { FlushGfxQueue(); - G3_TexImageParam(0, 0, 0, 0, 0, 0, 0, 0); + G3_TexImageParam(GX_TEXFMT_NONE, GX_TEXGEN_NONE, GX_TEXSIZE_S8, GX_TEXSIZE_T8, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, + GX_TEXPLTTCOLOR0_USE, 0); G3_Color(data_027e09ac->mUnk_014.mUnk_08); G3_PushMtx(); G3_Translate(this->unk_00.x, this->unk_00.y + 0x333, this->unk_00.z); diff --git a/src/017_CourseExec/UnkStruct_027e09b4_017.cpp b/src/017_CourseExec/UnkStruct_027e09b4_017.cpp index 0fa9f1cc..25408ea7 100644 --- a/src/017_CourseExec/UnkStruct_027e09b4_017.cpp +++ b/src/017_CourseExec/UnkStruct_027e09b4_017.cpp @@ -58,7 +58,8 @@ bool UnkStruct_027e09b4::func_ov017_020c08c4(const VecFx32 *param1, unk32 param2 void UnkStruct_027e09b4::func_ov017_020c0970(const VecFx32 *param1, unk32 param2, unk32 param3, u16 param4, u16 param5, u32 param6, fx32 param7) { FlushGfxQueue(); - G3_TexImageParam(0, 0, 0, 0, 0, 0, 0, 0); + G3_TexImageParam(GX_TEXFMT_NONE, GX_TEXGEN_NONE, GX_TEXSIZE_S8, GX_TEXSIZE_T8, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, + GX_TEXPLTTCOLOR0_USE, 0); G3_Color(data_027e09ac->mUnk_014.mUnk_08); G3_PushMtx(); G3_Translate(param1->x, param1->y + this->mUnk_308, param1->z); @@ -77,7 +78,8 @@ void UnkStruct_027e09b4::func_ov017_020c0a30(const VecFx32 *param1, unk32 param2 void UnkStruct_027e09b4::func_ov017_020c0a6c(const VecFx32 *param1, s32 param2, s32 param3, s32 param4, u16 param5, u16 param6, s32 param7, u16 param8) { FlushGfxQueue(); - G3_TexImageParam(0, 0, 0, 0, 0, 0, 0, 0); + G3_TexImageParam(GX_TEXFMT_NONE, GX_TEXGEN_NONE, GX_TEXSIZE_S8, GX_TEXSIZE_T8, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, + GX_TEXPLTTCOLOR0_USE, 0); G3_Color(param8); G3_PushMtx(); G3_Translate(param1->x, param1->y + this->mUnk_308 - param4, param1->z); @@ -109,7 +111,8 @@ void UnkStruct_027e09b4::func_ov017_020c0b24(const VecFx32 *param1, s32 param2, } FlushGfxQueue(); - G3_TexImageParam(0, 0, 0, 0, 0, 0, 0, 0); + G3_TexImageParam(GX_TEXFMT_NONE, GX_TEXGEN_NONE, GX_TEXSIZE_S8, GX_TEXSIZE_T8, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, + GX_TEXPLTTCOLOR0_USE, 0); G3_Color(data_027e09ac->mUnk_014.mUnk_08); G3_PushMtx(); G3_Translate(param1->x, param1->y, param1->z); diff --git a/src/017_CourseExec/UnkStruct_027e0ce0_30_017.cpp b/src/017_CourseExec/UnkStruct_027e0ce0_30_017.cpp index 3a3cdf34..2aa0869a 100644 --- a/src/017_CourseExec/UnkStruct_027e0ce0_30_017.cpp +++ b/src/017_CourseExec/UnkStruct_027e0ce0_30_017.cpp @@ -18,7 +18,7 @@ extern unk32 data_ov000_020afd18; // https://decomp.me/scratch/jtWsb void UnkStruct_027e0ce0_30_00::func_ov017_020bbf7c(ItemManager *pItemMgr) { VecFx32 sp4C; - UnkStackStruct_ov000_02077590 sp2C; + UnkStackStruct2 sp2C; VecFx32 sp20; VecFx32 sp14; VecFx32 sp8; @@ -42,13 +42,13 @@ void UnkStruct_027e0ce0_30_00::func_ov017_020bbf7c(ItemManager *pItemMgr) { if (data_0204a088->mUnk_08 == 2 || data_0204a088->mUnk_08 == 6) { UnkStruct_027e09bc_0C *temp_r8 = data_027e09bc->mUnk_04[2]; - UnkStackStruct_ov000_02077590 *temp_r0_2 = func_ov000_02077590(0x1B); - sp2C = *temp_r0_2; + UnkStackStruct2 *temp_r0_2 = func_ov000_02077590(0x1B); + sp2C = *temp_r0_2; - sp2C.mUnk_06 = temp_r8->func_ov000_02078698(); - sp2C.mUnk_04 = temp_r8->func_ov000_0207868c(); - sp2C.mUnk_02 = temp_r8->mUnk_0CA; - sp2C.mUnk_08 = FX_MUL(func_01ffb9cc(&temp_r8->mUnk_040, &temp_r8->mUnk_034), data_ov000_020afd0c); + sp2C.s.mUnk_06 = temp_r8->func_ov000_02078698(); + sp2C.s.mUnk_04 = temp_r8->func_ov000_0207868c(); + sp2C.s.mUnk_02 = temp_r8->mUnk_0CA; + sp2C.s.mUnk_08 = FX_MUL(func_01ffb9cc(&temp_r8->mUnk_040, &temp_r8->mUnk_034), data_ov000_020afd0c); sp4C = this->mpPlayer->mPos.vec; sp4C.y += data_ov000_020afd14; diff --git a/src/026_Train/Actor/ActorUnkRB1T.cpp b/src/026_Train/Actor/ActorUnkRB1T.cpp index 4c31306e..67b93bf8 100644 --- a/src/026_Train/Actor/ActorUnkRB1T.cpp +++ b/src/026_Train/Actor/ActorUnkRB1T.cpp @@ -106,7 +106,7 @@ void ActorUnkRB1T::func_ov026_0212052c(void) {} void ActorUnkRB1T::func_ov026_02120744(void) {} void ActorUnkRB1T::func_ov026_021207e0(void) {} void ActorUnkRB1T::func_ov026_02120874(void) {} -void ActorUnkRB1T::func_ov026_021208a0(void) {} +void ActorUnkRB1T::func_ov026_021208a0(Actor *param1, G3d_RenderState *param2) {} void ActorUnkRB1T::func_ov026_02120954(void) {} void ActorUnkRB1T::func_ov026_02120974(void) {} void ActorUnkRB1T::func_ov026_021209d8(void) {} diff --git a/src/031_Land/Actor/ActorBlast.cpp b/src/031_Land/Actor/ActorBlast.cpp index b1f60469..0de69323 100644 --- a/src/031_Land/Actor/ActorBlast.cpp +++ b/src/031_Land/Actor/ActorBlast.cpp @@ -65,7 +65,7 @@ bool ActorBlast_E8::vfunc_0C(RefStruct ref, UnkStruct_ov031_020e54d4 *param2, co temp_r0_2 = gpMapObjManager->func_01fff498(sp4); if (temp_r0_2 != NULL) { - if (temp_r0_2->GetMapObjectId() == 0x424C4354) { + if (temp_r0_2->GetMapObjectId() == MapObjectId_BLCT) { param2->vfunc_14(&spC.unk_00); if (this->mUnk_04->mPos.y < spC.unk_00.y + temp_r0_2->mPos.y && diff --git a/src/031_Land/Actor/ActorRollingStone.cpp b/src/031_Land/Actor/ActorRollingStone.cpp index ce1d81e2..bd8e316a 100644 --- a/src/031_Land/Actor/ActorRollingStone.cpp +++ b/src/031_Land/Actor/ActorRollingStone.cpp @@ -107,7 +107,7 @@ ActorRollingStone::ActorRollingStone() : this->mUnk_44 = 0x9F; - this->mUnk_38 = &this->mUnk_A0.mUnk_00; + this->mUnk_38 = (Actor_38 *) &this->mUnk_A0; this->mUnk_38->mUnk_08 = 0x3; } diff --git a/src/031_Land/Actor/ActorUnkATTG.cpp b/src/031_Land/Actor/ActorUnkATTG.cpp index 568738d4..3c6042de 100644 --- a/src/031_Land/Actor/ActorUnkATTG.cpp +++ b/src/031_Land/Actor/ActorUnkATTG.cpp @@ -65,26 +65,8 @@ void ActorUnkATTG::func_ov031_020f3eec(ActorState state, unk32 param2) { stack.mUnk_08 = 0x3C; stack.mUnk_00 = 0x6C; stack.mUnk_3A = 0x7; - VecFx32_Copy(&this->mPos, &stack.mUnk_0C); - UnkStackStruct_ov000_02077590 *r3 = func_ov000_02077590(0x1); - stack.mUnk_18 = r3->mUnk_00; - stack.mUnk_1A = r3->mUnk_02; - stack.mUnk_1C = r3->mUnk_04; - stack.mUnk_1E = r3->mUnk_06; - stack.mUnk_20 = r3->mUnk_08; - stack.mUnk_24 = r3->mUnk_0C; - - u16 unk_18 = r3->mUnk_18; - u16 unk_1A = r3->mUnk_1A; - stack.mUnk_30 = unk_18; - stack.mUnk_32 = unk_1A; - - u16 unk_1C = r3->mUnk_1C; - u16 unk_1E = r3->mUnk_1E; - stack.mUnk_34 = unk_1C; - stack.mUnk_36 = unk_1E; - + stack.mUnk_18.Copy(1); this->mUnk_94 = data_027e09b8->func_ov000_02073388(&stack, 0x0); break; } diff --git a/src/031_Land/Actor/ActorUnkEFSB.cpp b/src/031_Land/Actor/ActorUnkEFSB.cpp index 1d695b0d..5b9acd0f 100644 --- a/src/031_Land/Actor/ActorUnkEFSB.cpp +++ b/src/031_Land/Actor/ActorUnkEFSB.cpp @@ -18,8 +18,8 @@ ActorProfileUnkEFSB::ActorProfileUnkEFSB() : ActorUnkEFSB::ActorUnkEFSB() : mUnk_098(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkEFSB)->mUnk_3C.mUnk_50)), - mUnk_0F8(&this->mUnk_0F8.mUnk_1C, &this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()), - mUnk_154(&this->mUnk_154.mUnk_1C, &this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()) {} + mUnk_0F8(&this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()), + mUnk_154(&this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()) {} bool ActorUnkEFSB::Init(unk32 param1) { this->mUnk_0F8.vfunc_1C(data_ov031_02114ed0[0], 0x1000, 0x11F, 0x0); diff --git a/src/031_Land/Actor/ActorUnkROCK.cpp b/src/031_Land/Actor/ActorUnkROCK.cpp index 86929e0e..c02875cd 100644 --- a/src/031_Land/Actor/ActorUnkROCK.cpp +++ b/src/031_Land/Actor/ActorUnkROCK.cpp @@ -9,8 +9,6 @@ extern MtxFx33 data_027e0130; -static MapObject_10_Pot data_ov031_021166b8; - DECL_PROFILE(ActorProfileUnkROCK); Actor *ActorProfileUnkROCK::Create() { @@ -20,10 +18,11 @@ Actor *ActorProfileUnkROCK::Create() { // non-matching ActorProfileUnkROCK::ActorProfileUnkROCK() : ActorProfileUnkROCK_Base(ActorId_ROCK) { - this->mUnk_04.Init(FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.5f)); - VecFx32_Init(FX_F32_TO_FX32(7.0017f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), &this->mUnk_D8.mUnk_0C); - this->mUnk_D8.mUnk_18 = FX_F32_TO_FX32(0.6f); - this->mUnk_D8.mUnk_1C = FX_F32_TO_FX32(1.2f); + this->mUnk_04.Init(FX_F32_TO_FX32(0.5f)); + this->mUnk_D8.mUnk_08 = 0x7007; + VecFx32_Reset(&this->mUnk_D8.mUnk_0C); + this->mUnk_D8.mUnk_18 = 0x99A; + this->mUnk_D8.mUnk_1C = 0x1333; } ActorUnkROCK::ActorUnkROCK() : @@ -33,9 +32,10 @@ ActorUnkROCK::ActorUnkROCK() : } bool ActorUnkROCK::Init(unk32 param1) { +#pragma unused(param1) this->mUnk_A0.mUnk_04 = this->mRef; this->mUnk_A0.mUnk_08 = &this->mPos; - this->mUnk_A0.mUnk_0C = &data_ov031_021166b8; + this->mUnk_A0.mUnk_0C = GET_PROFILE_D8(ActorProfileUnkROCK); this->func_ov031_020e8a48(ActorUnkROCKState_0); diff --git a/src/031_Land/Actor/ActorUnkSWBM.cpp b/src/031_Land/Actor/ActorUnkSWBM.cpp index 6fd70a20..2d89f6f2 100644 --- a/src/031_Land/Actor/ActorUnkSWBM.cpp +++ b/src/031_Land/Actor/ActorUnkSWBM.cpp @@ -8,11 +8,14 @@ #include "Unknown/UnkStruct_027e0cec.hpp" #include "Unknown/UnkStruct_027e0d34.hpp" #include "Unknown/UnkStruct_ov000_020b4ec4.hpp" +#include "nitro/g3.h" +#include "nitro/gx.h" static const Cylinder data_ov031_02113114(FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.35f)); bool ActorUnkSWBM_94::vfunc_08(const UnkStruct_ov031_020f3310 *param1, unk32 param2) { +#pragma unused(param2) return (((u32) param1->mUnk_04->mUnk_24[param1->mUnk_00->mUnk_06] >> 0x16) & 0x1) != 0x1; } @@ -36,7 +39,7 @@ bool ActorUnkSWBM_98::vfunc_0C(Actor *param1, VecFx32 *vector) { } void ActorUnkSWBM_98::vfunc_10(Actor *actor) { - switch (GET_FLAG(actor->mFlags, ActorFlag_17)) { + switch (GET_FLAG(actor->mFlags, ActorFlag_17) ? 1 : 0) { case false: { ActorUnkSWBM *actorSWBM = this->mUnk_2C; if (actorSWBM->mState != ActorUnkSWBMState_0) { @@ -53,34 +56,34 @@ void ActorUnkSWBM_98::vfunc_10(Actor *actor) { // non-matching void ActorUnkSWBM_C8::vfunc_00(unk32 param1, unk32 param2) { +#pragma unused(param1, param2) ActorUnkSWBM *actor = this->mUnk_14; + unk32 var_r6; + s16 var_r7; + s16 var_r8; + s32 var_r9; FlushGfxQueue(); REG_GFX_FIFO_DIFFUSE_AMBIENT_REFLECT = 0x1084FFFF; - VecFx32 *textureParam = data_027e095c->mUnk_000; - REG_GFX_FIFO_TEXTURE_PARAM = textureParam[0x8].z; - unk32 var_r2 = 1; - if (((textureParam[0x8].z >> 0x1A) & 7) != 2) { - var_r2 = 0; - } - REG_GFX_FIFO_TEXTURE_PALETTE = ((u32) (textureParam[0x8].y << 0x10) >> 0xD) >> (4 - var_r2); + VecFx32 *textureParam = &data_027e095c->mUnk_000[8]; + G3_TexImageParam(GX_TEXFMT_NONE, GX_TEXGEN_NONE, GX_TEXSIZE_S8, GX_TEXSIZE_T8, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, + GX_TEXPLTTCOLOR0_USE, textureParam->z); + G3_TexPlttBase(((u32) textureParam->y << 0x10) >> 0xD, (((u32) textureParam->z >> 0x1A) & 7)); MtxFx33 mat; + MtxFx33_InitYRotation(&mat, SIN((u16) actor->mAngle.angle_s), COS((u16) actor->mAngle.angle_s)); - u16 angle = actor->mAngle.angle_s; - MtxFx33_InitYRotation(&mat, SIN(angle), COS(angle)); - - s16 var_r8 = 0xB33; - s32 var_r9 = 0x1F - ((0xE - actor->mUnk_0E0) * 2); - u16 var_r7 = 0xB33; + var_r7 = var_r8 = 0xB33; + var_r9 = 0x1F - ((0xE - actor->mUnk_0E0) * 2); ActorUnkSWBM::func_ov031_020e718c(&actor->mPos, &mat, var_r9, 0xB33, 0xB33, actor->mUnk_108); - unk16 var_r10 = actor->mUnk_10A; - if ((s32) var_r10 >= 3) { + unk32 var_r10 = actor->mUnk_10A; + if (var_r10 >= 3) { var_r10 = 3; } - for (unk32 var_r6 = 0; var_r6 < (s32) var_r10; ++var_r6) { + + for (var_r6 = 0; var_r6 < var_r10; var_r6++) { var_r8 += 0x11F; var_r7 += 0x23D; var_r9 -= 5; @@ -112,12 +115,20 @@ ActorUnkSWBM::ActorUnkSWBM() : } bool ActorUnkSWBM::Init(unk32 param1) { +#pragma unused(param1) + this->mUnk_44 = 0x1F; + this->mUnk_34 = (Cylinder *) &data_ov031_02113114; this->mUnk_098.mUnk_04 = this->mRef; - this->mUnk_34 = (Cylinder *) &data_ov031_02113114; - VecFx32_Copy(&this->mPos, &this->mUnk_098.mUnk_0C.pos); - this->mUnk_098.mUnk_0C.size = FX_F32_TO_FX32(0.35f); + fx32 posX = this->mPos.x; + fx32 posZ = this->mPos.z; + fx32 posY = this->mPos.y; + + this->mUnk_098.mUnk_0C.pos.x = posX; + this->mUnk_098.mUnk_0C.pos.y = posY; + this->mUnk_098.mUnk_0C.pos.z = posZ; + this->mUnk_098.mUnk_0C.size = FX_F32_TO_FX32(0.35f); this->mVel.x = FX_MUL(SIN((u16) this->mAngle.angle_s), 0xB33); this->mVel.z = FX_MUL(COS((u16) this->mAngle.angle_s), 0xB33); @@ -185,7 +196,6 @@ void ActorUnkSWBM::func_ov031_020e6e84(ActorState state) { this->mTimer.Reset(); } -// non-matching void ActorUnkSWBM::Update() { VecFx32_Copy(&this->mPos, &this->mPrevPos); VecFx32_Add(&this->mPos, &this->mVel, &this->mPos); @@ -195,7 +205,7 @@ void ActorUnkSWBM::Update() { } VecFx32_Copy(&this->mPrevPos, &this->mUnk_0E4[0]); - ++this->mUnk_10A; + this->mUnk_10A++; if (this->mState != ActorUnkSWBMState_2) { --this->mUnk_0E0; @@ -203,9 +213,11 @@ void ActorUnkSWBM::Update() { this->func_ov031_020e6e84(ActorUnkSWBMState_2); } else { s16 newVal = this->mUnk_108 + 0x666; + if (newVal >= 0xB33) { newVal = 0xB33; } + this->mUnk_108 = newVal; } } @@ -217,6 +229,7 @@ void ActorUnkSWBM::Update() { this->func_ov031_020e6e84(ActorUnkSWBMState_2); return; } + if (func_ov000_02080998(&this->mPos)) { this->func_ov031_020e6e84(ActorUnkSWBMState_2); return; @@ -226,21 +239,22 @@ void ActorUnkSWBM::Update() { switch (this->mState) { case ActorUnkSWBMState_0: { if (this->func_ov000_02098ab4(0x4, 0x19, 0x2, &this->mVel)) { - this->func_ov031_020e6d80(-0x1); + this->func_ov031_020e6d80(-0x01); } else { VecFx32_Copy(&this->mPos, &this->mUnk_098.mUnk_0C.pos); data_027e09c0->func_ov000_0207e58c(this->mRef, 0x7, 0x4, &this->mUnk_098); } - //! TODO : find this + UnkStruct_ov031_020e5d18_00 actorSpC; actorSpC.mUnk_00 = NULL; - func_01ffe6c4((Actor **) &actorSpC, this->mRef, &this->mPos, &this->mPrevPos, (s16) this->mUnk_44, &this->mPos, + func_01ffe6c4(&actorSpC.mUnk_00, this->mRef, &this->mPos, &this->mPrevPos, (s16) this->mUnk_44, &this->mPos, &this->mUnk_094); - unk32 val = ((Actor *) &actorSpC)->func_ov000_0207df88(this->mUnk_30, 0x7) | + unk32 val = ((Actor *) &actorSpC)->func_ov000_0207df88(this->mUnk_30, 0x07) | ((Actor *) &actorSpC)->func_ov000_0207e294(this->mUnk_30); this->mUnk_46 = val; + if (val == 0x0) { return; } @@ -249,6 +263,7 @@ void ActorUnkSWBM::Update() { break; } case ActorUnkSWBMState_1: + case ActorUnkSWBMState_2: break; default: break; @@ -260,51 +275,49 @@ void ActorUnkSWBM::vfunc_24() { this->func_ov031_020e6e84(ActorUnkSWBMState_1); return; } + this->Update(); } -// non-matching -void ActorUnkSWBM::func_ov031_020e718c(VecFx32 *param0, MtxFx33 *param1, s32 param2, s16 param3, u16 param4, s16 param5) { +void ActorUnkSWBM::func_ov031_020e718c(const VecFx32 *param0, MtxFx33 *param1, s32 param2, s16 param3, s16 param4, + s16 param5) { if (param2 <= 0) { return; } - REG_GFX_FIFO_POLYGON_ATTR = data_ov000_020b4ec4.func_01ffc768(0x4) << 0x18 | 0x80 | (param2 << 0x10); - REG_GFX_FIFO_MATRIX_PUSH = false; - REG_GFX_FIFO_MATRIX_TRANSLATE = param0->x; - REG_GFX_FIFO_MATRIX_TRANSLATE = param0->y; - REG_GFX_FIFO_MATRIX_TRANSLATE = param0->z; + + G3_PolygonAttr(GX_LIGHTMASK_NONE, GX_POLYGONMODE_UNK_00, 2, data_ov000_020b4ec4.func_01ffc768(0x4), param2, 0); + G3_PushMtx(); + G3_Translate(param0->x, param0->y, param0->z); func_02024a84(param1); - REG_GFX_FIFO_POLYGONS_BEGIN = true; - REG_GFX_FIFO_VERTEX_TEXCOORD = 0x02000200; + u16 x = (s16) -param3; + u16 z = (s16) -param5; - u16 var1 = (u16) (s16) -param3; - u16 var2 = (u16) param3; - u16 var3 = (u16) (s16) -param5; + { + G3_Begin(GX_BEGIN_QUADS); + G3_Direct1(G3OP_TEXCOORD, 0x02000200); + G3_Vtx(x, 0, z); + G3_Direct1(G3OP_TEXCOORD, 0x200); + G3_VtxXZ(x, (u16) param4); + G3_Direct1(G3OP_TEXCOORD, 0x0); + G3_VtxXZ((u16) param3, (u16) param4); + G3_Direct1(G3OP_TEXCOORD, 0x02000000); + G3_VtxXZ((u16) param3, z); + G3_End(); + } - REG_GFX_FIFO_VERTEX_16 = var1; - REG_GFX_FIFO_VERTEX_16 = var3; - - REG_GFX_FIFO_VERTEX_TEXCOORD = 0x200; - REG_GFX_FIFO_VERTEX_XZ = var1 | (param4 << 0x10); - - REG_GFX_FIFO_VERTEX_TEXCOORD = 0x0; - REG_GFX_FIFO_VERTEX_XZ = var2 | (param4 << 0x10); - - REG_GFX_FIFO_VERTEX_TEXCOORD = 0x02000000; - REG_GFX_FIFO_VERTEX_XZ = var2 | (var3 << 0x10); - - REG_GFX_FIFO_POLYGONS_END = false; - REG_GFX_FIFO_MATRIX_POP = true; + G3_PopMtx(1); } void ActorUnkSWBM::vfunc_2C(Actor_vfunc_30 *param1) { if (this->mState == ActorUnkSWBMState_2) { return; } + if (!this->func_01fff5d0(param1, 0x0)) { return; } + data_027e0958->func_ov000_02058fc4(&this->mUnk_0C8, &this->mPos); } diff --git a/src/031_Land/Actor/ActorUnkTGTZ.cpp b/src/031_Land/Actor/ActorUnkTGTZ.cpp index 62a735b1..7e9e73a6 100644 --- a/src/031_Land/Actor/ActorUnkTGTZ.cpp +++ b/src/031_Land/Actor/ActorUnkTGTZ.cpp @@ -103,32 +103,14 @@ void ActorUnkTGTZ::Update() { stack.mUnk_08 = 0x4B; stack.mUnk_00 = 0x80; stack.mUnk_3A = 0x7; - - UnkStackStruct_ov000_02077590 *r3 = func_ov000_02077590(0x1); - stack.mUnk_18 = r3->mUnk_00; - stack.mUnk_1A = r3->mUnk_02; - stack.mUnk_1C = r3->mUnk_04; - stack.mUnk_1E = r3->mUnk_06; - stack.mUnk_20 = r3->mUnk_08; - - stack.mUnk_24 = r3->mUnk_0C; - - u16 unk_18 = *(volatile u16 *) &r3->mUnk_18; //! TODO: Timer? - u16 unk_1A = r3->mUnk_1A; - stack.mUnk_30 = unk_18; - stack.mUnk_32 = unk_1A; - - u16 unk_1C = r3->mUnk_1C; - u16 unk_1E = r3->mUnk_1E; - stack.mUnk_36 = unk_1E; - stack.mUnk_34 = unk_1C; + stack.mUnk_18.Copy(1); stack.mUnk_38 |= 0x80; stack.mUnk_0C.x = this->mPos.x; stack.mUnk_0C.y = this->mPos.y; stack.mUnk_0C.z = this->mPos.z; - stack.mUnk_0C.y = this->mPos.y + FX_F32_TO_FX32(1.0f); - this->mUnk_1BC = data_027e09b8->func_ov000_02073388(&stack, 0x0); + stack.mUnk_0C.y += FX_F32_TO_FX32(1.0f); + this->mUnk_1BC = data_027e09b8->func_ov000_02073388(&stack, 0x0); this->func_ov031_020f6f20(0x1); break; } diff --git a/src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp b/src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp index f2bcff58..5f54bd8d 100644 --- a/src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp +++ b/src/031_Land/Actor/ActorUnkZLSL_ZSRS.cpp @@ -1,51 +1,61 @@ -#include "Actor/ActorUnkZLSL_ZSRS.hpp" -#include "CommonFuncs.hpp" +#include "global.h" +THUMB_BEGIN + +#include "Actor/Actor.hpp" +#include "Actor/ActorId.hpp" #include "Actor/ActorManager.hpp" #include "Actor/ActorUnkFTRN.hpp" #include "Actor/ActorUnkRAT0.hpp" #include "Actor/ActorUnkRPMT.hpp" +#include "Actor/ActorUnkZLSL_ZSRS.hpp" #include "Actor/ActorUnkZSTG.hpp" -#include "Player/PlayerGet.hpp" +#include "CommonFuncs.hpp" +#include "Player/PlayerActorBase.hpp" +#include "RefStruct.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e0208.hpp" #include "Unknown/UnkStruct_027e09a8.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" #include "Unknown/UnkStruct_027e09bc.hpp" #include "Unknown/UnkStruct_027e09c0.hpp" #include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" #include "Unknown/UnkStruct_027e0cec.hpp" #include "Unknown/UnkStruct_027e0d8c.hpp" #include "Unknown/UnkStruct_ov000_020b3000.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" #include "Unknown/UnkStruct_ov024_020d8660.hpp" +#include "global.h" +#include "nitro/fx.h" +#include "nitro/math.h" +#include "nitro/types.h" +#include "nns/g3d/g3d.h" +#include "profile.hpp" extern UnkActorSystem1_Derived1 data_ov060_02163ff4; -extern const char *data_ov031_02110acc; // 3\x13\x00\x00 -static char data_ov031_021135f0[0x4] = "\x00 "; -static char data_ov031_021135f4[0x4] = "3\x03"; -static char data_ov031_021135f8[0x4] = "\x00\x10"; -static ActorUnkZLSL_AnimationTag data_ov031_021135fc = {0, "wait"}; -static PTMF data_ov031_021137f8[0x11] = { - &ActorUnkZLSL::func_ov031_020eaa88, // ActorUnkZLSLState_0 - &ActorUnkZLSL::func_ov031_020ea8c8, // ActorUnkZLSLState_1 - &ActorUnkZLSL::func_ov031_020ea8c4, // ActorUnkZLSLState_2 - &ActorUnkZLSL::func_ov031_020ea8c0, // ActorUnkZLSLState_3 - &ActorUnkZLSL::func_ov031_020eace0, // ActorUnkZLSLState_4 - &ActorUnkZLSL::func_ov031_020ead78, // ActorUnkZLSLState_5 - &ActorUnkZLSL::func_ov031_020ec058, // ActorUnkZLSLState_6 - &ActorUnkZLSL::func_ov031_020ec0a8, // ActorUnkZLSLState_7 - &ActorUnkZLSL::func_ov031_020ec12c, // ActorUnkZLSLState_8 - &ActorUnkZLSL::func_ov031_020eb61c, // ActorUnkZLSLState_9 - &ActorUnkZLSL::func_ov031_020eafb0, // ActorUnkZLSLState_10 - &ActorUnkZLSL::func_ov031_020eb218, // ActorUnkZLSLState_11 - &ActorUnkZLSL::func_ov031_020ec028, // ActorUnkZLSLState_12 - &ActorUnkZLSL::func_ov031_020eb158, // ActorUnkZLSLState_13 - &ActorUnkZLSL::func_ov031_020eab0c, // ActorUnkZLSLState_14 - &ActorUnkZLSL::func_ov031_020ec170, // ActorUnkZLSLState_15 - &ActorUnkZLSL::func_ov031_020eba8c, // ActorUnkZLSLState_16 +//! TODO: move to proper header once decompiled +class ActorPhantomBase : public Actor { +public: + /* 000 (base) */ + /* 094 */ PAD(0x94, 0x316); + /* 316 */ unk16 mUnk_316; + /* 094 */ PAD(0x318, 0x530); + /* 530 */ unk32 mUnk_530; }; -static PTMF data_ov031_02113770[0x11] = { + +extern unk16 data_ov031_02110ac0; +extern unk16 data_ov031_02110ac4; +static const unk16 data_ov031_02110acc = 0x1333; + +static char data_ov031_021135f0[0x4] = "\x00 "; +static char data_ov031_021135f4[0x4] = "3\x03"; +static char data_ov031_021135f8[0x4] = "\x00\x10"; + +static ActorUnkZLSL_AnimationTag data_ov031_021135fc = {0, "wait"}; + +static PTMF data_ov031_02113770[ActorUnkZLSLState_Max] = { &ActorUnkZLSL::func_ov031_020eaa68, // ActorUnkZLSLState_0 &ActorUnkZLSL::func_ov031_020ea86c, // ActorUnkZLSLState_1 &ActorUnkZLSL::func_ov031_020ea868, // ActorUnkZLSLState_2 @@ -64,28 +74,67 @@ static PTMF data_ov031_02113770[0x11] = { &ActorUnkZLSL::func_ov031_020ec164, // ActorUnkZLSLState_15 &ActorUnkZLSL::func_ov031_020eba58, // ActorUnkZLSLState_16 }; -static ActorUnkZLSL_AnimationTag data_ov031_02113a08 = {0, "blink"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a20 = {0x01, "happy"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a38 = {0x02, "levitate_s"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a50 = {0x03, "sad"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a68 = {0x04, "fear"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a80 = {0x05, "clap_s"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113a98 = {0x06, "surprise"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113ab0 = {0x07, "trouble_s"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113ac8 = {0x08, "trouble_move"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113ae0 = {0x09, "appear_s"}; -static ActorUnkZLSL_AnimationTag data_ov031_02113af8[0x4] = { - {0x0A, "session_s"}, - {0x0B, "turn"}, - {0x0C, "gloomy"}, - {0x0D, "sing"}, + +static PTMF data_ov031_021137f8[ActorUnkZLSLState_Max] = { + &ActorUnkZLSL::func_ov031_020eaa88, // ActorUnkZLSLState_0 + &ActorUnkZLSL::func_ov031_020ea8c8, // ActorUnkZLSLState_1 + &ActorUnkZLSL::func_ov031_020ea8c4, // ActorUnkZLSLState_2 + &ActorUnkZLSL::func_ov031_020ea8c0, // ActorUnkZLSLState_3 + &ActorUnkZLSL::func_ov031_020eace0, // ActorUnkZLSLState_4 + &ActorUnkZLSL::func_ov031_020ead78, // ActorUnkZLSLState_5 + &ActorUnkZLSL::func_ov031_020ec058, // ActorUnkZLSLState_6 + &ActorUnkZLSL::func_ov031_020ec0a8, // ActorUnkZLSLState_7 + &ActorUnkZLSL::func_ov031_020ec12c, // ActorUnkZLSLState_8 + &ActorUnkZLSL::func_ov031_020eb61c, // ActorUnkZLSLState_9 + &ActorUnkZLSL::func_ov031_020eafb0, // ActorUnkZLSLState_10 + &ActorUnkZLSL::func_ov031_020eb218, // ActorUnkZLSLState_11 + &ActorUnkZLSL::func_ov031_020ec028, // ActorUnkZLSLState_12 + &ActorUnkZLSL::func_ov031_020eb158, // ActorUnkZLSLState_13 + &ActorUnkZLSL::func_ov031_020eab0c, // ActorUnkZLSLState_14 + &ActorUnkZLSL::func_ov031_020ec170, // ActorUnkZLSLState_15 + &ActorUnkZLSL::func_ov031_020eba8c, // ActorUnkZLSLState_16 }; -static ActorUnkZLSL_AnimationTag data_ov031_02113b58[0x12] = { - {0x00, "levitate_s"}, {0x01, "move_s"}, {0x02, "talk_s"}, {0x03, "pflute"}, {0x04, "turn"}, - {0x05, "happy"}, {0x06, "levitate_s"}, {0x07, "move_s"}, {0x08, "sad_s"}, {0x09, "happy_s"}, - {0x0A, "fear_s"}, {0x0B, "clap_s"}, {0x0C, "surprise_s"}, {0x0D, "trouble_s"}, {0x0E, "trouble_move_s"}, - {0x0F, "appear_s"}, {0x10, "talk_s"}, {0x11, "session_s"}, + +// clang-format off +static ActorUnkZLSL_AnimationTag data_ov031_02113a08[] = { + {0x00, "blink", 0x00}, + {0x01, "happy", 0x00}, + {0x02, "levitate_s", 0x00}, + {0x03, "sad", 0x00}, + {0x04, "fear", 0x00}, + {0x05, "clap_s", 0x00}, + {0x06, "surprise", 0x00}, + {0x07, "trouble_s", 0x00}, + {0x08, "trouble_move", 0x00}, + {0x09, "appear_s", 0x00}, + {0x0A, "session_s", 0x00}, + {0x0B, "turn", 0x00}, + {0x0C, "gloomy", 0x00}, + {0x0D, "sing", 0x00}, }; + +static ActorUnkZLSL_AnimationTag data_ov031_02113b58[] = { + {0x00, "levitate_s", 0x00}, + {0x01, "move_s", 0x00}, + {0x02, "talk_s", 0x00}, + {0x03, "pflute", 0x00}, + {0x04, "turn", 0x01}, + {0x05, "happy", 0x00}, + {0x06, "levitate_s", 0x00}, + {0x07, "move_s", 0x00}, + {0x08, "sad_s", 0x00}, + {0x09, "happy_s", 0x00}, + {0x0A, "fear_s", 0x00}, + {0x0B, "clap_s", 0x01}, + {0x0C, "surprise_s", 0x01}, + {0x0D, "trouble_s", 0x00}, + {0x0E, "trouble_move_s", 0x00}, + {0x0F, "appear_s", 0x01}, + {0x10, "talk_s", 0x00}, + {0x11, "session_s", 0x00}, +}; +// clang-format on + static unk32 data_ov031_02113d08 = 0; // data_ov031_02113d14 // data_ov031_02113d3c @@ -93,12 +142,6 @@ static char data_ov031_02113d58[0x0B] = "Npc/ZLDA/"; // --- Actor ZSRS --- -THUMB_BEGIN - -void ModelRender_ov031_02113670::vfunc_0C() { - ModelRender::vfunc_0C(); -} - DECL_PROFILE(ActorProfileUnkZSRS); Actor *ActorProfileUnkZSRS::Create() { @@ -108,9 +151,6 @@ Actor *ActorProfileUnkZSRS::Create() { ActorProfileUnkZSRS::ActorProfileUnkZSRS() : ActorProfile_Derived2(ActorId_ZSRS, ActorId_ZSRS) {} -ActorUnkZSRS::ActorUnkZSRS() : - Actor_Derived1(NULL, 0x0) {} - // --- Actor ZLSL --- DECL_PROFILE(ActorProfileUnkZLSL); @@ -121,24 +161,15 @@ Actor *ActorProfileUnkZLSL::Create() { ActorProfileUnkZLSL::ActorProfileUnkZLSL() : ActorProfile(ActorId_ZLSL) { - this->mUnk_04.size = 0x666; + this->mUnk_04.pos.x = FX_F32_TO_FX32(0.0f); + this->mUnk_04.pos.y = FX_F32_TO_FX32(0.5f); + this->mUnk_04.pos.z = FX_F32_TO_FX32(0.0f); + this->mUnk_04.size = FX_F32_TO_FX32(0.4f); this->mUnk_1C = 0x1000; this->mUnk_1A = 0x1800; - this->mUnk_04.pos.x = FX_F32_TO_FX32(0.0f); - this->mUnk_04.pos.z = FX_F32_TO_FX32(0.0f); - this->mUnk_04.pos.y = FX_F32_TO_FX32(0.5f); this->mUnk_18 = 0x0; } -ActorUnkZLSL::ActorUnkZLSL() : - Actor_Derived1(NULL, 0x0), - mUnk_1620(NULL), - mUnk_2700(0, 0, 0), - mUnk_276C(NULL), - mUnk_27CC(0, 0, 0) {} - -void ActorUnkZLSL::func_ov031_020ea100() {} - bool UnkStruct_ov031_0211361c::vfunc_00(Actor *pActor) { if (pActor != NULL && pActor->GetActorId() == ActorId_RAT0 && pActor->mState == ActorUnkRAT0State_0 && pActor->mUnk_5C.mParams[1] == 0x1) { @@ -147,6 +178,93 @@ bool UnkStruct_ov031_0211361c::vfunc_00(Actor *pActor) { return false; } + +ModelRender_ov031_02113670::ModelRender_ov031_02113670(G3d_Model *pModel) : + ModelRender_ov000_020b4d64(pModel) {} + +void ModelRender_ov031_02113670::vfunc_0C() { + ModelRender::vfunc_0C(); +} + +void ActorUnkZLSL::func_ov031_020ea100() { + GET_PROFILE(ActorProfileUnkZSRS)->vfunc_08(); + + ActorParams params; + params.mUnk_28.Reset(); + params.func_ov000_020975f8(); + params.mUnk_28.acRef.type_index = 0x100; + params.mUnk_28.acRef.unk_id = 0x00; + + RefStruct ref; + Actor::func_ov000_020973f4(&ref, &data_ov000_020b539c_eur, ActorId_ZLSL, ¶ms, 0x00); +} + +static inline G3d_Model *GetModelFromProfile() { + return G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkZSRS)->vfunc_04()->mUnk_50); +} + +static inline G3d_Model *GetModel() { + return G3d_GetModelPtr(data_027e0ce0->mUnk_1C->mUnk_08[PlayerCharacter_Zelda][0]->mUnk_50); +} + +extern Actor *data_027e0d3c; + +ActorUnkZLSL::ActorUnkZLSL() : + ActorUnkZSRS(&this->mUnk_1620, GetModel(), GET_PROFILE(ActorProfileUnkZSRS)->vfunc_04(), + data_027e0ce0->mUnk_1C->mUnk_08[PlayerCharacter_Zelda][0]->func_ov000_02058a24()), + mUnk_1620(GetModel()), + mUnk_2700(&this->mUnk_1620, GetModel(), data_027e0ce0->mUnk_1C->mUnk_08[PlayerCharacter_Zelda][0]->func_ov000_02058a24()), + mUnk_276C(GetModelFromProfile()), + mUnk_27CC(&this->mUnk_276C, GET_PROFILE(ActorProfileUnkZSRS)->vfunc_04()), + mUnk_2864(0, 0), + mUnk_2868(0), + mUnk_286A(0), + mUnk_286C(0), + mUnk_286E(0), + mUnk_2870(0), + mUnk_2872(0), + mUnk_2874(true), + mUnk_2878(0, 0, 0), + mUnk_2884(0), + mUnk_2888(0), + mUnk_288C(0), + mUnk_2890(0), + mUnk_28A4(0, 0, 0), + mUnk_28B0(0, 0, 0), + mUnk_28BC(0, 0, 0), + mUnk_28C8(-1), + mUnk_28DC(0), + mUnk_28E0(0), + mUnk_28E2(0), + mUnk_28E4(0), + mUnk_28E8(0, 0, 0), + mUnk_28F4(0, 0, 0), + mUnk_2900(0), + mUnk_2904(0) { + data_027e0d3c = this; + this->mUnk_0B8 = data_ov031_02113b58; + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[0], 0x1000, 0x00); + + for (int var_r4_2 = 0; var_r4_2 < ARRAY_LEN(this->mUnk_28CC); var_r4_2++) { + this->mUnk_28CC[var_r4_2].ref.Reset(); + } + + this->mUnk_1690.func_ov031_020eeb58(); + this->mUnk_26F4.mUnk_08 = 0x001; + this->mUnk_38 = (Actor_38 *) &this->mUnk_26F4; + this->mUnk_2894.Init(0); +} + +ActorUnkZLSL::~ActorUnkZLSL() { + data_027e0d3c = NULL; + + data_027e0cec->func_ov000_020a0110(&this->mUnk_2828.mUnk_00); + + for (int i = 0; i < 4; i++) { + data_027e0cec->func_ov000_020a0110(&this->mUnk_2834[i]); + } +} + THUMB_END void ActorUnkZLSL::func_ov031_020ea674() { @@ -155,8 +273,10 @@ void ActorUnkZLSL::func_ov031_020ea674() { } bool ActorUnkZLSL::Init(unk32 param1) { +#pragma unused(param1) + this->mUnk_1620.func_ov000_02057c38(0x6, 0x2); - this->mUnk_1620.func_ov000_0209a7b8(this, this->func_ov000_020a9804); + this->mUnk_1620.func_ov000_0209a7b8(this, Actor_Derived1::func_ov000_020a9804); this->mUnk_0E4 = ActorUnkZLSL::func_ov031_020ee1f4; @@ -164,59 +284,54 @@ bool ActorUnkZLSL::Init(unk32 param1) { this->func_ov031_020ea674(); - this->mUnk_44 = 0xD; - this->mUnk_282C = 0x937; - this->mUnk_2830 = 0x2; - this->mUnk_283C = 0x2; - this->mUnk_2848 = 0x2; - this->mUnk_2854 = 0x2; - this->mUnk_2860 = 0x2; - this->mUnk_2838 = 0x933; - this->mUnk_2844 = 0x934; - this->mUnk_2850 = 0x935; - this->mUnk_285C = 0x936; - this->mUnk_30 = &this->mUnk_2894; - this->mUnk_34 = &this->mUnk_2894; + this->mUnk_44 = 0xD; + this->mUnk_2828.mUnk_04 = 0x937; + this->mUnk_2828.mUnk_08 = 0x2; + + this->mUnk_2834[0].mUnk_08 = 0x2; + this->mUnk_2834[1].mUnk_08 = 0x2; + this->mUnk_2834[2].mUnk_08 = 0x2; + this->mUnk_2834[3].mUnk_08 = 0x2; + + this->mUnk_2834[0].mUnk_04 = 0x933; + this->mUnk_2834[1].mUnk_04 = 0x934; + this->mUnk_2834[2].mUnk_04 = 0x935; + this->mUnk_2834[3].mUnk_04 = 0x936; + + this->mUnk_30 = &this->mUnk_2894; + this->mUnk_34 = &this->mUnk_2894; return true; } void ActorUnkZLSL::vfunc_AC() {} -// non-matching void ActorUnkZLSL::func_ov031_020ea7a8() { - this->mUnk_0B0 &= 0xFFEF; - this->mUnk_2900 &= 0xFFFE; + this->mUnk_2870 = 0x00; - this->mUnk_2870 = 0x0; - this->mUnk_0B0 &= 0xFFFB; + this->mUnk_0B0 &= ~0x10; + this->mUnk_2900 &= ~0x01; SET_FLAG(this->mFlags, ActorFlag_Visible); + this->mUnk_0B0 &= ~0x04; + this->mUnk_2900 |= 0x10; - VecFx32_Copy(&this->mPos, &this->mUnk_2878); + VecFx32_Copy(&this->mPos, &this->mUnk_2878.vec); + this->mUnk_2888 = 0x00; + this->mUnk_288C = 0x00; + this->mUnk_2C = 0x00; + this->mUnk_286A = 0x00; + this->mUnk_286C = 0x00; + VecFx32_Reset(&this->mUnk_28B0.vec); + VecFx32_Reset(&this->mUnk_28BC.vec); - this->mUnk_2888 = FX_F32_TO_FX32(0.0f); - this->mUnk_288C = 0x0; - this->mUnk_2C = 0x0; - this->mUnk_286A = 0x0; - this->mUnk_286C = 0x0; - this->mUnk_28B0.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28B0.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28B0.z = FX_F32_TO_FX32(0.0f); - this->mUnk_28BC = 0x0; - this->mUnk_28C0 = 0x0; - this->mUnk_28C4 = 0x0; - - this->mUnk_0B0 &= 0xFFF7; - this->mUnk_2900 |= 0x30; + this->mUnk_0B0 &= ~0x08; + this->mUnk_2900 |= 0x20; } -// non-matching void ActorUnkZLSL::func_ov031_020ea864() {} -// non-matching void ActorUnkZLSL::func_ov031_020ea868() {} -// non-matching void ActorUnkZLSL::func_ov031_020ea86c() {} void ActorUnkZLSL::vfunc_58(ActorState state) { @@ -228,24 +343,22 @@ void ActorUnkZLSL::vfunc_58(ActorState state) { CALL_PTMF(PTMF, data_ov031_02113770[this->mState]); } -// non-matching void ActorUnkZLSL::func_ov031_020ea8c0() {} -// non-matching void ActorUnkZLSL::func_ov031_020ea8c4() {} -// non-matching void ActorUnkZLSL::func_ov031_020ea8c8() {} void ActorUnkZLSL::Update() { - UnkAngleStruct angleTmp; - angleTmp.angle_u = this->mAngle.angle_u; + UnkAngleStruct angle = this->mAngle.angle_s; + CALL_PTMF(PTMF, data_ov031_021137f8[this->mState]); if (!GET_FLAG(this->mFlags, ActorFlag_Visible)) { return; } - this->func_ov031_020ee4c4(angleTmp); + + this->func_ov031_020ee4c4(angle); VecFx32_Copy(&this->mPos, &this->mPrevPos); VecFx32_Add(&this->mPos, &this->mVel, &this->mPos); @@ -288,7 +401,6 @@ void ActorUnkZLSL::func_ov031_020eaa68() { this->vfunc_98(0x0); } -// non-matching void ActorUnkZLSL::func_ov031_020eaa88() {} void ActorUnkZLSL::func_ov031_020eaa8c() { @@ -298,7 +410,7 @@ void ActorUnkZLSL::func_ov031_020eaa8c() { this->mVel.z = FX_F32_TO_FX32(0.0f); this->mUnk_2900 |= 0x1; - if ((this->mUnk_2900 & 0x4) != 0x0) { + if (this->mUnk_2900 & 0x4) { this->vfunc_98(0xA); this->mUnk_4A[0] = 0x0; this->mUnk_0B0 |= 0x10; @@ -306,11 +418,12 @@ void ActorUnkZLSL::func_ov031_020eaa8c() { this->vfunc_98(0x0); this->mUnk_4A[0] = 0x5; } + this->mUnk_2884 = 0x0; } void ActorUnkZLSL::func_ov031_020eab0c() { - if ((this->mUnk_2900 & 0x4) != 0x0) { + if (this->mUnk_2900 & 0x4) { return; } this->func_ov031_020eab40(0x1800); @@ -345,8 +458,8 @@ void ActorUnkZLSL::func_ov031_020eab40(unk32 param1) { VecFx32_TryNormalize(&this->mVel); func_01ff93c0(&this->mVel, FX_F32_TO_FX32(0.1001f)); } - VecFx32 *pVec2 = this->func_ov000_0209853c(0x0); + VecFx32 *pVec2 = this->func_ov000_0209853c(0x0); func_01ff930c(&this->mAngle.angle_s, func_02016958(&this->mPos, pVec2), 0x71C); } @@ -388,60 +501,108 @@ void ActorUnkZLSL::func_ov031_020ead0c() { this->vfunc_98(0x2); } -// non-matching void ActorUnkZLSL::func_ov031_020ead78() {} -// non-matching void ActorUnkZLSL::func_ov031_020ead7c() { + VecFx32 sp24; + VecFx32 sp18; + VecFx32 spC; + unk16 spA; + unk16 sp8; + unk16 sp6; + unk16 sp4; + ActorUnkRPMT *actor = (ActorUnkRPMT *) func_02016fbc(ActorId_RPMT, &this->mPos, 0x0); + if (actor != NULL && actor->mState == ActorUnkRPMTState_1) { this->mUnk_0B0 |= 0x8; } - VecFx32 vec = *this->func_ov000_0209853c(0x0); + + sp24 = *this->func_ov000_0209853c(0x0); if (this->mUnk_0B0 & 0x8) { if (data_027e0ce0->func_01fff1a4()) { - data_027e0ce0->func_ov000_0208ba94(0x1, &vec); + data_027e0ce0->func_ov000_0208ba94(0x1, &sp24); } } - VecFx32 oVec; - VecFx32_Copy(&vec, &oVec); - oVec = this->mPos; + + VecFx32_Copy(&sp24, &this->mPos); + this->mPos.y += 0x800; + spC = this->mPos; + this->mPos.x = spC.x; + this->mPos.y = spC.y; + this->mPos.z = spC.z; + this->mPrevPos.x = spC.x; + this->mPrevPos.y = spC.y; + this->mPrevPos.z = spC.z; this->mUnk_28E4 = this->func_ov031_020ee2c8(); + UnkStruct_027e0ce0 *ptr = data_027e0ce0; + func_01fff17c(&spA, data_027e0ce0, 0); + + if (this->mUnk_0B0 & 0x08) { + unk16 *psp8 = (unk16 *) &sp8; + func_01fff17c((unk16 *) psp8, data_027e0ce0, 1); + spA = *psp8; + } + + if (this->mUnk_0B0 & 0x08) { + this->mUnk_28E4 = 0; + } + + sp6 = spA + this->mUnk_28E4; + func_020169d4(&sp18, &sp24, &sp6, (void *) &data_ov031_02110acc); + + if (func_02016c68(&sp24, &sp18, this->mRef, 4, 0) || func_02016cf0(&sp24, &sp18, this->mRef, 8, 0)) { + this->mUnk_28E4 = -this->mUnk_28E4; + } + + sp4 = spA + this->mUnk_28E4; + func_020169d4(&this->mUnk_2878.vec, &sp24, &sp4, (void *) &data_ov031_02110acc); + this->func_ov031_020ec6d8(true); - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); - this->mUnk_2884 = 0x0; - this->mVel.x = FX_F32_TO_FX32(0.0f); - this->mVel.y = FX_F32_TO_FX32(0.0f); - this->mVel.z = FX_F32_TO_FX32(0.0f); - this->mTimer.Set(0, 10); + VecFx32_Reset(&this->mUnk_28A4.vec); this->mUnk_2884 = 0x0; + VecFx32_Reset(&this->mVel); + this->mTimer.Set(0, 10); this->mUnk_2888 = 0x0; } void ActorUnkZLSL::func_ov031_020eafb0() { - if (!this->func_ov031_020ed8ac(0x800)) { - return; + if (this->func_ov031_020ed8ac(0x800)) { + this->vfunc_58(ActorUnkZLSLState_4); } - this->vfunc_58(ActorUnkZLSLState_4); } -// non-matching void ActorUnkZLSL::func_ov031_020eafe0() { - this->func_ov000_0209853c(0x0); + VecFx32 spC; + unk16 spA; + unk16 sp8; + unk16 sp6; + unk16 sp4; + + this->func_ov000_0209853c(0x00); this->mUnk_28E4 = 0x2AAB; - s16 tab[2]; - func_01fff17c(tab, data_027e0ce0, 0x0); + func_01fff17c(&sp8, data_027e0ce0, 0x00); - tab[1] = tab[0] + this->mUnk_28E4; - VecFx32 vec; - func_020169d4(&vec, this->func_ov000_0209853c(0x0), ((fx16 *) tab + 1), data_ov031_02110acc); - if (func_02016c68(this->func_ov000_0209853c(0x0), &vec, this->mRef)) { + spA = sp8 + this->mUnk_28E4; + func_020169d4(&spC, this->func_ov000_0209853c(0x0), &spA, (void *) &data_ov031_02110acc); + + if (func_02016c68(this->func_ov000_0209853c(0x00), &spC, this->mRef, 4, 0) || + func_02016cf0(this->func_ov000_0209853c(0x00), &spC, this->mRef, 8, 0)) { + this->mUnk_28E4 = 0xD555; } + + func_01fff17c(&sp4, data_027e0ce0, 0); + sp6 = sp4 + this->mUnk_28E4; + func_020169d4(&this->mUnk_2878.vec, this->func_ov000_0209853c(0x00), &sp6, (void *) &data_ov031_02110acc); + + this->func_ov031_020ec6d8(true); + VecFx32_Init(FX_F32_TO_FX32(0.5f), FX_F32_TO_FX32(0.5f), FX_F32_TO_FX32(0.5f), &this->mUnk_28A4.vec); + this->mTimer.Set(0, 5); + this->mUnk_2888 = 0x0; + VecFx32_Copy(&this->mPos, &this->mUnk_28F4.vec); } void ActorUnkZLSL::func_ov031_020eb158() { @@ -462,43 +623,116 @@ void ActorUnkZLSL::func_ov031_020eb188() { this->mVel.y = FX_F32_TO_FX32(0.0f); this->mVel.z = FX_F32_TO_FX32(0.0f); this->mUnk_2900 |= 0x1; - VecFx32_Copy(&this->mPos, &this->mUnk_2878); + VecFx32_Copy(&this->mPos, &this->mUnk_2878.vec); } -// non-matching void ActorUnkZLSL::func_ov031_020eb218() { - if ((this->mUnk_2900 & 0x10) != 0x0) { - if (!this->mUnk_2874) { - this->mUnk_2900 &= 0xFFEF; - data_027e09a8->func_ov000_02071c90(0x139, &this->mPos, 0x0); - } + if (*(volatile u16 *) &this->mUnk_2900 & 0x10 && !this->mUnk_2874) { + this->mUnk_2900 &= ~0x10; + data_027e09a8->func_ov000_02071c90(0x139, &this->mPos, 0x0); } - VecFx32 *vec = this->func_ov000_0209853c(0x0); - if (!this->func_ov031_020eb2b0(vec, 0xA000)) { - return; + + if (this->func_ov031_020eb2b0(this->func_ov000_0209853c(0x00), 0xA000)) { + this->vfunc_58(ActorUnkZLSLState_8); } - this->vfunc_58(ActorUnkZLSLState_8); } -// non-matching bool ActorUnkZLSL::func_ov031_020eb2b0(VecFx32 *param1, unk32 param2) { - func_01ff916c(&this->mUnk_2878.y, param1->y, 0xCD); - unk16 res = func_02016958(&this->mPos, param1); - func_01ff930c(&this->mAngle.angle_s, res, 0x71C); + VecFx32 sp1C; + VecFx32 sp10; + VecFx32 sp4; + s32 sp0; + bool var_r7; + s32 temp_r8; - VecFx32 vec = *param1; - vec.y += 0x800; - if (!this->mUnk_2874) { - if (this->mUnk_094.mUnk_0C->vfunc_10()->mUnk_0C < 0xA000) { - func_01ff916c(&this->mUnk_2878.y, 0xCD - 0x400, 0xCD + 0xCD); + func_01ff916c(&this->mUnk_2878.vec.y, param1->y, 0xCD); + func_01ff930c(&this->mAngle.angle_s, func_02016958(&this->mPos, param1), 0x71C); + + sp1C = *param1; + sp1C.y += FX_F32_TO_FX32(0.5f); + + var_r7 = false; + + if (this->mUnk_2874 == 0) { + if (this->mUnk_094.mUnk_0C->vfunc_10()->mUnk_04.mUnk_08 < 0xA000) { + temp_r8 = this->mUnk_28A4.vec.z; + func_01ff916c(&this->mUnk_28A4.vec.x, 0x333, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.y, 0x333, 0x19A); + + if (func_01ff916c(&this->mUnk_28A4.vec.z, 0x333, 0x19A) != 0) { + this->func_ov031_020ec6d8(true); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(1.0f); + this->mUnk_2900 &= ~0x01; + } + + if (this->mUnk_28A4.vec.z <= 0x800 && temp_r8 > 0x800) { + this->mUnk_2888 = 0x4CD; + this->mUnk_2884 = func_01ff9258(this->mPos.x - sp1C.x, this->mPos.z - sp1C.z); + this->mUnk_28B0.vec.x = this->mPos.x; + this->mUnk_28B0.vec.y = this->mPos.y; + this->mUnk_28B0.vec.z = this->mPos.z; + } + + if (this->mUnk_28A4.vec.z <= 0x800) { + var_r7 = true; + } + } + } else { + var_r7 = true; + } + + if (var_r7) { + func_01ffb714(&this->mUnk_28B0.vec, &sp1C, &sp4); + VecFx32_TryNormalize(&sp4); + func_01ff93c0(&sp4, this->mUnk_2884); + VecFx32_Add(&sp4, &sp1C, &sp4); + + this->mUnk_28B0.vec.x = sp4.x; + this->mUnk_28B0.vec.y = sp4.y; + this->mUnk_28B0.vec.z = sp4.z; + + sp10.x = sp4.x; + sp10.y = sp4.y; + sp10.z = sp4.z; + + sp0 = this->mUnk_2884; + func_01ff9218(&sp0, 0, 0x19A); + + if (this->mUnk_2884 - sp0 > param2) { + this->mUnk_2884 -= param2; + } else { + this->mUnk_2884 = sp0; + } + + func_01ffb714(&sp1C, &this->mUnk_28B0.vec, &sp4); + sp4.y = 0; + + func_01ff9638(&sp4, 0x4000); + VecFx32_TryNormalize(&sp4); + func_01ff93c0(&sp4, FX_MUL(this->mUnk_2888, SIN((u16) this->mUnk_286A))); + VecFx32_Add(&sp4, &sp10, &sp4); + this->mUnk_286A += 0x1000; + this->mPos.x = sp4.x; + this->mPos.y = sp4.y; + this->mPos.z = sp4.z; + + if (func_01ff9258(sp1C.x - this->mPos.x, sp1C.z - this->mPos.z) < 0x333) { + this->mUnk_28A4.vec.x = 0; + this->mUnk_28A4.vec.y = 0; + this->mUnk_28A4.vec.z = 0; + return true; } } + + return false; } void ActorUnkZLSL::func_ov031_020eb5f8() { - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.0f); this->func_ov031_020ec6d8(true); } @@ -537,10 +771,11 @@ void ActorUnkZLSL::func_ov031_020eb61c() { if (data_027e09b8->func_01ffd420()) { return; } - this->func_ov031_020ecc68(0x0); + + this->func_ov031_020ecc68(false); actor->func_ov071_021540ac(0x19); this->mTimer.Set(0, 20); - ++this->mUnk_286E; + this->mUnk_286E++; break; case 0x1: if (this->mUnk_28C8 < 0x0) { @@ -551,7 +786,7 @@ void ActorUnkZLSL::func_ov031_020eb61c() { } if (this->mTimer.HasExpired()) { this->func_ov031_020eafe0(); - ++this->mUnk_286E; + this->mUnk_286E++; } this->func_ov031_020ed4e4(0xF, 0x93F); break; @@ -560,46 +795,46 @@ void ActorUnkZLSL::func_ov031_020eb61c() { vec.y = this->mPos.y; if (this->func_ov031_020ed6cc(0xC00)) { this->mTimer.Set(0, 15); - ++this->mUnk_286E; + this->mUnk_286E++; } this->mAngle = func_02016958(&this->mPos, &vec); VecFx32_Copy(&this->mPos, &vec); vec.y += FX_F32_TO_FX32(0.5f); - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x5, 0x93F); break; case 0x3: if (this->mTimer.HasExpired()) { - ++this->mUnk_286E; + this->mUnk_286E++; this->mUnk_2884 = 0x0; this->func_ov031_020eb188(); } VecFx32_Copy(&this->mPos, &vec); vec.y += FX_F32_TO_FX32(0.5f); - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x5, 0x93F); break; case 0x4: if (this->func_ov031_020eb2b0(&actor->mPos, 0xA000)) { data_027e09a8->func_ov000_02071bd4(0x8D5B, &this->mPos, 0x0); - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.0f); actor->func_ov071_0215414c(); - ++this->mUnk_286E; - data_027e0cec->func_ov000_020a0110(&this->mUnk_2828); + this->mUnk_286E++; + data_027e0cec->func_ov000_020a0110(&this->mUnk_2828.mUnk_00); } VecFx32_Copy(&this->mPos, &vec); vec.y += 0x800; - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x5, 0x93F); break; case 0x5: if (actor->mUnk_16C.vfunc_10()->mUnk_04.func_01ff8fa8()) { - ++this->mUnk_286E; + this->mUnk_286E++; data_027e0d8c->func_ov093_021660a8(this->mUnk_28DC); actor->func_ov071_021540ac(0x1A); this->mTimer.Set(0, 30); @@ -609,9 +844,9 @@ void ActorUnkZLSL::func_ov031_020eb61c() { case 0x6: if (this->mTimer.HasExpired()) { data_027e09b8->func_ov000_020732fc(this->mUnk_28C8); - this->mUnk_28A4.x = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(1.0f); this->vfunc_58(ActorUnkZLSLState_8); } this->func_ov031_020ed4e4(0x5, 0x93F); @@ -621,9 +856,9 @@ void ActorUnkZLSL::func_ov031_020eb61c() { } void ActorUnkZLSL::func_ov031_020eba58() { - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.0f); this->func_ov031_020ec6d8(true); this->mUnk_0B0 |= 0x8; } @@ -637,10 +872,11 @@ void ActorUnkZLSL::func_ov031_020eba8c() { if (data_027e09b8->func_01ffd420()) { return; } - this->func_ov031_020ecc68(0x1); + + this->func_ov031_020ecc68(true); actor->func_ov071_021540ac(0x19); this->mTimer.Set(0, 20); - ++this->mUnk_286E; + this->mUnk_286E++; break; case 0x1: if (this->mUnk_28C8 < 0x0) { @@ -653,7 +889,7 @@ void ActorUnkZLSL::func_ov031_020eba8c() { this->func_ov031_020ead7c(); data_027e0d8c->func_ov090_021660e8(); data_027e0d8c->func_ov093_021660f8(); - ++this->mUnk_286E; + this->mUnk_286E++; } this->func_ov031_020ed4e4(0xF, 0x93F); break; @@ -662,24 +898,24 @@ void ActorUnkZLSL::func_ov031_020eba8c() { vec.y = this->mPos.y; if (this->func_ov031_020ed8ac(0x800)) { this->mTimer.Set(0, 15); - ++this->mUnk_286E; + this->mUnk_286E++; } this->mAngle = func_02016958(&this->mPos, &vec); VecFx32_Copy(&this->mPos, &vec); - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x5, 0x93F); break; case 0x3: if (this->mTimer.HasExpired()) { data_027e0d8c->func_ov093_02166108(); - ++this->mUnk_286E; + this->mUnk_286E++; this->mUnk_2884 = 0x0; this->mTimer.Set(0, 30); this->func_ov031_020eb188(); } VecFx32_Copy(&this->mPos, &vec); - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x5, 0x93F); break; @@ -691,14 +927,14 @@ void ActorUnkZLSL::func_ov031_020eba8c() { this->func_ov031_020eb2b0(&actor->mPos, 0xA000); } VecFx32_Copy(&this->mPos, &vec); - VecFx32_Copy(&vec, &this->mUnk_28F4); + VecFx32_Copy(&vec, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0xA, 0x93F); if (!this->mTimer.HasExpired()) { break; } - ++this->mUnk_286E; + this->mUnk_286E++; pVec = this->func_ov000_0209853c(0x1); if (func_01ff9258(actor->mPos.x - pVec->x, actor->mPos.z - pVec->z) <= 0x3000) { @@ -717,22 +953,22 @@ void ActorUnkZLSL::func_ov031_020eba8c() { return; } - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.0f); actor->func_ov071_0215414c(); - ++this->mUnk_286E; + this->mUnk_286E++; data_027e09a8->func_ov000_02071bd4(0x8D5B, &this->mPos, 0x0); - data_027e0cec->func_ov000_020a0110(&this->mUnk_2828); + data_027e0cec->func_ov000_020a0110(&this->mUnk_2828.mUnk_00); break; case 0x6: if (actor->mUnk_16C.vfunc_10()->mUnk_04.func_01ff8fa8() == 0x0) { return; } - ++this->mUnk_286E; + this->mUnk_286E++; data_027e0d8c->func_ov093_021660a8(this->mUnk_28DC); actor->func_ov071_021540ac(0x1A); this->mTimer.Set(0, 30); @@ -743,9 +979,9 @@ void ActorUnkZLSL::func_ov031_020eba8c() { } data_027e09b8->func_ov000_020732fc(this->mUnk_28C8); - this->mUnk_28A4.x = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(1.0f); this->vfunc_58(ActorUnkZLSLState_8); break; @@ -755,9 +991,9 @@ void ActorUnkZLSL::func_ov031_020eba8c() { } void ActorUnkZLSL::func_ov031_020ebfd8() { - this->mUnk_28A4.x = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(1.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(1.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(1.0f); this->func_ov031_020ec6d8(false); this->mAngle = func_02016958(&this->mPos, this->func_ov000_0209853c(0x0)); this->func_ov031_020eb188(); @@ -795,22 +1031,22 @@ void ActorUnkZLSL::func_ov031_020ec0a8() { } void ActorUnkZLSL::func_ov031_020ec0d4() { - this->mUnk_28A4.x = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.y = FX_F32_TO_FX32(0.0f); - this->mUnk_28A4.z = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.0f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.0f); UNSET_FLAG(this->mFlags, ActorFlag_Visible); this->vfunc_98(0x0); this->mUnk_4A[0] = false; - data_027e0cec->func_ov000_020a0110(&this->mUnk_2828); + data_027e0cec->func_ov000_020a0110(&this->mUnk_2828.mUnk_00); } void ActorUnkZLSL::func_ov031_020ec12c() { this->func_ov031_020ecbe0(); - VecFx32_Copy(this->func_ov000_0209853c(0x0), &this->mUnk_2878); + VecFx32_Copy(this->func_ov000_0209853c(0x0), &this->mUnk_2878.vec); } void ActorUnkZLSL::func_ov031_020ec164() { @@ -823,7 +1059,7 @@ void ActorUnkZLSL::func_ov031_020ec170() { if (this->mUnk_286E == 0x0) { if (this->func_ov031_020ed8ac(0x800)) { this->vfunc_98(0x11); - ++this->mUnk_286E; + this->mUnk_286E++; } } @@ -831,23 +1067,27 @@ void ActorUnkZLSL::func_ov031_020ec170() { } void ActorUnkZLSL::vfunc_2C(Actor_vfunc_30 *param1) { +#pragma unused(param1) MtxFx33 sp00; - if (this->mUnk_28A4.x == FX_F32_TO_FX32(0.0f) && this->mUnk_28A4.y == FX_F32_TO_FX32(0.0f) && - this->mUnk_28A4.z == FX_F32_TO_FX32(0.0f)) { + + if (this->mUnk_28A4.vec.x == FX_F32_TO_FX32(0.0f) && this->mUnk_28A4.vec.y == FX_F32_TO_FX32(0.0f) && + this->mUnk_28A4.vec.z == FX_F32_TO_FX32(0.0f)) { return; } - switch (this->mUnk_2874) { + + switch (this->mUnk_2874 ? 1 : 0) { case false: MtxFx33_InitYRotation(&sp00, SIN((u16) this->mAngle.angle_s), COS((u16) this->mAngle.angle_s)); - this->mUnk_1620.vfunc_10(&this->mUnk_28A4, &sp00, &this->mPos); + this->mUnk_1620.vfunc_10(&this->mUnk_28A4.vec, &sp00, &this->mPos); break; case true: MtxFx33_InitYRotation(&sp00, SIN(1), COS(0)); - this->mUnk_276C.vfunc_10(&this->mUnk_28A4, &sp00, &this->mPos); + this->mUnk_276C.vfunc_10(&this->mUnk_28A4.vec, &sp00, &this->mPos); break; default: break; } + this->mUnk_1690.func_ov031_020eece8(); } @@ -1006,14 +1246,16 @@ void ActorUnkZLSL::func_ov031_020ec6d8(bool param1) { data_027e09a8->func_ov000_02071c90(0x138, &this->mPos, 0x0); this->mUnk_2900 |= 0x1; } + if (param1 != true) { - data_027e0cec->func_ov000_020a0110(&this->mUnk_2828); + data_027e0cec->func_ov000_020a0110(&this->mUnk_2828.mUnk_00); } + this->mUnk_2874 = param1; } void ActorUnkZLSL::vfunc_6C() { - if (!this->mUnk_2874 && this->mUnk_28A4.z == FX_F32_TO_FX32(1.0f)) { + if (!this->mUnk_2874 && this->mUnk_28A4.vec.z == FX_F32_TO_FX32(1.0f)) { this->vfunc_58(ActorUnkZLSLState_4); return; } @@ -1021,7 +1263,7 @@ void ActorUnkZLSL::vfunc_6C() { } void ActorUnkZLSL::vfunc_70() { - if (!this->mUnk_2874 && this->mUnk_28A4.z == FX_F32_TO_FX32(1.0f)) { + if (!this->mUnk_2874 && this->mUnk_28A4.vec.z == FX_F32_TO_FX32(1.0f)) { this->vfunc_58(ActorUnkZLSLState_4); return; } @@ -1046,7 +1288,7 @@ bool ActorUnkZLSL::vfunc_88() { if (this->func_ov031_020ee724()) { return true; } - if (!this->mUnk_2874 && this->mUnk_28A4.z == FX_F32_TO_FX32(1.0f)) { + if (!this->mUnk_2874 && this->mUnk_28A4.vec.z == FX_F32_TO_FX32(1.0f)) { return true; } if (this->mState != ActorUnkZLSLState_10) { @@ -1062,10 +1304,11 @@ bool ActorUnkZLSL::vfunc_8C() { bool ActorUnkZLSL::func_ov031_020ec8c4() { VecFx32 vec; UnkAngleStruct angleStruct; + if (!this->func_ov000_020a8ff4(&vec)) { - angleStruct.angle_u = this->mAngle.angle_u; + angleStruct.angle_s = this->mAngle.angle_s; } else { - angleStruct.angle_u = func_02016958(&this->mPos, &vec); + angleStruct.angle_s = func_02016958(&this->mPos, &vec); } if (this->mUnk_0B0 & 0x2) { @@ -1080,215 +1323,559 @@ bool ActorUnkZLSL::func_ov031_020ec8c4() { return func_01ff930c(&this->mAngle.angle_s, angleStruct.angle_u, 0x71C); } -// non-matching void ActorUnkZLSL::vfunc_98(u32 param1) { if (param1 < 0x12) { - bool flag = (this->mUnk_2900 & 0x40) != 0; - - this->mUnk_094.mUnk_0C->vfunc_1C(*(ActorUnkZLSL_AnimationTag *) (this->mUnk_0B8 + 0x18 * param1), 0x1000, 0x19A, flag); + if (this->mUnk_2900 & 0x40) { + this->mUnk_094.mUnk_0C->vfunc_1C(this->mUnk_0B8[param1], 0x1000, 0x19A, true); + } else { + this->mUnk_094.mUnk_0C->vfunc_1C(this->mUnk_0B8[param1], 0x1000, 0x19A, false); + } switch (param1) { case 0x0: - case 0x7: - case 0x12: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a38, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[2], 0x1000, 0x00); break; case 0x1: case 0x2: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[0], 0x1000, 0x00); break; case 0x5: case 0x9: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a20, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[1], 0x1000, 0x00); + break; + case 0x7: + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[2], 0x1000, 0x00); break; case 0x8: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a50, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[3], 0x1000, 0x00); break; case 0xA: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a68, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[4], 0x1000, 0x00); break; case 0xB: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a80, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[5], 0x1000, 0x00); break; case 0xC: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a98, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[6], 0x1000, 0x00); break; case 0xD: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113ab0, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[7], 0x1000, 0x00); break; case 0xE: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113ac8, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[8], 0x1000, 0x00); break; case 0xF: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113ae0, 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[9], 0x1000, 0x00); break; case 0x11: - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113af8[0], 0x1000); + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[10], 0x1000, 0x00); break; default: break; } - } else if (param1 >= 0x32 && param1 < 0x40) { - this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113af8[param1 - 0x32], 0x1000); + } + + if (param1 >= 0x32 && param1 < 0x40) { + this->mUnk_2700.func_ov000_02099ddc(data_ov031_02113a08[param1 - 0x32], 0x1000, 0x00); } this->mUnk_2900 &= ~0x40; } -// non-matching void ActorUnkZLSL::func_ov031_020ecbe0() { - s16 sp[2]; + unk16 sp2; + unk16 sp0; - func_01fff17c(sp, data_027e0ce0, 0x0); + unk16 *psp0 = (unk16 *) &sp0; + func_01fff17c(psp0, data_027e0ce0, 0x0); - sp[1] = sp[0] + FX_F32_TO_FX32(2.6668f); - func_020169d4(&this->mPos, this->func_ov000_0209853c(0x0), ((fx16 *) sp + 1), data_ov031_021135f4); + sp2 = *psp0 + FX_F32_TO_FX32(2.6668f); + func_020169d4(&this->mPos, this->func_ov000_0209853c(0x00), &sp2, data_ov031_021135f4); this->mPos.y += FX_F32_TO_FX32(0.5f); - this->mPrevPos.x = this->mPos.x; - this->mPrevPos.y = this->mPos.y; - this->mPrevPos.z = this->mPos.z; + + VecFx32_Copy(&this->mPos, &this->mPrevPos); } -class ActorUnkZLSL_020ecc68 : public Actor { -public: - /* 000 (base) */ - /* 094 */ PAD(0x94, 0x530); - /* 530 */ unk32 mUnk_530; -}; +void ActorUnkZLSL::func_ov031_020ecc68(bool param1) { + Actor *temp_r7 = gpActorManager->func_01fff3b4(this->mUnk_28DC); + UnkStackStruct1 sp34; + VecFx32 sp28; + UnkStackStruct2 sp8; -// non-matching -void ActorUnkZLSL::func_ov031_020ecc68(unk32 param1) { - UnkStruct_ov031_020ecc68 stack; - Actor *actor = gpActorManager->func_01fff3b4(this->mUnk_28DC); - if (param1 != 0x0) { - VecFx32 *vec = this->func_ov000_0209853c(0x1); - if (func_01ff9258(actor->mPos.x - vec->x, actor->mPos.z - vec->z) > 0x3000) { + if (param1) { + VecFx32 *temp_r0 = this->func_ov000_0209853c(0x01); + + if (func_01ff9258(temp_r7->mPos.x - temp_r0->x, temp_r7->mPos.z - temp_r0->z) > 0x3000) { this->func_ov031_020ed0b0(); } else { - UnkAngleStruct angleStruct = this->mAngle; - angleStruct.angle_u = 0x2000; - this->func_ov031_020ecea8(angleStruct, 0x6000, 0x4800, 0x0); + UnkAngleStruct sp6 = 0x2000; + this->func_ov031_020ecea8(sp6, 0x6000, 0x4800, 0x01); } } else { - UnkAngleStruct angleStruct = this->mAngle; - angleStruct.angle_u = 0x2000; - this->func_ov031_020ecea8(angleStruct, 0x6000, 0x4800, 0x0); + UnkAngleStruct sp4 = 0x2000; + this->func_ov031_020ecea8(sp4, 0x6000, 0x4800, 0x00); } - func_ov000_02072fd0(&stack.sp_34); - stack.sp_34.mUnk_08 = -0x1; - stack.sp_34.mUnk_00 = 0x80; - stack.sp_34.mUnk_3B = 0x4; - stack.sp_34.mUnk_38 |= 0x80; - stack.sp_34.mUnk_3A = 0x2; - VecFx32_Copy(&this->mUnk_28F4, &stack.sp_34.mUnk_0C); + func_ov000_02072fd0(&sp34); + sp34.mUnk_08 = -0x1; + sp34.mUnk_38 |= 0x80; + sp34.mUnk_00 = 0x80; + sp34.mUnk_3A = 0x2; + sp34.mUnk_3B = 0x4; + VecFx32_Copy(&this->mUnk_28F4.vec, &sp34.mUnk_0C); + sp34.mUnk_18.s = this->func_ov031_020ed47c(0x93F); - stack.func_ov031_020ed47c(this, 0x93F); + this->mUnk_28C8 = data_027e09b8->func_ov000_02073388(&sp34, 0x0); - stack.sp_34.mUnk_18 = stack.sp_08; - stack.sp_34.mUnk_1A = stack.sp_0A; - stack.sp_34.mUnk_1C = stack.sp_0C; - stack.sp_34.mUnk_1E = stack.sp_0E; - stack.sp_34.mUnk_20 = stack.sp_10; - stack.sp_34.mUnk_24 = stack.sp_14; - stack.sp_34.mUnk_30 = stack.sp_20; - stack.sp_34.mUnk_32 = stack.sp_22; - stack.sp_34.mUnk_34 = stack.sp_24; - stack.sp_34.mUnk_36 = stack.sp_26; + unk32 temp_r6 = func_01ffb9cc(&this->mUnk_28F4.vec, &this->mUnk_28E8.vec); + func_01ffb714(&this->mUnk_28E8.vec, &this->mUnk_28F4.vec, &sp28); - this->mUnk_28C8 = data_027e09b8->func_ov000_02073388(&stack.sp_34, 0x0); + VecFx32_TryNormalize(&sp28); - unk32 val = func_01ffb9cc(&this->mUnk_28F4, &this->mUnk_28E8); - func_01ffb714(&this->mUnk_28E8, &this->mUnk_28F4, &stack.sp_28); + func_01ff93c0(&sp28, temp_r6 - 0x1000); - VecFx32_TryNormalize(&stack.sp_28); + VecFx32_Copy(&this->mUnk_28F4.vec, &this->mUnk_28E8.vec); + VecFx32_Add(&this->mUnk_28E8.vec, &sp28, &this->mUnk_28E8.vec); - func_01ff93c0(&stack.sp_28, val - 0x1000); - - VecFx32_Copy(&this->mUnk_28F4, &this->mUnk_28E8); - VecFx32_Add(&this->mUnk_28E8, &stack.sp_28, &this->mUnk_28E8); - - actor = gpActorManager->func_01fff3b4(this->mUnk_28DC); - if (actor != NULL) { - ((ActorUnkZLSL_020ecc68 *) actor)->mUnk_530 = this->mUnk_28C8; + ActorPhantomBase *pPhantom = (ActorPhantomBase *) gpActorManager->func_01fff3b4(this->mUnk_28DC); + if (pPhantom != NULL) { + pPhantom->mUnk_530 = this->mUnk_28C8; } } -// non-matching -void ActorUnkZLSL::func_ov031_020ecea8(UnkAngleStruct param1, unk32 param2, unk32 param3, unk32 param4) {} +void ActorUnkZLSL::func_ov031_020ecea8(UnkAngleStruct param1, unk32 param2, unk32 param3, unk32 param4) { + VecFx32 sp58; + VecFx32 sp4C; + VecFx32 sp40; + VecFx32 sp34; + VecFx32 sp28; + VecFx32 sp1C; + struct { + VecFx32 unk_00; + s16 unk_0C; + u8 unk_0E; + unk8 unk_0F; + s32 unk_10; + s32 unk_14; + } sp4; + unk16 sp2; + unk16 sp0; + s16 temp_r5; + VecFx32 *temp_r0_2; + VecFx32 *temp_r0_3; -// non-matching -void ActorUnkZLSL::func_ov031_020ed0b0() {} + sp58 = *this->func_ov000_0209853c(param4); + this->func_ov031_020edd14(&sp4C); + temp_r5 = func_02016958(&sp58, &sp4C); + + if (sp4C.z > this->func_ov000_0209853c(0)->z) { + VecFx32_Copy(&sp4C, &sp40); + } else { + VecFx32_Copy(this->func_ov000_0209853c(0), &sp40); + } + + if (sp4C.z > this->mPos.z) { + func_01ffb714(&sp4C, &sp58, &sp1C); + } else { + func_01ffb714(&sp58, &sp4C, &sp1C); + } + + s16 angle = func_01ffbbe0(sp1C.x, sp1C.z); + sp2 = param1.angle_s + angle; + func_020169d4(&sp34, &sp40, &sp2, (char *) ¶m2); + + angle = func_01ffbbe0(sp1C.x, sp1C.z); + sp0 = angle - param1.angle_s; + func_020169d4(&sp28, &sp40, &sp0, (char *) ¶m2); + + if (sp34.z < sp28.z) { + VecFx32_Copy(&sp28, &sp34); + } + + VecFx32_Copy(&sp34, &this->mUnk_28E8.vec); + this->mUnk_28E8.vec.y += param3; + + VecFx32_Copy(&sp58, &this->mUnk_28F4.vec); + this->mUnk_28F4.vec.y += FX_F32_TO_FX32(0.5f); + + sp4.unk_0E = 0xFF; + sp4.unk_0F = 0; + sp4.unk_10 = 0; + sp4.unk_14 = 0; + + temp_r0_3 = this->func_ov000_0209853c(0); + sp4.unk_00.x = temp_r0_3->x; + sp4.unk_00.y = temp_r0_3->y; + sp4.unk_00.z = temp_r0_3->z; + sp4.unk_0C = temp_r5; + data_027e0ce0->func_ov000_0208bbc4(0, &sp4); +} + +void ActorUnkZLSL::func_ov031_020ed0b0() { + VecFx32 sp24; + VecFx32 sp18; + VecFx32 spC; + + sp24 = *this->func_ov000_0209853c(1); + sp24.y += FX_F32_TO_FX32(0.5f); + + VecFx32_Copy(&sp24, &sp18); + sp18.x += FX_MUL(SIN(0x6AAA), 0x1800); + sp18.z += FX_MUL(COS(0x6AAA), 0x1800); + + if (func_02016c68(&sp24, &sp18, this->mRef, 4, 0)) { + VecFx32_Copy(&sp24, &sp18); + sp18.x += FX_MUL(SIN(0x2AAA), 0x1800); + sp18.z += FX_MUL(COS(0x2AAA), 0x1800); + + if (func_02016c68(&sp24, &sp18, this->mRef, 4, 0)) { + VecFx32_Copy(&sp24, &sp18); + sp18.x += FX_MUL(SIN(0xAAAA), 0x1800); + sp18.z += FX_MUL(COS(0xAAAA), 0x1800); + + if (func_02016c68(&sp24, &sp18, this->mRef, 4, 0)) { + + VecFx32_Copy(&sp24, &sp18); + sp18.x += FX_MUL(SIN(0xEAAA), 0x1800); + sp18.z += FX_MUL(COS(0xEAAA), 0x1800); + } + } + } + + func_01ffb714(&sp18, &sp24, &this->mUnk_28BC.vec); + func_01ff9770(&this->mUnk_28BC.vec, 0xE66); + VecFx32_Add(&this->mUnk_28BC.vec, &sp24, &this->mUnk_28BC.vec); + this->mUnk_28BC.vec.y += FX_F32_TO_FX32(1.0f); + + this->func_ov031_020edd14(&spC); + func_020169d4(&this->mUnk_28E8.vec, &sp24, (unk16 *) &data_ov031_02110ac0, (void *) &data_ov031_02110ac4); + this->mUnk_28E8.vec.y += 0x4800; + + VecFx32_Copy(&sp24, &this->mUnk_28F4.vec); + this->mUnk_28F4.vec.y += FX_F32_TO_FX32(0.5f); +} void ActorUnkZLSL::func_ov031_020ed3c0() { VecFx32 sp14; VecFx32 sp08; UnkAngleStruct angleStruct; - sp14 = this->mUnk_28B0; + sp14 = this->mUnk_28B0.vec; angleStruct.angle_u = 0xE39; - this->func_ov031_020ecea8(angleStruct, 0x7000, 0x4800, 0x1); + this->func_ov031_020ecea8(angleStruct, 0x7000, 0x4800, 0x01); - VecFx32_Copy(&sp14, &this->mUnk_28B0); + VecFx32_Copy(&sp14, &this->mUnk_28B0.vec); this->func_ov031_020edd14(&sp08); sp08.y += 0x800; - VecFx32_Copy(&sp08, &this->mUnk_28F4); + VecFx32_Copy(&sp08, &this->mUnk_28F4.vec); this->func_ov031_020ed4e4(0x0, 0x93F); } -// non-matching -void UnkStruct_ov031_020ecc68::func_ov031_020ed47c(ActorUnkZLSL *param1, unk32 param2) {} +UnkStackStruct2::Inner ActorUnkZLSL::func_ov031_020ed47c(unk32 param2) { + UnkStackStruct2 sp4; + sp4.s.mUnk_02 = param2; + sp4.s.mUnk_00 = 0x800; + VecFx32_Reset(&sp4.s.mUnk_0C); + func_020158e8(&sp4.s.mUnk_08, &sp4.s.mUnk_04, &sp4.s.mUnk_06, &this->mUnk_28F4.vec, &this->mUnk_28E8.vec); + return sp4.s; +} void ActorUnkZLSL::func_ov031_020ed4e4(unk32 param1, unk32 param2) { if (this->mUnk_28C8 < 0x0) { return; } + if (data_027e09b8->func_ov000_020732ec(this->mUnk_28C8) == 0x0) { return; } - data_027e09bc->mUnk_04[2]->func_ov000_02078834(&this->mUnk_28F4, &this->mUnk_28E8, param2, param1); + + data_027e09bc->mUnk_04[2]->func_ov000_02078834(&this->mUnk_28F4.vec, &this->mUnk_28E8.vec, param2, param1); } -// non-matching -void ActorUnkZLSL::func_ov031_020ed55c() {} +bool ActorUnkZLSL::func_ov031_020ed55c(unk32 param1) { + unk16 spA; + unk16 sp8; + unk16 sp6; + unk16 sp4; -// non-matching -bool ActorUnkZLSL::func_ov031_020ed6cc(unk32 param1) {} + if (data_027e09b8->func_01ffd420()) { + return false; + } -// non-matching -bool ActorUnkZLSL::func_ov031_020ed8ac(unk32 param1) {} + if (this->mState == ActorUnkZLSLState_8) { + this->mUnk_2904 = param1; + this->vfunc_58(ActorUnkZLSLState_13); + + unk16 *psp8 = (unk16 *) &sp8; + func_01fff17c(psp8, data_027e0ce0, 0); + spA = *psp8 + 0xE39; + + func_020169d4(&this->mUnk_28B0.vec, this->func_ov000_0209853c(0), &spA, data_ov031_021135f0); + + if (func_02016c68(&this->mPos, &this->mUnk_28B0.vec, this->mRef, 4, 0)) { + unk16 *psp4 = (unk16 *) &sp4; + func_01fff17c(psp4, data_027e0ce0, 0); + sp6 = *psp4 + 0xFFFF8E39; + + func_020169d4(&this->mUnk_28B0.vec, this->func_ov000_0209853c(0), &sp6, data_ov031_021135f8); + } + + return true; + } + + if (this->mState == ActorUnkZLSLState_11 && this->mUnk_2874 == 1) { + this->mUnk_2904 = param1; + this->vfunc_58(ActorUnkZLSLState_13); + return true; + } + + return false; +} + +bool ActorUnkZLSL::func_ov031_020ed6cc(unk32 param1) { + unk16 sp2; + unk16 sp0; + unk16 *psp2; + unk16 *psp0; + s32 temp_r4; + + this->func_ov031_020eab40(param1); + + switch (this->mUnk_2870) { + case 0: + psp2 = (unk16 *) &sp2; + func_ov000_020986b4(psp2, this, 0); + this->mAngle = *psp2; + + temp_r4 = func_01ff916c(&this->mUnk_28A4.vec.x, 0x1000, 0x345); + func_01ff916c(&this->mUnk_28A4.vec.z, 0x1000, 0x345); + func_01ff916c(&this->mUnk_28A4.vec.y, 0x1000, 0x345); + + if (this->mTimer.HasExpired() && temp_r4 != 0) { + this->mUnk_2870++; + this->mTimer.Set(0, 50); + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.2f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.2f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.2f); + this->func_ov031_020ec6d8(false); + this->mUnk_2864.Set(0, 31); + this->vfunc_98(0x0F); + } + break; + case 1: + psp0 = (unk16 *) &sp0; + func_ov000_020986b4(psp0, this, 0); + this->mAngle = *psp0; + + func_01ff916c(&this->mUnk_28A4.vec.x, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.z, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.y, 0x1000, 0x19A); + + if (this->mUnk_094.mUnk_0C->vfunc_10()->mUnk_04.func_01ff8fa8() != 0) { + this->vfunc_98(0x00); + return true; + } + default: + break; + } + + return false; +} + +bool ActorUnkZLSL::func_ov031_020ed8ac(unk32 param1) { + VecFx32 sp28; + VecFx32 sp1C; + VecFx32 sp10; + unk16 spE; + unk16 spC; + unk16 *pspC; + unk16 spA; + unk16 sp8; + unk16 sp6; + unk16 sp4; + + this->mUnk_28E0 = 0; + this->mUnk_0D8 = 0; + + func_01fff17c(&spE, data_027e0ce0, 0); + sp28 = this->mPos; + sp10 = *this->func_ov000_0209853c(0); + sp1C.x = sp10.x; + sp1C.y = sp10.y + param1; + sp1C.z = sp10.z; + + pspC = (unk16 *) &spC; + func_ov000_020986b4(pspC, this, 0); + this->mAngle = *pspC; + + if (VecFx32_IsCleared(&this->mUnk_28BC.vec)) { + func_01fff17c(&sp8, data_027e0ce0, 0); + spA = sp8 + this->mUnk_28E4; + func_020169d4(&sp28, &sp1C, &spA, (void *) &data_ov031_02110acc); + } else { + sp28.x = this->mUnk_28BC.vec.x; + sp28.y = this->mUnk_28BC.vec.y; + sp28.z = this->mUnk_28BC.vec.z; + } + + switch (this->mUnk_2870) { + case 0: + if (this->mTimer.HasExpired()) { + this->mUnk_2870++; + this->mUnk_286A = spE - 0x8000; + this->mUnk_2888 = 0x4CD; + this->mTimer.Set(0, 30); + this->mUnk_28B0.vec.x = this->mPos.x; + this->mUnk_28B0.vec.y = this->mPos.y; + this->mUnk_28B0.vec.z = this->mPos.z; + } + + break; + case 1: + this->mUnk_286A += 0x1000; + func_01ff916c(&this->mUnk_28A4.vec.x, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.z, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.y, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_2888, 0, 0x52); + sp6 = this->mUnk_286A; + func_020169d4(&this->mPos, &this->mUnk_28B0.vec, &sp6, &this->mUnk_2888); + func_01ff9984(&this->mUnk_28B0.vec, &sp28, 0x334, 0, 0x7FFFFFFF); + + if (func_01ffb9cc(&sp28, &this->mPos) < 0x800) { + this->mUnk_2870++; + this->mUnk_28A4.vec.x = FX_F32_TO_FX32(0.2f); + this->mUnk_28A4.vec.y = FX_F32_TO_FX32(0.2f); + this->mUnk_28A4.vec.z = FX_F32_TO_FX32(0.2f); + this->func_ov031_020ec6d8(false); + this->mUnk_2864.Set(0, 31); + this->vfunc_98(0x0F); + } + + break; + case 2: + func_01ff916c(&this->mUnk_28A4.vec.x, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.z, 0x1000, 0x19A); + func_01ff916c(&this->mUnk_28A4.vec.y, 0x1000, 0x19A); + this->mUnk_286A += 0x1000; + func_01ff916c(&this->mUnk_2888, 0, 0x52); + sp4 = this->mUnk_286A; + func_020169d4(&this->mPos, &this->mUnk_28B0.vec, &sp4, &this->mUnk_2888); + func_01ff9984(&this->mUnk_28B0.vec, &sp28, 0x334, 0, 0x7FFFFFFF); + + if (this->mUnk_094.mUnk_0C->vfunc_10()->mUnk_04.func_01ff8fa8() != 0) { + this->vfunc_98(0x00); + return true; + } + + break; + default: + break; + } + + return false; +} -// non-matching void ActorUnkZLSL::func_ov031_020edc80() { unk32 var_r6 = 0; - Actor *actor = NULL; - func_01ffe6c4(&actor, this->mRef, &this->mPos, &this->mPrevPos, (s16) this->mUnk_44, &this->mPos, NULL); - if (this->mUnk_2900 & 1) { - var_r6 = data_027e09c0->func_ov000_0207dc88(&actor, this->mUnk_38); + + UnkStruct_ov031_020e5d18_00 spC; + spC.mUnk_00 = NULL; + func_01ffe6c4(&spC.mUnk_00, this->mRef, &this->mPos, &this->mPrevPos, (s16) this->mUnk_44, &this->mPos, NULL); + + if (this->mUnk_2900 & 0x01) { + var_r6 = data_027e09c0->func_ov000_0207dc88(&spC.mUnk_00, this->mUnk_38); } - unk32 temp_r6 = var_r6 | actor->func_ov000_0207df88(this->mUnk_30, 0x10); - this->mUnk_46 = (s16) (temp_r6 | actor->func_ov000_0207e294(this->mUnk_30)); + + var_r6 |= ((Actor *) &spC)->func_ov000_0207df88(this->mUnk_30, 0x10); + var_r6 |= ((Actor *) &spC)->func_ov000_0207e294(this->mUnk_30); + this->mUnk_46 = var_r6; } void ActorUnkZLSL::func_ov031_020edd14(VecFx32 *param1) { VecFx32_Copy(&gpActorManager->func_01fff3b4(this->mUnk_28DC)->mPos, param1); } -// non-matching -void ActorUnkZLSL::func_ov031_020edd54() {} +void ActorUnkZLSL::func_ov031_020edd54(RefStruct ref) { + if (data_027e0ce0->func_01fff1a4() && data_027e0d8c->func_ov093_02166118() == 0) { + return; + } -// non-matching -void ActorUnkZLSL::func_ov031_020ede30() {} + ActorPhantomBase *pPhantom = (ActorPhantomBase *) gpActorManager->func_01fff3b4(ref); -// non-matching -void ActorUnkZLSL::func_ov031_020edf98() {} + bool var_r2 = false; + if (!(pPhantom->mState != 0x0E || pPhantom->mUnk_316 != 0x01)) { + var_r2 = true; + } + + if (var_r2) { + this->mUnk_28DC = ref; + + if (data_027e0ce0->func_01fff1a4()) { + this->vfunc_58(ActorUnkZLSLState_16); + } else { + this->vfunc_58(ActorUnkZLSLState_9); + } + } +} + +void ActorUnkZLSL::func_ov031_020ede30(RefStruct ref) { + unk32 var_r6 = 0; + u8 var_r7 = 0; + + Actor *temp_r0 = gpActorManager->func_01fff3b4(ref); + + if (temp_r0 != NULL) { + VecFx32 *pPos = &temp_r0->mPos; + + if (func_01ff9258((*(VecFx32 **) &pPos)->x - this->mPos.x, pPos->z - this->mPos.z) > 0x4800) { + this->func_ov031_020edf98(ref); + return; + } + } + + if (data_0204a110.func_01ff9b50() == 0x80) { + for (u8 var_r1 = 0; var_r1 < ARRAY_LEN(this->mUnk_28CC); var_r1++) { + this->mUnk_28CC[var_r1].ref.Reset(); + } + } else { + for (u8 var_r8 = 0; var_r8 < ARRAY_LEN(this->mUnk_28CC); var_r8++) { + if (this->mUnk_28CC[var_r8].ref.Get32() == ref.Get32()) { + return; + } + + if (this->mUnk_28CC[var_r8].ref.acRef.type_index == 0) { + this->mUnk_28CC[var_r8].ref.data = ref.data; + return; + } + + VecFx32 *pPos = &gpActorManager->func_01fff3b4(this->mUnk_28CC[var_r8].ref)->mPos; + unk32 temp_r0_5 = func_01ff9258(pPos->x - this->mPos.x, pPos->z - this->mPos.z); + + if (temp_r0_5 > var_r6) { + var_r6 = temp_r0_5; + var_r7 = var_r8; + } + } + + this->mUnk_28CC[var_r7].ref = ref; + } +} + +void ActorUnkZLSL::func_ov031_020edf98(RefStruct ref) { + for (u8 var_ip = 0; var_ip < ARRAY_LEN(this->mUnk_28CC); var_ip++) { + if (this->mUnk_28CC[var_ip].ref.Get32() == ref.Get32()) { + this->mUnk_28CC[var_ip].ref.Reset(); + return; + } + } +} -// non-matching void ActorUnkZLSL::GetOffsetPos(VecFx32 *pPos) const { - VecFx32_Init(this->mUnk_2878.x, this->mUnk_2878.y + this->mYOffset, this->mUnk_2878.z, pPos); + VecFx32_Copy(&this->mUnk_2878.vec, pPos); + pPos->y += this->mYOffset; } void ActorUnkZLSL::vfunc_A4() { @@ -1341,39 +1928,134 @@ void ActorUnkZLSL::vfunc_A4() { func_01ff9318(&this->mUnk_0DA, this->mUnk_0CE, this->mUnk_0D0); } -// non-matching -void ActorUnkZLSL::func_ov031_020ee1f4() {} +void ActorUnkZLSL::func_ov031_020ee1f4(Actor *param1, G3d_RenderState *param2) { + ActorUnkZLSL *thisx = (ActorUnkZLSL *) param1; + G3d_RenderObject *pRenderObject = param2->renderObj; + s32 var_r2 = param2->flag & 0x10 ? param2->currentBoneMtxId : -1; -// non-matching -unk16 ActorUnkZLSL::func_ov031_020ee2c8() {} + if (var_r2 == 0x0A && pRenderObject->mUnk_25 == 2) { + MtxFx33 sp24; + MtxFx33 sp0; + G3d_RenderState_B4 *temp_r6 = param2->mUnk_B4; + + temp_r6->mUnk_00 &= ~0x02; + MtxFx33_InitZRotation(&sp24, SIN((u16) thisx->mUnk_28E0), COS((u16) thisx->mUnk_28E0)); + MtxFx33_InitYRotation(&sp0, SIN((u16) thisx->mUnk_28E2), COS((u16) thisx->mUnk_28E2)); + func_01ffa60c(&sp24, &sp0, &sp24); + func_01ffa60c(&sp24, &temp_r6->mUnk_28, &temp_r6->mUnk_28); + } +} + +unk16 ActorUnkZLSL::func_ov031_020ee2c8() { + VecFx32 sp20; + VecFx32 sp14; + VecFx32 sp8; + unk16 sp6; + unk16 sp4; + unk16 sp2; + unk16 sp0; + unk16 var_r6; + + func_01fff17c(&sp4, data_027e0ce0, 0); + sp6 = sp4 + 0x2AAB; + func_020169d4(&sp14, this->func_ov000_0209853c(0), &sp6, (void *) &data_ov031_02110acc); + + func_01fff17c(&sp0, data_027e0ce0, 0); + var_r6 = 0xD555; + sp2 = sp0 + var_r6; + func_020169d4(&sp20, this->func_ov000_0209853c(0), &sp2, (void *) &data_ov031_02110acc); + + sp8.x = data_027e0208.mUnk_240.x; + sp8.y = data_027e0208.mUnk_240.y; + sp8.z = data_027e0208.mUnk_240.z; + + func_01ffb714(&sp20, &sp8, &sp20); + func_01ffb714(&sp14, &sp8, &sp14); + unk32 temp_r4 = func_01ff9258(sp14.x, sp14.z); + + if (func_01ff9258(sp20.x, sp20.z) <= temp_r4) { + var_r6 = 0x2AAB; + } + + return var_r6; +} void ActorUnkZLSL::vfunc_B4() { if (this->mState == ActorUnkZLSLState_8) { this->vfunc_58(ActorUnkZLSLState_10); - return; + } else { + this->vfunc_58(ActorUnkZLSLState_0); } - this->vfunc_58(ActorUnkZLSLState_0); } -// non-matching -void ActorUnkZLSL::func_ov031_020ee41c() {} +void ActorUnkZLSL::func_ov031_020ee41c() { + this->mUnk_2864.Update(); -// non-matching -void ActorUnkZLSL::func_ov031_020ee4c4(UnkAngleStruct angle) {} + int time = this->mUnk_2864.GetRemainingTime(); -// non-matching -void ActorUnkZLSL::func_ov031_020ee654() {} - -// non-matching -unk32 ActorUnkZLSL::vfunc_80(unk32 param1, unk32 param2) { - u32 value = (u16) ((u8) (param1 + 1) | param2 << 0x8); - if (value == 0x201) { - ActorUnkRPMT *actor = (ActorUnkRPMT *) func_02016fbc(ActorId_RPMT, &this->mPos, 0x0); - if (actor != NULL) { - return actor->mUnk_A4; + if (time > 1) { + for (int var_r8 = 0; var_r8 < ARRAY_LEN(this->mUnk_2834); var_r8++) { + data_027e0cec->func_ov000_020a0140(&this->mUnk_2834[var_r8], &this->mPos); + } + } else if (time == 1) { + for (int var_r7 = 0; var_r7 < ARRAY_LEN(this->mUnk_2834); var_r7++) { + data_027e0cec->func_ov000_020a0110(&this->mUnk_2834[var_r7]); } } - return false; +} + +void ActorUnkZLSL::func_ov031_020ee4c4(UnkAngleStruct angle) { + s16 diff = angle.angle_s - this->mAngle.angle_s; + func_01ff930c(&this->mUnk_28E0, (s16) -diff * 4, 0x300); + + VecFx32 sp0; + sp0.x = FX_MUL(SIN((u16) this->mAngle.angle_s), 0x1000); + sp0.z = FX_MUL(COS((u16) this->mAngle.angle_s), 0x1000); + sp0.y = 0; + + if (!VecFx32_IsCleared(&this->mVel) && VecFx32_Dot(&sp0, &this->mVel) < 0) { + fx32 temp_ret = VecFx32_Length(&this->mVel); + s16 value = FX_MUL(FX_MUL(temp_ret, 0xA000), 0x2000); + func_01ff930c(&this->mUnk_28E2, -value, 0x1000); + } else { + func_01ff930c(&this->mUnk_28E2, 0, 0x200); + } +} + +void ActorUnkZLSL::func_ov031_020ee654() { + switch (this->mUnk_2874 ? 1 : 0) { + case 0: + this->mUnk_094.mUnk_0C->vfunc_34(); + this->mUnk_2700.vfunc_34(); + break; + case 1: + this->mUnk_27CC.vfunc_34(); + data_027e0cec->func_ov000_020a0140(&this->mUnk_2828.mUnk_00, &this->mPos); + break; + default: + break; + } +} + +unk32 ActorUnkZLSL::vfunc_80(unk32 param1, unk32 param2) { + u16 value = ((param1 + 1) & 0xFF) | (param2 << 8); + + switch (value) { + case 0x201: { + + ActorUnkRPMT *actor = (ActorUnkRPMT *) func_02016fbc(ActorId_RPMT, &this->mPos, 0x0); + + if (actor != NULL) { + return actor->mUnk_A4; + } + + break; + } + default: + break; + } + + return 0; } bool ActorUnkZLSL::func_ov031_020ee724() { @@ -1383,23 +2065,23 @@ bool ActorUnkZLSL::func_ov031_020ee724() { } void ActorUnkZLSL_27CC::vfunc_3C() { - func_ov000_02057c98(this->mUnk_08, this->vfunc_10()); + this->mUnk_08->func_ov000_02057c98(this->vfunc_10()); } void ActorUnkZLSL_27CC::vfunc_38(unk32 param1, unk32 param2) { - func_ov000_020578a4(this->mUnk_04); + this->mUnk_04->func_ov000_020578a4(param1, param2); } s8 ActorUnkZLSL_27CC::vfunc_30() { return this->mUnk_18; } -void UnkStruct_ov031_0211372c::vfunc_3C() { - func_ov000_02057c98(this->mUnk_08, this->mUnk_04); - func_ov000_02057c98(this->mUnk_08, this->mUnk_1C); +void ActorUnkZSRS_120::vfunc_3C() { + this->mUnk_08->func_ov000_02057c98(this->mUnk_04); + this->mUnk_08->func_ov000_02057c98(this->mUnk_1C); } -void UnkStruct_ov031_0211372c::vfunc_38(unk32 param1, unk32 param2) { +void ActorUnkZSRS_120::vfunc_38(unk32 param1, unk32 param2) { this->mUnk_04->func_ov000_020578a4(param1, param2); this->mUnk_1C->func_ov000_020578a4(param1, param2); } diff --git a/src/031_Land/MapObject/MapObjectDoorBase.cpp b/src/031_Land/MapObject/MapObjectDoorBase.cpp index 81c35c40..07eddbff 100644 --- a/src/031_Land/MapObject/MapObjectDoorBase.cpp +++ b/src/031_Land/MapObject/MapObjectDoorBase.cpp @@ -349,26 +349,9 @@ void MapObjectDoorBase::vfunc_5C(MapObjState state, unk32 param2) { auStack_5c.mUnk_3B = 0; } - UnkStackStruct_ov000_02077590 *puVar5 = func_ov000_02077590(3); - auStack_5c.mUnk_18 = puVar5->mUnk_00; - auStack_5c.mUnk_1A = puVar5->mUnk_02; - auStack_5c.mUnk_1C = puVar5->mUnk_04; - auStack_5c.mUnk_1E = puVar5->mUnk_06; - auStack_5c.mUnk_20 = puVar5->mUnk_08; - auStack_5c.mUnk_24 = puVar5->mUnk_0C; - - u16 unk_18 = puVar5->mUnk_18; - u16 unk_1A = puVar5->mUnk_1A; - auStack_5c.mUnk_32 = unk_1A; - auStack_5c.mUnk_30 = unk_18; - - u16 unk_1C = puVar5->mUnk_1C; - u16 unk_1E = puVar5->mUnk_1E; - auStack_5c.mUnk_36 = unk_1E; - auStack_5c.mUnk_34 = unk_1C; - - auStack_5c.mUnk_1E = this->mAngle.angle_s; - this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_5c, 0); + auStack_5c.mUnk_18.Copy(3); + auStack_5c.mUnk_18.s.mUnk_06 = this->mAngle.angle_s; + this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_5c, 0); } if (param2 == 0) { @@ -432,27 +415,9 @@ void MapObjectDoorBase::vfunc_5C(MapObjState state, unk32 param2) { } auStack_9c.mUnk_38 |= 0x200; - - UnkStackStruct_ov000_02077590 *puVar5 = func_ov000_02077590(2); - auStack_9c.mUnk_18 = puVar5->mUnk_00; - auStack_9c.mUnk_1A = puVar5->mUnk_02; - auStack_9c.mUnk_1C = puVar5->mUnk_04; - auStack_9c.mUnk_1E = puVar5->mUnk_06; - auStack_9c.mUnk_20 = puVar5->mUnk_08; - auStack_9c.mUnk_24 = puVar5->mUnk_0C; - - u16 unk_18 = puVar5->mUnk_18; - u16 unk_1A = puVar5->mUnk_1A; - auStack_9c.mUnk_32 = unk_1A; - auStack_9c.mUnk_30 = unk_18; - - u16 unk_1C = puVar5->mUnk_1C; - u16 unk_1E = puVar5->mUnk_1E; - auStack_9c.mUnk_36 = unk_1E; - auStack_9c.mUnk_34 = unk_1C; - - auStack_9c.mUnk_1E = this->mAngle.angle_s; - this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_9c, 0); + auStack_9c.mUnk_18.Copy(2); + auStack_9c.mUnk_18.s.mUnk_06 = this->mAngle.angle_s; + this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_9c, 0); this->mUnk_84 = 0x0D; } diff --git a/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp b/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp index e3fb006f..c8f2bbef 100644 --- a/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp +++ b/src/031_Land/MapObject/MapObjectDoorDangerSpawn.cpp @@ -144,8 +144,8 @@ void MapObjectDoorDangerSpawn::vfunc2_08(void) { // https://decomp.me/scratch/KLkdU void MapObjectDoorDangerSpawn::vfunc_08(void) { - UnkStackStruct_ov000_02077590 sp3C; - UnkStackStruct_ov000_02077590 sp1C; + UnkStackStruct2 sp3C; + UnkStackStruct2 sp1C; VecFx32 sp10; VecFx32 sp4; @@ -162,10 +162,8 @@ void MapObjectDoorDangerSpawn::vfunc_08(void) { this->mUnk_88 = 1; this->vfunc_74(); - UnkStackStruct_ov000_02077590 *temp_r0_3 = func_ov000_02077590(3); - - sp3C = *temp_r0_3; - ((unk16 *) sp3C.data)[3] = this->mAngle.angle_s; + sp3C = *func_ov000_02077590(3); + sp3C.s.mUnk_06 = this->mAngle.angle_s; UnkStruct_027e09bc_0C *temp_r5 = data_027e09bc->mUnk_04[2]; @@ -177,10 +175,7 @@ void MapObjectDoorDangerSpawn::vfunc_08(void) { data_027e0d8c->func_ov093_02166058(); } } else { - UnkStackStruct_ov000_02077590 *temp_r0_3 = func_ov000_02077590(0); - - sp1C = *temp_r0_3; - + sp1C = *func_ov000_02077590(0); UnkStruct_027e09bc_0C *temp_r7_2 = data_027e09bc->mUnk_04[2]; this->func_ov031_020fe5fc(&sp4, this); temp_r7_2->func_ov000_02078764(&sp4, &sp1C, 0); diff --git a/src/031_Land/MapObject/MapObjectUnkSKDI.cpp b/src/031_Land/MapObject/MapObjectUnkSKDI.cpp index bb3fc0f6..ada93158 100644 --- a/src/031_Land/MapObject/MapObjectUnkSKDI.cpp +++ b/src/031_Land/MapObject/MapObjectUnkSKDI.cpp @@ -1,6 +1,7 @@ #include "MapObject/MapObjectUnkSKDI.hpp" #include "Actor/ActorManager.hpp" +#include "CommonFuncs.hpp" #include "System/SysNew.hpp" #include "Unknown/UnkStruct_027e09a8.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" diff --git a/src/032_MapA1/Actor/ActorFleeingSpinut.cpp b/src/032_MapA1/Actor/ActorFleeingSpinut.cpp index 12d20a1e..c646edaa 100644 --- a/src/032_MapA1/Actor/ActorFleeingSpinut.cpp +++ b/src/032_MapA1/Actor/ActorFleeingSpinut.cpp @@ -64,9 +64,9 @@ ActorFleeingSpinut::ActorFleeingSpinut() : *(s16 *) &this->mUnk_44 |= 0x40; SET_FLAG(this->mFlags, ActorFlag_6); - this->mUnk_1E0.mUnk_00.mUnk_08 = 0x1; - this->mUnk_38 = &this->mUnk_1E0.mUnk_00; - this->mUnk_224 = true; + this->mUnk_1E0.mUnk_08 = 0x1; + this->mUnk_38 = (Actor_38 *) &this->mUnk_1E0; + this->mUnk_224 = true; this->mUnk_21C = 0x0; this->mUnk_220 = 0x0; diff --git a/src/032_MapA1/Actor/ActorKeese.cpp b/src/032_MapA1/Actor/ActorKeese.cpp index 5403e021..c4ccccfe 100644 --- a/src/032_MapA1/Actor/ActorKeese.cpp +++ b/src/032_MapA1/Actor/ActorKeese.cpp @@ -109,7 +109,7 @@ bool ActorKeese_2AC::vfunc_0C(RefStruct ref, UnkStruct_ov031_020e54d4 *param2, c bool ActorKeese::Init(unk32 param1) { this->mUnk_0B0.func_ov000_02057c38(0x6, 0x2); - this->mUnk_0B0.func_ov000_0209a7b8(this, &ActorKeese::func_ov032_0211faf0); + this->mUnk_0B0.func_ov000_0209a7b8(this, ActorKeese::func_ov032_0211faf0); this->func_ov032_0211e0c0(); this->func_ov032_0211e380(); @@ -658,7 +658,7 @@ bool ActorKeese::func_ov032_0211fa4c(unk32 param1) { } // non-matching -void ActorKeese::func_ov032_0211faf0(void *param1, unk32 param2) {} +void ActorKeese::func_ov032_0211faf0(Actor *param1, G3d_RenderState *param2) {} UnkStruct_ov032_0212251c::UnkStruct_ov032_0212251c() : UnkStruct_ov000_020b34c4(MapObjectId_SKDI) {} diff --git a/src/032_MapA1/Actor/ActorSpinut.cpp b/src/032_MapA1/Actor/ActorSpinut.cpp index fe6f55a4..2ab522d8 100644 --- a/src/032_MapA1/Actor/ActorSpinut.cpp +++ b/src/032_MapA1/Actor/ActorSpinut.cpp @@ -79,7 +79,7 @@ ActorSpinut::ActorSpinut() : VecFx32_Init(FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), FX_F32_TO_FX32(0.0f), &this->mUnk_288); - this->mUnk_38 = &this->mUnk_258.mUnk_00; + this->mUnk_38 = (Actor_38 *) &this->mUnk_258; this->mUnk_38->mUnk_08 = 0x01; this->mUnk_296.value = 0; diff --git a/src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp b/src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp index 186017e0..a762bc66 100644 --- a/src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp +++ b/src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp @@ -153,19 +153,7 @@ void MapObjectUnkSTAT::func_ov063_0215f7ac(void) { stackStruct.mUnk_00 = 0x80; stackStruct.mUnk_3A = 7; stackStruct.mUnk_3B = 7; - - UnkStackStruct_ov000_02077590 *res1 = func_ov000_02077590(1); - - stackStruct.mUnk_18 = res1->mUnk_00; - stackStruct.mUnk_1A = res1->mUnk_02; - stackStruct.mUnk_1C = res1->mUnk_04; - stackStruct.mUnk_1E = res1->mUnk_06; - stackStruct.mUnk_20 = res1->mUnk_08; - stackStruct.mUnk_24 = res1->mUnk_0C; - stackStruct.mUnk_30 = res1->mUnk_18; - stackStruct.mUnk_32 = res1->mUnk_1A; - stackStruct.mUnk_34 = res1->mUnk_1C; - stackStruct.mUnk_36 = res1->mUnk_1E; + stackStruct.mUnk_18 = *func_ov000_02077590(1); stackStruct.mUnk_38 |= 0x80; VecFx32_Copy(&mPos, &stackStruct.mUnk_0C); diff --git a/src/ITCM/ITCM_ActorManager.cpp b/src/ITCM/ITCM_ActorManager.cpp index 6c670fa5..3620bb6e 100644 --- a/src/ITCM/ITCM_ActorManager.cpp +++ b/src/ITCM/ITCM_ActorManager.cpp @@ -5,12 +5,12 @@ Actor *ActorManager::func_01fff3b4(RefStruct ref) { int size = this->mActorTableEnd - this->mActorTable; Actor *pActor; - // Affectation directement dans la condition if (size != 0 && (pActor = this->mActorTable[ref.common.index]) != NULL) { if (pActor->IsAlive() && pActor->mRef == ref) { return pActor; } } } + return NULL; }