mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
feat(phase-30 S48-T6): propagate func_801841E0 to its zero-crack siblings
This commit is contained in:
@@ -3657,7 +3657,68 @@ INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020_jr_8017C24C", func_8017E27
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020_jr_8017C24C", func_8017E304);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020_jr_8017C24C", func_8017E350);
|
||||
|
||||
extern s32 func_801812A0(s32 a0, s32 a1);
|
||||
extern s32 func_8012BDBC(s32 a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_80183FD0(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_8017E350(s32 p)
|
||||
{
|
||||
|
||||
extern u8 D_801B5AC0[];
|
||||
extern u8 D_801B63D8[];
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
if (func_801812A0(p, 0x64) == 1) {
|
||||
*(u32 *)(p + 0xE0) |= 0x10;
|
||||
}
|
||||
|
||||
if (*(s32 *)(p + 0x90) == (s32) D_801B5AC0) {
|
||||
if (*(s32 *)(p + 0x94) == 0xB) {
|
||||
func_80183FD0(p, 0x8C0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(p + 0x94) == 8) {
|
||||
func_80183FD0(p, 0x8C0);
|
||||
}
|
||||
}
|
||||
|
||||
if (*(u16 *)(p + 0x72) & 0x4000) {
|
||||
if (func_8012BDBC(p, 0x300) == 0) {
|
||||
v0 = 6;
|
||||
goto set_and_return;
|
||||
}
|
||||
s1 = func_8012BCCC(p);
|
||||
if (s1 >= 0x100000) {
|
||||
v0 = 2;
|
||||
goto set_and_return;
|
||||
}
|
||||
if (s1 < 0x4000) {
|
||||
func_8012A828(p, D_801B63D8);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else if (s1 < 0x6400) {
|
||||
if ((*(s32 *)(p + 0xE0) & 0x10) == 0) {
|
||||
func_8012A828(p, D_801B63D8);
|
||||
return;
|
||||
}
|
||||
func_8012A828(p, D_801B5AC0);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else {
|
||||
v0 = 4;
|
||||
goto set_and_return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
set_and_return:
|
||||
*(s16 *)(p + 2) = v0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020_jr_8017C24C", func_8017E48C);
|
||||
|
||||
|
||||
@@ -4053,7 +4053,68 @@ INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_8017BEBC", func_801821A
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_8017BEBC", func_80182228);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_8017BEBC", func_80182274);
|
||||
|
||||
extern s32 func_801851C4(s32 a0, s32 a1);
|
||||
extern s32 func_8012BDBC(s32 a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_80187EF4(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_80182274(s32 p)
|
||||
{
|
||||
|
||||
extern u8 D_801D41E8[];
|
||||
extern u8 D_801D4B00[];
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
if (func_801851C4(p, 0x64) == 1) {
|
||||
*(u32 *)(p + 0xE0) |= 0x10;
|
||||
}
|
||||
|
||||
if (*(s32 *)(p + 0x90) == (s32) D_801D41E8) {
|
||||
if (*(s32 *)(p + 0x94) == 0xB) {
|
||||
func_80187EF4(p, 0x8C0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(p + 0x94) == 8) {
|
||||
func_80187EF4(p, 0x8C0);
|
||||
}
|
||||
}
|
||||
|
||||
if (*(u16 *)(p + 0x72) & 0x4000) {
|
||||
if (func_8012BDBC(p, 0x300) == 0) {
|
||||
v0 = 6;
|
||||
goto set_and_return;
|
||||
}
|
||||
s1 = func_8012BCCC(p);
|
||||
if (s1 >= 0x100000) {
|
||||
v0 = 2;
|
||||
goto set_and_return;
|
||||
}
|
||||
if (s1 < 0x4000) {
|
||||
func_8012A828(p, D_801D4B00);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else if (s1 < 0x6400) {
|
||||
if ((*(s32 *)(p + 0xE0) & 0x10) == 0) {
|
||||
func_8012A828(p, D_801D4B00);
|
||||
return;
|
||||
}
|
||||
func_8012A828(p, D_801D41E8);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else {
|
||||
v0 = 4;
|
||||
goto set_and_return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
set_and_return:
|
||||
*(s16 *)(p + 2) = v0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_8017BEBC", func_801823B0);
|
||||
|
||||
|
||||
@@ -4687,7 +4687,68 @@ INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_8017BEBC", func_8018467
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_8017BEBC", func_80184700);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_8017BEBC", func_8018474C);
|
||||
|
||||
extern s32 func_8018769C(s32 a0, s32 a1);
|
||||
extern s32 func_8012BDBC(s32 a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_8018A3CC(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_8018474C(s32 p)
|
||||
{
|
||||
|
||||
extern u8 D_801D332C[];
|
||||
extern u8 D_801D3C44[];
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
if (func_8018769C(p, 0x64) == 1) {
|
||||
*(u32 *)(p + 0xE0) |= 0x10;
|
||||
}
|
||||
|
||||
if (*(s32 *)(p + 0x90) == (s32) D_801D332C) {
|
||||
if (*(s32 *)(p + 0x94) == 0xB) {
|
||||
func_8018A3CC(p, 0x8C0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(p + 0x94) == 8) {
|
||||
func_8018A3CC(p, 0x8C0);
|
||||
}
|
||||
}
|
||||
|
||||
if (*(u16 *)(p + 0x72) & 0x4000) {
|
||||
if (func_8012BDBC(p, 0x300) == 0) {
|
||||
v0 = 6;
|
||||
goto set_and_return;
|
||||
}
|
||||
s1 = func_8012BCCC(p);
|
||||
if (s1 >= 0x100000) {
|
||||
v0 = 2;
|
||||
goto set_and_return;
|
||||
}
|
||||
if (s1 < 0x4000) {
|
||||
func_8012A828(p, D_801D3C44);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else if (s1 < 0x6400) {
|
||||
if ((*(s32 *)(p + 0xE0) & 0x10) == 0) {
|
||||
func_8012A828(p, D_801D3C44);
|
||||
return;
|
||||
}
|
||||
func_8012A828(p, D_801D332C);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else {
|
||||
v0 = 4;
|
||||
goto set_and_return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
set_and_return:
|
||||
*(s16 *)(p + 2) = v0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_8017BEBC", func_80184888);
|
||||
|
||||
|
||||
@@ -4091,7 +4091,68 @@ INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_8017C24C", func_8017EEB
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_8017C24C", func_8017EF38);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_8017C24C", func_8017EF84);
|
||||
|
||||
extern s32 func_80181ED4(s32 a0, s32 a1);
|
||||
extern s32 func_8012BDBC(s32 a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_80184C04(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_8017EF84(s32 p)
|
||||
{
|
||||
|
||||
extern u8 D_801BD720[];
|
||||
extern u8 D_801BE038[];
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
if (func_80181ED4(p, 0x64) == 1) {
|
||||
*(u32 *)(p + 0xE0) |= 0x10;
|
||||
}
|
||||
|
||||
if (*(s32 *)(p + 0x90) == (s32) D_801BD720) {
|
||||
if (*(s32 *)(p + 0x94) == 0xB) {
|
||||
func_80184C04(p, 0x8C0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(p + 0x94) == 8) {
|
||||
func_80184C04(p, 0x8C0);
|
||||
}
|
||||
}
|
||||
|
||||
if (*(u16 *)(p + 0x72) & 0x4000) {
|
||||
if (func_8012BDBC(p, 0x300) == 0) {
|
||||
v0 = 6;
|
||||
goto set_and_return;
|
||||
}
|
||||
s1 = func_8012BCCC(p);
|
||||
if (s1 >= 0x100000) {
|
||||
v0 = 2;
|
||||
goto set_and_return;
|
||||
}
|
||||
if (s1 < 0x4000) {
|
||||
func_8012A828(p, D_801BE038);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else if (s1 < 0x6400) {
|
||||
if ((*(s32 *)(p + 0xE0) & 0x10) == 0) {
|
||||
func_8012A828(p, D_801BE038);
|
||||
return;
|
||||
}
|
||||
func_8012A828(p, D_801BD720);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else {
|
||||
v0 = 4;
|
||||
goto set_and_return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
set_and_return:
|
||||
*(s16 *)(p + 2) = v0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032_jr_8017C24C", func_8017F0C0);
|
||||
|
||||
|
||||
@@ -6134,7 +6134,68 @@ INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80182B9
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80182C1C);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80182C68);
|
||||
|
||||
extern s32 func_80185BB8(s32 a0, s32 a1);
|
||||
extern s32 func_8012BDBC(s32 a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_801888E8(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_80182C68(s32 p)
|
||||
{
|
||||
|
||||
extern u8 D_801C6AB4[];
|
||||
extern u8 D_801C73CC[];
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
if (func_80185BB8(p, 0x64) == 1) {
|
||||
*(u32 *)(p + 0xE0) |= 0x10;
|
||||
}
|
||||
|
||||
if (*(s32 *)(p + 0x90) == (s32) D_801C6AB4) {
|
||||
if (*(s32 *)(p + 0x94) == 0xB) {
|
||||
func_801888E8(p, 0x8C0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(p + 0x94) == 8) {
|
||||
func_801888E8(p, 0x8C0);
|
||||
}
|
||||
}
|
||||
|
||||
if (*(u16 *)(p + 0x72) & 0x4000) {
|
||||
if (func_8012BDBC(p, 0x300) == 0) {
|
||||
v0 = 6;
|
||||
goto set_and_return;
|
||||
}
|
||||
s1 = func_8012BCCC(p);
|
||||
if (s1 >= 0x100000) {
|
||||
v0 = 2;
|
||||
goto set_and_return;
|
||||
}
|
||||
if (s1 < 0x4000) {
|
||||
func_8012A828(p, D_801C73CC);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else if (s1 < 0x6400) {
|
||||
if ((*(s32 *)(p + 0xE0) & 0x10) == 0) {
|
||||
func_8012A828(p, D_801C73CC);
|
||||
return;
|
||||
}
|
||||
func_8012A828(p, D_801C6AB4);
|
||||
*(u32 *)(p + 0xE0) &= ~0x10;
|
||||
return;
|
||||
} else {
|
||||
v0 = 4;
|
||||
goto set_and_return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
||||
set_and_return:
|
||||
*(s16 *)(p + 2) = v0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033_jr_8017C24C", func_80182DA4);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user