diff --git a/config/eur/arm9/overlays/ov057/symbols.txt b/config/eur/arm9/overlays/ov057/symbols.txt index 7205f818..1da23918 100644 --- a/config/eur/arm9/overlays/ov057/symbols.txt +++ b/config/eur/arm9/overlays/ov057/symbols.txt @@ -1,51 +1,51 @@ -func_ov057_02198d00 kind:function(arm,size=0xb8) addr:0x2198d00 -func_ov057_02198db8 kind:function(arm,size=0x8) addr:0x2198db8 -func_ov057_02198dc0 kind:function(arm,size=0x8) addr:0x2198dc0 -func_ov057_02198dc8 kind:function(arm,size=0x8) addr:0x2198dc8 -func_ov057_02198dd0 kind:function(arm,size=0x18) addr:0x2198dd0 -func_ov057_02198de8 kind:function(arm,size=0x98) addr:0x2198de8 -func_ov057_02198e80 kind:function(arm,size=0x140) addr:0x2198e80 -func_ov057_02198fc0 kind:function(arm,size=0x68) addr:0x2198fc0 -func_ov057_02199028 kind:function(arm,size=0x8c) addr:0x2199028 -func_ov057_021990b4 kind:function(arm,size=0x38) addr:0x21990b4 -func_ov057_021990ec kind:function(arm,size=0xc) addr:0x21990ec -func_ov057_021990f8 kind:function(arm,size=0xc) addr:0x21990f8 -func_ov057_02199104 kind:function(arm,size=0x128) addr:0x2199104 -func_ov057_0219922c kind:function(arm,size=0x88) addr:0x219922c -func_ov057_021992b4 kind:function(arm,size=0x40) addr:0x21992b4 -func_ov057_021992f4 kind:function(arm,size=0x68) addr:0x21992f4 -func_ov057_0219935c kind:function(arm,size=0x40) addr:0x219935c -func_ov057_0219939c kind:function(arm,size=0xb8) addr:0x219939c -func_ov057_02199454 kind:function(arm,size=0x6c) addr:0x2199454 -func_ov057_021994c0 kind:function(arm,size=0x1f0) addr:0x21994c0 -func_ov057_021996b0 kind:function(arm,size=0x94) addr:0x21996b0 -func_ov057_02199744 kind:function(arm,size=0x1ac) addr:0x2199744 -func_ov057_021998f0 kind:function(arm,size=0x1e8) addr:0x21998f0 -func_ov057_02199ad8 kind:function(arm,size=0x1a0) addr:0x2199ad8 -func_ov057_02199c78 kind:function(arm,size=0xdc) addr:0x2199c78 -func_ov057_02199d54 kind:function(arm,size=0xd0) addr:0x2199d54 -func_ov057_02199e24 kind:function(arm,size=0x10) addr:0x2199e24 -func_ov057_02199e34 kind:function(arm,size=0x1c) addr:0x2199e34 -func_ov057_02199e50 kind:function(arm,size=0x14) addr:0x2199e50 -func_ov057_02199e64 kind:function(arm,size=0x68) addr:0x2199e64 -func_ov057_02199ecc kind:function(arm,size=0x10) addr:0x2199ecc -func_ov057_02199edc kind:function(arm,size=0x32c) addr:0x2199edc -func_ov057_0219a208 kind:function(arm,size=0x124) addr:0x219a208 -_ZN9EquipRope9StopUsingEP13LinkStateItem kind:function(arm,size=0x38) addr:0x219a32c -func_ov057_0219a364 kind:function(arm,size=0x4c) addr:0x219a364 -func_ov057_0219a3b0 kind:function(arm,size=0x4c) addr:0x219a3b0 -func_ov057_0219a3fc kind:function(arm,size=0x64) addr:0x219a3fc -func_ov057_0219a460 kind:function(arm,size=0x108) addr:0x219a460 -func_ov057_0219a568 kind:function(arm,size=0x44) addr:0x219a568 -func_ov057_0219a5ac kind:function(arm,size=0x10c) addr:0x219a5ac -func_ov057_0219a6b8 kind:function(arm,size=0x198) addr:0x219a6b8 -func_ov057_0219a850 kind:function(arm,size=0x114) addr:0x219a850 -func_ov057_0219a964 kind:function(arm,size=0x1c) addr:0x219a964 -func_ov057_0219a980 kind:function(arm,size=0x14) addr:0x219a980 +_Z19func_ov057_02198d00P5Vec3pS0_i kind:function(arm,size=0xb8) addr:0x2198d00 local +_ZN22EquipRope_Unk_02198dd08vfunc_08Ev kind:function(arm,size=0x8) addr:0x2198db8 +_ZN22EquipRope_Unk_02198dd08vfunc_0cEv kind:function(arm,size=0x8) addr:0x2198dc0 +_ZN22EquipRope_Unk_02198dd08vfunc_14Ev kind:function(arm,size=0x8) addr:0x2198dc8 +_ZN22EquipRope_Unk_02198dd0C2Ev kind:function(arm,size=0x18) addr:0x2198dd0 +_ZN22EquipRope_Unk_02198dd08vfunc_10EPi kind:function(arm,size=0x98) addr:0x2198de8 +_ZN16EquipRope_Unk_1819func_ov057_02198e80Ev kind:function(arm,size=0x140) addr:0x2198e80 +_ZN16EquipRope_Unk_1819func_ov057_02198fc0Ej kind:function(arm,size=0x68) addr:0x2198fc0 +_ZN16EquipRope_Unk_1819func_ov057_02199028Ei kind:function(arm,size=0x8c) addr:0x2199028 +_ZNK9EquipRope8IsUsableEi kind:function(arm,size=0x38) addr:0x21990b4 +_ZN9EquipRope19func_ov057_021990ecEv kind:function(arm,size=0xc) addr:0x21990ec +_ZN9EquipRope19func_ov057_021990f8Ev kind:function(arm,size=0xc) addr:0x21990f8 +_ZN16EquipRope_Unk_1819func_ov057_02199104EPS_ kind:function(arm,size=0x128) addr:0x2199104 +_ZN9EquipRope19func_ov057_0219922cEj kind:function(arm,size=0x88) addr:0x219922c +_ZN9EquipRope19func_ov057_021992b4Ei kind:function(arm,size=0x40) addr:0x21992b4 +_ZN9EquipRope8vfunc_18Ev kind:function(arm,size=0x68) addr:0x21992f4 +_ZN9EquipRope8vfunc_1cEv kind:function(arm,size=0x40) addr:0x219935c +_ZN9EquipRope19func_ov057_0219939cEPii kind:function(arm,size=0xb8) addr:0x219939c +_ZN9EquipRope19func_ov057_02199454Ei kind:function(arm,size=0x6c) addr:0x2199454 +_ZN9EquipRope19func_ov057_021994c0EPi kind:function(arm,size=0x1f0) addr:0x21994c0 +_ZN9EquipRope19func_ov057_021996b0EP5Vec3p kind:function(arm,size=0x94) addr:0x21996b0 +_ZN9EquipRope8vfunc_30Ev kind:function(arm,size=0x1ac) addr:0x2199744 +_ZN9EquipRope8vfunc_38Ei kind:function(arm,size=0x1e8) addr:0x21998f0 +_ZN9EquipRope19func_ov057_02199ad8Ev kind:function(arm,size=0x1a0) addr:0x2199ad8 +_ZN9EquipRope19func_ov057_02199c78Ev kind:function(arm,size=0xdc) addr:0x2199c78 +_ZN9EquipRope19func_ov057_02199d54Ev kind:function(arm,size=0xd0) addr:0x2199d54 +_ZN9EquipRope19func_ov057_02199e24Ev kind:function(arm,size=0x10) addr:0x2199e24 +_ZN22EquipRope_Unk_02198dd0D1Ev kind:function(arm,size=0x1c) addr:0x2199e34 +_ZN22EquipRope_Unk_02198dd0D0Ev kind:function(arm,size=0x14) addr:0x2199e50 +_ZN22EquipRope_Unk_02198dd0D2Ev kind:function(arm,size=0x68) addr:0x2199e64 +_ZN13LinkStateItem19func_ov057_02199e64Ev kind:function(arm,size=0x10) addr:0x2199ecc +_ZN13LinkStateItem19func_ov057_02199edcEv kind:function(arm,size=0x32c) addr:0x2199edc +_ZN13LinkStateItem19func_ov057_0219a208Ev kind:function(arm,size=0x124) addr:0x219a208 +_ZN13LinkStateItem13StopUsingRopeEv kind:function(arm,size=0x38) addr:0x219a32c +_ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x219a364 +_ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a3b0 +_ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a3fc +_ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a460 +_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a568 +_ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a5ac +_ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a6b8 +_ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a850 +_ZN22ActorRope_Unk_0219a3b0D1Ev kind:function(arm,size=0x1c) addr:0x219a964 +_ZN22ActorRope_Unk_0219a3b0D0Ev kind:function(arm,size=0x14) addr:0x219a980 data_ov057_0219a994 kind:data(any) addr:0x219a994 -__sinit_ov057_0219a9a0 kind:function(arm,size=0x2c) addr:0x219a9a0 -__sinit_ov057_0219a9cc kind:function(arm,size=0x44) addr:0x219a9cc -data_ov057_0219aa28 kind:data(any) addr:0x219aa28 +__sinit_EquipRope.cpp kind:function(arm,size=0x2c) addr:0x219a9a0 local +__sinit_ActorRope.cpp kind:function(arm,size=0x44) addr:0x219a9cc local +_ZTV22EquipRope_Unk_02198dd0 kind:data(any) addr:0x219aa28 data_ov057_0219aa40 kind:data(any) addr:0x219aa40 data_ov057_0219aa50 kind:data(any) addr:0x219aa50 data_ov057_0219aa60 kind:data(any) addr:0x219aa60 @@ -58,9 +58,9 @@ data_ov057_0219aa90 kind:data(any) addr:0x219aa90 data_ov057_0219aa94 kind:data(any) addr:0x219aa94 data_ov057_0219aa98 kind:data(any) addr:0x219aa98 data_ov057_0219aa9c kind:data(any) addr:0x219aa9c -data_ov057_0219aac8 kind:data(any) addr:0x219aac8 -data_ov057_0219ab00 kind:bss addr:0x219ab00 -data_ov057_0219ab0c kind:bss addr:0x219ab0c +_ZTV22ActorRope_Unk_0219a3b0 kind:data(any) addr:0x219aac8 +@890 kind:bss addr:0x219ab00 +sUnk_02198dd0 kind:bss addr:0x219ab0c data_ov057_0219ab14 kind:bss addr:0x219ab14 -data_ov057_0219ab1c kind:bss addr:0x219ab1c -data_ov057_0219ab28 kind:bss addr:0x219ab28 +@380 kind:bss addr:0x219ab1c +gUnk_0219a3b0 kind:bss addr:0x219ab28 diff --git a/config/usa/arm9/overlays/ov057/symbols.txt b/config/usa/arm9/overlays/ov057/symbols.txt index 0588950b..190088e2 100644 --- a/config/usa/arm9/overlays/ov057/symbols.txt +++ b/config/usa/arm9/overlays/ov057/symbols.txt @@ -1,51 +1,51 @@ -func_ov057_02198d00 kind:function(arm,size=0xb8) addr:0x2198c60 -func_ov057_02198db8 kind:function(arm,size=0x8) addr:0x2198d18 -func_ov057_02198dc0 kind:function(arm,size=0x8) addr:0x2198d20 -func_ov057_02198dc8 kind:function(arm,size=0x8) addr:0x2198d28 -func_ov057_02198dd0 kind:function(arm,size=0x18) addr:0x2198d30 -func_ov057_02198de8 kind:function(arm,size=0x98) addr:0x2198d48 -func_ov057_02198e80 kind:function(arm,size=0x140) addr:0x2198de0 -func_ov057_02198fc0 kind:function(arm,size=0x68) addr:0x2198f20 -func_ov057_02199028 kind:function(arm,size=0x8c) addr:0x2198f88 -func_ov057_021990b4 kind:function(arm,size=0x38) addr:0x2199014 -func_ov057_021990ec kind:function(arm,size=0xc) addr:0x219904c -func_ov057_021990f8 kind:function(arm,size=0xc) addr:0x2199058 -func_ov057_02199104 kind:function(arm,size=0x128) addr:0x2199064 -func_ov057_0219922c kind:function(arm,size=0x88) addr:0x219918c -func_ov057_021992b4 kind:function(arm,size=0x40) addr:0x2199214 -func_ov057_021992f4 kind:function(arm,size=0x68) addr:0x2199254 -func_ov057_0219935c kind:function(arm,size=0x40) addr:0x21992bc -func_ov057_0219939c kind:function(arm,size=0xb8) addr:0x21992fc -func_ov057_02199454 kind:function(arm,size=0x6c) addr:0x21993b4 -func_ov057_021994c0 kind:function(arm,size=0x1f0) addr:0x2199420 -func_ov057_021996b0 kind:function(arm,size=0x94) addr:0x2199610 -func_ov057_02199744 kind:function(arm,size=0x1ac) addr:0x21996a4 -func_ov057_021998f0 kind:function(arm,size=0x1e8) addr:0x2199850 -func_ov057_02199ad8 kind:function(arm,size=0x1a0) addr:0x2199a38 -func_ov057_02199c78 kind:function(arm,size=0xdc) addr:0x2199bd8 -func_ov057_02199d54 kind:function(arm,size=0xd0) addr:0x2199cb4 -func_ov057_02199e24 kind:function(arm,size=0x10) addr:0x2199d84 -func_ov057_02199e34 kind:function(arm,size=0x1c) addr:0x2199d94 -func_ov057_02199e50 kind:function(arm,size=0x14) addr:0x2199db0 -func_ov057_02199e64 kind:function(arm,size=0x68) addr:0x2199dc4 -func_ov057_02199ecc kind:function(arm,size=0x10) addr:0x2199e2c -func_ov057_02199edc kind:function(arm,size=0x32c) addr:0x2199e3c -func_ov057_0219a208 kind:function(arm,size=0x124) addr:0x219a168 -_ZN9EquipRope9StopUsingEP13LinkStateItem kind:function(arm,size=0x38) addr:0x219a28c -func_ov057_0219a364 kind:function(arm,size=0x4c) addr:0x219a2c4 -func_ov057_0219a3b0 kind:function(arm,size=0x4c) addr:0x219a310 -func_ov057_0219a3fc kind:function(arm,size=0x64) addr:0x219a35c -func_ov057_0219a460 kind:function(arm,size=0x108) addr:0x219a3c0 -func_ov057_0219a568 kind:function(arm,size=0x44) addr:0x219a4c8 -func_ov057_0219a5ac kind:function(arm,size=0x10c) addr:0x219a50c -func_ov057_0219a6b8 kind:function(arm,size=0x198) addr:0x219a618 -func_ov057_0219a850 kind:function(arm,size=0x114) addr:0x219a7b0 -func_ov057_0219a964 kind:function(arm,size=0x1c) addr:0x219a8c4 -func_ov057_0219a980 kind:function(arm,size=0x14) addr:0x219a8e0 +_Z19func_ov057_02198d00P5Vec3pS0_i kind:function(arm,size=0xb8) addr:0x2198c60 +_ZN22EquipRope_Unk_02198dd08vfunc_08Ev kind:function(arm,size=0x8) addr:0x2198d18 +_ZN22EquipRope_Unk_02198dd08vfunc_0cEv kind:function(arm,size=0x8) addr:0x2198d20 +_ZN22EquipRope_Unk_02198dd08vfunc_14Ev kind:function(arm,size=0x8) addr:0x2198d28 +_ZN22EquipRope_Unk_02198dd0C2Ev kind:function(arm,size=0x18) addr:0x2198d30 +_ZN22EquipRope_Unk_02198dd08vfunc_10EPi kind:function(arm,size=0x98) addr:0x2198d48 +_ZN16EquipRope_Unk_1819func_ov057_02198e80Ev kind:function(arm,size=0x140) addr:0x2198de0 +_ZN16EquipRope_Unk_1819func_ov057_02198fc0Ej kind:function(arm,size=0x68) addr:0x2198f20 +_ZN16EquipRope_Unk_1819func_ov057_02199028Ei kind:function(arm,size=0x8c) addr:0x2198f88 +_ZNK9EquipRope8IsUsableEi kind:function(arm,size=0x38) addr:0x2199014 +_ZN9EquipRope19func_ov057_021990ecEv kind:function(arm,size=0xc) addr:0x219904c +_ZN9EquipRope19func_ov057_021990f8Ev kind:function(arm,size=0xc) addr:0x2199058 +_ZN16EquipRope_Unk_1819func_ov057_02199104EPS_ kind:function(arm,size=0x128) addr:0x2199064 +_ZN9EquipRope19func_ov057_0219922cEj kind:function(arm,size=0x88) addr:0x219918c +_ZN9EquipRope19func_ov057_021992b4Ei kind:function(arm,size=0x40) addr:0x2199214 +_ZN9EquipRope8vfunc_18Ev kind:function(arm,size=0x68) addr:0x2199254 +_ZN9EquipRope8vfunc_1cEv kind:function(arm,size=0x40) addr:0x21992bc +_ZN9EquipRope19func_ov057_0219939cEPii kind:function(arm,size=0xb8) addr:0x21992fc +_ZN9EquipRope19func_ov057_02199454Ei kind:function(arm,size=0x6c) addr:0x21993b4 +_ZN9EquipRope19func_ov057_021994c0EPi kind:function(arm,size=0x1f0) addr:0x2199420 +_ZN9EquipRope19func_ov057_021996b0EP5Vec3p kind:function(arm,size=0x94) addr:0x2199610 +_ZN9EquipRope8vfunc_30Ev kind:function(arm,size=0x1ac) addr:0x21996a4 +_ZN9EquipRope8vfunc_38Ei kind:function(arm,size=0x1e8) addr:0x2199850 +_ZN9EquipRope19func_ov057_02199ad8Ev kind:function(arm,size=0x1a0) addr:0x2199a38 +_ZN9EquipRope19func_ov057_02199c78Ev kind:function(arm,size=0xdc) addr:0x2199bd8 +_ZN9EquipRope19func_ov057_02199d54Ev kind:function(arm,size=0xd0) addr:0x2199cb4 +_ZN9EquipRope19func_ov057_02199e24Ev kind:function(arm,size=0x10) addr:0x2199d84 +_ZN22EquipRope_Unk_02198dd0D1Ev kind:function(arm,size=0x1c) addr:0x2199d94 +_ZN22EquipRope_Unk_02198dd0D0Ev kind:function(arm,size=0x14) addr:0x2199db0 +_ZN22EquipRope_Unk_02198dd0D2Ev kind:function(arm,size=0x68) addr:0x2199dc4 +_ZN13LinkStateItem19func_ov057_02199e64Ev kind:function(arm,size=0x10) addr:0x2199e2c +_ZN13LinkStateItem19func_ov057_02199edcEv kind:function(arm,size=0x32c) addr:0x2199e3c +_ZN13LinkStateItem19func_ov057_0219a208Ev kind:function(arm,size=0x124) addr:0x219a168 +_ZN13LinkStateItem13StopUsingRopeEv kind:function(arm,size=0x38) addr:0x219a28c +_ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x219a2c4 +_ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a310 +_ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a35c +_ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a3c0 +_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a4c8 +_ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a50c +_ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a618 +_ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a7b0 +_ZN22ActorRope_Unk_0219a3b0D1Ev kind:function(arm,size=0x1c) addr:0x219a8c4 +_ZN22ActorRope_Unk_0219a3b0D0Ev kind:function(arm,size=0x14) addr:0x219a8e0 data_ov057_0219a994 kind:data(any) addr:0x219a8f4 -__sinit_ov057_0219a9a0 kind:function(arm,size=0x2c) addr:0x219a900 -__sinit_ov057_0219a9cc kind:function(arm,size=0x44) addr:0x219a92c -data_ov057_0219aa28 kind:data(any) addr:0x219a988 +__sinit_EquipRope.cpp kind:function(arm,size=0x2c) addr:0x219a900 local +__sinit_ActorRope.cpp kind:function(arm,size=0x44) addr:0x219a92c local +_ZTV22EquipRope_Unk_02198dd0 kind:data(any) addr:0x219a988 data_ov057_0219aa40 kind:data(any) addr:0x219a9a0 data_ov057_0219aa50 kind:data(any) addr:0x219a9b0 data_ov057_0219aa60 kind:data(any) addr:0x219a9c0 @@ -58,9 +58,9 @@ data_ov057_0219aa90 kind:data(any) addr:0x219a9f0 data_ov057_0219aa94 kind:data(any) addr:0x219a9f4 data_ov057_0219aa98 kind:data(any) addr:0x219a9f8 data_ov057_0219aa9c kind:data(any) addr:0x219a9fc -data_ov057_0219aac8 kind:data(any) addr:0x219aa28 -data_ov057_0219ab00 kind:bss addr:0x219aa60 -data_ov057_0219ab0c kind:bss addr:0x219aa6c +_ZTV22ActorRope_Unk_0219a3b0 kind:data(any) addr:0x219aa28 +@890 kind:bss addr:0x219aa60 +sUnk_02198dd0 kind:bss addr:0x219aa6c data_ov057_0219ab14 kind:bss addr:0x219aa74 -data_ov057_0219ab1c kind:bss addr:0x219aa7c -data_ov057_0219ab28 kind:bss addr:0x219aa88 +@380 kind:bss addr:0x219aa7c +gUnk_0219a3b0 kind:bss addr:0x219aa88 diff --git a/include/Actor/Player/ActorRope.hpp b/include/Actor/Player/ActorRope.hpp index ce6051ec..1d70a5fd 100644 --- a/include/Actor/Player/ActorRope.hpp +++ b/include/Actor/Player/ActorRope.hpp @@ -6,6 +6,21 @@ #include "Actor/Actor.hpp" #include "Actor/ActorType.hpp" +#include "Unknown/UnkStruct_ov000_020beba8.hpp" + +class ActorRope_Unk_0219a3b0 : public UnkStruct_ov000_020beba8 { +public: + /* 0 (base) */ + /* c */ + + /* 00 */ virtual ~ActorRope_Unk_0219a3b0() override; + /* 08 */ virtual void vfunc_08(unk16 *param1) override; + /* 10 */ virtual void vfunc_10(s32 *param1) override; + /* 1c */ + + inline ActorRope_Unk_0219a3b0() : + UnkStruct_ov000_020beba8(6) {} +}; class ActorRope : public Actor { public: @@ -15,12 +30,14 @@ public: /* 158 */ unk8 mUnk_158[0xc]; /* 164 */ unk16 mUnk_164; /* 166 */ unk16 mUnk_166; - /* 168 */ unk8 mUnk_168[0x3]; + /* 168 */ s16 mUnk_168; + /* 16a */ unk8 mUnk_16a; /* 16b */ unk8 mUnk_16b; /* 16c */ unk8 mUnk_16c; /* 16d */ unk8 mUnk_16d; /* 16e */ unk16 mUnk_16e; - /* 170 */ unk8 mUnk_170[0x4]; + /* 170 */ u16 mUnk_170; + /* 172 */ unk8 mUnk_172[0x2]; /* 174 */ Vec3p mUnk_174; /* 180 */ Vec3p mUnk_180; /* 18c */ unk8 mUnk_18c[0x4]; @@ -46,4 +63,9 @@ public: bool func_ov014_02123cd0(Vec3p *param1, s32 param2); bool func_ov014_02123e1c(); bool func_ov014_02123e48(unk32 param1); + + ActorRope(); + q20 func_ov057_0219a5ac(); + void func_ov057_0219a6b8(); + void func_ov057_0219a850(); }; diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 4d3117f6..ba157678 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -13,6 +13,27 @@ struct EquipRope_Unk_18 { /* 00 */ Vec3p vec; /* 0c */ unk8 mUnk_0c[0x10]; /* 1c */ + + bool func_ov057_02198e80(); + void func_ov057_02198fc0(u32 param1); + void func_ov057_02199028(s32 param1); + bool func_ov057_02199104(EquipRope_Unk_18 *other); +}; + +class EquipRope_Unk_02198dd0 { +public: + /* 0 (vtable) */ + /* 4 */ unk32 mUnk_4; + /* 8 */ + + /* 00 */ virtual ~EquipRope_Unk_02198dd0(); + /* 08 */ unk32 vfunc_08(); + /* 0c */ unk32 vfunc_0c(); + /* 10 */ unk32 vfunc_10(s32 *param1); + /* 14 */ unk32 vfunc_14(); + /* 18 */ + + EquipRope_Unk_02198dd0(); }; class Actor; @@ -80,5 +101,16 @@ public: bool func_ov014_0213e20c(s32 param1, Vec3p *param2); bool func_ov014_0213e328(); - static void StopUsing(LinkStateItem *param1); + void func_ov057_021990ec(); + void func_ov057_021990f8(); + bool func_ov057_0219922c(u32 param1); + void func_ov057_021992b4(s32 param1); + bool func_ov057_0219939c(s32 *param1, s32 param2); + bool func_ov057_02199454(s32 param1); + bool func_ov057_021994c0(unk32 *param1); + s32 func_ov057_021996b0(Vec3p *param1); + void func_ov057_02199ad8(); + void func_ov057_02199c78(); + void func_ov057_02199d54(); + void func_ov057_02199e24(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index be160ae0..f8c424b2 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -79,4 +79,10 @@ public: void func_ov056_021990c0(); void func_ov056_0219911c(); bool func_ov056_021992f8(); + + void func_ov057_02199e64(); + void func_ov057_02199edc(); + void func_ov057_0219a208(); + void StopUsingRope(); + bool func_ov057_0219a364(); }; diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp index 9000a8c6..30c5a5e0 100644 --- a/src/00_Core/Player/LinkStateItem.cpp +++ b/src/00_Core/Player/LinkStateItem.cpp @@ -49,7 +49,7 @@ ARM void LinkStateItem::OnStateLeave(s32 param1) { case ItemFlag_Boomerang: break; case ItemFlag_BombBag: this->StopUsingBomb(param1); break; case ItemFlag_Bow: break; - case ItemFlag_GrapplingHook: EquipRope::StopUsing(this); break; + case ItemFlag_GrapplingHook: this->StopUsingRope(); break; case ItemFlag_Hammer: EquipHammer::StopUsing(this); break; case ItemFlag_PotionA: case ItemFlag_PotionB: diff --git a/src/57_Rope/Actor/Player/ActorRope.cpp b/src/57_Rope/Actor/Player/ActorRope.cpp new file mode 100644 index 00000000..023f134b --- /dev/null +++ b/src/57_Rope/Actor/Player/ActorRope.cpp @@ -0,0 +1,12 @@ +#include "Actor/Player/ActorRope.hpp" + +ActorRope_Unk_0219a3b0 gUnk_0219a3b0; + +void ActorRope_Unk_0219a3b0::vfunc_08(unk16 *param1) {} +void ActorRope_Unk_0219a3b0::vfunc_10(s32 *param1) {} +ActorRope::ActorRope() {} +bool ActorRope::vfunc_08() {} +q20 ActorRope::func_ov057_0219a5ac() {} +void ActorRope::func_ov057_0219a6b8() {} +void ActorRope::func_ov057_0219a850() {} +ActorRope_Unk_0219a3b0::~ActorRope_Unk_0219a3b0() {} diff --git a/src/57_Rope/Player/EquipRope.cpp b/src/57_Rope/Player/EquipRope.cpp new file mode 100644 index 00000000..42acf1d9 --- /dev/null +++ b/src/57_Rope/Player/EquipRope.cpp @@ -0,0 +1,39 @@ +#include "Player/EquipRope.hpp" +#include "Player/LinkStateItem.hpp" + +EquipRope_Unk_02198dd0 sUnk_02198dd0; + +bool func_ov057_02198d00(Vec3p *vec, Vec3p *dest, q20 step) {} +unk32 EquipRope_Unk_02198dd0::vfunc_08() {} +unk32 EquipRope_Unk_02198dd0::vfunc_0c() {} +unk32 EquipRope_Unk_02198dd0::vfunc_14() {} +EquipRope_Unk_02198dd0::EquipRope_Unk_02198dd0() {} +unk32 EquipRope_Unk_02198dd0::vfunc_10(s32 *param1) {} +bool EquipRope_Unk_18::func_ov057_02198e80() {} +void EquipRope_Unk_18::func_ov057_02198fc0(u32 param1) {} +void EquipRope_Unk_18::func_ov057_02199028(s32 param1) {} +bool EquipRope::IsUsable(unk32 param1) const {} +void EquipRope::func_ov057_021990ec() {} +void EquipRope::func_ov057_021990f8() {} +bool EquipRope_Unk_18::func_ov057_02199104(EquipRope_Unk_18 *other) {} +bool EquipRope::func_ov057_0219922c(u32 param1) {} +void EquipRope::func_ov057_021992b4(s32 param1) {} +void EquipRope::vfunc_18() {} +void EquipRope::vfunc_1c() {} +bool EquipRope::func_ov057_0219939c(s32 *param1, s32 param2) {} +bool EquipRope::func_ov057_02199454(s32 param1) {} +bool EquipRope::func_ov057_021994c0(unk32 *param1) {} +s32 EquipRope::func_ov057_021996b0(Vec3p *param1) {} +void EquipRope::vfunc_30() {} +void EquipRope::vfunc_38(unk32 param1) {} +void EquipRope::func_ov057_02199ad8() {} +void EquipRope::func_ov057_02199c78() {} +void EquipRope::func_ov057_02199d54() {} +void EquipRope::func_ov057_02199e24() {} +EquipRope_Unk_02198dd0::~EquipRope_Unk_02198dd0() {} +void LinkStateItem::func_ov057_02199e64() {} +EquipRope *GetEquipRope(); +void LinkStateItem::func_ov057_02199edc() {} +void LinkStateItem::func_ov057_0219a208() {} +void LinkStateItem::StopUsingRope() {} +bool LinkStateItem::func_ov057_0219a364() {} \ No newline at end of file