X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=sys_win.c;h=bf7d54a16dc561a838041535106cf135e937fa2f;hb=6a384398c93b7e2bc1936427797909eb60094160;hp=ead6e3434df998c6916b1443ac27ea89b7131c8d;hpb=cecffffdd5310e387e8b910735ff77aa329cdb43;p=xonotic%2Fdarkplaces.git diff --git a/sys_win.c b/sys_win.c index ead6e343..bf7d54a1 100644 --- a/sys_win.c +++ b/sys_win.c @@ -26,11 +26,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "conproc.h" #include "direct.h" -// LordHavoc: raised min to 24mb (was 8.5mb) -#define MINIMUM_WIN_MEMORY 0x1800000 -// LordHavoc: raised max to 24mb (was 16mb) -#define MAXIMUM_WIN_MEMORY 0x1800000 - #define CONSOLE_ERROR_TIMEOUT 60.0 // # of seconds to wait on Sys_Error running // dedicated before exiting #define PAUSE_SLEEP 50 // sleep time on pause or minimization @@ -55,10 +50,7 @@ static HANDLE hFile; static HANDLE heventParent; static HANDLE heventChild; -void MaskExceptions (void); void Sys_InitFloatTime (void); -void Sys_PushFPCW_SetHigh (void); -void Sys_PopFPCW (void); volatile int sys_checksum; @@ -68,6 +60,7 @@ volatile int sys_checksum; Sys_PageIn ================ */ +/* void Sys_PageIn (void *ptr, int size) { byte *x; @@ -87,6 +80,7 @@ void Sys_PageIn (void *ptr, int size) } } } +*/ /* @@ -238,26 +232,6 @@ void Sys_MakeCodeWriteable (unsigned long startaddr, unsigned long length) } -//#ifndef _M_IX86 - -void Sys_SetFPCW (void) -{ -} - -void Sys_PushFPCW_SetHigh (void) -{ -} - -void Sys_PopFPCW (void) -{ -} - -void MaskExceptions (void) -{ -} - -//#endif - /* ================ Sys_Init @@ -269,17 +243,19 @@ void Sys_Init (void) unsigned int lowpart, highpart; OSVERSIONINFO vinfo; - MaskExceptions (); - Sys_SetFPCW (); - if (!QueryPerformanceFrequency (&PerformanceFreq)) Sys_Error ("No hardware timer available"); // get 32 out of the 64 time bits such that we have around // 1 microsecond resolution +#ifdef __BORLANDC__ + lowpart = (unsigned int)PerformanceFreq.u.LowPart; + highpart = (unsigned int)PerformanceFreq.u.HighPart; +#else lowpart = (unsigned int)PerformanceFreq.LowPart; highpart = (unsigned int)PerformanceFreq.HighPart; - lowshift = 0; +#endif + lowshift = 0; while (highpart || (lowpart > 2000000.0)) { @@ -436,13 +412,16 @@ double Sys_FloatTime (void) unsigned int temp, t2; double time; - Sys_PushFPCW_SetHigh (); - QueryPerformanceCounter (&PerformanceCount); +#ifdef __BORLANDC__ + temp = ((unsigned int)PerformanceCount.u.LowPart >> lowshift) | + ((unsigned int)PerformanceCount.u.HighPart << (32 - lowshift)); +#else + temp = ((unsigned int)PerformanceCount.LowPart >> lowshift) | ((unsigned int)PerformanceCount.HighPart << (32 - lowshift)); - +#endif if (first) { oldtime = temp; @@ -483,8 +462,6 @@ double Sys_FloatTime (void) } } - Sys_PopFPCW (); - return curtime; } @@ -648,17 +625,13 @@ HINSTANCE global_hInstance; int global_nCmdShow; char *argv[MAX_NUM_ARGVS]; static char *empty_string = ""; -HWND hwnd_dialog; - int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { - quakeparms_t parms; double time, oldtime, newtime/*, timediff*/; MEMORYSTATUS lpBuffer; static char cwd[1024]; int t; - RECT rect; /* previous instances do not exist in Win32 */ if (hPrevInstance) @@ -676,21 +649,21 @@ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin if (cwd[strlen(cwd)-1] == '/') cwd[strlen(cwd)-1] = 0; - parms.basedir = cwd; - parms.cachedir = NULL; + host_parms.basedir = cwd; + host_parms.cachedir = NULL; - parms.argc = 1; + host_parms.argc = 1; argv[0] = empty_string; - while (*lpCmdLine && (parms.argc < MAX_NUM_ARGVS)) + while (*lpCmdLine && (host_parms.argc < MAX_NUM_ARGVS)) { while (*lpCmdLine && ((*lpCmdLine <= 32) || (*lpCmdLine > 126))) lpCmdLine++; if (*lpCmdLine) { - argv[parms.argc] = lpCmdLine; - parms.argc++; + argv[host_parms.argc] = lpCmdLine; + host_parms.argc++; while (*lpCmdLine && ((*lpCmdLine > 32) && (*lpCmdLine <= 126))) lpCmdLine++; @@ -704,82 +677,51 @@ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin } } - parms.argv = argv; + host_parms.argv = argv; - COM_InitArgv (parms.argc, parms.argv); + COM_InitArgv (host_parms.argc, host_parms.argv); - parms.argc = com_argc; - parms.argv = com_argv; + host_parms.argc = com_argc; + host_parms.argv = com_argv; isDedicated = (COM_CheckParm ("-dedicated") != 0); - if (!isDedicated) - { - hwnd_dialog = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, NULL); - - if (hwnd_dialog) - { - if (GetWindowRect (hwnd_dialog, &rect)) - { - if (rect.left > (rect.top * 2)) - { - SetWindowPos (hwnd_dialog, 0, - (rect.left / 2) - ((rect.right - rect.left) / 2), - rect.top, 0, 0, - SWP_NOZORDER | SWP_NOSIZE); - } - } - - ShowWindow (hwnd_dialog, SW_SHOWDEFAULT); - UpdateWindow (hwnd_dialog); - SetForegroundWindow (hwnd_dialog); - } - } - // take the greater of all the available memory or half the total memory, // but at least 8 Mb and no more than 16 Mb, unless they explicitly // request otherwise - parms.memsize = lpBuffer.dwAvailPhys; - - if (parms.memsize < MINIMUM_WIN_MEMORY) - parms.memsize = MINIMUM_WIN_MEMORY; + /* + host_parms.memsize = lpBuffer.dwAvailPhys; - if (parms.memsize < (lpBuffer.dwTotalPhys >> 1)) - parms.memsize = lpBuffer.dwTotalPhys >> 1; + if (host_parms.memsize < MINIMUM_WIN_MEMORY) + host_parms.memsize = MINIMUM_WIN_MEMORY; - if (parms.memsize > MAXIMUM_WIN_MEMORY) - parms.memsize = MAXIMUM_WIN_MEMORY; - - if (COM_CheckParm ("-heapsize")) - { - t = COM_CheckParm("-heapsize") + 1; + if (host_parms.memsize < (lpBuffer.dwTotalPhys >> 1)) + host_parms.memsize = lpBuffer.dwTotalPhys >> 1; - if (t < com_argc) - parms.memsize = atoi (com_argv[t]) * 1024; - } + if (host_parms.memsize > MAXIMUM_WIN_MEMORY) + host_parms.memsize = MAXIMUM_WIN_MEMORY; + */ + host_parms.memsize = DEFAULTMEM * 1048576; - if (COM_CheckParm ("-mem")) + if ((t = COM_CheckParm("-heapsize"))) { - t = COM_CheckParm("-mem") + 1; - + t++; if (t < com_argc) - parms.memsize = atoi (com_argv[t]) * 1048576; + host_parms.memsize = atoi (com_argv[t]) * 1024; } - - if (COM_CheckParm ("-winmem")) + else if ((t = COM_CheckParm("-mem")) || (t = COM_CheckParm("-winmem"))) { - t = COM_CheckParm("-winmem") + 1; - + t++; if (t < com_argc) - parms.memsize = atoi (com_argv[t]) * 1048576; + host_parms.memsize = atoi (com_argv[t]) * 1048576; } - parms.membase = malloc (parms.memsize); + host_parms.membase = qmalloc(host_parms.memsize); - if (!parms.membase) + if (!host_parms.membase) Sys_Error ("Not enough memory free; check disk space\n"); - Sys_PageIn (parms.membase, parms.memsize); +// Sys_PageIn (parms.membase, parms.memsize); tevent = CreateEvent(NULL, FALSE, FALSE, NULL); @@ -824,7 +766,7 @@ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin S_BlockSound (); Sys_Printf ("Host_Init\n"); - Host_Init (&parms); + Host_Init (); oldtime = Sys_FloatTime ();