From 4282066d7d4ae3afcf2fb94b17e91d4e2da66c3a Mon Sep 17 00:00:00 2001 From: Nicholas Sturgeon Date: Sun, 5 Feb 2023 13:28:57 -0500 Subject: [PATCH] Implement func_809612BC --- .../actors/ovl_Obj_Mure2/z_obj_mure2.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c index 0f57deea3..9e03088d4 100644 --- a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c +++ b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c @@ -96,7 +96,23 @@ void func_809611BC(ObjMure2* arg0, PlayState* arg1) { } } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809612BC.s") +void func_809612BC(ObjMure2* arg0) { + s32 var_v0 = 0; + s16 var_v1 = D_809615A8[arg0->actor.params & 3]; + + if (var_v1 > 0) { + do { + if (arg0->unk_148[var_v0] != NULL) { + if (!(((s32)arg0->unk_178 >> var_v0) & 1) && (arg0->unk_148[var_v0]->update == NULL)) { + arg0->unk_178 = arg0->unk_178 | (1 << var_v0); + arg0->unk_148[var_v0] = NULL; + } + } + + var_v1 = D_809615A8[arg0->actor.params & 3]; + } while (++var_v0 < var_v1); + } +} void ObjMure2_Init(Actor* thisx, PlayState* play) { ObjMure2* this = THIS;