[Scummvm-cvs-logs] CVS: scummvm/gob video.cpp,1.3,1.4

Joost Peters joostp at users.sourceforge.net
Wed Apr 6 04:59:59 CEST 2005


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

Modified Files:
	video.cpp 
Log Message:
more accurate palette


Index: video.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/video.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- video.cpp	5 Apr 2005 18:08:02 -0000	1.3
+++ video.cpp	6 Apr 2005 11:59:28 -0000	1.4
@@ -331,9 +331,9 @@
 		error("vid_setPalElem: Video mode 0x%x is not supported!",
 		    vidMode);
 
-	pal[0] = red << 2;
-	pal[1] = green << 2;
-	pal[2] = blue << 2;
+	pal[0] = (red << 2) | (red & 3);
+	pal[1] = (green << 2) | (green & 3);
+	pal[2] = (blue << 2) | (blue & 3);
 	pal[3] = 0;
 	g_system->setPalette(pal, index, 1);
 }
@@ -353,9 +353,9 @@
 		numcolors = 16;
 
 	for (i = 0; i < numcolors; i++) {
-		pal[i * 4 + 0] = palDesc->vgaPal[i].red << 2;
-		pal[i * 4 + 1] = palDesc->vgaPal[i].green << 2;
-		pal[i * 4 + 2] = palDesc->vgaPal[i].blue << 2;
+		pal[i * 4 + 0] = (palDesc->vgaPal[i].red << 2) | (palDesc->vgaPal[i].red & 3);
+		pal[i * 4 + 1] = (palDesc->vgaPal[i].green << 2) | (palDesc->vgaPal[i].green & 3);
+		pal[i * 4 + 2] = (palDesc->vgaPal[i].blue << 2) | (palDesc->vgaPal[i].blue & 3);
 		pal[i * 4 + 3] = 0;
 	}
 	
@@ -376,9 +376,9 @@
 		}
 
 		for (i = 0; i < 256; i++) {
-			pal[i * 4 + 0] = colors[i].red << 2;
-			pal[i * 4 + 1] = colors[i].green << 2;
-			pal[i * 4 + 2] = colors[i].blue << 2;
+			pal[i * 4 + 0] = (colors[i].red << 2) | (colors[i].red & 3);
+			pal[i * 4 + 1] = (colors[i].green << 2) | (colors[i].green & 3);
+			pal[i * 4 + 2] = (colors[i].blue << 2) | (colors[i].blue & 3);
 			pal[i * 4 + 3] = 0;
 		}
 		g_system->setPalette(pal, 0, 256);





More information about the Scummvm-git-logs mailing list