// sys_win.c -- Win32 system interface code
#include "quakedef.h"
-#include "winquake.h"
+#include <windows.h>
+#include <dsound.h>
#include "errno.h"
#include "resource.h"
#include "conproc.h"
#include "direct.h"
+extern void S_BlockSound (void);
+
cvar_t sys_usetimegettime = {CVAR_SAVE, "sys_usetimegettime", "1"};
// # of seconds to wait on Sys_Error running dedicated before exiting
static int in_sys_error2 = 0;
va_start (argptr, error);
- vsprintf (text, error, argptr);
+ vsnprintf (text, sizeof (text), error, argptr);
va_end (argptr);
// close video so the message box is visible, unless we already tried that
exit (0);
}
-void Sys_Print(const char *text)
+void Sys_PrintToTerminal(const char *text)
{
DWORD dummy;
extern HANDLE houtput;
return NULL;
}
-void Sys_Sleep (void)
+void Sys_Sleep(int milliseconds)
{
- Sleep (1);
+ if (milliseconds < 1)
+ milliseconds = 1;
+ Sleep(milliseconds);
}
==================
*/
HINSTANCE global_hInstance;
-int global_nCmdShow;
const char *argv[MAX_NUM_ARGVS];
char program_name[MAX_OSPATH];
return 0;
global_hInstance = hInstance;
- global_nCmdShow = nCmdShow;
lpBuffer.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus (&lpBuffer);
GetModuleFileNameA(NULL, program_name, sizeof(program_name) - 1);
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) || (*lpCmdLine > 126)))
+ while (*lpCmdLine && *lpCmdLine <= 32)
lpCmdLine++;
if (*lpCmdLine)
{
- argv[com_argc] = lpCmdLine;
- com_argc++;
+ if (*lpCmdLine == '\"')
+ {
+ // quoted string
+ argv[com_argc] = lpCmdLine;
+ com_argc++;
+
+ while (*lpCmdLine && (*lpCmdLine != '\"'))
+ lpCmdLine++;
- while (*lpCmdLine && ((*lpCmdLine > 32) && (*lpCmdLine <= 126)))
- lpCmdLine++;
+ if (*lpCmdLine)
+ {
+ *lpCmdLine = 0;
+ lpCmdLine++;
+ }
- if (*lpCmdLine)
+ if (*lpCmdLine == '\"')
+ lpCmdLine++;
+ }
+ else
{
- *lpCmdLine = 0;
- lpCmdLine++;
+ // unquoted word
+ argv[com_argc] = lpCmdLine;
+ com_argc++;
+
+ while (*lpCmdLine && *lpCmdLine > 32)
+ lpCmdLine++;
+
+ if (*lpCmdLine)
+ {
+ *lpCmdLine = 0;
+ lpCmdLine++;
+ }
}
}
}
Sys_Shared_LateInit();
frameoldtime = Sys_DoubleTime ();
-
+
/* main window message loop */
while (1)
{