aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2013-10-24 01:08:24 +0300
committerEugene Sandulenko2013-10-24 01:08:24 +0300
commitb64e62188359675c7d6b727bea1da814660723eb (patch)
tree133cece5b6377d2e94af98f35f3770b58e7a053a
parent092d36f39204df71038a1567c0d4d55bf854b523 (diff)
downloadscummvm-rg350-b64e62188359675c7d6b727bea1da814660723eb.tar.gz
scummvm-rg350-b64e62188359675c7d6b727bea1da814660723eb.tar.bz2
scummvm-rg350-b64e62188359675c7d6b727bea1da814660723eb.zip
FULLPIPE: Implement MessageQueue::transferExCommands()
-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);