converts some gl calls to gles
authorkoda
Tue, 22 Sep 2009 18:58:02 +0000
changeset 2390 57fb33ab04a4
parent 2389 bc3e45a4d5fb
child 2391 f7d15d9d643c
converts some gl calls to gles
hedgewars/SDLh.pas
hedgewars/hwengine.pas
hedgewars/uChat.pas
hedgewars/uGears.pas
hedgewars/uSound.pas
--- a/hedgewars/SDLh.pas	Tue Sep 22 15:48:49 2009 +0000
+++ b/hedgewars/SDLh.pas	Tue Sep 22 18:58:02 2009 +0000
@@ -47,22 +47,25 @@
 {$ENDIF}
 
 (*  SDL  *)
-const {$IFDEF WIN32}
-	SDLLibName = 'SDL.dll';
-	{$ENDIF}
-	{$IFDEF UNIX}
-			{$IFDEF DARWIN}
-			SDLLibName = 'SDL';
-			{$ELSE}
-			SDLLibName = 'libSDL.so';
-			{$ENDIF}
-	{$ENDIF}
+const
+{$IFDEF WIN32}
+        SDLLibName = 'SDL.dll';
+{$ENDIF}
+{$IFDEF UNIX}
+	{$IFDEF DARWIN}
+                SDLLibName = 'SDL';
+        {$ELSE}
+		SDLLibName = 'libSDL.so';
+        {$ENDIF}
+{$ENDIF}
 	SDL_SWSURFACE   = $00000000;
 	SDL_HWSURFACE   = $00000001;
 	SDL_SRCALPHA    = $00010000;
 	SDL_INIT_VIDEO  = $00000020;
 	SDL_INIT_AUDIO  = $00000010;
 
+	SDL_APPINPUTFOCUS=$00000010;
+
 {$IFDEF SDL13}
 	SDL_ASYNCBLIT   = $08000000;
 	SDL_ANYFORMAT   = $10000000;
@@ -89,22 +92,28 @@
 	SDL_RESIZABLE   = $00000010;
 {$ENDIF}
 
+{*begin sdl_event binding*}
 	SDL_NOEVENT     = 0;
-	SDL_ACTIVEEVENT = 1;
 	SDL_KEYDOWN     = 2;
 	SDL_KEYUP       = 3;
-	SDL_MOUSEBUTTONDOWN = 5;
-	SDL_MOUSEBUTTONUP   = 6;
 	SDL_QUITEV      = 12;
 	SDL_VIDEORESIZE = 16;
 
 {$IFDEF SDL13}
+        SDL_WINDOWEVENT = 1;
+        SDL_TEXTINPUT = 4;
 	SDL_MOUSEMOTION  = 5;
+        SDL_MOUSEBUTTONDOWN = 6;
+	SDL_MOUSEBUTTONUP   = 7;
+        SDL_MOUSEWHEEL = 8;  //different handling, should create SDL_MouseWheelEvent type
+{$ELSE}
+        SDL_ACTIVEEVENT = 1;
+       	SDL_MOUSEBUTTONDOWN = 5;
+	SDL_MOUSEBUTTONUP   = 6;
+        SDL_BUTTON_WHEELDUP = 4;
+	SDL_BUTTON_WHEELDOWN = 5;
 {$ENDIF}
-
-	SDL_APPINPUTFOCUS = 2;
-	SDL_BUTTON_WHEELDUP = 4;
-	SDL_BUTTON_WHEELDOWN = 5;
+{*end sdl_event binding*}
 
 	RMask = $000000FF;
 	GMask = $0000FF00;
@@ -113,12 +122,12 @@
 
 type PSDL_Rect = ^TSDL_Rect;
 	TSDL_Rect = record
-	{$IFDEF SDL13}
+{$IFDEF SDL13}
 		x, y, w, h: LongInt;
-	{$ELSE}
+{$ELSE}
 		x, y: SmallInt;
 		w, h: Word;
-	{$ENDIF}
+{$ENDIF}
 		end;
 
 	TPoint = record
@@ -277,15 +286,25 @@
      PSDL_Event = ^TSDL_Event;
      TSDL_Event = record
                   case Byte of
+{$IFDEF SDL13}
+                        //doublecheck the type of WINDOWEVENT TEXTINPUT
+                        SDL_NOEVENT: (type_: byte);
+                        SDL_WINDOWEVENT: (active: TSDL_ActiveEvent);
+                        SDL_KEYDOWN,
+                        SDL_KEYUP: (key: TSDL_KeyboardEvent);
+                        SDL_TEXTINPUT: (txtin: byte);
+                        SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
+                        SDL_MOUSEBUTTONDOWN,
+                        SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
+{$ELSE}
                        SDL_NOEVENT: (type_: byte);
                        SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
-                       SDL_KEYDOWN, SDL_KEYUP: (key: TSDL_KeyboardEvent);
+                       SDL_KEYDOWN,
+                       SDL_KEYUP: (key: TSDL_KeyboardEvent);
                        SDL_QUITEV: (quit: TSDL_QuitEvent);
                        SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent);
                        SDL_MOUSEBUTTONDOWN,
                        SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
-{$IFDEF SDL13}
-                       SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
 {$ENDIF}
      end;
 
--- a/hedgewars/hwengine.pas	Tue Sep 22 15:48:49 2009 +0000
+++ b/hedgewars/hwengine.pas	Tue Sep 22 18:58:02 2009 +0000
@@ -168,16 +168,20 @@
 repeat
 while SDL_PollEvent(@event) <> 0 do
 	case event.type_ of
-	{$IFDEF IPHONEOS}
+{$IFDEF IPHONEOS}
 		SDL_MOUSEMOTION: WriteLnToConsole('mouse number ' + inttostr(SDL_SelectMouse(event.motion.which)) + ' over ' + inttostr(SDL_GetNumMice()));
-	{$ELSE}
+                SDL_WINDOWEVENT:
+{$ELSE}
 		SDL_KEYDOWN: if GameState = gsChat then KeyPressChat(event.key.keysym.unicode);
-	{$ENDIF}
-		SDL_ACTIVEEVENT: if (event.active.state and SDL_APPINPUTFOCUS) <> 0 then
+                SDL_ACTIVEEVENT:
+{$ENDIF}
+                        if (event.active.state and SDL_APPINPUTFOCUS) <> 0 then
 				cHasFocus:= event.active.gain = 1;
 		//SDL_VIDEORESIZE: Resize(max(event.resize.w, 600), max(event.resize.h, 450));
+{$IFNDEF IPHONEOS}
 		SDL_MOUSEBUTTONDOWN: if event.button.button = SDL_BUTTON_WHEELDOWN then uKeys.wheelDown:= true;
 		SDL_MOUSEBUTTONUP: if event.button.button = SDL_BUTTON_WHEELDUP then uKeys.wheelUp:= true;
+{$ENDIF}
 		SDL_QUITEV: isTerminated:= true
 		end;
 CurrTime:= SDL_GetTicks;
@@ -245,7 +249,7 @@
      for p:= Succ(Low(TPathType)) to High(TPathType) do
          if p <> ptMapCurrent then Pathz[p]:= PathPrefix + '/' + Pathz[p]
      end;
-	 {$IFDEF IPHONEOS}
+{$IFDEF IPHONEOS}
   0: begin
         PathPrefix:= 'hedgewars/Data';
 		recordFileName:= 'hedgewars/save.hws';
@@ -268,7 +272,7 @@
         for p:= Succ(Low(TPathType)) to High(TPathType) do
 			if p <> ptMapCurrent then Pathz[p]:= PathPrefix + '/' + Pathz[p]
      end;
-	 {$ENDIF}
+{$ENDIF}
   3: begin
      val(ParamStr(2), ipcPort);
      GameType:= gmtLandPreview;
--- a/hedgewars/uChat.pas	Tue Sep 22 15:48:49 2009 +0000
+++ b/hedgewars/uChat.pas	Tue Sep 22 18:58:02 2009 +0000
@@ -237,15 +237,6 @@
 			FreezeEnterKey;
 			GameState:= gsGame
 			end;
-		{missing Mac keys}
-		{*
-			63272 is canc
-			63232 is UP
-			63234 is LEFT
-			63235 is RIGHT
-			63233 is DOWN
-		*}
-		63272, 63232, 36233, 36234, 36235: Key:= 28;
 	else
 	if (Key < $80) then btw:= 1
 	else if (Key < $800) then btw:= 2
--- a/hedgewars/uGears.pas	Tue Sep 22 15:48:49 2009 +0000
+++ b/hedgewars/uGears.pas	Tue Sep 22 18:58:02 2009 +0000
@@ -1280,10 +1280,11 @@
 
 	glLineWidth(4.0);
 
-	glColor3ub($B0, $B0, $B0);
+//	glColor3ub($B0, $B0, $B0);
+	glColor4f(176.0, 176.0, 176.0, 1.0);
 
 	glEnableClientState(GL_VERTEX_ARRAY);
-	glVertexPointer(2, GL_INT, 0, @RopePoints.rounded[0]);
+	glVertexPointer(2, GL_FLOAT, 0, @RopePoints.rounded[0]);
 	glDrawArrays(GL_LINE_STRIP, 0, RopePoints.Count + 2);
 	glColor4f(1, 1, 1, 1);
 
--- a/hedgewars/uSound.pas	Tue Sep 22 15:48:49 2009 +0000
+++ b/hedgewars/uSound.pas	Tue Sep 22 18:58:02 2009 +0000
@@ -103,6 +103,8 @@
 const numSounds = 80;
 begin
 if not isSoundEnabled then exit;
+{*sound works in ipodtouch only if LAND_WIDTH  = 1024;   LAND_HEIGHT = 512; 
+or if ogg are loaded in stream or if sound is loaded by demand*}
 WriteToConsole('Init OpenAL sound...');
 isSoundEnabled:= openal_init(numSounds);
 if isSoundEnabled then WriteLnToConsole(msgOK)