[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.407,2.408 scumm.cpp,1.373,1.374

Eugene Sandulenko sev at users.sourceforge.net
Sun Mar 20 16:28:30 CET 2005


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

Modified Files:
	gfx.cpp scumm.cpp 
Log Message:
Implement proper scene transition mode for MM NES.


Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.407
retrieving revision 2.408
diff -u -d -r2.407 -r2.408
--- gfx.cpp	16 Mar 2005 03:20:29 -0000	2.407
+++ gfx.cpp	21 Mar 2005 00:27:38 -0000	2.408
@@ -83,7 +83,7 @@
 #ifdef __PALM_OS__
 static const TransitionEffect *transitionEffects;
 #else
-static const TransitionEffect transitionEffects[5] = {
+static const TransitionEffect transitionEffects[6] = {
 	// Iris effect (looks like an opening/closing camera iris)
 	{
 		13,		// Number of iterations
@@ -167,7 +167,25 @@
 			 7, 8,  7, 8,
 			32, 7, 32, 8
 		}
+	},
+
+	// Horizontal wipe (a box expands from left to right side). For MM NES
+	{
+		14,		// Number of iterations
+		{
+			  2,  0,  2,  0,
+			  2,  0,  2,  0,
+			  0,  0,  0,  0,
+			  0,  0,  0,  0
+		},
+		{
+			  0, 0,  0,  15,
+			  1, 0,  1,  15,
+			255, 0,  0,  0,
+			255, 0,  0,  0
+		}
 	}
+	
 };
 #endif
 
@@ -600,8 +618,7 @@
 		srcptr = src + y1 * srcPitch;
 		dstptr = hercbuf + dsty * Common::kHercW + xo * 2;
 
-		if (dstptr >= hercbuf + Common::kHercW * Common::kHercH + widtho * 2)
-			debug("Gnaa");
+		assert(dstptr < hercbuf + Common::kHercW * Common::kHercH + widtho * 2);
 
 		idx1 = (dsty % 7) % 2;
 		for (int x1 = 0; x1 < widtho; x1++) {
@@ -2552,6 +2569,7 @@
 	case 3:
 	case 4:
 	case 5:
+	case 6:
 		// Some of the transition effects won't work properly unless
 		// the screen is marked as clean first. At first I thought I
 		// could safely do this every time fadeIn() was called, but
@@ -2613,6 +2631,7 @@
 		case 3:
 		case 4:
 		case 5:
+		case 6:
 			transitionEffect(effect - 1);
 			break;
 		case 128:

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.373
retrieving revision 1.374
diff -u -d -r1.373 -r1.374
--- scumm.cpp	19 Mar 2005 02:40:42 -0000	1.373
+++ scumm.cpp	21 Mar 2005 00:27:39 -0000	1.374
@@ -1534,10 +1534,14 @@
 
 	initV2MouseOver();
 
-	// Seems in V2 there was only a single room effect (iris),
-	// so we set that here.
-	_switchRoomEffect2 = 1;
-	_switchRoomEffect = 5;
+	if (_features & GF_NES) {
+		_switchRoomEffect2 = _switchRoomEffect = 6;
+	} else {
+		// Seems in V2 there was only a single room effect (iris),
+		// so we set that here.
+		_switchRoomEffect2 = 1;
+		_switchRoomEffect = 5;
+	}
 }
 
 void ScummEngine_v6::scummInit() {





More information about the Scummvm-git-logs mailing list