From aee796d08c19d40c8afbd89c208f4f83ac3de980 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 13 Aug 2026 11:35:36 -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/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c | 29 +++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c index f1d8a831c..1663de652 100644 --- a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c +++ b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c @@ -3954,7 +3954,22 @@ INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017E60 INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017E634); -INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017E730); +extern s32 func_80180F84(void); +extern void func_8012C098(void*); +extern void (*D_80188554[])(int); + +void func_8017E730(int param_1) +{ + int v0; + v0 = ((int (*)(void))func_80180F84)(); + + if (v0 == 0x1a) { + ((void (*)(int))func_8012C098)(param_1); + } else { + D_80188554[*(unsigned short *)(param_1 + 2)](param_1); + } +} + INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017E798); @@ -3986,7 +4001,17 @@ INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017EEF INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017EF34); -INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017EF78); +extern s32 func_80181280(s32 a0); +extern void func_80180F94(s32 a0); +extern s32 func_8012AD50(void*); + +void func_8017EF78(s32 a0) { + if (func_80181280(a0) != 0) { + func_80180F94(0x11); + ((void (*)(s32))func_8012AD50)(a0); + } +} + INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_8017EFB8);