diff options
Diffstat (limited to 'engines/sci/engine')
| -rw-r--r-- | engines/sci/engine/game.cpp | 2 | ||||
| -rw-r--r-- | engines/sci/engine/grammar.cpp | 4 | ||||
| -rw-r--r-- | engines/sci/engine/int_hashmap.h | 4 | ||||
| -rw-r--r-- | engines/sci/engine/kernel.cpp | 2 | ||||
| -rw-r--r-- | engines/sci/engine/kernel_types.h | 2 | ||||
| -rw-r--r-- | engines/sci/engine/kfile.cpp | 6 | ||||
| -rw-r--r-- | engines/sci/engine/kgraphics.cpp | 48 | ||||
| -rw-r--r-- | engines/sci/engine/kmenu.cpp | 4 | ||||
| -rw-r--r-- | engines/sci/engine/kpathing.cpp | 4 | ||||
| -rw-r--r-- | engines/sci/engine/kscripts.cpp | 4 | ||||
| -rw-r--r-- | engines/sci/engine/ksound.cpp | 62 | ||||
| -rw-r--r-- | engines/sci/engine/said.cpp | 14 | ||||
| -rw-r--r-- | engines/sci/engine/said.y | 16 | ||||
| -rw-r--r-- | engines/sci/engine/savegame.cfsml | 18 | ||||
| -rw-r--r-- | engines/sci/engine/savegame.cpp | 124 | ||||
| -rw-r--r-- | engines/sci/engine/scriptdebug.cpp | 16 | ||||
| -rw-r--r-- | engines/sci/engine/seg_manager.cpp | 10 | ||||
| -rw-r--r-- | engines/sci/engine/seg_manager.h | 32 | ||||
| -rw-r--r-- | engines/sci/engine/vm.cpp | 404 |
19 files changed, 388 insertions, 388 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp index 6d0dd3b925..5c7bd07f3e 100644 --- a/engines/sci/engine/game.cpp +++ b/engines/sci/engine/game.cpp @@ -415,7 +415,7 @@ static int create_class_table_sci0(EngineState *s) { s->classtable = (class_t*)sci_realloc(s->classtable, sizeof(class_t) * (classnr + 1)); // Clear after resize - memset(&(s->classtable[s->classtable_size]), 0, sizeof(class_t) * (1 + classnr - s->classtable_size)); + memset(&(s->classtable[s->classtable_size]), 0, sizeof(class_t) * (1 + classnr - s->classtable_size)); s->classtable_size = classnr + 1; // Adjust maximum number of entries } diff --git a/engines/sci/engine/grammar.cpp b/engines/sci/engine/grammar.cpp index 5d72dcd8ad..f3a3d2c33b 100644 --- a/engines/sci/engine/grammar.cpp +++ b/engines/sci/engine/grammar.cpp @@ -417,7 +417,7 @@ void vocab_gnf_dump(parse_tree_branch_t *branches, int branches_nr) { } int vocab_build_parse_tree(parse_tree_node_t *nodes, result_word_t *words, int words_nr, - parse_tree_branch_t *branch0, parse_rule_list_t *rules) { + parse_tree_branch_t *branch0, parse_rule_list_t *rules) { return vocab_gnf_parse(nodes, words, words_nr, branch0, rules, 0); } @@ -488,7 +488,7 @@ static int _vbpt_write_subexpression(parse_tree_node_t *nodes, int *pos, parse_r } int vocab_gnf_parse(parse_tree_node_t *nodes, result_word_t *words, int words_nr, - parse_tree_branch_t *branch0, parse_rule_list_t *tlist, int verbose) { + parse_tree_branch_t *branch0, parse_rule_list_t *tlist, int verbose) { // Get the start rules: parse_rule_list_t *work = _vocab_clone_rule_list_by_id(tlist, branch0->data[1]); parse_rule_list_t *results = NULL; diff --git a/engines/sci/engine/int_hashmap.h b/engines/sci/engine/int_hashmap.h index c677079211..e191f76c0f 100644 --- a/engines/sci/engine/int_hashmap.h +++ b/engines/sci/engine/int_hashmap.h @@ -50,7 +50,7 @@ struct int_hash_map_t { node_t *next; }; - int base_value; // Starts at zero, counts upwards + int base_value; // Starts at zero, counts upwards node_t *nodes[DCS_INT_HASH_MAX + 1]; node_t *holes; /* List of freed entries to minimize ** memory operations and modifications @@ -61,7 +61,7 @@ struct int_hash_map_t { public: int_hash_map_t(); ~int_hash_map_t(); - + /** * Checks whether a value is in the map, adds it if neccessary. * @param value The value to check for/add diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 5c5cf51a04..62fc356857 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -557,7 +557,7 @@ reg_t kGetTime(EngineState *s, int funct_nr, int argc, reg_t *argv) { return make_reg(0, retval); } -#define K_MEMORY_ALLOCATE_CRITICAL 1 +#define K_MEMORY_ALLOCATE_CRITICAL 1 #define K_MEMORY_ALLOCATE_NONCRITICAL 2 #define K_MEMORY_FREE 3 #define K_MEMORY_MEMCPY 4 diff --git a/engines/sci/engine/kernel_types.h b/engines/sci/engine/kernel_types.h index 7065b595a6..473d6afe09 100644 --- a/engines/sci/engine/kernel_types.h +++ b/engines/sci/engine/kernel_types.h @@ -41,7 +41,7 @@ namespace Sci { #define KSIG_SPEC_ARITHMETIC 'i' #define KSIG_SPEC_NULL 'z' #define KSIG_SPEC_ANY '.' -#define KSIG_SPEC_ALLOW_INV '!' // Allow invalid pointers +#define KSIG_SPEC_ALLOW_INV '!' // Allow invalid pointers #define KSIG_SPEC_ELLIPSIS '*' // Arbitrarily more TYPED arguments #define KSIG_SPEC_SUM_DONE ('a' - 'A') // Use small letters to indicate end of sum type diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 33461cb6a4..231b62831a 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -207,7 +207,7 @@ static FILE *getFileFromHandle(EngineState *s, int handle) { SCIkwarn(SCIkERROR, "Attempt to use invalid/unused file handle %d\n", handle); return 0; } - + return s->file_handles[handle]; } @@ -628,7 +628,7 @@ reg_t kGetSaveFiles(EngineState *s, int funct_nr, int argc, reg_t *argv) { char namebuf[SCI_MAX_SAVENAME_LENGTH]; // Save game name buffer strncpy(namebuf, meta.savegame_name, SCI_MAX_SAVENAME_LENGTH); namebuf[SCI_MAX_SAVENAME_LENGTH-1] = 0; - + if (strlen(namebuf) > 0) { if (namebuf[strlen(namebuf) - 1] == '\n') namebuf[strlen(namebuf) - 1] = 0; // Remove trailing newline @@ -772,7 +772,7 @@ reg_t kValidPath(EngineState *s, int funct_nr, int argc, reg_t *argv) { return s->r_acc; } -#define K_FILEIO_OPEN 0 +#define K_FILEIO_OPEN 0 #define K_FILEIO_CLOSE 1 #define K_FILEIO_READ_RAW 2 #define K_FILEIO_WRITE_RAW 3 diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index ff31b4b2bd..887053c8e8 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -58,34 +58,34 @@ namespace Sci { #define ADD_TO_CURRENT_PORT(widget) \ - {if (s->port) \ - s->port->add(GFXWC(s->port), GFXW(widget)); \ - else \ - s->picture_port->add(GFXWC(s->visual), GFXW(widget));} + {if (s->port) \ + s->port->add(GFXWC(s->port), GFXW(widget)); \ + else \ + s->picture_port->add(GFXWC(s->visual), GFXW(widget));} #define ADD_TO_CURRENT_PICTURE_PORT(widget) \ - {if (s->port) \ - s->port->add(GFXWC(s->port), GFXW(widget)); \ - else \ - s->picture_port->add(GFXWC(s->picture_port), GFXW(widget));} + {if (s->port) \ + s->port->add(GFXWC(s->port), GFXW(widget)); \ + else \ + s->picture_port->add(GFXWC(s->picture_port), GFXW(widget));} #define ADD_TO_WINDOW_PORT(widget) \ - s->wm_port->add(GFXWC(s->wm_port), GFXW(widget)); + s->wm_port->add(GFXWC(s->wm_port), GFXW(widget)); #define ADD_TO_CURRENT_FG_WIDGETS(widget) \ - ADD_TO_CURRENT_PICTURE_PORT(widget) + ADD_TO_CURRENT_PICTURE_PORT(widget) #define ADD_TO_CURRENT_BG_WIDGETS(widget) \ - ADD_TO_CURRENT_PICTURE_PORT(widget) + ADD_TO_CURRENT_PICTURE_PORT(widget) #define FULL_REDRAW()\ - if (s->visual) \ - s->visual->draw(GFXW(s->visual), gfxw_point_zero); \ - gfxop_update(s->gfx_state); + if (s->visual) \ + s->visual->draw(GFXW(s->visual), gfxw_point_zero); \ + gfxop_update(s->gfx_state); #define FULL_INSPECTION()\ - if (s->visual) \ - s->visual->print(GFXW(s->visual), 0); + if (s->visual) \ + s->visual->print(GFXW(s->visual), 0); #define GFX_ASSERT(x) { \ @@ -949,7 +949,7 @@ reg_t kNumCels(EngineState *s, int funct_nr, int argc, reg_t *argv) { int cel = 0xffff; - if (gfxop_check_cel(s->gfx_state, view, &loop, &cel)) { + if (gfxop_check_cel(s->gfx_state, view, &loop, &cel)) { // OK, this is a hack and there's a // real function to calculate cel numbers... SCIkwarn(SCIkERROR, "view.%d (0x%x) not found\n", view, view); @@ -1250,7 +1250,7 @@ static void _k_set_now_seen(EngineState *s, reg_t object) { abs_rect_t absrect = get_nsrect(s, object, 0); if (lookup_selector(s, object, s->selector_map.nsTop, NULL, NULL) != SELECTOR_VARIABLE) { - return; + return; } // This isn't fatal PUT_SEL32V(object, nsLeft, absrect.x); @@ -1463,7 +1463,7 @@ reg_t kEditControl(EngineState *s, int funct_nr, int argc, reg_t *argv) { cursor = textlen; break; case SCI_K_RIGHT: - if (cursor + 1 <= textlen) + if (cursor + 1 <= textlen) ++cursor; break; case SCI_K_LEFT: @@ -1663,7 +1663,7 @@ static void draw_rect_to_control_map(EngineState *s, abs_rect_t abs_zone) { SCIkdebug(SCIkGRAPHICS, " adding control block (%d,%d)to(%d,%d)\n", abs_zone.x, abs_zone.y, abs_zone.xend, abs_zone.yend); - box = gfxw_new_box(s->gfx_state, gfx_rect(abs_zone.x, abs_zone.y, abs_zone.xend - abs_zone.x, + box = gfxw_new_box(s->gfx_state, gfx_rect(abs_zone.x, abs_zone.y, abs_zone.xend - abs_zone.x, abs_zone.yend - abs_zone.y), color, color, GFX_BOX_SHADE_FLAT); assert_primary_widget_lists(s); @@ -1725,7 +1725,7 @@ static void _k_view_list_do_postdraw(EngineState *s, gfxw_list_t *list) { #endif } #ifdef DEBUG_LSRECT - else + else fprintf(stderr, "Not lsRecting "PREG" because %d\n", PRINT_REG(obj), lookup_selector(s, obj, s->selector_map.nsBottom, NULL, NULL)); #endif @@ -2501,7 +2501,7 @@ reg_t kNewWindow(EngineState *s, int funct_nr, int argc, reg_t *argv) { lWhite.alpha = 0; window = sciw_new_window(s, gfx_rect(x, y, xl, yl), s->titlebar_port->font_nr, fgcolor, bgcolor, - s->titlebar_port->font_nr, lWhite, black, argv[4 + argextra].segment ? + s->titlebar_port->font_nr, lWhite, black, argv[4 + argextra].segment ? kernel_dereference_char_pointer(s, argv[4 + argextra], 0) : NULL, flags); // PQ3 has the interpreter store underBits implicitly. @@ -2548,10 +2548,10 @@ reg_t kNewWindow(EngineState *s, int funct_nr, int argc, reg_t *argv) { #define K_ANIMATE_OPEN_SIMPLE 100 // No animation #define GRAPH_BLANK_BOX(s, x, y, xl, yl, color) GFX_ASSERT(gfxop_fill_box(s->gfx_state, \ - gfx_rect(x, (((y) < 10)? 10 : (y)), xl, (((y) < 10)? ((y) - 10) : 0) + (yl)), s->ega_colors[color])); + gfx_rect(x, (((y) < 10)? 10 : (y)), xl, (((y) < 10)? ((y) - 10) : 0) + (yl)), s->ega_colors[color])); #define GRAPH_UPDATE_BOX(s, x, y, xl, yl) GFX_ASSERT(gfxop_draw_pixmap(s->gfx_state, newscreen, \ - gfx_rect(x, (((y) < 10)? 10 : (y)) - 10, xl, (((y) < 10)? ((y) - 10) : 0) + (yl)), Common::Point(x, ((y) < 10)? 10 : (y) ))); + gfx_rect(x, (((y) < 10)? 10 : (y)) - 10, xl, (((y) < 10)? ((y) - 10) : 0) + (yl)), Common::Point(x, ((y) < 10)? 10 : (y) ))); static void animate_do_animation(EngineState *s, int funct_nr, int argc, reg_t *argv) { int i, remaining_checkers; diff --git a/engines/sci/engine/kmenu.cpp b/engines/sci/engine/kmenu.cpp index 7546c8b712..24e19bd3b2 100644 --- a/engines/sci/engine/kmenu.cpp +++ b/engines/sci/engine/kmenu.cpp @@ -301,8 +301,8 @@ _menu_go_down(EngineState *s, int menu_nr, int item_nr) { } #define FULL_REDRAW \ - s->visual->draw(GFXW(s->visual), Common::Point(0, 0)); \ - gfxop_update(s->gfx_state); + s->visual->draw(GFXW(s->visual), Common::Point(0, 0)); \ + gfxop_update(s->gfx_state); reg_t diff --git a/engines/sci/engine/kpathing.cpp b/engines/sci/engine/kpathing.cpp index 204dae4258..a5546389be 100644 --- a/engines/sci/engine/kpathing.cpp +++ b/engines/sci/engine/kpathing.cpp @@ -65,9 +65,9 @@ namespace Sci { // Visibility matrix #define VIS_MATRIX_ROW_SIZE(N) (((N) / 8) + ((N) % 8 ? 1 : 0)) #define SET_VISIBLE(S, P, Q) ((S)->vis_matrix)[(P) * VIS_MATRIX_ROW_SIZE((S)->vertices) \ - + (Q) / 8] |= (1 << ((Q) % 8)) + + (Q) / 8] |= (1 << ((Q) % 8)) #define IS_VISIBLE(S, P, Q) (((S)->vis_matrix[(P) * VIS_MATRIX_ROW_SIZE((S)->vertices) \ - + (Q) / 8] & (1 << ((Q) % 8))) != 0) + + (Q) / 8] & (1 << ((Q) % 8))) != 0) #define VERTEX_HAS_EDGES(V) ((V) != CLIST_NEXT(V, entries)) diff --git a/engines/sci/engine/kscripts.cpp b/engines/sci/engine/kscripts.cpp index d3fb235120..e231a213da 100644 --- a/engines/sci/engine/kscripts.cpp +++ b/engines/sci/engine/kscripts.cpp @@ -55,7 +55,7 @@ void write_selector(EngineState *s, reg_t object, selector_t selector_id, reg_t } int invoke_selector(EngineState *s, reg_t object, int selector_id, int noinvalid, int kfunct, - stack_ptr_t k_argp, int k_argc, const char *fname, int line, int argc, ...) { + stack_ptr_t k_argp, int k_argc, const char *fname, int line, int argc, ...) { va_list argp; int i; int framesize = 2 + 1 * argc; @@ -224,7 +224,7 @@ reg_t kDisposeClone(EngineState *s, int funct_nr, int argc, reg_t *argv) { victim_obj->flags |= OBJECT_FLAG_FREED; - _k_view_list_mark_free(s, victim_addr); // Free on view list, if neccessary + _k_view_list_mark_free(s, victim_addr); // Free on view list, if neccessary return s->r_acc; } diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index f103631bbe..2f6f3e8eab 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -363,7 +363,7 @@ kDoSound_SCI0(EngineState *s, int funct_nr, int argc, reg_t *argv) { int sfx_send_midi(sfx_state_t *self, song_handle_t handle, int channel, - int command, int arg1, int arg2); + int command, int arg1, int arg2); reg_t kDoSound_SCI01(EngineState *s, int funct_nr, int argc, reg_t *argv) { @@ -472,7 +472,7 @@ kDoSound_SCI01(EngineState *s, int funct_nr, int argc, reg_t *argv) { int looping = GET_SEL32V(obj, loop); //int vol = GET_SEL32V(obj, vol); int pri = GET_SEL32V(obj, pri); - RESTORE_BEHAVIOR rb = (RESTORE_BEHAVIOR) UKPV(2); /* Too lazy to look up a default value for this */ + RESTORE_BEHAVIOR rb = (RESTORE_BEHAVIOR) UKPV(2); /* Too lazy to look up a default value for this */ if (obj.segment) { sfx_song_set_status(&s->sound, @@ -609,33 +609,33 @@ kDoSound_SCI01(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; /* Doesn't happen */ } - /* switch (signal) */ - /* { */ - /* case 0x00: */ - /* if (dataInc!=GET_SEL32V(obj, dataInc)) */ - /* { */ - /* PUT_SEL32V(obj, dataInc, dataInc); */ - /* PUT_SEL32V(obj, signal, dataInc+0x7f); */ - /* } else */ - /* { */ - /* PUT_SEL32V(obj, signal, signal); */ - /* } */ - /* break; */ - /* case 0xFF: /\* May be unnecessary *\/ */ - /* sfx_song_set_status(&s->sound, */ - /* handle, SOUND_STATUS_STOPPED); */ - /* break; */ - /* default : */ - /* if (dataInc!=GET_SEL32V(obj, dataInc)) */ - /* { */ - /* PUT_SEL32V(obj, dataInc, dataInc); */ - /* PUT_SEL32V(obj, signal, dataInc+0x7f); */ - /* } else */ - /* { */ - /* PUT_SEL32V(obj, signal, signal); */ - /* } */ - /* break; */ - /* } */ + /* switch (signal) */ + /* { */ + /* case 0x00: */ + /* if (dataInc!=GET_SEL32V(obj, dataInc)) */ + /* { */ + /* PUT_SEL32V(obj, dataInc, dataInc); */ + /* PUT_SEL32V(obj, signal, dataInc+0x7f); */ + /* } else */ + /* { */ + /* PUT_SEL32V(obj, signal, signal); */ + /* } */ + /* break; */ + /* case 0xFF: /\* May be unnecessary *\/ */ + /* sfx_song_set_status(&s->sound, */ + /* handle, SOUND_STATUS_STOPPED); */ + /* break; */ + /* default : */ + /* if (dataInc!=GET_SEL32V(obj, dataInc)) */ + /* { */ + /* PUT_SEL32V(obj, dataInc, dataInc); */ + /* PUT_SEL32V(obj, signal, dataInc+0x7f); */ + /* } else */ + /* { */ + /* PUT_SEL32V(obj, signal, signal); */ + /* } */ + /* break; */ + /* } */ PUT_SEL32V(obj, min, min); PUT_SEL32V(obj, sec, sec); @@ -668,7 +668,7 @@ kDoSound_SCI01(EngineState *s, int funct_nr, int argc, reg_t *argv) { int sfx_send_midi(sfx_state_t *self, song_handle_t handle, int channel, - int command, int arg1, int arg2); + int command, int arg1, int arg2); reg_t kDoSound_SCI1(EngineState *s, int funct_nr, int argc, reg_t *argv) { @@ -772,7 +772,7 @@ kDoSound_SCI1(EngineState *s, int funct_nr, int argc, reg_t *argv) { s->acc = s->sound_server->command(s, SOUND_COMMAND_SET_VOLUME, 0, vol); else s->acc = s->sound_server->command(s, SOUND_COMMAND_GET_VOLUME, 0, 0); - break;*/ + break;*/ } case _K_SCI1_SOUND_MUTE_SOUND : { /* if there's a parameter, we're setting it. Otherwise, diff --git a/engines/sci/engine/said.cpp b/engines/sci/engine/said.cpp index 1e47ad3966..15110bd44c 100644 --- a/engines/sci/engine/said.cpp +++ b/engines/sci/engine/said.cpp @@ -899,7 +899,7 @@ yy_reduce_print (yyvsp, yyrule) fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) - ); + ); fprintf (stderr, "\n"); } } @@ -1237,7 +1237,7 @@ yyparse () #endif #endif { - + int yystate; int yyn; int yyresult; @@ -1939,7 +1939,7 @@ static tree_t said_paren(tree_t t1, tree_t t2) { static tree_t said_value(int val, tree_t t) { return said_branch_node(SAID_NEXT_NODE, said_leaf_node(SAID_NEXT_NODE, val), t); - + } static tree_t said_terminal(int val) { @@ -2138,7 +2138,7 @@ static void aug_find_words_recursively(parse_tree_node_t *tree, int startpos, in while (pos) { if ((word = aug_get_wgroup(tree, pos))) { // found a word - if (!refbranch && major == WORD_TYPE_BASE) { + if (!refbranch && major == WORD_TYPE_BASE) { if ((*base_words_nr) == maxwords) { sciprintf("Out of regular words\n"); return; // return gracefully @@ -2160,9 +2160,9 @@ static void aug_find_words_recursively(parse_tree_node_t *tree, int startpos, in } if (major != WORD_TYPE_SYNTACTIC_SUGAR && major != WORD_TYPE_BASE && major != WORD_TYPE_REF) sciprintf("aug_find_words_recursively(): Unknown word type %03x\n", major); - + } else // Did NOT find a word group: Attempt to recurse - aug_find_words_recursively(tree, pos, base_words, base_words_nr, + aug_find_words_recursively(tree, pos, base_words, base_words_nr, ref_words, ref_words_nr, maxwords, refbranch || major == WORD_TYPE_REF); pos = aug_get_next_sibling(tree, pos, &major, &minor); @@ -2404,7 +2404,7 @@ static int augment_parse_nodes(parse_tree_node_t *parset, parse_tree_node_t *sai sciprintf("augment_parse_nodes(): Parse tree is corrupt\n"); return 0; } - + augment_basepos = aug_get_base_node(saidt); if (!augment_basepos) { sciprintf("augment_parse_nodes(): Said tree is corrupt\n"); diff --git a/engines/sci/engine/said.y b/engines/sci/engine/said.y index 0663387f24..8ecb0a20c8 100644 --- a/engines/sci/engine/said.y +++ b/engines/sci/engine/said.y @@ -118,8 +118,8 @@ static int yyerror(const char *s) { %% -saidspec : leftspec optcont - { $$ = said_top_branch(said_attach_branch($1, $2)); } +saidspec : leftspec optcont + { $$ = said_top_branch(said_attach_branch($1, $2)); } | leftspec midspec optcont { $$ = said_top_branch(said_attach_branch($1, said_attach_branch($2, $3))); } | leftspec midspec rightspec optcont @@ -180,7 +180,7 @@ wordset : word { $$ = $1; } | wordset YY_COMMA wordset { $$ = said_attach_branch($1, $3); } - | wordset YY_BRACKETSO_LT wordrefset YY_BRACKETSC + | wordset YY_BRACKETSO_LT wordrefset YY_BRACKETSC { $$ = said_attach_branch($1, $3); } | wordset YY_COMMA YY_BRACKETSO wordset YY_BRACKETSC { $$ = said_attach_branch($1, $3); } @@ -295,7 +295,7 @@ static tree_t said_paren(tree_t t1, tree_t t2) { static tree_t said_value(int val, tree_t t) { return said_branch_node(SAID_NEXT_NODE, said_leaf_node(SAID_NEXT_NODE, val), t); - + } static tree_t said_terminal(int val) { @@ -494,7 +494,7 @@ static void aug_find_words_recursively(parse_tree_node_t *tree, int startpos, in while (pos) { if ((word = aug_get_wgroup(tree, pos))) { // found a word - if (!refbranch && major == WORD_TYPE_BASE) { + if (!refbranch && major == WORD_TYPE_BASE) { if ((*base_words_nr) == maxwords) { sciprintf("Out of regular words\n"); return; // return gracefully @@ -516,9 +516,9 @@ static void aug_find_words_recursively(parse_tree_node_t *tree, int startpos, in } if (major != WORD_TYPE_SYNTACTIC_SUGAR && major != WORD_TYPE_BASE && major != WORD_TYPE_REF) sciprintf("aug_find_words_recursively(): Unknown word type %03x\n", major); - + } else // Did NOT find a word group: Attempt to recurse - aug_find_words_recursively(tree, pos, base_words, base_words_nr, + aug_find_words_recursively(tree, pos, base_words, base_words_nr, ref_words, ref_words_nr, maxwords, refbranch || major == WORD_TYPE_REF); pos = aug_get_next_sibling(tree, pos, &major, &minor); @@ -760,7 +760,7 @@ static int augment_parse_nodes(parse_tree_node_t *parset, parse_tree_node_t *sai sciprintf("augment_parse_nodes(): Parse tree is corrupt\n"); return 0; } - + augment_basepos = aug_get_base_node(saidt); if (!augment_basepos) { sciprintf("augment_parse_nodes(): Said tree is corrupt\n"); diff --git a/engines/sci/engine/savegame.cfsml b/engines/sci/engine/savegame.cfsml index e61925329d..b4b043ae6b 100644 --- a/engines/sci/engine/savegame.cfsml +++ b/engines/sci/engine/savegame.cfsml @@ -251,7 +251,7 @@ RECORD song_t "song_t" { int loops; int hold; } - + RECORD int_hash_map_t "int_hash_map_t" { int base_value; int_hash_map_node_tp nodes[STATIC DCS_INT_HASH_MAX+1]; @@ -481,7 +481,7 @@ int read_songlib_t(Common::SeekableReadStream *fh, songlib_t *songlib, const cha for (i = 0; i < songcount; i++) { %CFSMLREAD song_tp &newsong FROM fh ERRVAR *hiteof FIRSTTOKEN lastval LINECOUNTER *line; song_lib_add(*songlib, newsong); - } + } l = fh->readLine(); // "]" l = fh->readLine(); // "}" *line += 2; @@ -567,7 +567,7 @@ int read_int_hash_map_node_tp(Common::SeekableReadStream *fh, int_hash_map_t::no sciprintf("Expected opening bracket in hash_map_node_t on line %d\n", *line); return 1; } - + do { (*line)++; SRSgets(buffer, 80, fh); @@ -612,7 +612,7 @@ int read_menubar_tp(Common::SeekableReadStream *fh, menubar_t **foo, const char } void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { - WSprintf(fh, "%s\n", mem_obj_string_names[foo->type].name); + WSprintf(fh, "%s\n", mem_obj_string_names[foo->type].name); %CFSMLWRITE int &foo->segmgr_id INTO fh; switch (foo->type) { case MEM_OBJ_SCRIPT: @@ -632,10 +632,10 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { break; case MEM_OBJ_HUNK: break; - case MEM_OBJ_LISTS: + case MEM_OBJ_LISTS: %CFSMLWRITE list_table_t &foo->data.lists INTO fh; break; - case MEM_OBJ_NODES: + case MEM_OBJ_NODES: %CFSMLWRITE node_table_t &foo->data.nodes INTO fh; break; case MEM_OBJ_DYNMEM: @@ -857,7 +857,7 @@ static void reconstruct_scripts(EngineState *s, SegManager *self) { if (!self->isSci1_1) scr->export_table += 3; - + for (j = 0; j < scr->objects_nr; j++) { byte *data = scr->buf + scr->objects[j].pos.offset; scr->objects[j].base = scr->buf; @@ -926,7 +926,7 @@ void reconstruct_clones(EngineState *s, SegManager *self) { case MEM_OBJ_CLONES: { int j; clone_entry_t *seeker = mobj->data.clones.table; - + sciprintf("Free list: "); for (j = mobj->data.clones.first_free; j != HEAPENTRY_INVALID; j = mobj->data.clones.table[j].next_free) { sciprintf("%d ", j); @@ -941,7 +941,7 @@ void reconstruct_clones(EngineState *s, SegManager *self) { sciprintf("\n"); for (j = 0; j < mobj->data.clones.max_entry; j++) { - object_t *base_obj; + object_t *base_obj; if (!clone_entry_used(&mobj->data.clones, j)) { seeker++; diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 76ef6f7710..881c13faf8 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -326,7 +326,7 @@ static char *_cfsml_unmangle_string(const char *s, unsigned int length) { while ((source != end) && (c = *source++) && (c > 31)) { if (c == '\\') { // Escaped character? - c = *source++; + c = *source++; if ((c != '\\') && (c != '"')) // Un-escape 0-31 only c -= ('a' - 1); } @@ -606,7 +606,7 @@ _cfsml_read_sfx_state_t(Common::SeekableReadStream *fh, sfx_state_t* save_struc, return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -674,7 +674,7 @@ _cfsml_read_clone_entry_t(Common::SeekableReadStream *fh, clone_entry_t* save_st return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -771,7 +771,7 @@ _cfsml_read_object_t(Common::SeekableReadStream *fh, object_t* save_struc, const return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -860,10 +860,10 @@ _cfsml_read_object_t(Common::SeekableReadStream *fh, object_t* save_struc, const _cfsml_error("Token expected by read_reg_t() for variables[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->variables_nr = max ; // Set array size accordingly + save_struc->variables_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -962,7 +962,7 @@ _cfsml_read_menubar_t(Common::SeekableReadStream *fh, menubar_t* save_struc, con return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1016,10 +1016,10 @@ _cfsml_read_menubar_t(Common::SeekableReadStream *fh, menubar_t* save_struc, con _cfsml_error("Token expected by _cfsml_read_menu_t() for menus[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->menus_nr = max ; // Set array size accordingly + save_struc->menus_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -1094,7 +1094,7 @@ _cfsml_read_list_entry_t(Common::SeekableReadStream *fh, list_entry_t* save_stru return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1177,7 +1177,7 @@ _cfsml_read_int_hash_map_t(Common::SeekableReadStream *fh, int_hash_map_t* save_ return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1224,7 +1224,7 @@ _cfsml_read_int_hash_map_t(Common::SeekableReadStream *fh, int_hash_map_t* save_ _cfsml_error("Token expected by read_int_hash_map_node_tp() for nodes[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); } else @@ -1312,7 +1312,7 @@ _cfsml_read_SegManager(Common::SeekableReadStream *fh, SegManager* save_struc, c return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1373,10 +1373,10 @@ _cfsml_read_SegManager(Common::SeekableReadStream *fh, SegManager* save_struc, c _cfsml_error("Token expected by read_mem_obj_tp() for heap[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->heap_size = max ; // Set array size accordingly + save_struc->heap_size = max ; // Set array size accordingly } else if (!strcmp(token, "heap_size")) { #line 690 "engines/sci/engine/savegame.cfsml" @@ -1506,7 +1506,7 @@ _cfsml_read_song_t(Common::SeekableReadStream *fh, song_t* save_struc, const cha return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1661,7 +1661,7 @@ _cfsml_read_menu_item_t(Common::SeekableReadStream *fh, menu_item_t* save_struc, return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1729,7 +1729,7 @@ _cfsml_read_menu_item_t(Common::SeekableReadStream *fh, menu_item_t* save_struc, _cfsml_error("Token expected by _cfsml_read_byte() for said[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); } else @@ -1829,7 +1829,7 @@ _cfsml_read_node_entry_t(Common::SeekableReadStream *fh, node_entry_t* save_stru return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -1943,7 +1943,7 @@ _cfsml_read_dynmem_t(Common::SeekableReadStream *fh, dynmem_t* save_struc, const return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2011,10 +2011,10 @@ _cfsml_read_dynmem_t(Common::SeekableReadStream *fh, dynmem_t* save_struc, const _cfsml_error("Token expected by _cfsml_read_byte() for buf[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->size = max ; // Set array size accordingly + save_struc->size = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -2076,7 +2076,7 @@ _cfsml_read_local_variables_t(Common::SeekableReadStream *fh, local_variables_t* return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2144,10 +2144,10 @@ _cfsml_read_local_variables_t(Common::SeekableReadStream *fh, local_variables_t* _cfsml_error("Token expected by read_reg_t() for locals[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->nr = max ; // Set array size accordingly + save_struc->nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -2215,7 +2215,7 @@ _cfsml_read_node_table_t(Common::SeekableReadStream *fh, node_table_t* save_stru return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2297,10 +2297,10 @@ _cfsml_read_node_table_t(Common::SeekableReadStream *fh, node_table_t* save_stru _cfsml_error("Token expected by _cfsml_read_node_entry_t() for table[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->entries_nr = max ; // Set array size accordingly + save_struc->entries_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -2354,7 +2354,7 @@ _cfsml_read_sys_strings_t(Common::SeekableReadStream *fh, sys_strings_t* save_st return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2394,7 +2394,7 @@ _cfsml_read_sys_strings_t(Common::SeekableReadStream *fh, sys_strings_t* save_st _cfsml_error("Token expected by _cfsml_read_sys_string_t() for strings[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); } else @@ -2477,7 +2477,7 @@ _cfsml_read_node_t(Common::SeekableReadStream *fh, node_t* save_struc, const cha return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2585,7 +2585,7 @@ _cfsml_read_list_table_t(Common::SeekableReadStream *fh, list_table_t* save_stru return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2667,10 +2667,10 @@ _cfsml_read_list_table_t(Common::SeekableReadStream *fh, list_table_t* save_stru _cfsml_error("Token expected by _cfsml_read_list_entry_t() for table[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->entries_nr = max ; // Set array size accordingly + save_struc->entries_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -2719,7 +2719,7 @@ _cfsml_read_class_t(Common::SeekableReadStream *fh, class_t* save_struc, const c return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2880,7 +2880,7 @@ _cfsml_read_EngineState(Common::SeekableReadStream *fh, EngineState* save_struc, return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -2990,10 +2990,10 @@ _cfsml_read_EngineState(Common::SeekableReadStream *fh, EngineState* save_struc, _cfsml_error("Token expected by _cfsml_read_class_t() for classtable[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->classtable_size = max ; // Set array size accordingly + save_struc->classtable_size = max ; // Set array size accordingly } else if (!strcmp(token, "sound")) { #line 690 "engines/sci/engine/savegame.cfsml" @@ -3061,7 +3061,7 @@ _cfsml_read_SavegameMetadata(Common::SeekableReadStream *fh, SavegameMetadata* s return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3180,7 +3180,7 @@ _cfsml_read_menu_t(Common::SeekableReadStream *fh, menu_t* save_struc, const cha return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3255,10 +3255,10 @@ _cfsml_read_menu_t(Common::SeekableReadStream *fh, menu_t* save_struc, const cha _cfsml_error("Token expected by _cfsml_read_menu_item_t() for items[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->items_nr = max ; // Set array size accordingly + save_struc->items_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -3326,7 +3326,7 @@ _cfsml_read_clone_table_t(Common::SeekableReadStream *fh, clone_table_t* save_st return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3408,10 +3408,10 @@ _cfsml_read_clone_table_t(Common::SeekableReadStream *fh, clone_table_t* save_st _cfsml_error("Token expected by _cfsml_read_clone_entry_t() for table[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->entries_nr = max ; // Set array size accordingly + save_struc->entries_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -3482,7 +3482,7 @@ _cfsml_read_clone_t(Common::SeekableReadStream *fh, clone_t* save_struc, const c return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3571,10 +3571,10 @@ _cfsml_read_clone_t(Common::SeekableReadStream *fh, clone_t* save_struc, const c _cfsml_error("Token expected by read_reg_t() for variables[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->variables_nr = max ; // Set array size accordingly + save_struc->variables_nr = max ; // Set array size accordingly } else #line 699 "engines/sci/engine/savegame.cfsml" { @@ -3623,7 +3623,7 @@ _cfsml_read_list_t(Common::SeekableReadStream *fh, list_t* save_struc, const cha return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3701,7 +3701,7 @@ _cfsml_read_sys_string_t(Common::SeekableReadStream *fh, sys_string_t* save_stru return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3829,7 +3829,7 @@ _cfsml_read_script_t(Common::SeekableReadStream *fh, script_t* save_struc, const return CFSML_FAILURE; } if (!assignment) { - if (!strcmp(token, "}")) + if (!strcmp(token, "}")) closed = 1; else { _cfsml_error("Expected assignment or closing braces in line %d\n", *line); @@ -3953,10 +3953,10 @@ _cfsml_read_script_t(Common::SeekableReadStream *fh, script_t* save_struc, const _cfsml_error("Token expected by _cfsml_read_object_t() for objects[i++] at line %d\n", *line); return CFSML_FAILURE; } - } else + } else done = 1; } while (!done); - save_struc->objects_allocated = max ; // Set array size accordingly + save_struc->objects_allocated = max ; // Set array size accordingly } else if (!strcmp(token, "locals_offset")) { #line 690 "engines/sci/engine/savegame.cfsml" @@ -3991,7 +3991,7 @@ _cfsml_read_script_t(Common::SeekableReadStream *fh, script_t* save_struc, const // Auto-generated CFSML declaration and function block ends here -// Auto-generation performed by cfsml.pl 0.8.2 +// Auto-generation performed by cfsml.pl 0.8.2 #line 447 "engines/sci/engine/savegame.cfsml" void write_songlib_t(Common::WriteStream *fh, songlib_t *songlib) { @@ -4057,7 +4057,7 @@ int read_songlib_t(Common::SeekableReadStream *fh, songlib_t *songlib, const cha // End of auto-generated CFSML data reader code #line 483 "engines/sci/engine/savegame.cfsml" song_lib_add(*songlib, newsong); - } + } l = fh->readLine(); // "]" l = fh->readLine(); // "}" *line += 2; @@ -4202,7 +4202,7 @@ int read_int_hash_map_node_tp(Common::SeekableReadStream *fh, int_hash_map_t::no sciprintf("Expected opening bracket in hash_map_node_t on line %d\n", *line); return 1; } - + do { (*line)++; SRSgets(buffer, 80, fh); @@ -4274,7 +4274,7 @@ int read_menubar_tp(Common::SeekableReadStream *fh, menubar_t **foo, const char } void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { - WSprintf(fh, "%s\n", mem_obj_string_names[foo->type].name); + WSprintf(fh, "%s\n", mem_obj_string_names[foo->type].name); #line 814 "engines/sci/engine/savegame.cfsml" // Auto-generated CFSML data writer code _cfsml_write_int(fh, &foo->segmgr_id); @@ -4324,7 +4324,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { break; case MEM_OBJ_HUNK: break; - case MEM_OBJ_LISTS: + case MEM_OBJ_LISTS: #line 814 "engines/sci/engine/savegame.cfsml" // Auto-generated CFSML data writer code _cfsml_write_list_table_t(fh, &foo->data.lists); @@ -4332,7 +4332,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { // End of auto-generated CFSML data writer code #line 637 "engines/sci/engine/savegame.cfsml" break; - case MEM_OBJ_NODES: + case MEM_OBJ_NODES: #line 814 "engines/sci/engine/savegame.cfsml" // Auto-generated CFSML data writer code _cfsml_write_node_table_t(fh, &foo->data.nodes); @@ -4808,7 +4808,7 @@ static void reconstruct_scripts(EngineState *s, SegManager *self) { if (!self->isSci1_1) scr->export_table += 3; - + for (j = 0; j < scr->objects_nr; j++) { byte *data = scr->buf + scr->objects[j].pos.offset; scr->objects[j].base = scr->buf; @@ -4877,7 +4877,7 @@ void reconstruct_clones(EngineState *s, SegManager *self) { case MEM_OBJ_CLONES: { int j; clone_entry_t *seeker = mobj->data.clones.table; - + sciprintf("Free list: "); for (j = mobj->data.clones.first_free; j != HEAPENTRY_INVALID; j = mobj->data.clones.table[j].next_free) { sciprintf("%d ", j); @@ -4892,7 +4892,7 @@ void reconstruct_clones(EngineState *s, SegManager *self) { sciprintf("\n"); for (j = 0; j < mobj->data.clones.max_entry; j++) { - object_t *base_obj; + object_t *base_obj; if (!clone_entry_used(&mobj->data.clones, j)) { seeker++; diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index b5b8da4c0b..abaae46879 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -78,7 +78,7 @@ char inputbuf[256] = ""; #define LOOKUP_SPECIES(species) (\ (species >= 1000) ? species : *(s->classtable[species].scriptposp) \ - + s->classtable[species].class_offset) + + s->classtable[species].class_offset) const char *_debug_get_input_default() { char newinpbuf[256]; @@ -2784,9 +2784,9 @@ int c_sci_version(EngineState *s) { } // int c_sleep(EngineState *s) { -// sleep(cmd_params[0].val); -// -// return 0; +// sleep(cmd_params[0].val); +// +// return 0; // } static void _print_address(void * _, reg_t addr) { @@ -2860,7 +2860,7 @@ static int c_gc_list_reachable(EngineState *s) { } void script_debug(EngineState *s, reg_t *pc, stack_ptr_t *sp, stack_ptr_t *pp, reg_t *objp, int *restadjust, - seg_id_t *segids, reg_t **variables, reg_t **variables_base, int *variables_nr, int bp) { + seg_id_t *segids, reg_t **variables, reg_t **variables_base, int *variables_nr, int bp) { // Do we support a separate console? if (sci_debug_flags & _DEBUG_FLAG_LOGGING) { @@ -2936,7 +2936,7 @@ void script_debug(EngineState *s, reg_t *pc, stack_ptr_t *sp, stack_ptr_t *pp, r } - _debug_seeking = _DEBUG_SEEK_NOTHING; + _debug_seeking = _DEBUG_SEEK_NOTHING; // OK, found whatever we were looking for } } @@ -3166,8 +3166,8 @@ void script_debug(EngineState *s, reg_t *pc, stack_ptr_t *sp, stack_ptr_t *pp, r " sfx-01-track <song> <offset>\n\n" "SEE ALSO\n\n" " sfx-01-header.1\n\n"); -// con_hook_command(c_sleep, "sleep", "i", "Suspends everything for the\n" -// " specified number of seconds"); +// con_hook_command(c_sleep, "sleep", "i", "Suspends everything for the\n" +// " specified number of seconds"); con_hook_command(c_gc_show_reachable, "gc-list-reachable", "!a", "Prints all addresses directly reachable from\n" " the memory object specified as parameter.\n\n" diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index ebdfc61b28..7713ab6dd4 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -37,7 +37,7 @@ namespace Sci { #undef DEBUG_SEG_MANAGER // Define to turn on debugging -#define GET_SEGID() \ +#define GET_SEGID() \ if (flag == SCRIPT_ID) \ id = segGet(id); \ VERIFY(check(id), "invalid seg id"); @@ -383,10 +383,10 @@ mem_obj_t *SegManager::memObjAllocate(seg_id_t segid, int hash_id, memObjType ty /* No longer in use? void SegManager::sm_object_init(object_t *object) { - if (!object) + if (!object) return; - object->variables_nr = 0; - object->variables = NULL; + object->variables_nr = 0; + object->variables = NULL; };*/ void SegManager::freeScript(mem_obj_t *mem) { @@ -634,7 +634,7 @@ int SegManager::sm_hash_segment_data(int id) { return 0; if (heap[id]->type == MEM_OBJ_NODES) return 0; - if (heap[id]->type == MEM_OBJ_CLONES) + if (heap[id]->type == MEM_OBJ_CLONES) return 0; buf = (char *)dereference(make_reg(id, 0), &len); diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 1671619368..31bad21398 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -158,11 +158,11 @@ public: int getSynonymsNr(int id, idFlag flag); - // 1b. Script Initialisation + // 1b. Script Initialisation - // The set of functions below are intended - // to be used during script instantiation, - // i.e. loading and linking. + // The set of functions below are intended + // to be used during script instantiation, + // i.e. loading and linking. // Initializes a script's local variable block // Parameters: (seg_id_t) seg: Segment containing the script to initialize @@ -187,7 +187,7 @@ public: void scriptAddCodeBlock(reg_t location); // Tells the segment manager whether exports are wide (32-bit) or not. - // Parameters: (int) flag: 1 if exports are wide, 0 otherwise + // Parameters: (int) flag: 1 if exports are wide, 0 otherwise void setExportWidth(int flag); // Processes a relocation block witin a script @@ -249,7 +249,7 @@ public: int scriptIsMarkedAsDeleted(seg_id_t seg); - // 2. Clones + // 2. Clones // Allocate a fresh clone // Returns : (clone_t*): Reference to the memory allocated for the clone @@ -261,9 +261,9 @@ public: void free_clone(reg_t addr); - // 3. Objects (static, from Scripts, and dynmic, from Clones) + // 3. Objects (static, from Scripts, and dynmic, from Clones) - // Not all of these functions are fully operational for clones ATM + // Not all of these functions are fully operational for clones ATM // Retrieves a 16 bit value from within a script's heap representation // Parameters: (reg_t) reg: The address to read from @@ -287,7 +287,7 @@ public: void mcpyInOut(int dst, const void *src, size_t n, int id, int flag); - // 4. Stack + // 4. Stack // Allocates a data stack // Parameters: (int) size: Number of stack entries to reserve @@ -296,7 +296,7 @@ public: dstack_t *allocateStack(int size, seg_id_t *segid); - // 5. System Strings + // 5. System Strings // Allocates a system string table // Returns : (dstack_t *): The physical stack @@ -305,7 +305,7 @@ public: sys_strings_t *allocateSysStrings(seg_id_t *segid); - // 6, 7. Lists and Nodes + // 6, 7. Lists and Nodes // Allocate a fresh list // Returns : (listY_t*): Reference to the memory allocated for the list @@ -362,7 +362,7 @@ public: const char *getDescription(reg_t addr); - // 10. Reserved segments + // 10. Reserved segments // Reserves a special-purpose segment // Parameters: (char *) name: A string name identifying the segment (the string is cloned and retained) @@ -372,7 +372,7 @@ public: //seg_id_t sm_allocate_reserved_segment(char *name); - // Generic Operations on Segments and Addresses + // Generic Operations on Segments and Addresses // Dereferences a raw memory pointer // Parameters: (reg_t) reg: The reference to dereference @@ -449,7 +449,7 @@ private: }; -// 11. Segment interface, primarily for GC +// 11. Segment interface, primarily for GC class SegInterface { protected: @@ -464,7 +464,7 @@ public: // For each valid address a, there exists a canonic address c(a) such that c(a) = c(c(a)). // This address "governs" a in the sense that deallocating c(a) will deallocate a. virtual reg_t findCanonicAddress(reg_t sub_addr); - + // Deallocates all memory associated with the specified address // Parameters: (reg_t) sub_addr: The address (within the given segment) to deallocate virtual void freeAtAddress(reg_t sub_addr); @@ -474,7 +474,7 @@ public: // makes sense // (void *) param: Parameter passed to 'note' virtual void listAllDeallocatable(void *param, void (*note)(void *param, reg_t addr)); - + // Iterates over all references reachable from the specified object // Parameters: (reg_t) object: The object (within the current segment) to analyse // (void *) param: Parameter passed to 'note' diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index ef57b73214..29ac898abb 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -292,7 +292,7 @@ inline exec_stack_t *execute_method(EngineState *s, uint16 script, uint16 pubfun } -static void _exec_varselectors(EngineState *s) { +static void _exec_varselectors(EngineState *s) { // Executes all varselector read/write ops on the TOS // Now check the TOS to execute all varselector entries if (s->execution_stack_pos >= 0) @@ -461,7 +461,7 @@ exec_stack_t *send_selector(EngineState *s, reg_t send_obj, reg_t work_obj, stac // placed on the TOS; as soon as it returns, it will cause the second call to be executed. for (; send_calls_nr >= 0; send_calls_nr--) if (send_calls[send_calls_nr].type == EXEC_STACK_TYPE_VARSELECTOR) // Write/read variable? - retval = add_exec_stack_varselector(s, work_obj, send_calls[send_calls_nr].argc, send_calls[send_calls_nr].argp, + retval = add_exec_stack_varselector(s, work_obj, send_calls[send_calls_nr].argc, send_calls[send_calls_nr].argp, send_calls[send_calls_nr].selector, send_calls[send_calls_nr].address.var, origin); else retval = add_exec_stack_entry(s, send_calls[send_calls_nr].address.func, send_calls[send_calls_nr].sp, work_obj, @@ -600,7 +600,7 @@ void run_vm(EngineState *s, int restoring) { object_t *obj = obj_get(s, xs->objp); script_t *local_script = script_locate_by_segment(s, xs->local_segment); int old_execution_stack_base = s->execution_stack_base; - // Used to detect the stack bottom, for "physical" returns + // Used to detect the stack bottom, for "physical" returns byte *code_buf = NULL; // (Avoid spurious warning) if (!local_script) { @@ -886,7 +886,7 @@ void run_vm(EngineState *s, int restoring) { case 0x0c: // not s->r_acc = make_reg(0, !(s->r_acc.offset || s->r_acc.segment)); - // Must allow pointers to be negated, as this is used for checking whether objects exist + // Must allow pointers to be negated, as this is used for checking whether objects exist break; case 0x0d: // eq? @@ -913,76 +913,76 @@ void run_vm(EngineState *s, int restoring) { s->r_acc = ACC_ARITHMETIC_L((int16)POP() >= (int16)/*acc*/); break; - case 0x11: // lt? + case 0x11: // lt? s->r_prev = s->r_acc; s->r_acc = ACC_ARITHMETIC_L((int16)POP() < (int16)/*acc*/); break; - case 0x12: // le? + case 0x12: // le? s->r_prev = s->r_acc; s->r_acc = ACC_ARITHMETIC_L((int16)POP() <= (int16)/*acc*/); break; - case 0x13: // ugt? + case 0x13: // ugt? s->r_prev = s->r_acc; r_temp = POP32(); s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset > s->r_acc.offset); break; - case 0x14: // uge? + case 0x14: // uge? s->r_prev = s->r_acc; r_temp = POP32(); s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset >= s->r_acc.offset); break; - case 0x15: // ult? + case 0x15: // ult? s->r_prev = s->r_acc; r_temp = POP32(); s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset < s->r_acc.offset); break; - case 0x16: // ule? + case 0x16: // ule? s->r_prev = s->r_acc; r_temp = POP32(); s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset <= s->r_acc.offset); break; - case 0x17: // bt + case 0x17: // bt if (s->r_acc.offset || s->r_acc.segment) xs->addr.pc.offset += opparams[0]; break; - case 0x18: // bnt + case 0x18: // bnt if (!(s->r_acc.offset || s->r_acc.segment)) xs->addr.pc.offset += opparams[0]; break; - case 0x19: // jmp + case 0x19: // jmp xs->addr.pc.offset += opparams[0]; break; - case 0x1a: // ldi + case 0x1a: // ldi s->r_acc = make_reg(0, opparams[0]); break; - case 0x1b: // push + case 0x1b: // push PUSH32(s->r_acc); break; - case 0x1c: // pushi + case 0x1c: // pushi PUSH(opparams[0]); break; - case 0x1d: // toss + case 0x1d: // toss xs->sp--; break; - case 0x1e: // dup + case 0x1e: // dup r_temp = xs->sp[-1]; PUSH32(r_temp); break; - case 0x1f: { // link + case 0x1f: { // link int i; for (i = 0; i < opparams[0]; i++) xs->sp[i] = NULL_REG; @@ -990,8 +990,8 @@ void run_vm(EngineState *s, int restoring) { break; } - case 0x20: { // call - int argc = (opparams[1] >> 1) // Given as offset, but we need count + case 0x20: { // call + int argc = (opparams[1] >> 1) // Given as offset, but we need count + 1 + restadjust; stack_ptr_t call_base = xs->sp - argc; @@ -999,20 +999,20 @@ void run_vm(EngineState *s, int restoring) { xs_new = add_exec_stack_entry(s, make_reg(xs->addr.pc.segment, xs->addr.pc.offset + opparams[0]), xs->sp, xs->objp, (validate_arithmetic(*call_base)) + restadjust, call_base, NULL_SELECTOR, xs->objp, s->execution_stack_pos, xs->local_segment); - restadjust = 0; // Used up the &rest adjustment + restadjust = 0; // Used up the &rest adjustment xs->sp = call_base; s->execution_stack_pos_changed = 1; break; } - case 0x21: // callk + case 0x21: // callk gc_countdown(s); xs->sp -= (opparams[1] >> 1) + 1; if (s->version >= SCI_VERSION_FTU_NEW_SCRIPT_HEADER) { xs->sp -= restadjust; - s->r_amp_rest = 0; // We just used up the restadjust, remember? + s->r_amp_rest = 0; // We just used up the restadjust, remember? } if (opparams[0] >= s->kfunct_nr) { @@ -1031,10 +1031,10 @@ void run_vm(EngineState *s, int restoring) { } else { s->r_acc = s->kfunct_table[opparams[0]].fun(s, opparams[0], argc, xs->sp + 1); } - // Call kernel function + // Call kernel function // Calculate xs again: The kernel function might - // have spawned a new VM + // have spawned a new VM xs_new = s->execution_stack + s->execution_stack_pos; s->execution_stack_pos_changed = 1; @@ -1045,77 +1045,77 @@ void run_vm(EngineState *s, int restoring) { } break; - case 0x22: // callb + case 0x22: // callb temp = ((opparams[1] >> 1) + restadjust + 1); s_temp = xs->sp; xs->sp -= temp; xs->sp[0].offset += restadjust; xs_new = execute_method(s, 0, opparams[0], s_temp, xs->objp, xs->sp[0].offset, xs->sp); - restadjust = 0; // Used up the &rest adjustment - if (xs_new) // in case of error, keep old stack + restadjust = 0; // Used up the &rest adjustment + if (xs_new) // in case of error, keep old stack s->execution_stack_pos_changed = 1; break; - case 0x23: // calle + case 0x23: // calle temp = ((opparams[2] >> 1) + restadjust + 1); s_temp = xs->sp; xs->sp -= temp; xs->sp[0].offset += restadjust; xs_new = execute_method(s, opparams[0], opparams[1], s_temp, xs->objp, xs->sp[0].offset, xs->sp); - restadjust = 0; // Used up the &rest adjustment + restadjust = 0; // Used up the &rest adjustment - if (xs_new) // in case of error, keep old stack + if (xs_new) // in case of error, keep old stack s->execution_stack_pos_changed = 1; break; - case 0x24: // ret + case 0x24: // ret do { stack_ptr_t old_sp2 = xs->sp; stack_ptr_t old_fp = xs->fp; exec_stack_t *old_xs = s->execution_stack + s->execution_stack_pos; - if (s->execution_stack_pos == s->execution_stack_base) { // Have we reached the base? - s->execution_stack_base = old_execution_stack_base; // Restore stack base + if (s->execution_stack_pos == s->execution_stack_base) { // Have we reached the base? + s->execution_stack_base = old_execution_stack_base; // Restore stack base --(s->execution_stack_pos); s->execution_stack_pos_changed = 1; - s->r_amp_rest = restadjust; // Update &rest - return; // "Hard" return + s->r_amp_rest = restadjust; // Update &rest + return; // "Hard" return } if (old_xs->type == EXEC_STACK_TYPE_VARSELECTOR) { - // varselector access? - if (old_xs->argc) // write? + // varselector access? + if (old_xs->argc) // write? *(old_xs->addr.varp) = old_xs->variables_argp[1]; - else // No, read + else // No, read s->r_acc = *(old_xs->addr.varp); } - // Not reached the base, so let's do a soft return + // Not reached the base, so let's do a soft return --(s->execution_stack_pos); xs = old_xs - 1; s->execution_stack_pos_changed = 1; xs = s->execution_stack + s->execution_stack_pos; - if (xs->sp == CALL_SP_CARRY // Used in sends to 'carry' the stack pointer + if (xs->sp == CALL_SP_CARRY // Used in sends to 'carry' the stack pointer || xs->type != EXEC_STACK_TYPE_CALL) { xs->sp = old_sp2; xs->fp = old_fp; } } while (xs->type == EXEC_STACK_TYPE_VARSELECTOR); - // Iterate over all varselector accesses + // Iterate over all varselector accesses s->execution_stack_pos_changed = 1; xs_new = xs; break; - case 0x25: // send + case 0x25: // send s_temp = xs->sp; - xs->sp -= ((opparams[0] >> 1) + restadjust); // Adjust stack + xs->sp -= ((opparams[0] >> 1) + restadjust); // Adjust stack xs->sp[1].offset += restadjust; xs_new = send_selector(s, s->r_acc, s->r_acc, s_temp, (int)(opparams[0] >> 1) + (uint16)restadjust, xs->sp); @@ -1127,13 +1127,13 @@ void run_vm(EngineState *s, int restoring) { break; - case 0x28: // class + case 0x28: // class s->r_acc = get_class_address(s, (unsigned)opparams[0], SCRIPT_GET_LOCK, xs->addr.pc); break; - case 0x2a: // self + case 0x2a: // self s_temp = xs->sp; - xs->sp -= ((opparams[0] >> 1) + restadjust); // Adjust stack + xs->sp -= ((opparams[0] >> 1) + restadjust); // Adjust stack xs->sp[1].offset += restadjust; xs_new = send_selector(s, xs->objp, xs->objp, s_temp, (int)(opparams[0] >> 1) + (uint16)restadjust, xs->sp); @@ -1144,14 +1144,14 @@ void run_vm(EngineState *s, int restoring) { restadjust = 0; break; - case 0x2b: // super + case 0x2b: // super r_temp = get_class_address(s, opparams[0], SCRIPT_GET_LOAD, xs->addr.pc); if (!r_temp.segment) CORE_ERROR("VM", "Invalid superclass in object"); else { s_temp = xs->sp; - xs->sp -= ((opparams[1] >> 1) + restadjust); // Adjust stack + xs->sp -= ((opparams[1] >> 1) + restadjust); // Adjust stack xs->sp[1].offset += restadjust; xs_new = send_selector(s, r_temp, xs->objp, s_temp, (int)(opparams[1] >> 1) + (uint16)restadjust, xs->sp); @@ -1164,9 +1164,9 @@ void run_vm(EngineState *s, int restoring) { break; - case 0x2c: // &rest - temp = (uint16) opparams[0]; // First argument - restadjust = xs->argc - temp + 1; // +1 because temp counts the paramcount while argc doesn't + case 0x2c: // &rest + temp = (uint16) opparams[0]; // First argument + restadjust = xs->argc - temp + 1; // +1 because temp counts the paramcount while argc doesn't if (restadjust < 0) restadjust = 0; @@ -1175,72 +1175,72 @@ void run_vm(EngineState *s, int restoring) { break; - case 0x2d: // lea + case 0x2d: // lea temp = (uint16) opparams[0] >> 1; - var_number = temp & 0x03; // Get variable type + var_number = temp & 0x03; // Get variable type - // Get variable block offset + // Get variable block offset r_temp.segment = variables_seg[var_number]; r_temp.offset = variables[var_number] - variables_base[var_number]; - if (temp & 0x08) // Add accumulator offset if requested + if (temp & 0x08) // Add accumulator offset if requested r_temp.offset += signed_validate_arithmetic(s->r_acc); - r_temp.offset += opparams[1]; // Add index + r_temp.offset += opparams[1]; // Add index r_temp.offset *= sizeof(reg_t); - // That's the immediate address now + // That's the immediate address now s->r_acc = r_temp; break; - case 0x2e: // selfID + case 0x2e: // selfID s->r_acc = xs->objp; break; - case 0x30: // pprev + case 0x30: // pprev PUSH32(s->r_prev); break; - case 0x31: // pToa + case 0x31: // pToa s->r_acc = OBJ_PROPERTY(obj, (opparams[0] >> 1)); break; - case 0x32: // aTop + case 0x32: // aTop OBJ_PROPERTY(obj, (opparams[0] >> 1)) = s->r_acc; break; - case 0x33: // pTos + case 0x33: // pTos PUSH32(OBJ_PROPERTY(obj, opparams[0] >> 1)); break; - case 0x34: // sTop + case 0x34: // sTop OBJ_PROPERTY(obj, (opparams[0] >> 1)) = POP32(); break; - case 0x35: // ipToa + case 0x35: // ipToa s->r_acc = OBJ_PROPERTY(obj, (opparams[0] >> 1)); s->r_acc = OBJ_PROPERTY(obj, (opparams[0] >> 1)) = ACC_ARITHMETIC_L(1 + /*acc*/); break; - case 0x36: // dpToa + case 0x36: // dpToa s->r_acc = OBJ_PROPERTY(obj, (opparams[0] >> 1)); s->r_acc = OBJ_PROPERTY(obj, (opparams[0] >> 1)) = ACC_ARITHMETIC_L(-1 + /*acc*/); break; - case 0x37: // ipTos + case 0x37: // ipTos ASSERT_ARITHMETIC(OBJ_PROPERTY(obj, (opparams[0] >> 1))); temp = ++OBJ_PROPERTY(obj, (opparams[0] >> 1)).offset; PUSH(temp); break; - case 0x38: // dpTos + case 0x38: // dpTos ASSERT_ARITHMETIC(OBJ_PROPERTY(obj, (opparams[0] >> 1))); temp = --OBJ_PROPERTY(obj, (opparams[0] >> 1)).offset; PUSH(temp); break; - case 0x39: // lofsa + case 0x39: // lofsa s->r_acc.segment = xs->addr.pc.segment; if (s->version >= SCI_VERSION(1, 001, 000)) @@ -1259,7 +1259,7 @@ void run_vm(EngineState *s, int restoring) { #endif break; - case 0x3a: // lofss + case 0x3a: // lofss r_temp.segment = xs->addr.pc.segment; if (s->version >= SCI_VERSION_FTU_LOFS_ABSOLUTE) @@ -1276,175 +1276,175 @@ void run_vm(EngineState *s, int restoring) { PUSH32(r_temp); break; - case 0x3b: // push0 + case 0x3b: // push0 PUSH(0); break; - case 0x3c: // push1 + case 0x3c: // push1 PUSH(1); break; - case 0x3d: // push2 + case 0x3d: // push2 PUSH(2); break; - case 0x3e: // pushSelf + case 0x3e: // pushSelf PUSH32(xs->objp); break; - case 0x40: // lag - case 0x41: // lal - case 0x42: // lat - case 0x43: // lap - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x40: // lag + case 0x41: // lal + case 0x42: // lat + case 0x43: // lap + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; s->r_acc = READ_VAR(var_type, var_number, s->r_acc); break; - case 0x44: // lsg - case 0x45: // lsl - case 0x46: // lst - case 0x47: // lsp - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x44: // lsg + case 0x45: // lsl + case 0x46: // lst + case 0x47: // lsp + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; PUSH32(READ_VAR(var_type, var_number, s->r_acc)); break; - case 0x48: // lagi - case 0x49: // lali - case 0x4a: // lati - case 0x4b: // lapi - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x48: // lagi + case 0x49: // lali + case 0x4a: // lati + case 0x4b: // lapi + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); s->r_acc = READ_VAR(var_type, var_number, s->r_acc); break; - case 0x4c: // lsgi - case 0x4d: // lsli - case 0x4e: // lsti - case 0x4f: // lspi - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x4c: // lsgi + case 0x4d: // lsli + case 0x4e: // lsti + case 0x4f: // lspi + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); PUSH32(READ_VAR(var_type, var_number, s->r_acc)); break; - case 0x50: // sag - case 0x51: // sal - case 0x52: // sat - case 0x53: // sap - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x50: // sag + case 0x51: // sal + case 0x52: // sat + case 0x53: // sap + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; WRITE_VAR(var_type, var_number, s->r_acc); break; - case 0x54: // ssg - case 0x55: // ssl - case 0x56: // sst - case 0x57: // ssp - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x54: // ssg + case 0x55: // ssl + case 0x56: // sst + case 0x57: // ssp + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; WRITE_VAR(var_type, var_number, POP32()); break; - case 0x58: // sagi - case 0x59: // sali - case 0x5a: // sati - case 0x5b: // sapi + case 0x58: // sagi + case 0x59: // sali + case 0x5a: // sati + case 0x5b: // sapi // Special semantics because it wouldn't really make a whole lot // of sense otherwise, with acc being used for two things - // simultaneously... - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + // simultaneously... + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); WRITE_VAR(var_type, var_number, s->r_acc = POP32()); break; - case 0x5c: // ssgi - case 0x5d: // ssli - case 0x5e: // ssti - case 0x5f: // sspi - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x5c: // ssgi + case 0x5d: // ssli + case 0x5e: // ssti + case 0x5f: // sspi + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); WRITE_VAR(var_type, var_number, POP32()); break; - case 0x60: // +ag - case 0x61: // +al - case 0x62: // +at - case 0x63: // +ap - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x60: // +ag + case 0x61: // +al + case 0x62: // +at + case 0x63: // +ap + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; s->r_acc = make_reg(0, 1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); WRITE_VAR(var_type, var_number, s->r_acc); break; - case 0x64: // +sg - case 0x65: // +sl - case 0x66: // +st - case 0x67: // +sp - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x64: // +sg + case 0x65: // +sl + case 0x66: // +st + case 0x67: // +sp + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; r_temp = make_reg(0, 1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); PUSH32(r_temp); WRITE_VAR(var_type, var_number, r_temp); break; - case 0x68: // +agi - case 0x69: // +ali - case 0x6a: // +ati - case 0x6b: // +api - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x68: // +agi + case 0x69: // +ali + case 0x6a: // +ati + case 0x6b: // +api + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); s->r_acc = make_reg(0, 1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); WRITE_VAR(var_type, var_number, s->r_acc); break; - case 0x6c: // +sgi - case 0x6d: // +sli - case 0x6e: // +sti - case 0x6f: // +spi - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x6c: // +sgi + case 0x6d: // +sli + case 0x6e: // +sti + case 0x6f: // +spi + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); r_temp = make_reg(0, 1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); PUSH32(r_temp); WRITE_VAR(var_type, var_number, r_temp); break; - case 0x70: // -ag - case 0x71: // -al - case 0x72: // -at - case 0x73: // -ap - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x70: // -ag + case 0x71: // -al + case 0x72: // -at + case 0x73: // -ap + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; s->r_acc = make_reg(0, -1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); WRITE_VAR(var_type, var_number, s->r_acc); break; - case 0x74: // -sg - case 0x75: // -sl - case 0x76: // -st - case 0x77: // -sp - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x74: // -sg + case 0x75: // -sl + case 0x76: // -st + case 0x77: // -sp + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0]; r_temp = make_reg(0, -1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); PUSH32(r_temp); WRITE_VAR(var_type, var_number, r_temp); break; - case 0x78: // -agi - case 0x79: // -ali - case 0x7a: // -ati - case 0x7b: // -api - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x78: // -agi + case 0x79: // -ali + case 0x7a: // -ati + case 0x7b: // -api + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); s->r_acc = make_reg(0, -1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); WRITE_VAR(var_type, var_number, s->r_acc); break; - case 0x7c: // -sgi - case 0x7d: // -sli - case 0x7e: // -sti - case 0x7f: // -spi - var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p + case 0x7c: // -sgi + case 0x7d: // -sli + case 0x7e: // -sti + case 0x7f: // -spi + var_type = (opcode >> 1) & 0x3; // Gets the variable type: g, l, t or p var_number = opparams[0] + signed_validate_arithmetic(s->r_acc); r_temp = make_reg(0, -1 + validate_arithmetic(READ_VAR(var_type, var_number, s->r_acc))); PUSH32(r_temp); @@ -1454,9 +1454,9 @@ void run_vm(EngineState *s, int restoring) { default: script_error(s, __FILE__, __LINE__, "Illegal opcode"); - } // switch(opcode >> 1) + } // switch(opcode >> 1) - if (s->execution_stack_pos_changed) // Force initialization + if (s->execution_stack_pos_changed) // Force initialization xs = xs_new; #ifndef DISABLE_VALIDATIONS @@ -1465,8 +1465,8 @@ void run_vm(EngineState *s, int restoring) { } #endif if (script_error_flag) { - _debug_step_running = 0; // Stop multiple execution - _debug_seeking = 0; // Stop special seeks + _debug_step_running = 0; // Stop multiple execution + _debug_seeking = 0; // Stop special seeks xs->addr.pc.offset = old_pc_offset; xs->sp = old_sp; } else @@ -1475,8 +1475,8 @@ void run_vm(EngineState *s, int restoring) { } static inline int _obj_locate_varselector(EngineState *s, object_t *obj, selector_t slc) { - // Determines if obj explicitly defines slc as a varselector - // Returns -1 if not found + // Determines if obj explicitly defines slc as a varselector + // Returns -1 if not found if (s->version < SCI_VERSION(1, 001, 000)) { int varnum = obj->variable_names_nr; @@ -1487,10 +1487,10 @@ static inline int _obj_locate_varselector(EngineState *s, object_t *obj, selecto obj->base_vars = (uint16 *) buf; for (i = 0; i < varnum; i++) - if (getUInt16(buf + (i << 1)) == slc) // Found it? - return i; // report success + if (getUInt16(buf + (i << 1)) == slc) // Found it? + return i; // report success - return -1; // Failed + return -1; // Failed } else { byte *buf = (byte *) obj->base_vars; int i; @@ -1500,31 +1500,31 @@ static inline int _obj_locate_varselector(EngineState *s, object_t *obj, selecto buf = ((byte *) obj_get(s, obj->variables[SCRIPT_SUPERCLASS_SELECTOR])->base_vars); for (i = 0; i < varnum; i++) - if (getUInt16(buf + (i << 1)) == slc) // Found it? - return i; // report success + if (getUInt16(buf + (i << 1)) == slc) // Found it? + return i; // report success - return -1; // Failed + return -1; // Failed } } static inline int _class_locate_funcselector(EngineState *s, object_t *obj, selector_t slc) { - // Determines if obj is a class and explicitly defines slc as a funcselector + // Determines if obj is a class and explicitly defines slc as a funcselector // Does NOT say anything about obj's superclasses, i.e. failure may be - // returned even if one of the superclasses defines the funcselector. + // returned even if one of the superclasses defines the funcselector. int funcnum = obj->methods_nr; int i; for (i = 0; i < funcnum; i++) - if (VM_OBJECT_GET_FUNCSELECTOR(obj, i) == slc) // Found it? - return i; // report success + if (VM_OBJECT_GET_FUNCSELECTOR(obj, i) == slc) // Found it? + return i; // report success - return -1; // Failed + return -1; // Failed } static inline int _lookup_selector_function(EngineState *s, int seg_id, object_t *obj, selector_t selector_id, reg_t *fptr) { int index; - // "recursive" lookup + // "recursive" lookup while (obj) { index = _class_locate_funcselector(s, obj, selector_id); @@ -1553,7 +1553,7 @@ int lookup_selector(EngineState *s, reg_t obj_location, selector_t selector_id, int index; // Early SCI versions used the LSB in the selector ID as a read/write - // toggle, meaning that we must remove it for selector lookup. + // toggle, meaning that we must remove it for selector lookup. if (s->version < SCI_VERSION_FTU_NEW_SCRIPT_HEADER) selector_id &= ~1; @@ -1579,7 +1579,7 @@ int lookup_selector(EngineState *s, reg_t obj_location, selector_t selector_id, index = _obj_locate_varselector(s, obj, selector_id); if (index >= 0) { - // Found it as a variable + // Found it as a variable if (vptr) *vptr = obj->variables + index; return SELECTOR_VARIABLE; @@ -1588,7 +1588,7 @@ int lookup_selector(EngineState *s, reg_t obj_location, selector_t selector_id, return _lookup_selector_function(s, obj_location.segment, obj, selector_id, fptr); } -// Detects SCI versions by their different script header +// Detects SCI versions by their different script header void script_detect_versions(EngineState *s) { int c; resource_t *script = {0}; @@ -1683,7 +1683,7 @@ int script_instantiate_common(EngineState *s, int script_nr, resource_t **script if (!*script || (s->version >= SCI_VERSION(1, 001, 000) && !heap)) { sciprintf("Script 0x%x requested but not found\n", script_nr); - //script_debug_flag = script_error_flag = 1; + //script_debug_flag = script_error_flag = 1; if (s->version >= SCI_VERSION(1, 001, 000)) { if (*heap) sciprintf("Inconsistency: heap resource WAS found\n"); @@ -1709,7 +1709,7 @@ int script_instantiate_common(EngineState *s, int script_nr, resource_t **script mem = s->seg_manager->heap[seg]; s->seg_manager->freeScript(mem); } - } else if (!(mem = s->seg_manager->allocateScript(s, script_nr, &seg_id))) { // ALL YOUR SCRIPT BASE ARE BELONG TO US + } else if (!(mem = s->seg_manager->allocateScript(s, script_nr, &seg_id))) { // ALL YOUR SCRIPT BASE ARE BELONG TO US sciprintf("Not enough heap space for script size 0x%x of script 0x%x, should this happen?`\n", (*script)->size, script_nr); script_debug_flag = script_error_flag = 1; return 0; @@ -1720,7 +1720,7 @@ int script_instantiate_common(EngineState *s, int script_nr, resource_t **script reg.segment = seg_id; reg.offset = 0; - // Set heap position (beyond the size word) + // Set heap position (beyond the size word) s->seg_manager->setLockers(1, reg.segment, SEG_ID); s->seg_manager->setExportTableOffset(0, reg.segment, SEG_ID); s->seg_manager->setSynonymsOffset(0, reg.segment, SEG_ID); @@ -1737,7 +1737,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { reg_t reg, reg_tmp; int seg_id; int relocation = -1; - int magic_pos_adder; // Usually 0; 2 for older SCI versions + int magic_pos_adder; // Usually 0; 2 for older SCI versions resource_t *script; int was_new; @@ -1753,13 +1753,13 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { // int locals_nr = getUInt16(script->data); - // Old script block - // There won't be a localvar block in this case + // Old script block + // There won't be a localvar block in this case // Instead, the script starts with a 16 bit int specifying the - // number of locals we need; these are then allocated and zeroed. + // number of locals we need; these are then allocated and zeroed. s->seg_manager->mcpyInOut(0, script->data, script->size, reg.segment, SEG_ID); - magic_pos_adder = 2; // Step over the funny prefix + magic_pos_adder = 2; // Step over the funny prefix if (locals_nr) s->seg_manager->scriptInitialiseLocalsZero(reg.segment, locals_nr); @@ -1779,7 +1779,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { do { reg_t data_base; reg_t addr; - reg.offset += objlength; // Step over the last checked object + reg.offset += objlength; // Step over the last checked object objtype = SEG_GET_HEAP(s, reg); if (!objtype) break; @@ -1797,7 +1797,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { break; case sci_obj_synonyms: - s->seg_manager->setSynonymsOffset(addr.offset, reg.segment, SEG_ID); // +4 is to step over the header + s->seg_manager->setSynonymsOffset(addr.offset, reg.segment, SEG_ID); // +4 is to step over the header s->seg_manager->setSynonymsNr((objlength) / 4, reg.segment, SEG_ID); break; @@ -1822,7 +1822,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { s->classtable[species].script = script_nr; s->classtable[species].reg = addr; s->classtable[species].reg.offset = classpos; - // Set technical class position-- into the block allocated for it + // Set technical class position-- into the block allocated for it } break; @@ -1830,18 +1830,18 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { break; } } while (objtype != 0); - // And now a second pass to adjust objects and class pointers, and the general pointers + // And now a second pass to adjust objects and class pointers, and the general pointers objlength = 0; - reg.offset = magic_pos_adder; // Reset counter + reg.offset = magic_pos_adder; // Reset counter do { reg_t addr; - reg.offset += objlength; // Step over the last checked object + reg.offset += objlength; // Step over the last checked object objtype = SEG_GET_HEAP(s, reg); if (!objtype) break; objlength = SEG_GET_HEAP(s, make_reg(reg.segment, reg.offset + 2)); - reg.offset += 4; // Step over header + reg.offset += 4; // Step over header addr = reg; @@ -1850,22 +1850,22 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { s->seg_manager->scriptAddCodeBlock(addr); break; case sci_obj_object: - case sci_obj_class: { // object or class? + case sci_obj_class: { // object or class? object_t *obj = s->seg_manager->scriptObjInit(s, addr); object_t *base_obj; - // Instantiate the superclass, if neccessary + // Instantiate the superclass, if neccessary obj->variables[SCRIPT_SPECIES_SELECTOR] = INST_LOOKUP_CLASS(obj->variables[SCRIPT_SPECIES_SELECTOR].offset); base_obj = obj_get(s, obj->variables[SCRIPT_SPECIES_SELECTOR]); obj->variable_names_nr = base_obj->variables_nr; obj->base_obj = base_obj->base_obj; - // Copy base from species class, as we need its selector IDs + // Copy base from species class, as we need its selector IDs obj->variables[SCRIPT_SUPERCLASS_SELECTOR] = INST_LOOKUP_CLASS(obj->variables[SCRIPT_SUPERCLASS_SELECTOR].offset); - } // if object or class + } // if object or class break; - case sci_obj_pointers: // A relocation table + case sci_obj_pointers: // A relocation table relocation = addr.offset; break; @@ -1873,7 +1873,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { break; } - reg.offset -= 4; // Step back on header + reg.offset -= 4; // Step back on header } while ((objtype != 0) && (((unsigned)reg.offset) < script->size - 2)); @@ -1882,7 +1882,7 @@ int script_instantiate_sci0(EngineState *s, int script_nr) { s->seg_manager->scriptFreeUnusedObjects(reg.segment); - return reg.segment; // instantiation successful + return reg.segment; // instantiation successful } int script_instantiate_sci11(EngineState *s, int script_nr) { @@ -1931,15 +1931,15 @@ void script_uninstantiate_sci0(EngineState *s, int script_nr, seg_id_t seg) { reg_t reg = make_reg(seg, (s->version < SCI_VERSION_FTU_NEW_SCRIPT_HEADER) ? 2 : 0); int objtype, objlength; - // Make a pass over the object in order uninstantiate all superclasses + // Make a pass over the object in order uninstantiate all superclasses objlength = 0; do { - reg.offset += objlength; // Step over the last checked object + reg.offset += objlength; // Step over the last checked object objtype = SEG_GET_HEAP(s, reg); if (!objtype) break; - objlength = SEG_GET_HEAP(s, make_reg(reg.segment, reg.offset + 2)); // use SEG_UGET_HEAP ?? + objlength = SEG_GET_HEAP(s, make_reg(reg.segment, reg.offset + 2)); // use SEG_UGET_HEAP ?? reg.offset += 4; // Step over header |
