Custom Library Messages

version 28/100614 by David Fisher

  • Home page
  • Beginning
  • Previous
  • Next



  • Section: Change History

    Version 1 (June 6th, 2006)

        * Initial version, plenty of bugs.

    Version 2 (June 8th, 2006)

        * Added Parts and Sections + contents listing.
        * Improved documentation (added numbering to Messages section).
        * Added "[$]" (prints the current object).
        * Fixed handling of various messages (too many to remember :-)

    Version 3 (June 13th, 2006)

        * Replaced message rules with a table of message ids & text (using binary search to look up message ids).
        * Added section "Using Commands Outside The Library" to documentation.
        * Added abbreviations "[/p]", "[/n]" and "[/r]".
        * Added "[you|yourself]" command for situations where player is both the subject and the object (rarely needed, since "[.. dobj]" will usually handle automatically).
        * Renamed the "case" kind to "letter case" to avoid conflicts with any objects named "case".
        * Renamed arguments to "say" rules from "x" to "x_", etc. to avoid conflicts (possibly a bug in Inform 7 that local arguments don't always take precedence over globals).
        * Renamed the "vague go" rule to "block vaguely going" for consistency with the existing Inform library, and made it work properly.
        * Fixed rules for printing 'did' / 'didn't' (was not setting the current object).
        * Fixed the rules about newly visible exteriors.
        * Small improvement to Thee and Thou example (handle doubling of "t": put -> putteth, etc)

    Version 4 (June 14th, 2006)

        * Made sure "try silently" doesn't print anything if the action fails.
        * Handle messages defined as "" (empty string) properly (sometimes printed a spurious newline).
        * If there is more than one reporting rule defined in the Standard Rules for an action, made sure the others are still followed (eg. the "don't report successful implicit takes" rule).
        * Gave all appropriate messages separate "report player ..." and a "report npc ..." messages.
        * Changed "report other person ..." messages to "report npc ..." for consistency.
        * Renamed LibMsg <check life property for giving> to LibMsg <unable to receive things> for clarity.
        * Renamed LibMsg <futile to throw things at inanimate objects> to LibMsg <throw at inanimate object>.

    Version 5 (June 28th, 2006)

        * Removed need for library change "#IFNDEF LibraryMessagesProvided" in Verblib.h (thanks to Jesse McGrew).
        * Changed "lower" and "upper" to "lower-case" and "upper-case" respectively to avoid potential conflicts.
        * Added references to alternate, smaller extension "Default Messages".
        * Made sure extension works with I7 build 3R85.

    Version 6 (July 7th, 2006)

        * Fixed bug causing stack overflow when pushing objects (in a compass direction).
        * Added disclaimer to "Thee and Thou" example.

    Version 7 (July 17th, 2006)

        * Added "set the library message 'he' text" functionality to make changing third person singular form of "[you]" to some other word (eg. "the gunfighter") easy to do.
        * Changed definition of "To say you" and "To say you dobj" to make the above possible.
        * Added "Setting The Character's Name" section.

    Version 8 (July 20th, 2006)

        * Changed "set the library message 'he' text" to "set the library message third person text" and allowed library message gender to be changed when this is used.

    Version 9 (July 24th, 2006)

        * Fixed the "before/after library messages" rules; these are now rules that vary (since it is no longer possible to override a rule just by redefining it). Thanks to Jeff Nyman for noticing this problem.
        * Altered the "Out of World" example accordingly.
        * Also added a space to some messages (LibMsg <top line what on>, etc).

    Version 10 (July 28th, 2006)

        * Fix to bug introduced in V9; crashed when trying to go in a disallowed direction instead of saying "You can't go that way" (thanks again to Jeff Nyman for noticing this).

    Version 11 (August 15th, 2006)

        * Removed extraneous newline after <who disambiguation>, <which disambiguation> and <score command> messages (thanks again Jeff!)

    Version 12 (August 22nd, 2006)

        * Changed "[his]" rule to "[-his]" to avoid bizarre conflict with another extension (Scheduled Activities by John Clemens).
        * Fixed up plural forms for "his".

    Version 13 (August 29th, 2006)

        * Removed "[Story name]" from the text of "LibMsg <verbose look mode>", etc. since Inform already prints it (thanks to Arnel Legaspi for this one).

    Version 14 (November 14th, 2006)

        * Made sure the extension compiles for Glulx (by disabling the I6 code that fixes the bug described in Version 6, which no longer seems to happen in I7 version 4B91 anyway).

    Version 15 (January 28th, 2007)

        * Current object was not being set properly the very first time (thanks to Jeff Nyman again for pointing this out).
        * Added a note about verbs which have been removed from Inform 7 ("swim", etc).

    Version 16 (March 26th, 2007)

        * Updated for I7 version 4S08 (removed comments from inside tables and modified definition of "[/n]").

    Version 17 (March 27th, 2007)

        * Replaced the last remaining procedurual rule with a static ordering statement (thanks to Stephen Granade).
        * Removed the LibMsg <player description> rule ("As good-looking as ever"), and added new section "The 'Examine me' Text" to explain how to set this value.

    Version 18 (June 23rd, 2007)

        * Updated to work with I7 version 4U65.
        * Added LibMsg <examine direction>.
        * Removed "Thee and Thou" example (too many issues to update).

    Version 19 (August 9th, 2007)

        * Made sure "(in/on ...)" is printed correctly after the room name.

    Version 20 (August 24th, 2007)

        * Fixed past tense of "You get off the {supporter} ..."
        * Added past tense contents description bug to Known Bugs and Limitations section.

    Version 21 (August 25th, 2007)

        * Change "here" to "there" in past tense for things like "You can see a dog here / You could see a dog there".

    Version 22 (September 1st, 2007)

        * Made "yourself" print the right thing for first and third person (thanks to J. J. Lawless and Syzygy).

    Version 23 (November 21st, 2007)
        * Fixed problem with saying "[pronoun word]" (eg. "I'm not sure what 'it' refers to") (thanks to Juhana
    Leinonen for finding this).
        * Added paste icons to examples (thanks, Emily).
        * Added "section:" headings to documentation.

    Version 24 (January 13th, 2008)
        * In the "custom report exiting rule", temporarily set the noun to the "container exited from" (ie. the action variable for the exiting action) (thanks to Mike Tarbert for pointing out this issue).
        * Renamed "Library message debug" variable to "Library_message_debug" to avoid potential conflicts (eg. objects with the word "library" in their name).
        * Fixed bizarre infinite recursion when trying to print the name of the current object if it equals the player.

    Version 25 (April 20th, 2008)
        * Changes to I7 required a major update - many changes.
        * Library message number changed to Library message grammatical number to avoid clashing with new I7 libraries.
        * Removed "^" from upper case "to say" rules (eg. "[The %]" instead of "[^The %]").
        * Added new messages (see New Messages In This Version, above).
        * Removed references to I6 actions which do not exist in I7: Order, FullScore, Places, Objects, EmptyT, VagueGo, JumpOver, Swim, Blow, Dig, Fill, Set and Pray.
        * Updated the "block pushing in directions" message to match the new standard message.

    Version 26 (August 29th, 2008)
        * Added section 5.3 (Locale description), containing code by Emily Short to make the standard "you can see" message call this extension.

    Version 27 (October 5th, 2008)
        * Tense was being treated as "past" by default in some situations unless preceeded by "[you]"; now fixed (thanks to Jeff Nyman for pointing this out). Note that "[=> default tense]" is now required after "[=> present tense]" to revert to the current tense.