Writes key bindings and archived cvars to config.cfg
===============
*/
-void Host_SaveConfig_f(void)
+void Host_SaveConfig_to(const char *file)
{
qfile_t *f;
- const char *file = "config.cfg";
-
- if(Cmd_Argc() >= 2) {
- file = Cmd_Argv(1);
- Con_Printf("Saving to %s\n", file);
- }
// dedicated servers initialize the host but don't parse and set the
// config.cfg cvars
FS_Close (f);
}
}
+void Host_SaveConfig(void)
+{
+ Host_SaveConfig_to("config.cfg");
+}
+void Host_SaveConfig_f(void)
+{
+ const char *file = "config.cfg";
+
+ if(Cmd_Argc() >= 2) {
+ file = Cmd_Argv(1);
+ Con_Printf("Saving to %s\n", file);
+ }
+ Host_SaveConfig_to(file);
+}
/*
===============
for (i = 0, host_client = svs.clients;i < svs.maxclients;i++, host_client++)
if (host_client->active)
SV_DropClient(false); // server shutdown
+ if(prog->loaded)
+ if(prog->funcoffsets.SV_Shutdown)
+ {
+ func_t s = prog->funcoffsets.SV_Shutdown;
+ prog->funcoffsets.SV_Shutdown = 0; // prevent it from getting called again
+ PRVM_ExecuteProgram(s,"SV_Shutdown() required");
+ }
SV_VM_End();
NetConn_CloseServerPorts();
//ui_update();
CL_Video_Frame();
-#ifdef SUPPORT_GECKO
CL_Gecko_Frame();
-#endif
CL_UpdateScreen();
cl.csqc_usecsqclistener = false;
}
else
- S_Update(&r_view.matrix);
+ S_Update(&r_refdef.view.matrix);
CDAudio_Update();
COM_InitGameType();
// construct a version string for the corner of the console
-#if defined(__linux__)
- os = "Linux";
-#elif defined(WIN32)
- os = "Windows";
-#elif defined(__FreeBSD__)
- os = "FreeBSD";
-#elif defined(__NetBSD__)
- os = "NetBSD";
-#elif defined(__OpenBSD__)
- os = "OpenBSD";
-#elif defined(MACOSX)
- os = "Mac OS X";
-#elif defined(__MORPHOS__)
- os = "MorphOS";
-#else
- os = "Unknown";
-#endif
+ os = DP_OS_NAME;
dpsnprintf (engineversion, sizeof (engineversion), "%s %s %s", gamename, os, buildstring);
Con_Printf("%s\n", engineversion);
// AK shutdown PRVM
// AK hmm, no PRVM_Shutdown(); yet
-#ifdef SUPPORT_GECKO
CL_Gecko_Shutdown();
-#endif
CL_Video_Shutdown();
- Host_SaveConfig_f();
+ Host_SaveConfig();
CDAudio_Shutdown ();
S_Terminate ();