diff options
Diffstat (limited to 'engines/sherlock/objects.cpp')
-rw-r--r-- | engines/sherlock/objects.cpp | 14 |
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 |