diff options
author | Johannes Schickel | 2009-06-22 02:35:45 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-06-22 02:35:45 +0000 |
commit | 882662977f2cdf574e5aab041ceaaf626386d0f2 (patch) | |
tree | 5c1bddf867152fe6d7c274416e8ddc2c4ea66e53 /engines/kyra/scene_hof.cpp | |
parent | 9da52cb28280e0164db7073b0d3ea5abb4d20934 (diff) | |
download | scummvm-rg350-882662977f2cdf574e5aab041ceaaf626386d0f2.tar.gz scummvm-rg350-882662977f2cdf574e5aab041ceaaf626386d0f2.tar.bz2 scummvm-rg350-882662977f2cdf574e5aab041ceaaf626386d0f2.zip |
Changed Screen::getPalette to return a reference to a Palette object.
svn-id: r41741
Diffstat (limited to 'engines/kyra/scene_hof.cpp')
-rw-r--r-- | engines/kyra/scene_hof.cpp | 21 |
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 - |