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); | 
