Commit graph

17 commits

Author SHA1 Message Date
John "Elwin" Edwards
37cc3eeaba arogue7, xrogue: fix command repetition.
In both games, command() loops and calls the action function twice for
each command: once to schedule it by setting player.t_action and
player.t_no_move, and again, to actually do it, once player.t_no_move
has been reduced to 0.  Each loop decremented count, so repeated
commands were only repeated half the number of times the player typed.

count is now decremented only when ch has been set to the repeated
command.
2015-05-28 11:08:03 -04:00
John "Elwin" Edwards
4e5f4c52d3 arogue7, xrogue: rename daemon() to start_daemon().
This prevents conflict with the BSD/OSX daemon() system function.
2015-05-28 10:21:43 -04:00
John "Elwin" Edwards
d793ca961f arogue7, xrogue: add support for keypad 5.
Keypad 5 is now equivalent to the '.' key.

XRogue does not include md_readchar() and its ability to work around
deficiencies in the terminfo entry. So the key will not be recognized
in screen/tmux or anywhere else without the kb2 capability.  Adding
md_readchar() would be more complex than it was for Super-Rogue, since
XRogue already does KEY_* interpretation in command().
2015-05-27 17:29:32 -04:00
John "Elwin" Edwards
053a248658 arogue7, xrogue: put newlines at the end of startup messages. 2015-05-20 15:15:29 -04:00
John "Elwin" Edwards
faa24df096 xrogue: add an exit prompt.
This gives the player a chance to see the high score list when playing
via dgamelaunch.
2015-05-20 12:51:16 -04:00
John "Elwin" Edwards
e3620a3781 Advanced Rogue family: fix the "score" option.
Changing the score file (when permitted) now works again, closing the
old score file and opening the new one.
2015-05-20 08:42:17 -04:00
John "Elwin" Edwards
ea4244de91 arogue7, xrogue: prevent potential NULL dereferencing.
It is possible for getpwuid() to fail and return NULL.  Various md_get*
functions now check for this.
2015-05-18 10:53:22 -04:00
John "Elwin" Edwards
3554339257 Advanced Rogue family: overhaul privilege handling.
Advanced Rogue 5 and 7, and XRogue, now open the scorefile and logfile
at startup and then drop any set[ug]id privileges if the savedir is not
being used.
2015-05-16 13:39:26 -04:00
John "Elwin" Edwards
fe8a158d6a xrogue: call nonl() during initialization.
This prevents some confusion between CR and LF characters.
2015-05-05 20:54:33 -04:00
John "Elwin" Edwards
fb870fdb4e xrogue: don't segfault when backstabbing while empty-handed.
The code for backstabbing checked the weapon's properties without
making sure it was not NULL.
2015-05-05 12:12:20 -04:00
John "Elwin" Edwards
85a0b26fa3 xrogue: compile out wizard mode by default. 2015-05-05 12:07:12 -04:00
John "Elwin" Edwards
9c0cafd74d xrogue: record the result of each game in a logfile. 2015-05-05 11:24:02 -04:00
John "Elwin" Edwards
283506baf9 xrogue: restrict changes to the save file location.
When using the -n option, disallow changing file_name or whoami via
options or dialogs.
2015-05-02 07:31:14 -04:00
John "Elwin" Edwards
e35502804b xrogue: initial support for the -n option.
The scorefile location is also configurable now.
2015-04-22 16:03:00 -04:00
John "Elwin" Edwards
dec970210b xrogue: add missing includes.
This prevents some warnings.
2015-04-21 10:34:01 -04:00
John "Elwin" Edwards
02cec53f85 xrogue: fix definition of struct delayed_action.
Arrays of struct delayed_action were declared before the definition.
Also, daemon.c and state.c defined it differently.  The state.c
definition, in which d_arg is a union, is now used everywhere.

This is the least bad option, but fuses and daemons are still a
disheartening morass that undoubtedly shelters more bugs.
2015-04-21 10:11:02 -04:00
John "Elwin" Edwards
034d8d6484 Import XRogue 8.0 from the Roguelike Restoration Project (r1490) 2015-04-21 08:55:20 -04:00