aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/features.h
diff options
context:
space:
mode:
authorColin Snover2017-01-12 12:41:27 -0600
committerColin Snover2017-01-12 13:14:10 -0600
commitdd13fdfe1740ac847f7dfb4a332d3f5948b1a782 (patch)
tree82520ccf5175d2cf6ae80208d7c204301b49dd4f /engines/sci/engine/features.h
parent54e94c572aeb58e160537e2145c0fff44e862be3 (diff)
downloadscummvm-rg350-dd13fdfe1740ac847f7dfb4a332d3f5948b1a782.tar.gz
scummvm-rg350-dd13fdfe1740ac847f7dfb4a332d3f5948b1a782.tar.bz2
scummvm-rg350-dd13fdfe1740ac847f7dfb4a332d3f5948b1a782.zip
SCI32: "Fix" renderer for PQ4CD
PQ4CD and several other games contain a hack in two renderer methods to avoid rendering invalid screen items with zero or negative-dimension target rects. This prevents PQ4CD from crashing during the fifth phase of target practice.
Diffstat (limited to 'engines/sci/engine/features.h')
-rw-r--r--engines/sci/engine/features.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h
index ee978be033..8f84bbacad 100644
--- a/engines/sci/engine/features.h
+++ b/engines/sci/engine/features.h
@@ -132,6 +132,19 @@ public:
inline bool usesAlternateSelectors() const {
return g_sci->getGameId() == GID_PHANTASMAGORIA2;
}
+
+ inline bool hasEmptyScaleDrawHack() const {
+ // Yes: KQ7 (all), PQ4CD, QFG4CD, SQ6, Phant1
+ // No: All SCI2, all SCI3, GK2, LSL6hires, PQ:SWAT, Torin
+ // Unknown: Hoyle5, MGDX, Shivers
+ const SciGameId &gid = g_sci->getGameId();
+ return getSciVersion() > SCI_VERSION_2 &&
+ getSciVersion() < SCI_VERSION_2_1_LATE &&
+ gid != GID_LSL6HIRES &&
+ gid != GID_GK2 &&
+ gid != GID_PQSWAT &&
+ gid != GID_TORIN;
+ }
#endif
/**