mirror of
https://github.com/ganelson/inform.git
synced 2024-07-16 22:14:23 +03:00
248 lines
14 KiB
Plaintext
248 lines
14 KiB
Plaintext
3Z95 (14 September 2006)
|
|
|
|
(Mac OS X only) A new toolbar gadget, Headings, provides a breadcrumb-style
|
|
drop-down menu to navigate the headings and subheadings in the source.
|
|
A new toolbar button, Index, (re-)makes the current project, but shows the
|
|
revised index rather than the ensuing game. It's useful when, for
|
|
instance, laying out rooms and map connections, as it allows for an
|
|
easier comparison of the source text with the World map.
|
|
A new chapter (Chapter 5: Text) has been created in the documentation: this
|
|
is made up of material previously in the middle of Chapter 4, with a
|
|
variety of sections (on Unicode, quotations, "say" and text substitutions)
|
|
pulled in from surrounding chapters.
|
|
More detailed material has been added to the chapter on Rulebooks to cover
|
|
the distinction between object- and action-based rulebooks.
|
|
Review sections added to chapters 2, 5, 6, 7, 8 and 9.
|
|
The unsupported types "object-specification" and "object-specification-unsub"
|
|
have been withdrawn. In all cases where a phrase takes a description of
|
|
a set of objects - for instance as what to list in a "[list of S]",
|
|
or as what to repeat through in a "repeat with X running through S" -
|
|
this is now called simply "description". Moreover, the operations
|
|
"random S", "number of S", "total P of S" and "(superlative) S" -
|
|
such as "number of men", "a random man", "total carrying capacity of
|
|
men", "the heaviest man" - are all now defined as phrases like any other,
|
|
rather than being special constructions inside Inform. (This should ease
|
|
slightly odd problems experienced by a few people where Inform's parser
|
|
could not cope with phrases whose names were too similar to these four
|
|
constructions.) Finally, although "description" is not a kind of value,
|
|
it is legal to use "description" in new phrases:
|
|
To enumerate (collection - a description):
|
|
repeat with the item running through the collection
|
|
begin;
|
|
say "-- [The item].";
|
|
end repeat.
|
|
We could then "enumerate lighted rooms", say. Note that "collection"
|
|
here stands for whatever description is used when the phrase is invoked:
|
|
it can in turn be used wherever a description is needed. We could,
|
|
for instance, evaluate "the total carrying capacity of the collection".
|
|
Actions can now require three levels of access to something in order to
|
|
work, rather than two:
|
|
- "Visible" and "touchable" (the default) are as before, and "carried"
|
|
has been added. (E.g., "Assaying is an action applying to one carried
|
|
thing.") Carried implies touchable which implies visible, in this sense.
|
|
- A new accessibility rule, the "carrying requirements rule", checks that
|
|
this requirement is met.
|
|
- Should it fail, a new activity, "implicitly taking something", will
|
|
attempt to have the actor silently take the item(s) required.
|
|
- Should this in turn fail, the action as a whole will fail the "carrying
|
|
requirements rule".
|
|
- In Understand sentences, the tokens "[something held]" and "[things
|
|
held]" have been withdrawn. If used, they now produce an explanatory
|
|
Problem message which lays out what must change. In most cases, what
|
|
will be needed is for the action's declaration to include the carrying
|
|
requirement, and then these tokens to revert to plain "[something]"
|
|
or "[things]"; but new tokens "[something preferably held]" and
|
|
"[things preferably held]" have been created which, though they can
|
|
match anything visible, will prefer items held when ambiguous names
|
|
are used.
|
|
These changes make little difference to the player's perception of what
|
|
is happening. They have two advantages: first, it is conceptually clearer
|
|
for the action to be where realism constraints are declared, rather than
|
|
in grammar for parsing, and it ensures that all grammar using the same
|
|
action follows the same rules; second, it moves implicit taking from the
|
|
I6 library into more modern I7 terms, thus making it much easier to adapt
|
|
and modify the behaviour of implicit taking: this has been a frequent
|
|
request.
|
|
The actions "throwing X at Y" and "showing X to Y" now require Y only to
|
|
be visible, not to be touchable. (We envisage daggers thrown across
|
|
chasms, security passes shown through windows, and so forth.)
|
|
The "blowing" action, intended for woodwind instruments and perhaps the
|
|
occasional siphon, has been withdrawn from the built-in set: it no
|
|
longer seems to us part of the essential core of actions. We have
|
|
similarly removed praying, digging, jumping over, filling and
|
|
swimming. (Our main concern with these was that, besides being of
|
|
marginal use, they tended to result in inappropriate text being
|
|
produced in the few cases where they were relevant.)
|
|
Finally, "remove X" (as distinct from "remove X from Y") is no longer
|
|
understood as referring to the taking action. (It caused confusions
|
|
with removing in the sense of removing an item of clothing, and
|
|
hardly anybody ever used it.)
|
|
Further work has been carried out on providing Glulx support. We now
|
|
believe that any work written without the explicit use of Z-code
|
|
assembly language (or extensions themselves containing such) should
|
|
compile, run and release correctly in with "Glulx" selected on the
|
|
Settings panel.
|
|
Moreover, there is (as yet limited) support for displaying images, which
|
|
Inform calls "Figures", following an analogy with book conventions. To
|
|
use these:
|
|
- Place an image file, which must be a JPEG or PNG, in a subfolder
|
|
called Figures of the Materials folder for the project. Suppose
|
|
this is "Woodlands.png".
|
|
- Add the sentence:
|
|
Figure of Woodlands is the file "Woodlands.png".
|
|
to the source text. (Figure names can consist of any text so
|
|
long as they start with the word "Figure": "Figure 3 - Woodlands",
|
|
for instance, or "Figure W" would have been just as good.)
|
|
- The phrase
|
|
display the Figure of Woodlands;
|
|
will now show the image, when the work is compiled to Glulx. When
|
|
compiled to the Z-machine (which is the default setting on the
|
|
Settings panel, of course), nothing will happen: the phrase will
|
|
do nothing. The phrase option
|
|
display the Figure of Woodlands, one time only;
|
|
causes the image to be shown only the first time this phrase is
|
|
reached.
|
|
- A list of figures, with thumbnails and dimensions, appears in the
|
|
Contents index; a warning triangle is shown for any images in the
|
|
wrong format, or which are missing from the Figures folder.
|
|
- When a Glulx work is released as a blorb (the default setting for the
|
|
way releases occur), any such images are automatically included.
|
|
- The new kind of value "figure-name" can be used to define phrases
|
|
which work with Glulx pictures:
|
|
To do something funny with (F - a figure-name): ...
|
|
Figure names compile to resource ID numbers as used in the final
|
|
released blorb; these will usually be integers 2, 3, 4, ...,
|
|
since picture resource number 1 is reserved for the cover art.
|
|
- We would like to thank John Cater for contributing his infglk.h
|
|
definitions to the project: these definitions are included in the
|
|
I6 source code compiled by I7 on any project set to Glulx.
|
|
In line with the existing text substitutions "[the Thing]", "[The Thing]",
|
|
"[a Thing]", "[an Entity]", for the name of something together with the
|
|
given article and casing, "[A Thing]" and "[An Entity]" have been added,
|
|
providing for a capitalised indefinite article.
|
|
Technically a new feature rather than a bug fix: if an object is established
|
|
as a proper noun, in that its name as specified by "called" does not
|
|
begin with a standard English article - for instance "A man called your
|
|
local vicar is in the Belfry", where "your local vicar" is treated as
|
|
a proper noun - then this name will be capitalised if the object's
|
|
name is printed with "[The whatever]", "A whatever" or "An whatever".
|
|
(Thus "Your local vicar" would be printed instead of "your local vicar".)
|
|
Kinds can now have plural names. This will relatively seldom be useful, but
|
|
the result is that the text "A house is a kind of thing. Some windows
|
|
are a kind of thing. Some windows are part of every house." - will now
|
|
result in a house's windows being deemed to have plural names (which for
|
|
instance means they will produce better messages with the Plurality
|
|
extension).
|
|
Conversely, fewer plural names are now understood by the run-time parser:
|
|
an over-eagerness to recognise plurals of the names of unique, one-off
|
|
items was sometimes leading to name clashes and consequently misinterpreted
|
|
input.
|
|
Examples:
|
|
"Alpaca Farm" -- modified for new held rules
|
|
"Ballpark" -- added commentary to better explain the function of
|
|
the table
|
|
"Beachfront" -- added commentary to explain the order of
|
|
operations of the rules
|
|
"Beneath the Surface" -- modified to account for changes to the
|
|
held token
|
|
"Big Sky Country" -- modified to account for the removal of the
|
|
DIG action
|
|
"Bruneseau's Journey" -- modified for the fact that BLOW has been
|
|
removed
|
|
"Bumping into Walls" -- substantially simplified entire example to
|
|
demonstrate simpler handling of the problem
|
|
"Cloak of Darkness" -- modified for new held rules
|
|
"Crane's Leg 1" and "Crane's Leg 2" -- removed "a thing has a
|
|
thing called the ideal" and replaced this with a relation and some
|
|
discussion of why it is better to use relations than object
|
|
properties
|
|
"Curare" -- added to demonstrate a possible use of descriptions
|
|
"Dig" -- removed, since it showed how to get around a problem that
|
|
is no longer a problem
|
|
"Down Below" -- added a demonstration of >FLIP grammar for the
|
|
light switch, and corrected a bug that would have allowed the
|
|
switch to be interacted-with from rooms other than the basement
|
|
"Lakeside Living" -- modified to account for the removal of the
|
|
swimming action
|
|
"Model Shop" -- added a few extra lines showing how to make
|
|
alternative names for the created buttons
|
|
"Morning After" -- comment added to explain the meaning of "carry
|
|
out"
|
|
"Pine" -- modified to account for the removal of the swimming action
|
|
"Polarity" -- comment added to explain "first carry out going
|
|
rule"
|
|
"Reflections" -- modified to account for the removal of the blowing
|
|
action
|
|
"Revenge of the Fussy Table" -- redundancy removed from one
|
|
definition
|
|
"Space Patrol - Stranded on Jupiter!" -- modified to account for
|
|
the removal of the DIG action
|
|
"Tamed" -- modified also to model the case of a room whose
|
|
exterior is visible in another room (ie, nested locations)
|
|
"3 AM" -- modified to reflect the changes to the held token
|
|
"Trachypachidae Maturin 1803" -- modified to reflect changes in
|
|
the held token
|
|
"Transmutation" -- added example on group relations, thanks to
|
|
Jesse McGrew
|
|
"Under Contract" -- modified for the fact that various actions
|
|
have been removed
|
|
"The Unexamined Life" -- modified to reflect changes in the held
|
|
token
|
|
"A View of Green Hills" -- comment added explaining what noun
|
|
means in this context
|
|
"Waterskin" -- modified to reflect removal of blowing action
|
|
"Would you...?" -- more comment added explaining the behavior of
|
|
edible things
|
|
"Zodiac" -- added missing line to the first version of the
|
|
scenario
|
|
"Zorn of Zorna" -- modified to reflect removal of blowing action
|
|
A new information-only example has been added to the chapter on Rulebooks,
|
|
giving a Backus-Naur form grammar for Inform's rule preambles
|
|
Worked Examples:
|
|
"Bronze" -- modified to reflect myriad changes to action definitions
|
|
and held tokens
|
|
"Glass", "When in Rome 1", "When in Rome 2" -- modified to remove a few
|
|
responses to now-undefined actions
|
|
"Damnatio Memoriae" -- modified to reflect changes to held tokens; fixed
|
|
minor bug about thinking on the first turn
|
|
"Reliques of Tolti-Aph" -- modified to reflect action changes
|
|
Extensions:
|
|
"Complex Listing" modified to deal with the new specification type, and
|
|
advanced to version 3. Please note that "register things marked for
|
|
listing" is now not necessary in most cases: see the documentation.
|
|
The SCENES testing command now summarises the current situation when scene
|
|
tracing is switched on - the story so far, as it were.
|
|
Changes in the type-checker should cause Inform to compile slightly more
|
|
efficient code: it also checks a few more cases, and notably that the
|
|
parameters of an action in a "try" phrase are genuinely of the right
|
|
kind of value for the action in question.
|
|
Bug fixed in which phrases to decide if something-or-other would sometimes
|
|
not properly be parsed where they naturally begin with "the": so that,
|
|
for instance, the condition "if the action requires a touchable noun..."
|
|
would sometimes fail because of the "the".
|
|
Bug fixed to do with spurious paragraphs such as "On the mantelpiece is a
|
|
brass clock." being produced in room descriptions when the mantelpiece
|
|
is scenery, and the brass clock has already been mentioned.
|
|
Bug fixed whereby the creation of three things X, Y and Z with text in the
|
|
pattern "an X of Y and a Z" would sometimes cause Z to be created with
|
|
no article, i.e., as if its name were a proper noun - ignoring the "a".
|
|
Bug fixed whereby testing if "X is in R", where X is a thing and R is a
|
|
region, would always come up negative even if X was in a room inside
|
|
that region. It now makes the obviously intended test.
|
|
Bug fixed to do with incorrect casing when printing a literal value in a
|
|
pattern which includes words already occurring earlier in the source
|
|
with different casing from that in the pattern.
|
|
Bug fixed causing programming errors to appear at run-time when attempting
|
|
to push an enterable container between rooms while within it (by
|
|
punting down a river, perhaps).
|
|
Bug fixed causing occasional hangs, under Glulx only, when the player
|
|
character in inside or on something and also has component parts.
|
|
Bug fixed causing snippet replacement to leave the wrong number of words
|
|
behind, under Glulx only.
|
|
(Windows only) Clicking on a link in a problem report that points to an
|
|
extension does not open a new window if the extension is already open in
|
|
another window.
|
|
Problem messages added for duplicate definitions of verbs or prepositional
|
|
usages.
|
|
Problem messages to do with misphrased property declarations improved.
|