Skip to content

v6.7

Latest

Choose a tag to compare

@fredrikr fredrikr released this 12 Jun 15:54

Important to note when upgrading:

  • Scope rules have changed: (A) adding objects to scope using an add_to_scope array will no longer add children of the objects specified, and (B) adding objects using an add_to_scope procedure which calls PlaceInScope no longer checks the add_to_scope property of the objects added. If you're using add_to_scope and/or PlaceInScope, make sure you test that the objects that you need to be in scope are still in scope after the library upgrade.
  • add_to_scope support is now optional (it's enabled unless the constant OPTIONAL_NO_ADD_TO_SCOPE is defined). Existing projects aren't affected, but minimal.inf is now configured by default without support for the add_to_scope property.

New/changed functionality:

  • Made support for add_to_scope optional, governed by constant OPTIONAL_NO_ADD_TO_SCOPE.
  • Improved compatibility with other libraries, for extensions menu, talk_menu and cheap_scenery.

Optimizations:

  • Optimized some scope routines.
  • Optimized name matching in cheap scenery extension.
  • Improved text storage in Library of Horror.

Bugfixes:

  • Fixed bug: add_to_scope using an array would also add children of all objects. This was different from DM4 and the standard library.
  • Fixed bug: add_to_scope using a procedure that added objects with PlaceInScope would also check add_to_scope for the objects added. This was different from DM4 and the standard library.
  • Added a test for add_to_scope handling.
  • Added back a lot of messages for ROUTINES debug verb, that went missing for z5+ in PunyInform v6.5.
  • Purloin debug verb didn't set scope_modified, so purloined item could end up not being in scope.
  • Improved checks for amusing provided.
  • Fixed bug: Cheap scenery extension could try to print CS_DEFAULT_MSG as a string even if it was a routine.