]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host.c
commented out bit-hacking 1/sqrt code
[xonotic/darkplaces.git] / host.c
diff --git a/host.c b/host.c
index 33797065f9c94fad79433abebee88c29805b6be6..c0741a68b7e001c69f474e6d7e0a954355ba591d 100644 (file)
--- a/host.c
+++ b/host.c
@@ -19,8 +19,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
 // host.c -- coordinates spawning and killing of local servers
 
-#include "quakedef.h"
 #include <time.h>
+#include "quakedef.h"
+#include "cl_video.h"
 
 /*
 
@@ -33,8 +34,6 @@ Memory is cleared / released when a server or client begins, not when they end.
 
 */
 
-quakeparms_t host_parms;
-
 qboolean       host_initialized;               // true if into command execution
 qboolean       host_loopactive = false;        // LordHavoc: used to turn Host_Error into Sys_Error if starting up or shutting down
 qboolean       host_shuttingdown = false;      // LordHavoc: set when quit is executed
@@ -57,6 +56,8 @@ cvar_t        slowmo = {0, "slowmo", "1.0"};                                  // LordHavoc: framerate independent sl
 cvar_t host_minfps = {CVAR_SAVE, "host_minfps", "10"};         // LordHavoc: game logic lower cap on framerate (if framerate is below this is, it pretends it is this, so game logic will run normally)
 cvar_t host_maxfps = {CVAR_SAVE, "host_maxfps", "1000"};               // LordHavoc: framerate upper cap
 
+cvar_t sv_echobprint = {CVAR_SAVE, "sv_echobprint", "1"};      // print broadcast messages in dedicated mode
+
 cvar_t sys_ticrate = {CVAR_SAVE, "sys_ticrate","0.05"};
 cvar_t serverprofile = {0, "serverprofile","0"};
 
@@ -200,8 +201,8 @@ void        Host_FindMaxClients (void)
                        svs.maxclients = 8;
        }
 
-       // BloodBath doesn't support single player games
-       if (gamemode == GAME_BLOODBATH && svs.maxclients < 4)
+       // Transfusion doesn't support single player games
+       if (gamemode == GAME_TRANSFUSION && svs.maxclients < 4)
                svs.maxclients = 4;
 
        if (svs.maxclients < 1)
@@ -240,6 +241,8 @@ void Host_InitLocal (void)
        Cvar_RegisterVariable (&host_minfps);
        Cvar_RegisterVariable (&host_maxfps);
 
+       Cvar_RegisterVariable (&sv_echobprint);
+
        Cvar_RegisterVariable (&sys_ticrate);
        Cvar_RegisterVariable (&serverprofile);
 
@@ -340,6 +343,9 @@ void SV_BroadcastPrintf (char *fmt, ...)
                        MSG_WriteByte (&svs.clients[i].message, svc_print);
                        MSG_WriteString (&svs.clients[i].message, string);
                }
+
+       if (sv_echobprint.integer && cls.state == ca_dedicated)
+               Sys_Printf ("%s", string);
 }
 
 /*
@@ -357,7 +363,7 @@ void Host_ClientCommands (char *fmt, ...)
        va_start (argptr,fmt);
        vsprintf (string, fmt,argptr);
        va_end (argptr);
-       
+
        MSG_WriteByte (&host_client->message, svc_stufftext);
        MSG_WriteString (&host_client->message, string);
 }
@@ -547,8 +553,9 @@ qboolean Host_FilterTime (double time)
        }
        else if (!cls.timedemo)
        {
+               // default to sys_ticrate (server framerate - presumably low) unless we're the active window and either connected to a server or playing a video
                timecap = sys_ticrate.value;
-               if (cls.state == ca_connected)
+               if (vid_activewindow && (cls.state == ca_connected || cl_videoplaying))
                        timecap = 1.0 / host_maxfps.value;
 
                if ((realtime - oldrealtime) < timecap)
@@ -716,6 +723,8 @@ void _Host_Frame (float time)
 
        ui_update();
 
+       CL_VideoFrame();
+
 // update video
        if (host_speeds.integer)
                time1 = Sys_DoubleTime ();
@@ -803,8 +812,6 @@ void Host_Init (void)
        // LordHavoc: quake never seeded the random number generator before... heh
        srand(time(NULL));
 
-       com_argc = host_parms.argc;
-       com_argv = host_parms.argv;
        // FIXME: this is evil, but possibly temporary
        if (COM_CheckParm("-developer"))
        {
@@ -813,7 +820,6 @@ void Host_Init (void)
                developer.value = 1;
        }
 
-       Memory_Init ();
        Cmd_Init ();
        Memory_Init_Commands();
        R_Modules_Init();