summaryrefslogtreecommitdiffstats
path: root/adventure/save.c
Commit message (Collapse)AuthorAgeFilesLines
* avoid leaving off the trailing nul in a literal string.mrg2021-04-131-3/+3
|
* Get all the games compiling for iOSCameron Katri2021-02-221-0/+2
|
* Minor tidyup.dholland2014-03-221-6/+6
|
* Oops, I forgot to actually implement the checksumming code for the newdholland2012-01-081-13/+25
| | | | savefile format, so any savefiles generated yesterday can be tampered with. Oh well. While here, tidy up the crc code.
* Redo save file handling. The old save files were unportable, had nodholland2012-01-071-46/+712
| | | | | | | | | | | | | | | | | | | | 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.
* Whn ths cd ws wrttn, thr ws bt shrtg nd vwls wr xtrml xpnsv. Nowadays,dholland2009-08-251-10/+10
| | | | | 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.
* sprinkle staticdholland2009-08-121-5/+5
|
* KNF and WARNS=3jmc2005-07-011-8/+6
|
* Move UCB-licensed code from 4-clause to 3-clause licence.agc2003-08-071-7/+3
| | | Patches provided by Joel Baker in PR 22269, verified by myself.
* Adventure(6) should check for errors (e.g. disk full or quotahubertf1999-07-171-3/+7
| | | | | exceeded) when writing out saved games. Do so! Patch supplied by Joseph Myers <jsm28@cam.ac.uk> in PR 8016
* This patch cleans up the handling of the variable `saved' inhubertf1999-07-161-3/+3
| | | | | | | | | | | | | | | | | | | | | 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>
* constify, per PR 6041 by Joseph Myers <jsm28@cam.ac.uk>hubertf1998-09-131-4/+4
|
* KNFifylukem1997-10-111-102/+99
|
* PR/3964: Eric Fischer: Remove dependencies to traditional cpp...christos1997-08-111-64/+69
| | | While I was there add WARNS?= too.
* clean up RCS idscgd1995-03-211-0/+6
|
* adventure(6), from 44litejtc1994-10-211-0/+184