Merge branch 'fix-tiregrease-offroad' into 'master'

Apply tiregrease exception to offroad TERRAIN

See merge request KartKrew/Kart!866
This commit is contained in:
toaster 2023-01-06 15:14:34 +00:00
commit 9a1c377e30

View file

@ -1045,10 +1045,6 @@ static fixed_t K_CheckOffroadCollide(mobj_t *mo)
I_Assert(mo != NULL); I_Assert(mo != NULL);
I_Assert(!P_MobjWasRemoved(mo)); I_Assert(!P_MobjWasRemoved(mo));
// If tiregrease is active, don't
if (mo->player && mo->player->tiregrease)
return 0;
for (node = mo->touching_sectorlist; node; node = node->m_sectorlist_next) for (node = mo->touching_sectorlist; node; node = node->m_sectorlist_next)
{ {
if (!node->m_sector) if (!node->m_sector)
@ -1103,14 +1099,18 @@ static void K_UpdateOffroad(player_t *player)
terrain_t *terrain = player->mo->terrain; terrain_t *terrain = player->mo->terrain;
fixed_t offroadstrength = 0; fixed_t offroadstrength = 0;
// TODO: Make this use actual special touch code. // If tiregrease is active, don't
if (terrain != NULL && terrain->offroad > 0) if (player->tiregrease == 0)
{ {
offroadstrength = (terrain->offroad << FRACBITS); // TODO: Make this use actual special touch code.
} if (terrain != NULL && terrain->offroad > 0)
else {
{ offroadstrength = (terrain->offroad << FRACBITS);
offroadstrength = K_CheckOffroadCollide(player->mo); }
else
{
offroadstrength = K_CheckOffroadCollide(player->mo);
}
} }
// If you are in offroad, a timer starts. // If you are in offroad, a timer starts.