diff options
author | Martin Kiewitz | 2010-01-24 21:46:30 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-01-24 21:46:30 +0000 |
commit | afcfa58f5946323bd2fd8db7be79433258b4aa2c (patch) | |
tree | 595acf46b6ed82d4b58cd5de1be2314d61edf7cc | |
parent | 9d1dc48a6e39b69cadf332cfd7fbe832a6c2da14 (diff) | |
download | scummvm-rg350-afcfa58f5946323bd2fd8db7be79433258b4aa2c.tar.gz scummvm-rg350-afcfa58f5946323bd2fd8db7be79433258b4aa2c.tar.bz2 scummvm-rg350-afcfa58f5946323bd2fd8db7be79433258b4aa2c.zip |
SCI: skip over amiga palette inside pictures for now, needs implementation (TODO added)
svn-id: r47527
-rw-r--r-- | engines/sci/graphics/picture.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/sci/graphics/picture.cpp b/engines/sci/graphics/picture.cpp index 9ac8021fe5..a488c9e8e0 100644 --- a/engines/sci/graphics/picture.cpp +++ b/engines/sci/graphics/picture.cpp @@ -399,7 +399,7 @@ void SciGuiPicture::drawVectorData(byte *data, int dataSize) { // Drawing while (curPos < dataSize) { - //warning("%X at %d", data[curPos], curPos); + warning("%X at %d", data[curPos], curPos); switch (pic_op = data[curPos++]) { case PIC_OP_SET_COLOR: pic_color = data[curPos++]; @@ -555,12 +555,17 @@ void SciGuiPicture::drawVectorData(byte *data, int dataSize) { } break; case PIC_OPX_VGA_SET_PALETTE: - curPos += 256 + 4; // Skip over mapping and timestamp - for (i = 0; i < 256; i++) { - palette.colors[i].used = data[curPos++]; - palette.colors[i].r = data[curPos++]; palette.colors[i].g = data[curPos++]; palette.colors[i].b = data[curPos++]; + if (_resMan->getViewType() == kViewAmiga) { + // TODO: Implement amiga palette loading + curPos += 32; // Skip over palette + } else { + curPos += 256 + 4; // Skip over mapping and timestamp + for (i = 0; i < 256; i++) { + palette.colors[i].used = data[curPos++]; + palette.colors[i].r = data[curPos++]; palette.colors[i].g = data[curPos++]; palette.colors[i].b = data[curPos++]; + } + _palette->set(&palette, 2); } - _palette->set(&palette, 2); break; case PIC_OPX_VGA_EMBEDDED_VIEW: // draw cel vectorGetAbsCoordsNoMirror(data, curPos, x, y); |