================
*/
char hosterrorstring[4096];
+extern char sv_spawnmap[MAX_QPATH];
+extern char sv_loadgame[MAX_OSPATH];
void Host_Error (const char *error, ...)
{
va_list argptr;
static qboolean inerror = false;
+ // make sure we don't get in a loading loop
+ sv_loadgame[0] = 0;
+ sv_spawnmap[0] = 0;
+
// LordHavoc: if first frame has not been shown, or currently shutting
// down, do Sys_Error instead
if (!host_loopactive || host_shuttingdown)
va_end (argptr);
Con_Printf ("Host_Error: %s\n",hosterrorstring);
+ CL_Parse_DumpPacket();
+
PR_Crash();
if (sv.active)
CL_Disconnect ();
cls.demonum = -1;
+ // unload any partially loaded models
+ Mod_ClearErrorModels();
+
inerror = false;
longjmp (host_abortserver, 1);
time1 = Sys_DoubleTime ();
_Host_Frame (time);
- time2 = Sys_DoubleTime ();
-
+ time2 = Sys_DoubleTime ();
+
timetotal += time2 - time1;
timecount++;
-
+
if (timecount < 1000)
return;
if (cls.state != ca_dedicated)
{
- Gamma_Init();
Palette_Init();
VID_Shared_Init();
VID_Init();
Cbuf_Execute ();
host_initialized = true;
-
- Con_Printf ("========Quake Initialized=========\n");
+
+ Con_Printf ("========Quake Initialized=========\n");
if (cls.state != ca_dedicated)
VID_Open();
void Host_Shutdown(void)
{
static qboolean isdown = false;
-
+
if (isdown)
{
- printf ("recursive shutdown\n");
+ Con_Printf ("recursive shutdown\n");
return;
}
isdown = true;
- Host_WriteConfiguration ();
+ Host_WriteConfiguration ();
CDAudio_Shutdown ();
NET_Shutdown ();