aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/MacOSX/Wrapper/Windows.pas
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xGame/Code/MacOSX/Wrapper/Windows.pas306
1 files changed, 167 insertions, 139 deletions
diff --git a/Game/Code/MacOSX/Wrapper/Windows.pas b/Game/Code/MacOSX/Wrapper/Windows.pas
index 333b08e7..cee75591 100755
--- a/Game/Code/MacOSX/Wrapper/Windows.pas
+++ b/Game/Code/MacOSX/Wrapper/Windows.pas
@@ -1,139 +1,167 @@
-unit Windows;
-
-{$INCLUDE ../Platform.inc}
-
-interface
-
-uses Types;
-
-const
-{$IFDEF MSWINDOWS}
- opengl32 = 'opengl32.dll';
-{$ENDIF}
-{$IFDEF MACOS}
- opengl32 = 'OpenGL';
-{$ENDIF}
-
-type
-
- DWORD = Types.DWORD;
- {$EXTERNALSYM DWORD}
- BOOL = LongBool;
- {$EXTERNALSYM BOOL}
- PBOOL = ^BOOL;
- {$EXTERNALSYM PBOOL}
- PByte = Types.PByte;
- PINT = ^Integer;
- {$EXTERNALSYM PINT}
- PSingle = ^Single;
- PWORD = ^Word;
- {$EXTERNALSYM PWORD}
- PDWORD = ^DWORD;
- {$EXTERNALSYM PDWORD}
- LPDWORD = PDWORD;
- {$EXTERNALSYM LPDWORD}
- HDC = type LongWord;
- {$EXTERNALSYM HDC}
- HGLRC = type LongWord;
- {$EXTERNALSYM HGLRC}
- TLargeInteger = Int64;
- HFONT = type LongWord;
- {$EXTERNALSYM HFONT}
- HWND = type LongWord;
- {$EXTERNALSYM HWND}
-
- PPaletteEntry = ^TPaletteEntry;
- {$EXTERNALSYM tagPALETTEENTRY}
- tagPALETTEENTRY = packed record
- peRed: Byte;
- peGreen: Byte;
- peBlue: Byte;
- peFlags: Byte;
- end;
- TPaletteEntry = tagPALETTEENTRY;
- {$EXTERNALSYM PALETTEENTRY}
- PALETTEENTRY = tagPALETTEENTRY;
-
- PRGBQuad = ^TRGBQuad;
- {$EXTERNALSYM tagRGBQUAD}
- tagRGBQUAD = packed record
- rgbBlue: Byte;
- rgbGreen: Byte;
- rgbRed: Byte;
- rgbReserved: Byte;
- end;
- TRGBQuad = tagRGBQUAD;
- {$EXTERNALSYM RGBQUAD}
- RGBQUAD = tagRGBQUAD;
-
- PBitmapInfoHeader = ^TBitmapInfoHeader;
- {$EXTERNALSYM tagBITMAPINFOHEADER}
- tagBITMAPINFOHEADER = packed record
- biSize: DWORD;
- biWidth: Longint;
- biHeight: Longint;
- biPlanes: Word;
- biBitCount: Word;
- biCompression: DWORD;
- biSizeImage: DWORD;
- biXPelsPerMeter: Longint;
- biYPelsPerMeter: Longint;
- biClrUsed: DWORD;
- biClrImportant: DWORD;
- end;
- TBitmapInfoHeader = tagBITMAPINFOHEADER;
- {$EXTERNALSYM BITMAPINFOHEADER}
- BITMAPINFOHEADER = tagBITMAPINFOHEADER;
-
- PBitmapInfo = ^TBitmapInfo;
- {$EXTERNALSYM tagBITMAPINFO}
- tagBITMAPINFO = packed record
- bmiHeader: TBitmapInfoHeader;
- bmiColors: array[0..0] of TRGBQuad;
- end;
- TBitmapInfo = tagBITMAPINFO;
- {$EXTERNALSYM BITMAPINFO}
- BITMAPINFO = tagBITMAPINFO;
-
- function MakeLong(a, b: Word): Longint;
- procedure ZeroMemory(Destination: Pointer; Length: DWORD);
- function QueryPerformanceFrequency(var lpFrequency: TLargeInteger): BOOL;
- function QueryPerformanceCounter(var lpPerformanceCount: TLargeInteger): BOOL;
-
-implementation
-
-uses SDL {$IFDEF MSWINDOWS}, Windows{$ENDIF};
-
-function MakeLong(A, B: Word): Longint;
-begin
- Result := (LongInt(B) shl 16) + A;
-end;
-
-procedure ZeroMemory(Destination: Pointer; Length: DWORD);
-begin
- FillChar( Destination^, Length, 0);
-end;
-
-function QueryPerformanceFrequency(var lpFrequency: TLargeInteger): BOOL;
-begin
-{$IFDEF MSWINDOWS}
- Result := Windows.QueryPerformanceFrequency(lpFrequency);
-{$ENDIF}
-{$IFDEF MACOS}
- Result := true;
- lpFrequency := 1000;
-{$ENDIF}
-end;
-
-function QueryPerformanceCounter(var lpPerformanceCount: TLargeInteger): BOOL;
-begin
-{$IFDEF MSWINDOWS}
- Result := Windows.QueryPerformanceCounter(lpPerformanceCount);
-{$ENDIF}
-{$IFDEF MACOS}
- Result := true;
- lpPerformanceCount := SDL_GetTicks;
-{$ENDIF}
-end;
-
-end.
+unit Windows;
+
+{$I switches.inc}
+
+interface
+
+uses Types;
+
+const
+ opengl32 = 'OpenGL';
+ MAX_PATH = 260;
+
+type
+
+ DWORD = Types.DWORD;
+ {$EXTERNALSYM DWORD}
+ BOOL = LongBool;
+ {$EXTERNALSYM BOOL}
+ PBOOL = ^BOOL;
+ {$EXTERNALSYM PBOOL}
+ PByte = Types.PByte;
+ PINT = ^Integer;
+ {$EXTERNALSYM PINT}
+ PSingle = ^Single;
+ PWORD = ^Word;
+ {$EXTERNALSYM PWORD}
+ PDWORD = ^DWORD;
+ {$EXTERNALSYM PDWORD}
+ LPDWORD = PDWORD;
+ {$EXTERNALSYM LPDWORD}
+ HDC = type LongWord;
+ {$EXTERNALSYM HDC}
+ HGLRC = type LongWord;
+ {$EXTERNALSYM HGLRC}
+ TLargeInteger = Int64;
+ HFONT = type LongWord;
+ {$EXTERNALSYM HFONT}
+ HWND = type LongWord;
+ {$EXTERNALSYM HWND}
+
+ PPaletteEntry = ^TPaletteEntry;
+ {$EXTERNALSYM tagPALETTEENTRY}
+ tagPALETTEENTRY = packed record
+ peRed: Byte;
+ peGreen: Byte;
+ peBlue: Byte;
+ peFlags: Byte;
+ end;
+ TPaletteEntry = tagPALETTEENTRY;
+ {$EXTERNALSYM PALETTEENTRY}
+ PALETTEENTRY = tagPALETTEENTRY;
+
+ PRGBQuad = ^TRGBQuad;
+ {$EXTERNALSYM tagRGBQUAD}
+ tagRGBQUAD = packed record
+ rgbBlue: Byte;
+ rgbGreen: Byte;
+ rgbRed: Byte;
+ rgbReserved: Byte;
+ end;
+ TRGBQuad = tagRGBQUAD;
+ {$EXTERNALSYM RGBQUAD}
+ RGBQUAD = tagRGBQUAD;
+
+ PBitmapInfoHeader = ^TBitmapInfoHeader;
+ {$EXTERNALSYM tagBITMAPINFOHEADER}
+ tagBITMAPINFOHEADER = packed record
+ biSize: DWORD;
+ biWidth: Longint;
+ biHeight: Longint;
+ biPlanes: Word;
+ biBitCount: Word;
+ biCompression: DWORD;
+ biSizeImage: DWORD;
+ biXPelsPerMeter: Longint;
+ biYPelsPerMeter: Longint;
+ biClrUsed: DWORD;
+ biClrImportant: DWORD;
+ end;
+ TBitmapInfoHeader = tagBITMAPINFOHEADER;
+ {$EXTERNALSYM BITMAPINFOHEADER}
+ BITMAPINFOHEADER = tagBITMAPINFOHEADER;
+
+ PBitmapInfo = ^TBitmapInfo;
+ {$EXTERNALSYM tagBITMAPINFO}
+ tagBITMAPINFO = packed record
+ bmiHeader: TBitmapInfoHeader;
+ bmiColors: array[0..0] of TRGBQuad;
+ end;
+ TBitmapInfo = tagBITMAPINFO;
+ {$EXTERNALSYM BITMAPINFO}
+ BITMAPINFO = tagBITMAPINFO;
+
+ PBitmapFileHeader = ^TBitmapFileHeader;
+ {$EXTERNALSYM tagBITMAPFILEHEADER}
+ tagBITMAPFILEHEADER = packed record
+ bfType: Word;
+ bfSize: DWORD;
+ bfReserved1: Word;
+ bfReserved2: Word;
+ bfOffBits: DWORD;
+ end;
+ TBitmapFileHeader = tagBITMAPFILEHEADER;
+ {$EXTERNALSYM BITMAPFILEHEADER}
+ BITMAPFILEHEADER = tagBITMAPFILEHEADER;
+
+
+ function MakeLong(a, b: Word): Longint;
+ procedure ZeroMemory(Destination: Pointer; Length: DWORD);
+ function QueryPerformanceFrequency(var lpFrequency: TLargeInteger): BOOL;
+ function QueryPerformanceCounter(var lpPerformanceCount: TLargeInteger): BOOL;
+ function GetTickCount : Cardinal;
+ Procedure ShowMessage(msg : string);
+ procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
+
+implementation
+
+uses SDL;
+
+procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
+begin
+ Move(Source^, Destination^, Length);
+end;
+
+Procedure ShowMessage(msg : string);
+begin
+ // to be implemented
+end;
+
+function MakeLong(A, B: Word): Longint;
+begin
+ Result := (LongInt(B) shl 16) + A;
+end;
+
+procedure ZeroMemory(Destination: Pointer; Length: DWORD);
+begin
+ FillChar( Destination^, Length, 0);
+end;
+
+function QueryPerformanceFrequency(var lpFrequency: TLargeInteger): BOOL;
+begin
+{$IFDEF MSWINDOWS}
+ Result := Windows.QueryPerformanceFrequency(lpFrequency);
+{$ENDIF}
+{$IFDEF MACOS}
+ Result := true;
+ lpFrequency := 1000;
+{$ENDIF}
+end;
+
+function QueryPerformanceCounter(var lpPerformanceCount: TLargeInteger): BOOL;
+begin
+{$IFDEF MSWINDOWS}
+ Result := Windows.QueryPerformanceCounter(lpPerformanceCount);
+{$ENDIF}
+{$IFDEF MACOS}
+ Result := true;
+ lpPerformanceCount := SDL_GetTicks;
+{$ENDIF}
+end;
+
+function GetTickCount : Cardinal;
+begin
+ Result := SDL_GetTicks;
+end;
+
+end.