aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2010-05-15 15:16:32 +0000
committerMartin Kiewitz2010-05-15 15:16:32 +0000
commitf3b2627179852a869963c9120acf250de5a71b3c (patch)
tree51b4e8c5b851feed4a1ba22ec004bdeeb876b485 /engines
parenteb2b3f352ed03dc7299ff6202e68a68116476aa9 (diff)
downloadscummvm-rg350-f3b2627179852a869963c9120acf250de5a71b3c.tar.gz
scummvm-rg350-f3b2627179852a869963c9120acf250de5a71b3c.tar.bz2
scummvm-rg350-f3b2627179852a869963c9120acf250de5a71b3c.zip
SCI: adding special 640x440 upscaling mode for kq6, finally hires portraits are drawn at the right position
svn-id: r49041
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/graphics/cursor.cpp4
-rw-r--r--engines/sci/graphics/screen.cpp6
-rw-r--r--engines/sci/graphics/screen.h3
-rw-r--r--engines/sci/sci.cpp2
4 files changed, 13 insertions, 2 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index 5ffb233566..e756c773ed 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -222,6 +222,10 @@ Common::Point GfxCursor::getPosition() {
mousePos.x /= 2;
mousePos.y /= 2;
break;
+ case GFX_SCREEN_UPSCALED_640x440:
+ mousePos.x /= 2;
+ mousePos.y = (mousePos.y * 5) / 11;
+ break;
case GFX_SCREEN_UPSCALED_640x480:
mousePos.x /= 2;
mousePos.y = (mousePos.y * 5) / 12;
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index 8d20dca3a2..7ca9e33509 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -47,6 +47,12 @@ GfxScreen::GfxScreen(ResourceManager *resMan, int16 width, int16 height, int ups
for (int i = 0; i <= _height; i++)
_upscaledMapping[i] = i * 2;
break;
+ case GFX_SCREEN_UPSCALED_640x440:
+ _displayWidth = 640;
+ _displayHeight = 440;
+ for (int i = 0; i <= _height; i++)
+ _upscaledMapping[i] = (i * 11) / 5;
+ break;
case GFX_SCREEN_UPSCALED_640x480:
_displayWidth = 640;
_displayHeight = 480;
diff --git a/engines/sci/graphics/screen.h b/engines/sci/graphics/screen.h
index bb8d1231d5..dff8eda29f 100644
--- a/engines/sci/graphics/screen.h
+++ b/engines/sci/graphics/screen.h
@@ -38,7 +38,8 @@ namespace Sci {
enum GfxScreenUpscaledMode {
GFX_SCREEN_UPSCALED_DISABLED = 0,
GFX_SCREEN_UPSCALED_640x400 = 1,
- GFX_SCREEN_UPSCALED_640x480 = 2
+ GFX_SCREEN_UPSCALED_640x440 = 2,
+ GFX_SCREEN_UPSCALED_640x480 = 3
};
enum GfxScreenMasks {
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 49546fe4c8..5387b19a30 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -148,7 +148,7 @@ Common::Error SciEngine::run() {
// it to platform windows.
if (getPlatform() == Common::kPlatformWindows) {
if (!strcmp(getGameID(), "kq6"))
- upscaledHires = GFX_SCREEN_UPSCALED_640x480;
+ upscaledHires = GFX_SCREEN_UPSCALED_640x440;
#ifdef ENABLE_SCI32
if (!strcmp(getGameID(), "gk1"))
upscaledHires = GFX_SCREEN_UPSCALED_640x480;