m409 continued

This commit is contained in:
CreateSource 2024-07-16 23:00:51 -04:00
parent db05760ec1
commit 390f9d2c60
2 changed files with 473 additions and 14 deletions

View file

@ -181,14 +181,17 @@ typedef struct _unkStruct10 {
u8 unk1;
u8 unk2;
u8 unk3;
char unk4[0x8];
u8 unk4;
char unk5[0x3];
f32 unk8;
Vec unkC;
Vec unk18;
Vec unk24;
Vec unk30;
Vec unk3C;
s8 unk48;
char unk49[0x7];
char unk49[0x3];
f32 unk4C;
} unkStruct10; // sizeof 0x50
// bss
@ -239,6 +242,10 @@ extern s32 lbl_1_data_C0;
// player.c
extern u32 lbl_1_data_138; // unk
extern s32 lbl_1_data_13C[7];
extern GXColor lbl_1_data_158[8];
extern HsfVector2f lbl_1_data_178[4];
extern GXColor lbl_1_data_198[8];
extern u32 lbl_1_data_1EC;
// prototypes
extern void ModuleProlog(void);
@ -251,6 +258,7 @@ extern void fn_1_F70(omObjData* object);
extern s8 fn_1_10E8(omObjData* object);
extern s8 fn_1_1B74(omObjData* object);
extern void fn_1_2098(omObjData* object);
extern void fn_1_23EC(s16);
extern void fn_1_2414(u16, u16);
extern u16 fn_1_2454(u16);
extern void fn_1_2484(omObjData* object);
@ -286,14 +294,21 @@ extern s8 fn_1_8D08(u8);
extern void fn_1_8D6C(unkStruct8*);
extern void fn_1_91C0(omObjData*);
extern void fn_1_962C(omObjData*);
// ...
extern s32 fn_1_A584(unkStruct10*);
extern s8 fn_1_A9C0(Vec*, f32*);
extern s32 fn_1_ABB4(void);
extern void fn_1_AC08(s32*, s32);
extern f32 fn_1_AD40(f32, f32, f32);
extern void fn_1_B378(Vec*);
extern f32 fn_1_AE94(f32, f32, f32, f32);
extern void fn_1_AF0C(f32*, f32*, f32*, f32*, f32);
extern f32 fn_1_B028(f32, f32, f32, f32);
extern void fn_1_B0A0(f32*, f32*, f32*, f32*, f32);
// ...
extern f32 fn_1_B378(Vec*);
extern f32 fn_1_B6A4(Vec*, unkStruct8Sub*, Vec*);
extern f32 fn_1_B9E0(Vec*, unkStruct8Sub*, Vec*, Vec*, Vec*);
extern f32 fn_1_BF38(s16);
// cursor.c
extern void fn_1_BF88(s32, s32);
extern void fn_1_C0C0(void);
extern unkStruct8Sub* fn_1_CCCC(s16, s16);
@ -301,17 +316,18 @@ extern s16 fn_1_DA48(s32, s32);
extern void fn_1_DEF4(s16, s32, s32);
extern void fn_1_DF20(s32, s32, s32);
extern void fn_1_E2A8(s16, s32, s32, s32, s32);
extern void fn_1_E7C8(s16, s32, s32);
extern s32 fn_1_E7C8(s16, s32, s32);
extern void fn_1_E99C(s16, s16, f32, f32, f32);
extern void fn_1_E85C(s16, s32, f32, f32, f32);
extern void fn_1_E85C(s16, s16, f32, f32, f32);
extern void fn_1_EC1C(s16, s16, f32, f32, f32);
extern void fn_1_ED00(u8, s32);
extern void fn_1_ED44(s16, s16, s32);
extern void fn_1_EE24(u8, s32);
extern void fn_1_EE68(s16, s16, s32);
extern void fn_1_F024(s16, s32, u8, u8, u8, s32);
extern void fn_1_F024(s16, s16, u8, u8, u8, u8);
extern void fn_1_F098(s16, u8, u8, u8, u8);
extern void fn_1_F17C(s16, s16, u8, s32);
extern void fn_1_F17C(s16, s16, u8, u8);
extern void fn_1_F2F8(s16, s16, u8, f32);
extern void fn_1_F408(s16, s32, s32);
extern void fn_1_F2F8(s16, s16, u8, f32);
extern void fn_1_F478(s16, s16, u8, s32);

View file

@ -51,14 +51,14 @@ void fn_1_67E0(Process* arg0) {
s32 temp_r28;
omObjData* var_r30;
omMakeGroupEx(arg0, 0U, 4U);
omMakeGroupEx(arg0, 0, 4);
omGetGroupMemberListEx(arg0, 0);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3A0[var_r31] = var_r30 = omAddObjEx(arg0, 0x30, 3U, 7U, 0, fn_1_6928);
lbl_1_bss_3A0[var_r31] = var_r30 = omAddObjEx(arg0, 0x30, 3, 7, 0, fn_1_6928);
var_r30->work[0] = var_r31;
}
lbl_1_bss_39C = var_r30 = omAddObjEx(arg0, 0x40, 8U, 0xAU, 4, fn_1_91C0);
lbl_1_bss_39C = var_r30 = omAddObjEx(arg0, 0x40, 8, 0xA, 4, fn_1_91C0);
fn_1_BF88(0x40, 0x40);
fn_1_DF20(0x28002C, 0x40, 0x40);
temp_r28 = (u8)frand();
@ -436,7 +436,7 @@ void fn_1_7FE8(omObjData* arg0) {
}
break;
case 3:
temp_r31->unk62 = 0xFFU;
temp_r31->unk62 = 0xFF;
temp_r31->unk64 = (0x28 - (temp_r31->unk6 * 10));
case 4:
sp20.x = temp_r29->unk0.x;
@ -621,7 +621,7 @@ void fn_1_8D6C(unkStruct8* arg0) {
if (temp_r31->unk76 == 0) {
if (temp_r28 != -1) {
var_r29 = &lbl_1_bss_10C[temp_r28];
if ((var_r29->unk2 != 0) && (var_r29->unk2 <= 4U)) {
if ((var_r29->unk2 != 0) && (var_r29->unk2 <= 4)) {
sp8.x = var_r29->unkC.x - temp_r31->unk0.x;
sp8.y = var_r29->unkC.y - temp_r31->unk0.y;
sp8.z = var_r29->unkC.z - temp_r31->unk0.z;
@ -647,7 +647,7 @@ void fn_1_8D6C(unkStruct8* arg0) {
HuAudFXPlay(9);
temp_r30->unk59++;
omVibrate(temp_r30->unk0, 0xC, 6, 6);
if (temp_r30->unk59 < 3U) {
if (temp_r30->unk59 < 3) {
temp_r30->unk60++;
}
} else if (temp_r30->unk59 != 0) {
@ -735,4 +735,447 @@ void fn_1_91C0(omObjData* arg0) {
fn_1_F2F8(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, lbl_1_bss_F0.unkA, 1.0f);
}
arg0->func = fn_1_962C;
}
void fn_1_962C(omObjData* arg0) {
s32 sp8[7];
unkStruct10* var_r31;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
f32 var_f31;
var_r27 = 0;
var_r31 = &lbl_1_bss_10C[0];
switch (lbl_1_bss_108) {
case 0:
if (fn_1_2454(0x18) == 8) {
lbl_1_bss_108++;
}
for (var_r29 = 0; var_r29 < 4; var_r29++) {
if (lbl_1_bss_38C[var_r29] == 0) break;
}
if (var_r29 < 4) break;
if (lbl_1_bss_104 == 0) break;
lbl_1_bss_108 = 6;
break;
case 1:
arg0->work[0] = (s32)((fn_1_ABB4() / 65536.0f) * 3.0f) + 6;
arg0->work[1] = lbl_1_bss_106 = (u16)((fn_1_ABB4() / 65536.0f) * *arg0->work);
arg0->work[2]++;
if (arg0->work[2] >= 12) {
lbl_1_bss_104 = -1;
}
arg0->work[3] = 0;
for (var_r29 = 0; var_r29 < arg0->work[0]; var_r29++, var_r31++) {
var_r31->unk2 = 1;
}
lbl_1_bss_108++;
break;
case 3:
var_r26 = arg0->model[lbl_1_bss_106 + 1];
Hu3DModelAttrReset(var_r26, 1);
Hu3DModelHookSet(arg0->model[0], "g001mk-itemhook_r", var_r26);
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 8.0f, 0);
HuAudFXPlay(0x558);
lbl_1_bss_108++;
for (var_r29 = 0; var_r29 < 4; var_r29++) {
lbl_1_bss_38C[var_r29] = 0;
}
fn_1_2414(0x18, 0x10);
break;
case 5:
if (arg0->work[3] == 0) {
fn_1_AC08(sp8, arg0->work[0]);
for (var_r29 = 0, var_r28 = 1; var_r29 < arg0->work[0]; var_r29++) {
var_r31 = &lbl_1_bss_10C[sp8[var_r29]];
if (var_r31->unk2 == 3) {
var_r31->unk2 = 4;
var_r31->unk4 = var_r28 * 10;
var_r28++;
}
}
arg0->work[3] = var_r28 * 10 + 10;
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 8.0f, 0);
if (lbl_1_bss_104 == 0) {
fn_1_3840();
}
break;
}
if (--arg0->work[3] == 0) {
lbl_1_bss_108 = 0;
Hu3DModelHookReset(arg0->model[0]);
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 8.0f, 0x40000001);
Hu3DModelAttrSet(arg0->model[lbl_1_bss_106 + 1], 1);
}
break;
case 6:
fn_1_2414(7, 4);
fn_1_23EC(lbl_1_bss_104- 1);
lbl_1_bss_108++;
break;
case 7:
break;
}
var_r31 = &lbl_1_bss_10C[0];
for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) {
fn_1_DEF4(var_r31->unk1, 0, 0);
switch (var_r31->unk2) {
case 0:
Hu3DModelAttrSet(var_r31->unk0, 1);
var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f;
continue;
case 1:
var_r31->unkC.x = ((fn_1_ABB4() - 0x8000) / 32768.0f) * 150.0f;
var_r31->unkC.y = (fn_1_ABB4() / 65536.0f) * 100.0f;
var_r31->unkC.z = -1200.0f;
Hu3DModelPosSet(var_r31->unk0, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z);
Hu3DModelAttrSet(var_r31->unk0, 1);
fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 2.0f, 2.0f, 1.0f);
var_r31->unk18.z = ((fn_1_ABB4() - 0x8000) / 32768.0f) * 60.0f;
var_r31->unk4 = ((100.0f - var_r31->unkC.y) * 0.5f);
var_r31->unk8 = 100.0f * ((((fn_1_ABB4() / 65536.0f) * 0.006f) + 0.0128f) + (0.000035f * var_r31->unk4));
var_r31->unk4C = ((fn_1_ABB4() - 0x8000) / 32768.0f) * 360.0f;
var_r31->unk2++;
case 2:
if (--var_r31->unk4 != 0) break;
var_r31->unk4 = 1;
var_r31->unk2++;
case 3:
if (var_r31->unk18.z < 0.0f) {
var_r31->unk18.z += 0.08f;
if (var_r31->unk18.z >= 0.0f) {
var_r31->unk18.z = 0.0f;
}
} else {
var_r31->unk18.z -= 0.08f;
if (var_r31->unk18.z <= 0.0f) {
var_r31->unk18.z = 0.0f;
}
}
if (var_r31->unkC.y >= 375.0f) {
var_r31->unk8 -= 0.000001f * var_r31->unkC.y;
}
var_r31->unkC.x += sin((M_PI * var_r31->unk18.z) / 180.0) * var_r31->unk8;
var_r31->unkC.y += cos((M_PI * var_r31->unk18.z) / 180.0) * var_r31->unk8;
if (var_r31->unkC.y >= 200.0) {
Hu3DModelAttrReset(var_r31->unk0, 1);
}
if (var_r31->unkC.x >= 550.0f) {
var_r31->unk18.z = -((fn_1_ABB4() / 65536.0f) * 20.0f);
}
if (var_r31->unkC.x <= -550.0f) {
var_r31->unk18.z = ((fn_1_ABB4() / 65536.0f) * 20.0f);
}
if (var_r31->unkC.y >= 1250.0f) {
var_r31->unk2 = 4;
}
break;
case 4:
if (--var_r31->unk4 != 0) break;
Hu3DModelAttrSet(var_r31->unk0, 1);
fn_1_E85C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z);
fn_1_EE68(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 4);
if (lbl_1_bss_106 == var_r31->unk48) {
HuAudFXPlay(0x557);
} else {
HuAudFXPlay(0x55A);
}
if (var_r31->unk48 == arg0->work[1]) {
lbl_1_bss_108 = 5;
}
var_r26 = fn_1_DA48(1, 1);
fn_1_DEF4(var_r26, 0, 0);
fn_1_E7C8(lbl_1_bss_F0.unk6, 0, 0x28002C);
fn_1_E85C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z);
fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 4.0f, 4.0f, 1.0f);
fn_1_ED44(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0x80000000);
fn_1_F024(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0xFF, 0xFF, 0xFF, 0x60);
fn_1_F17C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, lbl_1_bss_F0.unkA, 0x11);
fn_1_F2F8(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, lbl_1_bss_F0.unkA, 0.5f);
var_r31->unk2++;
break;
case 5:
var_r31->unk4++;
fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, (var_r31->unk4 * 0.1f) + 2.0f, (var_r31->unk4 * 0.1f) + 2.0f, 1.0f);
var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f;
break;
}
if (var_r31->unkC.y <= 375.0f) {
if (var_r31->unkC.x >= 150.0f) {
var_r31->unkC.x = 150.0f;
}
if (var_r31->unkC.x <= -150.0f) {
var_r31->unkC.x = -150.0f;
}
} else {
var_r27++;
}
fn_1_A584(var_r31);
Hu3DModelPosSet(var_r31->unk0, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z);
var_f31 = sin((var_r31->unk4C * M_PI) / 180.0);
var_r31->unk4C += 3.0f;
Hu3DModelRotSet(var_r31->unk0, 8.0 * sin((var_r31->unk4C * 0.3 * M_PI) / 180.0), var_r31->unk4C * 0.05f, (-var_r31->unk18.z * 0.25f) + (var_f31 * 8.0f));
}
if (lbl_1_bss_108 == 2 && var_r27 >= arg0->work[0]) {
lbl_1_bss_108++;
}
(void)var_r27;
}
s32 fn_1_A584(unkStruct10* arg0) {
s32 sp20[8];
Vec sp14;
Vec sp8;
f32 temp_f29;
f32 temp_f30;
f32 var_f31;
s32 var_r28;
s32 var_r29;
unkStruct10* var_r31;
if ((arg0->unk2 == 0) || (arg0->unk2 >= 4U)) {
return 0;
}
temp_f29 = 100.0f;
var_r28 = 0;
sp14.x = sp14.y = sp14.z = 0.0f;
var_r31 = lbl_1_bss_10C;
for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) {
if ((var_r31->unk2 != 0) && (var_r31->unk2 < 4U) && (var_r31 != arg0)) {
sp8.x = arg0->unkC.x - var_r31->unkC.x;
sp8.y = arg0->unkC.y - var_r31->unkC.y;
sp8.z = arg0->unkC.z - var_r31->unkC.z;
temp_f30 = fn_1_B378(&sp8);
if (!(temp_f30 > temp_f29)) {
sp20[var_r28] = var_r29;
var_r28 += 1;
sp14.x += 0.5f * (sp8.x * (temp_f29 - temp_f30));
sp14.y += 0.5f * (sp8.y * (temp_f29 - temp_f30));
sp14.z += 0.5f * (sp8.z * (temp_f29 - temp_f30));
}
}
}
if (var_r28 == 0) {
return 0;
}
arg0->unkC.x += sp14.x;
arg0->unkC.y += sp14.y;
arg0->unkC.z += sp14.z;
var_f31 = (180.0 * (atan2(sp14.x, sp14.y) / M_PI));
if (var_f31 > 180.0f) {
var_f31 -= 360.0f;
}
if (var_f31 > 60.0f) {
var_f31 = 60.0f;
}
if (var_f31 < -60.0f) {
var_f31 = -60.0f;
}
arg0->unk18.z = var_f31 = fn_1_AD40(arg0->unk18.z, var_f31, 0.5f);
var_r31 = lbl_1_bss_10C;
for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) {
if ((var_r31 != arg0) && (var_r31->unk2 != 0) && (var_r31->unk2 < 4U)) {
sp8.x = var_r31->unkC.x - arg0->unkC.x;
sp8.y = var_r31->unkC.y - arg0->unkC.y;
sp8.z = var_r31->unkC.z - arg0->unkC.z;
temp_f30 = fn_1_B378(&sp8);
if (!(temp_f30 > temp_f29)) {
var_r31->unkC.x += sp8.x * (temp_f29 - temp_f30);
var_r31->unkC.y += sp8.y * (temp_f29 - temp_f30);
var_r31->unkC.z += sp8.z * (temp_f29 - temp_f30);
var_f31 = (180.0 * (atan2(sp8.x, sp8.y) / M_PI));
if (var_f31 > 180.0f) {
var_f31 -= 360.0f;
}
if (var_f31 > 60.0f) {
var_f31 = 60.0f;
}
if (var_f31 < -60.0f) {
var_f31 = -60.0f;
}
var_r31->unk18.z = var_f31 = fn_1_AD40(var_r31->unk18.z, var_f31, 0.5f);
}
}
}
return 1;
}
s8 fn_1_A9C0(Vec* arg0, f32* arg1) {
f32 sp8;
f32 temp_f29;
f32 var_f30;
f32 var_f28;
s32 var_r27;
s32 var_r29;
unkStruct10* var_r31;
var_r27 = -1;
var_r31 = lbl_1_bss_10C;
var_f30 = *arg1;
var_f30 *= var_f30;
for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) {
if (((Hu3DModelAttrGet(var_r31->unk0) & 1) == 0) && !(var_r31->unkC.y < 300.0f)) {
temp_f29 = ((arg0->z - var_r31->unkC.z) * (arg0->z - var_r31->unkC.z)) + (((arg0->x - var_r31->unkC.x) * (arg0->x - var_r31->unkC.x)) + ((arg0->y - var_r31->unkC.y) * (arg0->y - var_r31->unkC.y)));
if (!(temp_f29 > var_f30)) {
var_r27 = var_r29;
var_f30 = temp_f29;
}
}
}
*arg1 = sqrtf(var_f30);
return var_r27;
}
u32 lbl_1_data_1EC = 0x41C64E6D;
s32 fn_1_ABB4(void) {
lbl_1_data_1EC *= 0x41C64E6D;
lbl_1_data_1EC += 0x3039;
return (lbl_1_data_1EC >> 0x10);
}
void fn_1_AC08(s32* arg0, s32 arg1) {
s32 temp_r29;
s32 temp_r30;
s32 var_r31;
for (var_r31 = 0; var_r31 < arg1; var_r31++) {
arg0[var_r31] = var_r31;
}
for (var_r31 = 0; var_r31 < arg1; var_r31++) {
temp_r30 = (arg1 * (fn_1_ABB4() / 65536.0f));
temp_r29 = arg0[var_r31];
arg0[var_r31] = arg0[temp_r30];
arg0[temp_r30] = temp_r29;
}
}
f32 fn_1_AD40(f32 arg0, f32 arg1, f32 arg2) {
f32 var_f31;
f32 var_f30;
f32 var_f29;
var_f31 = fmodf(arg1 - arg0, 360.0);
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (var_f31 > 180.0f) {
var_f31 -= 360.0f;
}
var_f31 = fmodf(arg0 + ((1.0f - arg2) * var_f31), 360.0);
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (var_f31 >= 180.0f) {
var_f31 -= 360.0f;
}
return var_f31;
}
f32 fn_1_AE94(f32 arg8, f32 arg9, f32 argA, f32 argB) {
f32 temp_f31;
f32 var_f30;
temp_f31 = (1.0 - arg8);
var_f30 = ((argB * (arg8 * arg8)) + ((arg9 * (temp_f31 * temp_f31)) + (2.0 * (argA * (temp_f31 * arg8)))));
return var_f30;
}
void fn_1_AF0C(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) {
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
*arg3 = fn_1_AE94(arg8, *arg0++, *arg1++, *arg2++);
arg3++;
}
}
f32 fn_1_B028(f32 arg8, f32 arg9, f32 argA, f32 argB) {
f32 var_f31;
var_f31 = (2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))));
return var_f31;
}
void fn_1_B0A0(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) {
f32 spC[3];
f32 var_f29;
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
spC[var_r31] = fn_1_B028(arg8, *arg0++, *arg1++, *arg2++);
}
var_f29 = sqrtf((spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1])));
if (var_f29) {
var_f29 = (1.0 / var_f29);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
*arg3++ = var_f29 * spC[var_r31];
}
} else {
*arg3++ = 0.0f;
*arg3++ = 0.0f;
*arg3++ = 1.0f;
}
}
f32 fn_1_B378(Vec* arg0) {
f32 var_f30;
f32 var_f29;
var_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y));
var_f30 = sqrtf(var_f30);
if (var_f30 != 0) {
var_f29 = 1.0f / var_f30;
arg0->x *= var_f29;
arg0->y *= var_f29;
arg0->z *= var_f29;
} else {
arg0->x = arg0->y = arg0->z = 0.0f;
}
return var_f30;
}
f32 fn_1_B510(Vec* arg0, Vec* arg1, Vec* arg2, f32 arg8) {
if (arg8 <= 0.0f) {
arg2->x = arg0->x;
arg2->y = arg0->y;
arg2->z = arg0->z;
return 0.0f;
}
if (arg8 >= 1.0f) {
arg2->x = (arg0->x + arg1->x);
arg2->y = (arg0->y + arg1->y);
arg2->z = (arg0->z + arg1->z);
return 1.0f;
}
arg2->x = (arg0->x + (arg8 * arg1->x));
arg2->y = (arg0->y + (arg8 * arg1->y));
arg2->z = (arg0->z + (arg8 * arg1->z));
return arg8;
}
f32 fn_1_B5E8(Vec* arg0, Vec* arg1, Vec* arg2) {
f32 temp_f30;
f32 var_f31;
var_f31 = (arg2->z * (arg1->z - arg0->z)) + ((arg2->x * (arg1->x - arg0->x)) + (arg2->y * (arg1->y - arg0->y)));
temp_f30 = -((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)));
if (temp_f30 != 0.0f) {
var_f31 /= temp_f30;
}
return var_f31;
}