aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/scene_hof.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/scene_hof.cpp')
-rw-r--r--engines/kyra/scene_hof.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/engines/kyra/scene_hof.cpp b/engines/kyra/scene_hof.cpp
index fed7877c0b..8f8005c352 100644
--- a/engines/kyra/scene_hof.cpp
+++ b/engines/kyra/scene_hof.cpp
@@ -396,14 +396,14 @@ void KyraEngine_HoF::unloadScene() {
void KyraEngine_HoF::loadScenePal() {
uint16 sceneId = _mainCharacter.sceneId;
- memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
+ _screen->getPalette(1).copy(_screen->getPalette(0));
char filename[14];
strcpy(filename, _sceneList[sceneId].filename1);
strcat(filename, ".COL");
_screen->loadBitmap(filename, 3, 3, 0);
- memcpy(_screen->getPalette(1), _screen->getCPagePtr(3), 384);
- memset(_screen->getPalette(1), 0, 3);
+ _screen->getPalette(1).copy(_screen->getCPagePtr(3), 0, 128);
+ memset(_screen->getPalette(1).getData(), 0, 3);
memcpy(_scenePal, _screen->getCPagePtr(3)+336, 432);
}
@@ -669,15 +669,15 @@ void KyraEngine_HoF::initSceneScreen(int unk1) {
}
if (_noScriptEnter) {
- memset(_screen->getPalette(0), 0, 384);
- _screen->setScreenPalette(_screen->getPalette(0));
+ memset(_screen->getPalette(0).getData(), 0, 384);
+ _screen->setScreenPalette(_screen->getPalette(0).getData());
}
_screen->copyRegion(0, 0, 0, 0, 320, 144, 2, 0, Screen::CR_NO_P_CHECK);
if (_noScriptEnter) {
- _screen->setScreenPalette(_screen->getPalette(1));
- memcpy(_screen->getPalette(0), _screen->getPalette(1), 384);
+ _screen->setScreenPalette(_screen->getPalette(1).getData());
+ _screen->getPalette(0).copy(_screen->getPalette(1), 0, 128);
}
updateCharPal(0);
@@ -695,11 +695,8 @@ void KyraEngine_HoF::freeSceneShapePtrs() {
}
void KyraEngine_HoF::fadeScenePal(int srcIndex, int delayTime) {
- uint8 *dst = _screen->getPalette(0) + 336;
- const uint8 *src = _scenePal + (srcIndex << 4)*3;
- memcpy(dst, src, 48);
-
- _screen->fadePalette(_screen->getPalette(0), delayTime, &_updateFunctor);
+ _screen->getPalette(0).copy(_scenePal, srcIndex << 4, 16, 112);
+ _screen->fadePalette(_screen->getPalette(0).getData(), delayTime, &_updateFunctor);
}
#pragma mark -