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 ==
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.
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
* 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.