From 3592801a5707f42c71971321b26e2cc1da775c25 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 10 May 2009 13:15:14 +0000 Subject: Objectified and cleaned up the MessageState class svn-id: r40419 --- engines/sci/engine/message.h | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) (limited to 'engines/sci/engine/message.h') diff --git a/engines/sci/engine/message.h b/engines/sci/engine/message.h index 70012cbfbc..9f5b04cf7e 100644 --- a/engines/sci/engine/message.h +++ b/engines/sci/engine/message.h @@ -49,17 +49,6 @@ typedef int get_talker_t(IndexRecordCursor *cursor); typedef void get_text_t(IndexRecordCursor *cursor, char *buffer, int buffer_size); typedef int index_record_count_t(byte *header); -struct MessageHandler { - int version_id; - parse_index_record_t *parse; - get_talker_t *get_talker; - get_text_t *get_text; - index_record_count_t *index_record_count; - - int header_size; - int index_record_size; -}; - class MessageState { public: int getSpecific(MessageTuple *t); @@ -68,16 +57,24 @@ public: int getLength(); int getText(char *buffer, int length); int loadRes(int module); + int isInitialized() { return _initialized; } + void initialize(ResourceManager *resmgr); + void setVersion(int version); + +private: + void initIndexRecordCursor(); + void parse(IndexRecordCursor *cursor, MessageTuple *t); -public: // TODO: hide the internals - int initialized; - MessageHandler *handler; - ResourceManager *resmgr; - Resource *current_res; + int _initialized; + ResourceManager *_resmgr; + Resource *_currentResource; int _module; - int record_count; - byte *index_records; - IndexRecordCursor engine_cursor; + int _recordCount; + byte *_indexRecords; + IndexRecordCursor _engineCursor; + int _version; + int _headerSize; + int _indexRecordSize; }; void message_state_initialize(ResourceManager *resmgr, MessageState *state); -- cgit v1.2.3