

The PunyInform Library has been updated. Puny Inform is a library written in Inform 6 which allows authors to create text adventure games / interactive fiction using the Z-machine virtual machine, to be played on 8-bit computers as well as newer platforms. It provides a parser, implementations of common verbs, as well as a framework for writing text adventures.
Maintained by Fredrik Ramberg, the PunyInform library Version 5.10 includes a host of updates around the Talk features of the library. Some of the changes include the following:
Important to note when upgrading:
- ext_talk_menu: Procedure TMPrintLine has changed. If you redefine it in your own source, you need to make a new copy of the procedure from ext_talk_menu.h and modify it to suit your needs.
- ext_talk_menu: A relative topic reference could previously be a number between 1 and 29. From now on it can be in the range 1-20.
Changes in functionality:
- Added option in ext_talk_menu to conditionally add sub-arrays of topics. Updated howto/talk_menu.inf to use this.
- talk_menu now uses pagination of topics even in z3 format.
Bugfixes:
- Bugfix: PlayerTo(obj, 2) used to always print a long description, while it should print a short description if the game was in superbrief mode or the game was in brief mode and the player had already visited the location. Fixed now.
- Bugfix: Arrays which_object and multiple_objects in globals.h were one word too small, leading to buffer overruns when the parser handles multiple objects.
- Fixed a buffer overrun error when wrong value given to parser_two for _ParseNounPhrase
- Added a buffer overrun check when copying data into multiple_objects
- Bugfix: Parser will no longer confuse an out_to property value with a parse_name routine, if the value isn’t a valid routine address. (This is mainly useful in DEBUG mode)
- Bugfix: howto/adjectives.inf had a bug which broke matching for AdjObject objects which didn’t have an adj_name property.
You can download the latest version of the PunyInform library from the GitHub page at:
https://github.com/johanberntsson/PunyInform
The latest version of the library, Version 5.10 is available at:
https://github.com/johanberntsson/PunyInform/releases/tag/v5_10










