summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_actor.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 778f8ad18..fd6580f51 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -845,7 +845,24 @@ void Actor_FreeOverlay(ActorOverlay* entry) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE03C.s")
-#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE0B8.s")
+Actor* func_800BE0B8(GlobalContext* globalCtx, Actor* inActor, s16 arg2, u8 arg3, f32 arg4) {
+ Actor* actor = globalCtx->actorCtx.actorList[arg3].first;
+
+ while (actor != NULL) {
+ if (actor == inActor || ((arg2 != -1) && (arg2 != actor->id))) {
+ actor = actor->next;
+ continue;
+ }
+
+ if (Actor_DistanceBetweenActors(inActor, actor) <= arg4) {
+ return actor;
+ }
+
+ actor = actor->next;
+ }
+
+ return NULL;
+}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE184.s")