| Chapter 21: Extensions |

| 21.5. Version numbering

As we have seen, extensions are referred to by name and author, but they can also (optionally) be referred to by version. For instance:

> Include version 2 of the Ducking Action by Graham Nelson.

> Version 1/040426 of the Ducking Action by Graham Nelson begins here.

A version number must be a whole number 1, 2, ... (version 0 is not allowed, and nor are decimal points), optionally followed by a slash '/' and then a six-figure date, in the form YYMMDD: so 040426 means 26 April 2004.

A request to include version 2 of something implicitly means "version 2 or later", and similarly "version 2/040426" means version 2 with a date of 26 April 2004 or later, or else any version higher than 2. If Inform loads the extension but finds that its version is not good enough, an error is issued.

Where no version number is quoted, the rule is that an unspecified version predates any numbered version. This means that the line

> Include the Ducking Action by Graham Nelson.

will be happy with any version of the extension at all, whether numbered or not; but

> Include version 2 of the Ducking Action by Graham Nelson.

will only accept the extension if it has a version number attached (and with that number being 2 or higher).

During play of any game compiled by Inform 7, typing "version" lists various serial numbers of the pieces of software used to make it. The list concludes with names, authors and version numbers of any extensions used. So every author whose work contributes to a game automatically gets a modest credit within it. The same list can be printed, at the discretion of the designer, using the textual substitution:

> say "[list of extension credits]"

Previous | Contents | Next