if (!in_sys_error0 && cls.state != ca_dedicated)
{
in_sys_error0 = 1;
- VID_Shutdown();
+ VID_Shutdown();
}
MessageBox(NULL, text, "Quake Error", MB_OK | MB_SETFOREGROUND | MB_ICONSTOP);
+ Con_Print ("Quake Error: ");
+ Con_Print (text);
+ Con_Print ("\n");
+
if (!in_sys_error1)
{
in_sys_error1 = 1;
exit (1);
}
-void Sys_Quit (void)
+void Sys_Shutdown (void)
{
- Host_Shutdown();
-
if (tevent)
CloseHandle (tevent);
// shut down QHOST hooks if necessary
DeinitConProc ();
-
- exit (0);
}
void Sys_PrintToTerminal(const char *text)
Sleep(milliseconds);
}
-
-void Sys_SendKeyEvents (void)
+char *Sys_GetClipboardData (void)
{
- MSG msg;
+ char *data = NULL;
+ char *cliptext;
- while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
+ if (OpenClipboard (NULL) != 0)
{
- // we always update if there are any event, even if we're paused
- scr_skipupdate = 0;
-
- if (!GetMessage (&msg, NULL, 0, 0))
- Sys_Quit ();
+ HANDLE hClipboardData;
- TranslateMessage (&msg);
- DispatchMessage (&msg);
+ if ((hClipboardData = GetClipboardData (CF_TEXT)) != 0)
+ {
+ if ((cliptext = GlobalLock (hClipboardData)) != 0)
+ {
+ data = malloc (GlobalSize(hClipboardData)+1);
+ strcpy (data, cliptext);
+ GlobalUnlock (hClipboardData);
+ }
+ }
+ CloseClipboard ();
}
+ return data;
}
-
/*
==============================================================================
lpBuffer.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus (&lpBuffer);
- com_argc = 1;
program_name[sizeof(program_name)-1] = 0;
GetModuleFileNameA(NULL, program_name, sizeof(program_name) - 1);
+
+ com_argc = 1;
+ com_argv = argv;
argv[0] = program_name;
// FIXME: this tokenizer is rather redundent, call a more general one
while (*lpCmdLine && (com_argc < MAX_NUM_ARGVS))
{
- while (*lpCmdLine && *lpCmdLine <= 32)
+ while (*lpCmdLine && *lpCmdLine <= ' ')
lpCmdLine++;
- if (*lpCmdLine)
- {
- if (*lpCmdLine == '\"')
- {
- // quoted string
- argv[com_argc] = lpCmdLine;
- com_argc++;
-
- while (*lpCmdLine && (*lpCmdLine != '\"'))
- lpCmdLine++;
-
- if (*lpCmdLine)
- {
- *lpCmdLine = 0;
- lpCmdLine++;
- }
-
- if (*lpCmdLine == '\"')
- lpCmdLine++;
- }
- else
- {
- // unquoted word
- argv[com_argc] = lpCmdLine;
- com_argc++;
+ if (!*lpCmdLine)
+ break;
- while (*lpCmdLine && *lpCmdLine > 32)
- lpCmdLine++;
+ if (*lpCmdLine == '\"')
+ {
+ // quoted string
+ lpCmdLine++;
+ argv[com_argc] = lpCmdLine;
+ com_argc++;
+ while (*lpCmdLine && (*lpCmdLine != '\"'))
+ lpCmdLine++;
+ }
+ else
+ {
+ // unquoted word
+ argv[com_argc] = lpCmdLine;
+ com_argc++;
+ while (*lpCmdLine && *lpCmdLine > ' ')
+ lpCmdLine++;
+ }
- if (*lpCmdLine)
- {
- *lpCmdLine = 0;
- lpCmdLine++;
- }
- }
+ if (*lpCmdLine)
+ {
+ *lpCmdLine = 0;
+ lpCmdLine++;
}
}
- com_argv = argv;
Sys_Shared_EarlyInit();
houtput = GetStdHandle (STD_OUTPUT_HANDLE);
// give QHOST a chance to hook into the console
+// COMMANDLINEOPTION: -HFILE is used by QHOST to hook into the windows dedicated server console window
if ((t = COM_CheckParm ("-HFILE")) > 0)
{
if (t < com_argc)
hFile = (HANDLE)atoi (com_argv[t+1]);
}
+// COMMANDLINEOPTION: -HPARENT is used by QHOST to hook into the windows dedicated server console window
if ((t = COM_CheckParm ("-HPARENT")) > 0)
{
if (t < com_argc)
heventParent = (HANDLE)atoi (com_argv[t+1]);
}
+// COMMANDLINEOPTION: -HCHILD is used by QHOST to hook into the windows dedicated server console window
if ((t = COM_CheckParm ("-HCHILD")) > 0)
{
if (t < com_argc)
/* return success of application */
return true;
}
-