From 93ae5eeed4b136eae05c0803191f130a89a1dd38 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 20:37:58 -0600 Subject: [PATCH] =?UTF-8?q?feat(phase-31):=20worker=20gate=20=E2=80=94=20+?= =?UTF-8?q?1=20fns=20x0=20propagated=20(fleet=2095.3%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/md_SC03_074/md_SC03_074.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/md_SC03_074/md_SC03_074.c b/src/md_SC03_074/md_SC03_074.c index cd0124e23..30e2dca9b 100644 --- a/src/md_SC03_074/md_SC03_074.c +++ b/src/md_SC03_074/md_SC03_074.c @@ -241,7 +241,37 @@ extern s32 func_80029178(s32 arg); } -INCLUDE_ASM("asm/md_SC03_074/nonmatchings/md_SC03_074", func_801EFC6C); +extern s32 func_80029504(void); +extern s32 func_801877C0(void); +extern s32 func_80187890(void); +extern s32 func_80187904(void); +extern void func_80187960(void); + +void func_801EFC6C(s32 a0) { + extern s32 D_801F0094[]; + extern s32 D_801F0734; + extern s32 D_801F00A8[]; + extern s32 D_801F00C4[]; + + s32 v1 = func_80029504(); + + if (v1 < 0xC8) { + s32 v0 = func_801877C0(); + *(s32 *)(a0 + 0xE4) = D_801F0094[v0]; + } else if (v1 < 0x384) { + if ((u32)(v1 - 0x136) < 0x122) { + *(s32 *)(a0 + 0xE4) = (s32)&D_801F0734; + } else { + s32 v0 = func_80187890(); + *(s32 *)(a0 + 0xE4) = D_801F00A8[v0]; + } + } else { + s32 v0 = func_80187904(); + *(s32 *)(a0 + 0xE4) = D_801F00C4[v0]; + func_80187960(); + } +} + INCLUDE_ASM("asm/md_SC03_074/nonmatchings/md_SC03_074", func_801EFD28);