X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=TODO;h=ce5d5cbfe1e670a0469e3ab63c90d7d847bf8dbe;hp=37857feb7015fb6501f11ad3eb43fb59b26389d1;hb=c5d2d9ddb54647bdb3ca03a0163a5da103dc8946;hpb=55610bb1de8f861af7567d8b6d8ab47006148fce diff --git a/TODO b/TODO index 37857fe..ce5d5cb 100644 --- a/TODO +++ b/TODO @@ -3,19 +3,15 @@ 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 +* The remaining shared globals: 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 + arguments in a modern language. -* Remaining unstructured gotos in playermove() and do_command(). The goto L12 - in playermove() is particularly horrible, jumping backwards into the - middle of a loop. +* Remaining unstructured gotos in do_command(). -* 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 program is still pretty much typeless - full of magic numbers being + sliced and diced in cryptic ways. Some attempt has been made to introduce + semantic types, but the job is barely started. -* The way return values from handlers such as 2012 trigger side effects - based on global state such as K and SPK is nasty.