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) if (player->tally.hudSlide != 0)
{ {
tic_t timer = length - player->tally.hudSlide; 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; tic_t timer = lt_exitticker;
@ -1467,9 +1474,18 @@ static fixed_t ST_CalculateFadeIn(player_t *player)
if (timer < length) 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; return FRACUNIT;
} }