diff -ruN briquolo-0.5.7/src/Constante.cpp briquolo-0.5.7-port/src/Constante.cpp
--- briquolo-0.5.7/src/Constante.cpp	2008-03-22 05:40:33.000000000 -0400
+++ briquolo-0.5.7-port/src/Constante.cpp	2011-01-27 20:18:29.000000000 -0500
@@ -34,6 +34,8 @@
 #else
 #include <unistd.h>
 #endif
+#include <stdlib.h>
+
 
 #ifdef WIN32
   string Constante::_Local("");
diff -ruN briquolo-0.5.7/src/Curseur.cpp briquolo-0.5.7-port/src/Curseur.cpp
--- briquolo-0.5.7/src/Curseur.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/Curseur.cpp	2011-01-28 18:54:14.000000000 -0500
@@ -35,13 +35,18 @@
   // Mais c'est peut être la faute d'un bug du driver de la Voodoo3 ?
   // De toute façon ça marche sans ça, donc c'est pas très grave
   // (mais c'est moins propre)
+#if !defined(PANDORA)
   glPushAttrib(GL_ALL_ATTRIB_BITS);
 #endif
+#endif
   glColor4f(1,0,0,1);
+#if !defined(PANDORA)
   glDisable(GL_TEXTURE_2D);
   glDisable(GL_LIGHTING);
+#endif
 
   glLineWidth(3);
+#if !defined(PANDORA)
   glBegin(GL_LINES);
   // ligne horizontale
   glVertex2f(_Tableau->GetXMin(), _PositionY);
@@ -52,11 +57,26 @@
   glVertex2f(_PositionX, _Tableau->GetYMax());
 
   glEnd();
+#else
+  GLfloat lines[] = {
+	_Tableau->GetXMin(), _PositionY,
+	_Tableau->GetXMax(), _PositionY,
+	_PositionX, _Tableau->GetYMin(),
+	_PositionX, _Tableau->GetYMax()
+  };
+
+  glEnableClientState(GL_VERTEX_ARRAY);
+  glVertexPointer(2, GL_FLOAT, 0, lines);
+  glDrawArrays(GL_LINES,0, 2*2);
+  glDisableClientState(GL_VERTEX_ARRAY);
+#endif
   
 #ifndef WIN32
   // cf plus haut !
+#if !defined(PANDORA)
   glPopAttrib();  
 #endif
+#endif
 }
 
 void Curseur::SetPosition(float p_X, float p_Y)
diff -ruN briquolo-0.5.7/src/MOGL/eglport.cpp briquolo-0.5.7-port/src/MOGL/eglport.cpp
--- briquolo-0.5.7/src/MOGL/eglport.cpp	1969-12-31 19:00:00.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/eglport.cpp	2011-01-28 14:59:20.000000000 -0500
@@ -0,0 +1,219 @@
+#include "eglport.h"
+
+#if defined(NANOGL)
+#include "GLES/NANOGL/nanogl.h"
+#endif
+
+#define EGLNativeWindowType NativeWindowType
+#define EGLNativeDisplayType NativeDisplayType
+
+EGLDisplay g_eglDisplay = 0;
+EGLConfig g_eglConfig = 0;
+EGLContext g_eglContext = 0;
+EGLSurface g_eglSurface = 0;
+
+#define g_totalConfigsIn 20
+int g_totalConfigsFound = 0;
+EGLConfig g_allConfigs[g_totalConfigsIn];
+Display *g_x11Display = NULL;
+
+
+/*======================================================
+ * Kill off any opengl specific details
+  ====================================================*/
+void EGL_Destroy()
+{
+    if( g_eglSurface || g_eglContext || g_eglDisplay )
+    {
+        eglMakeCurrent(g_eglDisplay, NULL, NULL, EGL_NO_CONTEXT);
+        eglDestroyContext(g_eglDisplay, g_eglContext);
+        eglDestroySurface(g_eglDisplay, g_eglSurface);
+        eglTerminate(g_eglDisplay);
+    }
+
+    g_eglSurface = 0;
+    g_eglContext = 0;
+    g_eglDisplay = 0;
+
+	if (g_x11Display)
+		XCloseDisplay(g_x11Display);
+
+    g_x11Display = NULL;
+
+    printf( "EGL Closed\n");
+
+#if defined(NANOGL)
+    nanoGL_Destroy();
+#endif
+}
+
+/*===========================================================
+Setup EGL context and surface
+===========================================================*/
+int EGL_Init( void )
+{
+    FindAppropriateEGLConfigs();
+
+    int configIndex = 0;
+
+	printf( "Config %d\n", configIndex );
+
+	if (!ConfigureEGL(g_allConfigs[configIndex]))
+	{
+		TestEGLError();
+		fprintf(stderr, "ERROR: Unable to initialise EGL. See previous error.\n");
+		return 1;
+	}
+
+    return 0;
+}
+
+/*===========================================================
+Swap EGL buffers and update the display
+===========================================================*/
+void EGL_SwapBuffers( void )
+{
+	eglSwapBuffers(g_eglDisplay, g_eglSurface);
+}
+
+
+/*========================================================
+ *  Init base EGL
+ * ======================================================*/
+int EGL_Open( void )
+{
+#if defined(NANOGL)
+    nanoGL_Init();
+#endif
+
+    // use EGL to initialise GLES
+    printf( "EGL Open display\n" );
+    g_x11Display = XOpenDisplay(NULL);
+
+    if (!g_x11Display)
+    {
+        fprintf(stderr, "ERROR: unable to get display!\n");
+        return 0;
+    }
+
+    printf( "EGL Get display\n" );
+    g_eglDisplay = eglGetDisplay((EGLNativeDisplayType)g_x11Display);
+
+    if (g_eglDisplay == EGL_NO_DISPLAY)
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to initialise EGL display.\n");
+        return 0;
+    }
+
+    // Initialise egl
+    printf( "EGL Init\n" );
+    if (!eglInitialize(g_eglDisplay, NULL, NULL))
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to initialise EGL display.\n");
+        return 0;
+    }
+
+    return 1;
+}
+
+/*===========================================================
+Initialise OpenGL settings
+===========================================================*/
+int ConfigureEGL(EGLConfig config)
+{
+    // Cleanup in case of a reset
+    if( g_eglSurface || g_eglContext || g_eglDisplay )
+    {
+        eglMakeCurrent(g_eglDisplay, NULL, NULL, EGL_NO_CONTEXT);
+        eglDestroyContext(g_eglDisplay, g_eglContext);
+        eglDestroySurface(g_eglDisplay, g_eglSurface);
+    }
+
+    // Bind GLES and create the context
+    printf( "EGL Bind\n" );
+    eglBindAPI(EGL_OPENGL_ES_API);
+	if (!TestEGLError() )
+	{
+		return 0;
+	}
+
+    printf( "EGL Create Context\n" );
+    g_eglContext = eglCreateContext(g_eglDisplay, config, NULL, NULL);
+    if (g_eglContext == EGL_NO_CONTEXT)
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to create GLES context!\n");
+        return 0;
+    }
+
+    // Get the SDL window handle
+    SDL_SysWMinfo sysInfo; //Will hold our Window information
+    SDL_VERSION(&sysInfo.version); //Set SDL version
+    if(SDL_GetWMInfo(&sysInfo) <= 0)
+    {
+        TestEGLError();
+        fprintf( stderr, "ERROR: Unable to get window handle\n");
+        return 0;
+    }
+
+    printf( "EGL Create window surface\n" );
+    g_eglSurface = eglCreateWindowSurface(g_eglDisplay, config, (EGLNativeWindowType)sysInfo.info.x11.window, 0);
+
+    if ( g_eglSurface == EGL_NO_SURFACE)
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to create EGL surface!\n");
+        return 0;
+    }
+
+    printf( "EGL Make Current\n" );
+    if (eglMakeCurrent(g_eglDisplay,  g_eglSurface,  g_eglSurface, g_eglContext) == EGL_FALSE)
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to make GLES context current\n");
+        return 0;
+    }
+
+    printf( "EGL Done\n" );
+    return 1;
+}
+
+/*=======================================================
+* Detect available video resolutions
+=======================================================*/
+int FindAppropriateEGLConfigs( void )
+{
+    static const EGLint s_configAttribs[] =
+    {
+          EGL_RED_SIZE,     5,
+          EGL_GREEN_SIZE,   6,
+          EGL_BLUE_SIZE,    5,
+          EGL_DEPTH_SIZE,       16,
+          EGL_SURFACE_TYPE,         EGL_WINDOW_BIT,
+          EGL_RENDERABLE_TYPE,      EGL_OPENGL_ES_BIT,
+          EGL_NONE
+    };
+
+    if (eglChooseConfig(g_eglDisplay, s_configAttribs, g_allConfigs, g_totalConfigsIn, &g_totalConfigsFound) != EGL_TRUE || g_totalConfigsFound == 0)
+    {
+        TestEGLError();
+        fprintf(stderr, "ERROR: Unable to query for available configs.\n");
+        return 0;
+    }
+    fprintf(stderr, "Found %d available configs\n", g_totalConfigsFound);
+    return 1;
+}
+
+int TestEGLError( void )
+{
+	EGLint iErr = eglGetError();
+	while (iErr != EGL_SUCCESS)
+	{
+		printf("EGL failed (%d).\n", iErr);
+		return 0;
+	}
+
+	return 1;
+}
diff -ruN briquolo-0.5.7/src/MOGL/eglport.h briquolo-0.5.7-port/src/MOGL/eglport.h
--- briquolo-0.5.7/src/MOGL/eglport.h	1969-12-31 19:00:00.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/eglport.h	2011-01-28 14:59:20.000000000 -0500
@@ -0,0 +1,20 @@
+#ifndef EGLPORT_H
+#define EGLPORT_H
+
+#include <stdio.h>
+#include <math.h>
+#include <GLES/gl.h>
+#include <GLES/egl.h>
+//#include <GLES/egltypes.h>
+#include <SDL/SDL_syswm.h>
+
+void EGL_Destroy( void );
+int EGL_Open( void );
+int EGL_Init( void );
+void EGL_SwapBuffers( void );
+
+int ConfigureEGL(EGLConfig config);
+int FindAppropriateEGLConfigs( void );
+int TestEGLError( void );
+
+#endif // EGLPORT_H
diff -ruN briquolo-0.5.7/src/MOGL/Makefile.am briquolo-0.5.7-port/src/MOGL/Makefile.am
--- briquolo-0.5.7/src/MOGL/Makefile.am	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/Makefile.am	2011-01-28 15:02:16.000000000 -0500
@@ -119,6 +119,7 @@
 MOGL_TrianglePeau.cpp \
 MOGL_TrianglePeau.h \
 MOGL_Univers.cpp \
+eglport.cpp \
 MOGL_Univers.h
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Afficheur.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Afficheur.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Afficheur.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Afficheur.cpp	2011-01-29 14:20:18.000000000 -0500
@@ -242,7 +242,9 @@
       glDisable(GL_LIGHTING);
     }
     glCullFace(GL_FRONT);
+#if !defined(PANDORA)
     glPolygonMode(GL_BACK,GL_LINE);
+#endif
     _AfficherAbonnementsOpaque(false);
   }
   else
@@ -255,7 +257,9 @@
       glDisable(GL_LIGHTING);
     }
     glCullFace(GL_FRONT);
+#if !defined(PANDORA)
     glPolygonMode(GL_BACK,GL_LINE);
+#endif
 
     _AfficherBordAbonnementsOpaque();
   }
@@ -272,7 +276,9 @@
   }
 
   glCullFace(GL_BACK);
+#if !defined(PANDORA)
   glPolygonMode(GL_BACK,GL_FILL);
+#endif
 
 
   _AfficherAbonnementsOpaque(true);
@@ -341,12 +347,26 @@
   glDisable(GL_BLEND);
   glColor4f(1,0,0,1);
   glPointSize(5);
+#if !defined(PANDORA)
   glBegin(GL_POINTS);
   for (MOGL_ItList_Vecteur itv=_ListPoint.begin(); itv!=_ListPoint.end(); itv++)
   {
     glVertex3f(itv->x, itv->y, itv->z);
   }
   glEnd();
+#else
+  GLfloat vtxl[_ListPoint.size()*3];
+  int i=0;
+  for (MOGL_ItList_Vecteur itv=_ListPoint.begin(); itv!=_ListPoint.end(); itv++) {
+	vtxl[i++]	= itv->x;
+	vtxl[i++]	= itv->y;
+	vtxl[i++]	= itv->z;
+  }
+  glEnableClientState(GL_VERTEX_ARRAY);
+  glVertexPointer(3, GL_FLOAT, 0, vtxl);
+  glDrawArrays(GL_TRIANGLE_FAN,0,_ListPoint.size());
+  glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
   glEnable(GL_TEXTURE_2D);
 }
@@ -931,12 +951,16 @@
     glBlendFunc(GL_DST_COLOR, GL_ONE);
     glColor4f(1,1,1,1);
     glCullFace(GL_BACK);
+#if !defined(PANDORA)
     glDrawArrays(GL_QUADS, 0, 4*3);
+#endif
 
     glBlendFunc(GL_DST_COLOR, GL_ZERO);
     glColor4f(0.5, 0.5, 0.50, 0.50);
     glCullFace(GL_FRONT);
+#if !defined(PANDORA)
     glDrawArrays(GL_QUADS, 0, 4*3);
+#endif
   }
 
   // On prépare l'affichage des carré sur toute la surface
@@ -950,39 +974,95 @@
 
   glColor4f(1,1,1,1);
   glBlendFunc(GL_DST_COLOR, GL_ONE);
+#if !defined(PANDORA)
   glBegin(GL_QUADS);
   glVertex2f(-10,-10);
   glVertex2f(10,-10);
   glVertex2f(10,10);
   glVertex2f(-10,10);
   glEnd();      
+#else
+    GLfloat q1[] = {
+	-10,-10,
+	10,-10,
+	10,10,
+	-10,10
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, q1);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
   glColor4f(1,1,1,1);
   glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO);
+#if !defined(PANDORA)
   glBegin(GL_QUADS);
   glVertex2f(-10,-10);
   glVertex2f(10,-10);
   glVertex2f(10,10);
   glVertex2f(-10,10);
   glEnd();
+#else
+    GLfloat q2[] = {
+	-10,-10,
+	10,-10,
+	10,10,
+	-10,10
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, q2);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
   glColor4f(1,1,1,1);
   glBlendFunc(GL_DST_COLOR, GL_ONE );
+#if !defined(PANDORA)
   glBegin(GL_QUADS);
   glVertex2f(-10,-10);
   glVertex2f(10,-10);
   glVertex2f(10,10);
   glVertex2f(-10,10);
   glEnd();
+#else
+    GLfloat q3[] = {
+	-10,-10,
+	10,-10,
+	10,10,
+	-10,10
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, q3);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
   glColor4f(0.5,0.5,0.5,0.5);
   glBlendFunc(GL_ONE, GL_ONE );
+#if !defined(PANDORA)
   glBegin(GL_QUADS);
   glVertex2f(-10,-10);
   glVertex2f(10,-10);
   glVertex2f(10,10);
   glVertex2f(-10,10);
   glEnd();
+#else
+    GLfloat q4[] = {
+	-10,-10,
+	10,-10,
+	10,10,
+	-10,10
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, q4);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
   glPopMatrix();
   glMatrixMode(GL_MODELVIEW);
@@ -1052,6 +1132,7 @@
   MOGL_ItListe_Image it;
   MOGL_Texture * texture=NULL;
 
+#if !defined(PANDORA)
   glBegin(GL_QUADS);    
   for(it=_ListeImage.begin(); it!=_ListeImage.end(); it++)
   {
@@ -1090,6 +1171,49 @@
     glVertex3f(it->x-it->tailleX/2, it->y+it->tailleY/2, it->z);
   }
   glEnd();
+#else
+  for(it=_ListeImage.begin(); it!=_ListeImage.end(); it++)
+  {
+      texture=it->texture;
+      texture->Selectionner();
+      if (texture->GetAutoriserTrou())
+      {
+        // La valeur alpha de la partie trouée d'une texture trouée vaut 0
+        // Donc on affiche seuleument si alpha > 0.2 (on laisse un peu de marge)
+        glAlphaFunc(GL_GREATER, 0.2f);
+        glEnable(GL_ALPHA_TEST);
+      }
+      else
+      {
+        // La texture n'est pas trouée donc on ne fait pas de test alpha
+        glDisable(GL_ALPHA_TEST);
+      }
+      GLfloat vtx0[] = {
+        it->x-it->tailleX/2, it->y-it->tailleY/2, it->z,
+	it->x+it->tailleX/2, it->y-it->tailleY/2, it->z,
+        it->x+it->tailleX/2, it->y+it->tailleY/2, it->z,
+	it->x-it->tailleX/2, it->y+it->tailleY/2, it->z
+      };
+      GLfloat tex0[] = {
+	0,0,
+	1,0,
+	1,1,
+	0,1
+      };
+
+      glColor4f(it->couleur.r,it->couleur.g,it->couleur.b,it->couleur.a);
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx0);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex0);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+  }
+#endif
 
   for(it=_ListeImageTailleFixe.begin(); it!=_ListeImageTailleFixe.end(); it++)
   {
@@ -1110,9 +1234,13 @@
       // La texture n'est pas trouée donc on ne fait pas de test alpha
       glDisable(GL_ALPHA_TEST);
     }
+#if !defined(PANDORA)
     glRasterPos3f(it->x, it->y, it->z);
+#endif
     GLboolean positionValide;
+#if !defined(PANDORA)
     glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, & positionValide);
+#endif
         
     if (positionValide)
     {
@@ -1123,11 +1251,9 @@
       gluOrtho2D(0,_Largeur,0,_Hauteur);
 
       float pos[4];
+#if !defined(PANDORA)
       glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
-
-      glBegin(GL_QUADS);
-        
-      glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
+#endif
 
       float tailleX=_Largeur*it->tailleX / 100.0;
       float tailleY;
@@ -1139,6 +1265,11 @@
       {
         tailleY=tailleX;
       }
+
+#if !defined(PANDORA)
+      glBegin(GL_QUADS);
+        
+      glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
                 
       glTexCoord2f(0,0);
       glVertex3f(pos[0]-tailleX/2, pos[1]-tailleY/2, 0);
@@ -1153,6 +1284,32 @@
       glVertex3f(pos[0]-tailleX/2, pos[1]+tailleY/2, 0);
 
       glEnd();
+#else
+      glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
+
+      GLfloat vtx1[] = {
+	pos[0]-tailleX/2, pos[1]-tailleY/2, 0,
+	pos[0]+tailleX/2, pos[1]-tailleY/2, 0,
+	pos[0]+tailleX/2, pos[1]+tailleY/2, 0,
+	pos[0]-tailleX/2, pos[1]+tailleY/2, 0
+      };
+      GLfloat tex1[] = {
+	0,0,
+	1,0,
+	1,1,
+	0,1
+      };
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx1);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex1);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
       glPopMatrix();
       glMatrixMode(GL_MODELVIEW);
     }
@@ -1182,6 +1339,7 @@
     }
 
 
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
     for(it=_MultimapImage.begin(); it!=_MultimapImage.end(); it++)
     {
@@ -1222,6 +1380,51 @@
       glVertex3f(it->second.x-it->second.tailleX/2, it->second.y+it->second.tailleY/2, it->second.z);
     }
     glEnd();
+#else
+  for(it=_MultimapImage.begin(); it!=_MultimapImage.end(); it++)
+  {
+        textureCourante=it->second.texture;
+        textureCourante->Selectionner();
+        if (textureCourante->GetTypeTexture()==MOGL_Texture::TEXTURE_TRANSPARENTE)
+        {
+          glDepthMask(1); 
+          glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+          glEnable(GL_BLEND);
+          glDisable(GL_ALPHA_TEST);
+        }
+        else
+        {
+          glDepthMask(0); 
+          glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+          glEnable(GL_BLEND);
+          glDisable(GL_ALPHA_TEST);
+        }
+      GLfloat vtx4[] = {
+        it->second.x-it->second.tailleX/2, it->second.y-it->second.tailleY/2, it->second.z,
+	it->second.x+it->second.tailleX/2, it->second.y-it->second.tailleY/2, it->second.z,
+	it->second.x+it->second.tailleX/2, it->second.y+it->second.tailleY/2, it->second.z,
+	it->second.x-it->second.tailleX/2, it->second.y+it->second.tailleY/2, it->second.z
+      };
+      GLfloat tex4[] = {
+	0,0,
+	1,0,
+	1,1,
+	0,1
+      };
+
+      glColor4f(it->second.couleur.r,it->second.couleur.g,it->second.couleur.b,it->second.couleur.a);
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx4);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex4);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+  }
+#endif
   }
 
   if (_MultimapImageTailleFixe.size()!=0)
@@ -1266,9 +1469,13 @@
       }
 
       const MOGL_Struct_Image & im=it->second;
+#if !defined(PANDORA)
       glRasterPos3f(im.x, im.y, im.z);
+#endif
       GLboolean positionValide;
+#if !defined(PANDORA)
       glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, & positionValide);
+#endif
   
       if (positionValide)
       {
@@ -1279,11 +1486,6 @@
         gluOrtho2D(0,_Largeur,0,_Hauteur);
 
         float pos[4];
-        glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
-
-        glBegin(GL_QUADS);
-  
-        glColor4f(im.couleur.r, im.couleur.g, im.couleur.b, im.couleur.a);
 
         float tailleX=_Largeur*im.tailleX / 100.0;
         float tailleY;
@@ -1296,6 +1498,13 @@
           tailleY=tailleX;
         }
 
+#if !defined(PANDORA)
+        glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
+
+        glBegin(GL_QUADS);
+  
+        glColor4f(im.couleur.r, im.couleur.g, im.couleur.b, im.couleur.a);
+
         glTexCoord2f(0,0);
         glVertex3f(pos[0]-tailleX/2, pos[1]-tailleY/2, 0);
           
@@ -1309,6 +1518,32 @@
         glVertex3f(pos[0]-tailleX/2, pos[1]+tailleY/2, 0);
 
         glEnd();
+#else
+      glColor4f(im.couleur.r, im.couleur.g, im.couleur.b, im.couleur.a);
+
+      GLfloat vtx2[] = {
+	pos[0]-tailleX/2, pos[1]-tailleY/2, 0,
+	pos[0]+tailleX/2, pos[1]-tailleY/2, 0,
+	pos[0]+tailleX/2, pos[1]+tailleY/2, 0,
+	pos[0]-tailleX/2, pos[1]+tailleY/2, 0
+      };
+      GLfloat tex2[] = {
+	0,0,
+	1,0,
+	1,1,
+	0,1
+      };
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx2);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex2);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
         glPopMatrix();
         glMatrixMode(GL_MODELVIEW);
       }
@@ -1328,17 +1563,26 @@
   MOGL_ItListe_Flare it;
   for(it=_ListeFlare.begin(); it!=_ListeFlare.end(); it++)
   {
+#if !defined(PANDORA)
     glRasterPos3f(it->x, it->y, it->z);
+#endif
     GLboolean positionValide;
+#if !defined(PANDORA)
     glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, & positionValide);
+#endif
   
     if (positionValide)
     {
       float pos[4];
+#if !defined(PANDORA)
       glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
+#endif
 
       float valDepthBuffer;
+#if !defined(PANDORA)
       glReadPixels(static_cast<int>(pos[0]), static_cast<int>(pos[1]), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &valDepthBuffer);
+#endif
+
       if (valDepthBuffer>pos[2])
       {
         // On paramètre la texture
@@ -1382,18 +1626,20 @@
         gluOrtho2D(0,_Largeur,0,_Hauteur);
 
         //float pos[4];
+#if !defined(PANDORA)
         glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
+#endif
 
         float x=pos[0]*it->position+_Largeur/2;
         float y=pos[1]*it->position+_Hauteur/2;
-          
+        /** @todo Spécifier la taille de manière à être conforme à la caméra */
+        float taille=_Largeur*it->taille / 100.0;
 
+#if !defined(PANDORA)
         glBegin(GL_QUADS);
   
         glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
 
-        float taille=_Largeur*it->taille / 100.0;
-        /** @todo Spécifier la taille de manière à être conforme à la caméra */
 
         glTexCoord2f(0,0);
         glVertex3f(x-taille/2, y-taille/2, 0);
@@ -1408,6 +1654,32 @@
         glVertex3f(x-taille/2, y+taille/2, 0);
 
         glEnd();
+#else
+	glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
+
+	GLfloat vtx3[] = {
+		x-taille/2, y-taille/2, 0,
+		x+taille/2, y-taille/2, 0,
+		x+taille/2, y+taille/2, 0,
+		x-taille/2, y+taille/2, 0
+	};
+	GLfloat tex3[] = {
+		0,0,
+		1,0,
+		1,1,
+		0,1
+	};
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx3);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex3);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
         glPopMatrix();
         glMatrixMode(GL_MODELVIEW);
       }
@@ -1416,17 +1688,27 @@
   
   for(it=_ListeFlareTailleFixe.begin(); it!=_ListeFlareTailleFixe.end(); it++)
   {
+#if !defined(PANDORA)
     glRasterPos3f(it->x, it->y, it->z);
+#endif
     GLboolean positionValide;
+#if !defined(PANDORA)
     glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, & positionValide);
-  
+#endif
+
     if (positionValide)
     {
       float pos[4];
+#if !defined(PANDORA)
       glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
+#endif
 
       float valDepthBuffer;
+
+
+#if !defined(PANDORA)
       glReadPixels(static_cast<int>(pos[0]), static_cast<int>(pos[1]), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &valDepthBuffer);
+#endif
       if (valDepthBuffer>pos[2])
       {
                 
@@ -1473,12 +1755,13 @@
         float y=(pos[1]-_Hauteur/2)*it->position+_Hauteur/2;
           
 
+        float taille=_Largeur*it->taille / 100.0;
+
+#if !defined(PANDORA)
         glBegin(GL_QUADS);
   
         glColor4f(it->couleur.r, it->couleur.g, it->couleur.b, it->couleur.a);
 
-        float taille=_Largeur*it->taille / 100.0;
-
         glTexCoord2f(0,0);
         glVertex3f(x-taille/2, y-taille/2, 0);
           
@@ -1492,6 +1775,30 @@
         glVertex3f(x-taille/2, y+taille/2, 0);
 
         glEnd();
+#else
+	GLfloat vtx4[] = {
+		x-taille/2, y-taille/2, 0,
+		x+taille/2, y-taille/2, 0,
+		x+taille/2, y+taille/2, 0,
+		x-taille/2, y+taille/2, 0
+	};
+	GLfloat tex4[] = {
+		0,0,
+		1,0,
+		1,1,
+		0,1
+	};
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+      glVertexPointer(3, GL_FLOAT, 0, vtx4);
+      glTexCoordPointer(2, GL_FLOAT, 0, tex4);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+      glDisableClientState(GL_VERTEX_ARRAY);
+      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
         glPopMatrix();
         glMatrixMode(GL_MODELVIEW);
       }
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Camera.h briquolo-0.5.7-port/src/MOGL/MOGL_Camera.h
--- briquolo-0.5.7/src/MOGL/MOGL_Camera.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Camera.h	2011-01-28 21:18:39.000000000 -0500
@@ -26,7 +26,11 @@
 #include <windows.h>
 #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 
 #include "MOGL_MatriceTransformation.h"
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_EnsembleObjet.cpp briquolo-0.5.7-port/src/MOGL/MOGL_EnsembleObjet.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_EnsembleObjet.cpp	2008-03-24 09:12:36.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_EnsembleObjet.cpp	2011-01-27 18:35:25.000000000 -0500
@@ -25,6 +25,8 @@
 #include "MOGL_Peau.h"
 //#include
 #include <stdio.h>
+#include <string.h>
+
 
 //#include <mmsystem.h>
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_EnsembleObjet.h briquolo-0.5.7-port/src/MOGL/MOGL_EnsembleObjet.h
--- briquolo-0.5.7/src/MOGL/MOGL_EnsembleObjet.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_EnsembleObjet.h	2011-01-28 21:18:50.000000000 -0500
@@ -37,7 +37,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include "MOGL_GestionnaireTexture.h"
 
 using namespace std;
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Fenetre.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Fenetre.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Fenetre.cpp	2008-03-24 09:23:07.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Fenetre.cpp	2011-01-28 16:53:34.000000000 -0500
@@ -29,6 +29,10 @@
 #include <unistd.h>
 #endif
 
+#ifdef PANDORA
+#include "eglport.h"
+#endif
+
 MOGL_Fenetre::MOGL_Fenetre(const char * p_Titre):_ResolutionX(640), _ResolutionY(480), _NbBitParPixel(16), _FinBoucle(false),
                                                  _Fullscreen(false),_GrabCurseur(false),
                                                  _RepetitionDelai(SDL_DEFAULT_REPEAT_DELAY), _RepetitionIntervalle(SDL_DEFAULT_REPEAT_INTERVAL),
@@ -44,6 +48,10 @@
 		strcpy(_Titre,p_Titre);
 	}
 	SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO|SDL_INIT_JOYSTICK);
+#if defined(PANDORA)
+	if (!EGL_Open())
+		exit(1);
+#endif
 	SDL_EnableUNICODE(1);
 	_NombreJoysticks=SDL_NumJoysticks();
 	_Joysticks=new SDL_Joystick * [_NombreJoysticks];
@@ -60,7 +68,11 @@
 
 	// On récupère les résolutions
 	SDL_Rect **modes;
+#if defined(PANDORA)
+	modes = SDL_ListModes(NULL, SDL_SWSURFACE | SDL_FULLSCREEN);
+#else
 	modes = SDL_ListModes(NULL, SDL_OPENGL | SDL_FULLSCREEN);
+#endif
 	cout << "SDL tells that the following fullscreen resolutions are available:" << endl;
 	for(unsigned int i = 0; modes[i]; i++)
 	{
@@ -75,7 +87,11 @@
 	{
 		cout << "There is no fullscreen resolution! So we search non-fullscreen resolution." << endl;
 		cout << "SDL tell us that the following non-fullscreen resolution are available:" << endl;
+#if defined(PANDORA)
+		modes = SDL_ListModes(NULL, SDL_SWSURFACE);
+#else
 		modes = SDL_ListModes(NULL, SDL_OPENGL);
+#endif
 		for(unsigned int i = 0; modes[i]; i++)
 		{
 			cout << modes[i]->w << "x" << modes[i]->h << " ";
@@ -90,6 +106,9 @@
 
 MOGL_Fenetre::~MOGL_Fenetre()
 {
+#if defined(PANDORA)
+    EGL_Destroy();
+#endif
     SDL_Quit();
     delete [] _Titre;
     for(unsigned int i=0; i<_NombreJoysticks; i++)
@@ -112,6 +131,10 @@
 	const SDL_VideoInfo* info;
 	int flags = 0;
 
+#if defined(PANDORA)
+	//flags = SDL_SWSURFACE | SDL_FULLSCREEN;
+	flags = SDL_SWSURFACE | SDL_RESIZABLE;
+#else
 	if (_Fullscreen)
 	{
 		cout << "Fullscreen is true" << endl;
@@ -122,6 +145,7 @@
 		cout << "Fullscreen is false" << endl;
 		flags = SDL_OPENGL | SDL_RESIZABLE;
 	}
+#endif
 
 	// On regarde si notre résolution est bien disponible
 	cout << "Trying resolution from configuration file..." << endl;
@@ -189,6 +213,10 @@
 		cerr<<"Video Init error: can't create the window!"<<endl;
 		return false;
 	}
+#if defined(PANDORA)
+	EGL_Init();
+#endif
+
 
 	ChangementMode.Emettre(_ResolutionX, _ResolutionY, _NbBitParPixel);
 
@@ -203,7 +231,11 @@
 	glClearColor(0.25,0.25,0.25,0.25);
 	glClear(GL_COLOR_BUFFER_BIT);
 
+#if !defined(PANDORA)
 	SDL_GL_SwapBuffers( );
+#else
+	EGL_SwapBuffers();
+#endif
 
 	_ExisteFenetre=true;
 	return true;
@@ -250,11 +282,13 @@
             break;
         }
     }
+#if !defined(PANDORA)
     SDL_GL_SetAttribute( SDL_GL_RED_SIZE, rMask );
     SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, gMask );
     SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, bMask );
     SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, p_Bpp );
     SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
+#endif
 
     cout<<"  Trying attributes and BPP: rMask="<<rMask<<" gMask="<<gMask<<" bMask="<<bMask<<" BPP="<<p_Bpp;
     SDL_Surface * surf = SDL_SetVideoMode( _ResolutionX, _ResolutionY, p_Bpp, p_Flags );
@@ -321,7 +355,11 @@
             }
         }
         // On fait le switch des buffers
-        SDL_GL_SwapBuffers( );
+#if !defined(PANDORA)
+	SDL_GL_SwapBuffers( );
+#else
+	EGL_SwapBuffers();
+#endif
     }
     Destruction.Emettre();
     return true;																	// Success
@@ -349,12 +387,20 @@
         if (_Fullscreen)
         {
             cout << "Fullscreen is true" << endl;
+#if !defined(PANDORA)
             flags = SDL_OPENGL | SDL_FULLSCREEN;
+#else
+            flags = SDL_SWSURFACE | SDL_FULLSCREEN;
+#endif
         }
         else
         {
             cout << "Fullscreen is false" << endl;
+#if !defined(PANDORA)
             flags = SDL_OPENGL | SDL_RESIZABLE;
+#else
+            flags = SDL_SWSURFACE | SDL_RESIZABLE;
+#endif
         }
 #ifdef WIN32
 		// Sous windows le changement de résolution semble très alléatoire...
@@ -503,7 +549,11 @@
 
     //glShadeModel(GL_SMOOTH);
     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
+#if !defined(PANDORA)
     glClearDepth(1.0f);
+#else
+    glClearDepthf(1.0f);
+#endif
     glClearColor(0.25f,0.25f,0.25f,1.0f);
 
 
@@ -533,7 +583,11 @@
     const SDL_VideoInfo* info;
     int flags = 0;
 
+#if defined(PANDORA)
+    flags = SDL_SWSURFACE | SDL_RESIZABLE;
+#else
     flags = SDL_OPENGL | SDL_RESIZABLE;
+#endif
 
     if (_ExisteFenetre)
     {
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Fenetre.h briquolo-0.5.7-port/src/MOGL/MOGL_Fenetre.h
--- briquolo-0.5.7/src/MOGL/MOGL_Fenetre.h	2008-03-22 05:57:47.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Fenetre.h	2011-01-28 21:19:00.000000000 -0500
@@ -28,7 +28,11 @@
 #include <windowsx.h>
 #endif
 
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 #include <SDL/SDL.h>
 #include <iostream>
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_FenetreKit.cpp briquolo-0.5.7-port/src/MOGL/MOGL_FenetreKit.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_FenetreKit.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_FenetreKit.cpp	2011-01-28 17:03:35.000000000 -0500
@@ -29,7 +29,7 @@
 bool MOGL_FenetreKit::Initialiser()
 {
   _Camera.SetClipping(1,1000);
-  _Fenetre.SetMode(800,600,16);
+  _Fenetre.SetMode(640,480,16);
   _Fenetre.SetFullscreen(false);
   if (!_Fenetre.Initialiser())
   {
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_GenerateurParticule.h briquolo-0.5.7-port/src/MOGL/MOGL_GenerateurParticule.h
--- briquolo-0.5.7/src/MOGL/MOGL_GenerateurParticule.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_GenerateurParticule.h	2011-01-28 21:19:11.000000000 -0500
@@ -31,7 +31,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include "MOGL_Particule.h"
 #include "MOGL_Structure.h"
 #include "MOGL_Noeud.h"
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_GestionnaireObjet.cpp briquolo-0.5.7-port/src/MOGL/MOGL_GestionnaireObjet.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_GestionnaireObjet.cpp	2008-03-24 08:56:13.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_GestionnaireObjet.cpp	2011-01-27 19:10:06.000000000 -0500
@@ -20,6 +20,7 @@
  *
  *****************************************************************************/
 #include "../I18n.h"
+#include <string.h>
 #include "MOGL_GestionnaireObjet.h"
 
 bool MOGL_GestionnaireObjet::ChargerObjetASCTriangle(const char * p_NomFichier, const MOGL_GestionnaireTexture & p_GM,
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Image.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Image.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Image.cpp	2006-03-07 15:53:33.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Image.cpp	2011-01-29 01:58:13.000000000 -0500
@@ -22,6 +22,7 @@
 #include <png.h>
 #include "MOGL_Image.h"
 #include <fstream>
+#include <iostream>
 
 using namespace std;
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_ImageFacade.cpp briquolo-0.5.7-port/src/MOGL/MOGL_ImageFacade.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_ImageFacade.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_ImageFacade.cpp	2011-01-29 01:28:27.000000000 -0500
@@ -24,6 +24,10 @@
 #include <cmath>
 #include <iostream>
 
+#ifndef GL_CLAMP
+#define GL_CLAMP GL_CLAMP_TO_EDGE
+#endif
+
 MOGL_ImageFacade::MOGL_ImageFacade(bool p_AutoriserTrou)
   : MOGL_ElementFacade(), MOGL_Image(p_AutoriserTrou), _Initialise(false), _Texture(true), _Nom(0)
 {
@@ -116,6 +124,7 @@
     glEnable(GL_TEXTURE_2D);
     glBindTexture(GL_TEXTURE_2D, _Nom);
     glColor4f(1,1,1,1);
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
     glTexCoord2f(0,_RecY);
     glVertex2f(_PositionX, _PositionY);
@@ -126,12 +135,38 @@
     glTexCoord2f(_RecX,_RecY);
     glVertex2f(_PositionX+_TailleX, _PositionY);
     glEnd();
+#else
+    GLfloat vtx[] = {
+	_PositionX, _PositionY,
+	_PositionX, _PositionY+_TailleY,
+	_PositionX+_TailleX, _PositionY+_TailleY,
+	_PositionX+_TailleX, _PositionY
+    };
+    GLfloat tex[] = {
+	0,_RecY,
+	0,0,
+	_RecX,0,
+	_RecX,_RecY
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+    glVertexPointer(2, GL_FLOAT, 0, vtx);
+    glTexCoordPointer(2, GL_FLOAT, 0, tex);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+    glDisableClientState(GL_VERTEX_ARRAY);
+    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
   }
   else
   {
     glDisable(GL_TEXTURE_2D);
+#if !defined(PANDORA)
     glRasterPos2i(_PositionX, _PositionY+_TailleY);
     glDrawPixels(_TailleX, _TailleY, GL_RGBA, GL_FLOAT, _Image);
+#endif
   }
 }
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_LensFlareFond.h briquolo-0.5.7-port/src/MOGL/MOGL_LensFlareFond.h
--- briquolo-0.5.7/src/MOGL/MOGL_LensFlareFond.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_LensFlareFond.h	2011-01-28 21:19:22.000000000 -0500
@@ -26,7 +26,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 
 #include "MOGL_LensFlare.h"
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_LensFlare.h briquolo-0.5.7-port/src/MOGL/MOGL_LensFlare.h
--- briquolo-0.5.7/src/MOGL/MOGL_LensFlare.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_LensFlare.h	2011-01-28 21:19:32.000000000 -0500
@@ -26,7 +26,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 
 #include "MOGL_ElementArbre.h"
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_LensFlareNormal.h briquolo-0.5.7-port/src/MOGL/MOGL_LensFlareNormal.h
--- briquolo-0.5.7/src/MOGL/MOGL_LensFlareNormal.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_LensFlareNormal.h	2011-01-28 21:19:41.000000000 -0500
@@ -26,7 +26,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 
 #include "MOGL_LensFlare.h"
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_MatriceTransformation.h briquolo-0.5.7-port/src/MOGL/MOGL_MatriceTransformation.h
--- briquolo-0.5.7/src/MOGL/MOGL_MatriceTransformation.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_MatriceTransformation.h	2011-01-28 21:19:51.000000000 -0500
@@ -28,7 +28,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include "MOGL_Structure.h"
 
 /**
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_NoeudOpenGL.h briquolo-0.5.7-port/src/MOGL/MOGL_NoeudOpenGL.h
--- briquolo-0.5.7/src/MOGL/MOGL_NoeudOpenGL.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_NoeudOpenGL.h	2011-01-28 21:20:01.000000000 -0500
@@ -23,7 +23,11 @@
 #define MOGL_NOEUDOPENGL
 
 #include "MOGL_Noeud.h"
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <GL/glu.h>
 
 class MOGL_NoeudOpenGL: public MOGL_Noeud
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Objet.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Objet.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Objet.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Objet.cpp	2011-01-27 19:13:48.000000000 -0500
@@ -20,6 +20,7 @@
  *
  *****************************************************************************/
 #include "MOGL_Objet.h"
+#include <stdlib.h>
 
 //MOGL_Objet::MOGL_Objet(): MOGL_ObjetAbstrait(), MOGL_ElementArbre()
 MOGL_Objet::MOGL_Objet(): MOGL_Noeud(), _ModifieTriangle(true), _ModifieStrip(true),
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Omni.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Omni.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Omni.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Omni.cpp	2011-01-27 19:14:39.000000000 -0500
@@ -44,8 +44,10 @@
 
   // **** Réglage de la lumière ****
   int Pos[4]={0,0,0,1};
+#if !defined(PANDORA)
   glLightiv(_NumLight,GL_POSITION,Pos);
   glLightf(_NumLight,GL_SPOT_CUTOFF,180);
+#endif
 
   MOGL_ItSet_ElementArbre it;
   for(it=_SetElement.begin();it!=_SetElement.end();it++)
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Panneau.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Panneau.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Panneau.cpp	2007-03-22 10:05:14.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Panneau.cpp	2011-01-28 18:00:20.000000000 -0500
@@ -154,12 +154,26 @@
 
       // On dessine le cadre
       glColor4f(_CouleurFond.r, _CouleurFond.g, _CouleurFond.b, _CouleurFond.a);
+#if !defined(PANDORA)
       glBegin(GL_QUADS);
       glVertex2f(0,0);
       glVertex2f(0,_HauteurPanneau);
       glVertex2f(_LargeurPanneau,_HauteurPanneau);
       glVertex2f(_LargeurPanneau,0);
       glEnd();
+#else
+      GLfloat quad[] = {
+	0,0,
+	0,_HauteurPanneau,
+	_LargeurPanneau,_HauteurPanneau,
+	_LargeurPanneau,0
+      };
+
+      glEnableClientState(GL_VERTEX_ARRAY);
+      glVertexPointer(2, GL_FLOAT, 0, quad);
+      glDrawArrays(GL_TRIANGLE_FAN,0,4);
+      glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
       int marge=10;
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Peau.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Peau.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Peau.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Peau.cpp	2011-01-27 19:20:27.000000000 -0500
@@ -20,6 +20,7 @@
  *
  *****************************************************************************/
 #include "MOGL_Peau.h"
+#include <stdlib.h>
 
 MOGL_Peau::MOGL_Peau(): MOGL_Noeud(), _ModifieTriangle(true)
 {
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_PoliceBitmap.cpp briquolo-0.5.7-port/src/MOGL/MOGL_PoliceBitmap.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_PoliceBitmap.cpp	2008-03-24 08:25:15.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_PoliceBitmap.cpp	2011-01-28 17:39:50.000000000 -0500
@@ -138,7 +138,9 @@
 
   unsigned int taille;
   Uint16 * unicStr = _AllocAndConvertToUCS2(p_Chaine, taille);
+#if !defined(PANDORA)
   glBegin(GL_QUADS);
+#endif
   float x=p_X;
   float y=p_Y;
   for(unsigned int i=0; i<taille; i++)
@@ -148,7 +150,9 @@
       x=_AfficherCaractere(x, y, unicStr[i]);
     }
   }
+#if !defined(PANDORA)
   glEnd();
+#endif
 }
 
 
@@ -177,15 +181,23 @@
     {
       glDisable(GL_TEXTURE_2D);
       glColor4f(p_CouleurFond.r, p_CouleurFond.g, p_CouleurFond.b, p_CouleurFond.a);
+#if !defined(PANDORA)
       glBegin(GL_QUADS);
+#endif
       _AfficherFondCaractere(x, y, unicStr[i]);
+#if !defined(PANDORA)
       glEnd();
+#endif
 
       glEnable(GL_TEXTURE_2D);
       glColor4f(p_CouleurTexte.r, p_CouleurTexte.g, p_CouleurTexte.b, p_CouleurTexte.a);
+#if !defined(PANDORA)
       glBegin(GL_QUADS);
+#endif
       x=_AfficherCaractere(x, y, unicStr[i]);
+#if !defined(PANDORA)
       glEnd();
+#endif
     }
   }
 }
@@ -198,6 +210,7 @@
     unsigned int largeur=carac->x2-carac->x1+1;
     unsigned int hauteur=carac->y2-carac->y1+1;
   
+#if !defined(PANDORA)
     glTexCoord2f(carac->x1/static_cast<float>(_TailleX), (carac->y1)/static_cast<float>(_TailleY));
     glVertex2f(p_X, p_Y);
 
@@ -209,6 +222,31 @@
 
     glTexCoord2f((carac->x2+1)/static_cast<float>(_TailleX), (carac->y1)/static_cast<float>(_TailleY));
     glVertex2f(p_X+largeur, p_Y);
+#else
+    GLfloat vtx[] = {
+	p_X, p_Y,
+	p_X, p_Y+hauteur,
+	p_X+largeur, p_Y+hauteur,
+	p_X+largeur, p_Y
+    };
+
+    GLfloat tex[] = {
+	carac->x1/static_cast<float>(_TailleX), (carac->y1)/static_cast<float>(_TailleY),
+	carac->x1/static_cast<float>(_TailleX), (carac->y2+1)/static_cast<float>(_TailleY),
+	(carac->x2+1)/static_cast<float>(_TailleX), (carac->y2+1)/static_cast<float>(_TailleY),
+	(carac->x2+1)/static_cast<float>(_TailleX), (carac->y1)/static_cast<float>(_TailleY)
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+    glVertexPointer(2, GL_FLOAT, 0, vtx);
+    glTexCoordPointer(2, GL_FLOAT, 0, tex);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+    glDisableClientState(GL_VERTEX_ARRAY);
+    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
   
     return p_X+largeur;
   }
@@ -227,10 +265,24 @@
     unsigned int largeur=carac->x2-carac->x1+1;
     unsigned int hauteur=carac->y2-carac->y1+1;
   
+#if !defined(PANDORA)
     glVertex2f(p_X, p_Y);
     glVertex2f(p_X, p_Y+hauteur);
     glVertex2f(p_X+largeur, p_Y+hauteur);
     glVertex2f(p_X+largeur, p_Y);
+#else
+    GLfloat quad[] = {
+	p_X, p_Y,
+	p_X, p_Y+hauteur,
+	p_X+largeur, p_Y+hauteur,
+	p_X+largeur, p_Y
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, quad);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
     return p_X+largeur;
   }
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Police.h briquolo-0.5.7-port/src/MOGL/MOGL_Police.h
--- briquolo-0.5.7/src/MOGL/MOGL_Police.h	2006-03-07 15:43:34.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Police.h	2011-01-28 21:20:09.000000000 -0500
@@ -26,7 +26,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include <string>
 #include <iostream>
 #include <fstream>
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_PoliceTTF.cpp briquolo-0.5.7-port/src/MOGL/MOGL_PoliceTTF.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_PoliceTTF.cpp	2008-03-24 08:25:15.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_PoliceTTF.cpp	2011-01-29 01:43:04.000000000 -0500
@@ -22,7 +22,7 @@
 #include "../I18n.h"
 #include "MOGL_PoliceTTF.h"
 #include <fstream>
-#include <GL/glext.h>
+//#include <GL/glext.h>
 
 #if 1
 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
@@ -43,6 +43,10 @@
 #define    amask 0xff000000
 #endif
 
+#if !defined(GL_UNSIGNED_INT_8_8_8_8) && defined(PANDORA)
+//#define GL_UNSIGNED_INT_8_8_8_8                 0x8035
+#define GL_UNSIGNED_INT_8_8_8_8                 GL_UNSIGNED_BYTE
+#endif
 
 #define TEXTURE_SIZE   256
 
@@ -128,9 +132,13 @@
   {
     MOGL_Struct_Carac * carac = self._GetCarac(unicStr[i]);
     glBindTexture(GL_TEXTURE_2D, carac->TextureName);
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
+#endif
     x=self._AfficherCaractere(x, y, carac);
+#if !defined(PANDORA)
     glEnd();
+#endif
   }
   delete [] unicStr;
 }
@@ -159,16 +167,24 @@
     glDisable(GL_TEXTURE_2D);
     glColor4f(p_CouleurFond.r, p_CouleurFond.g, p_CouleurFond.b, p_CouleurFond.a);
     MOGL_Struct_Carac * carac = self._GetCarac(unicStr[i]);
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
+#endif
     self._AfficherFondCaractere(x, y, carac);
+#if !defined(PANDORA)
     glEnd();
+#endif
     glBindTexture(GL_TEXTURE_2D, carac->TextureName);
 
     glEnable(GL_TEXTURE_2D);
     glColor4f(p_CouleurTexte.r, p_CouleurTexte.g, p_CouleurTexte.b, p_CouleurTexte.a);
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
+#endif
     x=self._AfficherCaractere(x, y, carac);
+#if !defined(PANDORA)
     glEnd();
+#endif
   }
   delete [] unicStr;
 }
@@ -180,6 +196,7 @@
     unsigned int largeur=p_Caractere->x2 - p_Caractere->x1;
     unsigned int hauteur=p_Caractere->y2 - p_Caractere->y1;
 
+#if !defined(PANDORA)
     glTexCoord2f(p_Caractere->x1/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y1)/static_cast<float>(TEXTURE_SIZE));
     glVertex2f(p_X, p_Y);
 
@@ -191,6 +208,30 @@
 
     glTexCoord2f((p_Caractere->x2)/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y1)/static_cast<float>(TEXTURE_SIZE));
     glVertex2f(p_X+largeur, p_Y);
+#else
+    GLfloat vtx[] = {
+    	p_X, p_Y,
+	p_X, p_Y+hauteur,
+	p_X+largeur, p_Y+hauteur,
+	p_X+largeur, p_Y
+    };
+    GLfloat tex[] = {
+    	p_Caractere->x1/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y1)/static_cast<float>(TEXTURE_SIZE),
+	p_Caractere->x1/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y2)/static_cast<float>(TEXTURE_SIZE),
+	(p_Caractere->x2)/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y2)/static_cast<float>(TEXTURE_SIZE),
+	(p_Caractere->x2)/static_cast<float>(TEXTURE_SIZE), (p_Caractere->y1)/static_cast<float>(TEXTURE_SIZE)
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+    glVertexPointer(2, GL_FLOAT, 0, vtx);
+    glTexCoordPointer(2, GL_FLOAT, 0, tex);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+
+    glDisableClientState(GL_VERTEX_ARRAY);
+    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+#endif
 
     return p_X+largeur;
   }
@@ -207,10 +248,24 @@
     unsigned int largeur=p_Caractere->x2-p_Caractere->x1;
     unsigned int hauteur=p_Caractere->y2-p_Caractere->y1;
   
+#if !defined(PANDORA)
     glVertex2f(p_X, p_Y);
     glVertex2f(p_X, p_Y+hauteur);
     glVertex2f(p_X+largeur, p_Y+hauteur);
     glVertex2f(p_X+largeur, p_Y);
+#else
+    GLfloat quad[] = {
+    	p_X, p_Y,
+	p_X, p_Y+hauteur,
+	p_X+largeur, p_Y+hauteur,
+	p_X+largeur, p_Y
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, quad);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 
     return p_X+largeur;
   }
@@ -368,7 +423,7 @@
   int res = glGetError();
   if (res != 0)
   {
-    cerr<<"glTexImage2D error: "<<res<<endl;
+    cerr<<"MOGL_PoliceTTF::_CreateCarac: glTexImage2D error: "<<res<<endl;
   }
   _MapCarac[p_Carac] = newCarac;
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Polygone.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Polygone.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Polygone.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Polygone.cpp	2011-01-29 14:29:57.000000000 -0500
@@ -52,6 +52,7 @@
   glDisable(GL_ALPHA_TEST);
   glDisable(GL_DEPTH_TEST);
 
+#if !defined(PANDORA)
   glBegin(GL_POLYGON);
   for(MOGL_ItVector_Point it=_VectorPoint.begin(); it!=_VectorPoint.end(); it++)
   {
@@ -59,6 +60,28 @@
     glVertex2f(it->X, it->Y);
   }
   glEnd();
+#else
+  GLfloat vtx[_VectorPoint.size()*2];
+  GLfloat col[_VectorPoint.size()*4];
+  int v=0, c=0;
+  for(MOGL_ItVector_Point it=_VectorPoint.begin(); it!=_VectorPoint.end(); it++) {
+	vtx[v++] = it->X;
+	vtx[v++] = it->Y;
+	col[c++] = it->Couleur.r;
+	col[c++] = it->Couleur.g;
+	col[c++] = it->Couleur.b;
+	col[c++] = it->Couleur.a;
+  }
+  glEnableClientState(GL_VERTEX_ARRAY);
+  glEnableClientState(GL_COLOR_ARRAY);
+
+  glVertexPointer(2, GL_FLOAT, 0, vtx);
+  glColorPointer(4, GL_FLOAT, 0, col);
+  glDrawArrays(GL_TRIANGLE_FAN,0,_VectorPoint.size());
+
+  glDisableClientState(GL_COLOR_ARRAY);
+  glDisableClientState(GL_VERTEX_ARRAY);
+#endif
 }
 
 void MOGL_Polygone::SetPosition(unsigned int p_Indice, unsigned int p_X, unsigned int p_Y)
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_SaisieChaine.cpp briquolo-0.5.7-port/src/MOGL/MOGL_SaisieChaine.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_SaisieChaine.cpp	2008-03-24 08:25:15.000000000 -0400
+++ briquolo-0.5.7-port/src/MOGL/MOGL_SaisieChaine.cpp	2011-01-28 19:06:09.000000000 -0500
@@ -71,12 +71,27 @@
   {
     _Police->Afficher(texte, 0, 0, _CouleurTexte, _CouleurFondFocus);
     glDisable(GL_TEXTURE_2D);
+#if !defined(PANDORA)
     glBegin(GL_QUADS);
     glVertex2f(taille,0);
     glVertex2f(taille, _Police->GetTailleYCaractere('A'));
     glVertex2f(taille + _Police->GetTailleXMax(), _Police->GetTailleYMax());
     glVertex2f(taille + _Police->GetTailleXMax(), 0);
     glEnd();
+#else
+    GLfloat quad[] = {
+	taille,0,
+	taille, _Police->GetTailleYCaractere('A'),
+	taille + _Police->GetTailleXMax(), _Police->GetTailleYMax(),
+	taille + _Police->GetTailleXMax(), 0
+    };
+
+    glEnableClientState(GL_VERTEX_ARRAY);
+    glVertexPointer(2, GL_FLOAT, 0, quad);
+    glDrawArrays(GL_TRIANGLE_FAN,0,4);
+    glDisableClientState(GL_VERTEX_ARRAY);
+
+#endif
   }
   else
   {
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Spot.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Spot.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Spot.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Spot.cpp	2011-01-28 22:00:39.000000000 -0500
@@ -21,10 +21,11 @@
  *****************************************************************************/
 #include "MOGL_Spot.h"
 
+/*
 #ifndef M_PI
 #define M_PI 3.14159265359
 #endif
-
+*/
 void MOGL_Spot::SetDirection(const MOGL_Struct_Vecteur & p_Direction)
 {
   float norm=p_Direction.x*p_Direction.x+p_Direction.y*p_Direction.y+p_Direction.z*p_Direction.z;
@@ -63,8 +64,10 @@
   glEnable(_NumLight);
 
   int Pos[4]={0,0,0,1};
+#if !defined(PANDORA)
   glLightiv(_NumLight,GL_POSITION,Pos);
   glLightfv(_NumLight,GL_SPOT_DIRECTION,(GLfloat*)&_Direction);
+#endif
   glLightf(_NumLight,GL_SPOT_CUTOFF,_CutOff);
   glLightf(_NumLight,GL_SPOT_EXPONENT,_Exposant);
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Structure.h briquolo-0.5.7-port/src/MOGL/MOGL_Structure.h
--- briquolo-0.5.7/src/MOGL/MOGL_Structure.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Structure.h	2011-01-28 21:20:20.000000000 -0500
@@ -26,7 +26,11 @@
         #include <windows.h>
         #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 //#include "MOGL_ObjetAbstrait2.h"
 class MOGL_ObjetAbstrait2;
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Texture.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Texture.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Texture.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Texture.cpp	2011-01-29 02:03:32.000000000 -0500
@@ -21,7 +21,12 @@
  *****************************************************************************/
 #include "MOGL_Texture.h"
 #include "MOGL_Temps.h"
+#ifdef PANDORA
+#include "GLES/gl.h"
+#define GL_CLAMP GL_CLAMP_TO_EDGE
+#else
 #include "GL/gl.h"
+#endif
 #include "GL/glu.h"
 #include <iostream>
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Texture.h briquolo-0.5.7-port/src/MOGL/MOGL_Texture.h
--- briquolo-0.5.7/src/MOGL/MOGL_Texture.h	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Texture.h	2011-01-28 21:20:38.000000000 -0500
@@ -29,7 +29,11 @@
   #include <windows.h>
   #include <windowsx.h>
 #endif
+#if !defined(PANDORA)
 #include <GL/gl.h>
+#else
+#include <GLES/gl.h>
+#endif
 #include "MOGL_Structure.h"
 #include "MOGL_Image.h"
 
diff -ruN briquolo-0.5.7/src/MOGL/MOGL_Univers.cpp briquolo-0.5.7-port/src/MOGL/MOGL_Univers.cpp
--- briquolo-0.5.7/src/MOGL/MOGL_Univers.cpp	2006-03-07 15:31:24.000000000 -0500
+++ briquolo-0.5.7-port/src/MOGL/MOGL_Univers.cpp	2011-01-27 19:54:37.000000000 -0500
@@ -47,10 +47,18 @@
   _Noeud.TnL(&_Afficheur);      
   glLoadIdentity();
   glColor4f(1,1,1,1);
+#if !defined(PANDORA)
   glDepthRange(0,1);
+#else
+  glDepthRangef(0,1);
+#endif
   //glClear(GL_DEPTH_BUFFER_BIT);
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+#if !defined(PANDORA)
   glDepthRange(0,0.99);
+#else
+  glDepthRangef(0,0.99);
+#endif
   
   _Afficheur.AfficherOpaque();
 
@@ -59,11 +67,19 @@
   glLoadIdentity();
   glColor4f(1,1,1,1);
 //  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+#if !defined(PANDORA)
   glDepthRange(0.99,1);
+#else
+  glDepthRangef(0.99,1);
+#endif
   
   _AfficheurFond.AfficherOpaque();
 
+#if !defined(PANDORA)
   glDepthRange(0,0.99);
+#else
+  glDepthRangef(0,0.99);
+#endif
   _Afficheur.AfficherNonOpaque();
 }
 
diff -ruN briquolo-0.5.7/src/Option.cpp briquolo-0.5.7-port/src/Option.cpp
--- briquolo-0.5.7/src/Option.cpp	2008-03-22 09:17:15.000000000 -0400
+++ briquolo-0.5.7-port/src/Option.cpp	2011-01-28 17:04:43.000000000 -0500
@@ -26,8 +26,8 @@
 
 using namespace std;
 
-ElementOptionInt Option::ResolutionX("ResolutionX", 800);
-ElementOptionInt Option::ResolutionY("ResolutionY", 600);
+ElementOptionInt Option::ResolutionX("ResolutionX", 640);
+ElementOptionInt Option::ResolutionY("ResolutionY", 480);
 ElementOptionBool Option::Fullscreen("Fullscreen", false);
 ElementOptionBool Option::AfficherFPS("FPS", false);
 ElementOptionInt Option::MaxFPS("MaxFPS", 0);
diff -ruN briquolo-0.5.7/src/Plateau.cpp briquolo-0.5.7-port/src/Plateau.cpp
--- briquolo-0.5.7/src/Plateau.cpp	2007-03-22 10:53:43.000000000 -0400
+++ briquolo-0.5.7-port/src/Plateau.cpp	2011-01-28 22:01:39.000000000 -0500
@@ -27,10 +27,11 @@
 #include "Constante.h"
 #include "Plateau.h"
 
+/*
 #ifndef M_PI
 #define M_PI 3.14159265359
 #endif
-
+*/
 #define PLAT_DIV_FACT 2000
 
 
