diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2024-07-26 11:29:35 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-26 11:29:35 -0600 |
| commit | 532ad5a4c03d7098b316ac1ebf2c467525442791 (patch) | |
| tree | 258d8b8b206efab661fa69c92121718b08b5a9d7 /src/code_8003DC40.c | |
| parent | dd5844ab81ebe3e429b8810e16ececb6b56219bc (diff) | |
Renames & seg 3 & 5 texture fixes (#19)
* Remove tools/torch
* Auto compile torch and extract
* Re-implement soh's implementation of lus implementation of an array
* Fix static actors in mr
* Update
* Updated torch
* Updated lus
* uncomment
* Fix collision
* Renames
* More renaming
* Collision Renames
* Update collision.c
* Collision Documentation (#640)
* Collision related renames
* Update
* update lus
* Bug fixes
* remove tabs
* fixes
* fixes
* Fix kart textures
* Networking
* net
* Add networking
* Update
* Cleanup
* Fix balloon rendering
* Fix lakitu and red shell
* fixes
* Implement new random system
---------
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/code_8003DC40.c')
| -rw-r--r-- | src/code_8003DC40.c | 148 |
1 files changed, 74 insertions, 74 deletions
diff --git a/src/code_8003DC40.c b/src/code_8003DC40.c index 9853b8d7e..d4e117b91 100644 --- a/src/code_8003DC40.c +++ b/src/code_8003DC40.c @@ -18,14 +18,14 @@ UNUSED void func_8003DC50(Player *player, Vec3f arg1) { // Praise Fake Match!! if(player){}; if (player->unk_230 <= player->unk_23C) { - if (player->unk_110.unk48[1] >= 0.1736) { + if (player->collision.unk48[1] >= 0.1736) { arg1[0] = (player->unk_206 / 182) * 0x78; arg1[2] = -(player->slopeAccel / 182) * 0x78; } else { arg1[0] = thing1; arg1[2] = thing2; } - } else if (player->unk_110.unk48[1] >= 0.1736) { + } else if (player->collision.unk48[1] >= 0.1736) { arg1[0] = (player->unk_206 / 182) * 0x78; arg1[2] = -(player->slopeAccel / 182) * 0x78; } else { @@ -42,14 +42,14 @@ UNUSED void func_8003DE4C(Player *player, Vec3f arg1) { // Praise Fake Match!! if(player){}; if (player->unk_230 <= player->unk_23C) { - if (player->unk_110.unk54[1] >= 0.1736) { + if (player->collision.unk54[1] >= 0.1736) { arg1[0] = (player->unk_206 / 182) * 0x78; arg1[2] = -(player->slopeAccel / 182) * 0x78; } else { arg1[0] = thing1; arg1[2] = thing2; } - } else if (player->unk_110.unk54[1] >= 0.1736) { + } else if (player->collision.unk54[1] >= 0.1736) { arg1[0] = (player->unk_206 / 182) * 0x78; arg1[2] = -(player->slopeAccel / 182) * 0x78; } else { @@ -61,14 +61,14 @@ UNUSED void func_8003DE4C(Player *player, Vec3f arg1) { } // 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->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 1, 2); - if (player->unk_110.orientationVector[1] <= 0.8829f) { + if (player->collision.orientationVector[1] <= 0.8829f) { arg3[0] = ((player->unk_206 / 182) * 0xB4); arg3[2] = (-(player->slopeAccel / 182) * 0xB4); - func_80031F48(player, 4.0f); + decelerate_ai_player(player, 4.0f); player->unk_DAC = 0.5f; if ((player->effects & BOOST_EFFECT) != 0) { remove_boost_effect(player); @@ -87,15 +87,15 @@ void func_8003E048(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E37C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.2; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); - if ((player->unk_110.orientationVector[1] <= 0.7318f) || (player->surfaceType == CLIFF)) { + 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) { - func_80031F48(player, 5.0f); + decelerate_ai_player(player, 5.0f); } player->unk_DAC = 0.5f; if ((player->effects & BOOST_EFFECT) != 0) { @@ -115,14 +115,14 @@ void func_8003E37C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E6EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); - if (player->unk_110.orientationVector[1] <= 0.8829f) { + if (player->collision.orientationVector[1] <= 0.8829f) { arg3[0] = ((player->unk_206 / 182) * 0xB4); arg3[2] = (-(player->slopeAccel / 182) * 0xB4); - func_80031F48(player, 4.0f); + 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); @@ -136,18 +136,18 @@ void func_8003E6EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E9EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 1.2f, 2); - if (player->unk_110.orientationVector[1] <= 0.8357f) { + if (player->collision.orientationVector[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0x78); arg3[2] = (-(player->slopeAccel / 182) * 0xB4); - func_80031F48(player, 4.0f); + decelerate_ai_player(player, 4.0f); func_8003DC40(player); } else { if ((((player->unk_094 / 18.0f) * 216.0f) > 20.0f) || ((player->effects & 0x10000) == 0x10000)) { - if ((player->boundingBoxCorners[2].surfaceType == ASPHALT) || (player->boundingBoxCorners[3].surfaceType == ASPHALT) || (player->boundingBoxCorners[1].surfaceType == ASPHALT) || (player->boundingBoxCorners[0].surfaceType == ASPHALT)) { + if ((player->tyres[BACK_LEFT].surfaceType == ASPHALT) || (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); } else { arg3[0] = ((player->unk_206 / 182) * 0x28); @@ -167,14 +167,14 @@ void func_8003E9EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003EE2C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); - if (player->unk_110.orientationVector[1] <= 0.8357f) { + if (player->collision.orientationVector[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0x78); arg3[2] = (-(player->slopeAccel / 182) * 0xB4); - func_80031F48(player, 4.0f); + 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); @@ -188,17 +188,17 @@ void func_8003EE2C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003F138(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + *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; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if (player->surfaceType == GRASS) { player->unk_044 &= ~1; } - if (player->unk_110.orientationVector[1] <= 0.8357f) { + if (player->collision.orientationVector[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0xC8); arg3[2] = (-(player->slopeAccel / 182) * 0xC8); - func_80031F48(player, 4.0f); + decelerate_ai_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)) { @@ -215,13 +215,13 @@ void func_8003F138(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003F46C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - arg1[0] = -player->unk_110.orientationVector[0]; - arg1[1] = -player->unk_110.orientationVector[1]; - arg1[2] = -player->unk_110.orientationVector[2]; - if ((player->unk_110.orientationVector[1] < 0.0f) && ((player->unk_0CA & 2) == 0)) { - *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; - *arg6 += arg1[1] * player->unk_110.unk3C[2] * 1; - *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; + 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; func_8002A5F4(arg1, *arg4, arg2, 1.2f, 0.0f); player->kartHopJerk = 0.0f; player->kartHopAcceleration = 0.0f; @@ -263,43 +263,43 @@ void func_8003F734(Player *player, Vec3f arg1, Vec3f arg2, f32 *arg3, f32 *arg4, f32 temp_f14; f32 temp_f0_2; - arg1[0] = -player->unk_110.unk48[0]; - arg1[1] = -player->unk_110.unk48[1]; - arg1[2] = -player->unk_110.unk48[2]; - if (player->unk_110.unk48[1] == 0) { - *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; - *arg5 += arg1[1] * player->unk_110.unk3C[0] * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; + 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; 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->unk_110.unk48[1] <= 0.5) { - *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; - *arg5 += arg1[1] * player->unk_110.unk3C[0] * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; + } 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; func_8002A5F4(arg1, *arg3, arg2, 1, 0); if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) { arg2[1] *= -1e-05; } } else { - *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; - temp_f0_2 = player->unk_110.unk3C[0] * arg1[1]; + *arg4 += arg1[0] * player->collision.surfaceDistance[0] * 1; + temp_f0_2 = player->collision.surfaceDistance[0] * arg1[1]; if (temp_f0_2 < 0) { *arg5 += temp_f0_2 * 0.1; } else { *arg5 += temp_f0_2 * 0; } - *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; + *arg6 += arg1[2] * player->collision.surfaceDistance[0] * 1; func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0); if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) { arg2[1] *= -1e-05; } } player->effects &= ~0x10; - temp_f12 = player->unk_110.unk3C[0] * arg1[0]; - temp_f14 = player->unk_110.unk3C[0] * arg1[2]; + temp_f12 = player->collision.surfaceDistance[0] * arg1[0]; + temp_f14 = player->collision.surfaceDistance[0] * arg1[2]; 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; @@ -317,43 +317,43 @@ void func_8003FBAC(Player *player, Vec3f arg1, Vec3f arg2, f32 *arg3, f32 *arg4, f32 temp_f12; f32 temp_f14; - arg1[0] = -player->unk_110.unk54[0]; - arg1[1] = -player->unk_110.unk54[1]; - arg1[2] = -player->unk_110.unk54[2]; - if (player->unk_110.unk54[1] == 0) { - *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; - *arg5 += arg1[1] * player->unk_110.unk3C[1] * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; + 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; 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->unk_110.unk54[1] <= 0.5) { - *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; - *arg5 += arg1[1] * player->unk_110.unk3C[1] * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; + } 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; func_8002A5F4(arg1, *arg3, arg2, 1, 0); if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) { arg2[1] *= -1e-05; } } else { - *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; - temp_f0_2 = player->unk_110.unk3C[1] * arg1[1]; + *arg4 += arg1[0] * player->collision.surfaceDistance[1] * 1; + temp_f0_2 = player->collision.surfaceDistance[1] * arg1[1]; if (temp_f0_2 < 0) { *arg5 += temp_f0_2 * 0.1; } else { *arg5 += temp_f0_2 * 0; } - *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; + *arg6 += arg1[2] * player->collision.surfaceDistance[1] * 1; func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0); if ((!(player->effects & 0x10000)) && ((player->effects & 8) == 0)) { arg2[1] *= -1e-05; } } player->effects &= ~0x10; - temp_f12 = player->unk_110.unk3C[1] * arg1[0]; - temp_f14 = player->unk_110.unk3C[1] * arg1[2]; + temp_f12 = player->collision.surfaceDistance[1] * arg1[0]; + temp_f14 = player->collision.surfaceDistance[1] * arg1[2]; 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; |
