diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c index cc267bad6..ce1aeda76 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -402,7 +402,27 @@ void func_8086E948(EnOkuta* this, PlayState* play) { } } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EAE0.s") +void func_8086EAE0(EnOkuta* this, PlayState* play) { + + Animation_PlayOnce(&this->skelAnime, (AnimationHeader* ) &D_0600044C); + if (this->actionFunc != func_8086EC00) { + if (this->actor.params == 0) { + this->unk18E = this->unk190; + } else { + this->unk18E = ((560.0f - this->actor.xzDistToPlayer) * 0.005f) + 1.0f; + } + } + if (this->actor.params == 0) { + this->unk260 = this->actor.playerHeightRel + 20.0f; + this->unk260 = CLAMP_MIN(this->unk260, 10.0f); + + if (this->unk260 > 50.0f) { + func_8086E27C(this, play); + Actor_PlaySfx(&this->actor, 0x38C2); + } + } + this->actionFunc = func_8086EC00; +} #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EC00.s") diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h index 014df2db2..4edb40136 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h @@ -21,7 +21,8 @@ typedef struct EnOkuta { /* 0x254 */ f32 unk254; /* 0x258 */ f32 unk258; /* 0x25C */ f32 unk25C; - /* 0x260 */ char pad260[0x10]; + /* 0x260 */ f32 unk260; + /* 0x268 */ char pad268[0xC]; /* 0x270 */ Vec3f bodyPartsPos[0xA]; /* 0x2E8 */ ColliderCylinder collider; } EnOkuta;