Default Messages & Custom Library Messages updated

Default Messages and Custom Library Messages have both been bumped to version 3. No changes are needed to the author’s source for Default Messages, but Custom Library Messages is now stricter in its say-phrases, in order to more closely emulate Emily Short’s Plurality.

Default Messages, version 3:

  • In response to Aaron Reed’s upcoming extension Neutral Library Messages, the Default Messages extension now looks through the author’s table of messages “in reverse order”. Normally the direction makes no difference, but if the author and Aaron’s extension both override it, it will now choose the one in the game source, rather than the one in Aaron’s extension (which presumably came first).

  • A new example was added due to a snafu with the “I only understood you as far as” error. Normally when the author changes that message, Inform always tacks on the relevant bit of the player’s command. But if the author wants that bit in the middle of the sentence, like “I only understood take yourself, but not the rest,” the example shows how to do so. (Via a rule, using [library message verb].)

Custom Library Messages, also version 3:

  • The same example was added to CLM as well. I considered fixing the snafu in Inform itself, but I didn’t want DM and CLM to differ in how they worked. And to fix it in Inform from the minimalist Default Messages was… not all that minimalist.

  • A bug was fixed to do with the have* irregular verb, specifically when it was used in second person present tense, among other things.

  • It is now possible to include Plurality (version 9) by Emily Short while under the restriction “use no deprecated features”. Plurality has deprecated phrases that begin with “Cap”, meaning capitalize, instead using actual capitalization like [It-them] and [it-them].

  • Following Plurality’s lead, CLM no longer provides “Cap” phrases itself, instead using actual capitalization in their names. Apologies to any authors who may need to massage their code as a result.

  • Similarly, the word “of” is required in phrases like “[it-them of the noun]”, just like Plurality does.

  • The documentation was expanded. Specifically, the part that said, “see the documentation for Default Messages” has been replaced with the relevant part of said documentation. The small section about the activity was slightly expanded, and a new section was added at the very end with some of the say phrases CLM exposes.

  • A section or two was appearing in the author’s Index when it should not have. This is fixed.

  • One phrase, ['s-'ve], was used only in the example Poster Shopping. This phrase has been removed from both extension and example to conserve space. It re-appears in the documentation’s new section on say phrases as an example of creating new ones, and can be added back into an author’s project with a click of the adjacent copy-paste icon.

Excellent, Ron! :slight_smile:

I’d like the final version of my extension to support Custom Library Messages too, probably by tagging all the phrases with the appropriate markup, then making a section for use without CLM that defines the standard versions (i.e. To say We: say “You”.) At the moment, I’m deciding whether it’s more useful to do that, or to include all the unreplaced messages so I can unlist the original versions to reclaim memory, as per your trick in the Default Messages documentation. (I suppose doing both is an option, although more grunt work…)

CLM is setup so that its table is in a Section of its own, so Section replacement can completely delete the table, reclaiming all that memory (and the DM’s trick is already in effect anyway). All you’d need to do in NLM is have two versions of all your changed messages, one for DM that hard-codes “you” and the like, and one for CLM that uses CLM’s say-phrases.

I would, however, recommend against using CLM’s phrases for DM as well, even if you are re-declaring them to print the hard-coded second person. Reason being is memory: those say-phrases would be functions which wouldn’t exist otherwise. DM is popular partly because it’s Z friendly.

The unchanged messages you include merely to make use of DM’s trick can be used in both DM and CLM without changes if you use Section replacement to nix CLM’s table.

(Also, the “in reverse order” that DM now uses has been in effect in CLM since the beginning, in case anyone wondered why the change wasn’t made in CLM: it was already there.)

Functions are cheap though, I’ve never heard of anyone running out of function space before running out of memory.