open-adventure.git
20 months agoEnsure the ZZZZ magic word is reproducible.
Jason S. Ninneman [Fri, 26 May 2017 23:34:16 +0000 (16:34 -0700)]
Ensure the ZZZZ magic word is reproducible.

This happens by making the SEED command also regenerate the magic word.

20 months agoFix bug that led to comments not being ignored.
Eric S. Raymond [Fri, 26 May 2017 09:14:18 +0000 (05:14 -0400)]
Fix bug that led to comments not being ignored.

20 months agoRepeatable seeding is working.
Eric S. Raymond [Thu, 25 May 2017 22:52:39 +0000 (18:52 -0400)]
Repeatable seeding is working.

20 months agoImplement fallback handler that looks at the raw command buffer.
Eric S. Raymond [Thu, 25 May 2017 22:21:38 +0000 (18:21 -0400)]
Implement fallback handler that looks at the raw command buffer.

20 months agoStop command-logging from non-stdin sources.
Jason S. Ninneman [Thu, 25 May 2017 05:31:26 +0000 (22:31 -0700)]
Stop command-logging from non-stdin sources.

20 months agoOnce again, take srand()/random() out of the initialization chain.
Eric S. Raymond [Thu, 25 May 2017 03:36:25 +0000 (23:36 -0400)]
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.

20 months agoRe-enable skipping of #-led comments.
Eric S. Raymond [Thu, 25 May 2017 03:05:19 +0000 (23:05 -0400)]
Re-enable skipping of #-led comments.

20 months agoRemove a bad use of tv_nsec.
Jason S. Ninneman [Wed, 24 May 2017 06:46:20 +0000 (23:46 -0700)]
Remove a bad use of tv_nsec.

20 months agoAdd seedable PRNG using an adaptation the original LCG algorithm.
Jason S. Ninneman [Wed, 24 May 2017 06:37:56 +0000 (23:37 -0700)]
Add seedable PRNG using an adaptation the original LCG algorithm.

20 months agoMake output from replays easier to interpret by adding prompts.
Eric S. Raymond [Wed, 24 May 2017 02:29:24 +0000 (22:29 -0400)]
Make output from replays easier to interpret by adding prompts.

20 months agoEcho commands to stdout when replaying...
Eric S. Raymond [Wed, 24 May 2017 00:38:46 +0000 (20:38 -0400)]
Echo commands to stdout when replaying...

...makes check loads full transcripts abd more readable.

20 months agoInput source is parametrized all the way down.
Eric S. Raymond [Tue, 23 May 2017 19:57:38 +0000 (15:57 -0400)]
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.

20 months agoBegin factoring out the command interpreter.
Eric S. Raymond [Tue, 23 May 2017 18:48:41 +0000 (14:48 -0400)]
Begin factoring out the command interpreter.

20 months agoStart advent430 branch for correctness testing.
Eric S. Raymond [Tue, 14 Mar 2023 12:03:24 +0000 (08:03 -0400)]
Start advent430 branch for correctness testing.

The purpose of this branch is to create a version of the game from
before the bug fixes, refactoring, and logic changes.  We want this so
we can run it against our 100% coverage test suite and see all changes
in behavior.

This branch is forked from the point where the prompt and the oldstyle
option were added.  At this point there had been only two logic
changes:

1. Do initialization of the LCG with gettimeofday(). Note that
this change will not affectt regression testing, since the
initialization done in this way will nbe overridden in the
logs by seed commands.

2. Refactor the input routines to a normal Unixy organization.
This is required for the -l option to work.

This commit just builds the binary at advent430 where it
won't collide with the production version.

7 years agoAdded oldstyle option.
Eric S. Raymond [Tue, 23 May 2017 15:28:56 +0000 (11:28 -0400)]
Added oldstyle option.

7 years agoFix capitalization glitches.
Eric S. Raymond [Tue, 23 May 2017 13:18:28 +0000 (09:18 -0400)]
Fix capitalization glitches.

7 years agoAdd -l option to enable command logging.
Eric S. Raymond [Tue, 23 May 2017 12:57:35 +0000 (08:57 -0400)]
Add -l option to enable command logging.

7 years agoFix typos in the history.
Jason S. Ninneman [Tue, 23 May 2017 06:13:28 +0000 (23:13 -0700)]
Fix typos in the history.

7 years agoFix a couple typos. 4/head
Jason S. Ninneman [Tue, 23 May 2017 04:13:15 +0000 (21:13 -0700)]
Fix a couple typos.

7 years agoFix strange inside-out organization of the input routines.
Eric S. Raymond [Tue, 23 May 2017 01:26:14 +0000 (21:26 -0400)]
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.

7 years agoRemove unused labels.
Eric S. Raymond [Tue, 23 May 2017 00:55:21 +0000 (20:55 -0400)]
Remove unused labels.

7 years agoMore magic-number elimination.
Eric S. Raymond [Tue, 23 May 2017 00:51:55 +0000 (20:51 -0400)]
More magic-number elimination.

7 years agoDon't use a magic number when we can use sizeof().
Eric S. Raymond [Tue, 23 May 2017 00:33:23 +0000 (20:33 -0400)]
Don't use a magic number when we can use sizeof().

7 years agoPrototypization.
Eric S. Raymond [Mon, 22 May 2017 22:47:39 +0000 (18:47 -0400)]
Prototypization.

7 years agoCorrect long-size bug that resulted in checksum error.
Eric S. Raymond [Mon, 22 May 2017 13:30:51 +0000 (09:30 -0400)]
Correct long-size bug that resulted in checksum error.

Idea thanks tp Max Ninneman.

7 years agoCorrect history based on code comments.
Eric S. Raymond [Mon, 22 May 2017 13:11:12 +0000 (09:11 -0400)]
Correct history based on code comments.

7 years agoFix up case on all comments to make them more readable. No code changes.
Eric S. Raymond [Sun, 21 May 2017 17:12:24 +0000 (13:12 -0400)]
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.

7 years agoAdd TODO items.
Eric S. Raymond [Fri, 19 May 2017 19:16:39 +0000 (15:16 -0400)]
Add TODO items.

7 years agoDocumentation polishing. Add TODO.
Eric S. Raymond [Fri, 19 May 2017 17:30:12 +0000 (13:30 -0400)]
Documentation polishing. Add TODO.

7 years agoPrepare to initialize public repository.
Eric S. Raymond [Fri, 19 May 2017 17:22:09 +0000 (13:22 -0400)]
Prepare to initialize public repository.

7 years agoMore ANSI prototype conversions.
Eric S. Raymond [Fri, 19 May 2017 05:28:38 +0000 (01:28 -0400)]
More ANSI prototype conversions.

7 years agoDocument ADVENTURE environment variable.
Eric S. Raymond [Fri, 19 May 2017 04:49:23 +0000 (00:49 -0400)]
Document ADVENTURE environment variable.

7 years agoMore boolification.
Eric S. Raymond [Thu, 18 May 2017 21:28:18 +0000 (17:28 -0400)]
More boolification.

Constants and formals have been converted, but not globals yet.

7 years agoReplace fDATIME with ANSI/POSIX clock_gettime(). Rip out DOS/AMIGA shims.
Eric S. Raymond [Thu, 18 May 2017 21:18:16 +0000 (17:18 -0400)]
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.

7 years agoRemove a remnant of the old non-licensing.
Eric S. Raymond [Thu, 18 May 2017 20:54:06 +0000 (16:54 -0400)]
Remove a remnant of the old non-licensing.

7 years agoUse prototypes and bools.
Eric S. Raymond [Thu, 18 May 2017 13:06:32 +0000 (09:06 -0400)]
Use prototypes and bools.

7 years agoPartially ANSIfy C, fix compiler warnings.
Eric S. Raymond [Thu, 18 May 2017 12:55:38 +0000 (08:55 -0400)]
Partially ANSIfy C, fix compiler warnings.

7 years agoTypo fix.
Eric S. Raymond [Thu, 18 May 2017 11:31:10 +0000 (07:31 -0400)]
Typo fix.

7 years agoAdd control file for shipper.
Eric S. Raymond [Thu, 18 May 2017 11:30:04 +0000 (07:30 -0400)]
Add control file for shipper.

7 years agoConsistent use of 'advent' to avoid collision with BSD Games.
Eric S. Raymond [Thu, 18 May 2017 11:18:53 +0000 (07:18 -0400)]
Consistent use of 'advent' to avoid collision with BSD Games.

Manual page added.

7 years agoAdd README. More history.
Eric S. Raymond [Mon, 15 May 2017 08:00:49 +0000 (04:00 -0400)]
Add README.  More history.

7 years agoRelicense to 2-clause BSD. Befin the history document.
Eric S. Raymond [Mon, 15 May 2017 05:57:17 +0000 (01:57 -0400)]
Relicense to 2-clause BSD.  Befin the history document.

7 years agoMinimal forward-port to modern C - just enough to get it to compile.
Eric S. Raymond [Thu, 16 Feb 2017 18:14:57 +0000 (13:14 -0500)]
Minimal forward-port to modern C - just enough to get it to compile.

7 years agoDon Wood's 430-point Adventure 2.5 from 1995, from rec.games.int-fiction.
Eric S. Raymond [Thu, 16 Feb 2017 16:59:50 +0000 (11:59 -0500)]
Don Wood's 430-point Adventure 2.5 from 1995, from rec.games.int-fiction.