aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-09-02 22:31:40 +0300
committerEugene Sandulenko2013-09-06 14:51:24 +0300
commit1b057ba3465ac27a1ec855d2ddfbbd730edfa9f0 (patch)
treee526ee697d1f4636db903830cb915fd657a38f78 /engines
parent0bc0aa16581a251a628c93125f3209aa8fcd1ddb (diff)
downloadscummvm-rg350-1b057ba3465ac27a1ec855d2ddfbbd730edfa9f0.tar.gz
scummvm-rg350-1b057ba3465ac27a1ec855d2ddfbbd730edfa9f0.tar.bz2
scummvm-rg350-1b057ba3465ac27a1ec855d2ddfbbd730edfa9f0.zip
FULLPIPE: Implement MessageQueue::finish()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/messages.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index 96ed389527..c24dee47c8 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -414,7 +414,25 @@ bool MessageQueue::checkGlobalExCommandList2() {
}
void MessageQueue::finish() {
- warning("STUB: MessageQueue::finish()");
+ if (!_parId)
+ return;
+
+ MessageQueue *mq = g_fullpipe->_globalMessageQueueList->getMessageQueueById(_parId);
+
+ _parId = 0;
+
+ if (!mq)
+ return;
+
+ if (!_flag1) {
+ mq->update();
+ return;
+ }
+
+ mq->_counter--;
+
+ if (!mq->_counter && !mq->_exCommands.size())
+ mq->update();
}
void MessageQueue::replaceKeyCode(int key1, int key2) {