aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/talk.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-03-31 23:21:04 -0400
committerPaul Gilbert2015-03-31 23:21:04 -0400
commit283c6074ad77c0c18c9d1550d7ac7c2443072aec (patch)
treefc82761bad4340c77e1e59d2455f111892e9e5c0 /engines/sherlock/talk.h
parent1199cf724c7507fb54a52eea842ac2bcc6864736 (diff)
downloadscummvm-rg350-283c6074ad77c0c18c9d1550d7ac7c2443072aec.tar.gz
scummvm-rg350-283c6074ad77c0c18c9d1550d7ac7c2443072aec.tar.bz2
scummvm-rg350-283c6074ad77c0c18c9d1550d7ac7c2443072aec.zip
SHERLOCK: Implement pushSequence and pullSequence
Diffstat (limited to 'engines/sherlock/talk.h')
-rw-r--r--engines/sherlock/talk.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/sherlock/talk.h b/engines/sherlock/talk.h
index 3b02f92bc6..0cd0a8c638 100644
--- a/engines/sherlock/talk.h
+++ b/engines/sherlock/talk.h
@@ -38,6 +38,11 @@ struct SavedSequence {
Common::Array<byte> _sequences;
};
+struct SequenceEntry : public SavedSequence {
+ int _frameNumber;
+ int _seqTo;
+};
+
struct Statement {
Common::String _statement;
Common::String _reply;
@@ -80,8 +85,8 @@ private:
SherlockEngine *_vm;
int _saveSeqNum;
Common::Array<SavedSequence> _savedSequences;
+ Common::Stack<SequenceEntry> _sequenceStack;
Common::Array<Statement> _statements;
- Common::Stack<int> _sequenceStack;
TalkHistoryEntry _talkHistory[500];
int _speaker;
int _talkIndex;
@@ -116,10 +121,10 @@ public:
void drawInterface();
- void setStillSeq(int speak);
+ void setStillSeq(int speaker);
void clearSequences();
void pullSequence();
- void pushSequence(int speak);
+ void pushSequence(int speaker);
bool isSequencesEmpty() const { return _sequenceStack.empty(); }
};