aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/view.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-05-15 14:17:50 +0000
committerMartin Kiewitz2010-05-15 14:17:50 +0000
commiteb2b3f352ed03dc7299ff6202e68a68116476aa9 (patch)
treebe15aec31d9d077ffc9760d4ee707d5e22d6503c /engines/sci/graphics/view.cpp
parent59a255226f95d395cb73119ae2e04a3494d404a5 (diff)
downloadscummvm-rg350-eb2b3f352ed03dc7299ff6202e68a68116476aa9.tar.gz
scummvm-rg350-eb2b3f352ed03dc7299ff6202e68a68116476aa9.tar.bz2
scummvm-rg350-eb2b3f352ed03dc7299ff6202e68a68116476aa9.zip
SCI: adding upscaled hires mode 640x480 for kq6 and gk1, fixing valgrind error in GfxPortrait class, not using priority anymore when drawing hires cels (shouldnt be needed for kq6)
svn-id: r49040
Diffstat (limited to 'engines/sci/graphics/view.cpp')
-rw-r--r--engines/sci/graphics/view.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index aa1ad10c75..5ce323751c 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -524,12 +524,16 @@ void GfxView::draw(Common::Rect rect, Common::Rect clipRect, Common::Rect clipRe
for (y = 0; y < height; y++, bitmap += celWidth) {
for (x = 0; x < width; x++) {
color = bitmap[x];
- if (color != clearKey && priority >= _screen->getPriority(clipRectTranslated.left + x, clipRectTranslated.top + y)) {
- // UpscaledHires means view is hires and is supposed to get drawn onto lowres screen
- if (!upscaledHires)
- _screen->putPixel(clipRectTranslated.left + x, clipRectTranslated.top + y, drawMask, palette->mapping[color], priority, 0);
- else
+ if (color != clearKey) {
+ if (!upscaledHires) {
+ if (priority >= _screen->getPriority(clipRectTranslated.left + x, clipRectTranslated.top + y))
+ _screen->putPixel(clipRectTranslated.left + x, clipRectTranslated.top + y, drawMask, palette->mapping[color], priority, 0);
+ } else {
+ // UpscaledHires means view is hires and is supposed to get drawn onto lowres screen
+ // FIXME(?): we can't read priority directly with the hires coordinates. may not be needed at all
+ // in kq6
_screen->putPixelOnDisplay(clipRectTranslated.left + x, clipRectTranslated.top + y, palette->mapping[color]);
+ }
}
}
}