Eric S. Raymond [Sat, 3 Jun 2017 10:28:00 +0000 (06:28 -0400)]
Add some tests that increase test coverage to add cases.
Proof of concept. More could be added in illformed.log.
Jason S. Ninneman [Fri, 2 Jun 2017 22:02:34 +0000 (15:02 -0700)]
Do code coverage analysis, and publish the results to GitLab Pages.
Eric S. Raymond [Fri, 2 Jun 2017 20:40:29 +0000 (16:40 -0400)]
Simplify bitmask test/set from FORTRANish to actual C.
Eric S. Raymond [Fri, 2 Jun 2017 20:20:40 +0000 (16:20 -0400)]
Macro elimination - easy cases first. No logic changes.
Eric S. Raymond [Fri, 2 Jun 2017 19:01:52 +0000 (15:01 -0400)]
Header consolidation - main.h, misc.h, and share.h merge to advent.h.
For a project this small size with a small type ontology, it's better
C style to have one header where all the assumptions about types and
structures are immediately visible.
This is a first step towards turning all that global state into a handful
of structures - probably just two, one saveable as a binary game state.
Jason S. Ninneman [Fri, 2 Jun 2017 18:07:05 +0000 (11:07 -0700)]
Fix typo in COPYING.
Eric S. Raymond [Fri, 2 Jun 2017 18:06:43 +0000 (14:06 -0400)]
Walktrough is accomplished.
Peje Nilsson [Fri, 2 Jun 2017 09:20:35 +0000 (11:20 +0200)]
Untangle gotos
Some LXXXX refactored as functions with more meaningful names
Remove unused globals
Michael Jarvis [Fri, 2 Jun 2017 03:54:04 +0000 (22:54 -0500)]
Add explicit rule for compile to use CCFLAGS instead of CFLAGS (take two)
Michael Jarvis [Fri, 2 Jun 2017 03:52:26 +0000 (22:52 -0500)]
Revert "Add explicit rule for compile to use CCFLAGS instead of CFLAGS"
This reverts commit
c29e30d25cce4a92d617d79a49d97643fb9261a7.
Michael Jarvis [Fri, 2 Jun 2017 03:47:47 +0000 (22:47 -0500)]
added braces around initialization of subobjects for clarity
Michael Jarvis [Fri, 2 Jun 2017 03:45:31 +0000 (22:45 -0500)]
Cast size_t to long to silence warning
Michael Jarvis [Fri, 2 Jun 2017 03:45:24 +0000 (22:45 -0500)]
Add explicit rule for compile to use CCFLAGS instead of CFLAGS
Eric S. Raymond [Fri, 2 Jun 2017 10:42:35 +0000 (06:42 -0400)]
Hand merge of MR !31: Update the CI infrastructure to be faster
Eric S. Raymond [Fri, 2 Jun 2017 10:37:56 +0000 (06:37 -0400)]
Added 428-point walkthrough to regression tests.
Michael Jarvis [Thu, 1 Jun 2017 22:45:29 +0000 (17:45 -0500)]
use char, not signed char
Eric S. Raymond [Thu, 1 Jun 2017 18:36:16 +0000 (14:36 -0400)]
Add a walkthrough that foes nearly to endgame.
Jason S. Ninneman [Wed, 31 May 2017 20:36:36 +0000 (13:36 -0700)]
Test to ensure that the turn count penalties occur.
Eric S. Raymond [Wed, 31 May 2017 18:53:01 +0000 (14:53 -0400)]
Simplify inclusion computation so it's BSD-friendly.
Eric S. Raymond [Wed, 31 May 2017 18:34:32 +0000 (14:34 -0400)]
Metadata update.
Jason S. Ninneman [Wed, 31 May 2017 17:52:46 +0000 (10:52 -0700)]
Fix dependencies so parallel make works (issue #4).
Eric S. Raymond [Wed, 31 May 2017 17:08:23 +0000 (13:08 -0400)]
Add a missing dependency.
Eric S. Raymond [Wed, 31 May 2017 10:22:39 +0000 (06:22 -0400)]
Add another test.
Jason S. Ninneman [Wed, 31 May 2017 00:19:01 +0000 (17:19 -0700)]
Remove erroneous comment about PRNG usage.
Eric S. Raymond [Wed, 31 May 2017 00:08:55 +0000 (20:08 -0400)]
Fix things so seed doesn't cost clock time.
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.
Eric S. Raymond [Tue, 30 May 2017 22:27:25 +0000 (18:27 -0400)]
Replace 161-point partial walktgrough with 219-point (same base).
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.
Eric S. Raymond [Tue, 30 May 2017 21:47:26 +0000 (17:47 -0400)]
Don's account of differences from the original.
Eric S. Raymond [Tue, 30 May 2017 00:37:53 +0000 (20:37 -0400)]
History clarification.
David James Sherman [Tue, 30 May 2017 20:11:53 +0000 (20:11 +0000)]
Advent doesn't need automake
David James Sherman [Tue, 30 May 2017 16:36:10 +0000 (16:36 +0000)]
Add .gitlab-ci.yml
Jason S. Ninneman [Mon, 29 May 2017 21:41:15 +0000 (14:41 -0700)]
Update reservoir test to reflect the magic word fix.
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.
Jason S. Ninneman [Mon, 29 May 2017 20:59:06 +0000 (13:59 -0700)]
Make RNDVOC() into better C.
Jason S. Ninneman [Mon, 29 May 2017 20:34:34 +0000 (13:34 -0700)]
Remove an obfuscation scheme for the reservoir magic word.
Jason S. Ninneman [Mon, 29 May 2017 17:58:17 +0000 (10:58 -0700)]
gitignore the database compilation products.
Jason S. Ninneman [Mon, 29 May 2017 17:57:47 +0000 (10:57 -0700)]
Don't build with two -std options.
Jason S. Ninneman [Mon, 29 May 2017 16:30:37 +0000 (09:30 -0700)]
Really mean it about strict C99 compliance.
Eric S. Raymond [Mon, 29 May 2017 16:01:28 +0000 (12:01 -0400)]
Add a qualification.
Eric S. Raymond [Mon, 29 May 2017 16:00:44 +0000 (12:00 -0400)]
The ADVENTURE variable is no more.
Eric S. Raymond [Mon, 29 May 2017 15:39:19 +0000 (11:39 -0400)]
Minor build tweaks.
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
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.
Eric S. Raymond [Mon, 29 May 2017 13:14:56 +0000 (09:14 -0400)]
Typo fixes.
Eric S. Raymond [Mon, 29 May 2017 13:08:44 +0000 (09:08 -0400)]
Update history.txt.
Eric S. Raymond [Mon, 29 May 2017 13:02:02 +0000 (09:02 -0400)]
Don't assume gcc.
Eric S. Raymond [Mon, 29 May 2017 12:50:17 +0000 (08:50 -0400)]
MacOS port fix.
Jason S. Ninneman [Mon, 29 May 2017 05:53:03 +0000 (22:53 -0700)]
Remove 'compile' upon 'make clean'.
Also remove a disused rule.
Eric S. Raymond [Mon, 29 May 2017 05:33:59 +0000 (01:33 -0400)]
Simplify build: nested makefiles considered harmful.
Eric S. Raymond [Mon, 29 May 2017 05:16:08 +0000 (01:16 -0400)]
Begin "Functional Changes" section.
Jason S. Ninneman [Mon, 29 May 2017 04:46:54 +0000 (21:46 -0700)]
Move database compilation out into its own tool (for now).
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.
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.
Eric S. Raymond [Sun, 28 May 2017 17:55:41 +0000 (13:55 -0400)]
Remove debris from the Makefile.
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.
Jason S. Ninneman [Sat, 27 May 2017 16:23:52 +0000 (09:23 -0700)]
Restory working seed value for dwarf.log.
Eric S. Raymond [Sat, 27 May 2017 14:51:43 +0000 (10:51 -0400)]
Restore regression tests.
Eric S. Raymond [Sat, 27 May 2017 14:32:11 +0000 (10:32 -0400)]
More Makefile simplification.
Eric S. Raymond [Sat, 27 May 2017 14:31:16 +0000 (10:31 -0400)]
Simplify the test makefile.
Eric S. Raymond [Sat, 27 May 2017 14:24:34 +0000 (10:24 -0400)]
Correct a dependency.
Eric S. Raymond [Sat, 27 May 2017 14:17:18 +0000 (10:17 -0400)]
Update the list of changes.
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.
Eric S. Raymond [Fri, 26 May 2017 18:03:17 +0000 (14:03 -0400)]
Use C99 moode of compiler.
Jason S. Ninneman [Fri, 26 May 2017 17:21:19 +0000 (10:21 -0700)]
Just say no to encrypting internal state.
Eric S. Raymond [Fri, 26 May 2017 11:22:24 +0000 (07:22 -0400)]
Flush log on interrupt, just for convenience.
Eric S. Raymond [Fri, 26 May 2017 10:33:44 +0000 (06:33 -0400)]
Case correction.
Eric S. Raymond [Fri, 26 May 2017 10:16:16 +0000 (06:16 -0400)]
Death by dwarf test.
Eric S. Raymond [Fri, 26 May 2017 09:14:18 +0000 (05:14 -0400)]
Fix bug that led to comments bnot being ignored.
NHOrus [Fri, 26 May 2017 06:41:54 +0000 (09:41 +0300)]
Different, correct fix of tests
Now without caching .data and extended cleanup
Eric S. Raymond [Fri, 26 May 2017 04:40:35 +0000 (00:40 -0400)]
Document test comment format.
Eric S. Raymond [Fri, 26 May 2017 04:37:24 +0000 (00:37 -0400)]
Regression-test machinery is now documented.
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.
Eric S. Raymond [Thu, 25 May 2017 22:52:39 +0000 (18:52 -0400)]
Repeatable seeding is working.
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...
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.
Jason S. Ninneman [Thu, 25 May 2017 05:31:26 +0000 (22:31 -0700)]
Stop command-logging from non-stdin sources.
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.
Eric S. Raymond [Thu, 25 May 2017 03:05:19 +0000 (23:05 -0400)]
Re-enable skipping of #-led comments.
Eric S. Raymond [Thu, 25 May 2017 02:51:36 +0000 (22:51 -0400)]
Reapply "Clean up logic for exiting input loop and scoring."
Jason S. Ninneman [Wed, 24 May 2017 22:43:34 +0000 (15:43 -0700)]
Remove disused label.
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.
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.
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.
Eric S. Raymond [Wed, 24 May 2017 15:16:59 +0000 (11:16 -0400)]
Clean up logic for exiting input loop and scoring.
Eric S. Raymond [Wed, 24 May 2017 14:07:05 +0000 (10:07 -0400)]
Allow comments in logfiles.
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.
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.
Jason S. Ninneman [Wed, 24 May 2017 06:46:20 +0000 (23:46 -0700)]
Remove a bad use of tv_nsec.
Jason S. Ninneman [Wed, 24 May 2017 06:42:54 +0000 (23:42 -0700)]
Move a line that got out of place.
Jason S. Ninneman [Wed, 24 May 2017 06:37:56 +0000 (23:37 -0700)]
Add seedable PRNG using an adaptation the original LCG algorithm.
Eric S. Raymond [Wed, 24 May 2017 04:28:38 +0000 (00:28 -0400)]
Fix the slightly broken prompt test.
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.
Eric S. Raymond [Wed, 24 May 2017 03:17:57 +0000 (23:17 -0400)]
More switch reformatting.
Eric S. Raymond [Wed, 24 May 2017 03:01:34 +0000 (23:01 -0400)]
Reformat a switch statement for readability. No logic changes.
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.
Eric S. Raymond [Wed, 24 May 2017 00:59:21 +0000 (20:59 -0400)]
More structurization.
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.
Eric S. Raymond [Wed, 24 May 2017 00:34:53 +0000 (20:34 -0400)]
More globals to the game structure.
Eric S. Raymond [Wed, 24 May 2017 00:22:35 +0000 (20:22 -0400)]
More global-to-structure moves.