- Sys_Shared_EarlyInit();
-
- Cvar_RegisterVariable(&sys_usetimegettime);
-
- tevent = CreateEvent(NULL, false, false, NULL);
-
- if (!tevent)
- Sys_Error ("Couldn't create event");
-
- // LordHavoc: can't check cls.state because it hasn't been initialized yet
- // if (cls.state == ca_dedicated)
- if (COM_CheckParm("-dedicated"))
- {
- if (!AllocConsole ())
- Sys_Error ("Couldn't create dedicated server console");
-
- hinput = GetStdHandle (STD_INPUT_HANDLE);
- houtput = GetStdHandle (STD_OUTPUT_HANDLE);
-
- // give QHOST a chance to hook into the console
- if ((t = COM_CheckParm ("-HFILE")) > 0)
- {
- if (t < com_argc)
- hFile = (HANDLE)atoi (com_argv[t+1]);
- }
-
- if ((t = COM_CheckParm ("-HPARENT")) > 0)
- {
- if (t < com_argc)
- heventParent = (HANDLE)atoi (com_argv[t+1]);
- }
-
- if ((t = COM_CheckParm ("-HCHILD")) > 0)
- {
- if (t < com_argc)
- heventChild = (HANDLE)atoi (com_argv[t+1]);
- }
-
- InitConProc (hFile, heventParent, heventChild);
- }
-
-// because sound is off until we become active
- S_BlockSound ();
-
- Host_Init ();
-
- Sys_Shared_LateInit();
-
- frameoldtime = Sys_DoubleTime ();
-
- /* main window message loop */
- while (1)
- {
- if (cls.state != ca_dedicated)
- {
- // yield the CPU for a little while when paused, minimized, or not the focus
- if ((cl.paused && !vid_activewindow) || vid_hidden)
- {
- SleepUntilInput (PAUSE_SLEEP);
- scr_skipupdate = 1; // no point in bothering to draw
- }
- else if (!vid_activewindow)
- SleepUntilInput (NOT_FOCUS_SLEEP);
- }
-
- framenewtime = Sys_DoubleTime ();
- Host_Frame (framenewtime - frameoldtime);
- frameoldtime = framenewtime;
- }