mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 06:49:47 -04:00
feat(decomp): worker gate — +3 fns x0 propagated (fleet 95.3%)
This commit is contained in:
@@ -4674,7 +4674,46 @@ INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017F9B
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FA78);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FB40);
|
||||
extern s32 func_80029178(s32 arg);
|
||||
extern s32 func_8012BD14(void);
|
||||
extern s32 func_80178BF8();
|
||||
extern void func_80172710(void);
|
||||
|
||||
s32 func_8017FB40(void *s0) {
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a0;
|
||||
|
||||
v0 = func_80029178(0x13A);
|
||||
v0 &= 0xFF;
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a0 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
v1 = *(u16 *)(a0 + 0x2);
|
||||
v0 = 0x1;
|
||||
if (v1 != v0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = *(u16 *)(a0 + 0x34);
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = func_8012BD14();
|
||||
if (v0 >= 0x4001) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = 0x1;
|
||||
v1 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
*(u16 *)(v1 + 0x34) = v0;
|
||||
((void (*)(void))func_80178BF8)();
|
||||
return (s32)&(*(char *)&func_80172710);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80188A78[])(void);
|
||||
@@ -4696,7 +4735,46 @@ INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FC7
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FD40);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FE08);
|
||||
extern s32 func_80029178(s32 arg);
|
||||
extern s32 func_8012BD14(void);
|
||||
extern s32 func_80178BF8();
|
||||
extern void func_80172710(void);
|
||||
|
||||
s32 func_8017FE08(void *s0) {
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a0;
|
||||
|
||||
v0 = func_80029178(0x139);
|
||||
v0 &= 0xFF;
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a0 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
v1 = *(u16 *)(a0 + 0x2);
|
||||
v0 = 0x1;
|
||||
if (v1 != v0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = *(u16 *)(a0 + 0x34);
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = func_8012BD14();
|
||||
if (v0 >= 0x4001) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = 0x1;
|
||||
v1 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
*(u16 *)(v1 + 0x34) = v0;
|
||||
((void (*)(void))func_80178BF8)();
|
||||
return (s32)&(*(char *)&func_80172710);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80188B10[])(void);
|
||||
@@ -4720,7 +4798,46 @@ INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017FF5
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_80180014);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_801800DC);
|
||||
extern s32 func_80029178(s32 arg);
|
||||
extern s32 func_8012BD14(void);
|
||||
extern s32 func_80178BF8();
|
||||
extern void func_80172710(void);
|
||||
|
||||
s32 func_801800DC(void *s0) {
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a0;
|
||||
|
||||
v0 = func_80029178(0x13B);
|
||||
v0 &= 0xFF;
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a0 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
v1 = *(u16 *)(a0 + 0x2);
|
||||
v0 = 0x1;
|
||||
if (v1 != v0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = *(u16 *)(a0 + 0x34);
|
||||
if (v0 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = func_8012BD14();
|
||||
if (v0 >= 0x4001) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = 0x1;
|
||||
v1 = *(s32 *)((u8 *)s0 + 0x64);
|
||||
*(u16 *)(v1 + 0x34) = v0;
|
||||
((void (*)(void))func_80178BF8)();
|
||||
return (s32)&(*(char *)&func_80172710);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80188B74[])(void);
|
||||
|
||||
Reference in New Issue
Block a user