/// <summary> /// Host_Shutdown /// </summary> public static void Shutdown() { _ShutdownDepth++; try { if (_ShutdownDepth > 1) { return; } // keep Con_Printf from trying to update the screen Scr.IsDisabledForLoading = true; WriteConfiguration(); CDAudio.Shutdown(); Net.Shutdown(); Sound.Shutdown(); Input.Shutdown(); if (_VcrWriter != null) { Con.Print("Closing vcrfile.\n"); _VcrWriter.Close(); _VcrWriter = null; } if (_VcrReader != null) { Con.Print("Closing vcrfile.\n"); _VcrReader.Close(); _VcrReader = null; } if (Client.cls.state != cactive_t.ca_dedicated) { Vid.Shutdown(); } Con.Shutdown(); } finally { _ShutdownDepth--; } }