mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 07:10:32 -04:00
feat(phase-26): h_seq family sweep — 3 member-matches banked via remap_hseq
This commit is contained in:
@@ -437,7 +437,65 @@ void func_801E30EC(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_134/nonmatchings/md_SC03_134", func_801E3290);
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_8012C658(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012E88C(u8 *a0);
|
||||
extern s32 func_80178B18(s32 a0, s32 a1);
|
||||
|
||||
|
||||
void func_801E3290(void *a0) {
|
||||
|
||||
extern s32 D_801E9E3C;
|
||||
extern s32 D_801E9E38;
|
||||
extern s32 D_801E37D0[];
|
||||
extern s32 D_801E37B8[][2];
|
||||
extern s32 D_801E37E8[];
|
||||
extern s32 D_801E389C;
|
||||
s32 v0;
|
||||
s32 cur;
|
||||
s32 target;
|
||||
|
||||
if ((u32)(func_80029504() - 0x122) >= 0xA) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0) {
|
||||
D_801E9E3C = func_8012C658(0x1C1, 1, 0);
|
||||
D_801E9E38 = func_8012C658(0x1C1, 2, 0);
|
||||
}
|
||||
|
||||
v0 = func_8012C1B8();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
func_8001C214(v0, D_801E37D0[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)(*(s32 *)((s32)a0 + 0x68) + 0xC) = 0x7FFF;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E37B8[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E37B8[*(s16 *)((s32)a0 + 0x70)]);
|
||||
func_8012E88C((u8 *)a0);
|
||||
|
||||
cur = *(s32 *)((s32)a0 + 0x90);
|
||||
target = D_801E37E8[*(s16 *)((s32)a0 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)a0, target);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) != 0) {
|
||||
func_80178B18((s32)a0, (s32)&D_801E389C);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -442,7 +442,65 @@ void func_801E8654(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC04_026/nonmatchings/md_SC04_026", func_801E87F8);
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_8012C658(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012E88C(u8 *a0);
|
||||
extern s32 func_80178B18(s32 a0, s32 a1);
|
||||
|
||||
|
||||
void func_801E87F8(void *a0) {
|
||||
|
||||
extern s32 D_801EF37C;
|
||||
extern s32 D_801EF378;
|
||||
extern s32 D_801E8D10[];
|
||||
extern s32 D_801E8CF8[][2];
|
||||
extern s32 D_801E8D28[];
|
||||
extern s32 D_801E8DDC;
|
||||
s32 v0;
|
||||
s32 cur;
|
||||
s32 target;
|
||||
|
||||
if ((u32)(func_80029504() - 0x122) >= 0xA) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0) {
|
||||
D_801EF37C = func_8012C658(0x1C1, 1, 0);
|
||||
D_801EF378 = func_8012C658(0x1C1, 2, 0);
|
||||
}
|
||||
|
||||
v0 = func_8012C1B8();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
func_8001C214(v0, D_801E8D10[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)(*(s32 *)((s32)a0 + 0x68) + 0xC) = 0x7FFF;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E8CF8[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E8CF8[*(s16 *)((s32)a0 + 0x70)]);
|
||||
func_8012E88C((u8 *)a0);
|
||||
|
||||
cur = *(s32 *)((s32)a0 + 0x90);
|
||||
target = D_801E8D28[*(s16 *)((s32)a0 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)a0, target);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) != 0) {
|
||||
func_80178B18((s32)a0, (s32)&D_801E8DDC);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -434,7 +434,65 @@ void func_801EE4DC(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC05_025/nonmatchings/md_SC05_025", func_801EE680);
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_8012C658(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012E88C(u8 *a0);
|
||||
extern s32 func_80178B18(s32 a0, s32 a1);
|
||||
|
||||
|
||||
void func_801EE680(void *a0) {
|
||||
|
||||
extern s32 D_801F5204;
|
||||
extern s32 D_801F5200;
|
||||
extern s32 D_801EEB98[];
|
||||
extern s32 D_801EEB80[][2];
|
||||
extern s32 D_801EEBB0[];
|
||||
extern s32 D_801EEC64;
|
||||
s32 v0;
|
||||
s32 cur;
|
||||
s32 target;
|
||||
|
||||
if ((u32)(func_80029504() - 0x122) >= 0xA) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) == 0) {
|
||||
D_801F5204 = func_8012C658(0x1C1, 1, 0);
|
||||
D_801F5200 = func_8012C658(0x1C1, 2, 0);
|
||||
}
|
||||
|
||||
v0 = func_8012C1B8();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
func_8001C214(v0, D_801EEB98[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)(*(s32 *)((s32)a0 + 0x68) + 0xC) = 0x7FFF;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801EEB80[*(s16 *)((s32)a0 + 0x70)]);
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012E8E0((s32)a0, (s32)&D_801EEB80[*(s16 *)((s32)a0 + 0x70)]);
|
||||
func_8012E88C((u8 *)a0);
|
||||
|
||||
cur = *(s32 *)((s32)a0 + 0x90);
|
||||
target = D_801EEBB0[*(s16 *)((s32)a0 + 0x70)];
|
||||
if (cur != target) {
|
||||
func_8012A828((s32)a0, target);
|
||||
}
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0x70) != 0) {
|
||||
func_80178B18((s32)a0, (s32)&D_801EEC64);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user