From bbc3ccc7c3edcbe110f0857a49d3cd77c575b3b7 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 03:41:02 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20worker=20gate=20=E2=80=94=20+1?= =?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/ov_SC04_020/ov_SC04_020_jr_8017D604.c | 32 ++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c index 704190409..683950a35 100644 --- a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c +++ b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c @@ -3639,7 +3639,37 @@ void func_8017FE10(void *a0) { } -INCLUDE_ASM("asm/ov_SC04_020/nonmatchings/ov_SC04_020_jr_8017D604", func_8017FE4C); +extern s32 D_80187574; +extern s32 func_8001CC3C(s32 a0, s32 a1, s32 a2, s32 a3); + +void func_8017FE4C(void *a0) +{ + s32 *s1 = (s32 *)a0; + s32 *s0; + s32 v0; + s32 v1; + + s0 = M2C_FIELD(s1, s32 *, 0x20); + ((void (*)(s32, s32, s32, s32))func_8001CC3C)((s32)s0, (s32)&D_80187574, 0x240, 0x1D0); + + v0 = 0x54; + *(u8 *)((s8 *)s0 + 0x27) = v0; + v0 = *(s32 *)((s8 *)s0 + 0x4); + v1 = 0x08000000; + v0 |= v1; + *(s32 *)((s8 *)s0 + 0x4) = v0; + + v0 = *(u16 *)((s8 *)s1 + 0x2C); + *(u16 *)((s8 *)s0 + 0x1A) = v0; + *(u16 *)((s8 *)s0 + 0x18) = v0; + + v0 = *(u16 *)((s8 *)s1 + 0x2); + v1 = 0x20; + *(u16 *)((s8 *)s1 + 0x2C) = v1; + v0 += 1; + *(u16 *)((s8 *)s1 + 0x2) = v0; +} + INCLUDE_ASM("asm/ov_SC04_020/nonmatchings/ov_SC04_020_jr_8017D604", func_8017FED0);