[Scummvm-cvs-logs] SF.net SVN: scummvm:[44324] scummvm/branches/branch-1-0-0/engines/scumm/gfx .cpp

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Fri Sep 25 03:07:57 CEST 2009


Revision: 44324
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44324&view=rev
Author:   lordhoto
Date:     2009-09-25 01:07:57 +0000 (Fri, 25 Sep 2009)

Log Message:
-----------
Backports of r44321 and r44322, which fixed the flower color issue of bug report #2838205 "MONKEY: Palette glitches in Amiga version".

Modified Paths:
--------------
    scummvm/branches/branch-1-0-0/engines/scumm/gfx.cpp

Modified: scummvm/branches/branch-1-0-0/engines/scumm/gfx.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/scumm/gfx.cpp	2009-09-25 01:00:34 UTC (rev 44323)
+++ scummvm/branches/branch-1-0-0/engines/scumm/gfx.cpp	2009-09-25 01:07:57 UTC (rev 44324)
@@ -2720,7 +2720,7 @@
 					run = *src++;
 				}
 				for (z = 0; z < run; z++) {
-					*(dst + y * dstPitch + x) = (z & 1) ? _roomPalette[color & 0xf] + _paletteMod : _roomPalette[color >> 4] + _paletteMod;
+					*(dst + y * dstPitch + x) = (z & 1) ? _roomPalette[(color & 0xf) + _paletteMod] : _roomPalette[(color >> 4) + _paletteMod];
 
 					y++;
 					if (y >= height) {
@@ -2750,7 +2750,7 @@
 			}
 
 			for (z = 0; z < run; z++) {
-				*(dst + y * dstPitch + x) = _roomPalette[color & 0xf] + _paletteMod;
+				*(dst + y * dstPitch + x) = _roomPalette[(color & 0xf) + _paletteMod];
 
 				y++;
 				if (y >= height) {
@@ -2874,7 +2874,7 @@
 		do {
 			FILL_BITS;
 			if (!transpCheck || color != _transparentColor)
-				*dst = _roomPalette[color] + _paletteMod;
+				*dst = _roomPalette[(color + _paletteMod) & 0xFF];
 			dst++;
 
 		againPos:
@@ -2901,7 +2901,7 @@
 								return;
 						}
 						if (!transpCheck || color != _transparentColor)
-							*dst = _roomPalette[color] + _paletteMod;
+							*dst = _roomPalette[(color + _paletteMod) & 0xFF];
 						dst++;
 					} while (--reps);
 					bits >>= 8;
@@ -2926,7 +2926,7 @@
 		do {
 			FILL_BITS;
 			if (!transpCheck || color != _transparentColor)
-				*dst = _roomPalette[color] + _paletteMod;
+				*dst = _roomPalette[(color + _paletteMod) & 0xFF];
 			dst++;
 			if (!READ_BIT) {
 			} else if (!READ_BIT) {
@@ -2959,7 +2959,7 @@
 		do {
 			FILL_BITS;
 			if (!transpCheck || color != _transparentColor)
-				*dst = _roomPalette[color] + _paletteMod;
+				*dst = _roomPalette[(color + _paletteMod) & 0xFF];
 			dst += dstPitch;
 			if (!READ_BIT) {
 			} else if (!READ_BIT) {
@@ -3027,7 +3027,7 @@
 			for (x = 0; x < 8; x ++) {
 				byte color = *src++;
 				if (!transpCheck || color != _transparentColor)
-					dst[x] = _roomPalette[color] + _paletteMod;
+					dst[x] = _roomPalette[(color + _paletteMod) & 0xFF];
 			}
 			dst += dstPitch;
 		} while (--height);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list