Commit graph

243 commits

Author SHA1 Message Date
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
NHOrus
63152e6714 Broke all logical or into multiline statement to show lcov's lies
Results are weird, some things that need to be checked aren't and
at least my local lcov doesn't show them as unchecked
2017-07-03 07:20:37 +03:00
NHOrus
38970a1c98 Unspk'd pour command 2017-07-03 06:12:19 +03:00
Jason S. Ninneman
6af38a92f6 Eliminate the global game.blklin. 2017-07-02 10:37:10 -07:00
NHOrus
8456b866ff Rationalize attack logic
Fix the compiler warnings about bunching ands with ors
2017-07-02 20:29:51 +03:00
Aaron Traas
7eaefce61d Moved application settings to settings_t struct
Since logfp, oldstyle, and prompt were application settings, rather than
have them all as global vars, move them to a single global var, seperate
from game state, as they aren't, technically, game state, but are
application settings.
2017-07-02 12:52:17 -04:00
Jason S. Ninneman
d23111daba Replace datime() with just time().
Also make the 'savetime' value meaningful.

This removes a separate library dependency on some systems.
2017-07-02 09:46:01 -07:00
Aaron Traas
22a557efb1 Coverage -- version command 2017-07-02 02:22:52 -04:00
Aaron Traas
85f8334e17 centralize calls to make_zzword()
make_zzword() now called in set_seed(), because the only times it was
called in the entire application is after every invocation of set_seed().
2017-07-02 02:02:09 -04:00
Jason S. Ninneman
e66b4561d4 Never write the input prompt to log files. 2017-07-01 11:04:21 -07:00
Eric S. Raymond
0d0b8df0a3 Ignore l g z i under oldstyle. 2017-07-01 12:35:31 -04:00
Jason S. Ninneman
ad3b097c9e Replace linenoise with libedit in code and build. 2017-07-01 07:22:53 -07:00
NHOrus
0a87fc9f78 Spread documentation from init.c It was empty without anything to document. Reindented, too 2017-07-01 08:53:03 -04:00
Eric S. Raymond
9714bf8c82 Magic-number elimination. 2017-07-01 01:59:06 -04:00
NHOrus
c83df10dc6 Stop leaking memory 2017-06-30 23:26:18 -04:00
Jason S. Ninneman
8bc08773fa Various cleanups.
* Remove disused macro.
* GCC doesn't seem to mind if IGNORE() is left off.
* Enumify phase codes.
* Use EXIT_* macros in all exit() calls.
* How did this even work without extern?
* Give advent.h a much-needed makeover.
* Use the chomp indicator in YAML string blocks to avoid code ugliness.
2017-07-01 03:19:33 +00:00
Eric S. Raymond
ba9e933f20 Use YAML block-literal syntax to avoid wrapped lines.
In vspeak(), andle text with extra trailing \n.
2017-06-30 16:33:31 -04:00
NHOrus
94ea37d2bc Plugged little linenoise memory leaks. 2017-06-30 21:42:37 +03:00
Eric S. Raymond
e10637c419 Implement and document %V escape so version only needs to be set once. 2017-06-30 14:35:18 -04:00
Jason S. Ninneman
d9d089bdcc Remove some disused stuff. 2017-06-30 10:56:38 -07:00
Aaron Traas
ffb8393985 Documentation and comment cleanup.
Also, renove uused enums.
2017-06-29 16:37:07 -04:00
Eric S. Raymond
3001fb1dc1 Re-indented. 2017-06-29 15:45:59 -04:00
Eric S. Raymond
58a8a761e2 Fix an OB1 bug in allocation. 2017-06-29 13:43:36 -04:00
NHOrus
bf2fa227f0 Unshadowed k2 into k3 in main.c
Reindented everything
2017-06-29 20:11:53 +03:00
Jason S. Ninneman
1ee0e5c7b0 Finish newdb -> dungeon renaming. 2017-06-29 08:54:55 -07:00
Jason S. Ninneman
074d2c8a0f Remove MAPLIN(). Fold common.[ch] into other files and remove them. 2017-06-29 08:54:35 -07:00
Jason S. Ninneman
83fb64b5a8 Jettison MAKEWD(), GETTXT(), vocab(), GETIN(), and the old db compiler. 2017-06-29 08:54:35 -07:00
Jason S. Ninneman
50435465a6 Completely wire vocab words in YAML to the code.
This massive patch:
* Finishes working all the vocab words into YAML structures.
* Adds vocab ID generator functions.
* Redoes the input-getting system, removing the need for GETIN(),
  GETTXT(), etc.
* Changes advent<->ascii mapping to avoid the special 'shift'
  character.
* Works around some bad behavior in the dragon attack logic.
* Handles the reservoir magic word without changing the database
  contents.
2017-06-29 01:59:37 -07:00
Eric S. Raymond
1ed8126912 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.
2017-06-28 16:14:23 -04:00
NHOrus
aca6d79087 Some more linter warnings 2017-06-28 15:09:05 -04:00
Aaron Traas
60847652aa Test coverage: make LCOV ignore code unreachable without interactive shell 2017-06-28 13:23:34 -04:00
Aaron Traas
6521d49c07 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.
2017-06-28 13:23:34 -04:00