PunyInform 6.4.1 Released

PunyInform 6.4.1 Released

The PunyInform Library for writing 8-bit adventures has been updated. This is a major bug fix version with a number of fixes and changes including the following items:

Bugfixes:

  • Statusline code couldn’t compile with certain combinations of constants defined.
  • If an input word wasn’t recognized, _ParseNounPhrase would still check if it had the noun flag, i.e. it would look at adress 6 in the header, and accept it as a noun if bit 7 was set. One effect of this was that an unknown word in player input would be recognized as the direction “in” if routines started at or above address $8000.
  • The parse_name routine of the Directions object would look for an unrecognized word in user input in its arrays of direction words. This would match empty entries, e.g. the short form of ‘in’ (which doesn’t exist, so it’s set to 0).
  • If an input word was recognized, and it didn’t have the noun flag, _ParseNounPhrase would conclude it can’t be the name of an object. This was a mistake – a parse_name routine may still want to recognize the word as a synonym for the object. E.g. if the player names a cube “drop”, the player should then be able to do “get drop”. (example from Balances.inf, available at if-archive).
  • If an input word wasn’t recognized, an object’s name array would still be scanned for the word (which would then be 0).

If you are upgrading from a prior version of the library, be sure to note the following:

  • Until now, parse_name routines were not called if the first input word wasn’t in the dictionary (i.e. the word value was 0). Now parse_name is called in these instances. Make sure you don’t have parse_name routines which accept 0 as a synonym. E.g. it could look in an array of synonyms, and the array may contain the value 0 at times, to make room for synonyms that will be put there at a certain point in the game.

The PunyInform Library is a free download and can be downloaded from the PunyInform Github page at:
https://github.com/johanberntsson/PunyInform

Author: vadmin