projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve test coverage, simplify code.
[open-adventure.git]
/
notes.adoc
diff --git
a/notes.adoc
b/notes.adoc
index 07602ec40b50a2101a02b842bee959c33c36d42f..00a733a0e3dd76a5ada810bbf12e3171ac30a773 100644
(file)
--- a/
notes.adoc
+++ b/
notes.adoc
@@
-11,7
+11,7
@@
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
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.
+gratefully acknowledged.
Petr Voropaev contributed fuzz testing.
== Nomenclature ==
== Nomenclature ==
@@
-62,7
+62,9
@@
a "seed" command) will replay reliably, including random events.
The adventure.text file is no longer required at runtime. Instead, it
is compiled at build time to a source module containing C structures,
The adventure.text file is no longer required at runtime. Instead, it
is compiled at build time to a source module containing C structures,
-which is then linked to the advent binary.
+which is then linked to the advent binary. There is an adventure.yaml file
+as well; this is also compiled to C code, and will eventually replace
+adventure.text altogether.
The game-save format has changed. This was done to simplify the
FORTRAN-derived code that formerly implemented the save/restore
The game-save format has changed. This was done to simplify the
FORTRAN-derived code that formerly implemented the save/restore
@@
-71,6
+73,9
@@
necessarily pretty ugly by modern standards. Encryption and
checksumming have been discarded - it's pointless to try
tamper-proofing saves when everyone has the source code.
checksumming have been discarded - it's pointless to try
tamper-proofing saves when everyone has the source code.
+A -r command-line been added. When it is given (with a file
+path argument) it is functionally equivalent to RESTORE command.
+
== Translation ==
The 2.5 code was a mechanical C translation of a FORTRAN original.
== Translation ==
The 2.5 code was a mechanical C translation of a FORTRAN original.
@@
-123,10
+128,13
@@
ways:
compromise forward-portability to other languages.
* The code still has an unfortunately high density of magic numbers - in
compromise forward-portability to other languages.
* The code still has an unfortunately high density of magic numbers - in
- particular, numeric object
and room
IDs. There are plans to fix this.
+ particular, numeric object IDs. There are plans to fix this.
* Much of the code still uses FORTRAN-style uppercase names.
* Much of the code still uses FORTRAN-style uppercase names.
+* 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.
+
* The code is still mostly typeless, slinging around machine longs
like a FORTRAN or BCPL program. Some (incomplete) effort has been made
to introduce semantic types.
* The code is still mostly typeless, slinging around machine longs
like a FORTRAN or BCPL program. Some (incomplete) effort has been made
to introduce semantic types.