Commit graph

13 commits

Author SHA1 Message Date
Eric S. Raymond
1fffdfb680 Header consolidation - main.h, misc.h, and share.h merge to advent.h.
For a project this small size with a small type ontology, it's better
C style to have one header where all the assumptions about types and
structures are immediately visible.

This is a first step towards turning all that global state into a handful
of structures - probably just two, one saveable as a binary game state.
2017-06-13 20:43:43 +03:00
Jason S. Ninneman
24f327cc09 Add seedable PRNG using an adaptation the original LCG algorithm. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
aa7e291bc6 Revert structurization changes, they broke database compilation...
...bug showing only if adventure.data was absent.  We'll need to sneak up
on this more carefully.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
ba7561a27a More structurization. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
4f0e04404e More global-to-structure moves. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
91bfd55c1c Begin gathering saveable game state into a structure. Not yet complete.
No logic changes.  A bunch of globals turn into fields (with the same names
except for lowercasing) in struct game_t.

Eventually this will allow drastic simplification of the save/load logic.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
ec4c0c8cd0 Input source is parametrized all the way down.
This means that, potentially, do_command() could be called on any text file
pointer and the right thing would happen.
2017-06-13 20:43:40 +03:00
Eric S. Raymond
c16e4cb078 Fix capitalization glitches. 2017-06-13 20:43:40 +03:00
Eric S. Raymond
42e6e7cdb7 Fix strange inside-out organization of the input routines.
Seems to have nbben a result of FORTRAN not having anything like a
stream object that can be passed around.

A step towards logging and log replay.
2017-06-13 20:43:39 +03:00
Eric S. Raymond
301f38586b Fix up case on all comments to make them more readable. No code changes.
The all-capsing was a FORTRAN remnant.Also, we change a few FORTRANisms
so they are less confusing in this C context; ".TRUE." and ".FALSE." become
"true" and "false", "MOD" is mapped to % in places tha t are like C expressions
and (usually) "modulo" in places that aren't.
2017-06-13 20:43:39 +03:00
Eric S. Raymond
51f7b01c15 Use prototypes and bools. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
afddd9b263 Partially ANSIfy C, fix compiler warnings. 2017-06-13 20:43:39 +03:00
Eric S. Raymond
f16343f8dc Don Wood's 430-point Adventure 2.5 from 1995, from rec.games.int-fiction. 2017-06-13 20:43:39 +03:00