static HANDLE heventParent;
static HANDLE heventChild;
+
+/*
+===============================================================================
+
+DLL MANAGEMENT
+
+===============================================================================
+*/
+
+dllhandle_t Sys_LoadLibrary (const char* name)
+{
+ return LoadLibrary (name);
+}
+
+void Sys_UnloadLibrary (dllhandle_t handle)
+{
+ FreeLibrary (handle);
+}
+
+void* Sys_GetProcAddress (dllhandle_t handle, const char* name)
+{
+ return (void *)GetProcAddress (handle, name);
+}
+
+
/*
===============================================================================
if (!in_sys_error0)
{
in_sys_error0 = 1;
- VID_SetDefaultMode ();
+ VID_Shutdown();
MessageBox(NULL, text, "Quake Error", MB_OK | MB_SETFOREGROUND | MB_ICONSTOP);
}
else
*/
HINSTANCE global_hInstance;
int global_nCmdShow;
-char *argv[MAX_NUM_ARGVS];
-static char *empty_string = "";
+const char *argv[MAX_NUM_ARGVS];
+char program_name[MAX_OSPATH];
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
- double frameoldtime, framenewtime;
- MEMORYSTATUS lpBuffer;
- static char cwd[1024];
- int t;
+ double frameoldtime, framenewtime;
+ MEMORYSTATUS lpBuffer;
+ int t;
/* previous instances do not exist in Win32 */
if (hPrevInstance)
lpBuffer.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus (&lpBuffer);
- if (!GetCurrentDirectory (sizeof(cwd), cwd))
- Sys_Error ("Couldn't determine current directory");
-
- if (cwd[strlen(cwd)-1] == '/')
- cwd[strlen(cwd)-1] = 0;
-
- memset(&host_parms, 0, sizeof(host_parms));
-
- host_parms.basedir = cwd;
-
- host_parms.argc = 1;
- argv[0] = empty_string;
+ com_argc = 1;
+ program_name[sizeof(program_name)-1] = 0;
+ GetModuleFileNameA(NULL, program_name, sizeof(program_name) - 1);
+ argv[0] = program_name;
- while (*lpCmdLine && (host_parms.argc < MAX_NUM_ARGVS))
+ while (*lpCmdLine && (com_argc < MAX_NUM_ARGVS))
{
while (*lpCmdLine && ((*lpCmdLine <= 32) || (*lpCmdLine > 126)))
lpCmdLine++;
if (*lpCmdLine)
{
- argv[host_parms.argc] = lpCmdLine;
- host_parms.argc++;
+ argv[com_argc] = lpCmdLine;
+ com_argc++;
while (*lpCmdLine && ((*lpCmdLine > 32) && (*lpCmdLine <= 126)))
lpCmdLine++;
}
}
}
- host_parms.argv = argv;
+ com_argv = argv;
Sys_Shared_EarlyInit();