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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Wed Jun 9 00:01:00 CEST 2010


Revision: 49523
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49523&view=rev
Author:   m_kiewitz
Date:     2010-06-08 22:00:59 +0000 (Tue, 08 Jun 2010)

Log Message:
-----------
SCI: set default palette after initializing music driver, fixes palette getting messed up when using mt32 emulation

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

Modified: scummvm/trunk/engines/sci/graphics/palette.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/palette.cpp	2010-06-08 21:41:33 UTC (rev 49522)
+++ scummvm/trunk/engines/sci/graphics/palette.cpp	2010-06-08 22:00:59 UTC (rev 49523)
@@ -36,7 +36,7 @@
 
 namespace Sci {
 
-GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool autoSetPalette)
+GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen)
 	: _resMan(resMan), _screen(screen) {
 	int16 color;
 
@@ -57,19 +57,21 @@
 	_sysPalette.colors[255].b = 255;
 
 	_sysPaletteChanged = false;
-	if (autoSetPalette) {
-		if (_resMan->getViewType() == kViewEga)
-			setEGA();
-		else if (_resMan->isAmiga32color())
-			setAmiga();
-		else
-			kernelSetFromResource(999, true);
-	}
 }
 
 GfxPalette::~GfxPalette() {
 }
 
+// meant to get called only once during init of engine
+void GfxPalette::setDefault() {
+	if (_resMan->getViewType() == kViewEga)
+		setEGA();
+	else if (_resMan->isAmiga32color())
+		setAmiga();
+	else
+		kernelSetFromResource(999, true);
+}
+
 #define SCI_PAL_FORMAT_CONSTANT 1
 #define SCI_PAL_FORMAT_VARIABLE 0
 

Modified: scummvm/trunk/engines/sci/graphics/palette.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/palette.h	2010-06-08 21:41:33 UTC (rev 49522)
+++ scummvm/trunk/engines/sci/graphics/palette.h	2010-06-08 22:00:59 UTC (rev 49523)
@@ -36,9 +36,10 @@
  */
 class GfxPalette {
 public:
-	GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool autoSetPalette = true);
+	GfxPalette(ResourceManager *resMan, GfxScreen *screen);
 	~GfxPalette();
 
+	void setDefault();
 	void createFromData(byte *data, Palette *paletteOut);
 	bool setAmiga();
 	void modifyAmigaPalette(byte *data);

Modified: scummvm/trunk/engines/sci/sci.cpp
===================================================================
--- scummvm/trunk/engines/sci/sci.cpp	2010-06-08 21:41:33 UTC (rev 49522)
+++ scummvm/trunk/engines/sci/sci.cpp	2010-06-08 22:00:59 UTC (rev 49523)
@@ -254,6 +254,8 @@
 	else
 #endif
 		_gui->init(_features->usesOldGfxFunctions());
+	// Set default (EGA, amiga or resource 999) palette
+	_gfxPalette->setDefault();
 
 	debug("Emulating SCI version %s\n", getSciVersionDesc(getSciVersion()));
 


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