diff options
author | Eugene Sandulenko | 2014-01-05 16:49:27 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-05 17:13:32 +0200 |
commit | 4babc0f9f01bf132564d1ed8ed115e3d6869d6c4 (patch) | |
tree | b8b3b0d99e489b7e30241aa786e25d51e157ebd5 /engines/fullpipe/statics.cpp | |
parent | 4d8a50620d1ee34d3c1d1d3d941c6b94dd07b431 (diff) | |
download | scummvm-rg350-4babc0f9f01bf132564d1ed8ed115e3d6869d6c4.tar.gz scummvm-rg350-4babc0f9f01bf132564d1ed8ed115e3d6869d6c4.tar.bz2 scummvm-rg350-4babc0f9f01bf132564d1ed8ed115e3d6869d6c4.zip |
FULLPIPE: Implement StaticANIObject::restartMessageQueue()
Diffstat (limited to 'engines/fullpipe/statics.cpp')
-rw-r--r-- | engines/fullpipe/statics.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index 56698bfe0c..c6edce9621 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -282,7 +282,26 @@ void StaticANIObject::queueMessageQueue(MessageQueue *mq) { } void StaticANIObject::restartMessageQueue(MessageQueue *mq) { - warning("STUB: StaticANIObject::restartMessageQueue()"); + ExCommand *ex = mq->getExCommandByIndex(0); + if (ex) { + while (ex->_messageKind != 1 || ex->_parentId != _id) { + ex->_parId = 0; + ex->_excFlags |= 2; + ex->handleMessage(); + + mq->deleteExCommandByIndex(0, 0); + + ex = mq->getExCommandByIndex(0); + + if (!ex) + return; + } + + if (ex) { + startAnim(ex->_messageNum, mq->_id, -1); + mq->deleteExCommandByIndex(0, 1); + } + } } MessageQueue *StaticANIObject::getMessageQueue() { |