Important to note when upgrading:
- The change to objectloops in the Look routine (See optimizations below) will sometimes show the objects in a different order than before. This goes for objects that have a routine such as describe, when_on, when_open etc, and for the contents of scenery objects when OPTIONAL_PRINT_SCENERY_CONTENTS is defined,
New and changed functionality:
- New debug verb for talk_menu: tmtest - Looks for incorrect entries in talk_menu arrays. Type "tmtest" or e.g. "tmtest bob" to use it.
- talk_menu extension: A relative reference to a topic to be activated can now be negative as well as positive. If it's negative, the number has to preceded by TM_ACTIVATE, and the number has to be in parentheses. E.g. TM_ACTIVATE (-1)
- talk_menu extension: A topic can now inactivate another topic, by specifying TM_INACTIVATE followed by either a positive or negative relative reference (e.g. (-1) means the previous topic), or an absolute ID 300-600.
- Statusline prints spaces to cover parts of long room name which could show between Score and Moves, and to the right of Moves.
- Made the parser give lower priority to an object the actor isn't in, when the action is ##Exit.
Optimizations:
- Made ext_flags.h 32 bytes shorter (if you use AnyFlagIsSet and AnyFlagIsClear).
- Changed two objectloops in Look routine, so they use the fast way of iterating over objects in another object.
Bugfixes:
- Fixed: Using a number as a synonym for an object gave weird responses from the parser.
- Fixed a mistake from PunyInform v1.6: TestScope would return true for any object if meta=1, which is neither useful nor consistent with I6lib.
- Fixed: incomplete sentences with multiple preposition lists didn't produce an error message
- Made sure error message about too many floating objects isn't obscured by statusline in z5.
- Reset matching object count when _ParseNounPhrase starts.