aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-06-22 02:37:20 +0000
committerJohannes Schickel2009-06-22 02:37:20 +0000
commitd2e5166dae41d8972151ba3d1471ceace4323478 (patch)
tree44ade291f259c93fe7d818a28efd4bece4ff2dc3 /engines/kyra
parent73ea378dee4e7ec31c7a898e7fcc3a65a9eb6cc1 (diff)
downloadscummvm-rg350-d2e5166dae41d8972151ba3d1471ceace4323478.tar.gz
scummvm-rg350-d2e5166dae41d8972151ba3d1471ceace4323478.tar.bz2
scummvm-rg350-d2e5166dae41d8972151ba3d1471ceace4323478.zip
Changed Screen::loadBitmap and Movie::open to take an optional Palette pointer instead of an optional array pointer.
svn-id: r41744
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/kyra_mr.cpp2
-rw-r--r--engines/kyra/lol.cpp6
-rw-r--r--engines/kyra/scene_lok.cpp2
-rw-r--r--engines/kyra/screen.cpp7
-rw-r--r--engines/kyra/screen.h2
-rw-r--r--engines/kyra/script_lol.cpp6
-rw-r--r--engines/kyra/script_tim.cpp8
-rw-r--r--engines/kyra/seqplayer.cpp4
-rw-r--r--engines/kyra/sequences_hof.cpp8
-rw-r--r--engines/kyra/sequences_lok.cpp32
-rw-r--r--engines/kyra/sequences_lol.cpp20
-rw-r--r--engines/kyra/staticres.cpp2
-rw-r--r--engines/kyra/wsamovie.cpp12
-rw-r--r--engines/kyra/wsamovie.h10
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);
}