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;
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();
// 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)
// 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);
CL_ReadFromServer();
}
- ui_update();
+ //ui_update();
CL_VideoFrame();
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;
if (cls.state != ca_dedicated)
{
VID_Open();
- MR_Init();
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();
}