aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/message.h
diff options
context:
space:
mode:
authorJordi Vilalta Prat2009-03-01 00:18:30 +0000
committerJordi Vilalta Prat2009-03-01 00:18:30 +0000
commit82872a7033946868045cd36b9c20916050654ede (patch)
treef4b4a59701b2a28f2a543e468156eb194e7bc65c /engines/sci/engine/message.h
parent7050c7b03f0f7b107df62488fd4dc2f37b704d3b (diff)
downloadscummvm-rg350-82872a7033946868045cd36b9c20916050654ede.tar.gz
scummvm-rg350-82872a7033946868045cd36b9c20916050654ede.tar.bz2
scummvm-rg350-82872a7033946868045cd36b9c20916050654ede.zip
SCI: Start converting MessageState into a class
svn-id: r38989
Diffstat (limited to 'engines/sci/engine/message.h')
-rw-r--r--engines/sci/engine/message.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/engines/sci/engine/message.h b/engines/sci/engine/message.h
index 609757d40f..70012cbfbc 100644
--- a/engines/sci/engine/message.h
+++ b/engines/sci/engine/message.h
@@ -43,7 +43,7 @@ struct IndexRecordCursor {
byte *resource_beginning;
};
-typedef int index_record_size_t();
+//typedef int index_record_size_t();
typedef void parse_index_record_t(IndexRecordCursor *index_record, MessageTuple *t);
typedef int get_talker_t(IndexRecordCursor *cursor);
typedef void get_text_t(IndexRecordCursor *cursor, char *buffer, int buffer_size);
@@ -60,23 +60,26 @@ struct MessageHandler {
int index_record_size;
};
-struct MessageState {
+class MessageState {
+public:
+ int getSpecific(MessageTuple *t);
+ int getNext();
+ int getTalker();
+ int getLength();
+ int getText(char *buffer, int length);
+ int loadRes(int module);
+
+public: // TODO: hide the internals
int initialized;
MessageHandler *handler;
ResourceManager *resmgr;
Resource *current_res;
- int module;
+ int _module;
int record_count;
byte *index_records;
IndexRecordCursor engine_cursor;
};
-int message_get_specific(MessageState *state, MessageTuple *t);
-int message_get_next(MessageState *state);
-int message_get_talker(MessageState *state);
-int message_get_length(MessageState *state);
-int message_get_text(MessageState *state, char *buffer, int length);
-int message_state_load_res(MessageState *state, int module);
void message_state_initialize(ResourceManager *resmgr, MessageState *state);
} // End of namespace Sci