feat(phase-30 S48-T6): propagate func_80187F2C to its zero-crack siblings

This commit is contained in:
Drew T
2026-08-12 16:15:34 -06:00
parent 18ef92c482
commit 2d61baa9e9
7 changed files with 196 additions and 7 deletions
+28 -1
View File
@@ -7735,7 +7735,34 @@ INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_801789AC", func_8018096
INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_801789AC", func_801809E8);
INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_801789AC", func_80180A9C);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, u16, u16);
void func_80180A9C(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_801789AC", func_80180B7C);
+28 -1
View File
@@ -5038,7 +5038,34 @@ INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_8017EC58", func_8018371
INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_8017EC58", func_80183790);
INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_8017EC58", func_80183844);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_80183844(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_8017EC58", func_80183924);
+28 -1
View File
@@ -3233,7 +3233,34 @@ INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_80183AE0", func_8018462
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_80183AE0", func_801846A4);
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_80183AE0", func_80184758);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_80184758(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_80183AE0", func_80184838);
+28 -1
View File
@@ -6198,7 +6198,34 @@ INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_8017C294", func_801823A
INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_8017C294", func_80182428);
INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_8017C294", func_801824DC);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_801824DC(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_8017C294", func_801825BC);
+28 -1
View File
@@ -3821,7 +3821,34 @@ INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_80181C80", func_801836A
INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_80181C80", func_8018372C);
INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_80181C80", func_801837E0);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_801837E0(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_80181C80", func_801838C0);
+28 -1
View File
@@ -3852,7 +3852,34 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_80187DF
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_80187E78);
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_80187F2C);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_80187F2C(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_8018800C);
+28 -1
View File
@@ -3781,7 +3781,34 @@ INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8017F210", func_80180C3
INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8017F210", func_80180CBC);
INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8017F210", func_80180D70);
extern s32 func_8004787C(s32 a0);
extern s32 func_80047948(s32 a0);
extern s32 func_8012BCCC(s32 a0);
extern s32 func_8012BDBC(s32 a0, s32 a1);
extern void func_8012E688(s32, s32, s32);
void func_80180D70(s32 a0)
{
*(s32 *)(a0 + 0x8) -= 0x80000;
*(s32 *)(a0 + 0x4) += func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
*(s32 *)(a0 + 0xC) += func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) << 7;
if (--*(s16 *)(a0 + 0xFE) == 0) {
if (func_8012BCCC(a0) < 0x4001) {
if (func_8012BDBC(a0, 0x200) == 1) {
*(s16 *)(a0 + 0x2) = 5;
*(s16 *)(a0 + 0xFE) = 4;
((void (*)(s32, s32, s32))func_8012E688)(a0, 0x98F, 0);
} else {
*(s16 *)(a0 + 0x2) = 7;
}
} else {
*(s16 *)(a0 + 0x2) = 7;
}
}
}
INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8017F210", func_80180E50);