Hi everyone. I’m working on an ambitious commercial IF project, and I hope to release a Vorple version (for the general public) and a traditional gblorb version (for accessibility and playing on the go).
As I understand it, Vorple overrides the “>” command prompt when using a Vorple-enabled interpreter and does nothing when using a traditional Glulx interpreter. I get the expected behavior when testing my game in the Inform 7 6M62 IDE (normal command prompt), and in the Vorple JavaScript environment (Vorple command prompt).
However, when testing the .gblorb file produced by Inform 7 with Gargoyle and Glulxe, it appears that the command prompt fails to print at all; there is no “>” when reading the player’s command. This is especially troublesome because my game includes a dialogue system which prints dialogue options as part of the command prompt; on Gargoyle and Glulxe the dialogue options are never shown.
Just in case, I checked an earlier build of my game which did not include Vorple and everything worked as expected in the external interpreters. This suggests that this is a bug with Vorple.
Has anyone else encountered a similar problem? If anyone has ideas on how to solve this it would be greatly appreciated.
EDIT: I just tested my game in the Inform IDE again and it looks as though it isn’t working there either. I’ll keep digging and see what I can find.
EDIT 2: It turns out that this was being caused by a single Vorple interface rule:
A Vorple interface update rule (this is the construct Vorple status line rule):
carry out the constructing the status line activity.
I have no idea why this would cause a Glulx interpreter to stop printing the command prompt, since my custom status line doesn’t interact with Vorple except through “if Vorple is supported…” statements.
EDIT 3: It appears that the Vorple interface update rules are called during Vorple’s command prompt replacement here:
Include (-
Replace PrintPrompt;
-) before "Printing.i6t".
Include (-
[ PrintPrompt i;
FollowRulebook(RULEBOOK_TY_to_RULE_TY((+ Vorple interface update rules +))); ! ADDED
RunTimeProblemShow();
ClearRTP();
style roman;
EnsureBreakBeforePrompt();
if( ~~(+ Vorple support +) ) TEXT_TY_Say( (Global_Vars-->1) ); ! ADDED
ClearBoxedText();
ClearParagraphing(14);
];
-) after "Printing.i6t".
I have no experience with Inform 6 but I’m pretty sure that I’ve found a bug with the Vorple extension, since adding Vorple interface rules should reasonably have no effect on traditional interpreters.