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

This commit is contained in:
Drew T
2026-08-12 18:23:49 -06:00
parent 440b244c18
commit e807e1d571
3 changed files with 114 additions and 3 deletions
+38 -1
View File
@@ -7512,7 +7512,44 @@ void func_80185AEC(void *a0)
}
INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8017A4AC", func_80185B0C);
extern s32 func_8012C354(s32 a0, s32 a1);
extern void func_8001C214(s32 a0, s32 a1);
extern void func_8012B030(s32 a0);
extern void func_8012A828(s32 a0, void *a1);
extern void func_8012B23C(s32 a0);
void func_80185B0C(s32 a0) {
extern u8 D_801A71E8[];
extern u8 D_801AC120[];
extern u8 D_801AE760[];
extern u8 D_801A721C[];
s32 v0;
v0 = func_8012C354(a0, (s32)D_801A71E8);
if (v0 != 0) {
if (*(s16 *)(a0 + 0x70) != 0) {
func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801AC120);
}
*(u8 *)(a0 + 0xC0) = 1;
*(s32 *)(a0 + 0xB4) = 0xFFFFDFDF;
func_8012B030(a0);
*(s16 *)(a0 + 0xAE) = 0x2100;
func_8012A828(a0, D_801AE760);
*(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1;
func_8012B23C(a0);
*(void **)(a0 + 0xBC) = D_801A721C;
*(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2;
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400;
}
}
void func_80185BFC(void) {
}
+38 -1
View File
@@ -6312,7 +6312,44 @@ void func_8018B2F4(void *a0)
}
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80184A28", func_8018B314);
extern s32 func_8012C354(s32 a0, s32 a1);
extern void func_8001C214(s32 a0, s32 a1);
extern void func_8012B030(s32 a0);
extern void func_8012A828(s32 a0, void *a1);
extern void func_8012B23C(s32 a0);
void func_8018B314(s32 a0) {
extern u8 D_801D5AFC[];
extern u8 D_801DAA34[];
extern u8 D_801DD074[];
extern u8 D_801D5B30[];
s32 v0;
v0 = func_8012C354(a0, (s32)D_801D5AFC);
if (v0 != 0) {
if (*(s16 *)(a0 + 0x70) != 0) {
func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801DAA34);
}
*(u8 *)(a0 + 0xC0) = 1;
*(s32 *)(a0 + 0xB4) = 0xFFFFDFDF;
func_8012B030(a0);
*(s16 *)(a0 + 0xAE) = 0x2100;
func_8012A828(a0, D_801DD074);
*(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1;
func_8012B23C(a0);
*(void **)(a0 + 0xBC) = D_801D5B30;
*(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2;
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400;
}
}
void func_8018B404(void) {
}
+38 -1
View File
@@ -6568,7 +6568,44 @@ void func_8018D7CC(void *a0)
}
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_80186F00", func_8018D7EC);
extern s32 func_8012C354(s32, void*);
extern void func_8001C214(s32 a0, s32 a1);
extern void func_8012B030(s32 a0);
extern void func_8012A828(s32 a0, void *a1);
extern void func_8012B23C(s32 a0);
void func_8018D7EC(s32 a0) {
extern u8 D_801D4C40[];
extern u8 D_801D9B78[];
extern u8 D_801DC1B8[];
extern u8 D_801D4C74[];
s32 v0;
v0 = ((s32 (*)(s32, s32))func_8012C354)(a0, (s32)D_801D4C40);
if (v0 != 0) {
if (*(s16 *)(a0 + 0x70) != 0) {
func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801D9B78);
}
*(u8 *)(a0 + 0xC0) = 1;
*(s32 *)(a0 + 0xB4) = 0xFFFFDFDF;
func_8012B030(a0);
*(s16 *)(a0 + 0xAE) = 0x2100;
func_8012A828(a0, D_801DC1B8);
*(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1;
func_8012B23C(a0);
*(void **)(a0 + 0xBC) = D_801D4C74;
*(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2;
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400;
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400;
}
}
void func_8018D8DC(void) {
}