mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-07 01:18:49 -04:00
feat(phase-30 S48-T6): propagate func_8017EDA4 to its zero-crack siblings
This commit is contained in:
@@ -3803,7 +3803,54 @@ void func_8017E188(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_013/nonmatchings/ov_SC06_013_jr_8017BEBC", func_8017E1C4);
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B23C(void *a0);
|
||||
|
||||
|
||||
void func_8017E1C4(void *a0) {
|
||||
|
||||
extern u8 D_80195AEC[];
|
||||
extern s32 D_80195B20[];
|
||||
extern u8 D_8017EEF8[];
|
||||
if (func_8012C354((s32)a0, (s32)D_80195AEC) != 0) {
|
||||
u16 v1 = *(u16 *)((s32)a0 + 0x70);
|
||||
|
||||
if (v1 & 0x10) {
|
||||
u16 v0 = v1 & ~0x10;
|
||||
*(u16 *)((s32)a0 + 0x70) = v0;
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_80195B20[(s16)v0]);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
} else {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_80195B20[(s16)v1]);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 8 || *(s16 *)((s32)a0 + 0x70) == 0xA) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 9) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 2;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0xB) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 4;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
func_8012A828((s32 *)a0, (s32)D_8017EEF8);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
func_8012B23C(a0);
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_013/nonmatchings/ov_SC06_013_jr_8017BEBC", func_8017E30C);
|
||||
|
||||
|
||||
@@ -4099,7 +4099,54 @@ void func_8017F4EC(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017F528);
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B23C(void *a0);
|
||||
|
||||
|
||||
void func_8017F528(void *a0) {
|
||||
|
||||
extern u8 D_80199ECC[];
|
||||
extern s32 D_80199F00[];
|
||||
extern u8 D_8018025C[];
|
||||
if (func_8012C354((s32)a0, (s32)D_80199ECC) != 0) {
|
||||
u16 v1 = *(u16 *)((s32)a0 + 0x70);
|
||||
|
||||
if (v1 & 0x10) {
|
||||
u16 v0 = v1 & ~0x10;
|
||||
*(u16 *)((s32)a0 + 0x70) = v0;
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_80199F00[(s16)v0]);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
} else {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_80199F00[(s16)v1]);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 8 || *(s16 *)((s32)a0 + 0x70) == 0xA) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 9) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 2;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0xB) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 4;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
func_8012A828((s32 *)a0, (s32)D_8018025C);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
func_8012B23C(a0);
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017F670);
|
||||
|
||||
|
||||
@@ -3939,7 +3939,54 @@ void func_8017E044(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_015/nonmatchings/ov_SC06_015_jr_8017BEBC", func_8017E080);
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B23C(void *a0);
|
||||
|
||||
|
||||
void func_8017E080(void *a0) {
|
||||
|
||||
extern u8 D_8018F8BC[];
|
||||
extern s32 D_8018F8F0[];
|
||||
extern u8 D_8017EDB4[];
|
||||
if (func_8012C354((s32)a0, (s32)D_8018F8BC) != 0) {
|
||||
u16 v1 = *(u16 *)((s32)a0 + 0x70);
|
||||
|
||||
if (v1 & 0x10) {
|
||||
u16 v0 = v1 & ~0x10;
|
||||
*(u16 *)((s32)a0 + 0x70) = v0;
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_8018F8F0[(s16)v0]);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
} else {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_8018F8F0[(s16)v1]);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 8 || *(s16 *)((s32)a0 + 0x70) == 0xA) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 9) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 2;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0xB) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 4;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
func_8012A828((s32 *)a0, (s32)D_8017EDB4);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
func_8012B23C(a0);
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_015/nonmatchings/ov_SC06_015_jr_8017BEBC", func_8017E1C8);
|
||||
|
||||
|
||||
@@ -3992,7 +3992,54 @@ void func_8018384C(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016_jr_8017C8D0", func_80183888);
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B23C(void *a0);
|
||||
|
||||
|
||||
void func_80183888(void *a0) {
|
||||
|
||||
extern u8 D_8019A53C[];
|
||||
extern s32 D_8019A570[];
|
||||
extern u8 D_801851C4[];
|
||||
if (func_8012C354((s32)a0, (s32)D_8019A53C) != 0) {
|
||||
u16 v1 = *(u16 *)((s32)a0 + 0x70);
|
||||
|
||||
if (v1 & 0x10) {
|
||||
u16 v0 = v1 & ~0x10;
|
||||
*(u16 *)((s32)a0 + 0x70) = v0;
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_8019A570[(s16)v0]);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
} else {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_8019A570[(s16)v1]);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 8 || *(s16 *)((s32)a0 + 0x70) == 0xA) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 9) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 2;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0xB) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 4;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
func_8012A828((s32 *)a0, (s32)D_801851C4);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
func_8012B23C(a0);
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016_jr_8017C8D0", func_801839D0);
|
||||
|
||||
|
||||
@@ -4029,7 +4029,54 @@ void func_801818FC(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030_jr_8017C8D0", func_80181938);
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32, void*);
|
||||
extern void func_8012B23C(void *a0);
|
||||
|
||||
|
||||
void func_80181938(void *a0) {
|
||||
|
||||
extern u8 D_801B4D44[];
|
||||
extern s32 D_801B4D78[];
|
||||
extern u8 D_80182184[];
|
||||
if (func_8012C354((s32)a0, (s32)D_801B4D44) != 0) {
|
||||
u16 v1 = *(u16 *)((s32)a0 + 0x70);
|
||||
|
||||
if (v1 & 0x10) {
|
||||
u16 v0 = v1 & ~0x10;
|
||||
*(u16 *)((s32)a0 + 0x70) = v0;
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_801B4D78[(s16)v0]);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
} else {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), D_801B4D78[(s16)v1]);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 8 || *(s16 *)((s32)a0 + 0x70) == 0xA) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 9) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 2;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0xB) {
|
||||
*(s16 *)((s32)a0 + 0x34) = 4;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)D_80182184);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
func_8012B23C(a0);
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030_jr_8017C8D0", func_80181A80);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user