Do not hide player sprite and temporarily disable interpolation in 3rd person mode

This commit is contained in:
nukeykt 2019-11-12 21:25:16 +09:00 committed by Christoph Oelckers
parent f0441860df
commit 5a19f5cd4d
2 changed files with 6 additions and 3 deletions

View file

@ -1988,7 +1988,7 @@ static inline int32_t calc_smoothratio(ClockTicks totalclk, ClockTicks ototalclk
// { // {
// return 65536; // return 65536;
// } // }
if (bRecord || bPlayback || nFreeze != 0) if (bRecord || bPlayback || nFreeze != 0 || bCamera)
return 65536; return 65536;
int32_t rfreq = (refreshfreq != -1 ? refreshfreq : 60); int32_t rfreq = (refreshfreq != -1 ? refreshfreq : 60);
uint64_t elapsedFrames = tabledivide64(((uint64_t) (totalclk - ototalclk).toScale16()) * rfreq, 65536*120); uint64_t elapsedFrames = tabledivide64(((uint64_t) (totalclk - ototalclk).toScale16()) * rfreq, 65536*120);

View file

@ -412,9 +412,12 @@ void DrawView(int smoothRatio)
nSector = nPlayerViewSect[nLocalPlayer]; nSector = nPlayerViewSect[nLocalPlayer];
nAngle = q16angle_interpolate16(PlayerList[nLocalPlayer].q16oangle, PlayerList[nLocalPlayer].q16angle, smoothRatio); nAngle = q16angle_interpolate16(PlayerList[nLocalPlayer].q16oangle, PlayerList[nLocalPlayer].q16angle, smoothRatio);
if (!bCamera)
{
sprite[nPlayerSprite].cstat |= CSTAT_SPRITE_INVISIBLE; sprite[nPlayerSprite].cstat |= CSTAT_SPRITE_INVISIBLE;
sprite[nDoppleSprite[nLocalPlayer]].cstat |= CSTAT_SPRITE_INVISIBLE; sprite[nDoppleSprite[nLocalPlayer]].cstat |= CSTAT_SPRITE_INVISIBLE;
} }
}
nCameraa = nAngle; nCameraa = nAngle;