Home | History | Annotate | Download | only in adventure
History log of /src/games/adventure/save.c
RevisionDateAuthorComments
 1.15  12-Apr-2021  mrg avoid leaving off the trailing nul in a literal string.
 1.14  22-Mar-2014  dholland Minor tidyup.
 1.13  08-Jan-2012  dholland branches: 1.13.6;
Oops, I forgot to actually implement the checksumming code for the new
savefile format, so any savefiles generated yesterday can be tampered
with. Oh well. While here, tidy up the crc code.
 1.12  07-Jan-2012  dholland Redo save file handling. The old save files were unportable, had no
magic number or versioning, relied on random(3) never changing to a
different implementation, and were also saving pointers to disk and
reading them back again. It *looks* as if the pointers thus loaded
were reset before being used, but it's not particularly clear as the
main loop of this thing is goto-based FORTRAN translated lightly to C.
I've changed the logic to null these pointers instead of saving and
loading them, and things seem to still work.

The new save files have a header, support versioning, write only sized
types in network byte order, and for the toy encryption to discourage
cheating do something self-contained instead of using random(3) as a
stream cipher.

Because between the original import from 4.4 until earlier today
trying to save would result in SIGSEGV on most platforms, it's
unlikely anyone has a save file, but just in case (since the pointer
issue appears to be nonlethal) I've kept compat code for old save
files.
 1.11  25-Aug-2009  dholland branches: 1.11.6;
Whn ths cd ws wrttn, thr ws bt shrtg nd vwls wr xtrml xpnsv. Nowadays,
however, we have an ample vowel budget, and bit shortages are a thing
of the past (even in a down economy) so spend a bit to improve
readability.
 1.10  12-Aug-2009  dholland sprinkle static
 1.9  01-Jul-2005  jmc KNF and WARNS=3
 1.8  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22269, verified by myself.
 1.7  17-Jul-1999  hubertf Adventure(6) should check for errors (e.g. disk full or quota
exceeded) when writing out saved games. Do so!

Patch supplied by Joseph Myers <jsm28@cam.ac.uk> in PR 8016
 1.6  16-Jul-1999  hubertf This patch cleans up the handling of the variable `saved' in
adventure(6). The handling of this variable is somewhat confusing,
since it is used for two different purposes (controlling the time
required before a saved game can be restored, and controlling various
aspects of dwarf behaviour); in fact, it is also declared twice in
hdr.h. Except possibly when saving a game fails, these uses can never
interfere; when used for controlling dwarf behaviour, we always have
saved == -1. This can be better understood with reference to the
original PDP-10 FORTRAN source (URL in patch, since hdr.h references
the comments of the FORTRAN as still relevant to this version) of
which the C version is a direct translation: the wrong value for
`saved' meant that someone was cheating and had bypassed normal
initialisation. Saving was done by halting and telling the user to
save their core image, so the question of carrying on after saving
failed to open the output file did not arise.

This patch separates the uses of `saved' into uses of two separate
variables.

Closes PR 8005 by Joseph Myers <jsm28@cam.ac.uk>
 1.5  13-Sep-1998  hubertf constify, per PR 6041 by Joseph Myers <jsm28@cam.ac.uk>
 1.4  11-Oct-1997  lukem KNFify
 1.3  11-Aug-1997  christos PR/3964: Eric Fischer: Remove dependencies to traditional cpp...
While I was there add WARNS?= too.
 1.2  21-Mar-1995  cgd clean up RCS ids
 1.1  21-Oct-1994  jtc branches: 1.1.1;
Initial revision
 1.1.1.1  21-Oct-1994  jtc adventure(6), from 44lite
 1.11.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11.6.1  17-Apr-2012  yamt sync with head
 1.13.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed