From 549cfb6276b64676cc8a032e519a6a814f0fa1f5 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 23 May 2024 19:17:15 +0200 Subject: [PATCH] Update `ActorManager` --- asm/ov00/Actor/Actor.inc | 4 ++-- asm/ov00/Actor/Actor.s | 4 ++-- asm/ov00/Actor/ActorManager.s | 16 ++++++++-------- include/Actor/ActorManager.hpp | 4 ++-- src/00_Core/Actor/ActorManager.cpp | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index b54aae66..24559db0 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -10,8 +10,8 @@ .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j -.extern _ZN12ActorManager18func_ov00_020c398cEv -.extern _ZN12ActorManager18func_ov00_020c399cEv +.extern _ZN12ActorManager18func_ov00_020c398cEj +.extern _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder .extern _ZN12ActorManager18func_ov00_020c39acEjPjb .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl13StopFollowingEv diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index b10a2602..8ca3a034 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -1296,7 +1296,7 @@ _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder: ; 0x020c23d4 ldr r0, [r0] ldr r1, [r4, #0xc] mov r5, r2 - bl _ZN12ActorManager18func_ov00_020c398cEv + bl _ZN12ActorManager18func_ov00_020c398cEj cmp r0, #0 mvneq r0, #0 streq r0, [r6] @@ -1308,7 +1308,7 @@ _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder: ; 0x020c23d4 ldr r1, [r4, #0xc] ldr r0, [r0] mov r2, r5 - bl _ZN12ActorManager18func_ov00_020c399cEv + bl _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020c2438: .word gActorManager diff --git a/asm/ov00/Actor/ActorManager.s b/asm/ov00/Actor/ActorManager.s index 49d58c94..fc92a651 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -439,25 +439,25 @@ _020c397c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} arm_func_end _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - .global _ZN12ActorManager18func_ov00_020c398cEv - arm_func_start _ZN12ActorManager18func_ov00_020c398cEv -_ZN12ActorManager18func_ov00_020c398cEv: ; 0x020c398c + .global _ZN12ActorManager18func_ov00_020c398cEj + arm_func_start _ZN12ActorManager18func_ov00_020c398cEj +_ZN12ActorManager18func_ov00_020c398cEj: ; 0x020c398c ldr ip, _020c3998 ; =func_ov00_020c3f08 ldr r0, [r0, #0x14] bx ip .align 2, 0 _020c3998: .word func_ov00_020c3f08 - arm_func_end _ZN12ActorManager18func_ov00_020c398cEv + arm_func_end _ZN12ActorManager18func_ov00_020c398cEj - .global _ZN12ActorManager18func_ov00_020c399cEv - arm_func_start _ZN12ActorManager18func_ov00_020c399cEv -_ZN12ActorManager18func_ov00_020c399cEv: ; 0x020c399c + .global _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder + arm_func_start _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder +_ZN12ActorManager18func_ov00_020c399cEjP8Cylinder: ; 0x020c399c ldr ip, _020c39a8 ; =func_ov00_020c3f3c ldr r0, [r0, #0x14] bx ip .align 2, 0 _020c39a8: .word func_ov00_020c3f3c - arm_func_end _ZN12ActorManager18func_ov00_020c399cEv + arm_func_end _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder .global _ZN12ActorManager18func_ov00_020c39acEjPjb arm_func_start _ZN12ActorManager18func_ov00_020c39acEjPjb diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index 8457707c..59e04a58 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -85,8 +85,8 @@ public: s32 FilterActors(FilterActorBase *filter, ActorList *filteredActors); static void FindActorByType(ActorRef *ref, ActorManager *manager, u32 type); static void FindNearestActorOfType(ActorRef *ref, ActorManager *manager, u32 type, Vec3p *pos); - void func_ov00_020c398c(); - void func_ov00_020c399c(); + bool func_ov00_020c398c(u32 index); + void func_ov00_020c399c(u32 index, Cylinder *cylinder); void func_ov00_020c39ac(u32 index, u32 *actorTypes, bool param3); s32 func_ov00_020c3b2c(s32 *param1); s32 func_ov00_020c3bb0(unk32 param1, s32 *param2); diff --git a/src/00_Core/Actor/ActorManager.cpp b/src/00_Core/Actor/ActorManager.cpp index ad56f951..2c71d197 100644 --- a/src/00_Core/Actor/ActorManager.cpp +++ b/src/00_Core/Actor/ActorManager.cpp @@ -11,8 +11,8 @@ bool FilterActor::Filter(Actor *actor) {} s32 ActorManager::FilterActors(ActorFilterBase *filter, ActorList *filteredActors) {} void ActorManager::FindActorByType(ActorRef *ref, ActorManager *manager, u32 type) {} void ActorManager::FindNearestActorOfType(ActorRef *ref, ActorManager *manager, u32 type, Vec3p *pos) {} -void ActorManager::func_ov00_020c398c() {} -void ActorManager::func_ov00_020c399c() {} +bool ActorManager::func_ov00_020c398c(u32 index) {} +void ActorManager::func_ov00_020c399c(u32 index, Cylinder *cylinder) {} void ActorManager::func_ov00_020c39ac(u32 index, u32 *actorTypes, bool param3) {} s32 ActorManager::func_ov00_020c3b2c(s32 *param1) {} s32 ActorManager::func_ov00_020c3bb0(unk32 param1, s32 *param2) {}