diff options
author | Martin Kiewitz | 2009-10-15 11:47:05 +0000 |
---|---|---|
committer | Martin Kiewitz | 2009-10-15 11:47:05 +0000 |
commit | 5d6b2564953fd1452d4af7130c7c39fb6d301b1d (patch) | |
tree | 012150d2e38bc84928ce3ac0256eaf3dbd1be94d /engines | |
parent | 022491c1cd7a8b3da5ed14d6dd04846ac7d44beb (diff) | |
download | scummvm-rg350-5d6b2564953fd1452d4af7130c7c39fb6d301b1d.tar.gz scummvm-rg350-5d6b2564953fd1452d4af7130c7c39fb6d301b1d.tar.bz2 scummvm-rg350-5d6b2564953fd1452d4af7130c7c39fb6d301b1d.zip |
SCI/newgui: SciGuiPicture now supports embedded ega cel data
svn-id: r45112
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/gui/gui_picture.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/gui/gui_picture.cpp b/engines/sci/gui/gui_picture.cpp index 82dabbb74e..3c04625516 100644 --- a/engines/sci/gui/gui_picture.cpp +++ b/engines/sci/gui/gui_picture.cpp @@ -136,6 +136,14 @@ void SciGuiPicture::drawCelData(byte *inbuffer, int size, int headerPos, int rle if (literalPos == 0) { // decompression for data that has only one stream (vecor embedded view data) switch (_resMan->getViewType()) { + case kViewEga: + while (pixelNr < pixelCount) { + curByte = *rlePtr++; + runLength = curByte >> 4; + memset(ptr + pixelNr, curByte & 0x0F, MIN<uint16>(runLength, pixelCount - pixelNr)); + pixelNr += runLength; + } + break; case kViewVga: case kViewVga11: while (pixelNr < pixelCount) { |