diff options
author | Eugene Sandulenko | 2013-08-10 23:41:38 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2013-09-06 14:51:12 +0300 |
commit | 1ca1a5dfa041179d980676c6aa8fa135f7b69a0e (patch) | |
tree | 93e2f10d60f4d526eacf613e06ace883fdc1892e /engines/fullpipe/messages.h | |
parent | d866e2aabf5e69481b0feb797a075b469eaa1bb9 (diff) | |
download | scummvm-rg350-1ca1a5dfa041179d980676c6aa8fa135f7b69a0e.tar.gz scummvm-rg350-1ca1a5dfa041179d980676c6aa8fa135f7b69a0e.tar.bz2 scummvm-rg350-1ca1a5dfa041179d980676c6aa8fa135f7b69a0e.zip |
FULLPIPE: Implement MessageQueue::chain()
Diffstat (limited to 'engines/fullpipe/messages.h')
-rw-r--r-- | engines/fullpipe/messages.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h index e2e27b5025..746765f462 100644 --- a/engines/fullpipe/messages.h +++ b/engines/fullpipe/messages.h @@ -50,6 +50,8 @@ class Message : public CObject { public: Message(); Message(Message *src); + virtual ~Message() {} + Message(int16 parentId, int messageKind, int x, int y, int a6, int a7, int sceneClickX, int sceneClickY, int a10); }; @@ -84,18 +86,14 @@ class CObjstateCommand : public CObject { }; class MessageQueue : public CObject { - friend class GlobalMessageQueueList; - friend class CGameLoader; - friend class Scene; - - protected: + public: int _id; int _flags; char *_queueName; int16 _dataId; int16 _field_12; - int _field_14; - CPtrList _exCommands; + CObject *_field_14; + Common::List<ExCommand *> _exCommands; int _counter; int _field_38; int _isFinished; @@ -105,23 +103,33 @@ class MessageQueue : public CObject { public: MessageQueue(); MessageQueue(MessageQueue *src, int parId, int field_38); + virtual ~MessageQueue(); + virtual bool load(MfcArchive &file); int getFlags() { return _flags; } void setFlags(int flags) { _flags = flags; } + uint getCount() { return _exCommands.size(); } + + ExCommand *getExCommandByIndex(uint idx); + bool chain(StaticANIObject *ani); void update(); void sendNextCommand(); void finish(); void messageQueueCallback1(int par); + + bool checkGlobalExCommandList1(); + bool checkGlobalExCommandList2(); }; class GlobalMessageQueueList : public CPtrList { public: MessageQueue *getMessageQueueById(int id); void deleteQueueById(int id); + void removeQueueById(int id); void disableQueueById(int id); void addMessageQueue(MessageQueue *msg); |