From ec741e2b463a3b53f17bf941d58e3831e8dca587 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 03:30:22 -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_002/ov_SC04_002_jr_8017BEBC.c | 26 ++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c index 22f1bd363..fa668073f 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -6514,7 +6514,31 @@ void func_80184E84(void) { INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002_jr_8017BEBC", func_80184E8C); -INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002_jr_8017BEBC", func_80184F44); +extern s32 D_801AB044; +extern void func_8001C214(s32 a0, s32 a1); +extern void func_8012C1B8(void); +extern void func_8012CAE4(void *a0); + +void func_80184F44(int param_1) +{ + int v0; + int v1; + int temp; + + v0 = ((int (*)(void))func_8012C1B8)(); + *(int *)(param_1 + 0x20) = v0; + if (v0 == 0) { + ((void (*)(int))func_8012CAE4)(param_1); + } else { + ((int (*)(int, void *))func_8001C214)(v0, &D_801AB044); + temp = *(int *)(param_1 + 0x64); + v1 = *(unsigned short *)(temp + 0x36); + *(short *)(param_1 + 0x2) = 1; + *(short *)(param_1 + 0xFE) = 0x7FFF; + *(short *)(param_1 + 0xFC) = v1; + } +} + INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002_jr_8017BEBC", func_80184FB4);