- fix interpolation stutters when opening console for Duke3D.

This commit is contained in:
Mitchell Richters 2020-05-07 03:47:33 +10:00 committed by Christoph Oelckers
parent 4e1905e630
commit 1bb3640bc9

View file

@ -5909,6 +5909,12 @@ MAIN_LOOP_RESTART:
bool gameUpdate = false; bool gameUpdate = false;
double gameUpdateStartTime = timerGetHiTicks(); double gameUpdateStartTime = timerGetHiTicks();
if (M_Active() || GUICapture || ud.pause_on != 0)
{
totalclock = ototalclock + TICSPERFRAME;
}
else
{
while (((g_netClient || g_netServer) || (myplayer.gm & (MODE_MENU | MODE_DEMO)) == 0) && (int)(totalclock - ototalclock) >= TICSPERFRAME) while (((g_netClient || g_netServer) || (myplayer.gm & (MODE_MENU | MODE_DEMO)) == 0) && (int)(totalclock - ototalclock) >= TICSPERFRAME)
{ {
ototalclock += TICSPERFRAME; ototalclock += TICSPERFRAME;
@ -5934,7 +5940,7 @@ MAIN_LOOP_RESTART:
localInput = {}; localInput = {};
if (((!GUICapture && (myplayer.gm & MODE_MENU) != MODE_MENU) || ud.recstat == 2 || (g_netServer || ud.multimode > 1)) if (((myplayer.gm & MODE_MENU) != MODE_MENU || ud.recstat == 2 || (g_netServer || ud.multimode > 1))
&& (myplayer.gm & MODE_GAME)) && (myplayer.gm & MODE_GAME))
{ {
Net_GetPackets(); Net_GetPackets();
@ -5952,6 +5958,7 @@ MAIN_LOOP_RESTART:
= ((GAMEUPDATEAVGTIMENUMSAMPLES - 1.f) * g_gameUpdateAvgTime + g_gameUpdateTime) / ((float)GAMEUPDATEAVGTIMENUMSAMPLES); = ((GAMEUPDATEAVGTIMENUMSAMPLES - 1.f) * g_gameUpdateAvgTime + g_gameUpdateTime) / ((float)GAMEUPDATEAVGTIMENUMSAMPLES);
G_DoCheats(); G_DoCheats();
}
if (myplayer.gm & (MODE_EOL|MODE_RESTART)) if (myplayer.gm & (MODE_EOL|MODE_RESTART))
{ {