match m409Dll/player.c

This commit is contained in:
CreateSource 2024-07-23 15:56:07 -04:00
parent a733d96000
commit 13012f05ca
3 changed files with 76 additions and 23 deletions

View file

@ -894,7 +894,7 @@ config.libs = [
objects={ objects={
Object(Matching, "REL/executor.c"), Object(Matching, "REL/executor.c"),
Object(Matching, "REL/m409Dll/main.c"), Object(Matching, "REL/m409Dll/main.c"),
Object(NonMatching, "REL/m409Dll/player.c"), Object(Matching, "REL/m409Dll/player.c"),
Object(NonMatching, "REL/m409Dll/cursor.c"), Object(NonMatching, "REL/m409Dll/cursor.c"),
}, },
), ),

View file

@ -303,10 +303,10 @@ extern f32 fn_1_AE94(f32, f32, f32, f32);
extern void fn_1_AF0C(f32*, f32*, f32*, f32*, f32); extern void fn_1_AF0C(f32*, f32*, f32*, f32*, f32);
extern f32 fn_1_B028(f32, f32, f32, f32); extern f32 fn_1_B028(f32, f32, f32, f32);
extern void fn_1_B0A0(f32*, f32*, f32*, f32*, f32); extern void fn_1_B0A0(f32*, f32*, f32*, f32*, f32);
// ...
extern f32 fn_1_B378(Vec*); extern f32 fn_1_B378(Vec*);
extern f32 fn_1_B6A4(Vec*, unkStruct8Sub*, Vec*); extern f32 fn_1_B6A4(Vec*, Vec*, Vec*);
extern f32 fn_1_B9E0(Vec*, unkStruct8Sub*, Vec*, Vec*, Vec*); extern f32 fn_1_B9E0(Vec*, Vec*, Vec*, Vec*, Vec*);
// ...
extern f32 fn_1_BF38(s16); extern f32 fn_1_BF38(s16);
// cursor.c // cursor.c
extern void fn_1_BF88(s32, s32); extern void fn_1_BF88(s32, s32);

View file

@ -636,7 +636,7 @@ void fn_1_8D6C(unkStruct8* arg0) {
sp8.z = 100.0f * (2.0f * temp_r31->unk64.z); sp8.z = 100.0f * (2.0f * temp_r31->unk64.z);
for (var_r29 = &lbl_1_bss_10C[0], var_r27 = 0; var_r27 < 8; var_r27++, var_r29++) { for (var_r29 = &lbl_1_bss_10C[0], var_r27 = 0; var_r27 < 8; var_r27++, var_r29++) {
if ((Hu3DModelAttrGet(var_r29->unk0) & 1) == 0) { if ((Hu3DModelAttrGet(var_r29->unk0) & 1) == 0) {
var_f31 = fn_1_B6A4(&var_r29->unkC, temp_r31, &sp8); var_f31 = fn_1_B6A4(&var_r29->unkC, &temp_r31->unk0, &sp8);
if (!(var_f31 >= 2250.0f) && (var_r29->unk2 == 3)) { if (!(var_f31 >= 2250.0f) && (var_r29->unk2 == 3)) {
var_r29->unk2 = 4; var_r29->unk2 = 4;
temp_r31->unk34 |= 4; temp_r31->unk34 |= 4;
@ -660,7 +660,7 @@ void fn_1_8D6C(unkStruct8* arg0) {
sp20.x = -290.0f; sp20.x = -290.0f;
sp20.y = 350.0f; sp20.y = 350.0f;
sp20.z = -1200.0f; sp20.z = -1200.0f;
var_f31 = fn_1_B9E0(&sp20, temp_r31, &sp8, &sp14, &sp8); var_f31 = fn_1_B9E0(&sp20, &temp_r31->unk0, &sp8, &sp14, &sp8);
if (var_f31 <= 100.0f) { if (var_f31 <= 100.0f) {
temp_r31->unk0.x = sp14.x; temp_r31->unk0.x = sp14.x;
temp_r31->unk0.y = sp14.y; temp_r31->unk0.y = sp14.y;
@ -1149,33 +1149,86 @@ f32 fn_1_B378(Vec* arg0) {
return var_f30; return var_f30;
} }
f32 fn_1_B510(Vec* arg0, Vec* arg1, Vec* arg2, f32 arg8) { f32 fn_1_B510(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) {
if (arg8 <= 0.0f) { if (arg8 <= 0.0f) {
arg2->x = arg0->x; arg2->x = arg0.x;
arg2->y = arg0->y; arg2->y = arg0.y;
arg2->z = arg0->z; arg2->z = arg0.z;
return 0.0f; arg8 = 0.0f;
} else if (arg8 >= 1.0f) {
arg2->x = (arg0.x + arg1.x);
arg2->y = (arg0.y + arg1.y);
arg2->z = (arg0.z + arg1.z);
arg8 = 1.0f;
} else {
arg2->x = (arg0.x + (arg8 * arg1.x));
arg2->y = (arg0.y + (arg8 * arg1.y));
arg2->z = (arg0.z + (arg8 * arg1.z));
} }
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; return arg8;
} }
f32 fn_1_B5E8(Vec* arg0, Vec* arg1, Vec* arg2) { f32 fn_1_B5E8(Vec arg0, Vec arg1, Vec arg2) {
f32 temp_f30; f32 temp_f30;
f32 var_f31; f32 var_f31;
var_f31 = (arg2->z * (arg1->z - arg0->z)) + ((arg2->x * (arg1->x - arg0->x)) + (arg2->y * (arg1->y - arg0->y))); 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))); temp_f30 = -((arg2.z * arg2.z) + ((arg2.x * arg2.x) + (arg2.y * arg2.y)));
if (temp_f30 != 0.0f) { if (temp_f30 != 0.0f) {
var_f31 /= temp_f30; var_f31 /= temp_f30;
} }
return var_f31; return var_f31;
} }
f32 fn_1_B6A4(Vec* arg0, Vec* arg1, Vec* arg2) {
Vec sp44;
f32 var_f31;
if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) {
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
} else {
var_f31 = fn_1_B5E8(*arg0, *arg1, *arg2);
fn_1_B510(*arg1, *arg2, &sp44, var_f31);
return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y)));
}
}
f32 fn_1_B9E0(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
f32 var_f31;
if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) {
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
} else {
var_f31 = fn_1_B5E8(*arg0, *arg1, *arg2);
fn_1_B510(*arg1, *arg2, arg3, var_f31);
}
arg4->x = arg3->x - arg0->x;
arg4->y = arg3->y - arg0->y;
arg4->z = arg3->z - arg0->z;
return fn_1_B378(arg4);
}
void fn_1_BE90(ModelData *model, ParticleData *particle, Mtx matrix) {
s32 var_r29;
HsfanimStruct01* var_r31;
var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
var_r31->unk34.x = 0.0f;
var_r31->unk34.y = 200.0f;
var_r31->unk34.z = -500.0f;
var_r31->unk2C = 80.0f;
}
DCFlushRange(particle->unk_48, particle->unk_30 * 0x44);
}
f32 fn_1_BF38(s16 arg0) {
MotionData* motionData;
HsfMotion* hsfMotionData;
f32 length;
motionData = &Hu3DMotion[arg0];
hsfMotionData = motionData->unk_04->motion;
length = hsfMotionData->len;
return length;
}