Begin decomposing cond magic numbers.
[open-adventure.git] / notes.adoc
index 726ca03569c94218241997167cb6b476edf27b89..4f4e1c41552c132702a066473aa0821cc39cf42f 100644 (file)
@@ -11,7 +11,8 @@ The principal maintainers of this code are Eric S. Raymond and Jason
 Ninneman.  Eric received Don Woods's encouragement to update and ship
 the game; Jason signed on early in the process to help. The assistance
 of Peje Nilsson in restructuring some particularly grotty gotos is
 Ninneman.  Eric received Don Woods's encouragement to update and ship
 the game; Jason signed on early in the process to help. The assistance
 of Peje Nilsson in restructuring some particularly grotty gotos is
-gratefully acknowledged. Petr Voropaev contributed fuzz testing.
+gratefully acknowledged. Petr Voropaev contributed fuzz testing. Aaron
+Traas did a lot of painstaking work to improve test coverage.
 
 == Nomenclature ==
 
 
 == Nomenclature ==
 
@@ -92,6 +93,7 @@ what you are running when you do "make check".
 In the process we found and fixed a few minor bugs. Most notably, reading
 the relocated Witt's End sign in the endgame didn't work. Behavior when
 saying the giant's magic words outside his room wasn't quite right either.
 In the process we found and fixed a few minor bugs. Most notably, reading
 the relocated Witt's End sign in the endgame didn't work. Behavior when
 saying the giant's magic words outside his room wasn't quite right either.
+Attempt to extinguish dark urn would have cause it do lose oil.
 
 The move to modern C entailed some structural changes.  The most
 important was the refactoring of over 350 gotos into if/loop/break
 
 The move to modern C entailed some structural changes.  The most
 important was the refactoring of over 350 gotos into if/loop/break
@@ -136,7 +138,7 @@ ways:
   to fix it because doing so would (a) be quite difficult, and (b)
   compromise forward-portability to other languages.
 
   to fix it because doing so would (a) be quite difficult, and (b)
   compromise forward-portability to other languages.
 
-* Muxh of the code still assumes one-origin array indexing.  Thus,
+* Much of the code still assumes one-origin array indexing.  Thus,
   arrays are a cell larger than they strictly need to be and cell 0 is
   unused.
 
   arrays are a cell larger than they strictly need to be and cell 0 is
   unused.
 
@@ -144,4 +146,10 @@ ways:
   like a FORTRAN or BCPL program.  Some (incomplete) effort has been made
   to introduce semantic types.
 
   like a FORTRAN or BCPL program.  Some (incomplete) effort has been made
   to introduce semantic types.
 
+We have made exactly one minor architectural change.  In addition to the
+old code's per-object state-description messages, we now have a per-object
+message series for state *changes*.  This makes it possible to pull a fair
+amount of test out of the arbitrary-messages list and associate those
+mesages with the objects that conceptually own them.
+
 // end
 // end