diff options
Diffstat (limited to 'engines/kyra/screen_lok.cpp')
-rw-r--r-- | engines/kyra/screen_lok.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/kyra/screen_lok.cpp b/engines/kyra/screen_lok.cpp index a7cad28aa8..fbeb2a7a63 100644 --- a/engines/kyra/screen_lok.cpp +++ b/engines/kyra/screen_lok.cpp @@ -81,14 +81,14 @@ const ScreenDim *Screen_LoK::getScreenDim(int dim) { void Screen_LoK::fadeSpecialPalette(int palIndex, int startIndex, int size, int fadeTime) { assert(_vm->palTable1()[palIndex]); - uint8 tempPal[768]; - memcpy(tempPal, getPalette(0).getData(), 768); - memcpy(&tempPal[startIndex*3], _vm->palTable1()[palIndex], size*3); + Palette tempPal(getPalette(0).getNumColors()); + tempPal.copy(getPalette(0)); + tempPal.copy(_vm->palTable1()[palIndex], 0, size, startIndex); fadePalette(tempPal, fadeTime*18); getPalette(0).copy(tempPal, startIndex, size); - setScreenPalette(getPalette(0).getData()); + setScreenPalette(getPalette(0)); _system->updateScreen(); } |