From 97d9eb43e84e643ddab85399e2e4a8e0a4653759 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:31:45 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20grinder=20gate=20=E2=80=94=20+3?= =?UTF-8?q?=20fns=20x0=20propagated=20(fleet=20None%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ov_SC02_003/ov_SC02_003_jr_80140608.c | 35 ++++++++++++++- src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.c | 52 ++++++++++++++++++++++- 2 files changed, 84 insertions(+), 3 deletions(-) diff --git a/src/ov_SC02_003/ov_SC02_003_jr_80140608.c b/src/ov_SC02_003/ov_SC02_003_jr_80140608.c index db7c1a142..63e4f6ed8 100644 --- a/src/ov_SC02_003/ov_SC02_003_jr_80140608.c +++ b/src/ov_SC02_003/ov_SC02_003_jr_80140608.c @@ -1428,7 +1428,40 @@ void func_80141A60(void) } -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_80140608", func_80141B90); + + + + + + + + + + + + + + + + +extern void func_8013FAF8(s16, s16); +extern short D_800B9A02; +extern u8 D_801151C8[]; +extern s32 D_801151D0; +extern u16 D_80115116; +extern u16 D_80115112; +extern u8 D_800B9A15; +void func_80141B90(void) +{ + volatile char pad; + D_801151D0 = ((s32 *) D_801151C8)[*((u16 *) (&D_800B9A02))]; + ((void (*)(s32, s32))func_8013FAF8)(2, 3); + if (D_80115116 == 0) + { + *((s8 *) (&D_800B9A15)) = 0; + D_80115112 = D_80115112 + 1; + } +} DEFINE_func_80141C04() /* dedup: shared engine-core @0x80141C04 (src/shared) */ diff --git a/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.c b/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.c index d73e24d2b..62302e6bd 100644 --- a/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.c +++ b/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.c @@ -3917,7 +3917,31 @@ void func_80188ECC(void *a0) { DEFINE_func_80188F08() /* dedup: shared engine-core @0x80188F08 (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80188F30); + + + + + + + + + + + + + + + + +void func_80188F30(void *arg0) +{ + *((s16 *) (((char *) arg0) + 0x2)) = 1; + *((s32 *) (((char *) arg0) + 0x1c)) = 1; + *((s16 *) (((char *) arg0) + 0xa8)) = 0x7f; + *((s16 *) (((char *) arg0) + 0x84)) = 1; + *((s32 *) (((char *) arg0) + 0xa4)) = 0; + *((unsigned short *) (((char *) arg0) + 0x72)) |= 0x1000; +} INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80188F60); @@ -4112,7 +4136,31 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_8018A44 INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_8018A550); -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_8018A640); + + + + + + + + + + + + + + + + +void func_8018A640(s32 *a0, s32 a1, s32 a2, s32 a3) +{ + s8 *new_var; + new_var = (s8 *) (a0 + 0x0); + *new_var = a1; + new_var = a0; + *((s8 *) (new_var + 0x1)) = a2; + *((s8 *) (new_var + 0x2)) = a3; +} DEFINE_func_8018A650() /* dedup: shared engine-core @0x8018A650 (src/shared) */