[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.344,2.345

Max Horn fingolfin at users.sourceforge.net
Mon Sep 27 14:04:43 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5004

Modified Files:
	gfx.cpp 
Log Message:
cleanup / comments

Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.344
retrieving revision 2.345
diff -u -d -r2.344 -r2.345
--- gfx.cpp	27 Sep 2004 07:32:48 -0000	2.344
+++ gfx.cpp	27 Sep 2004 20:44:25 -0000	2.345
@@ -232,9 +232,9 @@
 
 	_numStrips = _vm->_screenWidth / 8;
 #ifdef V7_SMOOTH_SCROLLING_HACK
+	// Increase the number of screen strips by one; needed for smooth scrolling
 	if (_vm->_version >= 7) {
-		//if (_vm->_screenWidth < _vm->virtscr[0].w)
-			_numStrips += 1;
+		_numStrips += 1;
 	}
 #endif
 }
@@ -263,6 +263,8 @@
 	vs->pitch = width;
 #ifdef V7_SMOOTH_SCROLLING_HACK
 	if (_version >= 7) {
+		// Increase the pitch by one; needed to accomodate the extra
+		// screen strip which we use to implement smooth scrolling.
 		vs->pitch += 8;
 	}
 #endif
@@ -334,11 +336,7 @@
 #endif
 		if (lp < 0)
 			lp = 0;
-#ifdef V7_SMOOTH_SCROLLING_HACK
 		rp = (right + vs->xstart) / 8;
-#else
-		rp = right / 8 + _screenStartStrip;
-#endif
 		if (_version >= 7) {
 			if (rp > 409)
 				rp = 409;
@@ -2620,16 +2618,8 @@
 		// the current VirtScreen zero.
 
 		free(_scrollBuffer);
-		_scrollBuffer = (byte *) malloc(vs->h * vs->w);
-
-		byte *src = vs->getPixels(0, 0);
-		byte *dst = _scrollBuffer;
-
-		for (int y = 0; y < vs->h; y++) {
-			memcpy(dst, src, vs->w);
-			src += vs->pitch;
-			dst += vs->w;
-		}
+		_scrollBuffer = (byte *) malloc(vs->h * vs->pitch);
+		memcpy(_scrollBuffer, vs->getPixels(0, 0), vs->h * vs->pitch);
 	}
 
 
@@ -2890,7 +2880,7 @@
 				vs->w, y);
 			if (_scrollBuffer)
 				_system->copyRectToScreen(_scrollBuffer + y * vs->w,
-					vs->w,
+					vs->pitch,
 					0, 0,
 					vs->w, vs->h - y);
 			_system->updateScreen();
@@ -2909,7 +2899,7 @@
 				vs->w, y);
 			if (_scrollBuffer)
 				_system->copyRectToScreen(_scrollBuffer,
-					vs->w,
+					vs->pitch,
 					0, y,
 					vs->w, vs->h - y);
 			_system->updateScreen();
@@ -2928,7 +2918,7 @@
 				x, vs->h);
 			if (_scrollBuffer)
 				_system->copyRectToScreen(_scrollBuffer + x,
-					vs->w,
+					vs->pitch,
 					0, 0,
 					vs->w - x, vs->h);
 			_system->updateScreen();
@@ -2947,7 +2937,7 @@
 				x, vs->h);
 			if (_scrollBuffer)
 				_system->copyRectToScreen(_scrollBuffer,
-					vs->w,
+					vs->pitch,
 					x, 0,
 					vs->w - x, vs->h);
 			_system->updateScreen();





More information about the Scummvm-git-logs mailing list