mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
feat(phase-30 S48-T6): propagate func_801EFF54 to its zero-crack siblings
This commit is contained in:
@@ -323,7 +323,77 @@ INCLUDE_ASM("asm/md_SC03_134/nonmatchings/md_SC03_134", func_801E2F08);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_134/nonmatchings/md_SC03_134", func_801E303C);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_134/nonmatchings/md_SC03_134", func_801E30EC);
|
||||
|
||||
extern s32 func_8012BA10(s32 a0, s32 a1);
|
||||
extern s32 func_8012B608(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern s32 func_801789AC(s32 a0);
|
||||
extern void func_80178D18(s32 a0);
|
||||
|
||||
void func_801E30EC(void *param_1) {
|
||||
|
||||
extern s32 D_801E37E8[];
|
||||
extern s32 D_801E37DC[];
|
||||
extern s32 D_801E37F4[];
|
||||
|
||||
switch (*(s16 *)((s32)param_1 + 0xFC)) {
|
||||
case 0: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E37E8[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E37DC[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
s32 v0 = func_8012B608(*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12), 0x600, 8);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E37DC[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
s32 cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
s32 target = D_801E37F4[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)param_1 + 0x70) == 0) {
|
||||
if (func_801789AC((s32)param_1) != 0) {
|
||||
func_80178D18((s32)param_1);
|
||||
*(s16 *)((s32)param_1 + 0x70) = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_134/nonmatchings/md_SC03_134", func_801E3290);
|
||||
|
||||
|
||||
@@ -329,7 +329,77 @@ INCLUDE_ASM("asm/md_SC04_026/nonmatchings/md_SC04_026", func_801E8470);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC04_026/nonmatchings/md_SC04_026", func_801E85A4);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC04_026/nonmatchings/md_SC04_026", func_801E8654);
|
||||
|
||||
extern s32 func_8012BA10(s32 a0, s32 a1);
|
||||
extern s32 func_8012B608(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern s32 func_801789AC(s32 a0);
|
||||
extern void func_80178D18(s32 a0);
|
||||
|
||||
void func_801E8654(void *param_1) {
|
||||
|
||||
extern s32 D_801E8D28[];
|
||||
extern s32 D_801E8D1C[];
|
||||
extern s32 D_801E8D34[];
|
||||
|
||||
switch (*(s16 *)((s32)param_1 + 0xFC)) {
|
||||
case 0: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E8D28[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E8D1C[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
s32 v0 = func_8012B608(*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12), 0x600, 8);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801E8D1C[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
s32 cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
s32 target = D_801E8D34[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)param_1 + 0x70) == 0) {
|
||||
if (func_801789AC((s32)param_1) != 0) {
|
||||
func_80178D18((s32)param_1);
|
||||
*(s16 *)((s32)param_1 + 0x70) = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC04_026/nonmatchings/md_SC04_026", func_801E87F8);
|
||||
|
||||
|
||||
@@ -297,7 +297,77 @@ INCLUDE_ASM("asm/md_SC05_025/nonmatchings/md_SC05_025", func_801EE2F8);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC05_025/nonmatchings/md_SC05_025", func_801EE42C);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC05_025/nonmatchings/md_SC05_025", func_801EE4DC);
|
||||
|
||||
extern s32 func_8012BA10(s32 a0, s32 a1);
|
||||
extern s32 func_8012B608(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern s32 func_801789AC(s32 a0);
|
||||
extern void func_80178D18(s32 a0);
|
||||
|
||||
void func_801EE4DC(void *param_1) {
|
||||
|
||||
extern s32 D_801EEBB0[];
|
||||
extern s32 D_801EEBA4[];
|
||||
extern s32 D_801EEBBC[];
|
||||
|
||||
switch (*(s16 *)((s32)param_1 + 0xFC)) {
|
||||
case 0: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801EEBB0[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
s32 v0 = func_8012BA10((s32)param_1, 0x10);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801EEBA4[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
s32 v0 = func_8012B608(*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12), 0x600, 8);
|
||||
s32 cur;
|
||||
s32 target;
|
||||
*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v0) & 0xFFF;
|
||||
cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
target = D_801EEBA4[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
s32 cur = *(s32 *)((s32)param_1 + 0x90);
|
||||
s32 target = D_801EEBBC[*(s16 *)((s32)param_1 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)param_1, target);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)param_1 + 0x70) == 0) {
|
||||
if (func_801789AC((s32)param_1) != 0) {
|
||||
func_80178D18((s32)param_1);
|
||||
*(s16 *)((s32)param_1 + 0x70) = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC05_025/nonmatchings/md_SC05_025", func_801EE680);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user