diff options
author | Colin Snover | 2017-01-12 12:41:27 -0600 |
---|---|---|
committer | Colin Snover | 2017-01-12 13:14:10 -0600 |
commit | dd13fdfe1740ac847f7dfb4a332d3f5948b1a782 (patch) | |
tree | 82520ccf5175d2cf6ae80208d7c204301b49dd4f /engines/sci/engine/features.h | |
parent | 54e94c572aeb58e160537e2145c0fff44e862be3 (diff) | |
download | scummvm-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.h | 13 |
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 /** |