[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