Ensure view interpolates between T-1 to T

This commit is contained in:
Eidolon 2022-10-25 19:32:28 -05:00
parent 88bbe8875d
commit aa7bfab0fc

View file

@ -24,6 +24,7 @@
#include "lua_hook.h"
#include "m_perfstats.h"
#include "i_system.h" // I_GetPreciseTime
#include "r_main.h"
#include "r_fps.h"
// Object place
@ -761,6 +762,20 @@ void P_Ticker(boolean run)
{
R_UpdateLevelInterpolators();
R_UpdateViewInterpolation();
// Hack: ensure newview is assigned every tic.
// Ensures view interpolation is T-1 to T in poor network conditions
// We need a better way to assign view state decoupled from game logic
for (i = 0; i <= splitscreen; i++)
{
player_t *player = &players[displayplayers[i]];
BOOL skyVisible = skyVisiblePerPlayer[i];
if (skyVisible && skyboxmo[0] && cv_skybox.value)
{
R_SkyboxFrame(player);
}
R_SetupFrame(player, (skyboxmo[0] && cv_skybox.value));
}
}
P_MapEnd();