/* conventions, ICL (Inform Command Line) files, main */
/* */
/* Part of Inform 6.35 */
-/* copyright (c) Graham Nelson 1993 - 2020 */
+/* copyright (c) Graham Nelson 1993 - 2021 */
/* */
/* Inform is free software: you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
DICT_ENTRY_FLAG_POS = (4+DICT_WORD_BYTES);
}
}
+
+ if (!targ) {
+ /* Z-machine */
+ /* The Z-machine's 96 abbreviations are used for these two purposes.
+ Make sure they are set consistently. If exactly one has been
+ set non-default, set the other to match. */
+ if (MAX_DYNAMIC_STRINGS == 32 && MAX_ABBREVS != 64) {
+ MAX_DYNAMIC_STRINGS = 96 - MAX_ABBREVS;
+ }
+ if (MAX_ABBREVS == 64 && MAX_DYNAMIC_STRINGS != 32) {
+ MAX_ABBREVS = 96 - MAX_DYNAMIC_STRINGS;
+ }
+ if (MAX_ABBREVS + MAX_DYNAMIC_STRINGS != 96
+ || MAX_ABBREVS < 0
+ || MAX_DYNAMIC_STRINGS < 0) {
+ warning("MAX_ABBREVS plus MAX_DYNAMIC_STRINGS must be 96 in Z-code; resetting both");
+ MAX_DYNAMIC_STRINGS = 32;
+ MAX_ABBREVS = 64;
+ }
+ }
+ else {
+ if (MAX_DYNAMIC_STRINGS > 100) {
+ MAX_DYNAMIC_STRINGS = 100;
+ warning("MAX_DYNAMIC_STRINGS cannot exceed 100; resetting to 100");
+ /* This is because they are specified in text literals like "@00",
+ with two digits. */
+ }
+ }
}
/* ------------------------------------------------------------------------- */
printf(
"\nThis program is a compiler of Infocom format (also called \"Z-machine\")\n\
story files, as well as \"Glulx\" story files:\n\
-Copyright (c) Graham Nelson 1993 - 2020.\n\n");
+Copyright (c) Graham Nelson 1993 - 2021.\n\n");
/* For people typing just "inform", a summary only: */
for (i=1, cli_files_specified=0; i<argc; i++)
if (argv[i][0] == '-' && argv[i][1] == '-') {
char *nextarg = NULL;
+ int consumed2;
if (i+1 < argc) nextarg = argv[i+1];
- int consumed2 = execute_dashdash_command(argv[i]+2, nextarg);
+ consumed2 = execute_dashdash_command(argv[i]+2, nextarg);
if (consumed2 && i+1 < argc) {
i++;
}