feat(phase-23): lora-grind gate — +23 fns x0 propagated (fleet 63.81%)

This commit is contained in:
Drew T
2026-06-30 07:17:05 -06:00
parent 996f54dac9
commit 8eb1158904
+129 -23
View File
@@ -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_SC02_028/nonmatchings/ov_SC02_028", 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_SC02_028/nonmatchings/ov_SC02_028", func_80128ED8);
@@ -149,7 +157,12 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012A464);
DEFINE_func_8012A4BC() /* dedup: shared engine-core @0x8012A4BC (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012A568);
extern void func_8012A598(void *a0);
void func_8012A568(void (*a0)(void)) {
((void (*)(void))func_8012A598)();
a0();
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012A598);
@@ -189,7 +202,10 @@ DEFINE_func_8012AD44() /* dedup: shared engine-core @0x8012AD44 (src/shared) */
DEFINE_func_8012AD50() /* dedup: shared engine-core @0x8012AD50 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012AD64);
void func_8012AD64(s32 *a0, s16 a1) {
*(s16 *)((s32)a0 + 0x34) = a1;
}
DEFINE_func_8012AD6C() /* dedup: shared engine-core @0x8012AD6C (src/shared) */
@@ -265,7 +281,10 @@ DEFINE_func_8012BEE8() /* dedup: shared engine-core @0x8012BEE8 (src/shared) */
DEFINE_func_8012BF10() /* dedup: shared engine-core @0x8012BF10 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012BF4C);
void func_8012BF4C(s32 *a0, s32 a1) {
*(s32 *)((s32)a0 + 0x1C) = a1;
}
DEFINE_func_8012BF54() /* dedup: shared engine-core @0x8012BF54 (src/shared) */
@@ -379,7 +398,10 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012E014);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012E138);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012E27C);
s32 func_8012E27C(void) {
return 0x1;
}
DEFINE_func_8012E284() /* dedup: shared engine-core @0x8012E284 (src/shared) */
@@ -601,7 +623,13 @@ DEFINE_func_80132DC4() /* dedup: shared engine-core @0x80132DC4 (src/shared) */
DEFINE_func_80132E6C() /* dedup: shared engine-core @0x80132E6C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80132EC4);
void func_80132EC4(s32 *a0, s16 a1) {
while (*a0 != 0) {
*(s16 *)((s32)a0 + 0x4) = a1;
a0 = (s32 *)((s32)a0 + 0x8);
}
}
DEFINE_func_80132EF4() /* dedup: shared engine-core @0x80132EF4 (src/shared) */
@@ -749,7 +777,16 @@ DEFINE_func_80138B88() /* dedup: shared engine-core @0x80138B88 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80138BE0);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80138C30);
void func_80138C30(void * a0)
{
s16 v1 = *(s16 *)((s32)a0 + 0x4);
if (v1 == 4) {
*(s16 *)((s32)a0 + 0x4) = 2;
} else {
*(s32 *)((s32)a0 + 0x8) |= 0x800;
}
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80138C60);
@@ -4413,7 +4450,14 @@ DEFINE_func_80174604() /* dedup: shared engine-core @0x80174604 (src/shared) */
DEFINE_func_80174630() /* dedup: shared engine-core @0x80174630 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80174650);
extern s32 D_801270BC;
extern s32 D_801150F8;
s32 func_80174650(s32 _arg0)
{
D_801270BC = D_801270BC | 1;
D_801150F8 = 0;
}
DEFINE_func_80174674() /* dedup: shared engine-core @0x80174674 (src/shared) */
@@ -4773,7 +4817,11 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017CB68);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017CBD4);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017CC60);
extern void func_8012C218(void *a0);
void func_8017CC60(void) {
((s32 (*)(void))func_8012C218)();
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017CC80);
@@ -4841,7 +4889,11 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EA48);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EA88);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EB14);
extern void func_800D1EBC(void);
void func_8017EB14(void) {
func_800D1EBC();
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EB34);
@@ -4857,11 +4909,18 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017ED00);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017ED3C);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017ED78);
s32 func_8017ED78(void) {
return 0;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017ED80);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EDE8);
extern void func_800D1EBC(void);
void func_8017EDE8(void) {
func_800D1EBC();
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017EE08);
@@ -4911,11 +4970,19 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017F9AC);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017FB44);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017FB74);
extern s32 resLoad_lastId;
s32 func_8017FB74(void) {
return (u32)(resLoad_lastId ^ 0x39) != 0;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017FB8C);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017FBBC);
extern void func_8017FD30(void);
void func_8017FBBC(void) {
func_8017FD30();
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8017FBDC);
@@ -5004,7 +5071,12 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801812FC);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801813B8);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801813E0);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_801813E0(s32 *a0) {
*(s16 *)((char *)a0 + 0xFC) = 0;
((void (*)(s32 *, s32))func_8012AD44)(a0, 0x1);
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80181404);
@@ -5026,7 +5098,11 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80181824);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801819F0);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80181A20);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_80181A20(void *arg0) {
((void (*)(s32, s32))func_8012AD44)((s32)arg0, 0x5);
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80181A40);
@@ -5064,7 +5140,11 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8018226C);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80182294);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801822D0);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_801822D0(void *arg0) {
((void (*)(void *, int))func_8012AD44)(arg0, 0x6);
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801822F0);
@@ -5124,7 +5204,11 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801839DC);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80183A0C);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80183A84);
extern s16 D_801D3292;
void func_80183A84(s32 arg0) {
*(s16 *)((s32)&D_801D3292 + 0x0) += arg0;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80183AA0);
@@ -5176,11 +5260,20 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801856B4);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801856F0);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8018572C);
void func_8018572C(void *a0) {
*(s8 *)((s32)a0 + 0xc1) = 0;
*(s16 *)((s32)a0 + 0x5e) = 0;
*(s16 *)((s32)a0 + 0x5c) &= 0xc800;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80185744);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801857E8);
void func_801857E8(void *a0) {
void *a1 = *(void **)((char *)a0 + 0x20);
*(u16 *)((char *)a1 + 0x12) += *(u16 *)((char *)a0 + 0xfc);
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80185804);
@@ -5223,7 +5316,10 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186318);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186344);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801863B4);
void func_801863B4(void *a0) {
M2C_FIELD(a0, s16 *, 0x2) = 4;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801863C0);
@@ -5239,7 +5335,12 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186994);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801869FC);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186A8C);
void func_80186A8C(void *a0) {
*(s16 *)((char *)a0 + 0x5c) = 0;
*(s16 *)((char *)a0 + 0x98) = 0;
*(s32 *)((char *)a0 + 0x1c) = 0;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186A9C);
@@ -5263,7 +5364,12 @@ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186F00);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80186F78);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_80187094);
extern s32 D_801A9788;
void func_80187094(s32 *a0) {
*(s16 *)((s32)a0 + 0x2) = 0x3;
*(s32 *)((s32)a0 + 0xcc) = &D_801A9788;
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_801870AC);