diff options
author | Eugene Sandulenko | 2013-09-02 22:31:40 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2013-09-06 14:51:24 +0300 |
commit | 1b057ba3465ac27a1ec855d2ddfbbd730edfa9f0 (patch) | |
tree | e526ee697d1f4636db903830cb915fd657a38f78 /engines | |
parent | 0bc0aa16581a251a628c93125f3209aa8fcd1ddb (diff) | |
download | scummvm-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.cpp | 20 |
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) { |