aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-24 21:46:30 +0000
committerMartin Kiewitz2010-01-24 21:46:30 +0000
commitafcfa58f5946323bd2fd8db7be79433258b4aa2c (patch)
tree595acf46b6ed82d4b58cd5de1be2314d61edf7cc
parent9d1dc48a6e39b69cadf332cfd7fbe832a6c2da14 (diff)
downloadscummvm-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.cpp17
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);