diff options
Diffstat (limited to 'engines/fullpipe/messages.h')
-rw-r--r-- | engines/fullpipe/messages.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h index 326f05cef3..33bb827888 100644 --- a/engines/fullpipe/messages.h +++ b/engines/fullpipe/messages.h @@ -57,7 +57,6 @@ class Message : public CObject { class ExCommand : public Message { public: - int _messageNum; int _field_3C; int _excFlags; @@ -70,27 +69,42 @@ class ExCommand : public Message { virtual bool load(MfcArchive &file); + virtual ExCommand *createClone(); + bool handleMessage(); void sendMessage(); void postMessage(); void handle(); + + void firef34(); + void setf3c(int val); }; class ExCommand2 : public ExCommand { public: Common::Point **_points; int _pointsSize; + + ExCommand2(int messageKind, int parentId, Common::Point **points, int pointsSize); + ExCommand2(ExCommand2 *src); + virtual ~ExCommand2(); + + virtual ExCommand2 *createClone(); }; -class ObjstateCommand : public CObject { +class ObjstateCommand : public ExCommand { public: - ExCommand _cmd; char *_objCommandName; int _value; public: ObjstateCommand(); + ObjstateCommand(ObjstateCommand *src); + virtual ~ObjstateCommand(); + virtual bool load(MfcArchive &file); + + virtual ObjstateCommand *createClone(); }; class MessageQueue : public CObject { @@ -100,13 +114,15 @@ class MessageQueue : public CObject { char *_queueName; int16 _dataId; CObject *_field_14; - Common::List<ExCommand *> _exCommands; int _counter; int _field_38; int _isFinished; int _parId; int _flag1; + private: + Common::List<ExCommand *> _exCommands; + public: MessageQueue(); MessageQueue(int dataId); @@ -121,6 +137,8 @@ class MessageQueue : public CObject { uint getCount() { return _exCommands.size(); } void addExCommand(ExCommand *ex); + void addExCommandToEnd(ExCommand *ex); + void insertExCommandAt(int pos, ExCommand *ex); ExCommand *getExCommandByIndex(uint idx); void deleteExCommandByIndex(uint idx, bool doFree); @@ -172,9 +190,12 @@ bool insertMessageHandler(int (*callback)(ExCommand *), int index, int16 id); void clearMessageHandlers(); void processMessages(); void updateGlobalMessageQueue(int id, int objid); +void clearMessages(); void clearGlobalMessageQueueList1(); bool chainQueue(int queueId, int flags); +bool chainObjQueue(StaticANIObject *obj, int queueId, int flags); +void postExCommand(int parentId, int keyCode, int x, int y, int f20, int f16); } // End of namespace Fullpipe |