diff options
| -rw-r--r-- | engines/kyra/kyra_mr.cpp | 2 | ||||
| -rw-r--r-- | engines/kyra/lol.cpp | 6 | ||||
| -rw-r--r-- | engines/kyra/scene_lok.cpp | 2 | ||||
| -rw-r--r-- | engines/kyra/screen.cpp | 7 | ||||
| -rw-r--r-- | engines/kyra/screen.h | 2 | ||||
| -rw-r--r-- | engines/kyra/script_lol.cpp | 6 | ||||
| -rw-r--r-- | engines/kyra/script_tim.cpp | 8 | ||||
| -rw-r--r-- | engines/kyra/seqplayer.cpp | 4 | ||||
| -rw-r--r-- | engines/kyra/sequences_hof.cpp | 8 | ||||
| -rw-r--r-- | engines/kyra/sequences_lok.cpp | 32 | ||||
| -rw-r--r-- | engines/kyra/sequences_lol.cpp | 20 | ||||
| -rw-r--r-- | engines/kyra/staticres.cpp | 2 | ||||
| -rw-r--r-- | engines/kyra/wsamovie.cpp | 12 | ||||
| -rw-r--r-- | engines/kyra/wsamovie.h | 10 | 
14 files changed, 61 insertions, 60 deletions
| diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp index e0c14b4853..f5f6ea4c38 100644 --- a/engines/kyra/kyra_mr.cpp +++ b/engines/kyra/kyra_mr.cpp @@ -328,7 +328,7 @@ Common::Error KyraEngine_MR::go() {  void KyraEngine_MR::initMainMenu() {  	_menuAnim = new WSAMovie_v2(this); -	_menuAnim->open("REVENGE.WSA", 1, _screen->getPalette(0).getData()); +	_menuAnim->open("REVENGE.WSA", 1, &_screen->getPalette(0));  	memset(_screen->getPalette(0).getData(), 0, 3);  	_menu = new MainMenu(this); diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 66668ce08e..216fad9122 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -778,7 +778,7 @@ int LoLEngine::mainMenu() {  void LoLEngine::startup() {  	_screen->clearPage(0); -	_screen->loadBitmap("PLAYFLD.CPS", 3, 3, _screen->getPalette(0).getData()); +	_screen->loadBitmap("PLAYFLD.CPS", 3, 3, &_screen->getPalette(0));  	uint8 *tmpPal = new uint8[0x300];  	memcpy(tmpPal, _screen->getPalette(0).getData(), 0x300); @@ -3842,7 +3842,7 @@ void LoLEngine::displayAutomap() {  	uint8 *tmpWll = new uint8[80];  	memcpy(tmpWll, _wllBuffer4, 80); -	_screen->loadBitmap("parch.cps", 2, 2, _screen->getPalette(3).getData()); +	_screen->loadBitmap("parch.cps", 2, 2, &_screen->getPalette(3));  	_screen->loadBitmap("autobut.shp", 3, 5, 0);  	const uint8 *shp = _screen->getCPagePtr(5); @@ -4010,7 +4010,7 @@ void LoLEngine::loadMapLegendData(int level) {  void LoLEngine::drawMapPage(int pageNum) {  	for (int i = 0; i < 2; i++) { -		_screen->loadBitmap("parch.cps", pageNum, pageNum, _screen->getPalette(3).getData()); +		_screen->loadBitmap("parch.cps", pageNum, pageNum, &_screen->getPalette(3));  		int cp = _screen->setCurPage(pageNum);  		Screen::FontId of = _screen->setFont(Screen::FID_9_FNT); diff --git a/engines/kyra/scene_lok.cpp b/engines/kyra/scene_lok.cpp index ce8fac3362..fc1ca41189 100644 --- a/engines/kyra/scene_lok.cpp +++ b/engines/kyra/scene_lok.cpp @@ -406,7 +406,7 @@ void KyraEngine_LoK::startSceneScript(int brandonAlive) {  	_screen->clearPage(3);  	_res->exists(fileNameBuffer, true);  	// FIXME: check this hack for amiga version -	_screen->loadBitmap(fileNameBuffer, 3, 3, (_flags.platform == Common::kPlatformAmiga ? _screen->getPalette(0).getData() : 0)); +	_screen->loadBitmap(fileNameBuffer, 3, 3, (_flags.platform == Common::kPlatformAmiga ? &_screen->getPalette(0) : 0));  	_sprites->loadSceneShapes();  	_exitListPtr = 0; diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp index 8cf48c5ae4..e12ff98d70 100644 --- a/engines/kyra/screen.cpp +++ b/engines/kyra/screen.cpp @@ -2767,7 +2767,7 @@ void Screen::shakeScreen(int times) {  	}  } -void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData, bool skip) { +void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip) {  	uint32 fileSize;  	uint8 *srcData = _vm->resource()->fileData(filename, &fileSize); @@ -2784,9 +2784,8 @@ void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *  	uint32 imgSize = scumm_stricmp(ext, "CMP") ? READ_LE_UINT32(srcData + 4) : READ_LE_UINT16(srcData);  	uint16 palSize = READ_LE_UINT16(srcData + 8); -	if (palData && palSize) { -		loadPalette(srcData + 10, palData, palSize); -	} +	if (pal && palSize) +		loadPalette(srcData + 10, pal->getData(), palSize);  	uint8 *srcPtr = srcData + 10 + palSize;  	uint8 *dstData = getPagePtr(dstPage); diff --git a/engines/kyra/screen.h b/engines/kyra/screen.h index 706f54a9d2..78725dc5f1 100644 --- a/engines/kyra/screen.h +++ b/engines/kyra/screen.h @@ -284,7 +284,7 @@ public:  	void rectClip(int &x, int &y, int w, int h);  	// misc -	void loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData, bool skip=false); +	void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip=false);  	bool loadPalette(const char *filename, uint8 *palData);  	void loadPalette(const byte *data, uint8 *palData, int bytes); diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp index c97e452a88..2f26c14d43 100644 --- a/engines/kyra/script_lol.cpp +++ b/engines/kyra/script_lol.cpp @@ -609,7 +609,7 @@ int LoLEngine::olol_fadePalette(EMCState *script) {  int LoLEngine::olol_loadBitmap(EMCState *script) {  	debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_clearDialogueField(%p) (%s, %d)", (const void *)script, stackPosString(0), stackPos(1)); -	_screen->loadBitmap(stackPosString(0), 3, 3, _screen->getPalette(3).getData()); +	_screen->loadBitmap(stackPosString(0), 3, 3, &_screen->getPalette(3));  	if (stackPos(1) != 2)  		_screen->copyPage(3, stackPos(1));  	return 1; @@ -2525,7 +2525,7 @@ int LoLEngine::tlol_fadeInScene(const TIM *tim, const uint16 *param) {  	strcpy(filename, sceneFile);  	strcat(filename, ".CPS"); -	_screen->loadBitmap(filename, 7, 5, _screen->getPalette(0).getData()); +	_screen->loadBitmap(filename, 7, 5, &_screen->getPalette(0));  	filename[0] = 0; @@ -2563,7 +2563,7 @@ int LoLEngine::tlol_fadeInPalette(const TIM *tim, const uint16 *param) {  	const char *bitmap = (const char *)(tim->text + READ_LE_UINT16(tim->text + (param[0]<<1)));  	Palette pal(_screen->getPalette(0).getNumColors()); -	_screen->loadBitmap(bitmap, 3, 3, pal.getData()); +	_screen->loadBitmap(bitmap, 3, 3, &pal);  	_screen->fadePalette(pal, param[1]);  	return 1; diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp index abd09a51ac..5c74eae25b 100644 --- a/engines/kyra/script_tim.cpp +++ b/engines/kyra/script_tim.cpp @@ -478,7 +478,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char  			anim->wsa = new WSAMovie_v2(_vm);  		assert(anim->wsa); -		anim->wsa->open(file, wsaOpenFlags, (index == 1) ? _screen->getPalette(0).getData() : 0); +		anim->wsa->open(file, wsaOpenFlags, (index == 1) ? &_screen->getPalette(0) : 0);  	}  	if (anim->wsa && anim->wsa->opened()) { @@ -515,7 +515,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char  			snprintf(file, 32, "%s.CPS", filename);  			if (_vm->resource()->exists(file)) { -				_screen->loadBitmap(file, 3, 3, _screen->getPalette(0).getData()); +				_screen->loadBitmap(file, 3, 3, &_screen->getPalette(0));  				_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, _drawPage2, Screen::CR_NO_P_CHECK);  				if (_drawPage2)  					_screen->checkedPageUpdate(8, 4); @@ -539,7 +539,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char  		snprintf(file, 32, "%s.CPS", filename);  		if (_vm->resource()->exists(file)) { -			_screen->loadBitmap(file, 3, 3, _screen->getPalette(0).getData()); +			_screen->loadBitmap(file, 3, 3, &_screen->getPalette(0));  			_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, _drawPage2, Screen::CR_NO_P_CHECK);  			if (_drawPage2)  				_screen->checkedPageUpdate(8, 4); @@ -947,7 +947,7 @@ TIMInterpreter::Animation *TIMInterpreter_LoL::initAnimStruct(int index, const c  	if (_vm->resource()->exists(file)) {  		anim->wsa = new WSAMovie_v2(_vm);  		assert(anim->wsa); -		anim->wsa->open(file, wsaOpenFlags, _screen->getPalette(3).getData()); +		anim->wsa->open(file, wsaOpenFlags, &_screen->getPalette(3));  	}  	if (wsaFlags & 1) { diff --git a/engines/kyra/seqplayer.cpp b/engines/kyra/seqplayer.cpp index bde0cae303..a027444630 100644 --- a/engines/kyra/seqplayer.cpp +++ b/engines/kyra/seqplayer.cpp @@ -92,7 +92,7 @@ uint8 *SeqPlayer::setPanPages(int pageNum, int shape) {  }  void SeqPlayer::makeHandShapes() { -	_screen->loadBitmap("WRITING.CPS", 3, 3, _screen->getPalette(0).getData()); +	_screen->loadBitmap("WRITING.CPS", 3, 3, &_screen->getPalette(0));  	if (_vm->gameFlags().platform == Common::kPlatformMacintosh || _vm->gameFlags().platform == Common::kPlatformAmiga) {  		freeHandShapes(); @@ -259,7 +259,7 @@ void SeqPlayer::s1_loadPalette() {  void SeqPlayer::s1_loadBitmap() {  	uint8 cpsNum = *_seqData++; -	_screen->loadBitmap(_vm->seqCPSTable()[cpsNum], 3, 3, _screen->getPalette(0).getData()); +	_screen->loadBitmap(_vm->seqCPSTable()[cpsNum], 3, 3, &_screen->getPalette(0));  }  void SeqPlayer::s1_fadeToBlack() { diff --git a/engines/kyra/sequences_hof.cpp b/engines/kyra/sequences_hof.cpp index 10df50eb2c..9a6f43981e 100644 --- a/engines/kyra/sequences_hof.cpp +++ b/engines/kyra/sequences_hof.cpp @@ -87,7 +87,7 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {  		SeqProc cb = _callbackS[seqNum];  		if (cseq.flags & 2) { -			_screen->loadBitmap(cseq.cpsFile, 2, 2, _screen->getPalette(0).getData()); +			_screen->loadBitmap(cseq.cpsFile, 2, 2, &_screen->getPalette(0));  			_screen->setScreenPalette(_screen->getPalette(0));  		} else {  			_screen->setCurPage(2); @@ -100,7 +100,7 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {  		if (cseq.flags & 1) {  			_seqWsa->close(); -			_seqWsa->open(cseq.wsaFile, 0, _screen->getPalette(0).getData()); +			_seqWsa->open(cseq.wsaFile, 0, &_screen->getPalette(0));  			_screen->setScreenPalette(_screen->getPalette(0));  			_seqWsa->displayFrame(0, 2, cseq.xPos, cseq.yPos, 0, 0, 0);  		} @@ -1501,7 +1501,7 @@ void KyraEngine_HoF::seq_finaleActorScreen() {  	static const uint8 colormap[] = {0, 0, 102, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};  	static const ScreenDim d = { 0x00, 0x0C, 0x28, 0xB4, 0xFF, 0x00, 0x00, 0x00 }; -	_screen->loadBitmap("finale.cps", 3, 3, _screen->getPalette(0).getData()); +	_screen->loadBitmap("finale.cps", 3, 3, &_screen->getPalette(0));  	_screen->setFont(Screen::FID_GOLDFONT_FNT);  	int talkieCreditsSize, talkieCreditsSpecialSize; @@ -2726,7 +2726,7 @@ void KyraEngine_HoF::seq_showStarcraftLogo() {  	assert(ci);  	_screen->clearPage(2);  	_res->loadPakFile("INTROGEN.PAK"); -	int endframe = ci->open("ci.wsa", 0, _screen->getPalette(0).getData()); +	int endframe = ci->open("ci.wsa", 0, &_screen->getPalette(0));  	_res->unloadPakFile("INTROGEN.PAK");  	if (!ci->opened()) {  		delete ci; diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp index 0fc39dc5c7..935cff8ac5 100644 --- a/engines/kyra/sequences_lok.cpp +++ b/engines/kyra/sequences_lok.cpp @@ -42,7 +42,7 @@ namespace Kyra {  void KyraEngine_LoK::seq_demo() {  	snd_playTheme(0, 2); -	_screen->loadBitmap("START.CPS", 7, 7, _screen->getPalette(0).getData()); +	_screen->loadBitmap("START.CPS", 7, 7, &_screen->getPalette(0));  	_screen->copyRegion(0, 0, 0, 0, 320, 200, 6, 0, Screen::CR_NO_P_CHECK);  	_screen->updateScreen();  	_screen->fadeFromBlack(); @@ -50,8 +50,8 @@ void KyraEngine_LoK::seq_demo() {  	_screen->fadeToBlack();  	_screen->clearPage(0); -	_screen->loadBitmap("TOP.CPS", 7, 7, NULL); -	_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0).getData()); +	_screen->loadBitmap("TOP.CPS", 7, 7, 0); +	_screen->loadBitmap("BOTTOM.CPS", 5, 5, &_screen->getPalette(0));  	_screen->copyRegion(0, 91, 0, 8, 320, 103, 6, 0);  	_screen->copyRegion(0, 0, 0, 111, 320, 64, 6, 0);  	_screen->updateScreen(); @@ -77,7 +77,7 @@ void KyraEngine_LoK::seq_demo() {  	_seq->playSequence(_seq_Demo4, true);  	_screen->clearPage(0); -	_screen->loadBitmap("FINAL.CPS", 7, 7, _screen->getPalette(0).getData()); +	_screen->loadBitmap("FINAL.CPS", 7, 7, &_screen->getPalette(0));  	_screen->_curPage = 0;  	_screen->copyRegion(0, 0, 0, 0, 320, 200, 6, 0);  	_screen->updateScreen(); @@ -128,7 +128,7 @@ void KyraEngine_LoK::seq_intro() {  void KyraEngine_LoK::seq_introLogos() {  	if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) { -		_screen->loadBitmap("LOGO.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("LOGO.CPS", 3, 3, &_screen->getPalette(0));  		_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);  		_screen->updateScreen();  		_screen->fadeFromBlack(); @@ -149,7 +149,7 @@ void KyraEngine_LoK::seq_introLogos() {  		_screen->copyRegion(0, 0, 0, 0, 320, 190, 0, 2);  	} else {  		_screen->loadBitmap("TOP.CPS", 7, 7, 0); -		_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0).getData()); +		_screen->loadBitmap("BOTTOM.CPS", 5, 5, &_screen->getPalette(0));  		_screen->copyRegion(0, 91, 0, 8, 320, 103, 6, 0);  		_screen->copyRegion(0, 0, 0, 111, 320, 64, 6, 0);  	} @@ -236,19 +236,19 @@ void KyraEngine_LoK::seq_introStory() {  		return;  	if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga)) -		_screen->loadBitmap("TEXT.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN) -		_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::DE_DEU) -		_screen->loadBitmap("TEXT_GER.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_GER.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::FR_FRA) -		_screen->loadBitmap("TEXT_FRE.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_FRE.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::ES_ESP) -		_screen->loadBitmap("TEXT_SPA.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_SPA.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::IT_ITA && !_flags.isTalkie) -		_screen->loadBitmap("TEXT_ITA.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_ITA.CPS", 3, 3, &_screen->getPalette(0));  	else if (_flags.lang == Common::IT_ITA && _flags.isTalkie) -		_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, &_screen->getPalette(0));  	else  		warning("no story graphics file found");  	_screen->setScreenPalette(_screen->getPalette(0)); @@ -947,7 +947,7 @@ int KyraEngine_LoK::seq_playEnd() {  			_screen->hideMouse();  			_screen->fadeSpecialPalette(32, 228, 20, 60);  			delay(60 * _tickLength); -			_screen->loadBitmap("GEMHEAL.CPS", 3, 3, _screen->getPalette(0).getData()); +			_screen->loadBitmap("GEMHEAL.CPS", 3, 3, &_screen->getPalette(0));  			_screen->setScreenPalette(_screen->getPalette(0));  			_screen->shuffleScreen(8, 8, 304, 128, 2, 0, 1, 0);  			uint32 nextTime = _system->getMillis() + 120 * _tickLength; @@ -1001,7 +1001,7 @@ void KyraEngine_LoK::seq_playEnding() {  	_screen->hideMouse();  	_screen->_curPage = 0;  	_screen->fadeToBlack(); -	_screen->loadBitmap("REUNION.CPS", 3, 3, _screen->getPalette(0).getData()); +	_screen->loadBitmap("REUNION.CPS", 3, 3, &_screen->getPalette(0));  	_screen->copyRegion(8, 8, 8, 8, 304, 128, 2, 0);  	_screen->_curPage = 0;  	// XXX @@ -1042,7 +1042,7 @@ void KyraEngine_LoK::seq_playCredits() {  	} else  		_screen->setFont(Screen::FID_8_FNT); -	_screen->loadBitmap("CHALET.CPS", 4, 4, _screen->getPalette(0).getData()); +	_screen->loadBitmap("CHALET.CPS", 4, 4, &_screen->getPalette(0));  	_screen->setCurPage(0);  	_screen->clearCurPage(); diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp index 0bc932f068..9fb573afab 100644 --- a/engines/kyra/sequences_lol.cpp +++ b/engines/kyra/sequences_lol.cpp @@ -43,7 +43,7 @@ int LoLEngine::processPrologue() {  	if (_flags.isDemo) {  		_screen->fadePalette(_screen->getPalette(1), 30, 0); -		_screen->loadBitmap("FINAL.CPS", 2, 2, _screen->getPalette(0).getData()); +		_screen->loadBitmap("FINAL.CPS", 2, 2, &_screen->getPalette(0));  		_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);  		_screen->fadePalette(_screen->getPalette(0), 30, 0);  		delayWithTicks(300); @@ -57,7 +57,7 @@ int LoLEngine::processPrologue() {  	int processSelection = -1;  	while (!shouldQuit() && processSelection == -1) { -		_screen->loadBitmap("TITLE.CPS", 2, 2, _screen->getPalette(0).getData()); +		_screen->loadBitmap("TITLE.CPS", 2, 2, &_screen->getPalette(0));  		_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);  		_screen->setFont(Screen::FID_6_FNT); @@ -276,8 +276,8 @@ int LoLEngine::chooseCharacter() {  	while (!_screen->isMouseVisible())  		_screen->showMouse(); -	_screen->loadBitmap("CHAR.CPS", 2, 2, _screen->getPalette(0).getData()); -	_screen->loadBitmap("BACKGRND.CPS", 4, 4, _screen->getPalette(0).getData()); +	_screen->loadBitmap("CHAR.CPS", 2, 2, &_screen->getPalette(0)); +	_screen->loadBitmap("BACKGRND.CPS", 4, 4, &_screen->getPalette(0));  	if (!_chargenWSA->open("CHARGEN.WSA", 1, 0))  		error("Couldn't load CHARGEN.WSA"); @@ -649,7 +649,7 @@ void LoLEngine::showStarcraftLogo() {  	_screen->clearPage(0);  	_screen->clearPage(2); -	int endframe = ci->open("ci01.wsa", 0, _screen->getPalette(0).getData()); +	int endframe = ci->open("ci01.wsa", 0, &_screen->getPalette(0));  	if (!ci->opened()) {  		delete ci;  		return; @@ -803,19 +803,19 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) {  	switch (character) {  	case 0: -		_screen->loadBitmap("KIERAN.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("KIERAN.CPS", 3, 3, &_screen->getPalette(0));  		break;  	case 1: -		_screen->loadBitmap("AK'SHEL.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("AK'SHEL.CPS", 3, 3, &_screen->getPalette(0));  		break;  	case 2: -		_screen->loadBitmap("MICHAEL.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("MICHAEL.CPS", 3, 3, &_screen->getPalette(0));  		break;  	case 3: -		_screen->loadBitmap("CONRAD.CPS", 3, 3, _screen->getPalette(0).getData()); +		_screen->loadBitmap("CONRAD.CPS", 3, 3, &_screen->getPalette(0));  		break;  	default: @@ -856,7 +856,7 @@ void LoLEngine::showCredits() {  	_screen->setTextColorMap(colorMap);  	_screen->_charWidth = 0; -	_screen->loadBitmap("ROOM.CPS", 2, 2, _screen->getPalette(0).getData()); +	_screen->loadBitmap("ROOM.CPS", 2, 2, &_screen->getPalette(0));  	memset(_screen->getPalette(0).getData() + 764, 0, 3);  	_screen->fadeToBlack(30); diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 3974bb7252..2192af29a9 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -1584,7 +1584,7 @@ void KyraEngine_LoK::loadMainScreen(int page) {  	_screen->clearPage(page);  	if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga)) -		_screen->loadBitmap("MAIN15.CPS", page, page, _screen->getPalette(0).getData()); +		_screen->loadBitmap("MAIN15.CPS", page, page, &_screen->getPalette(0));  	else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN || (_flags.isTalkie && _flags.lang == Common::IT_ITA))  		_screen->loadBitmap("MAIN_ENG.CPS", page, page, 0);  	else if (_flags.lang == Common::FR_FRA) diff --git a/engines/kyra/wsamovie.cpp b/engines/kyra/wsamovie.cpp index 4e9d4742bb..26851e5530 100644 --- a/engines/kyra/wsamovie.cpp +++ b/engines/kyra/wsamovie.cpp @@ -38,7 +38,7 @@ namespace Kyra {  WSAMovie_v1::WSAMovie_v1(KyraEngine_v1 *vm) : Movie(vm) {}  WSAMovie_v1::~WSAMovie_v1() { close(); } -int WSAMovie_v1::open(const char *filename, int offscreenDecode, uint8 *palBuf) { +int WSAMovie_v1::open(const char *filename, int offscreenDecode, Palette *palBuf) {  	close();  	uint32 flags = 0; @@ -64,7 +64,7 @@ int WSAMovie_v1::open(const char *filename, int offscreenDecode, uint8 *palBuf)  		offsPal = 0x300;  		_flags |= WF_HAS_PALETTE;  		if (palBuf) -			memcpy(palBuf, wsaData + 8 + (_numFrames << 2), 0x300); +			memcpy(palBuf->getData(), wsaData + 8 + (_numFrames << 2), 0x300);  	}  	if (offscreenDecode) { @@ -228,7 +228,7 @@ void WSAMovie_v1::processFrame(int frameNum, uint8 *dst) {  WSAMovieAmiga::WSAMovieAmiga(KyraEngine_v1 *vm) : WSAMovie_v1(vm), _buffer(0) {} -int WSAMovieAmiga::open(const char *filename, int offscreenDecode, uint8 *palBuf) { +int WSAMovieAmiga::open(const char *filename, int offscreenDecode, Palette *palBuf) {  	int res = WSAMovie_v1::open(filename, offscreenDecode, palBuf);  	if (!res) @@ -365,7 +365,7 @@ void WSAMovieAmiga::processFrame(int frameNum, uint8 *dst) {  WSAMovie_v2::WSAMovie_v2(KyraEngine_v1 *vm) : WSAMovie_v1(vm), _xAdd(0), _yAdd(0) {} -int WSAMovie_v2::open(const char *filename, int unk1, uint8 *palBuf) { +int WSAMovie_v2::open(const char *filename, int unk1, Palette *palBuf) {  	close();  	uint32 flags = 0; @@ -392,7 +392,7 @@ int WSAMovie_v2::open(const char *filename, int unk1, uint8 *palBuf) {  		offsPal = 0x300;  		_flags |= WF_HAS_PALETTE;  		if (palBuf) -			_screen->loadPalette(wsaData + 8 + ((_numFrames << 2) & 0xFFFF), palBuf, 0x300); +			_screen->loadPalette(wsaData + 8 + ((_numFrames << 2) & 0xFFFF), palBuf->getData(), 0x300);  	}  	if (flags & 2) { @@ -400,7 +400,7 @@ int WSAMovie_v2::open(const char *filename, int unk1, uint8 *palBuf) {  			offsPal = 0x30;  			_flags |= WF_HAS_PALETTE;  			if (palBuf) -				_screen->loadPalette(wsaData + 8 + ((_numFrames << 2) & 0xFFFF), palBuf, 0x30); +				_screen->loadPalette(wsaData + 8 + ((_numFrames << 2) & 0xFFFF), palBuf->getData(), 0x30);  		}  		_flags |= WF_XOR; diff --git a/engines/kyra/wsamovie.h b/engines/kyra/wsamovie.h index 1bb06371c3..49ac5a28fe 100644 --- a/engines/kyra/wsamovie.h +++ b/engines/kyra/wsamovie.h @@ -26,6 +26,7 @@  #ifndef KYRA_WSAMOVIE_H  #define KYRA_WSAMOVIE_H +  namespace Audio {  class AppendableAudioStream;  class SoundHandle; @@ -34,6 +35,7 @@ class SoundHandle;  namespace Kyra {  class KyraEngine_v1;  class Screen_v2; +class Palette;  class Movie {  public: @@ -48,7 +50,7 @@ public:  	virtual int width() const = 0;  	virtual int height() const = 0; -	virtual int open(const char *filename, int offscreen, uint8 *palette) = 0; +	virtual int open(const char *filename, int offscreen, Palette *palette) = 0;  	virtual void close() = 0;  	virtual int frames() = 0; @@ -72,7 +74,7 @@ public:  	int width() const { return _width; }  	int height() const { return _height; } -	virtual int open(const char *filename, int offscreen, uint8 *palette); +	virtual int open(const char *filename, int offscreen, Palette *palette);  	virtual void close();  	virtual int frames() { return _opened ? _numFrames : -1; } @@ -105,7 +107,7 @@ protected:  class WSAMovieAmiga : public WSAMovie_v1 {  public:  	WSAMovieAmiga(KyraEngine_v1 *vm); -	int open(const char *filename, int offscreen, uint8 *palette); +	int open(const char *filename, int offscreen, Palette *palette);  	void close();  	void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2); @@ -119,7 +121,7 @@ class WSAMovie_v2 : public WSAMovie_v1 {  public:  	WSAMovie_v2(KyraEngine_v1 *vm); -	int open(const char *filename, int unk1, uint8 *palette); +	int open(const char *filename, int unk1, Palette *palette);  	virtual void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2) {  		WSAMovie_v1::displayFrame(frameNum, pageNum, x + _xAdd, y + _yAdd, flags, table1, table2);  	} | 
