I want to remove 'oops' addresses how to disable the parser processing ‘oops’. It also makes it pretty clear (unless I’m flaking badly) I can change
Constant AGAIN2__WD = 'g//';
to
Constant AGAIN2__WD = 'again//';
In Language.i6t and then “g” will not run the same command again.
That’s a good solution for my current project, but I won’t always want to disable “g” as it is useful in testing some other projects I have in maintenance.
I know we can use the following syntax to replace functions:
Include (-
Replace LanguageVerb;
-) after “Definitions.i6t”.
Include (-
Replace LanguageVerb;
-) after "Definitions.i6t".
Include (-
[ LanguageVerb i;
switch (i) {
'i//','inv','inventory': print "take inventory";
'l//': print "look";
'x//': print "examine";
'z//': print "wait";
'about': print "see info about the game";
'credit', 'credits': print "see the credits";
'c//', 'p//', 'call', 'place': print "(P)lace or (C)all";
default: rfalse;
}
rtrue;
];
-) after "Language.i6t".
Now, it looks like I could edit the parser_parse function in Parser.i6t, wiping out 3 instances of AGAIN2__WD in 800 lines of code. Not too bad, but … a bit unwieldy.
We can also
use MAX_EXPRESSION_NODES of 384.
But I tried the crude
use AGAIN2__WD of “again”.
And apparently Inform doesn’t like this language construction for strings.
Is there a simple way in I7 to redefine a string constant or eliminate a definition of a string constant? I’m using 6g60, but I’d be glad to move up a version for the current project to deal with this if there’s an easier way to get this done in later versions. Thanks!