diff --git a/src/overlays/actors/ovl_En_Dt/z_en_dt.c b/src/overlays/actors/ovl_En_Dt/z_en_dt.c index b80d282be..ee4debc93 100644 --- a/src/overlays/actors/ovl_En_Dt/z_en_dt.c +++ b/src/overlays/actors/ovl_En_Dt/z_en_dt.c @@ -39,6 +39,7 @@ s32 EnDt_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po extern ColliderCylinderInit D_80BEB29C; extern u16 D_80BEB1D0[]; +extern s32 D_80BEB208[]; extern s16 D_80BEB268[]; extern s16 D_80BEB26A[]; extern s32 D_80BEB2C8[]; @@ -145,7 +146,44 @@ void func_80BE9D9C(EnDt* this) { this->unk_248 = D_80BEB2E8[temp_v0]; } +// https://decomp.me/scratch/h4rII +#ifdef NON_MATCHING +void func_80BE9DF8(EnDt* this) { + EnBaisen* temp_v1; + EnMuto* temp_v0; + + temp_v0 = this->unk_274; + + if (temp_v0 != NULL) { + + temp_v1 = this->unk_278; + + if (temp_v1 != NULL) { + switch (D_80BEB208[this->unk_256]) { + case 0: + temp_v0->targetActor = &temp_v0->actor; + temp_v1->unk2A4 = &this->unk_274->actor; + this->targetActor = &this->unk_274->actor; + break; + + case 1: + temp_v0->targetActor = &temp_v1->actor; + temp_v1->unk2A4 = &this->unk_278->actor; + this->targetActor = &this->unk_278->actor; + break; + + case 2: + temp_v0->targetActor = &this->actor; + temp_v1->unk2A4 = &this->actor; + this->targetActor = &this->actor; + break; + } + } + } +} +#else #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9DF8.s") +#endif void func_80BE9E94(EnDt* this, PlayState* play) { Actor* actor = play->actorCtx.actorLists[ACTORCAT_NPC].first; @@ -290,6 +328,7 @@ void func_80BEA254(EnDt* this, PlayState* play) { this->actionFunc = func_80BEA394; } +// https://decomp.me/scratch/B065h #ifdef NON_MATCHING void func_80BEA394(EnDt* this, PlayState* play) { EnMuto* mutoh = NULL;