Update TODO.
[open-adventure.git] / TODO
diff --git a/TODO b/TODO
index 3e7758d1e1c3e04b4051ee008af8e27b9db606c5..6abcb59866ad0c68ac07bac9f51b669acfa3d59f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,13 +1,21 @@
 = Open Adventure TODO =
 
-* Use a real pseudorandom-number generator with a seed rather than just
-  time-sampling.
+The FORTRANish mess that once was is now mostly idiomatic C. Some issues
+remain to be cleaned up:
 
-* Add command log replay.  Note that the replay log needs to begin
-  with the random-number seed.
+* The remaining shared globals: K, WD1, WD1X, WD2, WD2X. These are used
+  rather promiscuously to pass around information that ought to be function
+  arguments in a modern language. K is a particular offender.
 
-* Use that feature to make regression tests from walkthroughs.
+* Remaining unstructured gotos in playermove() and do_command(). The goto L12
+  in playermove() is particularly horrible, jumping backwards into the
+  middle of a loop.
+
+* In playermove(), why doesn't replacing the global motion number K
+  with a passed-in argument work? There's some unobvious information
+  leak here.
+
+* The way return values from handlers such as 2012 trigger side effects
+  based on global state is nasty.
 
-* Translate the FORTRANish mess to actual C.
 
-* Inline the database so the code doesn't need an external file.