mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 23:00:29 -04:00
feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.2%)
This commit is contained in:
@@ -3501,7 +3501,40 @@ void func_8017DFC4(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_007/nonmatchings/ov_SC05_007_jr_8017BEBC", func_8017DFEC);
|
||||
extern s32 func_8012C044(s32 a0);
|
||||
extern u32 D_801928FC[];
|
||||
extern void func_8017F568(void*);
|
||||
|
||||
void func_8017DFEC(s32 a0) {
|
||||
s32 *s0 = (s32 *)a0;
|
||||
u32 v0;
|
||||
u32 v1;
|
||||
u32 (*func_ptr)(void);
|
||||
|
||||
v0 = *(u16 *)((u8 *)s0 + 2);
|
||||
v0 = v0 * 4;
|
||||
func_ptr = (u32 (*)(void))D_801928FC[v0 / 4];
|
||||
func_ptr();
|
||||
|
||||
v0 = *(u16 *)s0;
|
||||
if (v0 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
v0 = *(u32 *)((u8 *)s0 + 0x20);
|
||||
v1 = *(u16 *)((u8 *)v0 + 0x2C);
|
||||
v1 = v1 | 0x10;
|
||||
*(u16 *)((u8 *)v0 + 0x2C) = v1;
|
||||
|
||||
v0 = func_8012C044(a0);
|
||||
v1 = 1;
|
||||
if (v0 != v1) {
|
||||
return;
|
||||
}
|
||||
*(u16 *)((u8 *)s0 + 0x102) = (v0 = 1);
|
||||
((void (*)(s32))func_8017F568)(a0);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_007/nonmatchings/ov_SC05_007_jr_8017BEBC", func_8017E078);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user