From f9f97f7c4cdae00645fe916717e4859798f7a28a Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 21:25:22 -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_MAIN_037/md_MAIN_037.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/md_MAIN_037/md_MAIN_037.c b/src/md_MAIN_037/md_MAIN_037.c index bba1c4b304..92265854f9 100644 --- a/src/md_MAIN_037/md_MAIN_037.c +++ b/src/md_MAIN_037/md_MAIN_037.c @@ -30,7 +30,30 @@ INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CAF94); INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB014); -INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB028); +#include "common.h" + +extern u8 D_80078EC1; +extern void (*D_800CB634[])(void); +extern void func_800CB358(void); + +void func_800CB028(s32 a0) { + u16 index; + s16 value; + + if (D_80078EC1 == 0x19) { + index = *(u16 *)(a0 + 2); + D_800CB634[index](); + + value = *(s16 *)(a0 + 0xA); + if (value < 0x401) { + return; + } + ((void (*)(s32))func_800CB358)(a0); + } else { + ((void (*)(s32))func_800CB358)(a0); + } +} + INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB09C);