It looks like the I7 compiler will output the released game file using whatever name is assigned to the story title
I7 global.
It may be possible to change the Story
directive so that the I6 compiler will use a different name in the game’s banner and other output using this string, but the I7 compiler will continue to compile to a different file name.
Under 10.1, Story
is a constant, but the I7 compiler won’t allow use of Undef
and does not seem to want to cooperate with a redefinition of Story
using Include ... replacing "Story".
Under 6M62, Story
is a global, so the Undef
directive can’t be used on it. It is possible to replace the Identification
section of the Output.i6t
template in which it appears to accomplish an alternate definition, but since that section also includes the Serial
directive you would need to attend to that string manually with every release.
Interestingly (and FYI @DavidK), I ran into what looks like an I6 compiler bug under 6M62 while trying to figure out a way that wouldn’t require manual management of the release date string:
"Alternate Title"
Place is a room.
Include (-
Global Story = BC_00;
-) after "Identification" in "Output.i6t".
Include (-
Constant TX_ALT_TITLE = "Your Title Here";
Array BC_00 --> PACKED_TEXT_STORAGE TX_ALT_TITLE;
-) after "Empty" in "RelationKind.i6t".
I6 compiler output (using 6.42 manually with invocation options -wxE2kSDG $huge auto.inf output.ulx
; the error type is the same under 6.33N):
Inform 6.42 for Linux (10th February 2024)
<progress hatches clipped>
File "<constructing output>"; Line 0 # *** Compiler error: Backpatch symbol number out of range
Illegal BP symbol number: 585268
*** MV 11 ZA 18 Off 002c ***
In: 1 source code files 66929 syntactic lines
56973 textual lines 2087832 characters (ISO 8859-1 Latin1)
Allocated:
12505 symbols 11271166 bytes of memory
Out: Glulx story file 1.250416 (595K long):
21 classes 43 objects
231 global vars 84384 variable/array space
96 verbs 328 dictionary entries
179 grammar lines (version 2) 251 grammar tokens (unlimited)
101 actions 37 attributes (maximum 56)
37 common props (maximum 253) 23 individual props (unlimited)
112256 characters used in text 87508 bytes compressed (rate 0.779)
0 abbreviations (maximum 64) 2941 routines (unlimited)
70455 instructions of code 39767 sequence points
107776 bytes writable memory used 501504 bytes read-only memory used
609280 bytes used in machine 1073132544 bytes free in machine
Compiled with 1716 suppressed warnings
***********************************************************************
* 'Compiler errors' should never occur if Inform is working properly. *
* This is version 6.42 of Inform, dated 10th February 2024: so *
* if that was more than a year ago, there may be a more recent *
* version available, from which the problem may have been removed. *
* If not, please report this fault as an issue at *
* https://github.com/DavidKinder/Inform6/ and if at all possible, *
* please include your source code, as faults such as these are rare *
* and often difficult to reproduce. Sorry. *
***********************************************************************
Brief testing suggests that it can be triggered by any repeat declaration of a particular global variable. [EDIT: Nope, not that easy.]