From facce115f83760fe4eebd6e2fdcd835ce8005124 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 23:13:39 -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/ov_SC03_014/ov_SC03_014_jr_801848E4.c | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c index 1f2f6dccd..7831b258b 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c @@ -3865,7 +3865,38 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_8018931 INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_801893BC); -INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_8018942C); +#include "common.h" + +extern s32 func_8012BEE8(s32 a0); +extern void func_8012AD80(s32 a0); +extern void func_80188C60(s32 a0); +extern int func_80178970(void); + +void func_8018942C(s32 arg0) { + u16 val_34; + s16 val_fe, val_a; + + val_34 = *(u16 *)(arg0 + 0x34); + + if (val_34 == 0) { + if (func_8012BEE8(arg0) != 0) { + *(s32 *)(arg0 + 0x14) = 0x10000; + *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; + } + } else { + val_fe = *(s16 *)(arg0 + 0xFE); + val_a = *(s16 *)(arg0 + 0xA); + + if (val_a < (val_fe - 0xA0)) { + func_8012AD80(arg0); + } else { + func_80188C60(arg0); + } + } + + ((void (*)(s32))func_80178970)(arg0); +} + DEFINE_func_801894BC() /* dedup: shared engine-core @0x801894BC (src/shared) */