aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-10-24 01:08:24 +0300
committerKamil Zbróg2013-10-24 12:59:16 +0100
commitd04a86c20b3ab501f81115246b622c1628f74077 (patch)
tree7c077edfc26718199528dcd9e6057e2d677048e5 /engines
parenta6f0d090cfe372484af05a528bead36021cc6e4d (diff)
downloadscummvm-rg350-d04a86c20b3ab501f81115246b622c1628f74077.tar.gz
scummvm-rg350-d04a86c20b3ab501f81115246b622c1628f74077.tar.bz2
scummvm-rg350-d04a86c20b3ab501f81115246b622c1628f74077.zip
FULLPIPE: Implement MessageQueue::transferExCommands()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/messages.cpp7
-rw-r--r--engines/fullpipe/messages.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index d58212dc29..b5f3c7fa65 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -344,6 +344,13 @@ void MessageQueue::deleteExCommandByIndex(uint idx, bool doFree) {
delete *it;
}
+void MessageQueue::transferExCommands(MessageQueue *mq) {
+ while (mq->_exCommands.size()) {
+ _exCommands.push_back(mq->_exCommands.front());
+ mq->_exCommands.pop_front();
+ }
+}
+
void MessageQueue::sendNextCommand() {
if (_exCommands.size()) {
if (!(_flags & 4) && (_flags & 1)) {
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h
index a3533e1bd2..5238ba7db3 100644
--- a/engines/fullpipe/messages.h
+++ b/engines/fullpipe/messages.h
@@ -123,6 +123,8 @@ class MessageQueue : public CObject {
ExCommand *getExCommandByIndex(uint idx);
void deleteExCommandByIndex(uint idx, bool doFree);
+ void transferExCommands(MessageQueue *mq);
+
void replaceKeyCode(int key1, int key2);
bool chain(StaticANIObject *ani);