aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorColin Snover2017-05-05 23:24:20 -0500
committerColin Snover2017-05-06 10:38:58 -0500
commit91df45c6c5f11d6426a7c390e50932dd3016504e (patch)
treeb20e65306bb0399d49385dafa36741b7fb00db04 /engines/sci
parent575ed98da1035c0d08338f01b6db6de5e5987214 (diff)
downloadscummvm-rg350-91df45c6c5f11d6426a7c390e50932dd3016504e.tar.gz
scummvm-rg350-91df45c6c5f11d6426a7c390e50932dd3016504e.tar.bz2
scummvm-rg350-91df45c6c5f11d6426a7c390e50932dd3016504e.zip
SCI32: Fix missing/incorrect game features detection
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/features.cpp9
-rw-r--r--engines/sci/graphics/frameout.cpp5
2 files changed, 12 insertions, 2 deletions
diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp
index 1085fec85b..1e8cc6dfb9 100644
--- a/engines/sci/engine/features.cpp
+++ b/engines/sci/engine/features.cpp
@@ -586,11 +586,14 @@ MessageTypeSyncStrategy GameFeatures::getMessageTypeSyncStrategy() const {
switch (g_sci->getGameId()) {
// TODO: Hoyle5, SCI3
case GID_GK1:
+ case GID_PQ4:
+ case GID_QFG4:
+ return g_sci->isCD() ? kMessageTypeSyncStrategyDefault : kMessageTypeSyncStrategyNone;
+
case GID_KQ7:
case GID_MOTHERGOOSEHIRES:
case GID_PHANTASMAGORIA:
- case GID_PQ4:
- case GID_QFG4:
+ case GID_SQ6:
case GID_TORIN:
return kMessageTypeSyncStrategyDefault;
@@ -600,6 +603,8 @@ MessageTypeSyncStrategy GameFeatures::getMessageTypeSyncStrategy() const {
case GID_SHIVERS:
return kMessageTypeSyncStrategyShivers;
+ case GID_GK2:
+ case GID_PQSWAT:
default:
break;
}
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index d5a7e33c32..e0506e67ac 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -136,6 +136,11 @@ bool GfxFrameout::gameIsHiRes() const {
return false;
}
+ // PQ4 DOS floppy is low resolution only
+ if (g_sci->getGameId() == GID_PQ4 && !g_sci->isCD()) {
+ return false;
+ }
+
// GK1 DOS floppy is low resolution only, but GK1 Mac floppy is high
// resolution only
if (g_sci->getGameId() == GID_GK1 &&