[Scummvm-cvs-logs] SF.net SVN: scummvm:[44742] scummvm/trunk/engines/sci/gui

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Wed Oct 7 20:00:49 CEST 2009


Revision: 44742
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44742&view=rev
Author:   m_kiewitz
Date:     2009-10-07 18:00:49 +0000 (Wed, 07 Oct 2009)

Log Message:
-----------
SCI/newgui: undithering of picture now possible (just follow instructions in gui_screen.cpp)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/gui/gui_palette.cpp
    scummvm/trunk/engines/sci/gui/gui_screen.cpp

Modified: scummvm/trunk/engines/sci/gui/gui_palette.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_palette.cpp	2009-10-07 17:46:17 UTC (rev 44741)
+++ scummvm/trunk/engines/sci/gui/gui_palette.cpp	2009-10-07 18:00:49 UTC (rev 44742)
@@ -144,6 +144,7 @@
 
 void SciGuiPalette::setEGA() {
 	int i;
+	byte color1, color2;
 	_sysPalette.colors[1].r  = 0x000; _sysPalette.colors[1].g  = 0x000; _sysPalette.colors[1].b  = 0x0AA;
 	_sysPalette.colors[2].r  = 0x000; _sysPalette.colors[2].g  = 0x0AA; _sysPalette.colors[2].b  = 0x000;
 	_sysPalette.colors[3].r  = 0x000; _sysPalette.colors[3].g  = 0x0AA; _sysPalette.colors[3].b  = 0x0AA;
@@ -162,9 +163,14 @@
 	for (i = 0; i <= 15; i++) {
 		_sysPalette.colors[i].used = 1;
 	}
+	// Now setting colors 16-254 to the correct mix colors that occur when not doing a dithering run on
+	//  finished pictures
 	for (i = 16; i <= 254; i++) {
-		_sysPalette.colors[i].r = 200;
 		_sysPalette.colors[i].used = 1;
+		color1 = i & 0x0F; color2 = i >> 4;
+		_sysPalette.colors[i].r = (_sysPalette.colors[color1].r >> 1) + (_sysPalette.colors[color2].r >> 1);
+		_sysPalette.colors[i].g = (_sysPalette.colors[color1].g >> 1) + (_sysPalette.colors[color2].g >> 1);
+		_sysPalette.colors[i].b = (_sysPalette.colors[color1].b >> 1) + (_sysPalette.colors[color2].b >> 1);
 	}
 	setOnScreen();
 }

Modified: scummvm/trunk/engines/sci/gui/gui_screen.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_screen.cpp	2009-10-07 17:46:17 UTC (rev 44741)
+++ scummvm/trunk/engines/sci/gui/gui_screen.cpp	2009-10-07 18:00:49 UTC (rev 44742)
@@ -232,8 +232,12 @@
 			color = *screenPtr;
 			if (color & 0xF0) {
 				color ^= color << 4;
+//              remove remark to enable undithering
+//				*displayPtr = color;
+				// do the actual dithering
 				color = ((x^y) & 1) ? color >> 4 : color & 0x0F;
-				*screenPtr = color; *displayPtr = color;
+				*screenPtr = color;
+				*displayPtr = color; // put remark here to enable unditherung
 			}
 			screenPtr++; displayPtr++;
 		}


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