Add links to online DM4 at appropriate places.
[ibg.git] / chapters / 09.rst
index 6ce9f60e6c56d6eebd97d9f66eceaa759cc2a328..f6a50a1796499016c364888fef2a333079c754d0 100644 (file)
@@ -2,7 +2,7 @@
  William Tell: the end is nigh
 ===============================
 
-.. highlight:: inform6
+.. highlight:: inform
 
 .. epigraph::
 
@@ -67,6 +67,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 +160,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 +182,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 +200,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 +233,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 +483,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
 ===================
 
@@ -862,5 +866,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!