From 23bbb6fe5b4dcf7a0d953b984fc9b63fb6f3c0a3 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 23 May 2024 23:51:15 +0200 Subject: [PATCH] Mangle `EquipBoomerang::GetActor` --- asm/ov00/Actor/Actor.inc | 2 +- asm/ov00/Actor/Actor.s | 2 +- asm/ov14/ov14_0213b778.s | 8 ++++---- asm/ov20.inc | 2 +- asm/ov20.s | 4 ++-- asm/ov53.inc | 2 +- asm/ov53.s | 4 ++-- include/Player/EquipBoomerang.hpp | 11 +++++++++-- 8 files changed, 21 insertions(+), 14 deletions(-) diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index 36a22de8..8c980d78 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -63,7 +63,7 @@ .extern func_ov00_020c5924 .extern func_ov00_020c8398 .extern func_ov05_02103f4c -.extern func_ov14_0213d15c +.extern _ZN14EquipBoomerang8GetActorEv .extern func_ov14_0213d420 .extern func_ov14_0213d440 .extern func_ov14_0213d480 diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index a3dadc26..838f010d 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -1977,7 +1977,7 @@ _ZN5Actor18func_ov00_020c2c70Ev: ; 0x020c2c70 sub sp, sp, #0x18 mov r5, r0 bl _ZN5Actor17GetEquipBoomerangEv - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv movs r4, r0 beq _020c2cbc add r2, sp, #0xc diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 6c78d6f0..3dfb2cb5 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -2192,9 +2192,9 @@ _0213d154: .word gActorManager _0213d158: .word 0x504c444d arm_func_end func_ov14_0213d0bc - .global func_ov14_0213d15c - arm_func_start func_ov14_0213d15c -func_ov14_0213d15c: ; 0x0213d15c + .global _ZN14EquipBoomerang8GetActorEv + arm_func_start _ZN14EquipBoomerang8GetActorEv +_ZN14EquipBoomerang8GetActorEv: ; 0x0213d15c ldr r1, _0213d174 ; =gActorManager mov r2, r0 ldr r0, [r1] @@ -2204,7 +2204,7 @@ func_ov14_0213d15c: ; 0x0213d15c .align 2, 0 _0213d174: .word gActorManager _0213d178: .word _ZN12ActorManager8GetActorEP8ActorRef - arm_func_end func_ov14_0213d15c + arm_func_end _ZN14EquipBoomerang8GetActorEv .global func_ov14_0213d17c arm_func_start func_ov14_0213d17c diff --git a/asm/ov20.inc b/asm/ov20.inc index 9af18679..354beb8a 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -365,7 +365,7 @@ .extern func_ov14_02127984 .extern func_ov14_02127a14 .extern func_ov14_02127ac4 -.extern func_ov14_0213d15c +.extern _ZN14EquipBoomerang8GetActorEv .extern func_ov14_0213d184 .extern func_ov14_021448d4 .extern func_ov14_021448dc diff --git a/asm/ov20.s b/asm/ov20.s index bd41c2ae..7025aed4 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -1144,7 +1144,7 @@ _0216e6bc: cmp r0, #0 beq _0216e6fc bl func_ov20_0216f4b4 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv bl func_ov14_021231e0 mov r0, r4 bl func_ov20_0216f9d0 @@ -4424,7 +4424,7 @@ _0217128c: cmp r0, #0x2000 bge _02171360 bl func_ov20_0216f4b4 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv ldr r0, [r0, #0x130] cmp r0, #0 beq _02171360 diff --git a/asm/ov53.inc b/asm/ov53.inc index ef956ed4..35760759 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -73,6 +73,6 @@ .extern func_ov14_021235bc .extern func_ov14_0213d098 .extern func_ov14_0213d0bc -.extern func_ov14_0213d15c +.extern _ZN14EquipBoomerang8GetActorEv .extern func_ov14_0213d1b0 .extern gItemManager diff --git a/asm/ov53.s b/asm/ov53.s index a06dd2c0..13aec309 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -336,7 +336,7 @@ _021990cc: .word data_ov53_0219a1b0 func_ov53_021990d0: ; 0x021990d0 stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -380,7 +380,7 @@ _02199138: .word data_ov53_0219a5e4 func_ov53_0219913c: ; 0x0219913c stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv cmp r0, #0 bne _02199158 mov r0, r4 diff --git a/include/Player/EquipBoomerang.hpp b/include/Player/EquipBoomerang.hpp index 9b17f103..3b33bbd9 100644 --- a/include/Player/EquipBoomerang.hpp +++ b/include/Player/EquipBoomerang.hpp @@ -1,15 +1,20 @@ #pragma once +#include "global.h" #include "types.h" + +#include "Actor/ActorRef.hpp" #include "Player/EquipItem.hpp" +class Actor; + class EquipBoomerang : public EquipItem { private: /* 00 (base) */ /* 09 */ u8 mUnk_09[3]; /* 0c */ void *mUnk_0c; - /* 10 */ u32 mUnk_10; - /* 14 */ u8 mUnk_18[8]; + /* 10 */ ActorRef mRef; + /* 18 */ u8 mUnk_18[8]; /* 20 */ u32 mUnk_20; /* 24 */ u32 mUnk_24; /* 28 */ u32 mUnk_28; @@ -29,4 +34,6 @@ public: /* 30 */ virtual void vfunc_30() override; // func_ov53_0219913c /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov53_02199318 /* 50 */ + + Actor* GetActor(); };