From fe2cb7d070ec475c31db80af8810e3fadf17f6e2 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 01:51:32 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20worker=20gate=20=E2=80=94=20+2?= =?UTF-8?q?=20fns=20x0=20propagated=20(fleet=2095.2%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/md_SC03_137/md_SC03_137.c | 44 +++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/md_SC03_137/md_SC03_137.c b/src/md_SC03_137/md_SC03_137.c index 32bc59758b..4091153896 100644 --- a/src/md_SC03_137/md_SC03_137.c +++ b/src/md_SC03_137/md_SC03_137.c @@ -1,7 +1,20 @@ #include "common.h" #include "../shared/engine_core.h" -INCLUDE_ASM("asm/md_SC03_137/nonmatchings/md_SC03_137", func_801E25FC); +extern u8 *D_80126B10; +extern u8 D_801E2FA4[]; +extern void func_80175414(s32 _arg0); +void func_800167B8(int); + +int func_801E25FC(u8 *arg) { + extern u8 *D_80126B10; + D_80126B10 = D_801E2FA4; + func_800167B8(0); + ((void (*)(void))func_80175414)(); + arg[0x15]++; + return 0; +} + extern s32 func_800167F0(s32 a0); @@ -254,7 +267,34 @@ void func_801E2D1C(void *a0) { } -INCLUDE_ASM("asm/md_SC03_137/nonmatchings/md_SC03_137", func_801E2D58); +extern s32 D_801E3018[]; +extern s32 D_801E302C[]; +extern s32 D_801E3048[]; +extern s32 func_80029504(void); +extern s32 func_80184428(s32); +extern s32 func_801844F8(void); +extern s32 func_8018456C(void); + +void func_801E2D58(s32 a0) { + + extern s32 D_801E3018[]; + extern s32 D_801E302C[]; + extern s32 D_801E3048[]; + + s32 v1 = func_80029504(); + + if (v1 < 0xC8) { + s32 v0 = ((s32 (*)(void))func_80184428)(); + *(s32 *)(a0 + 0xE4) = D_801E3018[v0]; + } else if (v1 < 0x384) { + s32 v0 = func_801844F8(); + *(s32 *)(a0 + 0xE4) = D_801E302C[v0]; + } else { + s32 v0 = func_8018456C(); + *(s32 *)(a0 + 0xE4) = D_801E3048[v0]; + } +} +