aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock
diff options
context:
space:
mode:
authorPaul Gilbert2015-08-02 23:11:25 -0400
committerPaul Gilbert2015-08-02 23:11:25 -0400
commita66f42fe203ee3e7342a5317c83596e67aa2e6c9 (patch)
treee02434e1cd7dea32eb1da0f6ad827426dc09259f /engines/sherlock
parentb06cfaed9c2f890551d357fbc88fd7359b7f9158 (diff)
downloadscummvm-rg350-a66f42fe203ee3e7342a5317c83596e67aa2e6c9.tar.gz
scummvm-rg350-a66f42fe203ee3e7342a5317c83596e67aa2e6c9.tar.bz2
scummvm-rg350-a66f42fe203ee3e7342a5317c83596e67aa2e6c9.zip
SHERLOCK: RT: Minor differences in talk code
Diffstat (limited to 'engines/sherlock')
-rw-r--r--engines/sherlock/talk.cpp20
-rw-r--r--engines/sherlock/tattoo/widget_base.cpp3
2 files changed, 14 insertions, 9 deletions
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index eddc508c65..63bdc9044b 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -342,6 +342,11 @@ void Talk::talkTo(const Common::String &filename) {
Statement &statement = _statements[select];
doScript(_statements[select]._reply);
+ if (IS_ROSE_TATTOO) {
+ for (int idx = 0; idx < MAX_CHARACTERS; ++idx)
+ people[idx]._misc = 0;
+ }
+
if (_talkToAbort)
return;
@@ -401,20 +406,17 @@ void Talk::talkTo(const Common::String &filename) {
} else {
freeTalkVars();
- if (!ui._lookScriptFlag) {
- ui.drawInterface(2);
-
- if (IS_SERRATED_SCALPEL) {
+ if (IS_SERRATED_SCALPEL) {
+ if (!ui._lookScriptFlag) {
+ ui.drawInterface(2);
ui._menuMode = STD_MODE;
ui._windowBounds.top = CONTROLS_Y1;
- } else {
- ui._menuMode = static_cast<Tattoo::TattooScene *>(_vm->_scene)->_labTableScene ?
- LAB_MODE : STD_MODE;
}
-
- ui.banishWindow();
+ } else {
+ ui._menuMode = static_cast<Tattoo::TattooScene *>(_vm->_scene)->_labTableScene ? LAB_MODE : STD_MODE;
}
+ ui.banishWindow();
break;
}
}
diff --git a/engines/sherlock/tattoo/widget_base.cpp b/engines/sherlock/tattoo/widget_base.cpp
index 856d7457b0..0683245355 100644
--- a/engines/sherlock/tattoo/widget_base.cpp
+++ b/engines/sherlock/tattoo/widget_base.cpp
@@ -45,6 +45,8 @@ void WidgetBase::summonWindow() {
// Add widget to the screen
if (!ui._fixedWidgets.contains(this))
ui._widgets.push_back(this);
+ ui._windowOpen = true;
+
_outsideMenu = false;
draw();
@@ -56,6 +58,7 @@ void WidgetBase::banishWindow() {
erase();
_surface.free();
ui._widgets.remove(this);
+ ui._windowOpen = false;
}
void WidgetBase::close() {