[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