aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/gui')
-rw-r--r--engines/sci/gui/gui_view.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/sci/gui/gui_view.cpp b/engines/sci/gui/gui_view.cpp
index 6d6de0f118..95947458a4 100644
--- a/engines/sci/gui/gui_view.cpp
+++ b/engines/sci/gui/gui_view.cpp
@@ -111,11 +111,12 @@ void SciGuiView::initData(GuiResourceId resourceId) {
cel->height = READ_LE_UINT16(celData + 2);
cel->displaceX = celData[4];
cel->displaceY = celData[5];
- cel->clearKey = celData[6];
if (IsEGA) {
+ cel->clearKey = celData[6] | celData[6] << 4;
cel->offsetEGA = celOffset + 7;
cel->offsetRLE = 0;
} else {
+ cel->clearKey = celData[6];
cel->offsetEGA = 0;
cel->offsetRLE = celOffset + 8;
}
@@ -242,7 +243,7 @@ void SciGuiView::unpackCel(GuiViewLoopNo loopNo, GuiViewCelNo celNo, byte *outPt
byte = *literalPtr++;
runLength = byte >> 4;
byte = _EGAMapping[byte & 0x0F];
- memset(outPtr + pixelNo, byte, MIN<uint16>(runLength, pixelCount - pixelNo));
+ memset(outPtr + pixelNo, byte | byte << 4, MIN<uint16>(runLength, pixelCount - pixelNo));
pixelNo += runLength;
}
return;