Doc code 80005fd0 (#697)

* Document code_80005FD0.c
This commit is contained in:
coco875
2025-01-19 01:24:09 +01:00
committed by GitHub
parent 5e1ce53a4c
commit 731b24eabf
126 changed files with 10427 additions and 10050 deletions
+28 -21
View File
@@ -61,6 +61,7 @@ UNUSED void func_8003DE4C(Player* player, Vec3f arg1) {
arg1[1] = 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;
@@ -70,14 +71,15 @@ void func_8003E048(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
if (player->collision.orientationVector[1] <= 0.8829f) {
arg3[0] = ((player->unk_206 / 182) * 0xB4);
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
decelerate_ai_player(player, 4.0f);
decelerate_player(player, 4.0f);
player->unk_DAC = 0.5f;
if ((player->effects & BOOST_EFFECT) != 0) {
remove_boost_effect(player);
player->currentSpeed /= 2;
player->unk_08C /= 2;
}
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
} else if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
arg3[0] = ((player->unk_206 / 182) * 0x32);
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
} else {
@@ -96,8 +98,8 @@ void func_8003E37C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
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->unk_094 / 18.0f) * 216.0f) >= 8.0f) {
decelerate_ai_player(player, 5.0f);
if (((player->speed / 18.0f) * 216.0f) >= 8.0f) {
decelerate_player(player, 5.0f);
}
player->unk_DAC = 0.5f;
if ((player->effects & BOOST_EFFECT) != 0) {
@@ -105,7 +107,8 @@ void func_8003E37C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
player->currentSpeed /= 2;
player->unk_08C /= 2;
}
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
} else if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
arg3[0] = ((player->unk_206 / 182) * 0x32);
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
} else {
@@ -124,9 +127,10 @@ void func_8003E6EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
if (player->collision.orientationVector[1] <= 0.8829f) {
arg3[0] = ((player->unk_206 / 182) * 0xB4);
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
decelerate_ai_player(player, 4.0f);
decelerate_player(player, 4.0f);
func_8003DC40(player);
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
} else if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
arg3[0] = ((player->unk_206 / 182) * 0x32);
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
} else {
@@ -145,10 +149,11 @@ void func_8003E9EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
if (player->collision.orientationVector[1] <= 0.8357f) {
arg3[0] = ((player->unk_206 / 182) * 0x78);
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
decelerate_ai_player(player, 4.0f);
decelerate_player(player, 4.0f);
func_8003DC40(player);
} else {
if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
if ((player->tyres[BACK_LEFT].surfaceType == ASPHALT) ||
(player->tyres[BACK_RIGHT].surfaceType == ASPHALT) ||
(player->tyres[FRONT_RIGHT].surfaceType == ASPHALT) ||
@@ -162,7 +167,7 @@ void func_8003E9EC(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
arg3[0] = 0.0f;
arg3[2] = (-(player->slopeAccel / 182) * 0x32);
}
if ((player->effects & 0x10000) != 0) {
if ((player->effects & UNKNOWN_EFFECT_0x10000) != 0) {
arg3[0] = ((player->unk_206 / 182) * 0x78);
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
}
@@ -179,9 +184,10 @@ void func_8003EE2C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
if (player->collision.orientationVector[1] <= 0.8357f) {
arg3[0] = ((player->unk_206 / 182) * 0x78);
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
decelerate_ai_player(player, 4.0f);
decelerate_player(player, 4.0f);
func_8003DC40(player);
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
} else if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
arg3[0] = ((player->unk_206 / 182) * 0x32);
arg3[2] = (-(player->slopeAccel / 182) * 0x3C);
} else {
@@ -203,10 +209,11 @@ void func_8003F138(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
if (player->collision.orientationVector[1] <= 0.8357f) {
arg3[0] = ((player->unk_206 / 182) * 0xC8);
arg3[2] = (-(player->slopeAccel / 182) * 0xC8);
decelerate_ai_player(player, 4.0f);
decelerate_player(player, 4.0f);
player->unk_DAC = 0.5f;
arg3[0] = 0;
} else if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) {
} else if ((((player->speed / 18.0f) * 216.0f) > 20.0f) ||
((player->effects & UNKNOWN_EFFECT_0x10000) == UNKNOWN_EFFECT_0x10000)) {
arg3[0] = ((player->unk_206 / 182) * 0x78);
arg3[2] = (-(player->slopeAccel / 182) * 0x78);
arg3[0] = 0;
@@ -261,7 +268,7 @@ void func_8003F46C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
#else
#endif
if (player->effects & 0x10000) {
if (player->effects & UNKNOWN_EFFECT_0x10000) {
player->unk_DAC = 0.5f;
}
}
@@ -279,7 +286,7 @@ void func_8003F734(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
*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;
if ((player->slopeAccel < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) {
if ((player->slopeAccel < 0) && (((player->speed / 18.0f) * 216.0f) < 10.0f)) {
func_8002A5F4(arg1, *arg3, arg2, 2.5f, 0);
} else {
func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0);
@@ -289,7 +296,7 @@ void func_8003F734(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
*arg5 += arg1[1] * player->collision.surfaceDistance[0] * 0.1;
*arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1;
func_8002A5F4(arg1, *arg3, arg2, 1, 0);
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
if ((!(player->effects & UNKNOWN_EFFECT_0x10000)) && ((player->effects & 8) == 0)) {
arg2[1] *= -1e-05;
}
} else {
@@ -302,7 +309,7 @@ void func_8003F734(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
}
*arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1;
func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0);
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
if ((!(player->effects & UNKNOWN_EFFECT_0x10000)) && ((player->effects & 8) == 0)) {
arg2[1] *= -1e-05;
}
}
@@ -333,7 +340,7 @@ void func_8003FBAC(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
*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;
if ((player->slopeAccel < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) {
if ((player->slopeAccel < 0) && (((player->speed / 18.0f) * 216.0f) < 10.0f)) {
func_8002A5F4(arg1, *arg3, arg2, 1.5f, 0);
} else {
func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0);
@@ -343,7 +350,7 @@ void func_8003FBAC(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
*arg5 += arg1[1] * player->collision.surfaceDistance[1] * 0.1;
*arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1;
func_8002A5F4(arg1, *arg3, arg2, 1, 0);
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
if ((!(player->effects & UNKNOWN_EFFECT_0x10000)) && ((player->effects & 8) == 0)) {
arg2[1] *= -1e-05;
}
} else {
@@ -356,7 +363,7 @@ void func_8003FBAC(Player* player, Vec3f arg1, Vec3f arg2, f32* arg3, f32* arg4,
}
*arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1;
func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0);
if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) {
if ((!(player->effects & UNKNOWN_EFFECT_0x10000)) && ((player->effects & 8) == 0)) {
arg2[1] *= -1e-05;
}
}