[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,1.80,1.81

Max Horn fingolfin at users.sourceforge.net
Sun Dec 15 14:01:01 CET 2002


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv29636

Modified Files:
	gfx.cpp 
Log Message:
cleanup

Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -d -r1.80 -r1.81
--- gfx.cpp	13 Dec 2002 16:11:23 -0000	1.80
+++ gfx.cpp	15 Dec 2002 21:59:59 -0000	1.81
@@ -158,8 +158,7 @@
 	if (_features & GF_OLD256)
 		updateDirtyScreen(1);
 
-	if ((camera._last.x == camera._cur.x && camera._last.y == camera._cur.y && (_features & GF_AFTER_V7))
-			|| (camera._last.x == camera._cur.x)) {
+	if (camera._last.x == camera._cur.x && (camera._last.y == camera._cur.y || !(_features & GF_AFTER_V7))) {
 		updateDirtyScreen(0);
 	} else {
 		vs = &virtscr[0];
@@ -247,11 +246,8 @@
 	if (height > _vm->_realHeight)
 		height = _vm->_realHeight;
 
-	// FIXME - is this check really necessary?
-	if (_vm->camera._cur.y == 0)
-		scrollY = 0;
-	else
-		scrollY = _vm->_screenTop;
+	assert(_vm->_screenTop >= 0);
+	scrollY = _vm->_screenTop;
 
 	ptr = vs->screenPtr + (t * _numStrips + x) * 8 + _readOffs + scrollY * _vm->_realWidth;
 	_vm->_system->copy_rect(ptr, _vm->_realWidth, x * 8, vs->topline + t, w, height);
@@ -2447,13 +2443,11 @@
 
 		assert(camera._cur.x >= (_realWidth / 2) && camera._cur.y >= (_realHeight / 2));
 
-		_screenLeft = camera._cur.x - (_realWidth / 2);
-		_screenTop = camera._cur.y - (_realHeight / 2);
 	} else {
 
 		if (camera._cur.x < (_realWidth / 2)) {
 			camera._cur.x = (_realWidth / 2);
-		} else if (camera._cur.x + (_realWidth / 2) >= _scrWidth) {
+		} else if (camera._cur.x > _scrWidth - (_realWidth / 2)) {
 			camera._cur.x = _scrWidth - (_realWidth / 2);
 		}
 	}
@@ -2461,6 +2455,17 @@
 	_screenStartStrip = (camera._cur.x - (_realWidth / 2)) >> 3;
 	_screenEndStrip = _screenStartStrip + gdi._numStrips - 1;
 	virtscr[0].xstart = _screenStartStrip << 3;
+
+
+	_screenTop = camera._cur.y - (_realHeight / 2);
+	if (_features & GF_AFTER_V7) {
+
+		_screenLeft = camera._cur.x - (_realWidth / 2);
+	} else {
+
+		_screenLeft = _screenStartStrip << 3;
+	}
+
 }
 
 void Scumm::panCameraTo(int x, int y)





More information about the Scummvm-git-logs mailing list