[Scummvm-cvs-logs] CVS: scummvm/backends/sdl sdl_gl.cpp,1.10,1.11

Travis Howell kirben at users.sourceforge.net
Fri Oct 25 10:36:14 CEST 2002


Update of /cvsroot/scummvm/scummvm/backends/sdl
In directory usw-pr-cvs1:/tmp/cvs-serv16823/backends/sdl

Modified Files:
	sdl_gl.cpp 
Log Message:

Add more OpenGL updates, patch #628356 


Index: sdl_gl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl_gl.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- sdl_gl.cpp	24 Oct 2002 11:01:19 -0000	1.10
+++ sdl_gl.cpp	25 Oct 2002 03:13:56 -0000	1.11
@@ -55,6 +55,8 @@
 
 protected:
 	FB2GL fb2gl;
+	SDL_Surface *glEnd; // Black rectangle at end of the GL screen
+	SDL_Rect blackrect2; // Needed for blitting the above surface
 	typedef void ScalerProc(uint8 *srcPtr, uint32 srcPitch, uint8 *deltaPtr,
 								uint8 *dstPtr, uint32 dstPitch, int width, int height);
 
@@ -255,6 +257,19 @@
 						fb2gl.screen->format->Bmask,
 						fb2gl.screen->format->Amask);
 
+	glEnd = SDL_CreateRGBSurface(SDL_SWSURFACE, _screenWidth, 
+						// 320x256 texture (black end)
+						256-_screenHeight-_screenStart,
+						16,
+						fb2gl.screen->format->Rmask,
+						fb2gl.screen->format->Gmask,
+						fb2gl.screen->format->Bmask,
+						fb2gl.screen->format->Amask);
+
+	blackrect2.x = 0;
+	blackrect2.y = 0;
+	blackrect2.w = _screenWidth;
+	blackrect2.h = 256-_screenHeight-_screenStart;
 	
 	if (sdl_tmpscreen == NULL)
 		error("sdl_tmpscreen failed");
@@ -286,7 +301,6 @@
 }
 
 void OSystem_SDL_Normal::update_screen() {
-	SDL_Rect blackrect2 = {0, _screenStart, _screenWidth, 15};
 	
 	// If the shake position changed, fill the dirty area with blackness
 	if (_currentShakePos != _newShakePos) {
@@ -347,9 +361,9 @@
 		fb2gl.blit16(sdl_tmpscreen,_num_dirty_rects,_dirty_rect_list,0,
 		    _currentShakePos+_screenStart);
 
-
-		SDL_FillRect(sdl_tmpscreen, &blackrect2, 0);
-		fb2gl.blit16(sdl_tmpscreen,1,&blackrect2,0,_screenHeight);
+		
+		SDL_FillRect(glEnd, &blackrect2, 0);
+		fb2gl.blit16(glEnd,1,&blackrect2,0,_screenHeight+_screenStart);
 
 		fb2gl.display();
 	}





More information about the Scummvm-git-logs mailing list