X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Ftables.c;h=505b1e6b6559fe728bbd5401546ecb2244d96e05;hb=ee3b3a0cb830792c0569230872a0af20eab8bb7b;hp=389eb4bca1506a9d4aa99fe161d461717442ea30;hpb=8e63120c630c94c598d4e2d6ba823dac59bce8fa;p=inform.git diff --git a/src/tables.c b/src/tables.c index 389eb4b..505b1e6 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1,9 +1,9 @@ /* ------------------------------------------------------------------------- */ -/* "tables" : Constructs the story file or module (the output) up to the */ -/* end of dynamic memory, gluing together all the required */ +/* "tables" : Constructs the story file (the output) up to the end */ +/* of dynamic memory, gluing together all the required */ /* tables. */ /* */ -/* Part of Inform 6.40 */ +/* Part of Inform 6.41 */ /* copyright (c) Graham Nelson 1993 - 2022 */ /* */ /* Inform is free software: you can redistribute it and/or modify */ @@ -99,7 +99,7 @@ int flags2_requirements[16]; /* An array of which bits in Flags 2 of Values are 0 or 1. */ /* ------------------------------------------------------------------------- */ -/* Construct story/module file (up to code area start). */ +/* Construct story file (up to code area start). */ /* */ /* (To understand what follows, you really need to look at the run-time */ /* system's specification, the Z-Machine Standards document.) */ @@ -181,7 +181,7 @@ static int32 rough_size_of_paged_memory_z(void) total += 2*((version_number==3)?31:63) /* property default values */ + no_objects*((version_number==3)?9:14) /* object tree table */ + properties_table_size /* property values of objects */ - + (no_classes+1)*(module_switch?4:2) + + (no_classes+1)*2 /* class object numbers table */ + no_symbols*2 /* names of numerous things */ + individuals_length /* tables of prop variables */ @@ -201,7 +201,7 @@ static int32 rough_size_of_paged_memory_z(void) + 2*no_grammar_token_routines; /* general parsing routines */ total += (dictionary_top) /* dictionary size */ - + ((module_switch)?30:0); /* module map */ + + (0); /* module map */ total += static_array_area_size; /* static arrays */ @@ -258,13 +258,13 @@ static void construct_storyfile_z(void) { uchar *p; int32 i, j, k, l, mark, objs, strings_length, code_length, limit=0, excess=0, extend_offset=0, headerext_length=0; - int32 globals_at=0, link_table_at=0, dictionary_at=0, actions_at=0, preactions_at=0, + int32 globals_at=0, dictionary_at=0, actions_at=0, preactions_at=0, abbrevs_at=0, prop_defaults_at=0, object_tree_at=0, object_props_at=0, - map_of_module=0, grammar_table_at=0, charset_at=0, headerext_at=0, + grammar_table_at=0, charset_at=0, headerext_at=0, terminating_chars_at=0, unicode_at=0, id_names_length=0, static_arrays_at=0; int skip_backpatching = FALSE; - char *output_called = (module_switch)?"module":"story file"; + char *output_called = "story file"; ASSERT_ZCODE(); @@ -423,14 +423,8 @@ static void construct_storyfile_z(void) p[objs+9]=(objectsz[i].next)%256; p[objs+10]=(objectsz[i].child)/256; p[objs+11]=(objectsz[i].child)%256; - if (!module_switch) - { p[objs+12]=mark/256; - p[objs+13]=mark%256; - } - else - { p[objs+12]=objectsz[i].propsize/256; - p[objs+13]=objectsz[i].propsize%256; - } + p[objs+12]=mark/256; + p[objs+13]=mark%256; objs+=14; } mark+=objectsz[i].propsize; @@ -442,10 +436,6 @@ static void construct_storyfile_z(void) for (i=0; i 0) { char memory_full_error[80]; sprintf(memory_full_error, @@ -865,54 +842,11 @@ or less."); /* ----------------- The Header: Extras for modules ------------------- */ - if (module_switch) - { p[0]=p[0]+64; - p[1]=MODULE_VERSION_NUMBER; - p[6]=map_of_module/256; - p[7]=map_of_module%256; - - mark = map_of_module; /* Module map format: */ - - p[mark++]=object_tree_at/256; /* 0: Object tree addr */ - p[mark++]=object_tree_at%256; - p[mark++]=object_props_at/256; /* 2: Prop values addr */ - p[mark++]=object_props_at%256; - p[mark++]=(Write_Strings_At/scale_factor)/256; /* 4: Static strs */ - p[mark++]=(Write_Strings_At/scale_factor)%256; - p[mark++]=class_numbers_offset/256; /* 6: Class nos addr */ - p[mark++]=class_numbers_offset%256; - p[mark++]=individuals_offset/256; /* 8: Indiv prop values */ - p[mark++]=individuals_offset%256; - p[mark++]=individuals_length/256; /* 10: Length of table */ - p[mark++]=individuals_length%256; - p[mark++]=no_symbols/256; /* 12: No of symbols */ - p[mark++]=no_symbols%256; - p[mark++]=no_individual_properties/256; /* 14: Max property no */ - p[mark++]=no_individual_properties%256; - p[mark++]=no_objects/256; /* 16: No of objects */ - p[mark++]=no_objects%256; - i = link_table_at; - p[mark++]=i/256; /* 18: Import/exports */ - p[mark++]=i%256; - p[mark++]=link_data_size/256; /* 20: Size of */ - p[mark++]=link_data_size%256; - i += link_data_size; - p[mark++]=i/256; /* 22: Code backpatch */ - p[mark++]=i%256; - p[mark++]=zcode_backpatch_size/256; /* 24: Size of */ - p[mark++]=zcode_backpatch_size%256; - i += zcode_backpatch_size; - p[mark++]=i/256; /* 26: Image backpatch */ - p[mark++]=i%256; - p[mark++]=zmachine_backpatch_size/256; /* 28: Size of */ - p[mark++]=zmachine_backpatch_size%256; - - /* Further space in this table is reserved for future use */ - } + /* (no longer used) */ /* ---- Backpatch the Z-machine, now that all information is in ------- */ - if (!module_switch && !skip_backpatching) + if (!skip_backpatching) { backpatch_zmachine_image_z(); for (i=1; i= 512) { k_long++; k_str=""; }