= Open Adventure TODO =
-* Translate the FORTRANish mess to actual C.
+The FORTRANish mess that once was is now mostly idiomatic C. Some issues
+remain to be cleaned up:
+
+* The remaining shared globals: K, SPK, WD1, WD1X, WD2, WD2X. These are used
+ rather promiscuously to pass around information that ought to be function
+ arguments in a modern language. K and SPK are particular offenders
+
+* Remaining unstructured gotos in playermove() and do_command().
+
+* The way return values from handlers such as 2012 trigger side effects
+ based on global state such as K and SPK is nasty.
/*
+ * There used to be a note that said this:
+ *
* The author - Don Woods - apologises for the style of the code; it
* is a result of running the original Fortran IV source through a
* home-brew Fortran-to-C converter.)
+ *
+ * Now that the code has been restructured into idiomatic C, the following
+ * is more appropriate:
+ *
+ * ESR apologizes for the remaing gotos (now confined to two functions in this
+ * file - they used to be *everywhere*), and the offensive globals. Applying
+ * the Structured Program Theorem can be hard.
*/
#include <stdlib.h>
#include <stdio.h>