Commit graph

245 commits

Author SHA1 Message Date
Eric S. Raymond
4b51b06b73 Simplify tokenization code. 2017-07-03 17:13:28 -04:00
Eric S. Raymond
393010ec41 Entirely eliminate wd1x and wd2x members of the command block.
In the process, fix another case-smashing bug.
2017-07-03 16:49:33 -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
Eric S. Raymond
e712f4c0e0 Magic-number elimination. 2017-07-02 14:47:21 -04:00
Jason S. Ninneman
6af38a92f6 Eliminate the global game.blklin. 2017-07-02 10:37:10 -07:00
Eric S. Raymond
346bcf9458 Magic-number elimination. 2017-07-02 13:22:50 -04: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
Jason S. Ninneman
e66b4561d4 Never write the input prompt to log files. 2017-07-01 11:04:21 -07:00
Jason S. Ninneman
dec4cf3968 Jettison the -s option.
It's no longer needed since libedit doesn't have the 'paste bug'.
2017-07-01 07:22:53 -07:00
Jason S. Ninneman
36a6cbca34 Add a DEMOTE_WORD() macro. 2017-07-01 06:18:24 -07:00
Jason S. Ninneman
2328739e51 Interim magic number replacement. 2017-07-01 06:15:54 -07:00
Eric S. Raymond
065caace64 Move PRNG initialization to simplify cheat.c 2017-07-01 08:59:45 -04: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
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
Jason S. Ninneman
030fa6d27d The bugtype enum doesn't need explicit numbers. 2017-06-30 13:25:12 -07:00
Jason S. Ninneman
40acab43af Remove disused function definitions. 2017-06-30 11:08:54 -07:00
Jason S. Ninneman
4fe9b94db4 Remove more disused macros. 2017-06-30 11:05:37 -07: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
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
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