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