open-adventure.git
6 years agoFix things so seed doesn't cost clock time. seed
Eric S. Raymond [Wed, 31 May 2017 00:08:55 +0000 (20:08 -0400)]
Fix things so seed doesn't cost clock time.

6 years agoRemove inventory commands from the pirare log - more hope of completing it.
Eric S. Raymond [Tue, 30 May 2017 23:59:38 +0000 (19:59 -0400)]
Remove inventory commands from the pirare log - more hope of completing it.

6 years agoReplace 161-point partial walktgrough with 219-point (same base).
Eric S. Raymond [Tue, 30 May 2017 22:27:25 +0000 (18:27 -0400)]
Replace 161-point partial walktgrough with 219-point (same base).

6 years agoLaunder seed generation through rand() to ensure seed diversity. 25/head
Jason S. Ninneman [Tue, 30 May 2017 18:06:53 +0000 (11:06 -0700)]
Launder seed generation through rand() to ensure seed diversity.

This doesn't affect reproducibility because a) the seed value written to logs is the output of this process, and b) the argument to the seed command *doesn't* get laundered.

6 years agoDon's account of differences from the original.
Eric S. Raymond [Tue, 30 May 2017 21:47:26 +0000 (17:47 -0400)]
Don's account of differences from the original.

6 years agoHistory clarification.
Eric S. Raymond [Tue, 30 May 2017 00:37:53 +0000 (20:37 -0400)]
History clarification.

6 years agoAdvent doesn't need automake 24/head
David James Sherman [Tue, 30 May 2017 20:11:53 +0000 (20:11 +0000)]
Advent doesn't need automake

6 years agoAdd .gitlab-ci.yml
David James Sherman [Tue, 30 May 2017 16:36:10 +0000 (16:36 +0000)]
Add .gitlab-ci.yml

6 years agoUpdate reservoir test to reflect the magic word fix. 23/head
Jason S. Ninneman [Mon, 29 May 2017 21:41:15 +0000 (14:41 -0700)]
Update reservoir test to reflect the magic word fix.

6 years agoFix a bug in RNDVOC() that prevented the reservoir magic word for working.
Jason S. Ninneman [Mon, 29 May 2017 21:22:52 +0000 (14:22 -0700)]
Fix a bug in RNDVOC() that prevented the reservoir magic word for working.

To do this, I first had to refactor the code into proper C, just so I could understand it. Then I found another layer of encryption around the value itself. Finally, I discovered that the line to actually set the new magic word was placed such that it was using a global index instead of the local one.

6 years agoMake RNDVOC() into better C.
Jason S. Ninneman [Mon, 29 May 2017 20:59:06 +0000 (13:59 -0700)]
Make RNDVOC() into better C.

6 years agoRemove an obfuscation scheme for the reservoir magic word.
Jason S. Ninneman [Mon, 29 May 2017 20:34:34 +0000 (13:34 -0700)]
Remove an obfuscation scheme for the reservoir magic word.

6 years agogitignore the database compilation products. 22/head
Jason S. Ninneman [Mon, 29 May 2017 17:58:17 +0000 (10:58 -0700)]
gitignore the database compilation products.

6 years agoDon't build with two -std options.
Jason S. Ninneman [Mon, 29 May 2017 17:57:47 +0000 (10:57 -0700)]
Don't build with two -std options.

6 years agoReally mean it about strict C99 compliance. 21/head
Jason S. Ninneman [Mon, 29 May 2017 16:30:37 +0000 (09:30 -0700)]
Really mean it about strict C99 compliance.

6 years agoAdd a qualification.
Eric S. Raymond [Mon, 29 May 2017 16:01:28 +0000 (12:01 -0400)]
Add a qualification.

6 years agoThe ADVENTURE variable is no more.
Eric S. Raymond [Mon, 29 May 2017 16:00:44 +0000 (12:00 -0400)]
The ADVENTURE variable is no more.

6 years agoMinor build tweaks.
Eric S. Raymond [Mon, 29 May 2017 15:39:19 +0000 (11:39 -0400)]
Minor build tweaks.

6 years agoMove the if for GCC 4 to an elseif so it does not interfere with MacOS 19/head 20/head
Warren Melnick [Mon, 29 May 2017 14:52:51 +0000 (10:52 -0400)]
Move the if for GCC 4 to an elseif so it does not interfere with MacOS

6 years agoTest for >= gcc 4, and change to g99 -std=gnu99 for the compiler if it is found.
Warren Melnick [Mon, 29 May 2017 14:42:37 +0000 (10:42 -0400)]
Test for >= gcc 4, and  change to g99 -std=gnu99 for the compiler if it is found.

6 years agoTypo fixes.
Eric S. Raymond [Mon, 29 May 2017 13:14:56 +0000 (09:14 -0400)]
Typo fixes.

6 years agoUpdate history.txt.
Eric S. Raymond [Mon, 29 May 2017 13:08:44 +0000 (09:08 -0400)]
Update history.txt.

6 years agoDon't assume gcc.
Eric S. Raymond [Mon, 29 May 2017 13:02:02 +0000 (09:02 -0400)]
Don't assume gcc.

6 years agoMacOS port fix.
Eric S. Raymond [Mon, 29 May 2017 12:50:17 +0000 (08:50 -0400)]
MacOS port fix.

6 years agoRemove 'compile' upon 'make clean'. 17/head
Jason S. Ninneman [Mon, 29 May 2017 05:53:03 +0000 (22:53 -0700)]
Remove 'compile' upon 'make clean'.

Also remove a disused rule.

6 years agoSimplify build: nested makefiles considered harmful.
Eric S. Raymond [Mon, 29 May 2017 05:33:59 +0000 (01:33 -0400)]
Simplify build: nested makefiles considered harmful.

6 years agoBegin "Functional Changes" section.
Eric S. Raymond [Mon, 29 May 2017 05:16:08 +0000 (01:16 -0400)]
Begin "Functional Changes" section.

6 years agoMove database compilation out into its own tool (for now). 15/head
Jason S. Ninneman [Mon, 29 May 2017 04:46:54 +0000 (21:46 -0700)]
Move database compilation out into its own tool (for now).

6 years agoApply further polish and add in a couple of missing size variables.
Jason S. Ninneman [Mon, 29 May 2017 00:21:04 +0000 (17:21 -0700)]
Apply further polish and add in a couple of missing size variables.

6 years agoFactor out handling of variables populated from the database. 14/head
Jason S. Ninneman [Sun, 28 May 2017 22:42:05 +0000 (15:42 -0700)]
Factor out handling of variables populated from the database.

This reorganization is a first step toward handling database compilation separately.

6 years agoRemove debris from the Makefile.
Eric S. Raymond [Sun, 28 May 2017 17:55:41 +0000 (13:55 -0400)]
Remove debris from the Makefile.

6 years agoAdd regression test that gets to reservoir.
Eric S. Raymond [Sun, 28 May 2017 17:53:59 +0000 (13:53 -0400)]
Add regression test that gets to reservoir.

This allows reproduction of the magic-word bug.

6 years agoRestory working seed value for dwarf.log. 13/head
Jason S. Ninneman [Sat, 27 May 2017 16:23:52 +0000 (09:23 -0700)]
Restory working seed value for dwarf.log.

6 years agoRestore regression tests.
Eric S. Raymond [Sat, 27 May 2017 14:51:43 +0000 (10:51 -0400)]
Restore regression tests.

6 years agoMore Makefile simplification.
Eric S. Raymond [Sat, 27 May 2017 14:32:11 +0000 (10:32 -0400)]
More Makefile simplification.

6 years agoSimplify the test makefile.
Eric S. Raymond [Sat, 27 May 2017 14:31:16 +0000 (10:31 -0400)]
Simplify the test makefile.

6 years agoCorrect a dependency.
Eric S. Raymond [Sat, 27 May 2017 14:24:34 +0000 (10:24 -0400)]
Correct a dependency.

6 years agoUpdate the list of changes.
Eric S. Raymond [Sat, 27 May 2017 14:17:18 +0000 (10:17 -0400)]
Update the list of changes.

6 years agoEnsure the ZZZZ magic word is reproducible. 12/head
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.

6 years agoUse C99 moode of compiler.
Eric S. Raymond [Fri, 26 May 2017 18:03:17 +0000 (14:03 -0400)]
Use C99 moode of compiler.

6 years agoJust say no to encrypting internal state. 11/head
Jason S. Ninneman [Fri, 26 May 2017 17:21:19 +0000 (10:21 -0700)]
Just say no to encrypting internal state.

6 years agoFlush log on interrupt, just for convenience.
Eric S. Raymond [Fri, 26 May 2017 11:22:24 +0000 (07:22 -0400)]
Flush log on interrupt, just for convenience.

6 years agoCase correction.
Eric S. Raymond [Fri, 26 May 2017 10:33:44 +0000 (06:33 -0400)]
Case correction.

6 years agoDeath by dwarf test.
Eric S. Raymond [Fri, 26 May 2017 10:16:16 +0000 (06:16 -0400)]
Death by dwarf test.

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

6 years agoDifferent, correct fix of tests 10/head
NHOrus [Fri, 26 May 2017 06:41:54 +0000 (09:41 +0300)]
Different, correct fix of tests

Now without caching .data and extended cleanup

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

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

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

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

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

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

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

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

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

6 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."

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 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().

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

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

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

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

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

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