[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