From bf006e8493643f1651c154b4e6d3418d2d8e5798 Mon Sep 17 00:00:00 2001 From: tma Date: Thu, 15 Oct 2009 23:39:19 +0000 Subject: * (bug #4232) Avoid "cl.snap.serverTime < cl.oldFrameServerTime" for slow loading clients combined with short g_warmups git-svn-id: svn://svn.icculus.org/quake3/trunk@1670 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/server/sv_ccmds.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'code/server') diff --git a/code/server/sv_ccmds.c b/code/server/sv_ccmds.c index 56a510f..8802b3c 100644 --- a/code/server/sv_ccmds.c +++ b/code/server/sv_ccmds.c @@ -278,6 +278,15 @@ static void SV_MapRestart_f( void ) { sv.serverId = com_frameTime; Cvar_Set( "sv_serverid", va("%i", sv.serverId ) ); + // if a map_restart occurs while a client is changing maps, we need + // to give them the correct time so that when they finish loading + // they don't violate the backwards time check in cl_cgame.c + for (i=0 ; iinteger ; i++) { + if (svs.clients[i].state >= CS_CONNECTED) { + svs.clients[i].oldServerTime = sv.restartTime; + } + } + // reset all the vm data in place without changing memory allocation // note that we do NOT set sv.state = SS_LOADING, so configstrings that // had been changed from their default values will generate broadcast updates -- cgit v1.2.3