[Scummvm-cvs-logs] CVS: scummvm/scumm palette.cpp,2.32,2.33 scumm.cpp,1.438,1.439 scumm.h,1.583,1.584

kirben kirben at users.sourceforge.net
Mon Apr 18 21:13:25 CEST 2005


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

Modified Files:
	palette.cpp scumm.cpp scumm.h 
Log Message:

Add some palette different in HE80+ games.


Index: palette.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/palette.cpp,v
retrieving revision 2.32
retrieving revision 2.33
diff -u -d -r2.32 -r2.33
--- palette.cpp	17 Apr 2005 12:55:41 -0000	2.32
+++ palette.cpp	19 Apr 2005 04:12:47 -0000	2.33
@@ -238,14 +238,29 @@
 		// off there, too... I wonder if it hurts other games, too? What exactly is broken
 		// if we remove this patch?
 		// Since it also causes problems in Zak256, I am turning it off for all V4 games and older.
-		if ((_version <= 4) || (_version >= 7) || (i <= 15 || r < 252 || g < 252 || b < 252)) {
+		if (_version >= 5 || _version <= 6) {
+			if ((_heversion >= 80) && (i == 15 || r < 252 || g < 252 || b < 252)) {
+				*dest++ = r;
+				*dest++ = g;
+				*dest++ = b;
+			} else if (i <= 15 || r < 252 || g < 252 || b < 252) {
+				*dest++ = r;
+				*dest++ = g;
+				*dest++ = b;
+			} else {
+				dest += 3;
+			}
+		} else {
 			*dest++ = r;
 			*dest++ = g;
 			*dest++ = b;
-		} else {
-			dest += 3;
 		}
 	}
+
+	if (_heversion >= 90) {
+		memcpy(_darkenPalette, _currentPalette, 768);
+	}
+
 	setDirtyColors(0, numcolor - 1);
 }
 
@@ -633,7 +648,11 @@
 		const byte *palptr;
 		int color, idx, j;
 
-		palptr = getPalettePtr(_curPalIndex, _roomResource);
+		if (_heversion >= 90) {
+			palptr = _darkenPalette;
+		} else {
+			palptr = getPalettePtr(_curPalIndex, _roomResource);
+		}
 		for (j = startColor; j <= endColor; j++) {
 			idx = (_heversion == 70) ? _HEV7ActorPalette[j] : j;
 			cptr = palptr + idx * 3;

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.438
retrieving revision 1.439
diff -u -d -r1.438 -r1.439
--- scumm.cpp	17 Apr 2005 22:59:43 -0000	1.438
+++ scumm.cpp	19 Apr 2005 04:12:48 -0000	1.439
@@ -857,6 +857,7 @@
 	_shadowPalette = NULL;
 	_shadowPaletteSize = 0;
 	memset(_currentPalette, 0, sizeof(_currentPalette));
+	memset(_darkenPalette, 0, sizeof(_darkenPalette));
 	memset(_HEV7ActorPalette, 0, sizeof(_HEV7ActorPalette));
 	_palDirtyMin = 0;
 	_palDirtyMax = 0;

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.583
retrieving revision 1.584
diff -u -d -r1.583 -r1.584
--- scumm.h	17 Apr 2005 23:19:16 -0000	1.583
+++ scumm.h	19 Apr 2005 04:12:49 -0000	1.584
@@ -1095,6 +1095,7 @@
 protected:
 	int _shadowPaletteSize;
 	byte _currentPalette[3 * 256];
+	byte _darkenPalette[3 * 256];
 
 	int _palDirtyMin, _palDirtyMax;
 





More information about the Scummvm-git-logs mailing list