aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/objects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/objects.cpp')
-rw-r--r--engines/sherlock/objects.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index b412724002..533d2bcc67 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -1228,26 +1228,16 @@ void Object::setObjTalkSequence(int seq) {
// See if we're supposed to restore the object's sequence from the talk sequence stack
if (seq == -1) {
- TalkSequence &ts = talk._talkSequenceStack[_restoreSlot];
if (_seqTo != 0)
_sequences[_frameNumber] = _seqTo;
- _frameNumber = ts._frameNumber;
- _sequenceNumber = ts._sequenceNumber;
- _seqStack = ts._seqStack;
- _seqTo = ts._seqTo;
- _seqCounter = ts._seqCounter;
- _seqCounter2 = ts._seqCounter2;
- _talkSeq = 0;
-
- // Flag this slot as free again
- ts._obj = nullptr;
+ talk.pullSequence(_restoreSlot);
return;
}
assert(_type != CHARACTER);
- talk.pushTalkSequence(this);
+ talk.pushSequenceEntry(this);
int talkSeqNum = seq;
// Find where the talk sequence data begins in the object