]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
Merge branch 'master' into Cloudwalk/json
authorCloudwalk <cloudwalk009@gmail.com>
Tue, 25 May 2021 23:29:49 +0000 (19:29 -0400)
committerCloudwalk <cloudwalk009@gmail.com>
Tue, 25 May 2021 23:29:49 +0000 (19:29 -0400)
1  2 
darkplaces-sdl2-vs2017.vcxproj
darkplaces-sdl2-vs2019.vcxproj
host.c

Simple merge
Simple merge
diff --cc host.c
index babb5d9323f3ba94ec412584e59e32b3f0cdda58,efcba3e2f156f479c3a113cfd86035b68a2457bf..e60679ce013b982eac1292d1fce0a91948d63e18
--- 1/host.c
--- 2/host.c
+++ b/host.c
@@@ -301,157 -257,39 +257,41 @@@ static void Host_LoadConfig_f(cmd_state
        Host_AddConfigText(cmd_local);
  }
  
- //============================================================================
  /*
- ==================
- Host_TimeReport
- Returns a time report string, for example for
- ==================
- */
- const char *Host_TimingReport(char *buf, size_t buflen)
- {
-       return va(buf, buflen, "%.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);
- }
- /*
- ==================
- Host_Frame
- Runs all active servers
- ==================
+ =======================
+ Host_InitLocal
+ ======================
  */
- static void Host_Init(void);
- double Host_Frame(double time)
- {
-       double cl_wait, sv_wait;
-       TaskQueue_Frame(false);
-       // keep the random time dependent, but not when playing demos/benchmarking
-       if(!*sv_random_seed.string && !host.restless)
-               rand();
-       NetConn_UpdateSockets();
-       Log_DestBuffer_Flush();
-       // Run any downloads
-       Curl_Frame();
-       // process console commands
-       Cbuf_Frame(host.cbuf);
-       R_TimeReport("---");
-       sv_wait = SV_Frame(time);
-       cl_wait = CL_Frame(time);
- //    Con_Printf("%6.0f %6.0f\n", cl_wait * 1000000.0, sv_wait * 1000000.0);
-       Mem_CheckSentinelsGlobal();
-       if(host.restless)
-               return 0;
-       // if the accumulators haven't become positive yet, wait a while
-       if (cls.state == ca_dedicated)
-               return sv_wait * -1000000.0; // dedicated
-       else if (!sv.active || svs.threaded)
-               return cl_wait * -1000000.0; // connected to server, main menu, or server is on different thread
-       else
-               return max(cl_wait, sv_wait) * -1000000.0; // listen server or singleplayer
- }
- static inline void Host_Sleep(double time)
- {
-       double delta, time0;
-       if(host_maxwait.value <= 0)
-               time = min(time, 1000000.0);
-       else
-               time = min(time, host_maxwait.value * 1000.0);
-       if(time < 1)
-               time = 1; // because we cast to int
-       time0 = Sys_DirtyTime();
-       if (sv_checkforpacketsduringsleep.integer && !sys_usenoclockbutbenchmark.integer && !svs.threaded) {
-               NetConn_SleepMicroseconds((int)time);
-               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)time);
-       delta = Sys_DirtyTime() - time0;
-       if (delta < 0 || delta >= 1800) 
-               delta = 0;
-       host.sleeptime += delta;
- //                    R_TimeReport("sleep");
-       return;
- }
- // Cloudwalk: Most overpowered function declaration...
- static inline double Host_UpdateTime (double newtime, double oldtime)
- {
-       double time = newtime - oldtime;
-       if (time < 0)
-       {
-               // warn if it's significant
-               if (time < -0.01)
-                       Con_Printf(CON_WARN "Host_UpdateTime: time stepped backwards (went from %f to %f, difference %f)\n", oldtime, newtime, time);
-               time = 0;
-       }
-       else if (time >= 1800)
-       {
-               Con_Printf(CON_WARN "Host_UpdateTime: time stepped forward (went from %f to %f, difference %f)\n", oldtime, newtime, time);
-               time = 0;
-       }
-       return time;
- }
- void Host_Main(void)
++void Json_Test_f(cmd_state_t *cmd);
+ extern cvar_t r_texture_jpeg_fastpicmip;
+ static void Host_InitLocal (void)
  {
-       double time, newtime, oldtime, sleeptime;
-       Host_Init(); // Start!
-       host.realtime = 0;
-       oldtime = Sys_DirtyTime();
-       // Main event loop
-       while(host.state != host_shutdown)
-       {
-               // Something bad happened, or the server disconnected
-               if (setjmp(host.abortframe))
-               {
-                       host.state = host_active; // In case we were loading
-                       continue;
-               }
-               newtime = host.dirtytime = Sys_DirtyTime();
-               host.realtime += time = Host_UpdateTime(newtime, oldtime);
-               sleeptime = Host_Frame(time);
-               oldtime = newtime;
+       Cmd_AddCommand(CF_SHARED, "quit", Host_Quit_f, "quit the game");
+       Cmd_AddCommand(CF_SHARED, "version", Host_Version_f, "print engine version");
+       Cmd_AddCommand(CF_SHARED, "saveconfig", Host_SaveConfig_f, "save settings to config.cfg (or a specified filename) immediately (also automatic when quitting)");
+       Cmd_AddCommand(CF_SHARED, "loadconfig", Host_LoadConfig_f, "reset everything and reload configs");
+       Cmd_AddCommand(CF_SHARED, "sendcvar", SendCvar_f, "sends the value of a cvar to the server as a sentcvar command, for use by QuakeC");
++      Cmd_AddCommand(CF_SHARED, "json_test", Json_Test_f, "test the json parser");
+       Cvar_RegisterVariable (&cl_maxphysicsframesperserverframe);
+       Cvar_RegisterVariable (&host_framerate);
+       Cvar_RegisterCallback (&host_framerate, Host_Framerate_c);
+       Cvar_RegisterVariable (&host_speeds);
+       Cvar_RegisterVariable (&host_maxwait);
+       Cvar_RegisterVariable (&host_isclient);
  
-               if (sleeptime >= 1)
-               {
-                       Host_Sleep(sleeptime);
-                       continue;
-               }
+       Cvar_RegisterVariable (&developer);
+       Cvar_RegisterVariable (&developer_extra);
+       Cvar_RegisterVariable (&developer_insane);
+       Cvar_RegisterVariable (&developer_loadfile);
+       Cvar_RegisterVariable (&developer_loading);
+       Cvar_RegisterVariable (&developer_entityparsing);
  
-               host.framecount++;
-       }
+       Cvar_RegisterVariable (&timestamps);
+       Cvar_RegisterVariable (&timeformat);
  
-       return;
+       Cvar_RegisterVariable (&r_texture_jpeg_fastpicmip);
  }
  
- //============================================================================
  char engineversion[128];
  
  qbool sys_nostdout = false;