[Scummvm-cvs-logs] SF.net SVN: scummvm:[41881] scummvm/trunk/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Thu Jun 25 21:57:06 CEST 2009
Revision: 41881
http://scummvm.svn.sourceforge.net/scummvm/?rev=41881&view=rev
Author: lordhoto
Date: 2009-06-25 19:57:06 +0000 (Thu, 25 Jun 2009)
Log Message:
-----------
Change Screen_v2::generateOverlay to take a const Palette reference instead of a pointer.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/gui_hof.cpp
scummvm/trunk/engines/kyra/kyra_mr.cpp
scummvm/trunk/engines/kyra/lol.cpp
scummvm/trunk/engines/kyra/scene_mr.cpp
scummvm/trunk/engines/kyra/screen_v2.cpp
scummvm/trunk/engines/kyra/screen_v2.h
Modified: scummvm/trunk/engines/kyra/gui_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_hof.cpp 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/gui_hof.cpp 2009-06-25 19:57:06 UTC (rev 41881)
@@ -281,7 +281,7 @@
int frames = movie.opened() ? movie.frames() : 6;
memcpy(_screenBuffer, _screen->getCPagePtr(2), 64000);
uint8 overlay[0x100];
- _screen->generateOverlay(_screen->getPalette(0).getData(), overlay, 0, 50);
+ _screen->generateOverlay(_screen->getPalette(0), overlay, 0, 50);
_screen->hideMouse();
_screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2, Screen::CR_NO_P_CHECK);
_screen->showMouse();
Modified: scummvm/trunk/engines/kyra/kyra_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.cpp 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/kyra_mr.cpp 2009-06-25 19:57:06 UTC (rev 41881)
@@ -628,7 +628,7 @@
musicUpdate(0);
_screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
_paletteOverlay = new uint8[256];
- _screen->generateOverlay(_screen->getPalette(0).getData(), _paletteOverlay, 0xF0, 0x19);
+ _screen->generateOverlay(_screen->getPalette(0), _paletteOverlay, 0xF0, 0x19);
loadInterface();
musicUpdate(0);
Modified: scummvm/trunk/engines/kyra/lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/lol.cpp 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/lol.cpp 2009-06-25 19:57:06 UTC (rev 41881)
@@ -785,8 +785,8 @@
memset(_screen->getPalette(0).getData(), 0x3f, 0x180);
_screen->getPalette(0).copy(tmpPal, 1, 1);
memset(_screen->getPalette(0).getData() + 0x240, 0x3f, 12);
- _screen->generateOverlay(_screen->getPalette(0).getData(), _screen->_paletteOverlay1, 1, 96);
- _screen->generateOverlay(_screen->getPalette(0).getData(), _screen->_paletteOverlay2, 144, 65);
+ _screen->generateOverlay(_screen->getPalette(0), _screen->_paletteOverlay1, 1, 96);
+ _screen->generateOverlay(_screen->getPalette(0), _screen->_paletteOverlay2, 144, 65);
_screen->getPalette(0).copy(tmpPal, 0, 256);
delete[] tmpPal;
Modified: scummvm/trunk/engines/kyra/scene_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_mr.cpp 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/scene_mr.cpp 2009-06-25 19:57:06 UTC (rev 41881)
@@ -342,7 +342,7 @@
palette[1] = 0;
}
- _screen->generateOverlay(_screen->getPalette(2).getData(), _paletteOverlay, 0xF0, 0x19);
+ _screen->generateOverlay(_screen->getPalette(2), _paletteOverlay, 0xF0, 0x19);
_screen->getPalette(2).copy(_costPalBuffer, _characterShapeFile * 24, 24, 144);
}
Modified: scummvm/trunk/engines/kyra/screen_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen_v2.cpp 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/screen_v2.cpp 2009-06-25 19:57:06 UTC (rev 41881)
@@ -38,39 +38,38 @@
delete[] _wsaFrameAnimBuffer;
}
-uint8 *Screen_v2::generateOverlay(const uint8 *palette, uint8 *buffer, int startColor, uint16 factor) {
- if (!palette || !buffer)
+uint8 *Screen_v2::generateOverlay(const Palette &pal, uint8 *buffer, int startColor, uint16 factor) {
+ if (!buffer)
return buffer;
factor = MIN<uint16>(255, factor);
factor >>= 1;
factor &= 0xFF;
- const byte col1 = palette[startColor * 3 + 0];
- const byte col2 = palette[startColor * 3 + 1];
- const byte col3 = palette[startColor * 3 + 2];
+ const byte col1 = pal[startColor * 3 + 0];
+ const byte col2 = pal[startColor * 3 + 1];
+ const byte col3 = pal[startColor * 3 + 2];
uint8 *dst = buffer;
*dst++ = 0;
for (int i = 1; i != 255; ++i) {
uint8 processedPalette[3];
- const uint8 *src = palette + i*3;
byte col;
- col = *src++;
+ col = pal[i * 3 + 0];
col -= ((((col - col1) * factor) << 1) >> 8) & 0xFF;
processedPalette[0] = col;
- col = *src++;
+ col = pal[i * 3 + 1];
col -= ((((col - col2) * factor) << 1) >> 8) & 0xFF;
processedPalette[1] = col;
- col = *src++;
+ col = pal[i * 3 + 2];
col -= ((((col - col3) * factor) << 1) >> 8) & 0xFF;
processedPalette[2] = col;
- *dst++ = findLeastDifferentColor(processedPalette, palette+3, 255)+1;
+ *dst++ = findLeastDifferentColor(processedPalette, pal.getData() + 3, 255) + 1;
}
return buffer;
Modified: scummvm/trunk/engines/kyra/screen_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/screen_v2.h 2009-06-25 19:56:02 UTC (rev 41880)
+++ scummvm/trunk/engines/kyra/screen_v2.h 2009-06-25 19:57:06 UTC (rev 41881)
@@ -40,7 +40,7 @@
void checkedPageUpdate(int srcPage, int dstPage);
// palette handling
- uint8 *generateOverlay(const uint8 *palette, uint8 *buffer, int color, uint16 factor);
+ uint8 *generateOverlay(const Palette &pal, uint8 *buffer, int color, uint16 factor);
void applyOverlay(int x, int y, int w, int h, int pageNum, const uint8 *overlay);
int findLeastDifferentColor(const uint8 *paletteEntry, const uint8 *palette, uint16 numColors, bool skipSpecialColors = false);
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