Commit graph

224 commits

Author SHA1 Message Date
Eric S. Raymond
782c5c3f29 SPDXify the code. 2018-03-08 20:56:21 -05:00
NHOrus
076bb8908b 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.
2017-09-11 21:27:57 +03:00
NHOrus
9e2cb3c191 Put some of important parameters into fixed width signed integers
Massaged test files. Fixes issue #41
2017-09-11 00:58:13 +03:00
NHOrus
0fbd79b608 Reindentation 2017-08-13 15:56:07 +01:00
Jason S. Ninneman
24d102781c Typedefify command_t; simplify code accordingly. 2017-08-03 08:29:46 -07:00
Jason S. Ninneman
23ae7edb10 Upgrade get_vocab_metadata() to use command_type_t. 2017-08-03 08:24:18 -07:00
Jason S. Ninneman
5c91ea3739 Encapsulate command words into their own struct. 2017-08-03 08:24:18 -07:00
Jason S. Ninneman
0d3393ebee Datatype definition for command word types. 2017-08-03 08:16:19 -07:00
Eric S. Raymond
06c8c97738 Exclude %V from coverage since we removed it from the test suite. 2017-08-01 19:55:34 -04:00
Aaron Traas
8765f49fdc Address Gitlab issue #35 2017-07-22 14:41:23 -04:00
Aaron Traas
30f13c6c25 Back up to 100% coverage. 2017-07-21 17:22:03 -04:00
Aaron Traas
e8a627f964 Specials excised from adventure.yaml 2017-07-21 17:15:23 -04:00
Aaron Traas
5337e00725 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
2017-07-21 10:23:02 -04:00
Eric S. Raymond
a3c159660b Comment cleanup, semantic types, information hiding. 2017-07-21 07:38:09 -04:00
Eric S. Raymond
b27f767cc6 Fix a prototype. 2017-07-20 22:53:15 -04:00
Eric S. Raymond
6718c57d49 Address GitLab issue #34: static char* get_input() is not a prototype 2017-07-20 22:04:01 -04:00
Eric S. Raymond
609159ad6d Abolish as many undifferentiated long variables as possible.
Simple counter become ints.
2017-07-20 18:49:08 -04:00
Aaron Traas
a167945e19 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();
2017-07-20 16:02:54 -04:00
Eric S. Raymond
243d05b4f8 Fix core dump in debug mode due to uninitialized allocated storage. 2017-07-20 12:58:42 -04:00
Eric S. Raymond
b7af7b9e87 Prevent OB1 error. 2017-07-20 11:27:02 -04:00
Eric S. Raymond
aa5870a92e Some vocabulary lookup code can be hidden from main.c. 2017-07-20 10:38:59 -04:00
Eric S. Raymond
8bd947b54d Last remnants of packing removed.
As a bonus, a bug in %S pluralization became obvious and was fixed.
2017-07-20 10:36:22 -04:00
Eric S. Raymond
2fa530340d No more packing in the parser.
As a side effect, ill-formed input consisting of "_\n" gives
a slighty better error message.
2017-07-20 10:17:56 -04:00
Eric S. Raymond
d998965faf Make compparuson out to TOKLEN only explicit in vocab lookups. 2017-07-20 05:54:55 -04:00
Eric S. Raymond
2fca59d9fd Information hiding. 2017-07-16 15:23:03 -04:00
Eric S. Raymond
d1e29319fa Code cleanup. 2017-07-14 13:10:13 -04:00
NHOrus
03b2f1c86e Removed unused code, reindented 2017-07-13 21:52:27 -04:00
Jason S. Ninneman
50efa22849 Express word type with an enum instead of magic numbers.
* Make a cleaner function for getting vocab metadata.
* Get rid of magic numbers.
* Purge get_vocab_id().
* Abolish the *_WORD() macros.
* Add FIXME comment on some ugliness.
2017-07-12 10:35:00 -07:00
Eric S. Raymond
4a4c113624 Prevent game from uttering solecisms about the "floor" when outside. 2017-07-12 00:19:16 -04:00
Eric S. Raymond
1cbc3d827b Eliminate magic numbers from C side of condition handling. 2017-07-07 15:01:25 -04:00
NHOrus
551838cea2 Deal around newline-only lines pruned to zero-lenght
Test for that, too
2017-07-07 11:21:37 +03:00
NHOrus
ef97d579ea Don't zero stuff twice 2017-07-07 11:18:02 +03:00
NHOrus
ca7ac4063f Magic-number elimination and fix
More test coverage for some of the cases
2017-07-06 17:55:56 +03:00
Eric S. Raymond
73608b6307 Further infiltrare semantic types. 2017-07-05 16:55:16 -04:00
NHOrus
725105b4a2 Made feeding a switch instead of elsif chain 2017-07-05 15:41:36 -04:00
NHOrus
40ff648431 Moved state_change to misc.c to start using it in main.c, too 2017-07-05 20:23:34 +03:00
NHOrus
c35cf99966 Static analysis warnings squished 2017-07-05 17:45:12 +03:00
Eric S. Raymond
fd57b3b5bd Fix dropped stitch in last commit. 2017-07-05 02:55:51 -04:00
Eric S. Raymond
d522d22c71 Magic-number elimination. 2017-07-05 02:53:39 -04:00
Eric S. Raymond
df87c596fb Under oldstyle, mangled echoed unknown text to simulate old behavior. 2017-07-05 02:34:36 -04:00
Eric S. Raymond
f37a413524 Magic-number elimination. 2017-07-04 14:15:20 -04:00
NHOrus
babf08ddc4 Cleaned up unused variables 2017-07-04 15:18:49 +03:00
Jason S. Ninneman
07e7b8131e Upgrade get_vocab_id() to handle empty strings. 2017-07-03 18:08:04 -07:00
Eric S. Raymond
1c4fcaf43e Discard implementation of %L and %U format specifiers, now never used. 2017-07-03 18:40:06 -04:00
Eric S. Raymond
df36b62c74 Reducing use of dynamic allocation forecloses many errors. 2017-07-03 17:53:25 -04:00
Eric S. Raymond
6e67222206 Information hiding. 2017-07-03 17:21:06 -04:00
Eric S. Raymond
4b51b06b73 Simplify tokenization code. 2017-07-03 17:13:28 -04:00
Eric S. Raymond
a768555312 Use the raw buffer in tr command structure for editing.
This fixes some minor bugs. Unknown words are no longer truncated
nor uppercased on echo.
2017-07-03 12:52:28 -04:00
Eric S. Raymond
f03bde268e Refactor tokenization to save raw tokens and use static buffer space...
...rather than dynamic storage.

As a side effect, this seems to have fixed a very ninor bug in the processing
of the bare word 'nothing'.  But I don't know where the bug was.  Not happy.
2017-07-03 08:53:10 -04:00
Eric S. Raymond
eba8015059 Magic-number elimination. 2017-07-03 07:14:15 -04:00