]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host.c
changed submodel polygonoffset from 2 to 4 to fix the lift to the quad
[xonotic/darkplaces.git] / host.c
diff --git a/host.c b/host.c
index de067d6bd628cd5e4e33f1ed1a37edd542dcbed2..f70a17f7fd06c775dc2a12d73e5540396f09fbee 100644 (file)
--- a/host.c
+++ b/host.c
@@ -29,6 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "progsvm.h"
 #include "csprogs.h"
 #include "sv_demo.h"
+#include "snd_main.h"
 
 /*
 
@@ -60,7 +61,7 @@ double host_starttime = 0;
 cvar_t host_framerate = {0, "host_framerate","0", "locks frame timing to this value in seconds, 0.05 is 20fps for example, note that this can easily run too fast, use cl_maxfps if you want to limit your framerate instead, or sys_ticrate to limit server speed"};
 // shows time used by certain subsystems
 cvar_t host_speeds = {0, "host_speeds","0", "reports how much time is used in server/graphics/sound"};
-cvar_t host_sleep = {0, "host_sleep","0", "gives up some processing time to other applications each frame, value in milliseconds"};
+cvar_t host_sleep = {0, "host_sleep","1", "gives up some processing time to other applications each frame, value in milliseconds"};
 cvar_t cl_minfps = {CVAR_SAVE, "cl_minfps", "40", "minimum fps target - while the rendering performance is below this, it will drift toward lower quality"};
 cvar_t cl_minfps_fade = {CVAR_SAVE, "cl_minfps_fade", "0.2", "how fast the quality adapts to varying framerate"};
 cvar_t cl_minfps_qualitymax = {CVAR_SAVE, "cl_minfps_qualitymax", "1", "highest allowed drawdistance multiplier"};
@@ -587,7 +588,7 @@ Host_TimeReport
 Returns a time report string, for example for
 ==================
 */
-const char *Host_TimingReport()
+const char *Host_TimingReport(void)
 {
        return va("%.1f%% CPU, %.2f%% lost, offset avg %.1fms, max %.1fms, sdev %.1fms", svs.perf_cpuload * 100, svs.perf_lost * 100, svs.perf_offset_avg * 1000, svs.perf_offset_max * 1000, svs.perf_offset_sdev * 1000);
 }
@@ -671,6 +672,7 @@ void Host_Main(void)
                cl.islocalgame = NetConn_IsLocalGame();
 
                // get new key events
+               SndSys_SendKeyEvents();
                Sys_SendKeyEvents();
 
                NetConn_UpdateSockets();
@@ -693,6 +695,7 @@ void Host_Main(void)
                if (sv.active ? sv_timer > 0 : cl_timer > 0)
                {
                        // process console commands
+                       CL_VM_PreventInformationLeaks();
                        Cbuf_Execute();
                }
 
@@ -823,11 +826,12 @@ void Host_Main(void)
        //
        //-------------------
 
-               if (cls.state != ca_dedicated && (cl_timer > 0 || cls.timedemo))
+               if (cls.state != ca_dedicated && (cl_timer > 0 || cls.timedemo || cl_maxfps.value < 1))
                {
                        // decide the simulation time
                        if (cls.capturevideo.active)
                        {
+                               //***
                                if (cls.capturevideo.realtime)
                                        clframetime = cl.realframetime = max(cl_timer, 1.0 / cls.capturevideo.framerate);
                                else
@@ -870,6 +874,10 @@ void Host_Main(void)
                        cl.oldtime = cl.time;
                        cl.time += clframetime;
 
+                       // update video
+                       if (host_speeds.integer)
+                               time1 = Sys_DoubleTime();
+
                        // Collect input into cmd
                        CL_Input();
 
@@ -885,10 +893,6 @@ void Host_Main(void)
                        // update client world (interpolate entities, create trails, etc)
                        CL_UpdateWorld();
 
-                       // update video
-                       if (host_speeds.integer)
-                               time1 = Sys_DoubleTime();
-
                        CL_Video_Frame();
                        CL_Gecko_Frame();
 
@@ -925,6 +929,10 @@ void Host_Main(void)
                                Sys_Sleep((int)wait);
                }
 
+#if MEMPARANOIA
+               Mem_CheckSentinelsGlobal();
+#endif
+
                // if there is some time remaining from this frame, reset the timers
                if (cl_timer >= 0)
                        cl_timer = 0;
@@ -986,8 +994,12 @@ static void Host_Init (void)
                srand(time(NULL));
 
        // FIXME: this is evil, but possibly temporary
+       // LordHavoc: doesn't seem very temporary...
+       // LordHavoc: enabled this by default on debug
+#ifndef DEBUG
 // COMMANDLINEOPTION: Console: -developer enables warnings and other notices (RECOMMENDED for mod developers)
        if (COM_CheckParm("-developer"))
+#endif
        {
                developer.value = developer.integer = 1;
                developer.string = "1";
@@ -1215,10 +1227,12 @@ void Host_Shutdown(void)
        }
 
        Cmd_Shutdown();
+       Key_Shutdown();
        CL_Shutdown();
        Sys_Shutdown();
        Log_Close();
        FS_Shutdown();
+       Con_Shutdown();
        Memory_Shutdown();
 }