feat(decomp): worker gate — +3 fns x0 propagated (fleet 95.3%)

This commit is contained in:
Drew T
2026-08-14 07:01:56 -06:00
parent a7abad3b29
commit 7f3e35256a
+120 -3
View File
@@ -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);