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
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
Aaron Traas
0a30176a8c
Allow cheat to generate save files with bogus numbers.
...
Also remove pre-built save file for resumefail.log
2017-06-27 16:13:49 -04:00
Jason S. Ninneman
7dc8839249
Abolish VOCWRD().
...
Action word mnemonics are now enums from adventure.yaml.
2017-06-26 22:07:24 -07:00
Jason S. Ninneman
f9edfc5151
Reexpress the motion words in adventure.yaml.
2017-06-26 22:22:51 -04:00
Eric S. Raymond
d6cb6f0d8d
Create a cheater to test strange save/resume cases.
...
Patch due to Aaron Traas, but needed modification because of code
drift since submission.
2017-06-26 15:07:09 -04:00
Jason S. Ninneman
5581175840
Jettison some disused macros.
2017-06-26 11:30:46 -07:00
Jason S. Ninneman
6ac098170c
Use enums for object number mnemonics instead of VOCWRD() calls.
2017-06-26 11:27:27 -07:00
Eric S. Raymond
59243cf8bc
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.
2017-06-26 10:19:33 -04:00
Eric S. Raymond
81be19238c
Fix a report of conpile-time error.
2017-06-25 13:31:19 -04:00
Eric S. Raymond
5ba7973ca7
Improve comments, eliminate magic numbers.
2017-06-24 12:22:25 -04:00
Eric S. Raymond
c3a2816821
Replace magic MINTRS/MAXTRS with a treasure attribute in YAML.
2017-06-24 10:47:59 -04:00
Eric S. Raymond
25077d0b4e
LOCSIZ -> NLOCATIONS, finishing limit-name cleanup.
2017-06-24 10:20:36 -04:00
Eric S. Raymond
985137d9c7
Rationalize names of structure array sizes.
...
Everything that camn be #define become one, in all caps to signify that
it's a constant.
2017-06-24 09:55:32 -04:00
Eric S. Raymond
3a93b2b5f0
Elimination of OBJSND.
2017-06-24 09:08:48 -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
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
9c7c23b75a
Improve namespace hygiene.
2017-06-22 08:58:11 -04:00
Aaron Traas
3c8530663d
xstrdup() not called anywhere in source. Removed.
2017-06-21 13:50:13 -04: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
Eric S. Raymond
9437ccca36
WD* globals abolished. They're now members of the command block.
2017-06-20 20:06:32 -04:00
Eric S. Raymond
7a3f3ec7a6
Introduce command encapsulation structure.
2017-06-20 17:40:41 -04:00
Jason S. Ninneman
6ecd001093
Fix typo and compiler warning.
2017-06-19 14:49:15 -07:00
Jason S. Ninneman
ba64c57eb0
Add token_to_packed() utility function.
2017-06-19 14:45:32 -07:00
Eric S. Raymond
a678b68b39
Mostly confine assumptions about what token_t is to misc.c
...
The token_t things like WD* are presently longs and will someday be
char[6]. By introducing some trivial functions - wordeq(),
wordempty(), and wordclear() - we mostly hide the difference.
All runtime knowledge about packing now lives only in misc.c and the
list of magic WORD_* defines in advent.h. Outside this, literals are
now accessed through #define names that could expand to either longs
or strings.
Still to be done: WD* values are sometiimes compated to zero in
ways implying they can be negative. Must figure out wat thus means.
2017-06-19 17:21:45 -04:00
Eric S. Raymond
87961483a2
Concentrate all magic-number values for packed-string constants in one place.
2017-06-19 16:53:55 -04:00
Eric S. Raymond
79f5701e07
More semantic typing - a step towards eliminating packing.
2017-06-19 14:20:45 -04:00
Eric S. Raymond
0eb85f233a
Boolify some logical variables.
2017-06-19 13:21:15 -04:00
NHOrus
e9aff2568f
Even less magic
2017-06-19 20:18:20 +03:00
Eric S. Raymond
4c100261c4
Magic-number elimination.
2017-06-19 11:09:24 -04:00
Eric S. Raymond
d46407d327
Magic-number elimination. Fix possible glitch in troll-bridge death.
2017-06-19 11:00:23 -04:00
Jason S. Ninneman
624ba16aad
Change YES() to take const char* arguments.
2017-06-18 19:51:59 -07:00
Eric S. Raymond
fa9b6d317f
No longer restricted to 6-character FORTRAN identifiers.
2017-06-18 21:17:57 -04:00
Bob Little
04eca720d9
magic numbers, show usage, fixed linty warnings
...
Show usage when using bad parameter with ./advent
Converted magic numbers to enums for BUG(). Also bug now shows
stringify'ed version of bug enumeration (not just a number).
2017-06-18 19:33:21 -04:00
Jason S. Ninneman
550734fd3f
Gut and rebuild YES() with cleaner approach that doesn't rely on packing.
...
The new support functions get_input() and echo_input() (and others not made yet) will eventually replace GETIN() and MAPLIN().
2017-06-18 13:39:59 -07:00
Eric S. Raymond
ba5c7dacb5
Remove unused code.
2017-06-18 13:20:04 -04:00
Jason S. Ninneman
672ef17d4c
Rename newspeak() to speak().
2017-06-18 10:06:14 -07:00
Eric S. Raymond
704b86afbb
Refactor scoring so score() does not conditionally exit.
2017-06-18 12:51:05 -04:00
Eric S. Raymond
937714f31d
Magic-number limination. Improve test coverage.
2017-06-18 09:44:34 -04:00
Bob Little
d844c2a391
Added 'linty' target for make
...
"make linty" does lots of error checking while compiling.
Simplified the standard make's CFLAGS.
Cleaned up code to eliminate resulting warnings generated by "make linty".
2017-06-17 22:28:40 -04:00
Bob Little
a3485d2a41
Move a few prototypes and static'ed a few functions
...
Moved prototypes for initialise() and action() from main.c to advent.h
Made the following functions static, so they wouldn't require prototypes:
sig_handler (main.c)
spotted_by_pirate (main.c)
light (actions.c)
2017-06-17 18:19:09 -04:00
NHOrus
300d246179
Resume from file on startup
2017-06-17 09:20:42 +03:00
Peje Nilsson
a6feda5307
Split saveresume to reduce complexity
...
Fixed a bug where current time was printed as version of advent
when loading an old savegame.
2017-06-16 14:16:02 -04:00
Eric S. Raymond
d97574d35c
Magic-number elimination.
2017-06-16 08:55:53 -04:00