X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=notes.adoc;h=4f4e1c41552c132702a066473aa0821cc39cf42f;hb=1d41d9a2f886e355111830d20e3005d182766bbe;hp=726ca03569c94218241997167cb6b476edf27b89;hpb=21d959a5c2bf905f6b21325f3b8d3b3b0330f378;p=open-adventure.git diff --git a/notes.adoc b/notes.adoc index 726ca03..4f4e1c4 100644 --- a/notes.adoc +++ b/notes.adoc @@ -11,7 +11,8 @@ The principal maintainers of this code are Eric S. Raymond and Jason 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. Petr Voropaev contributed fuzz testing. +gratefully acknowledged. Petr Voropaev contributed fuzz testing. Aaron +Traas did a lot of painstaking work to improve test coverage. == Nomenclature == @@ -92,6 +93,7 @@ what you are running when you do "make check". In the process we found and fixed a few minor bugs. Most notably, reading the relocated Witt's End sign in the endgame didn't work. Behavior when saying the giant's magic words outside his room wasn't quite right either. +Attempt to extinguish dark urn would have cause it do lose oil. The move to modern C entailed some structural changes. The most important was the refactoring of over 350 gotos into if/loop/break @@ -136,7 +138,7 @@ ways: to fix it because doing so would (a) be quite difficult, and (b) compromise forward-portability to other languages. -* Muxh of the code still assumes one-origin array indexing. Thus, +* Much of 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. @@ -144,4 +146,10 @@ ways: like a FORTRAN or BCPL program. Some (incomplete) effort has been made to introduce semantic types. +We have made exactly one minor architectural change. In addition to the +old code's per-object state-description messages, we now have a per-object +message series for state *changes*. This makes it possible to pull a fair +amount of test out of the arbitrary-messages list and associate those +mesages with the objects that conceptually own them. + // end