Unix Frotz 2.44 coming really soon now (really!)

I was shown a couple of nasty bugs in Unix Frotz 2.43 which are serious enough to warrant making a new release. I had intended to make the new release with the completion of audio output through libao, libmodplug, and libvorbis, but that’s not yet ready. So, the Frotz 2.44 is in freeze mode now. Here’s the ChangeLog:

NEW FEATURES

  • Blorb support implemented. No support for audio in Blorb files yet.
  • Added an -m option for Dumb Frotz to suppress the [MORE] prompt.
  • Makefile and code for compiling for 16-bit DOS.

BUG FIXES

  • Fixed a problem with saving and restoring in certain games.
  • Added some fflush() calls to make Dumb Frotz more suitable for bot use.
  • Removed old-style save support. It was getting hard to manage. Only
    the Quetzal save file format is supported now.
  • Fixed assorted minor 64-bitness problems.

As always, the latest is at github.com/DavidGriffith/frotz. An official tarball will be uploaded Sunday to the IF Archive pending no more last-minute changes.

Just cloned and made Frotz on Ubuntu 14.04. Are you aware of the below error?

Warning: @get_parent called with object 0 (PC = 12cf6) (will ignore further occurrences)

Happened when starting Anchorhead (first game in my Dropbox IF folder) and trying to restore a game. (All I did was press R from the first screen of the game, nothing more.)

Yes, that’s Anchorhead’s bug. Early Inform games were very prone to that sort of thing – that’s why the interpreter ignores the error by default.

Postel’s Law in action.

Yeah. That’s a bug in in Zcode. Frotz is just complaining about it.

That’s cool then, thought I’d post it just in case.

Had to look it up. Good law.

Actually, I was saying Postel’s Law is a bad law.

Anchorhead has that bug because early interpreters accepted buggy Z-code files silently. The frequency of those bugs declined when Frotz (and other interpreters) added those warnings. They should have had them from day one.

We have the same problem now with Glulx and “current stream is invalid” errors. People trip over them a lot because interpreters are so forgiving.