aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-04-30 12:21:11 -1000
committerPaul Gilbert2015-04-30 12:21:11 -1000
commit50da2a2dd8ff6be1f634bd6d9f2b8d54bf059b9d (patch)
tree7d7f322a3f9f0a893a20a0d7af15d62ab89840d2
parent00fd812028c6aaa9b2ec05963a66a23dabbd33ba (diff)
downloadscummvm-rg350-50da2a2dd8ff6be1f634bd6d9f2b8d54bf059b9d.tar.gz
scummvm-rg350-50da2a2dd8ff6be1f634bd6d9f2b8d54bf059b9d.tar.bz2
scummvm-rg350-50da2a2dd8ff6be1f634bd6d9f2b8d54bf059b9d.zip
SHERLOCK: Fix display of item descriptions
-rw-r--r--engines/sherlock/scene.cpp4
-rw-r--r--engines/sherlock/talk.cpp6
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp
index 50e62b7ba5..487688f3a5 100644
--- a/engines/sherlock/scene.cpp
+++ b/engines/sherlock/scene.cpp
@@ -798,6 +798,8 @@ void Scene::updateBackground() {
screen._backBuffer->transBlitFrom(*_canimShapes[idx]._imageFrame, _canimShapes[idx]._position,
_canimShapes[idx]._flags & 2);
}
+
+ screen.resetDisplayBounds();
}
Exit *Scene::checkForExit(const Common::Rect &r) {
@@ -1082,6 +1084,7 @@ void Scene::doBgAnim() {
UserInterface &ui = *_vm->_ui;
screen.setDisplayBounds(Common::Rect(0, 0, SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCENE_HEIGHT));
+
int cursorId = events.getCursor();
Common::Point mousePos = events.mousePos();
@@ -1384,6 +1387,7 @@ void Scene::doBgAnim() {
events.wait(1);
_doBgAnimDone = true;
+ screen.resetDisplayBounds();
// Check if the method was called for calling a portrait, and a talk was
// interrupting it. This talk file would not have been executed at the time,
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index ed09ddde9c..b4dde2e6b0 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -455,7 +455,11 @@ void Talk::talkTo(const Common::String &filename) {
events._pressed = events._released = events._oldButtons = 0;
events.clearKeyboard();
- screen.setDisplayBounds(savedBounds);
+ if (savedBounds.bottom == SHERLOCK_SCREEN_HEIGHT)
+ screen.resetDisplayBounds();
+ else
+ screen.setDisplayBounds(savedBounds);
+
_talkToAbort = abortFlag;
// If a script was added to the script stack, restore state so that the