mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 23:24:32 -04:00
feat(phase-30 S48-T6): propagate func_8017CD10 to its zero-crack siblings
This commit is contained in:
@@ -5553,7 +5553,47 @@ INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8017AE2C", func_8017F0E
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8017AE2C", func_8017F160);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8017AE2C", func_8017F1AC);
|
||||
|
||||
extern void func_8017F2AC(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017F1AC(void *a0) {
|
||||
|
||||
extern u16 D_80194C1C[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017F2AC(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_80194C1C[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
@@ -3798,7 +3798,47 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017CC4
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017CD10);
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017CD10(void *a0) {
|
||||
|
||||
extern u16 D_8018EFE8[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_8018EFE8[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
@@ -3796,7 +3796,47 @@ INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8017AE2C", func_8017CC4
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8017AE2C", func_8017CD10);
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017CD10(void *a0) {
|
||||
|
||||
extern u16 D_8018A988[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_8018A988[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
@@ -3762,7 +3762,47 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017AE2C", func_8017CC4
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017AE2C", func_8017CD10);
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017CD10(void *a0) {
|
||||
|
||||
extern u16 D_8018D3E4[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_8018D3E4[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
@@ -3756,7 +3756,47 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8017AE2C", func_8017CC4
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8017AE2C", func_8017CD10);
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017CD10(void *a0) {
|
||||
|
||||
extern u16 D_8018D3E4[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_8018D3E4[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
@@ -3768,7 +3768,47 @@ INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8017AE2C", func_8017CC4
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8017AE2C", func_8017CD10);
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
extern void func_80147324(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017CD10(void *a0) {
|
||||
|
||||
extern u16 D_8018BD04[][2];
|
||||
s32 *s2;
|
||||
s16 v0;
|
||||
|
||||
s2 = *(s32 **)((s32)a0 + 0x20);
|
||||
|
||||
if (*(s32 *)((s32)a0 + 0x1C) & 1) {
|
||||
s2[1] |= 0x80000000;
|
||||
} else {
|
||||
s2[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF;
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
|
||||
if (v0 == 0 || v0 == 0x800) {
|
||||
if (*(s16 *)((s32)a0 + 0x24) != 0) {
|
||||
*(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40;
|
||||
*(u16 *)((s32)s2 + 0x1A) = v0;
|
||||
*(u16 *)((s32)s2 + 0x18) = v0;
|
||||
|
||||
if (v0 < 0) {
|
||||
func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F);
|
||||
func_80147324(D_8018BD04[*(s32 *)((s32)a0 + 0x2C)][0]);
|
||||
((void (*)(s32))func_80146C3C)((s32)a0);
|
||||
}
|
||||
|
||||
*(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user