[Scummvm-cvs-logs] CVS: scummvm/backends/sdl fb2opengl.h,1.6,1.7 sdl-common.cpp,1.33,1.34 sdl-common.h,1.15,1.16 sdl.cpp,1.22,1.23 sdl_gl.cpp,1.20,1.21

Pawel Kolodziejski aquadran at users.sourceforge.net
Thu Mar 6 10:28:18 CET 2003


Update of /cvsroot/scummvm/scummvm/backends/sdl
In directory sc8-pr-cvs1:/tmp/cvs-serv27088/sdl

Modified Files:
	fb2opengl.h sdl-common.cpp sdl-common.h sdl.cpp sdl_gl.cpp 
Log Message:
and more cleanup ....

Index: fb2opengl.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/fb2opengl.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- fb2opengl.h	13 Dec 2002 16:15:38 -0000	1.6
+++ fb2opengl.h	6 Mar 2003 18:26:47 -0000	1.7
@@ -42,400 +42,395 @@
 #endif
 
 class FB2GL {
-  private:
-    // Framebuffer for 8 bpp
-    unsigned char ogl_fb[256][256];
-    unsigned char ogl_fbb[256][64];
-    // Framebuffer for RGBA
-    unsigned char ogl_fb1[256][256][4];
-    unsigned char ogl_fb2[256][64][4];
-    // Framebuffer for the blit function (SDL Blitting)
-    unsigned char fb1[256*256*4]; // Enough room for RGBA
-    unsigned char fb2[64*256*4]; // Enough room for RGBA
-    // Texture(s)
-    GLuint texture;
-    GLuint textureb;
-    // Display list
-    GLuint dlist;
-    // Color Table (256 colors, RGB)
-    char ogl_ctable[256][3];
-    char ogl_temp_ctable[256][3]; // Support for OpenGL 1.1
-    char flags;
-    void maketex();
-    void makedlist(int xf, int yf);
-
-  public:
-    SDL_Surface *screen;
-    FB2GL() { 
-      flags=0;
-      screen=NULL;
-    }
-    int init(int width, int height, int xfix, int yfix, char _flags);
-    void update(void *fb, int width, int height, int pitch, int xskip, int yskip);
-    void palette(int index, int r, int g, int b);
-    void setPalette(int first, int ncolors);
-    void blit16(SDL_Surface *fb, int num_rect, SDL_Rect *rectlist, int xskip, int yskip);
-    void display();
+	private:
+		// Framebuffer for 8 bpp
+		unsigned char ogl_fb[256][256];
+		unsigned char ogl_fbb[256][64];
+		// Framebuffer for RGBA
+		unsigned char ogl_fb1[256][256][4];
+		unsigned char ogl_fb2[256][64][4];
+		// Framebuffer for the blit function (SDL Blitting)
+		unsigned char fb1[256 * 256 * 4]; // Enough room for RGBA
+		unsigned char fb2[64 * 256 * 4]; // Enough room for RGBA
+		// Texture(s)
+		GLuint texture;
+		GLuint textureb;
+		// Display list
+		GLuint dlist;
+		// Color Table (256 colors, RGB)
+		char ogl_ctable[256][3];
+		char ogl_temp_ctable[256][3]; // Support for OpenGL 1.1
+		char flags;
+		void maketex();
+		void makedlist(int xf, int yf);
+	public:
+		SDL_Surface *screen;
+		FB2GL() { 
+			flags = 0;
+			screen = NULL;
+		}
+		int init(int width, int height, int xfix, int yfix, char _flags);
+		void update(void *fb, int width, int height, int pitch, int xskip, int yskip);
+		void palette(int index, int r, int g, int b);
+		void setPalette(int first, int ncolors);
+		void blit16(SDL_Surface *fb, int num_rect, SDL_Rect *rectlist, int xskip, int yskip);
+		void display();
 };
 
-void FB2GL::maketex()
-{
-  glGenTextures(0,&texture);
-  glBindTexture(GL_TEXTURE_2D,texture);
+void FB2GL::maketex() {
+	glGenTextures(0,&texture);
+	glBindTexture(GL_TEXTURE_2D,texture);
 
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
 
-  // Bilinear filtering
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+	// Bilinear filtering
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 /*
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 */
-  
-  if (flags & FB2GL_RGBA) {
-    glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,256,256,0,GL_RGBA, GL_UNSIGNED_BYTE, ogl_fb1);
-  }
-  else {
-    glTexImage2D(GL_TEXTURE_2D,0,GL_COLOR_INDEX,256,256,0,GL_COLOR_INDEX, GL_UNSIGNED_BYTE, ogl_fb);
-  }
 
-  if (flags & FB2GL_320) {
-    glGenTextures(1,&textureb);
-    glBindTexture(GL_TEXTURE_2D,textureb);
+	if (flags & FB2GL_RGBA) {
+		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, ogl_fb1);
+	}
+	else {
+		glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX, 256, 256, 0, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, ogl_fb);
+	}
 
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+	if (flags & FB2GL_320) {
+		glGenTextures(1, &textureb);
+		glBindTexture(GL_TEXTURE_2D, textureb);
 
-    // Bilinear filtering
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+
+		// Bilinear filtering
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 /*
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 */
 
-    if (flags & FB2GL_RGBA) {
-      glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,64,256,0,GL_RGBA, 
-	GL_UNSIGNED_BYTE, ogl_fb2);
-    }
-    else {
-      glTexImage2D(GL_TEXTURE_2D,0,GL_COLOR_INDEX,64,256,0,GL_COLOR_INDEX,
-	GL_UNSIGNED_BYTE, ogl_fbb);
-    }
-  }
-
+		if (flags & FB2GL_RGBA) {
+			glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 256, 0, GL_RGBA, 
+										GL_UNSIGNED_BYTE, ogl_fb2);
+		}
+		else {
+			glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX, 64, 256, 0, GL_COLOR_INDEX,
+										GL_UNSIGNED_BYTE, ogl_fbb);
+		}
+	}
 }
 
-void FB2GL::makedlist(int xf, int yf)
-{
-  double xfix=(double)xf/128; // 128 = 256/2 (half texture => 0.0 to 1.0)
-  double yfix=(double)yf/128;
-  // End of 256x256 (from -1.0 to 1.0)
-  double texend = (double)96/160; // 160=320/2 (== 0.0), 256-160=96.
- 
-  if (glIsList(dlist)) 
-    glDeleteLists(dlist,1);
-      
-  dlist=glGenLists(1);
-  glNewList(dlist,GL_COMPILE);
+void FB2GL::makedlist(int xf, int yf) {
+	double xfix = (double)xf / 128; // 128 = 256/2 (half texture => 0.0 to 1.0)
+	double yfix = (double)yf / 128;
+	// End of 256x256 (from -1.0 to 1.0)
+	double texend = (double)96 / 160; // 160=320/2 (== 0.0), 256-160=96.
 
-  glEnable(GL_TEXTURE_2D);
+	if (glIsList(dlist)) 
+		glDeleteLists(dlist, 1);
 
-  glBindTexture(GL_TEXTURE_2D, texture);
+	dlist=glGenLists(1);
+	glNewList(dlist, GL_COMPILE);
 
-  if (!(flags & FB2GL_320)) { // Normal 256x256
-    glBegin(GL_QUADS);
-      glTexCoord2f(0.0,1.0); glVertex2f(-1.0,-1.0-yfix); // upper left 
-      glTexCoord2f(0.0,0.0); glVertex2f(-1.0,1.0); // lower left 
-      glTexCoord2f(1.0,0.0); glVertex2f(1.0+xfix,1.0); // lower right 
-      glTexCoord2f(1.0,1.0); glVertex2f(1.0+xfix,-1.0-yfix); // upper right 
-    glEnd();
-  }
-  else { // 320x256 
+	glEnable(GL_TEXTURE_2D);
 
-    // First, the 256x256 texture 
-    glBegin(GL_QUADS);
-      glTexCoord2f(0.0,1.0); glVertex2f(-1.0,-1.0-yfix); // upper left 
-      glTexCoord2f(0.0,0.0); glVertex2f(-1.0,1.0); // lower left 
-      glTexCoord2f(1.0,0.0); glVertex2f(texend+xfix,1.0); // lower right 
-      glTexCoord2f(1.0,1.0); glVertex2f(texend+xfix,-1.0-yfix); // upper right
-    glEnd();
+	glBindTexture(GL_TEXTURE_2D, texture);
 
-    // 64x256 
-    glBindTexture(GL_TEXTURE_2D, textureb);
+	if (!(flags & FB2GL_320)) { // Normal 256x256
+		glBegin(GL_QUADS);
+		glTexCoord2f(0.0, 1.0); glVertex2f(-1.0, -1.0 - yfix); // upper left 
+		glTexCoord2f(0.0, 0.0); glVertex2f(-1.0, 1.0); // lower left 
+		glTexCoord2f(1.0, 0.0); glVertex2f(1.0 + xfix, 1.0); // lower right 
+		glTexCoord2f(1.0, 1.0); glVertex2f(1.0 + xfix, -1.0 - yfix); // upper right 
+		glEnd();
+	}
+	else { // 320x256 
 
-    glBegin(GL_QUADS);
-      glTexCoord2f(0.0,1.0); glVertex2f(texend+xfix,-1.0-yfix); // upper left 
-      glTexCoord2f(0.0,0.0); glVertex2f(texend+xfix,1.0); // lower left 
-      glTexCoord2f(1.0,0.0); glVertex2f(1.0+xfix,1.0); // lower right 
-      glTexCoord2f(1.0,1.0); glVertex2f(1.0+xfix,-1.0-yfix); // upper right 
-    glEnd();
-  }
+		// First, the 256x256 texture 
+		glBegin(GL_QUADS);
+		glTexCoord2f(0.0, 1.0); glVertex2f( -1.0, -1.0 - yfix); // upper left 
+		glTexCoord2f(0.0, 0.0); glVertex2f(-1.0, 1.0); // lower left 
+		glTexCoord2f(1.0, 0.0); glVertex2f(texend + xfix, 1.0); // lower right 
+		glTexCoord2f(1.0, 1.0); glVertex2f(texend + xfix, -1.0 - yfix); // upper right
+		glEnd();
 
-  glDisable(GL_TEXTURE_2D);
+		// 64x256 
+		glBindTexture(GL_TEXTURE_2D, textureb);
 
-  glEndList();
+		glBegin(GL_QUADS);
+		glTexCoord2f(0.0, 1.0); glVertex2f(texend + xfix, -1.0 - yfix); // upper left 
+		glTexCoord2f(0.0, 0.0); glVertex2f(texend + xfix, 1.0); // lower left 
+		glTexCoord2f(1.0, 0.0); glVertex2f(1.0 + xfix, 1.0); // lower right 
+		glTexCoord2f(1.0, 1.0); glVertex2f(1.0 + xfix, -1.0 - yfix); // upper right 
+		glEnd();
+	}
+
+	glDisable(GL_TEXTURE_2D);
+
+	glEndList();
 }
 
-int FB2GL::init(int width, int height, int xfix, int yfix, char _flags)
-{
-  char gl_ext[4096];
-  gl_ext[0]='\0';
+int FB2GL::init(int width, int height, int xfix, int yfix, char _flags) {
+	char gl_ext[4096];
+	gl_ext[0]='\0';
 
-  flags = _flags;
-  
-  // Fullscreen?
-  if (!screen) {
-    screen = SDL_SetVideoMode(width, height, (flags & FB2GL_16BIT? 16: 0), 
-	SDL_HWPALETTE | SDL_HWSURFACE | SDL_OPENGL | SDL_GL_DOUBLEBUFFER | 
-	(flags & FB2GL_FS? SDL_FULLSCREEN: 0));
-  }
+	flags = _flags;
 
-  fprintf(stderr,"Screen BitsPerPixel: %d\n",screen->format->BitsPerPixel);
-  
-  if (!screen) {
-    fprintf(stderr, "Couldn't start video res %dx%d\n", width, height);
-    return 0;
-  }
+	// Fullscreen?
+	if (!screen) {
+		screen = SDL_SetVideoMode(width, height, (flags & FB2GL_16BIT ? 16: 0),
+				SDL_HWPALETTE | SDL_HWSURFACE | SDL_OPENGL | SDL_GL_DOUBLEBUFFER |
+				(flags & FB2GL_FS? SDL_FULLSCREEN: 0));
+	}
 
+	warning("Screen BitsPerPixel: %d\n",screen->format->BitsPerPixel);
 
-  if (!(flags & FB2GL_RGBA)) { // Check for Paletted Texture Extension 
-    
-    strcpy(gl_ext, (char *)glGetString(GL_EXTENSIONS));
+	if (!screen) {
+		fprintf(stderr, "Couldn't start video res %dx%d\n", width, height);
+		return 0;
+	}
+
+
+	if (!(flags & FB2GL_RGBA)) { // Check for Paletted Texture Extension 
+		
+		strcpy(gl_ext, (char *)glGetString(GL_EXTENSIONS));
 	fprintf(stderr,"gl_ext= %s\n",gl_ext);
 
-    if ( strstr( gl_ext , "GL_EXT_paletted_texture") )
-      glEnable(GL_EXT_paletted_texture);
-    else {
-      fprintf(stderr,"Your OpenGL version doesn't support paletted texture\n");
-      return 0;
-    }
-  }
-  
-  if (width>0 && height>0) 
-    maketex();
-  makedlist(xfix, yfix);
+		if ( strstr( gl_ext , "GL_EXT_paletted_texture") )
+			glEnable(GL_EXT_paletted_texture);
+		else {
+			fprintf(stderr,"Your OpenGL version doesn't support paletted texture\n");
+			return 0;
+		}
+	}
+	
+	if (width>0 && height>0) 
+		maketex();
+	makedlist(xfix, yfix);
 
-/*  glEnable(GL_ALPHA_TEST);
-  glEnable(GL_BLEND);
-  glAlphaFunc(GL_GREATER,0);
-  glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);*/
-  
-  return 1;
+/*	glEnable(GL_ALPHA_TEST);
+	glEnable(GL_BLEND);
+	glAlphaFunc(GL_GREATER,0);
+	glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);*/
+	
+	return 1;
 }
 
 void FB2GL::display()
 {
-  glCallList(dlist);
-  SDL_GL_SwapBuffers();
+	glCallList(dlist);
+	SDL_GL_SwapBuffers();
 }
 
 void FB2GL::update(void *fb, int w, int h, int pitch, int xskip, int yskip) {
-  unsigned char *fb1=(unsigned char *)fb;
-  int x,y,scr_pitch,byte=0;
+	unsigned char *fb1=(unsigned char *)fb;
+	int x,y,scr_pitch,byte=0;
 
-  if (flags & FB2GL_PITCH) scr_pitch=pitch;
-  else {
-    scr_pitch=w*pitch;
-    byte = pitch; // Bytes perl pixel (for RGBA mode)
-  }
+	if (flags & FB2GL_PITCH) scr_pitch=pitch;
+	else {
+		scr_pitch=w*pitch;
+		byte = pitch; // Bytes perl pixel (for RGBA mode)
+	}
 
-  if (flags & FB2GL_RGBA) {
-    
-    if (flags & FB2GL_EXPAND) { // Expand the 8 bit fb into a RGB fb
-  
-      for (y=yskip; y<h; y++) {
+	if (flags & FB2GL_RGBA) {
+		
+		if (flags & FB2GL_EXPAND) { // Expand the 8 bit fb into a RGB fb
+	
+			for (y=yskip; y<h; y++) {
 	for (x=xskip; x<w; x++) {
-	  if (x<256) { 
-	    ogl_fb1[y][x][0] = ogl_ctable[*(fb1+x)][0];
-	    ogl_fb1[y][x][1] = ogl_ctable[*(fb1+x)][1]; 
-	    ogl_fb1[y][x][2] = ogl_ctable[*(fb1+x)][2]; 
-	    ogl_fb1[y][x][3] = 255;
-	  }
-	  else {
-	    ogl_fb2[y][x-256][0] = ogl_ctable[*(fb1+x)][0]; 
-	    ogl_fb2[y][x-256][1] = ogl_ctable[*(fb1+x)][1]; 
-	    ogl_fb2[y][x-256][2] = ogl_ctable[*(fb1+x)][2]; 
-	    ogl_fb2[y][x-256][3] = 255;
-	  }
+		if (x<256) { 
+			ogl_fb1[y][x][0] = ogl_ctable[*(fb1+x)][0];
+			ogl_fb1[y][x][1] = ogl_ctable[*(fb1+x)][1]; 
+			ogl_fb1[y][x][2] = ogl_ctable[*(fb1+x)][2]; 
+			ogl_fb1[y][x][3] = 255;
+		}
+		else {
+			ogl_fb2[y][x-256][0] = ogl_ctable[*(fb1+x)][0]; 
+			ogl_fb2[y][x-256][1] = ogl_ctable[*(fb1+x)][1]; 
+			ogl_fb2[y][x-256][2] = ogl_ctable[*(fb1+x)][2]; 
+			ogl_fb2[y][x-256][3] = 255;
+		}
 	}
 	fb1 += scr_pitch;
-      }
-    }
-    else { // No expansion
-      for (y=yskip; y<h; y++) {
+			}
+		}
+		else { // No expansion
+			for (y=yskip; y<h; y++) {
 	for (x=xskip; x<w; x++) {
-	  if (x<256) { 
-	    ogl_fb1[y-yskip][x-xskip][0] = *(fb1+(x*byte)); 
-	    ogl_fb1[y-yskip][x-xskip][1] = *(fb1+(x*byte)+1); 
-	    ogl_fb1[y-yskip][x-xskip][2] = *(fb1+(x*byte)+2); 
-	  }
-	  else {
-	    ogl_fb2[y-yskip][x-256][0] = *(fb1+(x*byte)); 
-	    ogl_fb2[y-yskip][x-256][1] = *(fb1+(x*byte)+1); 
-	    ogl_fb2[y-yskip][x-256][2] = *(fb1+(x*byte)+2); 
-	  }
+		if (x<256) { 
+			ogl_fb1[y-yskip][x-xskip][0] = *(fb1+(x*byte)); 
+			ogl_fb1[y-yskip][x-xskip][1] = *(fb1+(x*byte)+1); 
+			ogl_fb1[y-yskip][x-xskip][2] = *(fb1+(x*byte)+2); 
+		}
+		else {
+			ogl_fb2[y-yskip][x-256][0] = *(fb1+(x*byte)); 
+			ogl_fb2[y-yskip][x-256][1] = *(fb1+(x*byte)+1); 
+			ogl_fb2[y-yskip][x-256][2] = *(fb1+(x*byte)+2); 
+		}
 	}
 	fb1 += scr_pitch;
-      }
-    }
+			}
+		}
 
-    // Update 256x256 texture
-    glBindTexture(GL_TEXTURE_2D,texture);
-    glFlush();
-    glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,256-xskip,256-yskip,GL_RGBA,
+		// Update 256x256 texture
+		glBindTexture(GL_TEXTURE_2D,texture);
+		glFlush();
+		glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,256-xskip,256-yskip,GL_RGBA,
 	GL_UNSIGNED_BYTE,ogl_fb1);
 
-    if (flags & FB2GL_320) {
-      // Update 64x256 texture
-      glBindTexture(GL_TEXTURE_2D,textureb);
-      glFlush();
-      glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,64-xskip,256-yskip,GL_RGBA,
+		if (flags & FB2GL_320) {
+			// Update 64x256 texture
+			glBindTexture(GL_TEXTURE_2D,textureb);
+			glFlush();
+			glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,64-xskip,256-yskip,GL_RGBA,
 	GL_UNSIGNED_BYTE,ogl_fb2);
-    }
+		}
 
-  }
-  else { // non RGBA (paletted)
+	}
+	else { // non RGBA (paletted)
 
-    for (y=0; y<h; y++)
-      for (x=0; x<w; x++) {
+		for (y=0; y<h; y++)
+			for (x=0; x<w; x++) {
 	if (x<256) { 
-	  ogl_fb[ y ][ x ] = *(fb1 + (y)*scr_pitch + x);
+		ogl_fb[ y ][ x ] = *(fb1 + (y)*scr_pitch + x);
 	}
 	else { 
-	  ogl_fbb[ y ][ x - 256 ] = *(fb1 + y*scr_pitch + x);
+		ogl_fbb[ y ][ x - 256 ] = *(fb1 + y*scr_pitch + x);
 	}
-      }
+			}
 
-    // Update 256x256 texture
-    glBindTexture(GL_TEXTURE_2D,texture);
-    glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,256-xskip,256-yskip,
+		// Update 256x256 texture
+		glBindTexture(GL_TEXTURE_2D,texture);
+		glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,256-xskip,256-yskip,
 	GL_COLOR_INDEX, GL_UNSIGNED_BYTE,ogl_fb);
 		
-    if (flags & FB2GL_320) {
-      // Update 64x256 texture
-      glBindTexture(GL_TEXTURE_2D,textureb);
-      glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,64-xskip,256-yskip,
-	  GL_COLOR_INDEX, GL_UNSIGNED_BYTE,ogl_fbb);
-    }
+		if (flags & FB2GL_320) {
+			// Update 64x256 texture
+			glBindTexture(GL_TEXTURE_2D,textureb);
+			glTexSubImage2D(GL_TEXTURE_2D,0,xskip,yskip,64-xskip,256-yskip,
+		GL_COLOR_INDEX, GL_UNSIGNED_BYTE,ogl_fbb);
+		}
 
-  }
+	}
 
-  display();
+	display();
 
 }
 
 void FB2GL::blit16(SDL_Surface *fb, int num_rect, SDL_Rect *rect, int xskip, int yskip) {
-  int x, y, i;
-  int rx, ry, rw, rh;
-  int xend=0, yend=0;
-  int pitch = fb->pitch/2; // 16 bit pointer access (not char *)
-  int tex1_w = 0, tex2_w = 0, tex2_x = 0;
+	int x, y, i;
+	int rx, ry, rw, rh;
+	int xend=0, yend=0;
+	int pitch = fb->pitch/2; // 16 bit pointer access (not char *)
+	int tex1_w = 0, tex2_w = 0, tex2_x = 0;
 
-  for (i=0; i<num_rect; i++) {
-    tex1_w = tex2_w = tex2_x = 0;
-    rx = rect[i].x;
-    ry = rect[i].y;
-    rw = rect[i].w;
-    rh = rect[i].h;
-    xend = rx + rw;
-    yend = ry + rh;
-    if (xend > fb->w) continue;
-    if (yend > fb->h) continue;
+	for (i=0; i<num_rect; i++) {
+		tex1_w = tex2_w = tex2_x = 0;
+		rx = rect[i].x;
+		ry = rect[i].y;
+		rw = rect[i].w;
+		rh = rect[i].h;
+		xend = rx + rw;
+		yend = ry + rh;
+		if (xend > fb->w) continue;
+		if (yend > fb->h) continue;
 
-    if (rx < 256) { // Begins before the end of the 1st texture
-      if (xend >= 256) { // Ends after the first texture
+		if (rx < 256) { // Begins before the end of the 1st texture
+			if (xend >= 256) { // Ends after the first texture
 	tex2_w = xend-256; // For the 2nd texture
 	tex1_w = rw - tex2_w; // For the 1st texture
-      }
-      else tex1_w = rw; 
-    }
-    else {
-      tex2_w = rw;
-      tex2_x = rx - 256;
-    }
+			}
+			else tex1_w = rw; 
+		}
+		else {
+			tex2_w = rw;
+			tex2_x = rx - 256;
+		}
 
-    for (y = ry; y < yend; y++) {
-      for (x = rx; x < xend; x++) {
-      
-        if (x < 256 && tex1_w) { 
-	  int pos = (x-rx+(y-ry)*tex1_w)*4; // RGBA
-	  SDL_GetRGB(((Uint16 *)fb->pixels)[x+y*(pitch)],fb->format,
-	    &fb1[pos],
-	    &fb1[pos+1],
-	    &fb1[pos+2]);
+		for (y = ry; y < yend; y++) {
+			for (x = rx; x < xend; x++) {
+			
+				if (x < 256 && tex1_w) { 
+		int pos = (x-rx+(y-ry)*tex1_w)*4; // RGBA
+		SDL_GetRGB(((Uint16 *)fb->pixels)[x+y*(pitch)],fb->format,
+			&fb1[pos],
+			&fb1[pos+1],
+			&fb1[pos+2]);
 	}
 	else if (x >= 256 && tex2_w) {
-	  int rx2 = rx < 256? 256: rx;
-	  int pos = (x-rx2+(y-ry)*tex2_w)*4; // RGBA
-	  SDL_GetRGB(((Uint16 *)fb->pixels)[x+y*(pitch)],fb->format,
-	    &fb2[pos],
-	    &fb2[pos+1],
-	    &fb2[pos+2]);
+		int rx2 = rx < 256? 256: rx;
+		int pos = (x-rx2+(y-ry)*tex2_w)*4; // RGBA
+		SDL_GetRGB(((Uint16 *)fb->pixels)[x+y*(pitch)],fb->format,
+			&fb2[pos],
+			&fb2[pos+1],
+			&fb2[pos+2]);
 	}
-      }
-    }
+			}
+		}
 
-    if (tex1_w > 0) {
-      // Update 256x256 texture
-      glBindTexture(GL_TEXTURE_2D,texture);
-      glFlush();
-      glTexSubImage2D(GL_TEXTURE_2D,0,rx+xskip,ry+yskip,tex1_w,rh,GL_RGBA,
-        GL_UNSIGNED_BYTE,fb1);
-    }
-    if (tex2_w > 0) { // What was left for this texture
-      // Update 64x256 texture
-      glBindTexture(GL_TEXTURE_2D,textureb);
-      glFlush();
-      glTexSubImage2D(GL_TEXTURE_2D,0,tex2_x+xskip,ry+yskip,tex2_w,rh,GL_RGBA,
-        GL_UNSIGNED_BYTE,fb2);
-    }
-  }
+		if (tex1_w > 0) {
+			// Update 256x256 texture
+			glBindTexture(GL_TEXTURE_2D,texture);
+			glFlush();
+			glTexSubImage2D(GL_TEXTURE_2D,0,rx+xskip,ry+yskip,tex1_w,rh,GL_RGBA,
+				GL_UNSIGNED_BYTE,fb1);
+		}
+		if (tex2_w > 0) { // What was left for this texture
+			// Update 64x256 texture
+			glBindTexture(GL_TEXTURE_2D,textureb);
+			glFlush();
+			glTexSubImage2D(GL_TEXTURE_2D,0,tex2_x+xskip,ry+yskip,tex2_w,rh,GL_RGBA,
+				GL_UNSIGNED_BYTE,fb2);
+		}
+	}
 }
 
 void FB2GL::palette(int i, int r, int g, int b) {
-  if (flags & FB2GL_EXPAND) {
-    ogl_temp_ctable[i][0]=r;
-    ogl_temp_ctable[i][1]=g;
-    ogl_temp_ctable[i][2]=b;
-  }
-  else { // Paletted texture
-    ogl_ctable[i][0]=r;
-    ogl_ctable[i][1]=g;
-    ogl_ctable[i][2]=b;
-  }
+	if (flags & FB2GL_EXPAND) {
+		ogl_temp_ctable[i][0]=r;
+		ogl_temp_ctable[i][1]=g;
+		ogl_temp_ctable[i][2]=b;
+	}
+	else { // Paletted texture
+		ogl_ctable[i][0]=r;
+		ogl_ctable[i][1]=g;
+		ogl_ctable[i][2]=b;
+	}
 }
 
 void FB2GL::setPalette(int f, int n) {
-  char temp[256][3];
-  int i;
+	char temp[256][3];
+	int i;
  
-  if (flags & FB2GL_EXPAND) {
-    for (i=f; i<n; i++) {
-      ogl_ctable[i][0] = ogl_temp_ctable[i][0];
-      ogl_ctable[i][1] = ogl_temp_ctable[i][1];
-      ogl_ctable[i][2] = ogl_temp_ctable[i][2];
-    }
-  }
-  else { // Paletted texture
-    glBindTexture(GL_TEXTURE_2D,texture);
-    glGetColorTable(GL_TEXTURE_2D,GL_RGB,GL_UNSIGNED_BYTE,&temp);
+	if (flags & FB2GL_EXPAND) {
+		for (i=f; i<n; i++) {
+			ogl_ctable[i][0] = ogl_temp_ctable[i][0];
+			ogl_ctable[i][1] = ogl_temp_ctable[i][1];
+			ogl_ctable[i][2] = ogl_temp_ctable[i][2];
+		}
+	}
+	else { // Paletted texture
+		glBindTexture(GL_TEXTURE_2D,texture);
+		glGetColorTable(GL_TEXTURE_2D,GL_RGB,GL_UNSIGNED_BYTE,&temp);
 	
-    for (i=f; i<n; i++) {
-      temp[i][0] = ogl_ctable[i][0];
-      temp[i][1] = ogl_ctable[i][1];
-      temp[i][2] = ogl_ctable[i][2];
-    }
+		for (i=f; i<n; i++) {
+			temp[i][0] = ogl_ctable[i][0];
+			temp[i][1] = ogl_ctable[i][1];
+			temp[i][2] = ogl_ctable[i][2];
+		}
 	
-    glColorTable(GL_TEXTURE_2D,GL_RGB,256,GL_RGB,GL_UNSIGNED_BYTE,&temp);
+		glColorTable(GL_TEXTURE_2D,GL_RGB,256,GL_RGB,GL_UNSIGNED_BYTE,&temp);
 
-    if (flags & FB2GL_320) {
-      glBindTexture(GL_TEXTURE_2D,textureb);
-      glColorTable(GL_TEXTURE_2D,GL_RGB,256,GL_RGB,GL_UNSIGNED_BYTE,&temp);
-    }
+		if (flags & FB2GL_320) {
+			glBindTexture(GL_TEXTURE_2D,textureb);
+			glColorTable(GL_TEXTURE_2D,GL_RGB,256,GL_RGB,GL_UNSIGNED_BYTE,&temp);
+		}
 
-  }
+	}
 
 }

Index: sdl-common.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl-common.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- sdl-common.cpp	2 Mar 2003 16:36:51 -0000	1.33
+++ sdl-common.cpp	6 Mar 2003 18:26:48 -0000	1.34
@@ -73,7 +73,7 @@
 #ifndef MACOSX		// Work around a bug in OS X
 	// Clean up on exit
 	atexit_proc_installed = true;
- 	atexit(atexit_proc);
+	atexit(atexit_proc);
 #endif
 
 	// enable joystick
@@ -95,21 +95,18 @@
 	_cdrom(0), _dirty_checksums(0),
 	_mouseVisible(false), _mouseDrawn(false), _mouseData(0),
 	_mouseHotspotX(0), _mouseHotspotY(0),
-	_currentShakePos(0), _newShakePos(0)
-{
+	_currentShakePos(0), _newShakePos(0) {
 	// allocate palette storage
-	_currentPalette = (SDL_Color*)calloc(sizeof(SDL_Color), 256);
+	_currentPalette = (SDL_Color *)calloc(sizeof(SDL_Color), 256);
 
 	// allocate the dirty rect storage
-	_mouseBackup = (byte*)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2);
-	
+	_mouseBackup = (byte *)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2);
+
 	// reset mouse state
 	memset(&km, 0, sizeof(km));
-
 }
 
-OSystem_SDL_Common::~OSystem_SDL_Common()
-{
+OSystem_SDL_Common::~OSystem_SDL_Common() {
 	if (_dirty_checksums)
 		free(_dirty_checksums);
 	free(_currentPalette);
@@ -117,17 +114,16 @@
 }
 
 void OSystem_SDL_Common::init_size(uint w, uint h) {
-
 	// Avoid redundant res changes
 	if ((int)w == _screenWidth && (int)h == _screenHeight)
 		return;
 
 	_screenWidth = w;
 	_screenHeight = h;
-	CKSUM_NUM = (_screenWidth*_screenHeight/(8*8));
+	CKSUM_NUM = (_screenWidth * _screenHeight / (8 * 8));
 	if (_dirty_checksums)
 		free(_dirty_checksums);
-	_dirty_checksums = (uint32*)calloc(CKSUM_NUM*2, sizeof(uint32));
+	_dirty_checksums = (uint32 *)calloc(CKSUM_NUM * 2, sizeof(uint32));
 
 	unload_gfx_mode();
 	load_gfx_mode();
@@ -145,18 +141,33 @@
 		return;
 
 	if (((uint32)buf & 3) == 0 && pitch == _screenWidth && x==0 && y==0 &&
-	    w==_screenWidth && h==_screenHeight && _mode_flags&DF_WANT_RECT_OPTIM) {
+			w==_screenWidth && h==_screenHeight && _mode_flags&DF_WANT_RECT_OPTIM) {
 		/* Special, optimized case for full screen updates.
 		 * It tries to determine what areas were actually changed,
 		 * and just updates those, on the actual display. */
 		add_dirty_rgn_auto(buf);
 	} else {
 		/* Clip the coordinates */
-		if (x < 0) { w+=x; buf-=x; x = 0; }
-		if (y < 0) { h+=y; buf-=y*pitch; y = 0; }
-		if (w > _screenWidth-x) { w = _screenWidth - x; }
-		if (h > _screenHeight-y) { h = _screenHeight - y; }
-			
+		if (x < 0) {
+			w += x;
+			buf -= x;
+			x = 0;
+		}
+
+		if (y < 0) {
+			h += y;
+			buf -= y * pitch;
+			y = 0;
+		}
+
+		if (w > _screenWidth - x) {
+			w = _screenWidth - x;
+		}
+
+		if (h > _screenHeight - y) {
+			h = _screenHeight - y;
+		}
+
 		if (w <= 0 || h <= 0)
 			return;
 
@@ -183,7 +194,6 @@
 
 
 void OSystem_SDL_Common::move_screen(int dx, int dy, int height) {
-
 	if ((dx == 0) && (dy == 0))
 		return;
 
@@ -227,7 +237,6 @@
 		_forceFull = true;
 	else {
 		SDL_Rect *r = &_dirty_rect_list[_num_dirty_rects++];
-		
 		// Extend the dirty region by 1 pixel for scalers
 		// that "smear" the screen, e.g. 2xSAI
 		if (_mode_flags & DF_UPDATE_EXPAND_1_PIXEL) {
@@ -238,10 +247,22 @@
 		}
 
 		// clip
-		if (x < 0) { w+=x; x=0; }
-		if (y < 0) { h+=y; y=0; }
-		if (w > _screenWidth-x) { w = _screenWidth - x; }
-		if (h > _screenHeight-y) { h = _screenHeight - y; }
+		if (x < 0) {
+			w += x; x = 0;
+		}
+
+		if (y < 0) {
+			h += y;
+			y=0;
+		}
+
+		if (w > _screenWidth - x) {
+			w = _screenWidth - x;
+		}
+
+		if (h > _screenHeight - y) {
+			h = _screenHeight - y;
+		}
 	
 		r->x = x;
 		r->y = y;
@@ -250,18 +271,19 @@
 	}
 }
 
-#define ROL(a,n) a = (a<<(n)) | (a>>(32-(n)))
-#define DOLINE(x) a ^= ((uint32*)buf)[0+(x)*(_screenWidth/4)]; b ^= ((uint32*)buf)[1+(x)*(_screenWidth/4)]
+#define ROL(a,n) a = (a << (n)) | (a >> (32 - (n)))
+#define DOLINE(x) a ^= ((uint32*)buf)[0 + (x) * (_screenWidth / 4)]; b ^= ((uint32 *)buf)[1 + (x) * (_screenWidth / 4)]
+
 void OSystem_SDL_Common::mk_checksums(const byte *buf) {
 	uint32 *sums = _dirty_checksums;
 	uint x,y;
-	const uint last_x = (uint)_screenWidth/8;
-	const uint last_y = (uint)_screenHeight/8;
+	const uint last_x = (uint)_screenWidth / 8;
+	const uint last_y = (uint)_screenHeight / 8;
 
 	/* the 8x8 blocks in buf are enumerated starting in the top left corner and
 	 * reading each line at a time from left to right */
-	for(y=0; y != last_y; y++, buf+=_screenWidth*(8-1))
-		for(x=0; x != last_x; x++, buf+=8) {
+	for(y = 0; y != last_y; y++, buf += _screenWidth * (8 - 1))
+		for(x=0; x != last_x; x++, buf += 8) {
 			uint32 a = x;
 			uint32 b = y;
 
@@ -270,8 +292,8 @@
 			DOLINE(4); ROL(a,13); ROL(b,11);
 			DOLINE(6); ROL(a,13); ROL(b,11);
 
-			a*=0xDEADBEEF;
-			b*=0xBAADF00D;
+			a *= 0xDEADBEEF;
+			b *= 0xBAADF00D;
 
 			DOLINE(1); ROL(a,13); ROL(b,11);
 			DOLINE(3); ROL(a,13); ROL(b,11);
@@ -279,15 +301,14 @@
 			DOLINE(7); ROL(a,13); ROL(b,11);
 
 			/* output the checksum for this block */
-			*sums++=a+b;
+			*sums++ = a + b;
 		}
 }
 #undef DOLINE
 #undef ROL
 
-
 void OSystem_SDL_Common::add_dirty_rgn_auto(const byte *buf) {
-	assert( ((uint32)buf & 3) == 0);
+	assert(((uint32)buf & 3) == 0);
 	
 	/* generate a table of the checksums */
 	mk_checksums(buf);
@@ -304,18 +325,18 @@
 		int x,y,w;
 		uint32 *ck = _dirty_checksums;
 		
-		for(y=0; y!=_screenHeight/8; y++) {
-			for(x=0; x!=_screenWidth/8; x++,ck++) {
+		for(y = 0; y!=_screenHeight / 8; y++) {
+			for(x = 0; x!=_screenWidth / 8; x++,ck++) {
 				if (ck[0] != ck[CKSUM_NUM]) {
 					/* found a dirty 8x8 block, now go as far to the right as possible,
 						 and at the same time, unmark the dirty status by setting old to new. */
 					w=0;
 					do {
-						ck[w+CKSUM_NUM] = ck[w];
+						ck[w + CKSUM_NUM] = ck[w];
 						w++;
-					} while (x+w != _screenWidth/8 && ck[w] != ck[w+CKSUM_NUM]);
-					
-					add_dirty_rect(x*8, y*8, w*8, 8);
+					} while (x + w != _screenWidth / 8 && ck[w] != ck[w + CKSUM_NUM]);
+
+					add_dirty_rect(x * 8, y * 8, w * 8, 8);
 
 					if (_forceFull)
 						goto get_out;
@@ -338,18 +359,18 @@
 			km.x_down_count = 2;
 		}
 		if (km.y_down_count == 1) {
-			km.y_down_time = time;      
+			km.y_down_time = time;
 			km.y_down_count = 2;
 		}
 
 		if (km.x_vel || km.y_vel) {
 			if (km.x_down_count) {
-				if (time > km.x_down_time + km.delay_time*12) {
+				if (time > km.x_down_time + km.delay_time * 12) {
 					if (km.x_vel > 0)
 						km.x_vel++;
 					else
 						km.x_vel--;
-				} else if (time > km.x_down_time + km.delay_time*8) {
+				} else if (time > km.x_down_time + km.delay_time * 8) {
 					if (km.x_vel > 0)
 						km.x_vel = 5;
 					else
@@ -357,12 +378,12 @@
 				}
 			}
 			if (km.y_down_count) {
-				if (time > km.y_down_time + km.delay_time*12) {
+				if (time > km.y_down_time + km.delay_time * 12) {
 					if (km.y_vel > 0)
 						km.y_vel++;
 					else
 						km.y_vel--;
-				} else if (time > km.y_down_time + km.delay_time*8) {
+				} else if (time > km.y_down_time + km.delay_time * 8) {
 					if (km.y_vel > 0)
 						km.y_vel = 5;
 					else
@@ -412,7 +433,7 @@
 
 	return last;
 }
-	
+
 void OSystem_SDL_Common::set_mouse_pos(int x, int y) {
 	if (x != _mouseCurState.x || y != _mouseCurState.y) {
 		_mouseCurState.x = x;
@@ -427,7 +448,6 @@
 }
 	
 void OSystem_SDL_Common::set_mouse_cursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y) {
-
 	assert(0 <= w && w <= MAX_MOUSE_W);
 	assert(0 <= h && h <= MAX_MOUSE_H);
 	_mouseCurState.w = w;
@@ -436,23 +456,23 @@
 	_mouseHotspotX = hotspot_x;
 	_mouseHotspotY = hotspot_y;
 
-	_mouseData = (byte*)buf;
+	_mouseData = (byte *)buf;
 
 	undraw_mouse();
 }
-	
+
 void OSystem_SDL_Common::set_shake_pos(int shake_pos) {
 	_newShakePos = shake_pos;
 }
-		
+
 uint32 OSystem_SDL_Common::get_msecs() {
 	return SDL_GetTicks();	
 }
-	
+
 void OSystem_SDL_Common::delay_msecs(uint msecs) {
 	SDL_Delay(msecs);
 }
-	
+
 void *OSystem_SDL_Common::create_thread(ThreadProc *proc, void *param) {
 	return SDL_CreateThread(proc, param);
 }
@@ -472,7 +492,7 @@
 	}
 	return key;
 }
-	
+
 bool OSystem_SDL_Common::poll_event(Event *event) {
 	SDL_Event ev;
 	int axis;
@@ -579,7 +599,7 @@
 					default:
 					break;
 				}
-	
+
 				return true;
 			}
 
@@ -589,7 +609,7 @@
 			event->kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode);
 
 				switch(ev.key.keysym.sym){
-					case SDLK_LEFT:                
+					case SDLK_LEFT:
 						if (km.x_vel < 0) {
 							km.x_vel = 0;
 							km.x_down_count = 0;
@@ -717,7 +737,7 @@
 				} 
 			}
 			return true;
-			
+
 		case SDL_JOYAXISMOTION:
 			axis = ev.jaxis.value;
 			if ( axis > JOY_DEADZONE) {
@@ -728,7 +748,7 @@
 				event->event_code = EVENT_MOUSEMOVE;
 			} else
 				axis = 0;
-			
+
 			if ( ev.jaxis.axis == JOY_XAXIS) { 
 #ifdef JOY_ANALOG
 				km.x_vel = axis/2000;
@@ -748,11 +768,11 @@
 				axis = -axis;
 #endif
 #ifdef JOY_ANALOG
-				km.y_vel = -axis/2000;
+				km.y_vel = -axis / 2000;
 				km.y_down_count = 0;
 #else
 				if (axis != 0) {
-					km.y_vel = (-axis > 0) ? 1:-1;
+					km.y_vel = (-axis > 0) ? 1: -1;
 					km.y_down_count = 1;
 				} else {
 					km.y_vel = 0;
@@ -760,7 +780,7 @@
 				}
 #endif
 			}
-			return true;	
+			return true;
 
 		case SDL_QUIT:
 			quit();
@@ -772,7 +792,6 @@
 	SDL_AudioSpec desired;
 
 	/* only one format supported at the moment */
-
 	desired.freq = SAMPLES_PER_SEC;
 	desired.format = AUDIO_S16SYS;
 	desired.channels = 2;
@@ -818,13 +837,13 @@
 
 	return 0;
 }
-		
+
 void OSystem_SDL_Common::quit() {
 	if(_cdrom) {
 		SDL_CDStop(_cdrom);
 		SDL_CDClose(_cdrom);
 	}
-	unload_gfx_mode();		
+	unload_gfx_mode();
 	exit(0);
 }
 
@@ -868,10 +887,9 @@
 	_mouseOldState.h = h;
 
 	// Draw the mouse cursor; backup the covered area in "bak"
-	
 	if (SDL_LockSurface(_overlayVisible ? _tmpscreen : _screen) == -1)
 		error("SDL_LockSurface failed: %s.\n", SDL_GetError());
-	
+
 	// Mark as dirty
 	add_dirty_rect(x, y, w, h);
 
@@ -897,10 +915,10 @@
 		}
 	
 	} else {
-		uint16 *bak = (uint16*)_mouseBackup;	// Surface used to backup the area obscured by the mouse
+		uint16 *bak = (uint16 *)_mouseBackup;	// Surface used to backup the area obscured by the mouse
 		uint16 *dst;					// Surface we are drawing into
 	
-		dst = (uint16 *)_tmpscreen->pixels + (y+1) * _tmpScreenWidth + (x+1);
+		dst = (uint16 *)_tmpscreen->pixels + (y + 1) * _tmpScreenWidth + (x + 1);
 		while (h > 0) {
 			int width = w;
 			while (width > 0) {
@@ -916,11 +934,10 @@
 			dst += _tmpScreenWidth - w;
 			h--;
 		}
-	
 	}
 
 	SDL_UnlockSurface(_overlayVisible ? _tmpscreen : _screen);
-	
+
 	// Finally, set the flag to indicate the mouse has been drawn
 	_mouseDrawn = true;
 }
@@ -940,9 +957,8 @@
 	int x, y;
 
 	if (!_overlayVisible) {
-	
 		byte *dst, *bak = _mouseBackup;
-	
+
 		// No need to do clipping here, since draw_mouse() did that already
 		dst = (byte *)_screen->pixels + old_mouse_y * _screenWidth + old_mouse_x;
 		for (y = 0; y < old_mouse_h; ++y, bak += MAX_MOUSE_W, dst += _screenWidth) {
@@ -956,7 +972,7 @@
 		uint16 *dst, *bak = (uint16 *)_mouseBackup;
 	
 		// No need to do clipping here, since draw_mouse() did that already
-		dst = (uint16 *)_tmpscreen->pixels + (old_mouse_y+1) * _tmpScreenWidth + (old_mouse_x+1);
+		dst = (uint16 *)_tmpscreen->pixels + (old_mouse_y + 1) * _tmpScreenWidth + (old_mouse_x + 1);
 		for (y = 0; y < old_mouse_h; ++y, bak += MAX_MOUSE_W, dst += _tmpScreenWidth) {
 			for (x = 0; x < old_mouse_w; ++x) {
 				dst[x] = bak[x];
@@ -972,7 +988,6 @@
 void OSystem_SDL_Common::stop_cdrom() {	/* Stop CD Audio in 1/10th of a second */
 	cd_stop_time = SDL_GetTicks() + 100;
 	cd_num_loops = 0;
-
 }
 
 void OSystem_SDL_Common::play_cdrom(int track, int num_loops, int start_frame, int end_frame) {
@@ -983,7 +998,7 @@
 		return;
 	
 	if (end_frame > 0)
-		end_frame+=5;
+		end_frame +=5;
 
 	cd_track = track;
 	cd_num_loops = num_loops;
@@ -1009,7 +1024,7 @@
 void OSystem_SDL_Common::update_cdrom() {
 	if (!_cdrom)
 		return;
-		
+
 	if (cd_stop_time != 0 && SDL_GetTicks() >= cd_stop_time) {
 		SDL_CDStop(_cdrom);
 		cd_num_loops = 0;
@@ -1098,8 +1113,7 @@
 	SDL_DestroyMutex((SDL_mutex *) mutex);
 }
 
-void OSystem_SDL_Common::show_overlay()
-{
+void OSystem_SDL_Common::show_overlay() {
 	// hide the mouse
 	undraw_mouse();
 
@@ -1107,8 +1121,7 @@
 	clear_overlay();
 }
 
-void OSystem_SDL_Common::hide_overlay()
-{
+void OSystem_SDL_Common::hide_overlay() {
 	// hide the mouse
 	undraw_mouse();
 
@@ -1116,8 +1129,7 @@
 	_forceFull = true;
 }
 
-void OSystem_SDL_Common::clear_overlay()
-{
+void OSystem_SDL_Common::clear_overlay() {
 	if (!_overlayVisible)
 		return;
 	
@@ -1144,8 +1156,7 @@
 	return _screenWidth;
 }
 
-void OSystem_SDL_Common::grab_overlay(int16 *buf, int pitch)
-{
+void OSystem_SDL_Common::grab_overlay(int16 *buf, int pitch) {
 	if (!_overlayVisible)
 		return;
 
@@ -1169,8 +1180,7 @@
 	SDL_UnlockSurface(_tmpscreen);
 }
 
-void OSystem_SDL_Common::copy_rect_overlay(const int16 *buf, int pitch, int x, int y, int w, int h)
-{
+void OSystem_SDL_Common::copy_rect_overlay(const int16 *buf, int pitch, int x, int y, int w, int h) {
 	if (!_overlayVisible)
 		return;
 
@@ -1178,13 +1188,28 @@
 		return;
 
 	// Clip the coordinates
-	if (x < 0) { w+=x; buf-=x; x = 0; }
-	if (y < 0) { h+=y; buf-=y*pitch; y = 0; }
-	if (w > _screenWidth-x) { w = _screenWidth - x; }
-	if (h > _screenHeight-y) { h = _screenHeight - y; }
+	if (x < 0) {
+		w += x;
+		buf -= x;
+		x = 0;
+	}
+
+	if (y < 0) {
+		h += y; buf -= y * pitch;
+		y = 0;
+	}
+
+	if (w > _screenWidth - x) {
+		w = _screenWidth - x;
+	}
+
+	if (h > _screenHeight-y) {
+		h = _screenHeight - y;
+	}
+
 	if (w <= 0 || h <= 0)
 		return;
-	
+
 	// Mark the modified region as dirty
 	cksum_valid = false;
 	add_dirty_rect(x, y, w, h);
@@ -1195,9 +1220,9 @@
 	if (SDL_LockSurface(_tmpscreen) == -1)
 		error("SDL_LockSurface failed: %s.\n", SDL_GetError());
 
-	int16 *dst = (int16 *)_tmpscreen->pixels + (y+1) * _tmpScreenWidth + (x+1);
+	int16 *dst = (int16 *)_tmpscreen->pixels + (y + 1) * _tmpScreenWidth + (x + 1);
 	do {
-		memcpy(dst, buf, w*2);
+		memcpy(dst, buf, w * 2);
 		dst += _tmpScreenWidth;
 		buf += pitch;
 	} while (--h);
@@ -1205,12 +1230,10 @@
 	SDL_UnlockSurface(_tmpscreen);
 }
 
-int16 OSystem_SDL_Common::RBGToColor(uint8 r, uint8 g, uint8 b)
-{
+int16 OSystem_SDL_Common::RBGToColor(uint8 r, uint8 g, uint8 b) {
 	return SDL_MapRGB(_tmpscreen->format, r, g, b);
 }
 
-void OSystem_SDL_Common::colorToRBG(int16 color, uint8 &r, uint8 &g, uint8 &b)
-{
+void OSystem_SDL_Common::colorToRBG(int16 color, uint8 &r, uint8 &g, uint8 &b) {
 	SDL_GetRGB(color, _tmpscreen->format, &r, &g, &b);
 }

Index: sdl-common.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl-common.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- sdl-common.h	20 Jan 2003 16:29:26 -0000	1.15
+++ sdl-common.h	6 Mar 2003 18:26:49 -0000	1.16
@@ -57,29 +57,29 @@
 	// backend of the mouse cursor's current position, this function
 	// actually moves the cursor to the specified position.
 	void warp_mouse(int x, int y);
-	
+
 	// Set the bitmap that's used when drawing the cursor.
 	void set_mouse_cursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y);
-	
+
 	// Shaking is used in SCUMM. Set current shake position.
 	void set_shake_pos(int shake_pos);
-		
+
 	// Get the number of milliseconds since the program was started.
 	uint32 get_msecs();
-	
+
 	// Delay for a specified amount of milliseconds
 	void delay_msecs(uint msecs);
-	
+
 	// Create a thread
 	void *create_thread(ThreadProc *proc, void *param);
-	
+
 	// Get the next event.
 	// Returns true if an event was retrieved.	
 	bool poll_event(Event *event);
-	
+
 	// Set function that generates samples 
 	bool set_sound_proc(void *param, SoundProc *proc, byte sound);
-		
+
 	// Poll CD status
 	// Returns true if cd audio is playing
 	bool poll_cdrom();
@@ -183,7 +183,7 @@
 
 	// joystick
 	SDL_Joystick *_joystick;
-	
+
 	bool _mouseVisible;
 	bool _mouseDrawn;
 	byte *_mouseData;

Index: sdl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- sdl.cpp	2 Mar 2003 16:36:51 -0000	1.22
+++ sdl.cpp	6 Mar 2003 18:26:49 -0000	1.23
@@ -140,7 +140,6 @@
 	if (_screen == NULL)
 		error("_screen failed");
 
-
 	//
 	// Create the surface that contains the scaled graphics in 16 bit mode
 	//
@@ -161,9 +160,9 @@
 		Init_2xSaI(565);
 	
 	// Need some extra bytes around when using 2xSaI
-	uint16 *tmp_screen = (uint16*)calloc(_tmpScreenWidth*(_screenHeight+3), sizeof(uint16));
+	uint16 *tmp_screen = (uint16 *)calloc(_tmpScreenWidth * (_screenHeight + 3), sizeof(uint16));
 	_tmpscreen = SDL_CreateRGBSurfaceFrom(tmp_screen,
-						_tmpScreenWidth, _screenHeight + 3, 16, _tmpScreenWidth*2,
+						_tmpScreenWidth, _screenHeight + 3, 16, _tmpScreenWidth * 2,
 						_hwscreen->format->Rmask,
 						_hwscreen->format->Gmask,
 						_hwscreen->format->Bmask,
@@ -171,13 +170,12 @@
 
 	if (_tmpscreen == NULL)
 		error("_tmpscreen failed");
-	
+
 	// keyboard cursor control, some other better place for it?
 	km.x_max = _screenWidth * _scaleFactor - 1;
 	km.y_max = _screenHeight * _scaleFactor - 1;
 	km.delay_time = 25;
 	km.last_time = 0;
-
 }
 
 void OSystem_SDL::unload_gfx_mode() {
@@ -230,12 +228,11 @@
 }
 
 void OSystem_SDL::update_screen() {
-	
 	assert(_hwscreen != NULL);
 
 	// If the shake position changed, fill the dirty area with blackness
 	if (_currentShakePos != _newShakePos) {
-		SDL_Rect blackrect = {0, 0, _screenWidth*_scaleFactor, _newShakePos*_scaleFactor};
+		SDL_Rect blackrect = {0, 0, _screenWidth * _scaleFactor, _newShakePos * _scaleFactor};
 		SDL_FillRect(_hwscreen, &blackrect, 0);
 
 		_currentShakePos = _newShakePos;
@@ -270,11 +267,11 @@
 
 	// Only draw anything if necessary
 	if (_num_dirty_rects > 0) {
-	
+
 		SDL_Rect *r; 
 		uint32 srcPitch, dstPitch;
 		SDL_Rect *last_rect = _dirty_rect_list + _num_dirty_rects;
-	
+
 		// Convert appropriate parts of the 8bpp image into 16bpp
 		if (!_overlayVisible) {
 			SDL_Rect dst;
@@ -286,7 +283,7 @@
 					error("SDL_BlitSurface failed: %s", SDL_GetError());
 			}
 		}
-	
+
 		SDL_LockSurface(_tmpscreen);
 		SDL_LockSurface(_hwscreen);
 	
@@ -300,11 +297,11 @@
 				dst_h = r->h;
 				if (dst_h > _screenHeight - dst_y)
 					dst_h = _screenHeight - dst_y;
-				
+
 				dst_y *= _scaleFactor;
-				
-				_scaler_proc((byte*)_tmpscreen->pixels + (r->x*2+2) + (r->y+1)*srcPitch, srcPitch, NULL, 
-					(byte*)_hwscreen->pixels + r->x*2*_scaleFactor + dst_y*dstPitch, dstPitch, r->w, dst_h);
+
+				_scaler_proc((byte *)_tmpscreen->pixels + (r->x * 2 + 2) + (r->y + 1) * srcPitch, srcPitch, NULL, 
+					(byte *)_hwscreen->pixels + r->x * 2 * _scaleFactor + dst_y * dstPitch, dstPitch, r->w, dst_h);
 			}
 			
 			r->x *= _scaleFactor;
@@ -332,7 +329,6 @@
 }
 
 uint32 OSystem_SDL::property(int param, Property *value) {
-
 	if (param == PROP_TOGGLE_FULLSCREEN) {
 		assert(_hwscreen != 0);
 		_full_screen ^= true;
@@ -358,8 +354,6 @@
 		return 1;
 	}
 
-
-	
 	return OSystem_SDL_Common::property(param, value);
 }
 

Index: sdl_gl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl_gl.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- sdl_gl.cpp	12 Jan 2003 14:18:05 -0000	1.20
+++ sdl_gl.cpp	6 Mar 2003 18:26:50 -0000	1.21
@@ -108,14 +108,14 @@
 	//
 
 	gl_flags =  FB2GL_320 | FB2GL_RGBA | FB2GL_16BIT;
-        if (_full_screen) {
-	  gl_flags |= (FB2GL_FS);
-	  _glScreenStart = 0;
+	if (_full_screen) {
+		gl_flags |= (FB2GL_FS);
+		_glScreenStart = 0;
 	}
 	// 640x480 screen resolution
-	fb2gl.init(640,480,0,_glScreenStart? 15: 70,gl_flags);
+	fb2gl.init(640, 480, 0,_glScreenStart? 15: 70,gl_flags);
 
-	SDL_SetGamma(1.25,1.25,1.25);
+	SDL_SetGamma(1.25, 1.25, 1.25);
 
 	
 	//
@@ -123,9 +123,9 @@
 	//
 
 	// Need some extra bytes around when using 2xSaI
-	uint16 *tmp_screen = (uint16*)calloc(_tmpScreenWidth*(_screenHeight+3),sizeof(uint16));
+	uint16 *tmp_screen = (uint16 *)calloc(_tmpScreenWidth * (_screenHeight + 3),sizeof(uint16));
 	_tmpscreen = SDL_CreateRGBSurfaceFrom(tmp_screen,
-						_tmpScreenWidth, _screenHeight + 3, 16, _tmpScreenWidth*2,
+						_tmpScreenWidth, _screenHeight + 3, 16, _tmpScreenWidth * 2,
 						Rmask,
 						Gmask,
 						Bmask,
@@ -144,16 +144,15 @@
 	tmpBlackRect.y = 0;
 	tmpBlackRect.w = _screenWidth;
 	tmpBlackRect.h = 256-_screenHeight-_glScreenStart;
-	
+
 	if (_tmpscreen == NULL)
 		error("_tmpscreen failed");
-	
+
 	// keyboard cursor control, some other better place for it?
 	km.x_max = _screenWidth * _scaleFactor - 1;
 	km.y_max = _screenHeight * _scaleFactor - 1;
 	km.delay_time = 25;
 	km.last_time = 0;
-
 }
 
 void OSystem_SDL_OpenGL::unload_gfx_mode() {
@@ -163,20 +162,19 @@
 	}
 
 	if (_tmpscreen) {
-		free((uint16*)_tmpscreen->pixels);
+		free((uint16 *)_tmpscreen->pixels);
 		SDL_FreeSurface(_tmpscreen);
 		_tmpscreen = NULL;
 	}
 }
 
 void OSystem_SDL_OpenGL::update_screen() {
-	
 	// If the shake position changed, fill the dirty area with blackness
 	if (_currentShakePos != _newShakePos) {
 		SDL_Rect blackrect = {0, _glScreenStart, _screenWidth, _newShakePos+_glScreenStart};
 		
 		SDL_FillRect(tmpSurface, &blackrect, 0);
-		fb2gl.blit16(tmpSurface,1,&blackrect,0,0);
+		fb2gl.blit16(tmpSurface, 1, &blackrect, 0, 0);
 
 		_currentShakePos = _newShakePos;
 
@@ -227,13 +225,14 @@
 		}
 
 		// Almost the same thing as SDL_UpdateRects
-		fb2gl.blit16(_tmpscreen,_num_dirty_rects,_dirty_rect_list,0,
-		    _currentShakePos+_glScreenStart);
+		fb2gl.blit16(_tmpscreen, _num_dirty_rects, _dirty_rect_list, 0,
+									_currentShakePos+_glScreenStart);
+
+		tmpBlackRect.h = 256 - _screenHeight - _glScreenStart - _currentShakePos;
 
-		tmpBlackRect.h = 256-_screenHeight-_glScreenStart-_currentShakePos;
-		
 		SDL_FillRect(tmpSurface, &tmpBlackRect, 0);
-		fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,_screenHeight+_glScreenStart+_currentShakePos);
+		fb2gl.blit16(tmpSurface, 1, &tmpBlackRect, 0,_screenHeight
+												+ _glScreenStart+_currentShakePos);
 
 		fb2gl.display();
 	}
@@ -243,67 +242,61 @@
 }
 
 uint32 OSystem_SDL_OpenGL::property(int param, Property *value) {
+	int i;
 
 	if (param == PROP_TOGGLE_FULLSCREEN) {
 		_full_screen ^= true;
-	
+
 		SDL_WM_ToggleFullScreen(fb2gl.screen);
 		return 1;
 	}
 	else if (param == PROP_SET_GFX_MODE) {
-		SDL_Rect full = {0,0,_screenWidth,_screenHeight};
+		SDL_Rect full = {0, 0, _screenWidth, _screenHeight};
 		glPopMatrix();
 
 		switch(value->gfx_mode) {
-		  case 0: // Bilinear Filtering (on/off)
-		    _glBilinearFilter ^= true;
-		    for (int i=0; i<2; i++) {
-		      glBindTexture(GL_TEXTURE_2D,i);
-		      if (_glBilinearFilter) {
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-			    GL_LINEAR);
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-			    GL_LINEAR);
-		      }
-		      else {
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-			    GL_NEAREST);
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-			    GL_NEAREST);
-		      }
-		    }
-		    break;
-		  case 1: // Don't fit the whole screen
-		    fb2gl.init(0,0,0,15,gl_flags);
-		    _glScreenStart = 20;
-		    SDL_FillRect(tmpSurface,&tmpBlackRect,0);
-		    fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,0);
-		    break;
-		  case 2: // Fit the whole screen
-		    fb2gl.init(0,0,0,70,gl_flags);
-		    _glScreenStart = 0;
-		    break;
-		  default: // Zooming
-		    glPushMatrix();
-/*		    SDL_FillRect(tmpSurface, &full, 0);
-		    fb2gl.blit16(tmpSurface,1,&full,0,_glScreenStart);
-		    fb2gl.display();
-		    double x = (double)((_mouseCurState.x) 
-			- (_screenWidth/2)) / (_screenWidth/2);
-		    double y = (double)((_mouseCurState.y) 
-			- (_screenHeight/2)) / (_screenHeight/2);
-		    glTranslatef(-x,y,0);
+			case 0: // Bilinear Filtering (on/off)
+				_glBilinearFilter ^= true;
+				for (i = 0; i < 2; i++) {
+					glBindTexture(GL_TEXTURE_2D, i);
+					if (_glBilinearFilter) {
+						glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+						glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+					} else {
+						glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+						glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+					}
+				}
+				break;
+			case 1: // Don't fit the whole screen
+				fb2gl.init(0, 0, 0, 15, gl_flags);
+				_glScreenStart = 20;
+				SDL_FillRect(tmpSurface, &tmpBlackRect, 0);
+				fb2gl.blit16(tmpSurface, 1, &tmpBlackRect, 0, 0);
+				break;
+			case 2: // Fit the whole screen
+				fb2gl.init(0, 0, 0, 70, gl_flags);
+				_glScreenStart = 0;
+				break;
+			default: // Zooming
+				glPushMatrix();
+/*				SDL_FillRect(tmpSurface, &full, 0);
+				fb2gl.blit16(tmpSurface, 1, &full,0, _glScreenStart);
+				fb2gl.display();
+				double x = (double)((_mouseCurState.x) 
+						- (_screenWidth / 2)) / (_screenWidth / 2);
+				double y = (double)((_mouseCurState.y) 
+						- (_screenHeight / 2)) / (_screenHeight / 2);
+				glTranslatef(-x, y, 0);
 */
-		    glScalef(1.0+(double)(value->gfx_mode-1)/10,
-		      1.0+(double)(value->gfx_mode-1)/10,
-		      0);
+				glScalef(1.0 + (double)(value->gfx_mode - 1) / 10,
+						1.0 + (double)(value->gfx_mode - 1) / 10, 0);
 		};
-		fb2gl.blit16(_tmpscreen,1,&full,0,_glScreenStart);
+		fb2gl.blit16(_tmpscreen, 1, &full, 0, _glScreenStart);
 		fb2gl.display();
-		
+
 		return 1;
 	}
-	
-	
+
 	return OSystem_SDL_Common::property(param, value);
 }





More information about the Scummvm-git-logs mailing list