mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
After much thought, I've decided that `Restart' on r is not a
particularly useful keypress, particularly given how easy it is to confuse it with `Redo'. So both r and ^R are now Redo, and Restart is relegated to being a menu-only option. [originally from svn r5796]
This commit is contained in:
12
midend.c
12
midend.c
@ -2,7 +2,7 @@
|
||||
* midend.c: general middle fragment sitting between the
|
||||
* platform-specific front end and game-specific back end.
|
||||
* Maintains a move list, takes care of Undo and Redo commands, and
|
||||
* processes standard keystrokes for undo/redo/new/restart/quit.
|
||||
* processes standard keystrokes for undo/redo/new/quit.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -238,6 +238,8 @@ void midend_restart_game(midend_data *me)
|
||||
{
|
||||
game_state *s;
|
||||
|
||||
midend_stop_anim(me);
|
||||
|
||||
assert(me->statepos >= 1);
|
||||
if (me->statepos == 1)
|
||||
return; /* no point doing anything at all! */
|
||||
@ -272,11 +274,6 @@ static int midend_really_process_key(midend_data *me, int x, int y, int button)
|
||||
midend_new_game(me);
|
||||
midend_redraw(me);
|
||||
return 1; /* never animate */
|
||||
} else if (button == 'r' || button == 'R') {
|
||||
midend_stop_anim(me);
|
||||
midend_restart_game(me);
|
||||
midend_redraw(me);
|
||||
return 1; /* never animate */
|
||||
} else if (button == 'u' || button == 'u' ||
|
||||
button == '\x1A' || button == '\x1F') {
|
||||
midend_stop_anim(me);
|
||||
@ -284,7 +281,8 @@ static int midend_really_process_key(midend_data *me, int x, int y, int button)
|
||||
gotspecial = TRUE;
|
||||
if (!midend_undo(me))
|
||||
return 1;
|
||||
} else if (button == '\x12') {
|
||||
} else if (button == 'r' || button == 'R' ||
|
||||
button == '\x12') {
|
||||
midend_stop_anim(me);
|
||||
if (!midend_redo(me))
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user