X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=host.c;h=62dcf4748b19881b8832c6eaf4e6142e2f0ca2cd;hb=3e3f3dacdc0d4594a847bf6d77bb0b145a187708;hp=a54067af5250d3d20aaba69fe285f418f5a3e019;hpb=221a6cb74c3a3b30b9e60247d6e42d7a6fcdebf0;p=xonotic%2Fdarkplaces.git diff --git a/host.c b/host.c index a54067af..62dcf474 100644 --- a/host.c +++ b/host.c @@ -212,7 +212,7 @@ static void Host_ServerOptions (void) else { // default players in some games, singleplayer in most - if (gamemode != GAME_GOODVSBAD2 && gamemode != GAME_NEXUIZ && gamemode != GAME_XONOTIC && gamemode != GAME_BATTLEMECH) + if (gamemode != GAME_GOODVSBAD2 && !IS_NEXUIZ_DERIVED(gamemode) && gamemode != GAME_BATTLEMECH) svs.maxclients = 1; } } @@ -679,6 +679,7 @@ void Host_Main(void) Host_Init(); realtime = 0; + host_dirtytime = Sys_DirtyTime(); for (;;) { if (setjmp(host_abortframe)) @@ -803,8 +804,12 @@ void Host_Main(void) wait = 1; // because we cast to int time0 = Sys_DirtyTime(); - if (sv_checkforpacketsduringsleep.integer && !sys_usenoclockbutbenchmark.integer && !svs.threaded) + if (sv_checkforpacketsduringsleep.integer && !sys_usenoclockbutbenchmark.integer && !svs.threaded) { NetConn_SleepMicroseconds((int)wait); + if (cls.state != ca_dedicated) + NetConn_ClientFrame(); // helps server browser get good ping values + // TODO can we do the same for ServerFrame? Probably not. + } else Sys_Sleep((int)wait); delta = Sys_DirtyTime() - time0; @@ -1016,6 +1021,7 @@ void Host_Main(void) R_TimeReport("client"); CL_UpdateScreen(); + CL_MeshEntities_Reset(); R_TimeReport("render"); if (host_speeds.integer)