Improve test coverage.
[open-adventure.git] / notes.adoc
index 5e33b5a6e16d4fa83f4935b36a97277a851a657b..19efbbc486cd724c77ae048639194049cb5e0f69 100644 (file)
@@ -11,7 +11,7 @@ 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
-gratefully acknowledged.
+gratefully acknowledged. Petr Voropaev contributed fuzz testing.
 
 == Nomenclature ==
 
@@ -73,6 +73,9 @@ necessarily pretty ugly by modern standards. Encryption and
 checksumming have been discarded - it's pointless to try
 tamper-proofing saves when everyone has the source code.
 
+A -r command-line been added. When it is given (with a file
+path argument) it is functionally equivalent to RESTORE command.
+
 == Translation ==
 
 The 2.5 code was a mechanical C translation of a FORTRAN original.
@@ -114,9 +117,10 @@ ways:
   and the choice to refrain will make forward translation into future
   languages easier.
 
-* There are a few gotos left that resist restructuring; all of these
+* There are a few gotos left that resist restructuring; all but of these
   are in the principal command interpreter function implementing its
-  state machine.
+  state machine. the remaining one is a truly mysterious artficat in
+  the player-movement code.
 
 * Linked lists (for objects at a location) are implemented using an array
   of link indices. This is a surviving FORTRANism that is quite unlike
@@ -129,6 +133,9 @@ ways:
 
 * Much of the code still uses FORTRAN-style uppercase names.
 
+* 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.
+
 * The code is still mostly typeless, slinging around machine longs
   like a FORTRAN or BCPL program.  Some (incomplete) effort has been made
   to introduce semantic types.