aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2014-08-08 02:07:57 +0300
committerFilippos Karapetis2014-08-08 02:11:49 +0300
commite7f023883eaeed0bd1bb82a0ccb12472785d6ed5 (patch)
treec6f5ae6761f4541b45611da26f302264bf38d546
parent43f57f274aa401040e0861c9690b6ef89c9eb921 (diff)
downloadscummvm-rg350-e7f023883eaeed0bd1bb82a0ccb12472785d6ed5.tar.gz
scummvm-rg350-e7f023883eaeed0bd1bb82a0ccb12472785d6ed5.tar.bz2
scummvm-rg350-e7f023883eaeed0bd1bb82a0ccb12472785d6ed5.zip
SCI: Extend hack to fix regression in GK1
-rw-r--r--engines/sci/graphics/frameout.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index a322eb8e61..91b5b25e99 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -782,9 +782,13 @@ void GfxFrameout::kernelFrameout() {
// TODO: For some reason, the top left nsRect coordinates get
// swapped in the GK1 inventory screen, investigate why.
+ // This is also needed for GK1 rooms 710 and 720 (catacombs, inner and
+ // outer circle), for handling the tiles and talking to Wolfgang.
// HACK: Fix the coordinates by explicitly setting them here.
Common::Rect objNSRect = g_sci->_gfxCompare->getNSRect(itemEntry->object);
- if (objNSRect.top == nsRect.left && objNSRect.left == nsRect.top && nsRect.top != 0 && nsRect.left != 0) {
+ uint16 roomNumber = g_sci->getEngineState()->currentRoomNumber();
+ if (objNSRect.top == nsRect.left && objNSRect.left == nsRect.top && nsRect.top != 0 && nsRect.left != 0 ||
+ (g_sci->getGameId() == GID_GK1 && (roomNumber == 710 || roomNumber == 720))) {
g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect);
}
}