Commit graph

232 commits

Author SHA1 Message Date
John "Elwin" Edwards
fdc346deb1 rogue4: don't put savefile metadata into the savefile.
The save_file() function in save.c stored the savefile's device number,
inode number, creation time, and modification time in the file.  The
restore() function read them back, and apparently used to compare them
to protect against cheaters.

Unfortunately, the types and sizes of these numbers differ from system
to system, which ruins the Roguelike Restoration Project's fine
portability work.  So they have been removed from the savefile.

This BREAKS SAVEFILE COMPATIBILITY, but old files can be converted by
excising the chunk starting at offset 0x22 with length sizeof(ino_t) +
sizeof(dev_t) + 2 * sizeof(time_t).  That's 0x14 on i686 and 0x20 on
x86_64, at least with current versions of Linux and glibc.
2013-08-05 20:49:41 -07:00
John "Elwin" Edwards
7f094a6b77 Add a top-level README.txt. 2013-07-01 07:58:55 -07:00
John "Elwin" Edwards
b6bcf2e3f4 arogue5: make some prayer-related messages appear properly. 2012-09-09 17:58:38 -07:00
John "Elwin" Edwards
ad5245c5f8 arogue5: fix some more drawing to the wrong window.
The spell-choosing and prayer-choosing routines, when the one-line
inventory option is set, displayed to cw instead of msgw.  This caused
permanent corruption of the message line.
2012-09-09 15:55:51 -07:00
John "Elwin" Edwards
cd74a20cc9 arogue5: fix "More" prompt appearing in the wrong place.
The magic and monster detection routines printed "--More--" to cw
instead of msgw, making it appear at the @-sign instead of on the top
line.
2012-09-09 08:55:11 -07:00
John "Elwin" Edwards
8b252e70a9 arogue5: fix player's typed responses getting put at the wrong place.
Some sections of code that prompt the user for a string of input were
calling get_str() with cw (the player-visible screen containing the
map), which caused whatever the player typed to get printed starting at
cw's idea of the cursor position, which was usually the Rogue's @-sign.
This corrupted the map.

The problem has been fixed by passing msgw (the message line at the top
of the screen) to get_str(), so the player's typing appears where msgw
thinks the cursor should be, which is in the sensible place right after
the prompt.  Some other get_str() invocations which used hw or stdscr
have been left unmodified.
2012-09-08 22:05:05 -07:00
John "Elwin" Edwards
5fe41fbc3a arogue5: fix the crash when checking prices in shops.
A buffer called curpurch, which stores a description of an item in a
trading post which the player might be interested in, was only 15
bytes.  It was overflowing into oldrp, a room pointer, leading to
segfaults.  The size of curpurch has been increased to LINELEN*2,
which matches the size of prbuf, which is returned by inv_name and
then strcpy()'d to curpurch.  As long as nothing overflows prbuf it
should be safe now.

NOTE that this breaks savefile compatibility.
2012-09-05 10:14:34 -07:00
John "Elwin" Edwards
f56c5bd801 rogue4: fix "You found you found" bug.
Both search() and tr_name() printed "you found" when a trap was
discovered.  It has been removed from search().
2012-08-20 20:30:19 -07:00
John "Elwin" Edwards
e59194b5ce arogue5: fix support for keypad 5. 2012-08-12 14:45:58 +00:00
John "Elwin" Edwards
355fb33eb7 arogue5: avoid segfaulting if getpwuid() fails. 2012-08-11 23:45:34 +00:00
John "Elwin" Edwards
6e2b154419 arogue5: compile out wizard mode by default. 2012-08-11 21:58:20 +00:00
John "Elwin" Edwards
77dd2bd3b6 arogue5: change default program name and options. 2012-08-11 21:53:49 +00:00
John "Elwin" Edwards
4d11069d9c arogue5: update the score list before prompting to exit. 2012-08-11 20:58:24 +00:00
John "Elwin" Edwards
8c27cf1402 arogue5: add nonl() to prevent CR/LF confusion. 2012-08-11 18:56:32 +00:00
John "Elwin" Edwards
f0527564ea arogue5: add missing header files. 2012-08-11 17:19:03 +00:00
John "Elwin" Edwards
5ce56875ec arogue5: close security holes.
Prevent whoami (player name), file_name, and score_file from being
changed if the systemwide save location is being used.
2012-08-11 16:27:20 +00:00
John "Elwin" Edwards
4c16144c6b arogue5: implement logging. 2012-08-10 21:17:14 +00:00
John "Elwin" Edwards
38a8534eb5 arogue5: add the savedir feature. 2012-08-10 05:16:08 +00:00
John "Elwin" Edwards
14fad3b319 Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490) 2012-08-09 22:58:48 +00:00
John "Elwin" Edwards
9ed6e5e369 rogue3, rogue4: fix log message formatting for wins. 2012-08-07 21:17:29 +00:00
John "Elwin" Edwards
6badae1890 rogue3, srogue: showing the version should not take a turn. 2012-05-24 05:10:38 +00:00
John "Elwin" Edwards
5114a73d41 srogue: include missing headers. 2012-01-27 17:29:30 +00:00
John "Elwin" Edwards
0195eba9bb srogue: move default locations to /var. 2012-01-24 18:30:17 +00:00
John "Elwin" Edwards
e26d961c7a rogue3: move default locations to /var. 2012-01-24 18:25:21 +00:00
John "Elwin" Edwards
f0a6e6d37c srogue: don't display a room when a monster steps on a teleport trap. 2011-11-09 18:41:21 +00:00
John "Elwin" Edwards
75f5abe998 Improve support for keypad 5. 2011-10-28 16:00:05 +00:00
John "Elwin" Edwards
0334219850 rogue3: improve keypad support. 2011-10-28 15:45:12 +00:00
John "Elwin" Edwards
617d9499e9 rogue4: update the installation instructions. 2011-10-14 16:47:52 +00:00
John "Elwin" Edwards
955892f163 rogue5: improve defaults for SAVEDIR. 2011-10-14 16:31:58 +00:00
John "Elwin" Edwards
cec13006cf rogue4: improve defaults for SAVEDIR. 2011-10-13 17:44:29 +00:00
John "Elwin" Edwards
1a3828c466 rogue4: ported to autoconf. 2011-10-11 15:20:40 +00:00
John "Elwin" Edwards
a59d5df42b rogue5: make sure SAVEDIR is a directory. 2011-10-10 20:57:51 +00:00
John "Elwin" Edwards
a54b3789c4 rogue5: SAVEDIR off by default, remove generated files from version control. 2011-10-10 15:11:07 +00:00
John "Elwin" Edwards
2f9a559716 rogue5: DESTDIR is not needed in config.h. 2011-10-07 22:26:51 +00:00
John "Elwin" Edwards
b5102d4a76 rogue5: Add chroot support to the autotools system. 2011-10-07 21:19:14 +00:00
John "Elwin" Edwards
86578e0943 rogue5: Clear encerror so scoreboard writing works. 2011-10-07 06:15:48 +00:00
John "Elwin" Edwards
4e48fad8ba Make sure lock_sc always returns a value. Fixes a weird bug that prevented the scorelist from updating. 2010-12-14 17:15:51 +00:00
John "Elwin" Edwards
61fb648a88 srogue: prevent aquiring unlimited scrolls of aquirement. 2010-12-07 22:31:33 +00:00
John "Elwin" Edwards
1d8ea533bd Make sure the score list appears in all situations. 2010-12-07 16:46:07 +00:00
John "Elwin" Edwards
02c8fd2586 srogue: Fix CR/LF playback bug. 2010-12-06 19:43:32 +00:00
John "Elwin" Edwards
07b5ea7c50 srogue: add logging. 2010-12-04 14:45:38 +00:00
John "Elwin" Edwards
7aa541b5a8 srogue: fix '2n orange potions' description bug. 2010-12-04 02:26:49 +00:00
John "Elwin" Edwards
e3ef50b351 srogue: fix bug causing healing on invalid commands. 2010-11-27 16:49:44 +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
John "Elwin" Edwards
00669593bd rogue5: remove some NULLs. 2010-06-15 20:49:22 +00:00
John "Elwin" Edwards
53a15a3e2e rogue5: add savedir, logfile, bugfixes 2010-05-24 20:16:15 +00:00
John "Elwin" Edwards
3741c4867d Import Rogue 5.4 from the Roguelike Restoration Project (r1490) 2010-05-24 20:10:59 +00:00
John "Elwin" Edwards
8d570c89a5 Fix the playback bug which was caused by CR/LF confusion 2010-02-16 00:03:06 +00:00