[Scummvm-cvs-logs] SF.net SVN: scummvm:[38914] scummvm/trunk/engines/sci/gfx/gfx_tools.cpp

wjpalenstijn at users.sourceforge.net wjpalenstijn at users.sourceforge.net
Thu Feb 26 21:08:07 CET 2009


Revision: 38914
          http://scummvm.svn.sourceforge.net/scummvm/?rev=38914&view=rev
Author:   wjpalenstijn
Date:     2009-02-26 20:08:04 +0000 (Thu, 26 Feb 2009)

Log Message:
-----------
fix graphics regression in Iceman caused by r38909

Modified Paths:
--------------
    scummvm/trunk/engines/sci/gfx/gfx_tools.cpp

Modified: scummvm/trunk/engines/sci/gfx/gfx_tools.cpp
===================================================================
--- scummvm/trunk/engines/sci/gfx/gfx_tools.cpp	2009-02-26 19:32:22 UTC (rev 38913)
+++ scummvm/trunk/engines/sci/gfx/gfx_tools.cpp	2009-02-26 20:08:04 UTC (rev 38914)
@@ -56,14 +56,21 @@
 	// And those are pretty weird, so I am not sure I interpreted them correctly.
 	// They also seem somewhat inefficient and and should probably just be
 	// replaced resp. rewritten from scratch.
-	mode->red_mask = format.ARGBToColor(0, 0xFF, 0, 0);
-	mode->green_mask = format.ARGBToColor(0, 0, 0xFF, 0);
-	mode->blue_mask = format.ARGBToColor(0, 0, 0, 0xFF);
-	mode->alpha_mask = format.ARGBToColor(0xFF, 0, 0, 0);
-	mode->red_shift = format.rLoss;
-	mode->green_shift = format.gLoss;
-	mode->blue_shift = format.bLoss;
-	mode->alpha_shift = format.aLoss;
+	if (format.bytesPerPixel > 1) {
+		mode->red_mask = format.ARGBToColor(0, 0xFF, 0, 0);
+		mode->green_mask = format.ARGBToColor(0, 0, 0xFF, 0);
+		mode->blue_mask = format.ARGBToColor(0, 0, 0, 0xFF);
+		mode->alpha_mask = format.ARGBToColor(0xFF, 0, 0, 0);
+		mode->red_shift = format.rLoss;
+		mode->green_shift = format.gLoss;
+		mode->blue_shift = format.bLoss;
+		mode->alpha_shift = format.aLoss;
+	} else {
+		mode->red_mask = mode->green_mask = mode->blue_mask = 0;
+		mode->alpha_mask = 0;
+		mode->red_shift = mode->green_shift = mode->blue_shift = 0;
+		mode->alpha_shift = 0;
+	}
 	mode->flags = flags;
 
 	if (palette) {


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