open-adventure.git
2 years agoUnlike objects, player doesn't go to -1 when destroyed. 264/head
NHOrus [Wed, 13 Sep 2017 16:34:35 +0000 (19:34 +0300)]
Unlike objects, player doesn't go to -1 when destroyed.
Tighten bounds check.

2 years agoType constants to prevent overflow
NHOrus [Tue, 12 Sep 2017 05:18:17 +0000 (08:18 +0300)]
Type constants to prevent overflow

2 years agoIf divident negative, then remainder is negative too.
NHOrus [Mon, 11 Sep 2017 18:20:46 +0000 (21:20 +0300)]
If divident negative, then remainder is negative too.
RNG values need to be always positive.
Solution: Transposing positively by divisor. In all the two places it may happen.

2 years agoBe consistent
NHOrus [Sun, 10 Sep 2017 21:32:21 +0000 (00:32 +0300)]
Be consistent

2 years agoPut some of important parameters into fixed width signed integers
NHOrus [Sun, 10 Sep 2017 21:13:55 +0000 (00:13 +0300)]
Put some of important parameters into fixed width signed integers
Massaged test files. Fixes issue #41

2 years agoSilenced fallthrough warning 263/head
NHOrus [Tue, 5 Sep 2017 15:32:56 +0000 (18:32 +0300)]
Silenced fallthrough warning

2 years agoPrevent RNG overflow.
NHOrus [Tue, 5 Sep 2017 15:20:21 +0000 (18:20 +0300)]
Prevent RNG overflow.
Pass save under validation by pointer, so we could mess with underlying
values a little. Only thing I feel we can safely and sanely modify.

2 years agoRemoved old copy-paste error
NHOrus [Tue, 5 Sep 2017 14:46:38 +0000 (17:46 +0300)]
Removed old copy-paste error
Put numdie bounds check in croak to prevent OOB access on negative
numdie while preserving tests

2 years agoPrevent tampering with PRNG parameters in save
NHOrus [Thu, 24 Aug 2017 11:48:02 +0000 (14:48 +0300)]
Prevent tampering with PRNG parameters in save

2 years agoFixed copy-paste errors
NHOrus [Thu, 24 Aug 2017 11:41:21 +0000 (14:41 +0300)]
Fixed copy-paste errors

2 years agoPrevent division by zero
NHOrus [Thu, 24 Aug 2017 11:24:13 +0000 (14:24 +0300)]
Prevent division by zero

2 years agoVerify bounds for linked lists
NHOrus [Thu, 24 Aug 2017 10:47:57 +0000 (13:47 +0300)]
Verify bounds for linked lists

2 years agoCorrected limit for atloc, see init.c for filling double-linked list
NHOrus [Thu, 24 Aug 2017 10:40:10 +0000 (13:40 +0300)]
Corrected limit for atloc, see init.c for filling double-linked list

2 years agoFix value, add check for linked locations
NHOrus [Thu, 24 Aug 2017 10:02:51 +0000 (13:02 +0300)]
Fix value, add check for linked locations

2 years agoBounds check for properties; it is not violated in normal game
NHOrus [Thu, 24 Aug 2017 08:21:10 +0000 (11:21 +0300)]
Bounds check for properties; it is not violated in normal game

2 years agoSyntax error
NHOrus [Sun, 13 Aug 2017 14:58:35 +0000 (15:58 +0100)]
Syntax error

2 years agoValidate dwarves and tally
NHOrus [Sun, 13 Aug 2017 14:56:37 +0000 (15:56 +0100)]
Validate dwarves and tally

2 years agoReindentation
NHOrus [Sun, 13 Aug 2017 14:56:07 +0000 (15:56 +0100)]
Reindentation

2 years agoVerify sanity of location arrays
NHOrus [Sun, 13 Aug 2017 14:16:09 +0000 (15:16 +0100)]
Verify sanity of location arrays

2 years agoValidating sanity of locations in restored game
NHOrus [Sun, 13 Aug 2017 11:41:42 +0000 (12:41 +0100)]
Validating sanity of locations in restored game

2 years agoRemove extraneous listing of files
NHOrus [Sun, 13 Aug 2017 11:14:09 +0000 (12:14 +0100)]
Remove extraneous listing of files

2 years agoReady for 1.4 release. 1.4
Eric S. Raymond [Tue, 8 Aug 2017 03:21:10 +0000 (23:21 -0400)]
Ready for 1.4 release.

2 years agoRemove duplicative phase code.
Eric S. Raymond [Thu, 3 Aug 2017 19:51:39 +0000 (15:51 -0400)]
Remove duplicative phase code.

2 years agoUse the '=' operator (not memcpy()) to shallow-copy structs. 262/head
Jason S. Ninneman [Thu, 3 Aug 2017 19:41:35 +0000 (12:41 -0700)]
Use the '=' operator (not memcpy()) to shallow-copy structs.

2 years agoCanonicalize OV commands to VO form.
Eric S. Raymond [Thu, 3 Aug 2017 19:02:41 +0000 (15:02 -0400)]
Canonicalize OV commands to VO form.

Allows us to get rid of some obscure logic that causes an unnecessary
word shift. One error message changes in a benign way.

2 years agoMassage "{oil|water} {plant|door} into equivalent pourcommand.
Eric S. Raymond [Thu, 3 Aug 2017 18:48:44 +0000 (14:48 -0400)]
Massage "{oil|water} {plant|door} into equivalent pourcommand.

Bedfore this change the command was passed in OV form, which we want
to get rid of.

2 years agoSimplify overcomplicated code.
Eric S. Raymond [Thu, 3 Aug 2017 18:22:38 +0000 (14:22 -0400)]
Simplify overcomplicated code.

2 years agoMore breadcrumb improvements.
Eric S. Raymond [Thu, 3 Aug 2017 16:56:50 +0000 (12:56 -0400)]
More breadcrumb improvements.

2 years agoImprove debugging.
Eric S. Raymond [Thu, 3 Aug 2017 16:25:56 +0000 (12:25 -0400)]
Improve debugging.

2 years agoTypedefify command_t; simplify code accordingly. 261/head
Jason S. Ninneman [Thu, 3 Aug 2017 15:29:46 +0000 (08:29 -0700)]
Typedefify command_t; simplify code accordingly.

2 years agoSimplify command word handling.
Jason S. Ninneman [Thu, 3 Aug 2017 06:43:52 +0000 (23:43 -0700)]
Simplify command word handling.

2 years agoUpgrade get_vocab_metadata() to use command_type_t.
Jason S. Ninneman [Thu, 3 Aug 2017 06:08:55 +0000 (23:08 -0700)]
Upgrade get_vocab_metadata() to use command_type_t.

2 years agoEncapsulate command words into their own struct.
Jason S. Ninneman [Thu, 3 Aug 2017 03:11:40 +0000 (20:11 -0700)]
Encapsulate command words into their own struct.

2 years agoAdd command_word_t, for command words.
Jason S. Ninneman [Thu, 3 Aug 2017 02:26:29 +0000 (19:26 -0700)]
Add command_word_t, for command words.

2 years agoDatatype definition for command word types.
Jason S. Ninneman [Thu, 3 Aug 2017 02:22:52 +0000 (19:22 -0700)]
Datatype definition for command word types.

2 years agoCope with YAML idiosyncracy at unquoted "YES".
Eric S. Raymond [Thu, 3 Aug 2017 14:49:22 +0000 (10:49 -0400)]
Cope with YAML idiosyncracy at unquoted "YES".

2 years agoAdd breadcrumbs for grammar debugging.
Eric S. Raymond [Thu, 3 Aug 2017 14:37:37 +0000 (10:37 -0400)]
Add breadcrumbs for grammar debugging.

2 years agoAdd INSTALL.adoc and templates/*.tpl to make recipes. 260/head
Jason S. Ninneman [Wed, 2 Aug 2017 21:01:39 +0000 (14:01 -0700)]
Add INSTALL.adoc and templates/*.tpl to make recipes.

Fixes issues #38 and #39.

2 years agoReady for 1.3 release. 1.3
Eric S. Raymond [Wed, 2 Aug 2017 00:03:17 +0000 (20:03 -0400)]
Ready for 1.3 release.

2 years agoExclude %V from coverage since we removed it from the test suite.
Eric S. Raymond [Tue, 1 Aug 2017 23:55:34 +0000 (19:55 -0400)]
Exclude %V from coverage since we removed it from the test suite.

2 years agoRemove 'version test...
Eric S. Raymond [Tue, 1 Aug 2017 23:45:55 +0000 (19:45 -0400)]
Remove 'version test...

...it's too much of a PITA to edit the check file after every release bump.

2 years agoAdd regression test for split commands.
Eric S. Raymond [Tue, 1 Aug 2017 23:40:28 +0000 (19:40 -0400)]
Add regression test for split commands.

2 years agoRemove unused phase codes.
Eric S. Raymond [Tue, 1 Aug 2017 23:26:29 +0000 (19:26 -0400)]
Remove unused phase codes.

2 years agoAddress GitLab issue #36: "Get what?" prompt incorrectly handled
Eric S. Raymond [Tue, 1 Aug 2017 22:35:02 +0000 (18:35 -0400)]
Address GitLab issue #36: "Get what?" prompt incorrectly handled

2 years agoRemove unnecessary clearing of command verb.
Eric S. Raymond [Mon, 31 Jul 2017 21:40:25 +0000 (17:40 -0400)]
Remove unnecessary clearing of command verb.

2 years agoCoverage repair.
Eric S. Raymond [Mon, 31 Jul 2017 19:26:56 +0000 (15:26 -0400)]
Coverage repair.

2 years agoFix a coverage gap.
Eric S. Raymond [Mon, 31 Jul 2017 18:59:58 +0000 (14:59 -0400)]
Fix a coverage gap.

2 years agoMoved dungeon.c and dungeon.h templates into external files. 259/head
Aaron Traas [Sun, 23 Jul 2017 16:07:10 +0000 (12:07 -0400)]
Moved dungeon.c and dungeon.h templates into external files.

Also refactored to use named vars in the templates, so it's easier to
refactor, as order when you call .format() isn't important.

2 years agoAddress Gitlab issue #35 258/head
Aaron Traas [Sat, 22 Jul 2017 18:41:23 +0000 (14:41 -0400)]
Address Gitlab issue #35

2 years agoModified action() to take take a copy of command rather than a pointer.
Aaron Traas [Fri, 21 Jul 2017 22:22:55 +0000 (18:22 -0400)]
Modified action() to take take a copy of command rather than a pointer.

It should be safer now that we're not scribbling all over command in
action(), as it's closer to pure. Also fixed a bug in say.

2 years agoBack up to 100% coverage.
Aaron Traas [Fri, 21 Jul 2017 21:22:03 +0000 (17:22 -0400)]
Back up to 100% coverage.

2 years agoSpecials excised from adventure.yaml
Aaron Traas [Fri, 21 Jul 2017 21:15:23 +0000 (17:15 -0400)]
Specials excised from adventure.yaml

2 years agoAll specials are now actions. Builds correct outputs, more needs deleting.
Aaron Traas [Fri, 21 Jul 2017 20:56:43 +0000 (16:56 -0400)]
All specials are now actions. Builds correct outputs, more needs deleting.

2 years agoSimplify seed and waste cpmands using %d in the YAML string.
Eric S. Raymond [Fri, 21 Jul 2017 18:03:39 +0000 (14:03 -0400)]
Simplify seed and waste cpmands using %d in the YAML string.

2 years agoFix to Gitlab issue #32. Now SEED and WASTE are in adventure.yaml 257/head
Aaron Traas [Fri, 21 Jul 2017 13:52:19 +0000 (09:52 -0400)]
Fix to Gitlab issue #32. Now SEED and WASTE are in adventure.yaml

NOTE: the tests are all updated because now, like every other action,
SEED and WASTE have a \n before their output, as they correctly use
SPEAK

2 years agoMore type hygiene.
Eric S. Raymond [Fri, 21 Jul 2017 11:44:09 +0000 (07:44 -0400)]
More type hygiene.

2 years agoComment cleanup, semantic types, information hiding.
Eric S. Raymond [Fri, 21 Jul 2017 11:38:09 +0000 (07:38 -0400)]
Comment cleanup, semantic types, information hiding.

2 years agoFix a prototype.
Eric S. Raymond [Fri, 21 Jul 2017 02:53:15 +0000 (22:53 -0400)]
Fix a prototype.

2 years agoAddress GitLab issue #34: static char* get_input() is not a prototype
Eric S. Raymond [Fri, 21 Jul 2017 02:04:01 +0000 (22:04 -0400)]
Address GitLab issue #34: static char* get_input() is not a prototype

2 years agoAbolish as many undifferentiated long variables as possible.
Eric S. Raymond [Thu, 20 Jul 2017 22:49:08 +0000 (18:49 -0400)]
Abolish as many undifferentiated long variables as possible.

Simple counter become ints.

2 years agoFull comments for all game structure members.
Eric S. Raymond [Thu, 20 Jul 2017 22:24:57 +0000 (18:24 -0400)]
Full comments for all game structure members.

2 years agoComment and structure cleanup.
Eric S. Raymond [Thu, 20 Jul 2017 21:42:31 +0000 (17:42 -0400)]
Comment and structure cleanup.

2 years agoMore comment cleanup.
Eric S. Raymond [Thu, 20 Jul 2017 18:52:14 +0000 (14:52 -0400)]
More comment cleanup.

2 years agoComment cleanup.
Eric S. Raymond [Thu, 20 Jul 2017 18:46:50 +0000 (14:46 -0400)]
Comment cleanup.

2 years agoInformation hiding - moved all of command input parsing to misc.c 256/head
Aaron Traas [Thu, 20 Jul 2017 20:02:54 +0000 (16:02 -0400)]
Information hiding - moved all of command input parsing to misc.c

get_command_input() is effectively an I/O function that takes raw input
and makes it into a command_t. With other I/O functions, it belongs in
misc.c.

This alos allowed me to make 4 other functions static, as they were only
called by get_command_input();

2 years agoTest for freshly fixed bugs 255/head
NHOrus [Thu, 20 Jul 2017 18:00:23 +0000 (21:00 +0300)]
Test for freshly fixed bugs
Also, removed redundant specials from illformed

2 years agoRemove unused enum.
Eric S. Raymond [Thu, 20 Jul 2017 17:46:42 +0000 (13:46 -0400)]
Remove unused enum.

2 years agoRestore full code coverage.
Eric S. Raymond [Thu, 20 Jul 2017 17:37:26 +0000 (13:37 -0400)]
Restore full code coverage.

2 years agoFix core dump in debug mode due to uninitialized allocated storage.
Eric S. Raymond [Thu, 20 Jul 2017 16:58:42 +0000 (12:58 -0400)]
Fix core dump in debug mode due to uninitialized allocated storage.

2 years agoFix test breakage.
Eric S. Raymond [Thu, 20 Jul 2017 16:29:52 +0000 (12:29 -0400)]
Fix test breakage.

2 years agoAddress GitLab issue #28: Advent hangs on some inputs
Eric S. Raymond [Thu, 20 Jul 2017 16:24:02 +0000 (12:24 -0400)]
Address GitLab issue #28: Advent hangs on some inputs

2 years agoPrevent OB1 error.
Eric S. Raymond [Thu, 20 Jul 2017 15:27:02 +0000 (11:27 -0400)]
Prevent OB1 error.

2 years agoFix invalid variable reuse.
Eric S. Raymond [Thu, 20 Jul 2017 15:15:15 +0000 (11:15 -0400)]
Fix invalid variable reuse.

2 years agoRemove unused variables.
Eric S. Raymond [Thu, 20 Jul 2017 14:53:15 +0000 (10:53 -0400)]
Remove unused variables.

2 years agoFix Gitlab issue #30: Say is broken.
Eric S. Raymond [Thu, 20 Jul 2017 14:47:33 +0000 (10:47 -0400)]
Fix Gitlab issue #30: Say is broken.

2 years agoSome vocabulary lookup code can be hidden from main.c.
Eric S. Raymond [Thu, 20 Jul 2017 14:38:59 +0000 (10:38 -0400)]
Some vocabulary lookup code can be hidden from main.c.

2 years agoLast remnants of packing removed.
Eric S. Raymond [Thu, 20 Jul 2017 14:36:22 +0000 (10:36 -0400)]
Last remnants of packing removed.

As a bonus, a bug in %S pluralization became obvious and was fixed.

2 years agoNo more packing in the parser.
Eric S. Raymond [Thu, 20 Jul 2017 14:15:39 +0000 (10:15 -0400)]
No more packing in the parser.

As a side effect, ill-formed input consisting of "_\n" gives
a slighty better error message.

2 years agoRemove unneeded vocabulary lookup.
Eric S. Raymond [Thu, 20 Jul 2017 14:13:15 +0000 (10:13 -0400)]
Remove unneeded vocabulary lookup.

2 years agoEliminate last logic guard on a packed value.
Eric S. Raymond [Thu, 20 Jul 2017 13:50:58 +0000 (09:50 -0400)]
Eliminate last logic guard on a packed value.

2 years agoRemove a packing call - word buffer is good enough.
Eric S. Raymond [Thu, 20 Jul 2017 13:11:13 +0000 (09:11 -0400)]
Remove a packing call - word buffer is good enough.

2 years agoRemove special-case code that was inducing bugs.
Eric S. Raymond [Thu, 20 Jul 2017 13:08:10 +0000 (09:08 -0400)]
Remove special-case code that was inducing bugs.

2 years agoImproved word type checking.
Eric S. Raymond [Thu, 20 Jul 2017 11:40:19 +0000 (07:40 -0400)]
Improved word type checking.

2 years agoEliminate some uses of wd2 - tests can be done on raw2 buffer instead.
Eric S. Raymond [Thu, 20 Jul 2017 11:09:20 +0000 (07:09 -0400)]
Eliminate some uses of wd2 - tests can be done on raw2 buffer instead.

2 years agoAdd some word-type checking where it's needed.
Eric S. Raymond [Thu, 20 Jul 2017 11:02:35 +0000 (07:02 -0400)]
Add some word-type checking where it's needed.

2 years agoMake compparuson out to TOKLEN only explicit in vocab lookups.
Eric S. Raymond [Thu, 20 Jul 2017 09:54:55 +0000 (05:54 -0400)]
Make compparuson out to TOKLEN only explicit in vocab lookups.

2 years agoGet symbol coverage on LOC_SMALLPIT
Eric S. Raymond [Wed, 19 Jul 2017 19:38:31 +0000 (15:38 -0400)]
Get symbol coverage on LOC_SMALLPIT

2 years agoRemove a test pair that seems to be duplicative.
Eric S. Raymond [Wed, 19 Jul 2017 18:00:12 +0000 (14:00 -0400)]
Remove a test pair that seems to be duplicative.

2 years agoTell the compiler not to warn about legitimate case fallthroughs. 254/head
Jason S. Ninneman [Wed, 19 Jul 2017 16:47:20 +0000 (09:47 -0700)]
Tell the compiler not to warn about legitimate case fallthroughs.

2 years agoTypo fix.
Eric S. Raymond [Mon, 17 Jul 2017 20:30:41 +0000 (16:30 -0400)]
Typo fix.

2 years agoCover short descriotion of LOC_SMALLPIT.
Eric S. Raymond [Mon, 17 Jul 2017 20:22:09 +0000 (16:22 -0400)]
Cover short descriotion of LOC_SMALLPIT.

2 years agoRecord 100% code coverage.
Eric S. Raymond [Mon, 17 Jul 2017 18:28:40 +0000 (14:28 -0400)]
Record 100% code coverage.

2 years agoStep with debug compiling with Clang, to contrast with GCC
NHOrus [Mon, 17 Jul 2017 17:12:16 +0000 (20:12 +0300)]
Step with debug compiling with Clang, to contrast with GCC

2 years agoNo magic, revert some experimental changes in pipeline
NHOrus [Mon, 17 Jul 2017 16:59:55 +0000 (19:59 +0300)]
No magic, revert some experimental changes in pipeline

2 years agoUse OpenSUSE in CI pipeline, instead
NHOrus [Sun, 16 Jul 2017 04:43:56 +0000 (07:43 +0300)]
Use OpenSUSE in CI pipeline, instead

2 years agoUse Fedora for the CI pipeline.
Jason S. Ninneman [Sat, 15 Jul 2017 03:45:19 +0000 (20:45 -0700)]
Use Fedora for the CI pipeline.

2 years agoUse ASan and UBSan in debug builds.
Jason S. Ninneman [Sat, 15 Jul 2017 03:19:54 +0000 (20:19 -0700)]
Use ASan and UBSan in debug builds.

2 years agoDeploy maximum "fortified source" and stack protection.
Jason S. Ninneman [Sat, 15 Jul 2017 02:52:20 +0000 (19:52 -0700)]
Deploy maximum "fortified source" and stack protection.

2 years agoEnsure cheat is built with debug options when 'make debug' is given.
Jason S. Ninneman [Sat, 15 Jul 2017 02:45:17 +0000 (19:45 -0700)]
Ensure cheat is built with debug options when 'make debug' is given.

2 years agoLOC_SMALLPIT.small and LOC_TOPSTALACTITE.small
Aaron Traas [Mon, 17 Jul 2017 15:56:19 +0000 (11:56 -0400)]
LOC_SMALLPIT.small and LOC_TOPSTALACTITE.small