mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 06:49:47 -04:00
feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.2%)
This commit is contained in:
@@ -1,6 +1,19 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_136/nonmatchings/md_SC03_136", func_801E2610);
|
||||
extern u8 *D_80126B10;
|
||||
extern u8 D_801E3230[];
|
||||
extern void func_80175414(s32 _arg0);
|
||||
void func_800167B8(int);
|
||||
|
||||
int func_801E2610(u8 *arg) {
|
||||
extern u8 *D_80126B10;
|
||||
D_80126B10 = D_801E3230;
|
||||
func_800167B8(0);
|
||||
((void (*)(void))func_80175414)();
|
||||
arg[0x15]++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern s32 func_800167F0(s32 a0);
|
||||
@@ -219,4 +232,46 @@ INCLUDE_ASM("asm/md_SC03_136/nonmatchings/md_SC03_136", func_801E3098);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_136/nonmatchings/md_SC03_136", func_801E30C8);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_136/nonmatchings/md_SC03_136", func_801E3124);
|
||||
extern s32 D_801BF4F0;
|
||||
extern s32 D_801E3280;
|
||||
extern s32 D_801E32B0;
|
||||
extern s32 D_801EA574;
|
||||
extern s32 D_801EA5A4;
|
||||
extern s32 D_801EA5A8;
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_8012C1B8(void);
|
||||
extern void func_8001C214(s32, s32);
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern void func_8012CAE4(void *);
|
||||
extern void func_8012E8E0(s32, s32);
|
||||
extern void func_80178B18(s32, s32);
|
||||
|
||||
void func_801E3124(void *a0) {
|
||||
extern s32 D_801EA574;
|
||||
extern s32 D_801BF4F0;
|
||||
extern s32 D_801E3280;
|
||||
extern s32 D_801E32B0;
|
||||
extern s32 D_801EA5A8;
|
||||
extern s32 D_801EA5A4;
|
||||
s32 v0;
|
||||
s32 ptr;
|
||||
|
||||
v0 = func_8012C1B8();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8001C214(v0, (s32)&D_801EA574);
|
||||
ptr = *(s32 *)((s32)a0 + 0x68);
|
||||
*(s32 *)&D_801EA5A8 = 0;
|
||||
*(s16 *)(ptr + 0xC) = 0x7FFF;
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012A828((s32)a0, (s32)&D_801BF4F0);
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E3280);
|
||||
*(s16 *)((s32)a0 + 0x34) = 0;
|
||||
func_80178B18((s32)a0, (s32)&D_801E32B0);
|
||||
v0 = func_80029504();
|
||||
*(s32 *)&D_801EA5A4 = v0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user