Commit graph

212 commits

Author SHA1 Message Date
Eric S. Raymond
6ba9a7de7f Once again, take srand()/random() out of the initialization chain.
They have exactly the wrong kind of randomness for this job - not
returning consistent sequences across different platforms or C library
versions, and because pseodorandom not really better than sampling
the clock.
2017-05-24 23:36:25 -04:00
Eric S. Raymond
6146406990 Re-enable skipping of #-led comments. 2017-05-24 23:05:19 -04:00
Eric S. Raymond
3a2c0ca199 Reapply "Clean up logic for exiting input loop and scoring." 2017-05-24 22:51:36 -04:00
Jason S. Ninneman
ba1369310d Remove disused label. 2017-05-24 15:43:34 -07:00
Eric S. Raymond
e3e01af7fa Remove cached data on clean.
We've had two instances now of database compilation getting silently
broken and that not noticed because of the caching. Attempt to
forestall this.
2017-05-24 18:29:26 -04:00
Eric S. Raymond
31837249f8 Revert SEED handling and comment orocessing. It broke database compilation.
This code is remarkably like the game it implements - a maze of twisty
little FORTRANisms, all alike.  Very easy to get lost.
2017-05-24 18:24:09 -04:00
Eric S. Raymond
44e7ddc2ed Take srand()/rand() out of the initialization chain...
...they're not guatanteed to produce consistent across platforms or
libc versions.
2017-05-24 11:57:53 -04:00
Eric S. Raymond
c703bd78d9 Clean up logic for exiting input loop and scoring. 2017-05-24 11:16:59 -04:00
Eric S. Raymond
263b5ac3ba Allow comments in logfiles. 2017-05-24 10:07:05 -04:00
Eric S. Raymond
cf219e920b Seed command fully implemented but apparently buggy.
Dwarf appearance is not yet reproducible.
2017-05-24 09:06:41 -04:00
Eric S. Raymond
65c081a0ac Implement stub handler for SEED command. Not hooked up to PRNG yet. 2017-05-24 08:30:06 -04:00
Jason S. Ninneman
627144354c Remove a bad use of tv_nsec. 2017-05-23 23:46:20 -07:00
Jason S. Ninneman
61031ce55c Move a line that got out of place. 2017-05-23 23:42:54 -07:00
Jason S. Ninneman
8a8770375e Add seedable PRNG using an adaptation the original LCG algorithm. 2017-05-23 23:37:56 -07:00
Eric S. Raymond
2bc887c84e Fix the slightly broken prompt test. 2017-05-24 00:28:38 -04:00
Eric S. Raymond
484ca4e9fd Revert structurization changes, they broke database compilation...
...bug showing only if adventure.data was absent.  We'll need to sneak up
on this more carefully.
2017-05-24 00:17:19 -04:00
Eric S. Raymond
7e5448e974 More switch reformatting. 2017-05-23 23:17:57 -04:00
Eric S. Raymond
1e2e24f4d5 Reformat a switch statement for readability. No logic changes. 2017-05-23 23:01:34 -04:00
Eric S. Raymond
f9eb6383f1 Revert a variable name previously changed to be out of the way.
Also, make output from replays easier to interpret by adding prompts.
2017-05-23 22:29:24 -04:00
Eric S. Raymond
f72141fbe3 More structurization. 2017-05-23 20:59:21 -04:00
Eric S. Raymond
8d0587b0ec Echo commands to stdout when replaying...
...makes check loads full transcripts abd more readable.
2017-05-23 20:38:46 -04:00
Eric S. Raymond
f68f3a1205 More globals to the game structure. 2017-05-23 20:34:53 -04:00
Eric S. Raymond
c3add5c206 More global-to-structure moves. 2017-05-23 20:22:35 -04:00
Eric S. Raymond
50ed247042 More comment cleanup. 2017-05-23 19:49:49 -04:00
Eric S. Raymond
bbe68abd30 Fixed case in a comment. 2017-05-23 19:45:18 -04:00
Eric S. Raymond
fa1f859162 Move more globals into the state structure. 2017-05-23 19:40:34 -04:00
Eric S. Raymond
42189d79d7 Begin gathering saveable game state into a structure. Not yet complete.
No logic changes.  A bunch of globals turn into fields (with the same names
except for lowercasing) in struct game_t.

Eventually this will allow drastic simplification of the save/load logic.
2017-05-23 18:47:04 -04:00
Eric S. Raymond
dc9d9e467b Input source is parametrized all the way down.
This means that, potentially, do_command() could be called on any text file
pointer and the right thing would happen.
2017-05-23 15:57:38 -04:00
Eric S. Raymond
c6867b374a Begin factoring out the command interpreter. 2017-05-23 14:48:41 -04:00
Eric S. Raymond
609b308ed1 Documentation polishing. 2017-05-23 14:04:42 -04:00
Eric S. Raymond
0599a20f1f Update for TODO items accomplished. 2017-05-23 13:22:18 -04:00
Eric S. Raymond
0388d294d4 Fix command synopsis on the manual page. 2017-05-23 11:31:10 -04:00
Eric S. Raymond
935d8b8e68 Added oldstyle option. 2017-05-23 11:28:56 -04:00
Eric S. Raymond
f89f63c6d1 Fix capitalization glitches. 2017-05-23 09:18:28 -04:00
Eric S. Raymond
943b3a62e6 Add -l option to enable command logging. 2017-05-23 08:57:35 -04:00
Jason S. Ninneman
9bcbe342a4 Fix typos in the history. 2017-05-22 23:13:28 -07:00
Jason S. Ninneman
c250cfc6a9 Fix a couple typos. 2017-05-22 21:13:15 -07:00
Eric S. Raymond
040f19adde Fix strange inside-out organization of the input routines.
Seems to have nbben a result of FORTRAN not having anything like a
stream object that can be passed around.

A step towards logging and log replay.
2017-05-22 21:26:14 -04:00
Eric S. Raymond
19b3e3e656 Remove unused labels. 2017-05-22 20:55:21 -04:00
Eric S. Raymond
01b2c05cbb More magic-number elimination. 2017-05-22 20:51:55 -04:00
Eric S. Raymond
5e2ca9a0e4 Don't use a magic number when we can use sizeof(). 2017-05-22 20:33:23 -04:00
Eric S. Raymond
ef24a63ced Prototypization. 2017-05-22 18:47:39 -04:00
Eric S. Raymond
5286f6b3bd Correct long-size bug that resulted in checksum error.
Idea thanks tp Max Ninneman.
2017-05-22 09:30:51 -04:00
Eric S. Raymond
f5831dbf39 Correct history based on code comments. 2017-05-22 09:11:12 -04:00
Eric S. Raymond
18767d52dd Fix up case on all comments to make them more readable. No code changes.
The all-capsing was a FORTRAN remnant.Also, we change a few FORTRANisms
so they are less confusing in this C context; ".TRUE." and ".FALSE." become
"true" and "false", "MOD" is mapped to % in places tha t are like C expressions
and (usually) "modulo" in places that aren't.
2017-05-21 13:12:24 -04:00
Eric S. Raymond
809f53d099 Add TODO items. 2017-05-19 15:16:39 -04:00
Eric S. Raymond
8e86d0dca3 Documentation polishing. Add TODO. 2017-05-19 13:30:12 -04:00
Eric S. Raymond
86b04b682d Prepare to initialize public repository. 2017-05-19 13:22:09 -04:00
Eric S. Raymond
d93746d078 More ANSI prototype conversions. 2017-05-19 01:28:38 -04:00
Eric S. Raymond
9a285402da Document ADVENTURE environment variable. 2017-05-19 00:49:23 -04:00