Tick some things off the TODO list.
[ibg.git] / chapters / 09.rst
index 6ce9f60e6c56d6eebd97d9f66eceaa759cc2a328..24b04dc7e5d6ccfccc5e698d88731f3eae33034a 100644 (file)
@@ -2,25 +2,22 @@
  William Tell: the end is nigh
 ===============================
 
-.. highlight:: inform6
+.. highlight:: inform
 
 .. epigraph::
 
-   | *Q was a queen, who wore a silk slip;*
-   | *R was a robber, and wanted a whip.*
+   | |CENTER| *Q was a queen, who wore a silk slip;*
+   | |CENTER| *R was a robber, and wanted a whip.*
 
 .. only:: html
 
    .. image:: /images/picQ.png
       :align: left
 
-.. raw:: latex
-
-   \dropcap{q}
-
-uite a few objects still remain undefined, so we'll talk about them first.
-Then, we'll explain how to make additions to Inform's standard repertoire
-of verbs, and how to define the actions which those verbs trigger.
+|Q|\uite a few objects still remain undefined, so we'll talk about them
+first.  Then, we'll explain how to make additions to Inform's standard
+repertoire of verbs, and how to define the actions which those verbs
+trigger.
 
 The marketplace
 ===============
@@ -67,6 +64,8 @@ a complex test, and one that we'll be making in several places, it's
 sensible to write a routine to do the job.  Which we'll do shortly -- but
 first, a general introduction to working with routines.
 
+.. _working-with-routines:
+
 A diversion: working with routines
 ==================================
 
@@ -158,7 +157,7 @@ of the variable -- ``self`` or ``location`` -- which is being checked.  A
 better approach might be to rework our ``BeenHereBefore`` routine so that
 it does both jobs, but we somehow need to tell it which variable's value is
 to be checked.  That's easy: we design the routine so that it expects an
-**argument**::
+:term:`argument`::
 
     [ BeenToBefore this_room;
         if (this_room has visited) return true;
@@ -180,7 +179,7 @@ routine doesn't care where the argument came from; it just sees a value
 which it knows as ``this_room``, and which it then uses to test for the
 ``visited`` attribute.  On the second line we supply ``location`` as the
 argument, but the routine just sees another value in its ``this_room``
-variable.  ``this_room`` is called a **local variable** of the
+variable.  ``this_room`` is called a :term:`local variable` of the
 ``BeenToBefore`` routine, one that must be set to a suitable value each
 time that the routine is called.  In this example routine, the value needs
 to be a room object; we could also check an explicit named room::
@@ -198,9 +197,9 @@ Remember that:
    ``rfalse`` statement, or by the the ``]`` marking the routine's end (in
    which case the default STEF rule applies: Standalone routines return
    True, Embedded routines return False).  We gave this example of an
-   embedded routine in "Adding some props" on page 81.  The ``return
-   false`` statement is redundant: we could remove it without affecting the
-   routine's behaviour, because the ``]`` acts like a ``return false``::
+   embedded routine in :ref:`adding-props`.  The ``return false`` statement
+   is redundant: we could remove it without affecting the routine's
+   behaviour, because the ``]`` acts like a ``return false``::
 
        found_in [;
            if (location == street or below_square or south_square or
@@ -231,8 +230,8 @@ Return value is important   Return value doesn't matter
 =========================   ===========================
 
 For full details on which library property values can be embedded routines,
-and which return values are significant, see "Object properties" on page
-266 and Appendix §A2 of the *Inform Designer's Manual*.
+and which return values are significant, see :ref:`object-props` and
+:dm4:`Appendix §A2 <sa2.html>` of the |DM4|.
 
 Return to the marketplace
 =========================
@@ -481,6 +480,8 @@ And with that, we've defined all of the objects.  In doing so, we've added
 a whole load of new nouns and adjectives to the game's dictionary, but no
 verbs.  That's the final task.
 
+.. _verbs:
+
 Verbs, verbs, verbs
 ===================
 
@@ -492,8 +493,8 @@ blessing; it means that many of the actions which players might attempt are
 already catered for, either by the interpreter doing something useful, or
 by explaining why it's unable to.  Nevertheless, most games find the need
 to define additional actions, and "William Tell" is no exception.  We'll be
-adding four actions of our own: ``Untie``, ``Salute`` (see page 113),
-``FireAt`` (see page 115) and ``Talk`` (see page 116).
+adding four actions of our own: ``Untie``, ``Salute``, ``FireAt`` and
+``Talk``.
 
 .. rubric:: Untie
 
@@ -862,5 +863,5 @@ falling back on the embarrassing silences implied by "You can't think of
 anything to say".
 
 That's the end of our little fable; you'll find a transcript and the full
-source in "William Tell" story on page 219.  And now, it's time to meet --
-Captain Fate!
+source in :doc:`/appendices/c`.  And now, it's time to meet -- Captain
+Fate!