aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/message.cpp')
-rw-r--r--engines/sci/engine/message.cpp94
1 files changed, 37 insertions, 57 deletions
diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp
index a92bafd80c..244734c12c 100644
--- a/engines/sci/engine/message.cpp
+++ b/engines/sci/engine/message.cpp
@@ -30,8 +30,7 @@
#if 0
// Unreferenced - removed
static
-int get_talker_trivial(index_record_cursor_t *cursor)
-{
+int get_talker_trivial(index_record_cursor_t *cursor) {
return -1;
}
#endif
@@ -41,8 +40,7 @@ int get_talker_trivial(index_record_cursor_t *cursor)
#if 0
// Unreferenced - removed
static
-void index_record_parse_2101(index_record_cursor_t *cursor, message_tuple_t *t)
-{
+void index_record_parse_2101(index_record_cursor_t *cursor, message_tuple_t *t) {
int noun = *(cursor->index_record + 0);
int verb = *(cursor->index_record + 1);
@@ -55,11 +53,10 @@ void index_record_parse_2101(index_record_cursor_t *cursor, message_tuple_t *t)
#if 0
// Unreferenced - removed
static
-void index_record_get_text_2101(index_record_cursor_t *cursor, char *buffer, int buffer_size)
-{
+void index_record_get_text_2101(index_record_cursor_t *cursor, char *buffer, int buffer_size) {
int offset = getUInt16(cursor->index_record + 2);
char *stringptr = (char *)cursor->resource_beginning + offset;
-
+
strncpy(buffer, stringptr, buffer_size);
}
#endif
@@ -67,8 +64,7 @@ void index_record_get_text_2101(index_record_cursor_t *cursor, char *buffer, int
#if 0
// Unreferenced - removed
static
-int header_get_index_record_count_2101(byte *header)
-{
+int header_get_index_record_count_2101(byte *header) {
return getUInt16(header + 4);
}
#endif
@@ -76,8 +72,7 @@ int header_get_index_record_count_2101(byte *header)
/* Version 3.411 and later code ahead */
static
-void index_record_parse_3411(index_record_cursor_t *cursor, message_tuple_t *t)
-{
+void index_record_parse_3411(index_record_cursor_t *cursor, message_tuple_t *t) {
int noun = *(cursor->index_record + 0);
int verb = *(cursor->index_record + 1);
int cond = *(cursor->index_record + 2);
@@ -90,49 +85,43 @@ void index_record_parse_3411(index_record_cursor_t *cursor, message_tuple_t *t)
}
static
-int index_record_get_talker_3411(index_record_cursor_t *cursor)
-{
+int index_record_get_talker_3411(index_record_cursor_t *cursor) {
return *(cursor->index_record + 4);
}
static
-void index_record_get_text_3411(index_record_cursor_t *cursor, char *buffer, int buffer_size)
-{
+void index_record_get_text_3411(index_record_cursor_t *cursor, char *buffer, int buffer_size) {
int offset = getUInt16(cursor->index_record + 5);
char *stringptr = (char *)cursor->resource_beginning + offset;
-
+
strncpy(buffer, stringptr, buffer_size);
}
static
-int header_get_index_record_count_3411(byte *header)
-{
+int header_get_index_record_count_3411(byte *header) {
return getUInt16(header + 8);
}
/* Generic code from here on */
static
-int four_tuple_match(message_tuple_t *t1, message_tuple_t *t2)
-{
- return
- t1->noun == t2->noun &&
- t1->verb == t2->verb &&
- t1->cond == t2->cond &&
- t1->seq == t2->seq;
+int four_tuple_match(message_tuple_t *t1, message_tuple_t *t2) {
+ return
+ t1->noun == t2->noun &&
+ t1->verb == t2->verb &&
+ t1->cond == t2->cond &&
+ t1->seq == t2->seq;
}
static
-void index_record_cursor_initialize(message_state_t *state, index_record_cursor_t *cursor)
-{
+void index_record_cursor_initialize(message_state_t *state, index_record_cursor_t *cursor) {
cursor->resource_beginning = state->current_res->data;
cursor->index_record = state->index_records;
cursor->index = 1;
}
static
-int index_record_next(message_state_t *state, index_record_cursor_t *cursor)
-{
+int index_record_next(message_state_t *state, index_record_cursor_t *cursor) {
if (cursor->index == state->record_count)
return 0;
cursor->index_record += state->handler->index_record_size;
@@ -141,15 +130,13 @@ int index_record_next(message_state_t *state, index_record_cursor_t *cursor)
}
static
-int index_record_find(message_state_t *state, message_tuple_t *t, index_record_cursor_t *cursor)
-{
+int index_record_find(message_state_t *state, message_tuple_t *t, index_record_cursor_t *cursor) {
message_tuple_t looking_at;
int found = 0;
index_record_cursor_initialize(state, cursor);
- do
- {
+ do {
state->handler->parse(cursor, &looking_at);
if (four_tuple_match(t, &looking_at))
found = 1;
@@ -160,46 +147,39 @@ int index_record_find(message_state_t *state, message_tuple_t *t, index_record_c
return found;
}
-int message_get_specific(message_state_t *state, message_tuple_t *t)
-{
+int message_get_specific(message_state_t *state, message_tuple_t *t) {
return index_record_find(state, t, &state->engine_cursor);
}
-int message_get_next(message_state_t *state)
-{
+int message_get_next(message_state_t *state) {
return index_record_next(state, &state->engine_cursor);
}
-int message_get_talker(message_state_t *state)
-{
+int message_get_talker(message_state_t *state) {
return state->handler->get_talker(&state->engine_cursor);
}
-int message_get_text(message_state_t *state, char *buffer, int length)
-{
+int message_get_text(message_state_t *state, char *buffer, int length) {
state->handler->get_text(&state->engine_cursor, buffer, length);
return strlen(buffer);
}
-int message_get_length(message_state_t *state)
-{
+int message_get_length(message_state_t *state) {
char buffer[500];
state->handler->get_text(&state->engine_cursor, buffer, sizeof(buffer));
return strlen(buffer);
}
-int message_state_load_res(message_state_t *state, int module)
-{
- if (state->module == module)
+int message_state_load_res(message_state_t *state, int module) {
+ if (state->module == module)
return 1;
state->module = module;
state->current_res = scir_find_resource(state->resmgr, sci_message, module, 0);
if (state->current_res == NULL ||
- state->current_res->data == NULL)
- {
+ state->current_res->data == NULL) {
sciprintf("Message subsystem: Failed to load %d.MSG\n", module);
return 0;
}
@@ -211,17 +191,17 @@ int message_state_load_res(message_state_t *state, int module)
return 1;
}
-static message_handler_t fixed_handler = {3411,
- index_record_parse_3411,
- index_record_get_talker_3411,
- index_record_get_text_3411,
- header_get_index_record_count_3411,
+static message_handler_t fixed_handler = {3411,
+ index_record_parse_3411,
+ index_record_get_talker_3411,
+ index_record_get_text_3411,
+ header_get_index_record_count_3411,
- 10,
- 11};
+ 10,
+ 11
+ };
-void message_state_initialize(resource_mgr_t *resmgr, message_state_t *state)
-{
+void message_state_initialize(resource_mgr_t *resmgr, message_state_t *state) {
// resource_t *tester = scir_find_resource(resmgr, sci_message, 0, 0);
//int version;