From 39ccbee46c5bd2d056dbfe76c8cb7cfba7e3d997 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:58:40 -0600 Subject: [PATCH] =?UTF-8?q?feat(phase-23):=20lora-grind=20gate=20=E2=80=94?= =?UTF-8?q?=20+3=20fns=20x0=20propagated=20(fleet=2064.17%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ov_SC01_074/ov_SC01_074.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/ov_SC01_074/ov_SC01_074.c b/src/ov_SC01_074/ov_SC01_074.c index 140506acb..e7be9a6e2 100644 --- a/src/ov_SC01_074/ov_SC01_074.c +++ b/src/ov_SC01_074/ov_SC01_074.c @@ -73,7 +73,15 @@ DEFINE_func_80128D60() /* dedup: shared engine-core @0x80128D60 (src/shared) */ DEFINE_func_80128DB4() /* dedup: shared engine-core @0x80128DB4 (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_80128EA8); +void func_80128EA8(s32 a0, s32 a1, s32 a2) +{ + *(s32 *)((s32)a1 + 0x0) = a2; + *(s16 *)((s32)a1 + 0x4) = 0; + *(s16 *)((s32)a1 + 0x6) = (*(s32 *)((s32)a2 + 0x4)) & 0x3F; + *(s16 *)((s32)a0 + 0x28) = *(s16 *)((s32)a2 + 0x0); + *(s16 *)((s32)a0 + 0x2A) = *(s16 *)((s32)a2 + 0x2); + } + INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_80128ED8); @@ -149,7 +157,12 @@ INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8012A464); DEFINE_func_8012A4BC() /* dedup: shared engine-core @0x8012A4BC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8012A568); +extern void func_8012A598(void *a0); + void func_8012A568(void (*a0)(void)) { + ((void (*)(void))func_8012A598)(); + a0(); + } + INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8012A598); @@ -4854,7 +4867,14 @@ INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8017D7A4); INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8017D80C); -INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8017D8A8); +extern s32 func_80171990(u8 *a0); + s32 func_8017D8A8(s32 arg0) { + *(s32 *)(arg0 + 0x200) = *(s32 *)(arg0 + 0x200) - 1; + if (*(s32 *)(arg0 + 0x200) == -1) { + ((void (*)(void))func_80171990)(); + } + } + INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8017D8DC);