feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.2%)

This commit is contained in:
Drew T
2026-08-14 03:58:39 -06:00
parent 92ee9a26bf
commit c143d3eb3d
+32 -1
View File
@@ -3429,7 +3429,38 @@ INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006_jr_8017BEBC", func_8017F93
INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006_jr_8017BEBC", func_8017FA2C);
INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006_jr_8017BEBC", func_8017FD4C);
extern s32 D_801269A4;
extern s32 D_801269A8;
extern s32 D_801269AC;
extern void func_80017E68(void *a0, void *a1);
extern void func_800D20C0(void *a0, void *a1, s32 a2);
extern void func_800D23D0(void *a0);
extern void func_8012F14C(s32 a0, s32 a1, s32 a2);
void func_8017FD4C(s32 param_1, s16 *param_2, s16 *param_3, void *param_4) {
s16 mid[3];
s16 dir[3];
s32 pos[3];
mid[0] = (param_2[0] + param_3[0]) >> 1;
mid[1] = (param_2[1] + param_3[1]) >> 1;
mid[2] = (param_2[2] + param_3[2]) >> 1;
((void (*)(s32, void *, void *))func_8012F14C)(param_1, mid, mid);
func_800D20C0(mid, dir, 8);
func_80017E68(mid, param_4);
dir[0] = (u16)param_3[0] - (u16)param_2[0];
dir[1] = (u16)param_3[1] - (u16)param_2[1];
dir[2] = (u16)param_3[2] - (u16)param_2[2];
ApplyMatrixSV((void *)param_1, dir, dir);
func_800D23D0(dir);
RotMatrixYXZ(dir, param_4);
pos[0] = D_801269A4 - mid[0];
pos[1] = D_801269A8 - mid[1];
pos[2] = D_801269AC - mid[2];
ApplyTransposeMatrixLV(param_4, pos, pos);
dir[2] = -ratan2(pos[0], pos[1]);
RotMatrixYXZ(dir, param_4);
}
INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006_jr_8017BEBC", func_8017FECC);