X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=TODO;h=37857feb7015fb6501f11ad3eb43fb59b26389d1;hb=f715091db6a55e49ab1c21c891011c9ae535a93c;hp=3fe80a7dc885c4bd88ffc5cb80a1c50a0432bb33;hpb=809f53d099f51558e69f0be8038844f445ddbb60;p=open-adventure.git diff --git a/TODO b/TODO index 3fe80a7..37857fe 100644 --- a/TODO +++ b/TODO @@ -1,17 +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 logging and command log replay. Note that the replay log - needs to begin with the random-number seed. +* 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 -* 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. -* Add command-line option to disable all extension features. First - extension features: (1) Command prompt, (2) initial resource-allocation - number display suppressed. +* 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 such as K and SPK is nasty. -* Translate the FORTRANish mess to actual C. -* Inline the database so the code doesn't need an external file.