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

This commit is contained in:
Drew T
2026-08-12 16:16:08 -06:00
parent ea99a445b2
commit b4f6bbe8d3
6 changed files with 222 additions and 6 deletions
+37 -1
View File
@@ -7348,7 +7348,43 @@ void func_80185550(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8017A4AC", func_801857D4);
INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8017A4AC", func_801857F4);
extern void func_8012B1B4(s32 a0, s32 a1);
extern void func_8012CBCC(s32 a0);
extern int func_80182F4C(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_801857F4(s32 a0) {
extern u8 D_801A71A4[];
extern u8 D_801AE960[];
extern u8 D_801AEA50[];
extern u8 D_801AEB40[];
s32 pad[4];
func_8012B1B4(a0, (s32)D_801A71A4);
func_8012CBCC(a0);
func_80182F4C(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801AE960);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801AEA50);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801AEB40);
}
}
}
INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8017A4AC", func_801858F4);
+37 -1
View File
@@ -6406,7 +6406,43 @@ void func_80182EA8(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_8017C24C", func_8018312C);
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_8017C24C", func_8018314C);
extern void func_8012B1B4(void*, void*);
extern void func_8012CBCC(s32 a0);
extern int func_801808A4(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_8018314C(s32 a0) {
extern u8 D_801AD4D0[];
extern u8 D_801B4C8C[];
extern u8 D_801B4D7C[];
extern u8 D_801B4E6C[];
s32 pad[4];
((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801AD4D0);
func_8012CBCC(a0);
func_801808A4(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801B4C8C);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801B4D7C);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801B4E6C);
}
}
}
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_8017C24C", func_8018324C);
+37 -1
View File
@@ -5962,7 +5962,43 @@ void func_8018AD58(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80184A28", func_8018AFDC);
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80184A28", func_8018AFFC);
extern void func_8012B1B4(s32 a0, s32 a1);
extern void func_8012CBCC(s32 a0);
extern int func_80188754(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_8018AFFC(s32 a0) {
extern u8 D_801D5AB8[];
extern u8 D_801DD274[];
extern u8 D_801DD364[];
extern u8 D_801DD454[];
s32 pad[4];
func_8012B1B4(a0, (s32)D_801D5AB8);
func_8012CBCC(a0);
func_80188754(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801DD274);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801DD364);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801DD454);
}
}
}
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80184A28", func_8018B0FC);
+37 -1
View File
@@ -6216,7 +6216,43 @@ void func_8018D230(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_80186F00", func_8018D4B4);
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_80186F00", func_8018D4D4);
extern void func_8012B1B4(s32 a0, s32 a1);
extern void func_8012CBCC(s32 a0);
extern int func_8018AC2C(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_8018D4D4(s32 a0) {
extern u8 D_801D4BFC[];
extern u8 D_801DC3B8[];
extern u8 D_801DC4A8[];
extern u8 D_801DC598[];
s32 pad[4];
func_8012B1B4(a0, (s32)D_801D4BFC);
func_8012CBCC(a0);
func_8018AC2C(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801DC3B8);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801DC4A8);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801DC598);
}
}
}
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_80186F00", func_8018D5D4);
+37 -1
View File
@@ -6129,7 +6129,43 @@ void func_8018ABE8(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_80182890", func_8018AE6C);
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_80182890", func_8018AE8C);
extern void func_8012B1B4(void*, void*);
extern void func_8012CBCC(s32 a0);
extern int func_801885E4(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_8018AE8C(s32 a0) {
extern u8 D_801C2CEC[];
extern u8 D_801CA4A8[];
extern u8 D_801CA598[];
extern u8 D_801CA688[];
s32 pad[4];
((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801C2CEC);
func_8012CBCC(a0);
func_801885E4(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801CA4A8);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801CA598);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801CA688);
}
}
}
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_80182890", func_8018AF8C);
+37 -1
View File
@@ -5576,7 +5576,43 @@ void func_80181930(s32 arg0) {
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80181BB4);
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80181BD4);
extern void func_8012B1B4(void*, void*);
extern void func_8012CBCC(s32 a0);
extern int func_8017F32C(int param_1, short param_2);
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, void *a1);
void func_80181BD4(s32 a0) {
extern u8 D_801A7CF4[];
extern u8 D_801AF4B0[];
extern u8 D_801AF5A0[];
extern u8 D_801AF690[];
s32 pad[4];
((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801A7CF4);
func_8012CBCC(a0);
func_8017F32C(a0, 0x48);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10);
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF;
*(u16 *)(a0 + 0x100) -= 1;
if (*(s16 *)(a0 + 0x100) == 0) {
*(s16 *)(a0 + 2) = 6;
*(u16 *)(a0 + 0x100) = 0x2D;
*(s32 *)(a0 + 0x1C) = 0;
*(s16 *)(a0 + 0x104) = 0;
func_8012A828(a0, D_801AF4B0);
if (*(s32 *)(a0 + 0xCC) != 0) {
func_8012A828(*(s32 *)(a0 + 0xCC), D_801AF5A0);
}
if (*(s32 *)(a0 + 0xD0) != 0) {
func_8012A828(*(s32 *)(a0 + 0xD0), D_801AF690);
}
}
}
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80181CD4);