I’m trying to compile some of my old code in the new I7 version, but it’s throwing a syntax error at every definition which uses “yes” or “no” as a statement.
Definition: a room is known rather than unknown:
if it is visited, yes;
if it is familiar, yes;
no.
Is there a way to get around this, or a new syntax for definitions?
Problem solved: it had to do with an obscure and unused do-nothing rulebook outcome declared in Disambiguation Control. It seems Inform no longer allows rulebook outcomes and phrases to share a name.
I’m still a bit confused as to what stops the extension from working, and I have no idea where to even begin addressing the issue. I removed the Bypass Disambiguate rules, but that only leads to abject failure.
EDIT: Solved the problem by removing another call to Bypass Disambiguate.
What stops it from working is that the original extension contains this line:
The bypass disambiguation rules have outcomes yes and no.
and in the new version of Inform, the rulebook outcomes “yes” and “no” glomp our use of “yes” and “no” everywhere else.
I’m guessing that it should work to simply rename the “yes” and “no” outcomes for bypass disambiguation. Like this:
[code]Chapter - bypass disambiguate
[
Bypass disambiguation rules allow us to use the old parser mechanism of favouring held objects in cases where it’s faster and less annoying.
By default we never do this.
Bypass disambiguation when smelling a rose: bypass.
[ note: actually, this doesn’t yet work, because it doesn’t copy in the action pattern. TO DO! ]
]
The bypass disambiguation rules are a rulebook.
The bypass disambiguation rules have outcomes bypass and don’t bypass.