aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2012-07-06 12:11:12 +0300
committerFilippos Karapetis2012-07-06 12:11:50 +0300
commit75137862967cd18a87dec16a6a322f9f97d54202 (patch)
tree8d05dd52a6effd37b77aafaf5a6c40371b4ec9ad
parent14a59b97b289416bc124985e7b5f3b45d8e7a7e0 (diff)
downloadscummvm-rg350-75137862967cd18a87dec16a6a322f9f97d54202.tar.gz
scummvm-rg350-75137862967cd18a87dec16a6a322f9f97d54202.tar.bz2
scummvm-rg350-75137862967cd18a87dec16a6a322f9f97d54202.zip
SCI: Add a hack to handle the internal script resolution in Phantasmagoria
-rw-r--r--engines/sci/graphics/frameout.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index 20b8a241aa..defc55edb2 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -131,6 +131,20 @@ void GfxFrameout::kernelAddPlane(reg_t object) {
tmpRunningWidth = 320;
tmpRunningHeight = 200;
}
+
+ // HACK: Game scripts in Phantasmagoria 1 seem to use a very odd internal
+ // resolution, or some other extra calculation is taking place.
+ // Changing the internal script dimensions to these odd values fixes
+ // object positioning, but makes the interface picture slightly bigger,
+ // thus there is a small gap between the room picture and the interface
+ // edges, plus a couple of pixels of the picture are cut off in the
+ // bottom.
+ // FIXME: Find how to properly handle the script dimensions in
+ // Phantasmagoria. This can't be right.
+ if (g_sci->getGameId() == GID_PHANTASMAGORIA) {
+ tmpRunningWidth = 325;
+ tmpRunningHeight = 213;
+ }
_coordAdjuster->setScriptsResolution(tmpRunningWidth, tmpRunningHeight);
}