hedgewars/SDLh.pas
changeset 2663 d53918cd22bb
parent 2633 9eb131794a6e
child 2664 949c189ba568
--- a/hedgewars/SDLh.pas	Mon Dec 14 20:23:51 2009 +0000
+++ b/hedgewars/SDLh.pas	Wed Dec 16 14:58:45 2009 +0000
@@ -21,7 +21,6 @@
 unit SDLh;
 interface
 
-
 {$IFDEF LINUX}
   {$DEFINE UNIX}
 {$ENDIF}
@@ -52,7 +51,6 @@
     {$linkframework SDL_ttf}
     {$linkframework SDL_mixer}
     {$linklib SDLmain}
-    {$linklib gcc}
   {$ENDIF}
 {$ENDIF}
 
@@ -66,19 +64,19 @@
 	SDL_ImageLibName = 'SDL_image.dll';
 	SDL_NetLibName = 'SDL_net.dll';
 {$ELSE}
-	{$IFDEF DARWIN}
-		SDLLibName = 'SDL';
-		SDL_TTFLibName = 'SDL_ttf';
-		SDL_MixerLibName = 'SDL_mixer';
-		SDL_ImageLibName = 'SDL_image';
-		SDL_NetLibName = 'SDL_net';
-        {$ELSE}
-		SDLLibName = 'libSDL.so';
-		SDL_TTFLibName = 'libSDL_ttf.so';
-		SDL_MixerLibName = 'libSDL_mixer.so';
-		SDL_ImageLibName = 'libSDL_image.so';
-		SDL_NetLibName = 'libSDL_net.so';
-        {$ENDIF}
+  {$IFDEF DARWIN}
+	SDLLibName = 'SDL';
+	SDL_TTFLibName = 'SDL_ttf';
+	SDL_MixerLibName = 'SDL_mixer';
+	SDL_ImageLibName = 'SDL_image';
+	SDL_NetLibName = 'SDL_net';
+  {$ELSE}
+	SDLLibName = 'libSDL.so';
+	SDL_TTFLibName = 'libSDL_ttf.so';
+	SDL_MixerLibName = 'libSDL_mixer.so';
+	SDL_ImageLibName = 'libSDL_image.so';
+	SDL_NetLibName = 'libSDL_net.so';
+  {$ENDIF}
 {$ENDIF}
 
 /////////////////////////////////////////////////////////////////
@@ -106,7 +104,7 @@
 	SDL_BUTTON_WHEELDUP  = 4;
 	SDL_BUTTON_WHEELDOWN = 5;
 		
-{*begin sdl_event binding*}
+{*begin SDL_Event binding*}
 	SDL_NOEVENT = 0;
 	SDL_KEYDOWN = 2;
 	SDL_KEYUP = 3;
@@ -137,7 +135,7 @@
 	SDL_QUITEV = 12;
 	SDL_VIDEORESIZE = 16; // TODO: outdated? no longer in SDL 1.3?
 {$ENDIF}
-{*end sdl_event binding*}
+{*end SDL_Event binding*}
 		
 {$IFDEF SDL13}
 	SDL_ASYNCBLIT   = $08000000;
@@ -313,38 +311,40 @@
 		end;
 
 
-{* SDL_event type definition *}
+{* SDL_Event type definition *}
 
 {$IFDEF SDL13}
 	TSDL_WindowID = LongInt;
 
 	TSDL_WindowEvent = record
+		type_: byte;
+		gain: byte;
+		state: byte;
+		windowID: TSDL_WindowID;
+		data1, data2: LongInt;
+		end;
+
+// implement SDL_TextEditingEvent + SDL_TextInputEvent for sdl13
 {$ELSE}
 	TSDL_ActiveEvent = record
-{$ENDIF}
 		type_: byte;
 		gain: byte;
 		state: byte;
-{$IFDEF SDL13}
-		windowID: TSDL_WindowID;
-		data1, data2: LongInt;
+		end;
 {$ENDIF}
-		end;
-
-//SDL_TextEditingEvent + SDL_TextInputEvent for sdl13
 
 	TSDL_MouseMotionEvent = record
-                             type_: byte;
-                             which: byte;
-                             state: byte;
+		type_: byte;
+		which: byte;
+		state: byte;
 {$IFDEF SDL13}
-                             x, y, xrel, yrel : LongInt;
-			     pressure, pressure_max, pressure_min,
-			     rotation, tilt, cursor: LongInt; 
+		x, y, xrel, yrel : LongInt;
+		pressure, pressure_max, pressure_min,
+		rotation, tilt, cursor: LongInt; 
 {$ELSE}
-                             x, y, xrel, yrel : word;
+		x, y, xrel, yrel : word;
 {$ENDIF}
-                             end;
+		end;
 
 	TSDL_KeyboardEvent = record
 		type_: Byte;
@@ -570,7 +570,6 @@
 /////////////////////  FUNCTION DEFINITIONS /////////////////////
 /////////////////////////////////////////////////////////////////
 
-{$IFDEF FPC}
 
 {* SDL *}
 function  SDL_Init(flags: Longword): LongInt; cdecl; external SDLLibName;
@@ -640,14 +639,12 @@
 function  SDL_GL_SetAttribute(attr: TSDL_GLattr; value: LongInt): LongInt; cdecl; external SDLLibName;
 procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName;
 
-{$IFDEF SDL13}
 {$IFDEF IPHONEOS}
 function  SDL_iPhoneKeyboardShow(windowID: LongInt): LongInt; cdecl; external SDLLibName;
 function  SDL_iPhoneKeyboardHide(windowID: LongInt): LongInt; cdecl; external SDLLibName;
 function  SDL_iPhoneKeyboardIsShown(windowID: LongInt): boolean; cdecl; external SDLLibName;
 function  SDL_iPhoneKeyboardToggle(windowID: LongInt): LongInt; cdecl; external SDLLibName;
 {$ENDIF}
-{$ENDIF}
 
 function  SDL_NumJoysticks: LongInt; cdecl; external SDLLibName;
 function  SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName;
@@ -724,11 +721,6 @@
 function  SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
 function  SDLNet_CheckSockets(_set: PSDLNet_SocketSet; timeout: LongInt): LongInt; cdecl; external SDL_NetLibName;
 
-{$IFDEF IPHONEOS}
-function  get_documents_path: PChar; cdecl; external 'hwutils';
-{$ENDIF}
-
-{$ELSE}{$ENDIF}
 
 procedure SDLNet_Write16(value: Word; buf: pointer);
 procedure SDLNet_Write32(value: LongWord; buf: pointer);
@@ -739,32 +731,32 @@
 
 function SDL_MustLock(Surface: PSDL_Surface): Boolean;
 begin
-  SDL_MustLock:= ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
+	SDL_MustLock:= ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
 end;
 
 procedure SDLNet_Write16(value: Word; buf: pointer);
 begin
-  PByteArray(buf)^[1]:= value;
-  PByteArray(buf)^[0]:= value shr 8
+	PByteArray(buf)^[1]:= value;
+	PByteArray(buf)^[0]:= value shr 8
 end;
 
 procedure SDLNet_Write32(value: LongWord; buf: pointer);
 begin
-  PByteArray(buf)^[3]:= value;
-  PByteArray(buf)^[2]:= value shr  8;
-  PByteArray(buf)^[1]:= value shr 16;
-  PByteArray(buf)^[0]:= value shr 24
+	PByteArray(buf)^[3]:= value;
+	PByteArray(buf)^[2]:= value shr  8;
+	PByteArray(buf)^[1]:= value shr 16;
+	PByteArray(buf)^[0]:= value shr 24
 end;
 
 function SDLNet_Read16(buf: pointer): Word;
 begin
-  SDLNet_Read16:= PByteArray(buf)^[1] or
+	SDLNet_Read16:= PByteArray(buf)^[1] or
                  (PByteArray(buf)^[0] shl 8)
 end;
 
 function SDLNet_Read32(buf: pointer): LongWord;
 begin
-  SDLNet_Read32:=  PByteArray(buf)^[3] or
+	SDLNet_Read32:=  PByteArray(buf)^[3] or
                   (PByteArray(buf)^[2] shl  8) or
                   (PByteArray(buf)^[1] shl 16) or
                   (PByteArray(buf)^[0] shl 24)