Commit graph

692 commits

Author SHA1 Message Date
Eric S. Raymond
e8e84a24a6 Improve test coverage. 2017-06-23 23:30:17 -04:00
Eric S. Raymond
ea70341cfe Eliminate setting of OBJTXT sell for oyster - OBJTXT is now static.
A necessary step towards getting rid of it.
2017-06-23 15:50:15 -04:00
Eric S. Raymond
15b7c00e0a Abolish unclean operation on OBJSOUND - it's now static.
Save/Restore no longer needs to treat it specially.
2017-06-23 15:13:47 -04:00
Eric S. Raymond
ecff53d3a8 Name the lamp, grate, and bird states. 2017-06-23 14:59:32 -04:00
Eric S. Raymond
2848494a01 Proof of cobcept for state defines.
It is now possible in the YAML to declare defines for all state values
associated with an object.  This are visible in the C code and can be used
to replace magic numbers.
2017-06-23 14:07:44 -04:00
Eric S. Raymond
6bd1c356e2 Documentation polishing. 2017-06-23 11:27:20 -04:00
Eric S. Raymond
1e8c3a4a1d Support loud locations. 2017-06-23 11:16:37 -04:00
Eric S. Raymond
f47dc9f447 Location sounds are now declared by YAML. 2017-06-23 10:10:48 -04:00
Eric S. Raymond
98b7434b0b objsound.py: add a (temporary) YAML transformer for translating Section 13.
This will go away after it's applied/
2017-06-23 09:19:50 -04:00
Eric S. Raymond
8dd70624d1 Add YAML markup for location sounds. 2017-06-23 07:54:49 -04:00
Eric S. Raymond
44abab29e3 Toss unused parts of dungeon.c and init.c 2017-06-22 22:33:24 -04:00
Eric S. Raymond
6c6c72f327 Replace macros with condition bits. 2017-06-22 18:41:25 -04:00
Eric S. Raymond
51494657fd Give the FORCED property a real cond bit. Delete some unused code. 2017-06-22 17:49:06 -04:00
Eric S. Raymond
7f7f49b739 Switch fully over to YAML generation of condition bits. COND is gone. 2017-06-22 17:28:39 -04:00
Eric S. Raymond
537c4511e2 Generate initializer from YAML for Section 9 bits. 2017-06-22 16:45:38 -04:00
Eric S. Raymond
94d1aa5183 Use YAML references to tie hints to locations.
This change makes locbit.py obsolete; it's deleted.
2017-06-22 14:27:22 -04:00
Jason S. Ninneman
3215930f64 Fixups to the adventure.yaml commentary. 2017-06-22 14:16:33 -04:00
Eric S. Raymond
e4b2877733 Location YAML now has conditions.
COND initionalization doesn't use these yet. That's the next step.
2017-06-22 11:59:41 -04:00
Eric S. Raymond
3f7a25cdf2 locbit.py: Can't set a FORCED attribute in the YAML...
...it has to be computed from the travel arrays.
2017-06-22 11:24:00 -04:00
Eric S. Raymond
b8c240f4b1 Repair a check file. 2017-06-22 11:14:42 -04:00
Eric S. Raymond
4aa006368d Check in the tool for folding Section 9 COND bits into YAML.
Needs to be in the repo history for reference, though it won't
be manifest after the conversion.

We shouldn't actually apply this until the murk around FORCED has been
dispelled.
2017-06-22 09:46:09 -04:00
Eric S. Raymond
9c7c23b75a Improve namespace hygiene. 2017-06-22 08:58:11 -04:00
Eric S. Raymond
6277b45d6b Patch around non-working pillo bug fix. 2017-06-22 07:24:45 -04:00
Jason S. Ninneman
97241e87d7 Quick-fix the 'pillo bug'.
Once parsing no longer depends on text being broken up into
5-char tokens, the ugly hack to adventure.yaml must go away.
2017-06-21 22:43:16 -07:00
Eric S. Raymond
433e787de8 Simple fix for GitLab issue #14: Behaviour of magic words changed
Say "Nothing happens" on "foo" not in Giant Room, rather than "What's
the matter, can't you read?  Now you'd best start over." which only
makes sense there.

It would be funnier to say something like "Well, that was remarkably
pointless." Maybe later.
2017-06-21 17:23:28 -04:00
Eric S. Raymond
fd6da15373 Fix GitLab issue #13 - The "eat" command exhibits strange behavior
The problem wasn't actually with "eat" but with "grate".  Processing
of any two-word command with an object of "grate", when given at certain
locations including the start, inappropriately jumped directly
to the movement code (ignoring the verb).

There was a similar bug in the ancestral 2.5, though it manifested slightly
differently.
2017-06-21 16:54:10 -04:00
Eric S. Raymond
6dbe6f081c Revert "Test coverage - Almost all of score.c". It's breaking tests. 2017-06-21 16:43:27 -04:00
Eric S. Raymond
7ed1e95441 Revert "Test coverage - 100% score.c". It's breaking tests. 2017-06-21 16:37:59 -04:00
Aaron Traas
f4d3f6def9 Test coverage - 100% score.c 2017-06-21 15:12:53 -04:00
Aaron Traas
236abc8cab Test coverage - Almost all of score.c 2017-06-21 15:04:41 -04:00
Aaron Traas
3c8530663d xstrdup() not called anywhere in source. Removed. 2017-06-21 13:50:13 -04:00
Jason S. Ninneman
79ffdb36f0 Switch to 0-indexing for hint handling code. 2017-06-21 10:26:23 -07:00
Jason S. Ninneman
c8f6ff3701 Abolish HNTMAX and HNTSIZ in favor of HINT_COUNT.
This change necessitated include guards on newdb.h.
2017-06-21 10:25:12 -07:00
Peje Nilsson
deb61e3dcd Replace SETPRM/[PR]SPEAK with variadic [pr]speak
Rename/rewrite old speak to vspeak and take a va_list
Add new speak that takes variadic parameters

Remove SETPRM & PARMS[]
2017-06-21 13:14:53 -04:00
David James Sherman
82f162dc32 Resolve GitLab issue #3. Applies MISRA and CERT guidelines.
MISRA C++:2008, 2-13-4 - Literal suffixes shall be upper case

MISRA C:2012, 7.3 - The lowercase character "l" shall not be used in a
literal suffix

CERT DCL16-C. - Use "L," not "l," to indicate a long value

CERT DCL16-CPP. - Use "L," not "l," to indicate a long value

CERT, DCL50-J. - Use visually distinct identifiers
2017-06-21 13:14:53 -04:00
Aaron Traas
67ed99b29c Test Coverage -- lots of new pieces of actions.c 2017-06-21 12:14:24 -04:00
Eric S. Raymond
22613f06fa Documentation polishing. 2017-06-21 11:58:58 -04:00
Eric S. Raymond
c3a71f6db6 Documentation and polishing. 2017-06-21 11:45:16 -04:00
Eric S. Raymond
ddb0df85b3 YAMLify section 11 (hints). 2017-06-21 11:22:18 -04:00
Eric S. Raymond
b37f9f4b2d Document the YAML, remove some dead code, fix typos. 2017-06-21 07:39:10 -04:00
Eric S. Raymond
f6373dd32e Section 10 (class thresholds) is now parsed entirely from YAML. 2017-06-21 06:17:20 -04:00
Eric S. Raymond
e798355e80 Further code simplification. 2017-06-20 20:44:21 -04:00
Eric S. Raymond
237f1a876f Code simplification. 2017-06-20 20:39:45 -04:00
Eric S. Raymond
358fdd437b 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.
2017-06-20 20:24:30 -04:00
Eric S. Raymond
9437ccca36 WD* globals abolished. They're now members of the command block. 2017-06-20 20:06:32 -04:00
Jason S. Ninneman
9714c9fc2a Fix another ob1 error. 2017-06-20 19:26:55 -04:00
Jason S. Ninneman
1e59d6b476 Clean out some disused variables. 2017-06-20 19:26:55 -04:00
Jason S. Ninneman
acc07e1287 Fix off-by-one error. 2017-06-20 19:26:55 -04:00
Jason S. Ninneman
d029b08ad1 Refactor how turn threshold penalties are accounted for. 2017-06-20 19:26:55 -04:00
Aaron Traas
89de4e4602 Test coverage -- more corner cases in actions.c 2017-06-20 18:43:19 -04:00