[Scummvm-cvs-logs] SF.net SVN: scummvm: [28713] scummvm/trunk/engines/lure

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Sat Aug 25 08:06:18 CEST 2007


Revision: 28713
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28713&view=rev
Author:   dreammaster
Date:     2007-08-24 23:06:18 -0700 (Fri, 24 Aug 2007)

Log Message:
-----------
Bugfix to prevent animations nuking the GUI element palette entries

Modified Paths:
--------------
    scummvm/trunk/engines/lure/animseq.cpp
    scummvm/trunk/engines/lure/screen.cpp
    scummvm/trunk/engines/lure/screen.h

Modified: scummvm/trunk/engines/lure/animseq.cpp
===================================================================
--- scummvm/trunk/engines/lure/animseq.cpp	2007-08-25 06:03:24 UTC (rev 28712)
+++ scummvm/trunk/engines/lure/animseq.cpp	2007-08-25 06:06:18 UTC (rev 28713)
@@ -104,14 +104,14 @@
 
 	_lineRefs = d.getEntry(_screenId + 1);
 
-	// Show the screen that preceeds the start of the animation data
-	_screen.setPaletteEmpty();
+	// Reset the palette and set the initial starting screen
+	_screen.setPaletteEmpty(RES_PALETTE_ENTRIES);
 	_screen.screen().data().copyFrom(_decodedData, 0, 0, FULL_SCREEN_HEIGHT * FULL_SCREEN_WIDTH);
 	_screen.update();
 
 	// Set the palette
 	if (fadeIn)	_screen.paletteFadeIn(&_palette);
-	else _screen.setPalette(&_palette);
+	else _screen.setPalette(&_palette, 0, _palette.numEntries());
 
 	// Set up frame poitners
 	_pPixels = _decodedData->data() + SCREEN_SIZE;

Modified: scummvm/trunk/engines/lure/screen.cpp
===================================================================
--- scummvm/trunk/engines/lure/screen.cpp	2007-08-25 06:03:24 UTC (rev 28712)
+++ scummvm/trunk/engines/lure/screen.cpp	2007-08-25 06:06:18 UTC (rev 28713)
@@ -55,11 +55,11 @@
 // setPaletteEmpty
 // Defaults the palette to an empty set
 
-void Screen::setPaletteEmpty() {
+void Screen::setPaletteEmpty(int numEntries) {
 	delete _palette;
 	_palette = new Palette();
 
-	_system.setPalette(_palette->data(), 0, GAME_COLOURS);
+	_system.setPalette(_palette->data(), 0, numEntries);
 	_system.updateScreen();
 }
 
@@ -76,9 +76,8 @@
 // Variation that allows the specification of a subset of a palette passed in to be copied
 
 void Screen::setPalette(Palette *p, uint16 start, uint16 num) {
-	_palette->palette()->copyFrom(p->palette(), start * PALETTE_FADE_INC_SIZE,
-		start * PALETTE_FADE_INC_SIZE, num * PALETTE_FADE_INC_SIZE);
-	_system.setPalette(_palette->data(), 0, GAME_COLOURS);
+	_palette->palette()->copyFrom(p->palette(), start * 4, start * 4, num * 4);
+	_system.setPalette(_palette->data(), start, num);
 	_system.updateScreen();
 }
 
@@ -111,7 +110,7 @@
 		}
 
 		if (changed) {
-			_system.setPalette(_palette->data(), 0, GAME_COLOURS);
+			_system.setPalette(_palette->data(), 0, p->numEntries());
 			_system.updateScreen();
 			_system.delayMillis(20);
 			events.pollEvent();
@@ -143,7 +142,7 @@
 		}
 
 		if (changed) {
-			_system.setPalette(_palette->data(), 0, GAME_COLOURS);
+			_system.setPalette(_palette->data(), 0, numEntries);
 			_system.updateScreen();
 			_system.delayMillis(20);
 			events.pollEvent();

Modified: scummvm/trunk/engines/lure/screen.h
===================================================================
--- scummvm/trunk/engines/lure/screen.h	2007-08-25 06:03:24 UTC (rev 28712)
+++ scummvm/trunk/engines/lure/screen.h	2007-08-25 06:06:18 UTC (rev 28713)
@@ -47,12 +47,12 @@
 	~Screen();
 	static Screen &getReference();
 
-	void setPaletteEmpty();
+	void setPaletteEmpty(int numEntries = RES_PALETTE_ENTRIES);
 	void setPalette(Palette *p);
 	void setPalette(Palette *p, uint16 start, uint16 num);
 	Palette &getPalette() { return *_palette; }
 	void paletteFadeIn(Palette *p);
-	void paletteFadeOut(int numEntries = MAIN_PALETTE_SIZE);
+	void paletteFadeOut(int numEntries = RES_PALETTE_ENTRIES);
 	void resetPalette();
 	void empty();
 	void update();


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