aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-20 00:20:05 +0000
committerFilippos Karapetis2010-11-20 00:20:05 +0000
commitc8ef70ea1c7c6d94a0f0cddfeb17d8b5ae7241f1 (patch)
treecd682e73731f6aca542a59fc974a0faa39fb1a2e /engines
parente5177eebfd285a2010354302d473ab2265c8d3b3 (diff)
downloadscummvm-rg350-c8ef70ea1c7c6d94a0f0cddfeb17d8b5ae7241f1.tar.gz
scummvm-rg350-c8ef70ea1c7c6d94a0f0cddfeb17d8b5ae7241f1.tar.bz2
scummvm-rg350-c8ef70ea1c7c6d94a0f0cddfeb17d8b5ae7241f1.zip
SCI: Some minor fixes for Phantasmagoria 2 (which doesn't work at all, since it has some differences in its views)
svn-id: r54390
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/graphics/frameout.cpp11
-rw-r--r--engines/sci/graphics/view.cpp2
2 files changed, 10 insertions, 3 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index b0d1315d2e..2c00f23066 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -63,8 +63,15 @@ void GfxFrameout::kernelAddPlane(reg_t object) {
if (_planes.empty()) {
// There has to be another way for sierra sci to do this or maybe script resolution is compiled into
// interpreter (TODO)
- scriptsRunningHeight = readSelectorValue(_segMan, object, SELECTOR(resY));
- scriptsRunningWidth = readSelectorValue(_segMan, object, SELECTOR(resX));
+ uint16 tmpRunningWidth = readSelectorValue(_segMan, object, SELECTOR(resX));
+ uint16 tmpRunningHeight = readSelectorValue(_segMan, object, SELECTOR(resY));
+
+ // The above can be 0 in SCI3 (e.g. Phantasmagoria 2)
+ if (tmpRunningWidth > 0 && tmpRunningHeight > 0) {
+ scriptsRunningWidth = tmpRunningWidth;
+ scriptsRunningHeight = tmpRunningHeight;
+ }
+
_coordAdjuster->setScriptsResolution(scriptsRunningWidth, scriptsRunningHeight);
}
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index 36d48fe3c9..9513b11811 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -217,7 +217,7 @@ void GfxView::initData(GuiResourceId resourceId) {
case 0:
break; // don't do anything, we already have _isScaleable set
default:
- error("unsupported flags byte inside sci1.1 view");
+ error("unsupported flags byte (%d) inside sci1.1 view", _resourceData[3]);
break;
}