open-adventure.git
6 years agoYAMLify section 11 (hints).
Eric S. Raymond [Wed, 21 Jun 2017 13:41:01 +0000 (09:41 -0400)]
YAMLify section 11 (hints).

6 years agoDocument the YAML, remove some dead code, fix typos.
Eric S. Raymond [Wed, 21 Jun 2017 11:39:10 +0000 (07:39 -0400)]
Document the YAML, remove some dead code, fix typos.

6 years agoSection 10 (class thresholds) is now parsed entirely from YAML.
Eric S. Raymond [Wed, 21 Jun 2017 10:17:20 +0000 (06:17 -0400)]
Section 10 (class thresholds) is now parsed entirely from YAML.

6 years agoFurther code simplification.
Eric S. Raymond [Wed, 21 Jun 2017 00:44:21 +0000 (20:44 -0400)]
Further code simplification.

6 years agoCode simplification.
Eric S. Raymond [Wed, 21 Jun 2017 00:39:45 +0000 (20:39 -0400)]
Code simplification.

6 years agoChage read handler argument to by-value.
Eric S. Raymond [Wed, 21 Jun 2017 00:24:30 +0000 (20:24 -0400)]
Chage read handler argument to by-value.

This (sort of) documents the fact that, unlike say() and attack(),
read() never scribbles on the interpreter's command block.

What those other functions are doing is unclean - though less so than
fully exposed globals. I don't see a way to fix it that isn't pretty
intrusive, alas.

6 years agoWD* globals abolished. They're now members of the command block.
Eric S. Raymond [Wed, 21 Jun 2017 00:06:32 +0000 (20:06 -0400)]
WD* globals abolished. They're now members of the command block.

6 years agoFix another ob1 error.
Jason S. Ninneman [Tue, 20 Jun 2017 23:09:33 +0000 (16:09 -0700)]
Fix another ob1 error.

6 years agoClean out some disused variables.
Jason S. Ninneman [Tue, 20 Jun 2017 22:46:25 +0000 (15:46 -0700)]
Clean out some disused variables.

6 years agoFix off-by-one error.
Jason S. Ninneman [Tue, 20 Jun 2017 22:43:08 +0000 (15:43 -0700)]
Fix off-by-one error.

6 years agoRefactor how turn threshold penalties are accounted for.
Jason S. Ninneman [Tue, 20 Jun 2017 22:35:30 +0000 (15:35 -0700)]
Refactor how turn threshold penalties are accounted for.

6 years agoTest coverage -- more corner cases in actions.c 120/head
Aaron Traas [Tue, 20 Jun 2017 22:43:19 +0000 (18:43 -0400)]
Test coverage -- more corner cases in actions.c

6 years agoIntroduce command encapsulation structure.
Eric S. Raymond [Tue, 20 Jun 2017 20:04:50 +0000 (16:04 -0400)]
Introduce command encapsulation structure.

6 years agoRefactored dungeon generator. 119/head
Jason S. Ninneman [Tue, 20 Jun 2017 21:31:35 +0000 (14:31 -0700)]
Refactored dungeon generator.

6 years agoClean up adventure.yaml.
Jason S. Ninneman [Tue, 20 Jun 2017 21:30:56 +0000 (14:30 -0700)]
Clean up adventure.yaml.

6 years agoDon't exit on EOF from get_input().
Jason S. Ninneman [Tue, 20 Jun 2017 16:02:34 +0000 (09:02 -0700)]
Don't exit on EOF from get_input().

6 years agoTest coverage - more corner cases in actions.c
Aaron Traas [Tue, 20 Jun 2017 16:06:49 +0000 (12:06 -0400)]
Test coverage - more corner cases in actions.c

6 years agoComment polishing.
Eric S. Raymond [Tue, 20 Jun 2017 17:38:11 +0000 (13:38 -0400)]
Comment polishing.

6 years agoAdd test for "cage bird".
Eric S. Raymond [Tue, 20 Jun 2017 13:32:35 +0000 (09:32 -0400)]
Add test for "cage bird".

6 years agoPolish help text.
Eric S. Raymond [Tue, 20 Jun 2017 12:41:06 +0000 (08:41 -0400)]
Polish help text.

6 years agoAdd -l to coverage testing.
Eric S. Raymond [Tue, 20 Jun 2017 12:34:01 +0000 (08:34 -0400)]
Add -l to coverage testing.

6 years agoDocumentation update.
Eric S. Raymond [Tue, 20 Jun 2017 12:20:34 +0000 (08:20 -0400)]
Documentation update.

6 years agoFix off-by-one error that enabled the fuzzer to find a crash hole.
Eric S. Raymond [Tue, 20 Jun 2017 11:20:03 +0000 (07:20 -0400)]
Fix off-by-one error that enabled the fuzzer to find a crash hole.

One has to allocate space for the trailing NUL, too.

6 years agoTest logic for lamp dimming triggering battery replacement.
Eric S. Raymond [Tue, 20 Jun 2017 10:52:52 +0000 (06:52 -0400)]
Test logic for lamp dimming triggering battery replacement.

6 years agoMerge branch 'master' into magic-number 116/head
Peje Nilsson [Mon, 19 Jun 2017 22:06:49 +0000 (00:06 +0200)]
Merge branch 'master' into magic-number

6 years agoFix typo and compiler warning. 115/head
Jason S. Ninneman [Mon, 19 Jun 2017 21:49:15 +0000 (14:49 -0700)]
Fix typo and compiler warning.

6 years agoAdd token_to_packed() utility function.
Jason S. Ninneman [Mon, 19 Jun 2017 21:45:32 +0000 (14:45 -0700)]
Add token_to_packed() utility function.

6 years agoMerge branch 'master' into magic-number
Peje Nilsson [Mon, 19 Jun 2017 21:44:48 +0000 (23:44 +0200)]
Merge branch 'master' into magic-number

6 years agoCleanup Arithmetic on message number
Peje Nilsson [Mon, 19 Jun 2017 21:44:03 +0000 (23:44 +0200)]
Cleanup Arithmetic on message number

6 years agoTest coverage More misuse of transitive verbs
Aaron Traas [Mon, 19 Jun 2017 20:26:14 +0000 (16:26 -0400)]
Test coverage More misuse of transitive verbs

6 years agoTest coverage - failure to fill
Aaron Traas [Mon, 19 Jun 2017 20:07:35 +0000 (16:07 -0400)]
Test coverage - failure to fill

6 years agoTest coverage -- intransitive carry when one object is present
Aaron Traas [Mon, 19 Jun 2017 19:36:42 +0000 (15:36 -0400)]
Test coverage -- intransitive carry when one object is present

6 years agoTest coverage - drink with no valid object
Aaron Traas [Mon, 19 Jun 2017 19:21:03 +0000 (15:21 -0400)]
Test coverage - drink with no valid object

6 years agoMostly confine assumptions about what token_t is to misc.c
Eric S. Raymond [Mon, 19 Jun 2017 21:21:45 +0000 (17:21 -0400)]
Mostly confine assumptions about what token_t is to misc.c

The token_t things like WD* are presently longs and will someday be
char[6].  By introducing some trivial functions - wordeq(),
wordempty(), and wordclear() - we mostly hide the difference.

All runtime knowledge about packing now lives only in misc.c and the
list of magic WORD_* defines in advent.h.  Outside this, literals are
now accessed through #define names that could expand to either longs
or strings.

Still to be done: WD* values are sometiimes compated to zero in
ways implying they can be negative. Must figure out wat thus means.

6 years agoConcentrate all magic-number values for packed-string constants in one place.
Eric S. Raymond [Mon, 19 Jun 2017 20:53:55 +0000 (16:53 -0400)]
Concentrate all magic-number values for packed-string constants in one place.

6 years agoMore semantic typing - a step towards eliminating packing.
Eric S. Raymond [Mon, 19 Jun 2017 18:20:45 +0000 (14:20 -0400)]
More semantic typing - a step towards eliminating packing.

6 years agoReally 100% test coverage for saveresume.c
Aaron Traas [Mon, 19 Jun 2017 17:39:49 +0000 (13:39 -0400)]
Really 100% test coverage for saveresume.c

6 years agoShould have 100% coverage on saveresume.c now
Aaron Traas [Mon, 19 Jun 2017 17:23:24 +0000 (13:23 -0400)]
Should have 100% coverage on saveresume.c now

6 years agoPublish more things on the website.
Eric S. Raymond [Mon, 19 Jun 2017 16:53:43 +0000 (12:53 -0400)]
Publish more things on the website.

6 years agoBoolify some logical variables.
Eric S. Raymond [Mon, 19 Jun 2017 16:49:07 +0000 (12:49 -0400)]
Boolify some logical variables.

6 years agoEven less magic 111/head
NHOrus [Mon, 19 Jun 2017 17:13:50 +0000 (20:13 +0300)]
Even less magic

6 years agoSave/resume fail test coverage -- test works in Docker now 110/head
Aaron Traas [Mon, 19 Jun 2017 17:09:15 +0000 (13:09 -0400)]
Save/resume fail test coverage -- test works in Docker now

6 years ago-r doesn't show with NOSAVE build 109/head
NHOrus [Mon, 19 Jun 2017 16:29:00 +0000 (19:29 +0300)]
-r doesn't show with NOSAVE build

6 years agoNo need to tease with excluded options 108/head
NHOrus [Mon, 19 Jun 2017 16:11:07 +0000 (19:11 +0300)]
No need to tease with excluded options

6 years agoRevert "Improved test coverage -- save/resume fail"
Eric S. Raymond [Mon, 19 Jun 2017 15:37:03 +0000 (11:37 -0400)]
Revert "Improved test coverage -- save/resume fail"

Fails in GitLab CI - looks like /dev/badfilename can actually be opened there.

6 years agoImproved test coverage -- save/resume fail
Aaron Traas [Mon, 19 Jun 2017 13:25:36 +0000 (09:25 -0400)]
Improved test coverage -- save/resume fail

6 years agoMagic-number elimination.
Eric S. Raymond [Mon, 19 Jun 2017 15:09:24 +0000 (11:09 -0400)]
Magic-number elimination.

6 years agoMagic-number elimination. Fix possible glitch in troll-bridge death.
Eric S. Raymond [Mon, 19 Jun 2017 15:00:23 +0000 (11:00 -0400)]
Magic-number elimination. Fix possible glitch in troll-bridge death.

6 years agoAdd axeorama log, extending test coverage.
Eric S. Raymond [Mon, 19 Jun 2017 14:32:58 +0000 (10:32 -0400)]
Add axeorama log, extending test coverage.

6 years agoRestructure some code.
Eric S. Raymond [Mon, 19 Jun 2017 13:46:04 +0000 (09:46 -0400)]
Restructure some code.

6 years agoL12 is gone again. Magic numbers have been almost eliminated.
Eric S. Raymond [Mon, 19 Jun 2017 12:43:51 +0000 (08:43 -0400)]
L12 is gone again. Magic numbers have been almost eliminated.

6 years agoMagic number elimination, repair some careless replace damage.
Eric S. Raymond [Mon, 19 Jun 2017 12:37:19 +0000 (08:37 -0400)]
Magic number elimination, repair some careless replace damage.

6 years agoDocumentation tweak.
Eric S. Raymond [Mon, 19 Jun 2017 11:41:59 +0000 (07:41 -0400)]
Documentation tweak.

6 years agoRemove goto L12 - take two
Peje Nilsson [Mon, 19 Jun 2017 08:24:48 +0000 (10:24 +0200)]
Remove goto L12 - take two

On't know if you let me near this code again but here is a second
stab at removing "goto L12"

Previous attempt failed because of trying to continue the outer
do{}while(false)
Adding an extra for(;;) loop where the only repeat is the former
"goto L12" is replaced by continue. All other exits are returns
and a break;

6 years agoImprove test coverage.
Eric S. Raymond [Mon, 19 Jun 2017 11:07:45 +0000 (07:07 -0400)]
Improve test coverage.

6 years agoReorganize debug build options. 105/head
Jason S. Ninneman [Mon, 19 Jun 2017 04:11:06 +0000 (21:11 -0700)]
Reorganize debug build options.

* 'make advent' by itself can be considered the 'release' build.
* 'make debug' now does 'make linty'.

6 years agoGet usage message into coverage tests.
Eric S. Raymond [Mon, 19 Jun 2017 03:31:59 +0000 (23:31 -0400)]
Get usage message into coverage tests.

6 years agoAbolish MAXDIE in favor of maximum_deaths. 104/head
Jason S. Ninneman [Mon, 19 Jun 2017 03:02:03 +0000 (20:02 -0700)]
Abolish MAXDIE in favor of maximum_deaths.

6 years agoClean old obit messages from adventure.yaml.
Jason S. Ninneman [Mon, 19 Jun 2017 02:59:43 +0000 (19:59 -0700)]
Clean old obit messages from adventure.yaml.

6 years agoRemove message pointer math in croak().
Jason S. Ninneman [Mon, 19 Jun 2017 02:54:48 +0000 (19:54 -0700)]
Remove  message pointer math in croak().

6 years agoChange YES() to take const char* arguments.
Jason S. Ninneman [Mon, 19 Jun 2017 02:51:59 +0000 (19:51 -0700)]
Change YES() to take const char* arguments.

6 years agoGive obituary messages their own data structure.
Jason S. Ninneman [Mon, 19 Jun 2017 02:44:15 +0000 (19:44 -0700)]
Give obituary messages their own data structure.

6 years agoTypo fix.
Eric S. Raymond [Mon, 19 Jun 2017 02:35:03 +0000 (22:35 -0400)]
Typo fix.

6 years agoMore repairs on search-replace results.
Eric S. Raymond [Mon, 19 Jun 2017 02:31:58 +0000 (22:31 -0400)]
More repairs on search-replace results.

6 years agoFix search-and-replace error.
Eric S. Raymond [Mon, 19 Jun 2017 02:24:16 +0000 (22:24 -0400)]
Fix search-and-replace error.

6 years agoNo longer restricted to 6-character FORTRAN identifiers.
Eric S. Raymond [Mon, 19 Jun 2017 01:17:57 +0000 (21:17 -0400)]
No longer restricted to 6-character FORTRAN identifiers.

6 years agoAttempt to deconfuse the coverage analyzer.
Eric S. Raymond [Mon, 19 Jun 2017 00:33:36 +0000 (20:33 -0400)]
Attempt to deconfuse the coverage analyzer.

6 years agoReindent and cleanup.
Eric S. Raymond [Mon, 19 Jun 2017 00:24:37 +0000 (20:24 -0400)]
Reindent and cleanup.

6 years agoAdd project logo. It'll have to do until we find an image of a miner's lamp.
Eric S. Raymond [Mon, 19 Jun 2017 00:09:39 +0000 (20:09 -0400)]
Add project logo. It'll have to do until we find an image of a miner's lamp.

6 years agomagic numbers, show usage, fixed linty warnings 103/head
Bob Little [Sun, 18 Jun 2017 23:33:21 +0000 (19:33 -0400)]
magic numbers, show usage, fixed linty warnings

Show usage when using bad parameter with ./advent
Converted magic numbers to enums for BUG().  Also bug now shows
stringify'ed version of bug enumeration (not just a number).

6 years agoFix bug that made YES() case-sensitive. 102/head
Jason S. Ninneman [Sun, 18 Jun 2017 21:14:13 +0000 (14:14 -0700)]
Fix bug that made YES() case-sensitive.

Also fix a related memory leak.

6 years agoGut and rebuild YES() with cleaner approach that doesn't rely on packing. 101/head
Jason S. Ninneman [Sun, 18 Jun 2017 20:37:51 +0000 (13:37 -0700)]
Gut and rebuild YES() with cleaner approach that doesn't rely on packing.

The new support functions get_input() and echo_input() (and others not made yet) will eventually replace GETIN() and MAPLIN().

6 years agoThis should get test coverage to 93%.
Eric S. Raymond [Sun, 18 Jun 2017 20:39:01 +0000 (16:39 -0400)]
This should get test coverage to 93%.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 20:27:12 +0000 (16:27 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 20:08:09 +0000 (16:08 -0400)]
Improve test coverage.

6 years agoImprove test coverage
Eric S. Raymond [Sun, 18 Jun 2017 19:50:52 +0000 (15:50 -0400)]
Improve test coverage

6 years agoRepair plover teleport and add a test for it.
Eric S. Raymond [Sun, 18 Jun 2017 19:05:17 +0000 (15:05 -0400)]
Repair plover teleport and add a test for it.

6 years agoExtent test coverage to plover room access.
Eric S. Raymond [Sun, 18 Jun 2017 18:15:54 +0000 (14:15 -0400)]
Extent test coverage to plover room access.

6 years agoCode simplification.
Eric S. Raymond [Sun, 18 Jun 2017 18:02:24 +0000 (14:02 -0400)]
Code simplification.

6 years agoRemove unused code.
Eric S. Raymond [Sun, 18 Jun 2017 17:20:04 +0000 (13:20 -0400)]
Remove unused code.

6 years agoRename newspeak() to speak(). 100/head
Jason S. Ninneman [Sun, 18 Jun 2017 17:06:14 +0000 (10:06 -0700)]
Rename newspeak() to speak().

6 years agoRefactor scoring so score() does not conditionally exit.
Eric S. Raymond [Sun, 18 Jun 2017 16:51:05 +0000 (12:51 -0400)]
Refactor scoring so score() does not conditionally exit.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 15:55:10 +0000 (11:55 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 15:36:03 +0000 (11:36 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 15:14:44 +0000 (11:14 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 14:55:09 +0000 (10:55 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 14:03:40 +0000 (10:03 -0400)]
Improve test coverage.

6 years agoMagic-number limination. Improve test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 13:44:34 +0000 (09:44 -0400)]
Magic-number limination.  Improve test coverage.

6 years agoTrying again to repair tests.
Eric S. Raymond [Sun, 18 Jun 2017 13:13:35 +0000 (09:13 -0400)]
Trying again to repair tests.

6 years agoRepair tests.
Eric S. Raymond [Sun, 18 Jun 2017 13:08:55 +0000 (09:08 -0400)]
Repair tests.

6 years agoSimplify code, improve test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 12:57:08 +0000 (08:57 -0400)]
Simplify code, improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 11:41:40 +0000 (07:41 -0400)]
Improve test coverage.

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 11:26:59 +0000 (07:26 -0400)]
Improve test coverage.

6 years agoRxtend test coverage, remove magic numbers.
Eric S. Raymond [Sun, 18 Jun 2017 11:11:20 +0000 (07:11 -0400)]
Rxtend test coverage, remove magic numbers.

6 years agoImprove test coverage, simplify code.
Eric S. Raymond [Sun, 18 Jun 2017 10:41:16 +0000 (06:41 -0400)]
Improve test coverage, simplify code.

6 years agoRe-format to consistent indent style with "make indent".
Eric S. Raymond [Sun, 18 Jun 2017 10:18:51 +0000 (06:18 -0400)]
Re-format to consistent indent style with "make indent".

6 years agoCompile switch to disable save and restore 99/head
NHOrus [Sun, 18 Jun 2017 07:34:44 +0000 (10:34 +0300)]
Compile switch to disable save and restore

6 years agoAdded 'linty' target for make
Bob Little [Sun, 18 Jun 2017 00:43:19 +0000 (20:43 -0400)]
Added 'linty' target for make

"make linty" does lots of error checking while compiling.
Simplified the standard make's CFLAGS.
Cleaned up code to eliminate resulting warnings generated by "make linty".

6 years agoImprove test coverage.
Eric S. Raymond [Sun, 18 Jun 2017 00:43:23 +0000 (20:43 -0400)]
Improve test coverage.

6 years agoTest two defeat cases.
Eric S. Raymond [Sun, 18 Jun 2017 00:02:41 +0000 (20:02 -0400)]
Test two defeat cases.