X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=host.c;h=09683f911428e8a1e8a976b0e44d1fced119068a;hb=b6958185ecd637a78cccd19d9a02e8bbcb1630bd;hp=119a7aa5e3ee889237d02afe12394c86d72718d7;hpb=cc051234dbd3bd10a0f2f974508811e3d75cbbaa;p=xonotic%2Fdarkplaces.git diff --git a/host.c b/host.c index 119a7aa5..09683f91 100644 --- a/host.c +++ b/host.c @@ -136,8 +136,6 @@ void PRVM_ProcessError(void); static char hosterrorstring1[4096]; static char hosterrorstring2[4096]; static qboolean hosterror = false; -extern char sv_spawnmap[MAX_QPATH]; -extern char sv_loadgame[MAX_OSPATH]; void Host_Error (const char *error, ...) { va_list argptr; @@ -159,10 +157,6 @@ void Host_Error (const char *error, ...) strcpy(hosterrorstring2, hosterrorstring1); - // make sure we don't get in a loading loop - sv_loadgame[0] = 0; - sv_spawnmap[0] = 0; - CL_Parse_DumpPacket(); PR_Crash(); @@ -570,17 +564,20 @@ qboolean Host_FilterTime (double time) // default to sys_ticrate (server framerate - presumably low) unless we // have a good reason to run faster timecap = sys_ticrate.value; - if (cl_avidemo.value >= 0.1f) - timecap = 1.0 / (double)cl_avidemo.value; - else if (vid_activewindow) - timecap = 1.0 / host_maxfps.value; + if (cls.state != ca_dedicated) + { + if (cl_avidemo.value >= 0.1f) + timecap = 1.0 / (double)cl_avidemo.value; + else if (vid_activewindow) + timecap = 1.0 / host_maxfps.value; + } timeleft = oldrealtime + timecap - realtime; if (timeleft > 0) { // don't totally hog the CPU if (timeleft >= 0.02) - Sys_Sleep(); + Sys_Sleep(timeleft * 1000 - 5); return false; } } @@ -716,9 +713,6 @@ void _Host_Frame (float time) // process console commands Cbuf_Execute(); - // LordHavoc: map and load are delayed until video is initialized - Host_PerformSpawnServerAndLoadGame(); - // if running the server locally, make intentions now if (cls.state == ca_connected && sv.active) CL_SendCmd(&cmd); @@ -755,7 +749,7 @@ void _Host_Frame (float time) CL_ReadFromServer(); } - ui_update(); + //ui_update(); CL_VideoFrame(); @@ -883,10 +877,8 @@ void Host_Init (void) CL_Init(); } - Cbuf_InsertText ("exec quake.rc\n"); - Cbuf_Execute(); - Cbuf_Execute(); - Cbuf_Execute(); + // only cvars are executed when host_initialized == false + Cbuf_InsertText("exec quake.rc\n"); Cbuf_Execute(); host_initialized = true; @@ -899,6 +891,11 @@ void Host_Init (void) SCR_BeginLoadingPlaque(); MR_Init(); } + + // stuff it again so the first host frame will execute it again, this time + // in its entirety + Cbuf_InsertText("exec quake.rc\n"); + Cbuf_Execute(); }