open-adventure.git
3 years agoMake clean now removes cheat binary
Aaron Traas [Wed, 28 Jun 2017 17:52:04 +0000 (13:52 -0400)]
Make clean now removes cheat binary

3 years agoMore magic-number removal.
Eric S. Raymond [Wed, 28 Jun 2017 21:29:33 +0000 (17:29 -0400)]
More magic-number removal.

3 years agoMagic-number elimination.
Eric S. Raymond [Wed, 28 Jun 2017 21:07:15 +0000 (17:07 -0400)]
Magic-number elimination.

3 years agoImplement and document state-changes messages in YAML.
Eric S. Raymond [Wed, 28 Jun 2017 20:14:23 +0000 (16:14 -0400)]
Implement and document state-changes messages in YAML.

Examples at the lamp and grate.  This is a way to pull strings out of
arbitrary_messages and make them part of the object definition.

3 years agoSome more linter warnings
NHOrus [Wed, 28 Jun 2017 17:40:46 +0000 (20:40 +0300)]
Some more linter warnings

3 years agoRemoved advent.info and added to .gitignore 148/head
Aaron Traas [Wed, 28 Jun 2017 17:41:53 +0000 (13:41 -0400)]
Removed advent.info and added to .gitignore

advent.info is a generated file. No need to keep it in the repo.

3 years agoTest coverage: make LCOV ignore code unreachable without interactive shell
Aaron Traas [Wed, 28 Jun 2017 16:25:59 +0000 (12:25 -0400)]
Test coverage: make LCOV ignore code unreachable without interactive shell

3 years agoTest coverage: make LCOV ignore bug() and all calls to BUG()
Aaron Traas [Wed, 28 Jun 2017 16:21:05 +0000 (12:21 -0400)]
Test coverage: make LCOV ignore bug() and all calls to BUG()

In theory, these should be unreachable, so they shouldn't be covered
with testing.

3 years agoTest coverage: make LCOV ignore sig_handler and OOM check
Aaron Traas [Wed, 28 Jun 2017 16:19:20 +0000 (12:19 -0400)]
Test coverage: make LCOV ignore sig_handler and OOM check

3 years agoMore test repairing.
Eric S. Raymond [Wed, 28 Jun 2017 17:21:31 +0000 (13:21 -0400)]
More test repairing.

3 years agoRepair test breakage from previous commit.
Eric S. Raymond [Wed, 28 Jun 2017 17:18:07 +0000 (13:18 -0400)]
Repair test breakage from previous commit.

3 years agoTest consolidation.
Eric S. Raymond [Wed, 28 Jun 2017 17:03:45 +0000 (13:03 -0400)]
Test consolidation.

3 years agoMerge two tests so the suite can run a little faster.
Eric S. Raymond [Wed, 28 Jun 2017 16:54:50 +0000 (12:54 -0400)]
Merge two tests so the suite can run a little faster.

3 years agoUpdate linenoise. 145/head
Jason S. Ninneman [Wed, 28 Jun 2017 16:13:59 +0000 (09:13 -0700)]
Update linenoise.

3 years agoDeclare one-letter synonyms for some commands.
Eric S. Raymond [Wed, 28 Jun 2017 16:05:41 +0000 (12:05 -0400)]
Declare one-letter synonyms for some commands.

As issue #6 (Add single-letter verb synonyms) says:

Modern interactive fiction has converged on a fairly standard
vocabulary of one-letter abbreviations for common verbs. Besides
directional commands, they are:

d - drop
g - get
i - inventory
l - look
x - examine (synonymous in ADVENT with look)
z - wait

Open Adventure should implement these.

This commit doesn't make them work yet, but it declares them for when the
lexical analyzer is fully YAML-driven.

3 years agoMagic-number elimination.
Eric S. Raymond [Wed, 28 Jun 2017 15:45:53 +0000 (11:45 -0400)]
Magic-number elimination.

3 years agoCleaned up tests/Makefile - added save generation to its own target
Aaron Traas [Wed, 28 Jun 2017 14:31:47 +0000 (10:31 -0400)]
Cleaned up tests/Makefile - added save generation to its own target

3 years agoTest coverage: command-line options for advent
Aaron Traas [Wed, 28 Jun 2017 14:09:02 +0000 (10:09 -0400)]
Test coverage: command-line options for advent

3 years agoTest coverage -- 100% cheat for real this time
Aaron Traas [Wed, 28 Jun 2017 13:44:20 +0000 (09:44 -0400)]
Test coverage -- 100% cheat for real this time

3 years agoComment polishing.
Eric S. Raymond [Wed, 28 Jun 2017 14:51:47 +0000 (10:51 -0400)]
Comment polishing.

3 years agoDe-macroize references to travel opcode fields we won't unpack further.
Eric S. Raymond [Wed, 28 Jun 2017 13:21:41 +0000 (09:21 -0400)]
De-macroize references to travel opcode fields we won't unpack further.

3 years agoBreak travel array into three struct fields.
Eric S. Raymond [Wed, 28 Jun 2017 12:53:24 +0000 (08:53 -0400)]
Break travel array into three struct fields.

3 years agoMore macro abstraction of the travel opcodes.
Eric S. Raymond [Wed, 28 Jun 2017 12:26:36 +0000 (08:26 -0400)]
More macro abstraction of the travel opcodes.

3 years agoAfter splitting out the stop field, nothing ever negates a travel opcode...
Eric S. Raymond [Wed, 28 Jun 2017 02:15:22 +0000 (22:15 -0400)]
After splitting out the stop field, nothing ever negates a travel opcode...

...so all those labs() calls can go away.

3 years agoBreak travel opcodes into a two-element structure.
Eric S. Raymond [Wed, 28 Jun 2017 02:11:58 +0000 (22:11 -0400)]
Break travel opcodes into a two-element structure.

3 years agoAll travel[] references are now wrapped in extractor/predicate macros.
Eric S. Raymond [Wed, 28 Jun 2017 01:55:29 +0000 (21:55 -0400)]
All travel[] references are now wrapped in extractor/predicate macros.

This is a step toward pulling the magic numbers apart into data structures
so there will be fewer magic numbers in the code.

3 years agoBegin abstracting out the magic properties of travel-array opcodes.
Eric S. Raymond [Wed, 28 Jun 2017 01:46:07 +0000 (21:46 -0400)]
Begin abstracting out the magic properties of travel-array opcodes.

3 years agoRemove unused enums.
Eric S. Raymond [Wed, 28 Jun 2017 00:11:21 +0000 (20:11 -0400)]
Remove unused enums.

3 years agoMore use of state labels.
Eric S. Raymond [Wed, 28 Jun 2017 00:10:59 +0000 (20:10 -0400)]
More use of state labels.

3 years agoMinor refactoring step.
Eric S. Raymond [Tue, 27 Jun 2017 23:44:20 +0000 (19:44 -0400)]
Minor refactoring step.

3 years agoMore use of state labels.
Eric S. Raymond [Tue, 27 Jun 2017 21:27:42 +0000 (17:27 -0400)]
More use of state labels.

3 years agoAllow state labels in not clauses.
Eric S. Raymond [Tue, 27 Jun 2017 20:54:58 +0000 (16:54 -0400)]
Allow state labels in not clauses.

3 years agoTest Coverage - elicit hints for grate and snake
Aaron Traas [Tue, 27 Jun 2017 18:47:16 +0000 (14:47 -0400)]
Test Coverage - elicit hints for grate and snake

3 years agoRemove unused code
Aaron Traas [Tue, 27 Jun 2017 18:46:49 +0000 (14:46 -0400)]
Remove unused code

3 years agoTest coverage -- additional coverage in actions.c
Aaron Traas [Tue, 27 Jun 2017 17:48:41 +0000 (13:48 -0400)]
Test coverage -- additional coverage in actions.c

3 years agobuildregress now generates save files correctly.
Aaron Traas [Tue, 27 Jun 2017 15:36:24 +0000 (11:36 -0400)]
buildregress now generates save files correctly.

3 years ago100% coverage of cheat.c
Aaron Traas [Tue, 27 Jun 2017 14:53:13 +0000 (10:53 -0400)]
100% coverage of cheat.c

3 years agoAllow cheat to generate save files with bogus numbers.
Aaron Traas [Tue, 27 Jun 2017 14:46:26 +0000 (10:46 -0400)]
Allow cheat to generate save files with bogus numbers.

Also remove pre-built save file for resumefail.log

3 years ago"cheat" now has command-line arguments for generating cheat files
Aaron Traas [Tue, 27 Jun 2017 14:33:10 +0000 (10:33 -0400)]
"cheat" now has command-line arguments for generating cheat files

-d number of deaths. Signed integer value
-s number of saves. Signed integer value
-o file name of save game to write

3 years agoTravel tables are all done from YAML now.
Eric S. Raymond [Tue, 27 Jun 2017 20:11:13 +0000 (16:11 -0400)]
Travel tables are all done from YAML now.

Leaves only Section 4 from asventure.text still relevant.

3 years agoThis looks like it gets the terminators right.
Eric S. Raymond [Tue, 27 Jun 2017 17:23:30 +0000 (13:23 -0400)]
This looks like it gets the terminators right.

3 years agotravel is correct except for position of terminators.
Eric S. Raymond [Tue, 27 Jun 2017 16:22:01 +0000 (12:22 -0400)]
travel is correct except for position of terminators.

3 years agoDocumentation polishing. 142/head
Jason S. Ninneman [Tue, 27 Jun 2017 05:26:54 +0000 (22:26 -0700)]
Documentation polishing.

3 years agoMove the travel rule documentation to newdungeon.py.
Eric S. Raymond [Tue, 27 Jun 2017 04:57:36 +0000 (00:57 -0400)]
Move the travel rule documentation to newdungeon.py.

3 years agoUpdate linenoise from upstream. 141/head
Jason S. Ninneman [Tue, 27 Jun 2017 05:08:29 +0000 (22:08 -0700)]
Update linenoise from upstream.

3 years agoAbolish VOCWRD().
Jason S. Ninneman [Tue, 27 Jun 2017 05:07:24 +0000 (22:07 -0700)]
Abolish VOCWRD().

Action word mnemonics are now enums from adventure.yaml.

3 years agoRemove actspk[].
Jason S. Ninneman [Tue, 27 Jun 2017 05:04:02 +0000 (22:04 -0700)]
Remove actspk[].

3 years agoClean up missed actspk[] references.
Jason S. Ninneman [Tue, 27 Jun 2017 05:03:42 +0000 (22:03 -0700)]
Clean up missed actspk[] references.

3 years agoUse actions[].message instead of actspk[].
Jason S. Ninneman [Tue, 27 Jun 2017 05:01:23 +0000 (22:01 -0700)]
Use actions[].message instead of actspk[].

3 years agoAdd missing declaration.
Jason S. Ninneman [Tue, 27 Jun 2017 05:01:13 +0000 (22:01 -0700)]
Add missing declaration.

3 years agoExpress actions[] in newdb.[ch].
Jason S. Ninneman [Tue, 27 Jun 2017 04:53:24 +0000 (21:53 -0700)]
Express actions[] in newdb.[ch].

3 years agoCombine actspk and the action words into a single structure.
Jason S. Ninneman [Tue, 27 Jun 2017 04:36:24 +0000 (21:36 -0700)]
Combine actspk and the action words into a single structure.

3 years agoThis version of newdungeon.py can exactly recover Section 3...
Eric S. Raymond [Tue, 27 Jun 2017 02:41:57 +0000 (22:41 -0400)]
This version of newdungeon.py can exactly recover Section 3...

...from the YAML data. Next, to pack the recovered data the way
dungeon.c does and wite it in.

3 years agoReexpress the motion words in adventure.yaml.
Jason S. Ninneman [Tue, 27 Jun 2017 02:22:51 +0000 (22:22 -0400)]
Reexpress the motion words in adventure.yaml.

3 years agoFirst cut at compiling travel rules from YAML.
Eric S. Raymond [Tue, 27 Jun 2017 02:15:05 +0000 (22:15 -0400)]
First cut at compiling travel rules from YAML.

Not fully wired in yet.

3 years agoRepair variois problems in travel YAML.
Eric S. Raymond [Tue, 27 Jun 2017 02:13:22 +0000 (22:13 -0400)]
Repair variois problems in travel YAML.

3 years agoRepair a missing travel element it YAML.
Eric S. Raymond [Mon, 26 Jun 2017 21:31:04 +0000 (17:31 -0400)]
Repair a missing travel element it YAML.

Got left off due to an edge condition in travel.py.

3 years agoUpdate cheat.c to unbreak the build. 139/head
Jason S. Ninneman [Mon, 26 Jun 2017 20:40:38 +0000 (13:40 -0700)]
Update cheat.c to unbreak the build.

3 years agoCreate a cheater to test strange save/resume cases.
Eric S. Raymond [Mon, 26 Jun 2017 19:03:37 +0000 (15:03 -0400)]
Create a cheater to test strange save/resume cases.

Patch due to Aaron Traas, but needed modification because of code
drift since submission.

3 years agoJettison some disused macros. 138/head
Jason S. Ninneman [Mon, 26 Jun 2017 18:30:46 +0000 (11:30 -0700)]
Jettison some disused macros.

3 years agoUse enums for object number mnemonics instead of VOCWRD() calls.
Jason S. Ninneman [Mon, 26 Jun 2017 18:27:27 +0000 (11:27 -0700)]
Use enums for object number mnemonics instead of VOCWRD() calls.

3 years agoFold object vocab words into the objects[] structure. 137/head
Jason S. Ninneman [Mon, 26 Jun 2017 17:25:01 +0000 (10:25 -0700)]
Fold object vocab words into the objects[] structure.

3 years agoobject_descriptions[] is now objects[]. 136/head
Jason S. Ninneman [Mon, 26 Jun 2017 16:42:43 +0000 (09:42 -0700)]
object_descriptions[] is now objects[].

3 years agoAdd vocab length define to newdb.
Jason S. Ninneman [Mon, 26 Jun 2017 15:47:30 +0000 (08:47 -0700)]
Add vocab length define to newdb.

3 years agoSquash a compiler warning.
Eric S. Raymond [Mon, 26 Jun 2017 16:15:55 +0000 (12:15 -0400)]
Squash a compiler warning.

3 years agoChange the name of the KEY array to avoid an upcoming macro clash.
Eric S. Raymond [Mon, 26 Jun 2017 14:44:19 +0000 (10:44 -0400)]
Change the name of the KEY array to avoid an upcoming macro clash.

3 years agoTake FORTRANish upper-case function names to C-style lowercase...
Eric S. Raymond [Mon, 26 Jun 2017 14:19:33 +0000 (10:19 -0400)]
Take FORTRANish upper-case function names to C-style lowercase...

...except for a few we're planning to get rid of.  This will avoid some
upcoming collisions with macros defined from YAML.

3 years agoWire Section 8 YAML to runtime.
Eric S. Raymond [Mon, 26 Jun 2017 04:09:50 +0000 (00:09 -0400)]
Wire Section 8 YAML to runtime.

3 years agoSubsume Section 8 into YAML.
Eric S. Raymond [Mon, 26 Jun 2017 03:41:36 +0000 (23:41 -0400)]
Subsume Section 8 into YAML.

3 years agoRemove duped const keywords. 135/head
Jason S. Ninneman [Mon, 26 Jun 2017 03:22:38 +0000 (20:22 -0700)]
Remove duped const keywords.

3 years agoFix typo and type mismatch.
Jason S. Ninneman [Mon, 26 Jun 2017 03:20:44 +0000 (20:20 -0700)]
Fix typo and type mismatch.

3 years agoExpose a vocabulary[] array in newdb.c.
Jason S. Ninneman [Mon, 26 Jun 2017 03:18:39 +0000 (20:18 -0700)]
Expose a vocabulary[] array in newdb.c.

3 years agoInline the hint messages. 134/head
Jason S. Ninneman [Mon, 26 Jun 2017 01:50:47 +0000 (18:50 -0700)]
Inline the hint messages.

3 years agoUnsnarl the motion code some more.
Eric S. Raymond [Mon, 26 Jun 2017 00:50:41 +0000 (20:50 -0400)]
Unsnarl the motion code some more.

3 years agoBegin toounsnarl the way the TRAVEL array is used.
Eric S. Raymond [Sun, 25 Jun 2017 23:21:14 +0000 (19:21 -0400)]
Begin toounsnarl the way the TRAVEL array is used.

3 years agoMagic-number elimination.
Eric S. Raymond [Sun, 25 Jun 2017 22:37:14 +0000 (18:37 -0400)]
Magic-number elimination.

3 years agoCapture Section 3 in YAML.
Eric S. Raymond [Sun, 25 Jun 2017 20:05:44 +0000 (16:05 -0400)]
Capture Section 3 in YAML.

The temporary script travel.py emitted this YAML from the Section 3 data.
It will be removed when the compilation from YAML to an initializer is done.

3 years agoA step forward in definining YAML for the travel array.
Eric S. Raymond [Sun, 25 Jun 2017 18:46:01 +0000 (14:46 -0400)]
A step forward in definining YAML for the travel array.

3 years agoDeal with some compiler warnings. 133/head
Jason S. Ninneman [Sun, 25 Jun 2017 19:54:22 +0000 (12:54 -0700)]
Deal with some compiler warnings.

3 years agoComment polishing.
Eric S. Raymond [Sun, 25 Jun 2017 17:54:07 +0000 (13:54 -0400)]
Comment polishing.

3 years agoFix a report of conpile-time error.
Eric S. Raymond [Sun, 25 Jun 2017 17:31:19 +0000 (13:31 -0400)]
Fix a report of conpile-time error.

3 years agoDix off-by-one errors induced by tightening some array bounds.
Eric S. Raymond [Sun, 25 Jun 2017 17:17:35 +0000 (13:17 -0400)]
Dix off-by-one errors induced by tightening some array bounds.

3 years agoChange structure of vocabulary YAML to cope with multiply-loaded words.
Eric S. Raymond [Sun, 25 Jun 2017 16:36:40 +0000 (12:36 -0400)]
Change structure of vocabulary YAML to cope with multiply-loaded words.

3 years agoAdd some sanity checking to newdungeon.py.
Eric S. Raymond [Sun, 25 Jun 2017 13:25:44 +0000 (09:25 -0400)]
Add some sanity checking to newdungeon.py.

3 years agoComment polishing in adventure.yaml.
Eric S. Raymond [Sun, 25 Jun 2017 12:18:06 +0000 (08:18 -0400)]
Comment polishing in adventure.yaml.

3 years agoVocabulary (adventure.txt section 4) is now in YAML...
Eric S. Raymond [Sun, 25 Jun 2017 12:08:25 +0000 (08:08 -0400)]
Vocabulary (adventure.txt section 4) is now in YAML...

...but no code to use that structure yet.

3 years agoProof of concept for Section 3 report generator.
Eric S. Raymond [Sun, 25 Jun 2017 11:12:05 +0000 (07:12 -0400)]
Proof of concept for Section 3 report generator.

3 years agoFully subsume section 7 into YAML.
Eric S. Raymond [Sun, 25 Jun 2017 00:05:14 +0000 (20:05 -0400)]
Fully subsume section 7 into YAML.

3 years agoRemove unused error codes.
Eric S. Raymond [Sat, 24 Jun 2017 16:59:08 +0000 (12:59 -0400)]
Remove unused error codes.

3 years agoMove the description of string escapes to where the strings now live.
Eric S. Raymond [Sat, 24 Jun 2017 16:49:25 +0000 (12:49 -0400)]
Move the description of string escapes to where the strings now live.

3 years agoRemove unused code.
Eric S. Raymond [Sat, 24 Jun 2017 16:43:31 +0000 (12:43 -0400)]
Remove unused code.

3 years agoSection 13 is now all YAML, so objsound.py can go.
Eric S. Raymond [Sat, 24 Jun 2017 16:24:56 +0000 (12:24 -0400)]
Section 13 is now all YAML, so objsound.py can go.

3 years agoImprove comments, eliminate magic numbers.
Eric S. Raymond [Sat, 24 Jun 2017 16:22:25 +0000 (12:22 -0400)]
Improve comments, eliminate magic numbers.

3 years agoGive generate constant arrays the const specifier.
Eric S. Raymond [Sat, 24 Jun 2017 15:07:07 +0000 (11:07 -0400)]
Give generate constant arrays the const specifier.

Also, move the adventure.txt format documentation to dungeon.c to be
removed when that file is.

3 years agoReplace magic MINTRS/MAXTRS with a treasure attribute in YAML.
Eric S. Raymond [Sat, 24 Jun 2017 14:42:23 +0000 (10:42 -0400)]
Replace magic MINTRS/MAXTRS with a treasure attribute in YAML.

3 years agoLOCSIZ -> NLOCATIONS, finishing limit-name cleanup.
Eric S. Raymond [Sat, 24 Jun 2017 14:20:36 +0000 (10:20 -0400)]
LOCSIZ -> NLOCATIONS, finishing limit-name cleanup.

3 years agoMore fixed limits (NOBJECTS, LOCSIZ) stop being fixed.
Eric S. Raymond [Sat, 24 Jun 2017 14:18:33 +0000 (10:18 -0400)]
More fixed limits (NOBJECTS, LOCSIZ) stop being fixed.

3 years agoRationalize names of structure array sizes.
Eric S. Raymond [Sat, 24 Jun 2017 13:55:32 +0000 (09:55 -0400)]
Rationalize names of structure array sizes.

Everything that camn be #define become one, in all caps to signify that
it's a constant.

3 years agoElimination of OBJTXT.
Eric S. Raymond [Sat, 24 Jun 2017 13:41:39 +0000 (09:41 -0400)]
Elimination of OBJTXT.

This means eveything in Section 13 of adventure.text has moved to YAML.

3 years agoCorrect buggy behavior of sign in endgame. Add a test for this.
Eric S. Raymond [Sat, 24 Jun 2017 13:30:15 +0000 (09:30 -0400)]
Correct buggy behavior of sign in endgame. Add a test for this.