From 38ae150fa153783ba4bf67cdf40f1ecc8fceea9f Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Wed, 12 Aug 2026 22:24:24 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20worker=20gate=20=E2=80=94=20+1?= =?UTF-8?q?=20fns=20x0=20propagated=20(fleet=2095.1%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/md_SC03_078/md_SC03_078.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/md_SC03_078/md_SC03_078.c b/src/md_SC03_078/md_SC03_078.c index 076ac6ca8b..dd43269a7d 100644 --- a/src/md_SC03_078/md_SC03_078.c +++ b/src/md_SC03_078/md_SC03_078.c @@ -166,7 +166,31 @@ void func_801EFB84(void *a0) { } -INCLUDE_ASM("asm/md_SC03_078/nonmatchings/md_SC03_078", func_801EFBC0); +extern s32 func_80029504(void); +extern s32 func_801877C0(s32); +extern s32 func_80187890(void); +extern s32 func_80187904(void); + +void func_801EFBC0(s32 a0) { + + extern s32 D_801EFEB0[]; + extern s32 D_801EFEC4[]; + extern s32 D_801EFEE0[]; + + s32 v1 = func_80029504(); + + if (v1 < 0xC8) { + s32 v0 = ((s32 (*)(void))func_801877C0)(); + *(s32 *)(a0 + 0xE4) = D_801EFEB0[v0]; + } else if (v1 < 0x384) { + s32 v0 = func_80187890(); + *(s32 *)(a0 + 0xE4) = D_801EFEC4[v0]; + } else { + s32 v0 = func_80187904(); + *(s32 *)(a0 + 0xE4) = D_801EFEE0[v0]; + } +} +