aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/screen_lok.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/screen_lok.cpp')
-rw-r--r--engines/kyra/screen_lok.cpp8
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();
}