PunyInform 4.7 Released

Fredrik Ramsberg has announced the latest release of his PunyInform library for writing z-machine adventure games for 8-Bit platforms as well as modern platforms. Based originally on the Inform 6 library, PunyInform provides an easy to use method of writing adventure games which can then be compiled into z3, z5 and z8 formats.

According to the release notes, PunyInform version 4.7 includes the following changes and updates:

  • New file: howto/adjectives.inf, with a class to add adjectives and many synonyms to objects in all Z-code versions.
  • In addition to the PUNYINFORM_MAJOR_VERSION and PUNYINFORM_MINOR_VERSION constants, there is now a third version constant for PunyInform: PUNYINFORM_PATCH_VERSION. It is normally 0, but if we need to make a patch release between major/minor releases, we set this to a number > 0. If it’s 0, it is not printed in the banner.
  • The default message in the cheap scenery extension can now be changed by setting CS_DEFAULT_MSG to a string before including the extension. This is mainly to support extensions that need to replace it.
  • Moved two more messages from parser.h to messages.h, so they can be customized: MSG_PARSER_NO_IT and MSG_PARSER_CANT_SEE_IT.
  • Changed MoveFloatingObjects to use location rather than real_location, i.e. floating objects can also exist in the thedark location (like in I6lib).
  • Added functionality in MoveFloatingObjects to accept a class ID in a found_in array, i.e. if location belongs to this class, the object is present (like in I6lib).
  • Added functionality in MoveFloatingObjects to accept a regular object in a found_in array, and if this object’s parent is location, the floating object should also be present (like in I6lib).
  • Changed MoveFloatingObjects to only move an object to location if it’s not already there, in order not to disturb the order of the objects more than necessary (like in I6lib).
  • Added functionality in MoveFloatingObjects so a floating object that is held by the player is no longer considered to be floating (like in I6lib).

If you intend to use the PunyInform Library and compile, you will need to have installed Inform 6.36 or newer. You can also use the Borogove.app website to program your PunyInform game and run it in the browser. Borogove also provides a method which will produce the z-machine file for the game.

You can download the latest version of the PunyInform Library or the manuals for the library from the PunyInform Github page at:
https://github.com/johanberntsson/PunyInform

Author: A.P.P.L.E.
The A.P.P.L.E. Website is run by the Apple Pugetsound Program Library Exchange Users Group and is open to all Apple and Macintosh fans and their friends.