From e0d688cabbd4652b6008e2f0b279b79ebde59a3d Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Sun, 23 Aug 2026 00:29:07 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20worker=20gate=20=E2=80=94=20+1?= =?UTF-8?q?=20fns=20x0=20propagated=20(fleet=2096.1%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/md_MAIN_034/md_MAIN_034.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/md_MAIN_034/md_MAIN_034.c b/src/md_MAIN_034/md_MAIN_034.c index e9a0a1378..94b5f9b73 100644 --- a/src/md_MAIN_034/md_MAIN_034.c +++ b/src/md_MAIN_034/md_MAIN_034.c @@ -614,7 +614,32 @@ void func_800CC310(void *a0) } -INCLUDE_ASM("asm/md_MAIN_034/nonmatchings/md_MAIN_034", func_800CC424); + + +extern void func_800CC6C4(void *a0, void *a1, void *a2, void *a3); +extern void func_80146E90(void *a0, s32 a1); +extern void func_80146CA0(void *a0); +extern u8 D_800CCB10; +extern Quad4_800CCB14 D_800CCB14; + +void func_800CC424(void *a0) { + void *a2 = *(void **)((u8 *)a0 + 0x20); + *(u16 *)((u8 *)a0 + 0x60) += 0x60; + *(u16 *)((u8 *)a2 + 0x1A) += 0x200; + *(u16 *)((u8 *)a2 + 0x18) = *(u16 *)((u8 *)a2 + 0x1A); + *(u16 *)((u8 *)a0 + 0x5A) += *(u16 *)((u8 *)a0 + 0x60); + *(u16 *)((u8 *)a0 + 0x58) = *(u16 *)((u8 *)a0 + 0x5A); + *(u16 *)((u8 *)a2 + 0x10) = (*(u16 *)((u8 *)a2 + 0x10) + 0x9F) & 0xFFF; + *(u16 *)((u8 *)a2 + 0x12) = (*(u16 *)((u8 *)a2 + 0x12) + 0x71) & 0xFFF; + func_800CC6C4(a0, &D_800CCB10, &D_800CCB14, (u8 *)a0 + 0x58); + if (*(s16 *)((u8 *)a0 + 0x5A) >= 0x1001) { + *(u16 *)((u8 *)a0 + 0x58) = 0x1000; + *(u16 *)((u8 *)a0 + 0x5A) = 0x1000; + func_80146E90(a0, 0x20); + func_80146CA0(a0); + } +} + #include "common.h"