Skip to content

v3.1

Compare
Choose a tag to compare
@fredrikr fredrikr released this 23 Oct 10:23
· 651 commits to master since this release

Important to note when upgrading:

  • If your code calls ObjectIsInvisible(obj), change it to ~~TestScope(obj)

Changes in functionality:

  • Added a PunyInform Quick Reference document.
  • Implemented the grammar property as described in DM4.
  • Added support for ParseNoun, at a small cost if you use it, and no cost if you don't. Note: This is called before parse_name, unlike the standard library.
  • Remove duplicates from match list when player specifies same object twice for a multi token.
  • Removed ObjectIsInvisible routine which is not needed. Use TestScope instead.
  • Added UNDO to end of game message.
  • Changed so library doesn't check if header says it's a timed game before updating time, if STATUSLINE_TIME has been defined.
  • Added documentation on ParseToken to manual
  • Added more debugging tips to Game Authot's Guide

Optimizations:

  • Optimized _CheckNoun to save 70 bytes.
  • Optimized disambiguation code to save ~70 bytes.
  • Optimized code order to let virtual memory systems shift out parts of the library for long times, for speed.

Bugfixes:

  • Fixed two incorrect direction names in howto/custom_directions.inf.
  • Fixed noun/second setup for Consult, Answer and Ask action.
  • Fixed so we don't risk duplicates in scope when InScope is used.
  • OPTIONAL_GUESS_MISSING_NOUN function would sometimes reveal a concealed object.
  • When parse_name returned -1 wn was not reset.
  • Fixed error reporting from ParseToken with TT_SCOPE parameter.
  • Fixed that actions sometimes didn't print a message in large games.
  • Fixed compile-time error if SACK_OBJECT and OPTIONAL_NO_DARKNESS were defined.
  • Fixed a bad noun flag test in _CheckNoun.
  • Fixed bad num_words value after disambiguation question.
  • Fixed error reporting from general parse routines.
  • Fixed bug in scope routines that match multiple nouns.
  • Fixed that a direction instead of a disambiguation reply didn't work.
  • Fixed so that setting parser_action = ##PluralFound in parse_name works as it should.