[Scummvm-cvs-logs] SF.net SVN: scummvm:[41742] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Mon Jun 22 04:36:16 CEST 2009


Revision: 41742
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41742&view=rev
Author:   lordhoto
Date:     2009-06-22 02:36:16 +0000 (Mon, 22 Jun 2009)

Log Message:
-----------
Add wrapper functionality for copying full palettes.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_hof.cpp
    scummvm/trunk/engines/kyra/gui_lok.cpp
    scummvm/trunk/engines/kyra/gui_mr.cpp
    scummvm/trunk/engines/kyra/kyra_hof.cpp
    scummvm/trunk/engines/kyra/kyra_mr.cpp
    scummvm/trunk/engines/kyra/scene_hof.cpp
    scummvm/trunk/engines/kyra/scene_lok.cpp
    scummvm/trunk/engines/kyra/scene_mr.cpp
    scummvm/trunk/engines/kyra/screen.cpp
    scummvm/trunk/engines/kyra/screen.h
    scummvm/trunk/engines/kyra/script_hof.cpp
    scummvm/trunk/engines/kyra/script_lok.cpp
    scummvm/trunk/engines/kyra/script_lol.cpp
    scummvm/trunk/engines/kyra/seqplayer.cpp
    scummvm/trunk/engines/kyra/sequences_hof.cpp
    scummvm/trunk/engines/kyra/sequences_lok.cpp
    scummvm/trunk/engines/kyra/sprites.cpp
    scummvm/trunk/engines/kyra/staticres.cpp

Modified: scummvm/trunk/engines/kyra/gui_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_hof.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/gui_hof.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -365,7 +365,7 @@
 		_screen->showMouse();
 	}
 
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 	_screen->fadeToBlack(7, &_updateFunctor);
 	_res->loadFileToBuf("_BOOK.COL", _screen->getPalette(0).getData(), 768);
 	loadBookBkgd();
@@ -393,7 +393,7 @@
 	}
 
 	setHandItem(_itemInHand);
-	_screen->getPalette(0).copy(_screen->getPalette(2));
+	_screen->copyPalette(0, 2);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 7, &_updateFunctor);
 	_screen->showMouse();
 
@@ -800,7 +800,7 @@
 }
 
 void GUI_HoF::setupPalette() {
-	_screen->getPalette(1).copy(_screen->getPalette(0));
+	_screen->copyPalette(1, 0);
 
 	uint8 *palette = _screen->getPalette(0).getData();
 	for (int i = 0; i < 768; ++i)
@@ -818,7 +818,7 @@
 }
 
 void GUI_HoF::restorePalette() {
-	_screen->getPalette(0).copy(_screen->getPalette(1));
+	_screen->copyPalette(0, 1);
 	_screen->setScreenPalette(_screen->getPalette(0).getData());
 }
 

Modified: scummvm/trunk/engines/kyra/gui_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lok.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/gui_lok.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -1024,7 +1024,7 @@
 	static const int16 menuPalIndexes[] = {248, 249, 250, 251, 252, 253, 254, -1};
 	int index = 0;
 
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 
 	for (int i = 0; i < 768; i++)
 		_screen->getPalette(0)[i] >>= 1;
@@ -1041,7 +1041,7 @@
 	if (_vm->gameFlags().platform == Common::kPlatformAmiga)
 		return;
 
-	_screen->getPalette(0).copy(_screen->getPalette(2));
+	_screen->copyPalette(0, 2);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 2);
 }
 

Modified: scummvm/trunk/engines/kyra/gui_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_mr.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/gui_mr.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -674,7 +674,7 @@
 	_screen->copyRegionToBuffer(0, 0, 0, 320, 200, _screenBuffer);
 	_screen->copyRegionToBuffer(4, 0, 0, 320, 200, _album.backUpPage);
 
-	_screen->getPalette(1).copy(_screen->getPalette(0));
+	_screen->copyPalette(1, 0);
 	_screen->fadeToBlack(9);
 
 	int itemInHand = _itemInHand;
@@ -707,7 +707,7 @@
 	_screen->copyBlockToPage(0, 0, 0, 320, 200, _screenBuffer);
 	_screen->copyBlockToPage(4, 0, 0, 320, 200, _album.backUpPage);
 
-	_screen->getPalette(0).copy(_screen->getPalette(1));
+	_screen->copyPalette(0, 1);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 9);
 
 	delete[] _album.backUpRect;

Modified: scummvm/trunk/engines/kyra/kyra_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/kyra_hof.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -1656,7 +1656,7 @@
 #pragma mark -
 
 void KyraEngine_HoF::setCauldronState(uint8 state, bool paletteFade) {
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 	Common::SeekableReadStream *file = _res->createReadStream("_POTIONS.PAL");
 	if (!file)
 		error("Couldn't load cauldron palette");

Modified: scummvm/trunk/engines/kyra/kyra_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/kyra_mr.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -378,7 +378,7 @@
 		}
 
 		_screen->hideMouse();
-		_screen->getPalette(1).copy(_screen->getPalette(0));
+		_screen->copyPalette(1, 0);
 		fadeOutMusic(60);
 		_screen->fadeToBlack(60);
 		_screen->clearPage(0);
@@ -395,7 +395,7 @@
 		memset(pal, 1, sizeof(pal));
 		_screen->setScreenPalette(pal);
 		_screen->clearPage(0);
-		_screen->getPalette(0).copy(_screen->getPalette(1));
+		_screen->copyPalette(0, 1);
 		_wasPlayingVQA = true;
 	}
 }

Modified: scummvm/trunk/engines/kyra/scene_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_hof.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/scene_hof.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -396,7 +396,7 @@
 
 void KyraEngine_HoF::loadScenePal() {
 	uint16 sceneId = _mainCharacter.sceneId;
-	_screen->getPalette(1).copy(_screen->getPalette(0));
+	_screen->copyPalette(1, 0);
 
 	char filename[14];
 	strcpy(filename, _sceneList[sceneId].filename1);

Modified: scummvm/trunk/engines/kyra/scene_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_lok.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/scene_lok.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -785,7 +785,7 @@
 				_screen->getPalette(0).copy(_screen->getPalette(4), 12, 1);
 
 			if (_currentCharacter->sceneId >= 229 && _currentCharacter->sceneId <= 245 && (_brandonStatusBit & 1))
-				_screen->getPalette(0).copy(_screen->getPalette(10));
+				_screen->copyPalette(0, 10);
 
 			_screen->setScreenPalette(_screen->getPalette(0).getData());
 		}

Modified: scummvm/trunk/engines/kyra/scene_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_mr.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/scene_mr.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -328,7 +328,7 @@
 
 void KyraEngine_MR::loadScenePal() {
 	char filename[16];
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 	strcpy(filename, _sceneList[_mainCharacter.sceneId].filename1);
 	strcat(filename, ".COL");
 

Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/screen.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -2666,6 +2666,10 @@
 	return *_palettes[num];
 }
 
+void Screen::copyPalette(const int dst, const int src) {
+	getPalette(dst).copy(getPalette(src));
+}
+
 byte Screen::getShapeFlag1(int x, int y) {
 	uint8 color = _shapePages[0][y * SCREEN_W + x];
 	color &= 0x80;

Modified: scummvm/trunk/engines/kyra/screen.h
===================================================================
--- scummvm/trunk/engines/kyra/screen.h	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/screen.h	2009-06-22 02:36:16 UTC (rev 41742)
@@ -233,6 +233,7 @@
 
 	void getRealPalette(int num, uint8 *dst);
 	Palette &getPalette(int num);
+	void copyPalette(const int dst, const int src);
 
 	// gui specific (processing on _curPage)
 	enum ShadeType {

Modified: scummvm/trunk/engines/kyra/script_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_hof.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/script_hof.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -146,7 +146,7 @@
 	const char *palfile = stackPosString(1);
 
 	_screen->loadBitmap(cpsfile, 3, 3, 0);
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 	_screen->loadPalette(palfile, _screen->getPalette(2).getData());
 	_screen->fillRect(0, 0, 319, 199, 207);
 	_screen->setScreenPalette(_screen->getPalette(2).getData());
@@ -559,7 +559,7 @@
 
 int KyraEngine_HoF::o2_loadPalette384(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_loadPalette384(%p) ('%s')", (const void *)script, stackPosString(0));
-	_screen->getPalette(1).copy(_screen->getPalette(0));
+	_screen->copyPalette(1, 0);
 	_res->loadFileToBuf(stackPosString(0), _screen->getPalette(1).getData(), 384);
 	return 0;
 }
@@ -774,7 +774,7 @@
 	displayInvWsaLastFrame();
 	backUpPage0();
 
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 
 	_screen->clearPage(3);
 	_screen->loadBitmap("_NOTE.CPS", 3, 3, 0);
@@ -819,7 +819,7 @@
 	_screen->hideMouse();
 	_screen->fadeToBlack(0x14);
 	restorePage0();
-	_screen->getPalette(0).copy(_screen->getPalette(2));
+	_screen->copyPalette(0, 2);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 0x14);
 	setHandItem(_itemInHand);
 	_screen->showMouse();
@@ -1125,13 +1125,13 @@
 
 int KyraEngine_HoF::o2_mushroomEffect(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_mushroomEffect(%p)", (const void *)script);
-	_screen->getPalette(2).copy(_screen->getPalette(0));
+	_screen->copyPalette(2, 0);
 
 	for (int i = 1; i < 768; i += 3)
 		_screen->getPalette(0)[i] = 0;
 	snd_playSoundEffect(106);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 90, &_updateFunctor);
-	_screen->getPalette(0).copy(_screen->getPalette(2));
+	_screen->copyPalette(0, 2);
 
 	for (int i = 0; i < 768; i += 3) {
 		_screen->getPalette(0)[i] = _screen->getPalette(0)[i + 1] = 0;
@@ -1142,7 +1142,7 @@
 	snd_playSoundEffect(106);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 90, &_updateFunctor);
 
-	_screen->getPalette(0).copy(_screen->getPalette(2));
+	_screen->copyPalette(0, 2);
 	_screen->fadePalette(_screen->getPalette(0).getData(), 30, &_updateFunctor);
 
 	return 0;

Modified: scummvm/trunk/engines/kyra/script_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lok.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/script_lok.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -232,7 +232,7 @@
 		if (_currentCharacter->sceneId != 45) {
 			if (stackPos(0) == 13) {
 				// TODO: Check this!
-				_screen->getPalette(0).copy(_screen->getPalette(12));
+				_screen->copyPalette(0, 12);
 				_screen->setScreenPalette(_screen->getPalette(0).getData());
 			}
 		} else {
@@ -1509,10 +1509,10 @@
 		if (cmd == 0) {
 			_screen->getPalette(2).clear();
 			fadePal = _screen->getPalette(2).getData();
-			_screen->getPalette(4).copy(_screen->getPalette(0));
+			_screen->copyPalette(4, 0);
 		} else if (cmd == 1) {
 			fadePal = _screen->getPalette(0).getData();
-			_screen->getPalette(0).copy(_screen->getPalette(4));
+			_screen->copyPalette(0, 4);
 		} else if (cmd == 2) {
 			fadePal = _screen->getPalette(0).getData();
 			_screen->getPalette(2).clear();
@@ -1521,14 +1521,14 @@
 		if (cmd == 0) {
 			_screen->getPalette(2).clear();
 			fadePal = _screen->getPalette(2).getData();
-			_screen->getPalette(3).copy(_screen->getPalette(0));
+			_screen->copyPalette(3, 0);
 		} else if (cmd == 1) {
 			//fadePal = _screen->getPalette(3);
 			warning("unimplemented o1_fadeEntirePalette function");
 			return 0;
 		} else if (cmd == 2) {
 			_screen->getPalette(2).clear();
-			_screen->getPalette(0).copy(_screen->getPalette(1));
+			_screen->copyPalette(0, 1);
 			fadePal = _screen->getPalette(0).getData();
 		}
 	}

Modified: scummvm/trunk/engines/kyra/script_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lol.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/script_lol.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -2303,7 +2303,7 @@
 
 int LoLEngine::tlol_setupPaletteFadeEx(const TIM *tim, const uint16 *param) {
 	debugC(3, kDebugLevelScriptFuncs, "LoLEngine::tlol_setupPaletteFadeEx(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
-	_screen->getPalette(0).copy(_screen->getPalette(1));
+	_screen->copyPalette(0, 1);
 
 	_screen->getFadeParams(_screen->getPalette(0).getData(), param[0], _tim->_palDelayInc, _tim->_palDiff);
 	_tim->_palDelayAcc = 0;

Modified: scummvm/trunk/engines/kyra/seqplayer.cpp
===================================================================
--- scummvm/trunk/engines/kyra/seqplayer.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/seqplayer.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -241,11 +241,11 @@
 
 	if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
 		if (!colNum)
-			_screen->getPalette(0).copy(_screen->getPalette(6));
+			_screen->copyPalette(0, 6);
 		else if (colNum == 3)
-			_screen->getPalette(0).copy(_screen->getPalette(7));
+			_screen->copyPalette(0, 7);
 		else if (colNum == 4)
-			_screen->getPalette(0).copy(_screen->getPalette(3));
+			_screen->copyPalette(0, 3);
 
 		_screen->setScreenPalette(_screen->getPalette(0).getData());
 	} else {

Modified: scummvm/trunk/engines/kyra/sequences_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_hof.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/sequences_hof.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -77,7 +77,7 @@
 	for (int seqNum = startSeq; seqNum <= endSeq && !((skipFlag() && allowSkip) || shouldQuit() || (_abortIntroFlag && allowSkip) || _menuChoice); seqNum++) {
 		_screen->clearPage(0);
 		_screen->clearPage(8);
-		_screen->getPalette(1).copy(_screen->getPalette(0));
+		_screen->copyPalette(1, 0);
 		_seqFrameCounter = 0;
 		_seqStartTime = _system->getMillis();
 
@@ -2069,13 +2069,13 @@
 	case 3:
 		_screen->copyPage(2, 0);
 		_screen->fadePalette(_screen->getPalette(0).getData(), 16);
-		_screen->getPalette(1).copy(_screen->getPalette(0));
+		_screen->copyPalette(1, 0);
 		break;
 
 	case 4:
 		_screen->copyPage(2, 0);
 		_screen->fadePalette(_screen->getPalette(0).getData(), 36);
-		_screen->getPalette(1).copy(_screen->getPalette(0));
+		_screen->copyPalette(1, 0);
 		break;
 
 	case 5:

Modified: scummvm/trunk/engines/kyra/sequences_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_lok.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/sequences_lok.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -166,7 +166,7 @@
 	delay(60 * _tickLength);
 
 	if (_flags.platform == Common::kPlatformAmiga) {
-		_screen->getPalette(0).copy(_screen->getPalette(1));
+		_screen->copyPalette(0, 1);
 		_screen->setScreenPalette(_screen->getPalette(0).getData());
 	}
 
@@ -181,7 +181,7 @@
 		return;
 
 	if (_flags.platform == Common::kPlatformAmiga) {
-		_screen->getPalette(0).copy(_screen->getPalette(2));
+		_screen->copyPalette(0, 2);
 		_screen->fadeToBlack();
 		_screen->copyRegion(0, 0, 0, 0, 320, 200, 4, 0);
 		_screen->fadeFromBlack();

Modified: scummvm/trunk/engines/kyra/sprites.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/sprites.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -420,14 +420,14 @@
 
 	if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
 		if (_vm->queryGameFlag(0xA0))
-			_screen->getPalette(3).copy(_screen->getPalette(4));
+			_screen->copyPalette(3, 4);
 		else
-			_screen->getPalette(3).copy(_screen->getPalette(0));
+			_screen->copyPalette(3, 0);
 	} else {
 		if (_vm->queryGameFlag(0xA0))
-			_screen->getPalette(1).copy(_screen->getPalette(3));
+			_screen->copyPalette(1, 3);
 		else
-			_screen->getPalette(1).copy(_screen->getPalette(0));
+			_screen->copyPalette(1, 0);
 
 		_screen->loadPalette(_dat + 0x17, _screen->getPalette(1).getData() + 684, 60);
 	}

Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp	2009-06-22 02:35:45 UTC (rev 41741)
+++ scummvm/trunk/engines/kyra/staticres.cpp	2009-06-22 02:36:16 UTC (rev 41742)
@@ -1599,7 +1599,7 @@
 		warning("no main graphics file found");
 
 	if (_flags.platform == Common::kPlatformAmiga)
-		_screen->getPalette(1).copy(_screen->getPalette(0));
+		_screen->copyPalette(1, 0);
 
 	_screen->copyRegion(0, 0, 0, 0, 320, 200, page, 0);
 }


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