aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/message.h
diff options
context:
space:
mode:
authorFilippos Karapetis2009-05-10 13:15:14 +0000
committerFilippos Karapetis2009-05-10 13:15:14 +0000
commit3592801a5707f42c71971321b26e2cc1da775c25 (patch)
treef016f6a39131bf709a34f5b245e021453dde8491 /engines/sci/engine/message.h
parent11ba91b4de3dd0ea5315bd9f3e957e255b16e5fc (diff)
downloadscummvm-rg350-3592801a5707f42c71971321b26e2cc1da775c25.tar.gz
scummvm-rg350-3592801a5707f42c71971321b26e2cc1da775c25.tar.bz2
scummvm-rg350-3592801a5707f42c71971321b26e2cc1da775c25.zip
Objectified and cleaned up the MessageState class
svn-id: r40419
Diffstat (limited to 'engines/sci/engine/message.h')
-rw-r--r--engines/sci/engine/message.h35
1 files changed, 16 insertions, 19 deletions
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);