I would like to be able to start a interpreter from the command-line (DOS-Box) with
a) the game-file (.z5/.z8)
b) a recorded input-file (.rec from frotz)
c) output-filename (containing the transcript after the automatic run)
This interpreter should ideally be available for Windows 7 64-bit (cygwin or similar would be ok),
should support UTF-encoding (since I’m writing in German and need umlauts) and should not
need any user-interaction.
I’ve already heard of rezrov which unfortunately seems to not support UTF-encoding.
Frotz and WinFrotz do not seem to support input-files from the command-line.
(But I didn’t find any useful documentation of WinFrotz command-line options, so there might be more…)
Is there any interpreter with these features?
If I may ask, is there a strong reason from having to run it from the command line? You should be able to associate .z* files so double-clicking opens them automatically…
I’m not sure one exists anymore. Could you not create a BATCH file for each game? That’s unwieldy, but it should run from the command line… or create a BATCH file that just loads WinFrotz, allowing you to then select a game?
I think Bocfel supports the options you want: http://code.google.com/p/bocfel/
You’ll need to compile it yourself from the above link, or possibly use a build of Bocfel from a recent build of Gargoyle (not tested).
Frotz and Fizmo can be built in a console-only or “dumb” mode where the interpreter takes all input from stdin. You can then pipe a file of commands into it. (However, you do not then get a status window, because the output goes to stdout with no formatting.)
Yeah, I’d also suggest bocfel. In fact, here is the version I compiled for myself under Windows 7 64-bit, so it should work for you, too:
(you might have to right-click and do ‘save as’)
Then, you’d run it with this, I believe:
bocfel -r -R -t -T
Lastly, I hope when you say “DOSbox”, you don’t think that you need to run DOSbox just to do all command line stuff. bocfel and lots of other programs will work find from your regular Windows command line.
Thanks for all those suggestions!
Bocfel sounds really promising and yes, when I write DOSBox I’m thinking of the standard Windows command line. Just my old habits…
And to answer Peter’s question: Yes, there is a strong reason: I want to apply automatic regression tests to my current inform 6 project. Every compile run should trigger the regression test playing the current build and comparing the output to previous reference runs.
(So Frotz and Fizmo could be a fallback since I don’t need the statusline anyway for my purpose. )
I use this Python script for regression tests on my game (Inform 7, but it’s the same format):
Looks almost exactly like what I was searching for!
I’m now off to testing the testtools!
Please note that on Windows, Bocfel uses Latin-1 by default, not UTF-8; you can force UTF-8 with the -L switch. I made Latin-1 the default on Windows because my (limited) testing under Wine indicated that the Windows terminal does not support UTF-8. Even if the Windows terminal looks wrong, though, transcripting (when the -L flag is used) will be in proper UTF-8 since Bocfel does all UTF-8 encoding itself. Reading a command record in UTF-8 should work, too, for the same reason.
You might also be interested in the -y flag; by default, transcripting appends to an existing transcript file. -y causes it to overwrite.
More complete documentation (in the form of an HTML man page) is available here.