open-adventure.git
7 years agoDocument test comment format.
Eric S. Raymond [Fri, 26 May 2017 04:40:35 +0000 (00:40 -0400)]
Document test comment format.

7 years agoRegression-test machinery is now documented.
Eric S. Raymond [Fri, 26 May 2017 04:37:24 +0000 (00:37 -0400)]
Regression-test machinery is now documented.

7 years agoFirst version of regression tests.
Eric S. Raymond [Fri, 26 May 2017 04:22:51 +0000 (00:22 -0400)]
First version of regression tests.

Only one test so far but the framework for more is in place.

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

7 years 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.

With database cinpilation not broken this time...

7 years agoRepair CentOS 6 build (fails due to clock_gettime() being undefined)
Eric S. Raymond [Thu, 25 May 2017 13:09:11 +0000 (09:09 -0400)]
Repair CentOS 6 build (fails due to clock_gettime() being undefined)

GitLab issue #2.

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

7 years 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.

7 years 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.

7 years agoReapply "Clean up logic for exiting input loop and scoring."
Eric S. Raymond [Thu, 25 May 2017 02:51:36 +0000 (22:51 -0400)]
Reapply "Clean up logic for exiting input loop and scoring."

7 years agoRemove disused label. 7/head
Jason S. Ninneman [Wed, 24 May 2017 22:43:34 +0000 (15:43 -0700)]
Remove disused label.

7 years agoRemove cached data on clean.
Eric S. Raymond [Wed, 24 May 2017 22:29:26 +0000 (18:29 -0400)]
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.

7 years agoRevert SEED handling and comment orocessing. It broke database compilation.
Eric S. Raymond [Wed, 24 May 2017 22:24:09 +0000 (18:24 -0400)]
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.

7 years agoTake srand()/rand() out of the initialization chain...
Eric S. Raymond [Wed, 24 May 2017 15:57:53 +0000 (11:57 -0400)]
Take srand()/rand() out of the initialization chain...

...they're not guatanteed to produce consistent across platforms or
libc versions.

7 years agoClean up logic for exiting input loop and scoring.
Eric S. Raymond [Wed, 24 May 2017 15:16:59 +0000 (11:16 -0400)]
Clean up logic for exiting input loop and scoring.

7 years agoAllow comments in logfiles.
Eric S. Raymond [Wed, 24 May 2017 14:07:05 +0000 (10:07 -0400)]
Allow comments in logfiles.

7 years agoSeed command fully implemented but apparently buggy.
Eric S. Raymond [Wed, 24 May 2017 13:06:41 +0000 (09:06 -0400)]
Seed command fully implemented but apparently buggy.

Dwarf appearance is not yet reproducible.

7 years agoImplement stub handler for SEED command. Not hooked up to PRNG yet.
Eric S. Raymond [Wed, 24 May 2017 12:30:06 +0000 (08:30 -0400)]
Implement stub handler for SEED command. Not hooked up to PRNG yet.

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

7 years agoMove a line that got out of place.
Jason S. Ninneman [Wed, 24 May 2017 06:42:54 +0000 (23:42 -0700)]
Move a line that got out of place.

7 years 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.

7 years agoFix the slightly broken prompt test.
Eric S. Raymond [Wed, 24 May 2017 04:28:38 +0000 (00:28 -0400)]
Fix the slightly broken prompt test.

7 years agoRevert structurization changes, they broke database compilation...
Eric S. Raymond [Wed, 24 May 2017 04:17:19 +0000 (00:17 -0400)]
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.

7 years agoMore switch reformatting.
Eric S. Raymond [Wed, 24 May 2017 03:17:57 +0000 (23:17 -0400)]
More switch reformatting.

7 years agoReformat a switch statement for readability. No logic changes.
Eric S. Raymond [Wed, 24 May 2017 03:01:34 +0000 (23:01 -0400)]
Reformat a switch statement for readability. No logic changes.

7 years agoRevert a variable name previously changed to be out of the way.
Eric S. Raymond [Wed, 24 May 2017 02:29:24 +0000 (22:29 -0400)]
Revert a variable name previously changed to be out of the way.

Also, make output from replays easier to interpret by adding prompts.

7 years agoMore structurization.
Eric S. Raymond [Wed, 24 May 2017 00:59:21 +0000 (20:59 -0400)]
More structurization.

7 years 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.

7 years agoMore globals to the game structure.
Eric S. Raymond [Wed, 24 May 2017 00:34:53 +0000 (20:34 -0400)]
More globals to the game structure.

7 years agoMore global-to-structure moves.
Eric S. Raymond [Wed, 24 May 2017 00:22:35 +0000 (20:22 -0400)]
More global-to-structure moves.

7 years agoMore comment cleanup.
Eric S. Raymond [Tue, 23 May 2017 23:49:49 +0000 (19:49 -0400)]
More comment cleanup.

7 years agoFixed case in a comment.
Eric S. Raymond [Tue, 23 May 2017 23:45:18 +0000 (19:45 -0400)]
Fixed case in a comment.

7 years agoMove more globals into the state structure.
Eric S. Raymond [Tue, 23 May 2017 23:40:34 +0000 (19:40 -0400)]
Move more globals into the state structure.

7 years agoBegin gathering saveable game state into a structure. Not yet complete.
Eric S. Raymond [Tue, 23 May 2017 22:47:04 +0000 (18:47 -0400)]
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.

7 years 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.

7 years 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.

7 years agoDocumentation polishing.
Eric S. Raymond [Tue, 23 May 2017 18:04:42 +0000 (14:04 -0400)]
Documentation polishing.

7 years agoUpdate for TODO items accomplished.
Eric S. Raymond [Tue, 23 May 2017 17:22:18 +0000 (13:22 -0400)]
Update for TODO items accomplished.

7 years agoFix command synopsis on the manual page.
Eric S. Raymond [Tue, 23 May 2017 15:31:10 +0000 (11:31 -0400)]
Fix command synopsis on the manual page.

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.