ST_CalculateFadeIn: do not interpolate at very beginning or end of fade

This commit is contained in:
James R. 2023-10-01 17:53:34 -07:00 committed by James R
parent 90d8a9643f
commit 454850d349

View file

@ -1451,8 +1451,15 @@ static fixed_t ST_CalculateFadeIn(player_t *player)
if (player->tally.hudSlide != 0)
{
tic_t timer = length - player->tally.hudSlide;
fixed_t f = timer * FRACUNIT;
return ((timer * FRACUNIT) + (FRACUNIT - rendertimefrac)) / length;
// Not interpolated at very beginning or end
if (timer > 0 && timer < length)
{
f += FRACUNIT - rendertimefrac;
}
return f / length;
}
tic_t timer = lt_exitticker;
@ -1467,9 +1474,18 @@ static fixed_t ST_CalculateFadeIn(player_t *player)
if (timer < length)
{
return ((timer * FRACUNIT) + rendertimefrac) / length;
fixed_t f = timer * FRACUNIT;
// Not interpolated at very beginning
if (timer > 0)
{
f += rendertimefrac;
}
return f / length;
}
// Not interpolated at very end
return FRACUNIT;
}