Commit graph

20 commits

Author SHA1 Message Date
Jason S. Ninneman
c41dd35268 Ensure the ZZZZ magic word is reproducible.
This happens by making the SEED command also regenerate the magic word.
2023-03-23 11:28:53 -04:00
Eric S. Raymond
85cd6b0bd5 Repeatable seeding is working. 2023-03-23 11:28:53 -04:00
Eric S. Raymond
f286c3a327 Implement fallback handler that looks at the raw command buffer. 2023-03-23 11:28:53 -04:00
Eric S. Raymond
2fdd509f32 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.
2023-03-23 11:28:53 -04:00
Jason S. Ninneman
5598b7a178 Add seedable PRNG using an adaptation the original LCG algorithm. 2023-03-23 11:28:53 -04:00
Eric S. Raymond
a416d78a58 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.
2023-03-23 11:28:53 -04:00
Eric S. Raymond
baa508a683 Begin factoring out the command interpreter. 2023-03-23 11:28:53 -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
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
01b2c05cbb More magic-number elimination. 2017-05-22 20:51:55 -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
17ad4891ee More boolification.
Constants and formals have been converted, but not globals yet.
2017-05-18 17:28:18 -04:00
Eric S. Raymond
23f2dbe814 Replace fDATIME with ANSI/POSIX clock_gettime(). Rip out DOS/AMIGA shims.
The thinking here is that we simplify life by going pure ANSI/POSIX.
This is a text game.  If it ever runs on anything but Unix again it's
almost certain to be on something like WSL that supplies a
POSIX-conformant text console.
2017-05-18 17:18:16 -04:00
Eric S. Raymond
bd0487acc5 Remove a remnant of the old non-licensing. 2017-05-18 16:54:06 -04:00
Eric S. Raymond
b38c11abef Use prototypes and bools. 2017-05-18 09:06:32 -04:00
Eric S. Raymond
c9e9b64575 Partially ANSIfy C, fix compiler warnings. 2017-05-18 08:55:38 -04:00
Eric S. Raymond
50ab7b9d47 Minimal forward-port to modern C - just enough to get it to compile. 2017-02-16 13:14:57 -05:00
Eric S. Raymond
24d7aeaf8a Don Wood's 430-point Adventure 2.5 from 1995, from rec.games.int-fiction. 2017-02-16 11:59:50 -05:00