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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Thu Jun 17 18:06:01 CEST 2010


Revision: 49936
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49936&view=rev
Author:   m_kiewitz
Date:     2010-06-17 16:06:01 +0000 (Thu, 17 Jun 2010)

Log Message:
-----------
SCI: implement workaround for laura bow 2 demo, because that interpreter uses the old real palette merging from sci1 - some views contain a palette that has all colors marked as being used, which would overwrite sysPalette with blacks

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/palette.cpp
    scummvm/trunk/engines/sci/graphics/palette.h

Modified: scummvm/trunk/engines/sci/graphics/palette.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/palette.cpp	2010-06-17 15:46:01 UTC (rev 49935)
+++ scummvm/trunk/engines/sci/graphics/palette.cpp	2010-06-17 16:06:01 UTC (rev 49936)
@@ -57,6 +57,15 @@
 	_sysPalette.colors[255].b = 255;
 
 	_sysPaletteChanged = false;
+	_alwaysForceRealMerge = false;
+
+	// Pseudo-WORKAROUND
+	// Laura Bow 2 is an inbetween interpreter, some parts are SCI1.1, some parts are SCI1
+	//  It's not using the SCI1.1 palette merging (copying over all the colors) but the real merging
+	//  If we use the copying over, we will get issues because some views have marked all colors as being used
+	//  and those will overwrite the current palette in that case
+	if (!strcmp(g_sci->getGameID(), "laurabow2") && (g_sci->isDemo()))
+		_alwaysForceRealMerge = true;
 }
 
 GfxPalette::~GfxPalette() {
@@ -211,6 +220,9 @@
 	int i,j;
 	bool paletteChanged = false;
 
+	// for Laura Bow 2 demo
+	forceRealMerge |= _alwaysForceRealMerge;
+
 	if ((!forceRealMerge) && (getSciVersion() >= SCI_VERSION_1_1)) {
 		// SCI1.1+ doesnt do real merging anymore, but simply copying over the used colors from other palettes
 		for (i = 1; i < 255; i++) {

Modified: scummvm/trunk/engines/sci/graphics/palette.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/palette.h	2010-06-17 15:46:01 UTC (rev 49935)
+++ scummvm/trunk/engines/sci/graphics/palette.h	2010-06-17 16:06:01 UTC (rev 49936)
@@ -77,6 +77,7 @@
 	uint32 _palVaryEnd;
 
 	bool _sysPaletteChanged;
+	bool _alwaysForceRealMerge;
 
 	Common::Array<PalSchedule> _schedules;
 };


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