diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index 6ff8a929..99f68fcc 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -64,7 +64,7 @@ .extern func_ov00_020c8398 .extern func_ov05_02103f4c .extern _ZN14EquipBoomerang8GetActorEv -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d440 .extern _ZN9EquipRope18func_ov14_0213d480Ei .extern func_ov14_0213d81c diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index ac48c156..369a7b7d 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -2092,7 +2092,7 @@ _ZN5Actor18func_ov00_020c2de4Ev: ; 0x020c2de4 sub sp, sp, #0xc mov r5, r0 bl _ZN10EquipSword12GetEquipRopeEv - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r4, r0 add r2, sp, #0 beq _020c2e30 @@ -2177,7 +2177,7 @@ _ZN5Actor18func_ov00_020c2ed4Ev: ; 0x020c2ed4 movs r6, r0 bmi _020c2fb0 mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 885b9ca6..5ac8b6cb 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -442,7 +442,7 @@ .extern func_ov12_02134378 .extern func_ov12_021343bc .extern func_ov14_021238f0 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213dfbc .extern func_ov14_0213e144 .extern func_ov14_021474ac diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 847cc872..14c68beb 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -5669,7 +5669,7 @@ _020b5b70: strh r0, [r6, #0xa4] b _020b5c18 _020b5b8c: - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r4, r0 moveq r0, #0 streqh r0, [r6, #0x5a] diff --git a/asm/ov05.inc b/asm/ov05.inc index 0fbd0df9..2ffb4398 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -512,7 +512,7 @@ .extern func_ov09_0211cac0 .extern func_ov12_02134208 .extern func_ov14_02127df4 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d63c .extern func_ov14_0213ec64 .extern func_ov14_0214a3dc diff --git a/asm/ov05.s b/asm/ov05.s index 4fb240c5..0f13cb9d 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -12943,7 +12943,7 @@ _0210b7dc: cmp r1, #1 addlt sp, sp, #0x14 ldmltia sp!, {r3, r4, r5, r6, pc} - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -13536,7 +13536,7 @@ _0210c040: bl _ZN13PlayerControl13GetTouchAngleEv strh r0, [r5] bl func_ov05_0210b96c - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 51069bca..6b26a729 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -2549,9 +2549,9 @@ func_ov14_0213d404: ; 0x0213d404 bx lr arm_func_end func_ov14_0213d404 - .global func_ov14_0213d420 - arm_func_start func_ov14_0213d420 -func_ov14_0213d420: ; 0x0213d420 + .global _ZN9EquipRope18func_ov14_0213d420Ev + arm_func_start _ZN9EquipRope18func_ov14_0213d420Ev +_ZN9EquipRope18func_ov14_0213d420Ev: ; 0x0213d420 ldr r1, _0213d438 ; =gActorManager mov r2, r0 ldr r0, [r1] @@ -2561,7 +2561,7 @@ func_ov14_0213d420: ; 0x0213d420 .align 2, 0 _0213d438: .word gActorManager _0213d43c: .word _ZN12ActorManager8GetActorEP8ActorRef - arm_func_end func_ov14_0213d420 + arm_func_end _ZN9EquipRope18func_ov14_0213d420Ev .global func_ov14_0213d440 arm_func_start func_ov14_0213d440 @@ -3096,7 +3096,7 @@ func_ov14_0213dadc: ; 0x0213dadc mov r6, r0 mov r5, r1 mov r4, r2 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 @@ -3147,7 +3147,7 @@ _0213db4e: func_ov14_0213db60: ; 0x0213db60 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 beq _0213db7c bl _ZN5Actor4KillEv @@ -3338,7 +3338,7 @@ func_ov14_0213ddd4: ; 0x0213ddd4 addge sp, sp, #0x2c ldmgeia sp!, {r3, r4, r5, r6, pc} mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -3515,7 +3515,7 @@ func_ov14_0213dfbc: ; 0x0213dfbc cmp r0, #0 beq _0213e0b0 mov r0, r7 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, r6 @@ -3605,7 +3605,7 @@ func_ov14_0213e144: ; 0x0213e144 rsb r0, r0, r4, asr #12 bl Vec3p_Axpy mov r0, r7 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev ldr r2, [sp] mov r1, #1 str r2, [r0, #0x174] @@ -3836,7 +3836,7 @@ _0213e4d8: b _0213e518 _0213e508: mov r0, r10 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev mov r1, r5 bl func_ov14_02123c54 _0213e518: diff --git a/asm/ov29.inc b/asm/ov29.inc index 38ab57ed..bf91aebb 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -337,7 +337,7 @@ .extern func_ov09_0211a988 .extern func_ov14_02120998 .extern func_ov14_02122e98 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d440 .extern _ZN9EquipRope18func_ov14_0213d480Ei .extern func_ov14_0213d5d0 diff --git a/asm/ov29.s b/asm/ov29.s index 48a69bdd..62b0258c 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -9651,7 +9651,7 @@ func_ov29_02175900: ; 0x02175900 movs r5, r0 bmi _02175a94 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 diff --git a/asm/ov34.inc b/asm/ov34.inc index e1c29446..08ac9fb4 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -231,7 +231,7 @@ .extern func_ov14_02122eb8 .extern func_ov14_021231d4 .extern func_ov14_02123904 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d440 .extern _ZN9EquipRope18func_ov14_0213d480Ei .extern func_ov14_0213d594 diff --git a/asm/ov34.s b/asm/ov34.s index cab2aaed..c7280945 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -6534,7 +6534,7 @@ func_ov34_02181a00: ; 0x02181a00 movs r5, r0 bmi _02181afc mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -6600,7 +6600,7 @@ _02181afc: cmp r5, #0 blt _02181b50 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -9238,7 +9238,7 @@ func_ov34_02184024: ; 0x02184024 movs r5, r0 bmi _02184104 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -10245,7 +10245,7 @@ _02184d84: cmp r0, #0 beq _02184df8 mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev ldrb r0, [r0, #0x16b] cmp r0, #1 beq _02184df8 diff --git a/asm/ov38.inc b/asm/ov38.inc index 5eece539..226c9d0c 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -231,7 +231,7 @@ .extern func_ov14_02122eb8 .extern func_ov14_021231d4 .extern func_ov14_02123904 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d440 .extern _ZN9EquipRope18func_ov14_0213d480Ei .extern func_ov14_0213d81c diff --git a/asm/ov38.s b/asm/ov38.s index d73ebb4d..208d8799 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -1990,7 +1990,7 @@ func_ov38_0217d918: ; 0x0217d918 movs r6, r0 bmi _0217da1c mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, r4 moveq r0, #0 @@ -2950,7 +2950,7 @@ func_ov38_0217e688: ; 0x0217e688 cmp r6, #0 blt _0217e71c mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 diff --git a/asm/ov57.inc b/asm/ov57.inc index 9d07586b..354c574b 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -95,7 +95,7 @@ .extern func_ov14_0213d248 .extern func_ov14_0213d3d4 .extern func_ov14_0213d404 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d6e0 .extern func_ov14_0213db60 .extern func_ov14_0213dda0 diff --git a/asm/ov57.s b/asm/ov57.s index 4c8f9150..38763809 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -782,7 +782,7 @@ func_ov57_021996b0: ; 0x021996b0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 beq _0219972c mov r0, r4 @@ -891,7 +891,7 @@ _021997f8: str r1, [r0, #0x30] b _0219989c _02199848: - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r3, r0 beq _0219989c add r0, r3, #0x100 @@ -1441,7 +1441,7 @@ _02199f58: ldmia sp!, {r4, r5, r6, pc} _02199fb8: mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r6, r0 bne _02199fe4 ldr r1, _0219a1f0 ; =data_ov57_0219aa60 @@ -1608,7 +1608,7 @@ func_ov57_0219a208: ; 0x0219a208 mov r4, r0 bl func_ov57_02199ecc mov r5, r0 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 0bb1b16c..151c06c3 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -1,6 +1,9 @@ #pragma once +#include "global.h" #include "types.h" + +#include "Actor/ActorRef.hpp" #include "Player/EquipItem.hpp" class EquipRope : public EquipItem { @@ -9,8 +12,7 @@ private: /* 09 */ unk8 mUnk_09; /* 0a */ unk16 mUnk_0a; /* 0c */ unk8 mUnk_0c[4]; - /* 10 */ unk32 mUnk_10; - /* 14 */ unk32 mUnk_14; + /* 10 */ ActorRef mRef; /* 18 */ unk8 mUnk_18[0x54]; /* 6c */ unk16 mUnk_6c; /* 6e */ unk8 mUnk_6e[2]; @@ -37,5 +39,6 @@ public: /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov57_021998f0 /* 50 */ + Actor* func_ov14_0213d420(); s32 func_ov14_0213d480(s32 actorId); };