Commit graph

29 commits

Author SHA1 Message Date
Eric S. Raymond
06795f691f 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-06-13 20:43:41 +03:00
Eric S. Raymond
bd64a4ceda Take srand()/rand() out of the initialization chain...
...they're not guatanteed to produce consistent across platforms or
libc versions.
2017-06-13 20:43:41 +03:00
Eric S. Raymond
9ef91255bc Clean up logic for exiting input loop and scoring. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
9407cd7bc3 Allow comments in logfiles. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
016bcf2ff2 Seed command fully implemented but apparently buggy.
Dwarf appearance is not yet reproducible.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
1c4150055a Implement stub handler for SEED command. Not hooked up to PRNG yet. 2017-06-13 20:43:40 +03:00
Jason S. Ninneman
ebfa184a6c Remove a bad use of tv_nsec. 2017-06-13 20:43:40 +03:00
Jason S. Ninneman
8d97eb71ff Move a line that got out of place. 2017-06-13 20:43:40 +03:00
Jason S. Ninneman
24f327cc09 Add seedable PRNG using an adaptation the original LCG algorithm. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
b0a3c821e9 Fix the slightly broken prompt test. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
aa7e291bc6 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-06-13 20:43:40 +03:00
Eric S. Raymond
3f57114791 Revert a variable name previously changed to be out of the way.
Also, make output from replays easier to interpret by adding prompts.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
ac14bf8ae9 Echo commands to stdout when replaying...
...makes check loads full transcripts abd more readable.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
91bfd55c1c 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-06-13 20:43:40 +03:00
Eric S. Raymond
ec4c0c8cd0 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-06-13 20:43:40 +03:00
Eric S. Raymond
0ad8d13f27 Added oldstyle option. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
c16e4cb078 Fix capitalization glitches. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
0eda56fae9 Add -l option to enable command logging. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
42e6e7cdb7 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-06-13 20:43:39 +03:00
Eric S. Raymond
de1ac23b2e Remove unused labels. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
7f25697673 Don't use a magic number when we can use sizeof(). 2017-06-13 20:43:39 +03:00
Eric S. Raymond
f376383a89 Prototypization. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
a7f6f62a1a Correct long-size bug that resulted in checksum error.
Idea thanks tp Max Ninneman.
2017-06-13 20:43:39 +03:00
Eric S. Raymond
301f38586b 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-06-13 20:43:39 +03:00
Eric S. Raymond
343551ee79 More ANSI prototype conversions. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
936a4a27b5 More boolification.
Constants and formals have been converted, but not globals yet.
2017-06-13 20:43:39 +03:00
Eric S. Raymond
6ef3e68c0c 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-06-13 20:43:39 +03:00
Eric S. Raymond
afddd9b263 Partially ANSIfy C, fix compiler warnings. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
f16343f8dc Don Wood's 430-point Adventure 2.5 from 1995, from rec.games.int-fiction. 2017-06-13 20:43:39 +03:00