mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-11 11:52:41 -04:00
vec3f code_8003DC40.c
This commit is contained in:
+126
-126
@@ -43,32 +43,32 @@ UNUSED void func_8003DE4C(Player* player, Vec3f arg1) {
|
||||
// Praise Fake Match!!
|
||||
if (player) {};
|
||||
if (player->unk_230 <= player->unk_23C) {
|
||||
if (player->collision.unk54[1] >= 0.1736) {
|
||||
arg1[0] = (player->unk_206 / 182) * 0x78;
|
||||
arg1[2] = -(player->slopeAccel / 182) * 0x78;
|
||||
if (player->collision.unk54.y >= 0.1736) {
|
||||
arg1.x = (player->unk_206 / 182) * 0x78;
|
||||
arg1.z = -(player->slopeAccel / 182) * 0x78;
|
||||
} else {
|
||||
arg1[0] = thing1;
|
||||
arg1[2] = thing2;
|
||||
arg1.x = thing1;
|
||||
arg1.z = thing2;
|
||||
}
|
||||
} else if (player->collision.unk54[1] >= 0.1736) {
|
||||
arg1[0] = (player->unk_206 / 182) * 0x78;
|
||||
arg1[2] = -(player->slopeAccel / 182) * 0x78;
|
||||
} else if (player->collision.unk54.y >= 0.1736) {
|
||||
arg1.x = (player->unk_206 / 182) * 0x78;
|
||||
arg1.z = -(player->slopeAccel / 182) * 0x78;
|
||||
} else {
|
||||
arg1[0] = thing1;
|
||||
arg1[2] = thing2;
|
||||
arg1.x = thing1;
|
||||
arg1.z = thing2;
|
||||
}
|
||||
arg1[1] = 0.0f;
|
||||
arg1.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg1, player->orientationMatrix);
|
||||
}
|
||||
// Stick to ground?
|
||||
void func_8003E048(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 1, 2);
|
||||
if (player->collision.orientationVector[1] <= 0.8829f) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if (player->collision.orientationVector.y <= 0.8829f) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
decelerate_ai_player(player, 4.0f);
|
||||
player->unk_DAC = 0.5f;
|
||||
if ((player->effects & BOOST_EFFECT) != 0) {
|
||||
@@ -77,24 +77,24 @@ void func_8003E048(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
|
||||
player->unk_08C /= 2;
|
||||
}
|
||||
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x32);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x32);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x3C);
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003E37C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.2;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.2;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2);
|
||||
if ((player->collision.orientationVector[1] <= 0.7318f) || (player->surfaceType == CLIFF)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if ((player->collision.orientationVector.y <= 0.7318f) || (player->surfaceType == CLIFF)) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if (((player->unk_094 / 18.0f) * 216.0f) >= 8.0f) {
|
||||
decelerate_ai_player(player, 5.0f);
|
||||
}
|
||||
@@ -105,45 +105,45 @@ void func_8003E37C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
|
||||
player->unk_08C /= 2;
|
||||
}
|
||||
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x32);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x32);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003E6EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2);
|
||||
if (player->collision.orientationVector[1] <= 0.8829f) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if (player->collision.orientationVector.y <= 0.8829f) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0xB4);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
decelerate_ai_player(player, 4.0f);
|
||||
func_8003DC40(player);
|
||||
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x32);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x32);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x3C);
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003E9EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 1.2f, 2);
|
||||
if (player->collision.orientationVector[1] <= 0.8357f) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x78);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if (player->collision.orientationVector.y <= 0.8357f) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0x78);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
decelerate_ai_player(player, 4.0f);
|
||||
func_8003DC40(player);
|
||||
} else {
|
||||
@@ -152,80 +152,80 @@ void func_8003E9EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
|
||||
(player->tyres[BACK_RIGHT].surfaceType == ASPHALT) ||
|
||||
(player->tyres[FRONT_RIGHT].surfaceType == ASPHALT) ||
|
||||
(player->tyres[FRONT_LEFT].surfaceType == ASPHALT)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 5);
|
||||
arg3.x = ((player->unk_206 / 182) * 5);
|
||||
} else {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x28);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x28);
|
||||
}
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x28);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x28);
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
if ((player->effects & 0x10000) != 0) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x78);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x78);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
}
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003EE2C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2);
|
||||
if (player->collision.orientationVector[1] <= 0.8357f) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x78);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
|
||||
if (player->collision.orientationVector.y <= 0.8357f) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0x78);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xB4);
|
||||
decelerate_ai_player(player, 4.0f);
|
||||
func_8003DC40(player);
|
||||
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x32);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
|
||||
arg3.x = ((player->unk_206 / 182) * 0x32);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x3C);
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003F138(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 0.1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 0.1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2);
|
||||
if (player->surfaceType == GRASS) {
|
||||
player->unk_044 &= ~1;
|
||||
}
|
||||
if (player->collision.orientationVector[1] <= 0.8357f) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0xC8);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0xC8);
|
||||
if (player->collision.orientationVector.y <= 0.8357f) {
|
||||
arg3.x = ((player->unk_206 / 182) * 0xC8);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0xC8);
|
||||
decelerate_ai_player(player, 4.0f);
|
||||
player->unk_DAC = 0.5f;
|
||||
arg3[0] = 0;
|
||||
arg3.x = 0;
|
||||
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
|
||||
arg3[0] = ((player->unk_206 / 182) * 0x78);
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x78);
|
||||
arg3[0] = 0;
|
||||
arg3.x = ((player->unk_206 / 182) * 0x78);
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x78);
|
||||
arg3.x = 0;
|
||||
} else {
|
||||
arg3[0] = 0.0f;
|
||||
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
|
||||
arg3.x = 0.0f;
|
||||
arg3.z = (-(player->slopeAccel / 182) * 0x32);
|
||||
}
|
||||
arg3[1] = 0.0f;
|
||||
arg3[2] = 0.0f;
|
||||
arg3.y = 0.0f;
|
||||
arg3.z = 0.0f;
|
||||
mtxf_translate_vec3f_mat3(arg3, player->orientationMatrix);
|
||||
}
|
||||
|
||||
void func_8003F46C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
|
||||
arg1[0] = -player->collision.orientationVector[0];
|
||||
arg1[1] = -player->collision.orientationVector[1];
|
||||
arg1[2] = -player->collision.orientationVector[2];
|
||||
if ((player->collision.orientationVector[1] < 0.0f) && ((player->unk_0CA & 2) == 0)) {
|
||||
*arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg6 += arg1[1] * player->collision.surfaceDistance[2] * 1;
|
||||
*arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1;
|
||||
arg1.x = -player->collision.orientationVector.x;
|
||||
arg1.y = -player->collision.orientationVector.y;
|
||||
arg1.z = -player->collision.orientationVector.z;
|
||||
if ((player->collision.orientationVector.y < 0.0f) && ((player->unk_0CA & 2) == 0)) {
|
||||
*arg5 += arg1.x * player->collision.surfaceDistance.z * 1;
|
||||
*arg6 += arg1.y * player->collision.surfaceDistance.z * 1;
|
||||
*arg7 += arg1.z * player->collision.surfaceDistance.z * 1;
|
||||
func_8002A5F4(arg1, *arg4, arg2, 1.2f, 0.0f);
|
||||
player->kartHopJerk = 0.0f;
|
||||
player->kartHopAcceleration = 0.0f;
|
||||
@@ -268,43 +268,43 @@ void func_8003F734(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
|
||||
f32 temp_f14;
|
||||
f32 temp_f0_2;
|
||||
|
||||
arg1[0] = -player->collision.unk48[0];
|
||||
arg1[1] = -player->collision.unk48[1];
|
||||
arg1[2] = -player->collision.unk48[2];
|
||||
if (player->collision.unk48[1] == 0) {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[0] * 1;
|
||||
*arg5 += arg1[1] * player->collision.surfaceDistance[0] * 0.1;
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1;
|
||||
arg1.x = -player->collision.unk48.x;
|
||||
arg1.y = -player->collision.unk48.y;
|
||||
arg1.z = -player->collision.unk48.z;
|
||||
if (player->collision.unk48.y == 0) {
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.x * 1;
|
||||
*arg5 += arg1.y * player->collision.surfaceDistance.x * 0.1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.x * 1;
|
||||
if ((player->slopeAccel < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) {
|
||||
func_8002A5F4(arg1, *arg3, arg2, 2.5f, 0);
|
||||
} else {
|
||||
func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0);
|
||||
}
|
||||
} else if (player->collision.unk48[1] <= 0.5) {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[0] * 1;
|
||||
*arg5 += arg1[1] * player->collision.surfaceDistance[0] * 0.1;
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1;
|
||||
} else if (player->collision.unk48.y <= 0.5) {
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.x * 1;
|
||||
*arg5 += arg1.y * player->collision.surfaceDistance.x * 0.1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.x * 1;
|
||||
func_8002A5F4(arg1, *arg3, arg2, 1, 0);
|
||||
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
|
||||
arg2[1] *= -1e-05;
|
||||
arg2.y *= -1e-05;
|
||||
}
|
||||
} else {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[0] * 1;
|
||||
temp_f0_2 = player->collision.surfaceDistance[0] * arg1[1];
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.x * 1;
|
||||
temp_f0_2 = player->collision.surfaceDistance.x * arg1.y;
|
||||
if (temp_f0_2 < 0) {
|
||||
*arg5 += temp_f0_2 * 0.1;
|
||||
} else {
|
||||
*arg5 += temp_f0_2 * 0;
|
||||
}
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.x * 1;
|
||||
func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0);
|
||||
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
|
||||
arg2[1] *= -1e-05;
|
||||
arg2.y *= -1e-05;
|
||||
}
|
||||
}
|
||||
player->effects &= ~0x10;
|
||||
temp_f12 = player->collision.surfaceDistance[0] * arg1[0];
|
||||
temp_f14 = player->collision.surfaceDistance[0] * arg1[2];
|
||||
temp_f12 = player->collision.surfaceDistance.x * arg1.x;
|
||||
temp_f14 = player->collision.surfaceDistance.x * arg1.z;
|
||||
if (((temp_f12 >= 0) && (temp_f14 >= 0)) || ((temp_f12 < 0) && (temp_f14 >= 0))) {
|
||||
temp_f0_2 = player->boundingBoxSize / 2;
|
||||
player->unk_218 = *arg4 - temp_f12 - temp_f0_2;
|
||||
@@ -322,43 +322,43 @@ void func_8003FBAC(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
|
||||
f32 temp_f12;
|
||||
f32 temp_f14;
|
||||
|
||||
arg1[0] = -player->collision.unk54[0];
|
||||
arg1[1] = -player->collision.unk54[1];
|
||||
arg1[2] = -player->collision.unk54[2];
|
||||
if (player->collision.unk54[1] == 0) {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[1] * 1;
|
||||
*arg5 += arg1[1] * player->collision.surfaceDistance[1] * 0.1;
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1;
|
||||
arg1.x = -player->collision.unk54.x;
|
||||
arg1.y = -player->collision.unk54.y;
|
||||
arg1.z = -player->collision.unk54.z;
|
||||
if (player->collision.unk54.y == 0) {
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.y * 1;
|
||||
*arg5 += arg1.y * player->collision.surfaceDistance.y * 0.1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.y * 1;
|
||||
if ((player->slopeAccel < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) {
|
||||
func_8002A5F4(arg1, *arg3, arg2, 1.5f, 0);
|
||||
} else {
|
||||
func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0);
|
||||
}
|
||||
} else if (player->collision.unk54[1] <= 0.5) {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[1] * 1;
|
||||
*arg5 += arg1[1] * player->collision.surfaceDistance[1] * 0.1;
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1;
|
||||
} else if (player->collision.unk54.y <= 0.5) {
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.y * 1;
|
||||
*arg5 += arg1.y * player->collision.surfaceDistance.y * 0.1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.y * 1;
|
||||
func_8002A5F4(arg1, *arg3, arg2, 1, 0);
|
||||
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
|
||||
arg2[1] *= -1e-05;
|
||||
arg2.y *= -1e-05;
|
||||
}
|
||||
} else {
|
||||
*arg4 += arg1[0] * player->collision.surfaceDistance[1] * 1;
|
||||
temp_f0_2 = player->collision.surfaceDistance[1] * arg1[1];
|
||||
*arg4 += arg1.x * player->collision.surfaceDistance.y * 1;
|
||||
temp_f0_2 = player->collision.surfaceDistance.y * arg1.y;
|
||||
if (temp_f0_2 < 0) {
|
||||
*arg5 += temp_f0_2 * 0.1;
|
||||
} else {
|
||||
*arg5 += temp_f0_2 * 0;
|
||||
}
|
||||
*arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1;
|
||||
*arg6 += arg1.z * player->collision.surfaceDistance.y * 1;
|
||||
func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0);
|
||||
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
|
||||
arg2[1] *= -1e-05;
|
||||
arg2.y *= -1e-05;
|
||||
}
|
||||
}
|
||||
player->effects &= ~0x10;
|
||||
temp_f12 = player->collision.surfaceDistance[1] * arg1[0];
|
||||
temp_f14 = player->collision.surfaceDistance[1] * arg1[2];
|
||||
temp_f12 = player->collision.surfaceDistance.y * arg1.x;
|
||||
temp_f14 = player->collision.surfaceDistance.y * arg1.z;
|
||||
if (((temp_f12 >= 0) && (temp_f14 >= 0)) || ((temp_f12 >= 0) && (temp_f14 < 0))) {
|
||||
temp_f0_2 = player->boundingBoxSize / 2;
|
||||
player->unk_218 = *arg4 - temp_f12 - temp_f0_2;
|
||||
|
||||
Reference in New Issue
Block a user