aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/people.cpp2
-rw-r--r--engines/sherlock/talk.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/engines/sherlock/people.cpp b/engines/sherlock/people.cpp
index b1f4abba47..09dba25475 100644
--- a/engines/sherlock/people.cpp
+++ b/engines/sherlock/people.cpp
@@ -184,7 +184,7 @@ void People::reset() {
Person &p = *_data[idx];
if (IS_SERRATED_SCALPEL) {
- p._type = CHARACTER;
+ p._type = _holmesOn ? CHARACTER : HIDDEN;
p._position = Point32(100 * FIXED_INT_MULTIPLIER, 110 * FIXED_INT_MULTIPLIER);
} else if (!talk._scriptMoreFlag && !saves._justLoaded) {
p._type = (idx == 0) ? CHARACTER : INVALID;
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index 950905084b..416f04f631 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -1023,6 +1023,7 @@ OpcodeReturn Talk::cmdEndTextWindow(const byte *&str) {
OpcodeReturn Talk::cmdHolmesOff(const byte *&str) {
People &people = *_vm->_people;
people[HOLMES]._type = REMOVE;
+ people._holmesOn = false;
return RET_SUCCESS;
}
@@ -1030,6 +1031,7 @@ OpcodeReturn Talk::cmdHolmesOff(const byte *&str) {
OpcodeReturn Talk::cmdHolmesOn(const byte *&str) {
People &people = *_vm->_people;
people[HOLMES]._type = CHARACTER;
+ people._holmesOn = true;
return RET_SUCCESS;
}