diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sherlock/people.cpp | 2 | ||||
-rw-r--r-- | engines/sherlock/talk.cpp | 2 |
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; } |