From 52eeec05d021df5334934f50dfafff981cbca33b Mon Sep 17 00:00:00 2001 From: eddie-0815 Date: Mon, 29 Oct 2007 21:40:14 +0000 Subject: Just adding first MacOSX version. This does not compile yet. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@540 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/MacOSX/Wrapper/Windows.pas | 139 +++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100755 Game/Code/MacOSX/Wrapper/Windows.pas (limited to 'Game/Code/MacOSX/Wrapper/Windows.pas') diff --git a/Game/Code/MacOSX/Wrapper/Windows.pas b/Game/Code/MacOSX/Wrapper/Windows.pas new file mode 100755 index 00000000..333b08e7 --- /dev/null +++ b/Game/Code/MacOSX/Wrapper/Windows.pas @@ -0,0 +1,139 @@ +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. -- cgit v1.2.3 From 391d30716d48dc709f6444b19c008e82311623b9 Mon Sep 17 00:00:00 2001 From: eddie-0815 Date: Thu, 1 Nov 2007 19:34:40 +0000 Subject: Mac OS X version compiles and links. I hope I didn't break too many files on windows/linux. Added switches.inc to all files. Changed many IFDEFs. For Windows-only code please use MSWINDOWS instead of WIN32 now. WIN32 is also used by the Mac port. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@546 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/MacOSX/Wrapper/Windows.pas | 306 +++++++++++++++++++---------------- 1 file changed, 167 insertions(+), 139 deletions(-) (limited to 'Game/Code/MacOSX/Wrapper/Windows.pas') 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. -- cgit v1.2.3