John "Elwin" Edwards
62047972cc
Use more portable random seed generation.
...
The new function md_random_seed() has replaced time() + getpid() and
similar methods. Putting everything in mdport.c slightly reduces the
warnings and workarounds.
2017-01-28 15:49:41 -05:00
John "Elwin" Edwards
84db7dbc2a
Super-Rogue: fix saving and restoring on Windows.
...
The problem turned out to be that the save file wasn't being deleted
because it was still open.
2016-03-12 14:29:07 -05:00
John "Elwin" Edwards
59f448e92e
Super-Rogue: convert to ANSI-style function declarations.
...
This fixes most of the build warnings.
2016-01-31 13:45:07 -05:00
John "Elwin" Edwards
268b30f851
srogue: provide type definitions if needed.
...
If not defined in headers, uid_t and gid_t will be defined as
unsigned ints, and pid_t as int.
2015-08-03 21:29:16 -04:00
John "Elwin" Edwards
214c2f6608
srogue: remove remnants of deleted savefile checks.
...
save_file() used fstat() and direct write() as part of the inode check
which was deleted in f11eeafc. These operations no longer had any
effect.
2015-08-03 07:04:48 -04:00
John "Elwin" Edwards
b1e2b6206d
srogue: replace unlink() with md_unlink().
...
md_unlink_open_file() might be needed eventually.
2015-08-03 06:42:59 -04:00
John "Elwin" Edwards
2c4ad7e941
srogue: another unistd.h which should not be included on Windows.
2015-08-03 06:30:09 -04:00
John "Elwin" Edwards
2e4f161e40
srogue: improve privilege handling.
...
Setgid privileges are now dropped when not required. restore() is now
less complex.
2015-08-01 16:23:24 -04:00
John "Elwin" Edwards
120beada5a
srogue: more compatibility improvements.
...
Randomness now uses mdport, and xcrypt.c has been replaced with the
rogue5 version.
Super-Rogue now builds on MinGW.
2014-05-03 10:31:30 -07:00
John "Elwin" Edwards
b9cc9cf3a7
srogue: add and use more md_* portable functions.
...
Privileges and memory usage checks are now more portable.
2014-05-02 15:06:23 -07:00
John "Elwin" Edwards
791df4324f
srogue: use functions from mdport.c.
...
Shell escape, passwd entries, terminal settings, and most signal
handling is now done with the more portable md_* functions.
2014-04-30 14:46:30 -07:00
John "Elwin" Edwards
6d1d59555c
srogue: enable the keypad when restoring.
...
keypad() was only being called when starting a new game, which meant
the arrow keys did not work when restoring a saved game.
2013-09-03 15:39:04 -07:00
John "Elwin" Edwards
2d117230ed
Refuse to restore if the character is dead.
...
This prevents recovering from death by killing the game between death
and exit, producing an automatic save.
2013-08-09 09:34:07 -07:00
John "Elwin" Edwards
a210387f8d
srogue: don't store machine-dependent metadata in the savefile.
...
Super-Rogue, like Rogue V4, stored data of machine-dependent length in
the savefile, to prevent cheating. This made saved games non-portable.
Also deleted was a check that used this data, and prevented restoring
savefiles from backup.
This change BREAKS SAVEFILE COMPATIBILITY, but old files can be
converted by removing the block at offset 0x1e with length
sizeof(ino_t) + sizeof(dev_t) + 2 * sizeof(time_t). That seems to be
0x14 on i686 and 0x20 on x86_64.
2013-08-06 19:02:58 -07:00
John "Elwin" Edwards
5114a73d41
srogue: include missing headers.
2012-01-27 17:29:30 +00:00
John "Elwin" Edwards
a90fd134ba
Prevent changing name or savefile when SAVEDIR is used.
2010-11-27 16:22:30 +00:00
John "Elwin" Edwards
20d469d64f
srogue: add support for SAVEDIR
2010-11-25 17:28:29 +00:00
John "Elwin" Edwards
ce4b930551
Import Super-Rogue 9.0 from the Roguelike Restoration Project (r1490)
2010-11-25 12:21:41 +00:00