]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host.c
added EF_DOUBLESIDED (and internally RENDER_NOCULLFACE)
[xonotic/darkplaces.git] / host.c
diff --git a/host.c b/host.c
index 69d7547f0ff9e0a7e1ba2623466e95d99392b292..10b964c17a9e192f4cb39f2927c19445c5331074 100644 (file)
--- a/host.c
+++ b/host.c
@@ -82,6 +82,7 @@ cvar_t samelevel = {0, "samelevel","0"};
 cvar_t noexit = {CVAR_NOTIFY, "noexit","0"};
 
 cvar_t developer = {0, "developer","0"};
+cvar_t developer_entityparsing = {0, "developer_entityparsing", "0"};
 
 cvar_t skill = {0, "skill","1"};
 cvar_t deathmatch = {0, "deathmatch","0"};
@@ -238,6 +239,7 @@ void Host_InitLocal (void)
        Cvar_RegisterVariable (&developer);
        if (forcedeveloper) // make it real now that the cvar is registered
                Cvar_SetValue("developer", 1);
+       Cvar_RegisterVariable (&developer_entityparsing);
        Cvar_RegisterVariable (&deathmatch);
        Cvar_RegisterVariable (&coop);
 
@@ -486,8 +488,6 @@ void Host_ShutdownServer(qboolean crash)
        if (!sv.active)
                return;
 
-       SV_VM_Begin();
-
        NetConn_Heartbeat(2);
        NetConn_Heartbeat(2);
 
@@ -500,10 +500,11 @@ void Host_ShutdownServer(qboolean crash)
        if (count)
                Con_Printf("Host_ShutdownServer: NetConn_SendToAll failed for %u clients\n", count);
 
+       SV_VM_Begin();
        for (i = 0, host_client = svs.clients;i < svs.maxclients;i++, host_client++)
-               if (host_client->active) {
+               if (host_client->active)
                        SV_DropClient(crash); // server shutdown
-               }
+       SV_VM_End();
 
        NetConn_CloseServerPorts();
 
@@ -513,8 +514,6 @@ void Host_ShutdownServer(qboolean crash)
 //
        memset(&sv, 0, sizeof(sv));
        memset(svs.clients, 0, svs.maxclients*sizeof(client_t));
-
-       SV_VM_End();
 }
 
 
@@ -654,8 +653,11 @@ Host_ServerFrame
 */
 void Host_ServerFrame (void)
 {
-       // never run more than 5 frames at a time as a sanity limit
-       int framecount, framelimit = 5;
+       // never run more than 1 frame per call because multiple frames per call it
+       // does not handle overload gracefully, slowing down is better than a
+       // sudden significant drop in framerate (or worse, freezing until the
+       // problem goes away)
+       int framecount, framelimit = 1;
        double advancetime;
        if (!sv.active)
        {