Change special keys into extended commands
Changes most of the special keys used in the main input loop into extended commands: - movement keys are now bound to extended commands, eg. #movewest and so on. - m-prefix is now #reqmenu extended command, still bound to the 'm' key. - run, rush, and fight are now extended commands, still bound to the same keys as previously. - nopickup and runnopickup keys are removed. Nopickup was using 'm' key, the same as the m-prefix, so allow #reqmenu to modify movement commands to disable pickup. - multiple prefix commands are allowed. This lets user to use #reqmenu, followed by #run, followed by movement to simulate runnopickup behaviour. (If necessary, adding runnopickup back as an extended command would be easy)
This commit is contained in:
+27
-49
@@ -1245,6 +1245,11 @@ To really switch to explore mode, respond with \f(CRy\fP.
|
|||||||
You can set the
|
You can set the
|
||||||
.op paranoid_confirmation:quit
|
.op paranoid_confirmation:quit
|
||||||
option to require a response of \f(CRyes\fP instead.
|
option to require a response of \f(CRyes\fP instead.
|
||||||
|
.lp "#fight "
|
||||||
|
Prefix key to force fight a direction, even if you see nothing
|
||||||
|
to fight there.
|
||||||
|
Default key is \(oqF\(cq, or \(oq\-\(cq with
|
||||||
|
.op number_pad
|
||||||
.lp "#fire "
|
.lp "#fire "
|
||||||
Fire ammunition from quiver, possibly autowielding a launcher,
|
Fire ammunition from quiver, possibly autowielding a launcher,
|
||||||
or hit with a wielded polearm.
|
or hit with a wielded polearm.
|
||||||
@@ -1439,6 +1444,10 @@ is on.
|
|||||||
.lp "#remove "
|
.lp "#remove "
|
||||||
Remove an accessory (ring, amulet, etc).
|
Remove an accessory (ring, amulet, etc).
|
||||||
Default key is \(oqR\(cq.
|
Default key is \(oqR\(cq.
|
||||||
|
.lp "#reqmenu "
|
||||||
|
Prefix key to modify the behaviour or request menu from some commands.
|
||||||
|
Prevents autopickup when used with movement commands.
|
||||||
|
Default key is \(oqm\(cq.
|
||||||
.lp "#retravel"
|
.lp "#retravel"
|
||||||
Travel to a previously selected travel destination.
|
Travel to a previously selected travel destination.
|
||||||
Default key is \(oqC-_\(cq.
|
Default key is \(oqC-_\(cq.
|
||||||
@@ -1451,6 +1460,24 @@ Default key is \(oqM-R\(cq.
|
|||||||
Rub a lamp or a stone.
|
Rub a lamp or a stone.
|
||||||
Autocompletes.
|
Autocompletes.
|
||||||
Default key is \(oqM-r\(cq.
|
Default key is \(oqM-r\(cq.
|
||||||
|
.lp "#run "
|
||||||
|
Prefix key to run towards a direction.
|
||||||
|
Default key is \(oqG\(cq when
|
||||||
|
.op number_pad
|
||||||
|
is off,
|
||||||
|
\(oq5\(cq when
|
||||||
|
.op number_pad
|
||||||
|
is set to 1 or 3,
|
||||||
|
otherwise \(oqM-5\(cq when it is set to 2 or 4.
|
||||||
|
.lp "#rush "
|
||||||
|
Prefix key to rush towards a direction.
|
||||||
|
Default is \(oqg\(cq when
|
||||||
|
.op number_pad
|
||||||
|
is off,
|
||||||
|
\(oqM-5\(cq when
|
||||||
|
.op number_pad
|
||||||
|
is set to 1 or 3,
|
||||||
|
otherwise \(oq5\(cq when it is set to 2 or 4.
|
||||||
.lp "#save "
|
.lp "#save "
|
||||||
Save the game and exit the program.
|
Save the game and exit the program.
|
||||||
Default key is \(oqS\(cq.
|
Default key is \(oqS\(cq.
|
||||||
@@ -4775,15 +4802,6 @@ With
|
|||||||
.op number_pad
|
.op number_pad
|
||||||
only.
|
only.
|
||||||
Default is \(oqn\(cq.
|
Default is \(oqn\(cq.
|
||||||
.lp fight
|
|
||||||
Prefix key to force fight a direction.
|
|
||||||
Default is \(oqF\(cq.
|
|
||||||
.lp fight.numpad
|
|
||||||
Prefix key to force fight a direction.
|
|
||||||
With
|
|
||||||
.op number_pad
|
|
||||||
only.
|
|
||||||
Default is \(oq\-\(cq.
|
|
||||||
.lp getdir.help
|
.lp getdir.help
|
||||||
When asked for a direction, the key to show the help.
|
When asked for a direction, the key to show the help.
|
||||||
Default is \(oq?\(cq.
|
Default is \(oq?\(cq.
|
||||||
@@ -4874,49 +4892,9 @@ Default is \(oqz\(cq.
|
|||||||
.lp getpos.valid.prev
|
.lp getpos.valid.prev
|
||||||
When asked for a location, the key to go to previous closest valid location.
|
When asked for a location, the key to go to previous closest valid location.
|
||||||
Default is \(oqZ\(cq.
|
Default is \(oqZ\(cq.
|
||||||
.lp nopickup
|
|
||||||
Prefix key to move without picking up items.
|
|
||||||
Default is \(oqm\(cq.
|
|
||||||
.lp redraw
|
|
||||||
Key to redraw the screen.
|
|
||||||
Default is \(oq\(haR\(cq.
|
|
||||||
.lp redraw.numpad
|
|
||||||
Key to redraw the screen.
|
|
||||||
With
|
|
||||||
.op number_pad
|
|
||||||
only.
|
|
||||||
Default is \(oq\(haL\(cq.
|
|
||||||
.lp repeat
|
.lp repeat
|
||||||
Key to repeat previous command.
|
Key to repeat previous command.
|
||||||
Default is \(oq\(haA\(cq.
|
Default is \(oq\(haA\(cq.
|
||||||
.lp reqmenu
|
|
||||||
Prefix key to request menu from some commands.
|
|
||||||
Default is \(oqm\(cq.
|
|
||||||
.lp run
|
|
||||||
Prefix key to run towards a direction.
|
|
||||||
Default is \(oqG\(cq.
|
|
||||||
.lp run.nopickup
|
|
||||||
Prefix key to run towards a direction without picking up items on the way.
|
|
||||||
Default is \(oqM\(cq.
|
|
||||||
.lp run.numpad
|
|
||||||
Prefix key to run towards a direction.
|
|
||||||
With
|
|
||||||
.op number_pad
|
|
||||||
only.
|
|
||||||
.lp ""
|
|
||||||
Default is \(oq5\(cq when number_pad is set to 1 or 3,
|
|
||||||
otherwise \(oqM-5\(cq when it is set to 2 or 4.
|
|
||||||
.lp rush
|
|
||||||
Prefix key to rush towards a direction.
|
|
||||||
Default is \(oqg\(cq.
|
|
||||||
.lp rush.numpad
|
|
||||||
Prefix key to rush towards a direction.
|
|
||||||
With
|
|
||||||
.op number_pad
|
|
||||||
only.
|
|
||||||
.lp ""
|
|
||||||
Default is \(oqM-5\(cq when number_pad is set to 1 or 3,
|
|
||||||
otherwise \(oq5\(cq when it is set to 2 or 4.
|
|
||||||
.hn 2
|
.hn 2
|
||||||
Configuring Message Types
|
Configuring Message Types
|
||||||
.pg
|
.pg
|
||||||
|
|||||||
+31
-46
@@ -1349,6 +1349,12 @@ You can set the
|
|||||||
{\it paranoid\verb+_+confirmation:quit\/}
|
{\it paranoid\verb+_+confirmation:quit\/}
|
||||||
option to require a response of ``{\tt yes}'' instead.
|
option to require a response of ``{\tt yes}'' instead.
|
||||||
%.lp
|
%.lp
|
||||||
|
\item[\tb{\#fight}]
|
||||||
|
Prefix key to force fight a direction, even if you see nothing
|
||||||
|
to fight there.
|
||||||
|
Default key is `{\tt F}', or `{\tt -}' with
|
||||||
|
{\it number\verb+_+pad\/}
|
||||||
|
%.lp
|
||||||
\item[\tb{\#fire}]
|
\item[\tb{\#fire}]
|
||||||
Fire ammunition from quiver, possibly autowielding a launcher,
|
Fire ammunition from quiver, possibly autowielding a launcher,
|
||||||
or hit with a wielded polearm.
|
or hit with a wielded polearm.
|
||||||
@@ -1546,6 +1552,11 @@ and also `{\tt \^{}L}' if {\it number\verb+_+pad\/} is on.
|
|||||||
\item[\tb{\#remove}]
|
\item[\tb{\#remove}]
|
||||||
Remove an accessory (ring, amulet, etc). Default key is `{\tt R}'.
|
Remove an accessory (ring, amulet, etc). Default key is `{\tt R}'.
|
||||||
%.lp
|
%.lp
|
||||||
|
\item[\tb{\#reqmenu}]
|
||||||
|
Prefix key to modify the behaviour or request menu from some commands.
|
||||||
|
Prevents autopickup when used with movement commands.
|
||||||
|
Default key is `{\tt m}'.
|
||||||
|
%.lp
|
||||||
\item[\tb{\#retravel}]
|
\item[\tb{\#retravel}]
|
||||||
Travel to a previously selected travel destination.
|
Travel to a previously selected travel destination.
|
||||||
Default key is `{\tt C-_}'.
|
Default key is `{\tt C-_}'.
|
||||||
@@ -1558,6 +1569,26 @@ Default key is `{\tt M-R}'.
|
|||||||
\item[\tb{\#rub}]
|
\item[\tb{\#rub}]
|
||||||
Rub a lamp or a stone. Autocompletes. Default key is `{\tt M-r}'.
|
Rub a lamp or a stone. Autocompletes. Default key is `{\tt M-r}'.
|
||||||
%.lp
|
%.lp
|
||||||
|
\item[\tb{\#run}]
|
||||||
|
Prefix key to run towards a direction.
|
||||||
|
Default key is `{\tt G}' when
|
||||||
|
{\it number\verb+_+pad\/}
|
||||||
|
is off,
|
||||||
|
`{\tt 5}' when
|
||||||
|
{\it number\verb+_+pad\/}
|
||||||
|
is set to 1~or~3,
|
||||||
|
otherwise `{\tt M-5}' when it is set to 2~or~4.
|
||||||
|
%.lp
|
||||||
|
\item[\tb{\#rush}]
|
||||||
|
Prefix key to rush towards a direction.
|
||||||
|
Default key is `{\tt g}' when
|
||||||
|
{\it number\verb+_+pad\/}
|
||||||
|
is off,
|
||||||
|
`{\tt M-5}' when
|
||||||
|
{\it number\verb+_+pad\/}
|
||||||
|
is set to 1~or~3,
|
||||||
|
otherwise `{\tt 5}' when it is set to 2~or~4.
|
||||||
|
%.lp
|
||||||
\item[\tb{\#save}]
|
\item[\tb{\#save}]
|
||||||
Save the game and exit the program.
|
Save the game and exit the program.
|
||||||
Default key is `{\tt S}'.
|
Default key is `{\tt S}'.
|
||||||
@@ -5265,13 +5296,6 @@ can only be bound to a single key.
|
|||||||
Prefix key to start a count, to repeat a command this many times.
|
Prefix key to start a count, to repeat a command this many times.
|
||||||
With {\it number\verb+_+pad\/} only. Default is~`{\tt n}'.
|
With {\it number\verb+_+pad\/} only. Default is~`{\tt n}'.
|
||||||
%.lp
|
%.lp
|
||||||
\item[{\bb{fight}}]
|
|
||||||
Prefix key to force fight a direction. Default is~`{\tt F}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{fight.numpad}}]
|
|
||||||
Prefix key to force fight a direction. With {\it number\verb+_+pad\/} only.
|
|
||||||
Default is~`{\tt -}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{getdir.help}}]
|
\item[{\bb{getdir.help}}]
|
||||||
When asked for a direction, the key to show the help. Default is~`{\tt ?}'.
|
When asked for a direction, the key to show the help. Default is~`{\tt ?}'.
|
||||||
%.lp
|
%.lp
|
||||||
@@ -5375,47 +5399,8 @@ Default is~`{\tt z}'.
|
|||||||
When asked for a location, the key to go to previous closest valid location.
|
When asked for a location, the key to go to previous closest valid location.
|
||||||
Default is~`{\tt Z}'.
|
Default is~`{\tt Z}'.
|
||||||
%.lp
|
%.lp
|
||||||
\item[{\bb{nopickup}}]
|
|
||||||
Prefix key to move without picking up items. Default is~`{\tt m}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{redraw}}]
|
|
||||||
Key to redraw the screen. Default is~`{\tt \^{}R}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{redraw.numpad}}]
|
|
||||||
Key to redraw the screen. With {\it number\verb+_+pad\/} only.
|
|
||||||
Default is~`{\tt \^{}L}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{repeat}}]
|
\item[{\bb{repeat}}]
|
||||||
Key to repeat previous command. Default is~`{\tt \^{}A}'.
|
Key to repeat previous command. Default is~`{\tt \^{}A}'.
|
||||||
%.lp
|
|
||||||
\item[{\bb{reqmenu}}]
|
|
||||||
Prefix key to request menu from some commands. Default is~`{\tt m}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{run}}]
|
|
||||||
Prefix key to run towards a direction. Default is~`{\tt G}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{run.nopickup}}]
|
|
||||||
Prefix key to run towards a direction without picking up items on the way.
|
|
||||||
Default is~`{\tt M}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{run.numpad}}]
|
|
||||||
Prefix key to run towards a direction.
|
|
||||||
With {\it number\verb+_+pad\/} only.
|
|
||||||
|
|
||||||
%.lp ""
|
|
||||||
Default is `{\tt 5}' when number_pad is set to 1~or~3,
|
|
||||||
otherwise `{\tt M-5}' when it is set to 2~or~4.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{rush}}]
|
|
||||||
Prefix key to rush towards a direction. Default is~`{\tt g}'.
|
|
||||||
%.lp
|
|
||||||
\item[{\bb{rush.numpad}}]
|
|
||||||
Prefix key to rush towards a direction.
|
|
||||||
With {\it number\verb+_+pad\/} only.
|
|
||||||
|
|
||||||
.lp ""
|
|
||||||
Default is `{\tt M-5}' when number_pad is set to 1~or~3,
|
|
||||||
otherwise `{\tt 5}' when it is set to 2~or~4.
|
|
||||||
\elist
|
\elist
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -747,6 +747,7 @@ when two or more shops share a wall and hero uses Passes_walls to carry an
|
|||||||
unpaid item from the first shop wasn't noticed
|
unpaid item from the first shop wasn't noticed
|
||||||
redo the unpaid_cost fix to handle shop items inside hero-owned container
|
redo the unpaid_cost fix to handle shop items inside hero-owned container
|
||||||
flyers shouldn't fall on arrival when going down holes or trap doors
|
flyers shouldn't fall on arrival when going down holes or trap doors
|
||||||
|
change movement keys and some special keys into extended commands
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
@@ -445,20 +445,6 @@ enum nh_keyfunc {
|
|||||||
NHKF_ESC = 0,
|
NHKF_ESC = 0,
|
||||||
NHKF_DOAGAIN,
|
NHKF_DOAGAIN,
|
||||||
|
|
||||||
NHKF_REQMENU,
|
|
||||||
|
|
||||||
/* run ... clicklook need to be in a continuous block */
|
|
||||||
NHKF_RUN, /* 'G' */
|
|
||||||
NHKF_RUN2, /* '5' or M-5 */
|
|
||||||
NHKF_RUSH, /* 'g' */
|
|
||||||
NHKF_RUSH2, /* M-5 or '5' */
|
|
||||||
NHKF_FIGHT, /* 'F' */
|
|
||||||
NHKF_FIGHT2, /* '-' */
|
|
||||||
NHKF_NOPICKUP, /* 'm' */
|
|
||||||
NHKF_RUN_NOPICKUP, /* 'M' */
|
|
||||||
|
|
||||||
NHKF_REDRAW,
|
|
||||||
NHKF_REDRAW2,
|
|
||||||
NHKF_GETDIR_SELF,
|
NHKF_GETDIR_SELF,
|
||||||
NHKF_GETDIR_SELF2,
|
NHKF_GETDIR_SELF2,
|
||||||
NHKF_GETDIR_HELP,
|
NHKF_GETDIR_HELP,
|
||||||
@@ -503,9 +489,6 @@ struct cmd {
|
|||||||
boolean pcHack_compat; /* for numpad: affects 5, M-5, and M-0 */
|
boolean pcHack_compat; /* for numpad: affects 5, M-5, and M-0 */
|
||||||
boolean phone_layout; /* inverted keypad: 1,2,3 above, 7,8,9 below */
|
boolean phone_layout; /* inverted keypad: 1,2,3 above, 7,8,9 below */
|
||||||
boolean swap_yz; /* QWERTZ keyboards; use z to move NW, y to zap */
|
boolean swap_yz; /* QWERTZ keyboards; use z to move NW, y to zap */
|
||||||
char move[N_DIRS]; /* char used for moving one step in direction */
|
|
||||||
char rush[N_DIRS];
|
|
||||||
char run[N_DIRS];
|
|
||||||
const char *dirchars; /* current movement/direction characters */
|
const char *dirchars; /* current movement/direction characters */
|
||||||
const char *alphadirchars; /* same as dirchars if !numpad */
|
const char *alphadirchars; /* same as dirchars if !numpad */
|
||||||
const struct ext_func_tab *commands[256]; /* indexed by input character */
|
const struct ext_func_tab *commands[256]; /* indexed by input character */
|
||||||
|
|||||||
@@ -199,12 +199,41 @@ extern boolean status_hilite_menu(void);
|
|||||||
|
|
||||||
/* ### cmd.c ### */
|
/* ### cmd.c ### */
|
||||||
|
|
||||||
|
extern int do_move_west(void);
|
||||||
|
extern int do_move_northwest(void);
|
||||||
|
extern int do_move_north(void);
|
||||||
|
extern int do_move_northeast(void);
|
||||||
|
extern int do_move_east(void);
|
||||||
|
extern int do_move_southeast(void);
|
||||||
|
extern int do_move_south(void);
|
||||||
|
extern int do_move_southwest(void);
|
||||||
|
extern int do_rush_west(void);
|
||||||
|
extern int do_rush_northwest(void);
|
||||||
|
extern int do_rush_north(void);
|
||||||
|
extern int do_rush_northeast(void);
|
||||||
|
extern int do_rush_east(void);
|
||||||
|
extern int do_rush_southeast(void);
|
||||||
|
extern int do_rush_south(void);
|
||||||
|
extern int do_rush_southwest(void);
|
||||||
|
extern int do_run_west(void);
|
||||||
|
extern int do_run_northwest(void);
|
||||||
|
extern int do_run_north(void);
|
||||||
|
extern int do_run_northeast(void);
|
||||||
|
extern int do_run_east(void);
|
||||||
|
extern int do_run_southeast(void);
|
||||||
|
extern int do_run_south(void);
|
||||||
|
extern int do_run_southwest(void);
|
||||||
|
extern int do_reqmenu(void);
|
||||||
|
extern int do_rush(void);
|
||||||
|
extern int do_run(void);
|
||||||
|
extern int do_fight(void);
|
||||||
extern char randomkey(void);
|
extern char randomkey(void);
|
||||||
extern void random_response(char *, int);
|
extern void random_response(char *, int);
|
||||||
extern int rnd_extcmd_idx(void);
|
extern int rnd_extcmd_idx(void);
|
||||||
extern int domonability(void);
|
extern int domonability(void);
|
||||||
extern const struct ext_func_tab *ext_func_tab_from_func(int(*)(void));
|
extern const struct ext_func_tab *ext_func_tab_from_func(int(*)(void));
|
||||||
extern char cmd_from_func(int(*)(void));
|
extern char cmd_from_func(int(*)(void));
|
||||||
|
extern char cmd_from_dir(int, int);
|
||||||
extern const char *cmdname_from_func(int(*)(void), char *, boolean);
|
extern const char *cmdname_from_func(int(*)(void), char *, boolean);
|
||||||
extern boolean redraw_cmd(char);
|
extern boolean redraw_cmd(char);
|
||||||
extern const char *levltyp_to_name(int);
|
extern const char *levltyp_to_name(int);
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
#define NOFUZZERCMD 0x20 /* fuzzer cannot execute this command */
|
#define NOFUZZERCMD 0x20 /* fuzzer cannot execute this command */
|
||||||
#define INTERNALCMD 0x40 /* only for internal use, not for user */
|
#define INTERNALCMD 0x40 /* only for internal use, not for user */
|
||||||
#define CMD_M_PREFIX 0x80 /* accepts menu prefix */
|
#define CMD_M_PREFIX 0x80 /* accepts menu prefix */
|
||||||
|
#define PREFIXCMD 0x100 /* prefix command, requires another one after it */
|
||||||
|
#define MOVEMENTCMD 0x200 /* used to move hero/cursor */
|
||||||
|
|
||||||
struct ext_func_tab {
|
struct ext_func_tab {
|
||||||
uchar key;
|
uchar key;
|
||||||
|
|||||||
@@ -987,13 +987,8 @@ use_pick_axe(struct obj *obj)
|
|||||||
downok = !!can_reach_floor(FALSE);
|
downok = !!can_reach_floor(FALSE);
|
||||||
dsp = dirsyms;
|
dsp = dirsyms;
|
||||||
for (dir = 0; dir < N_DIRS_Z; dir++) {
|
for (dir = 0; dir < N_DIRS_Z; dir++) {
|
||||||
char dirch;
|
char dirch = cmd_from_dir(dir, MV_WALK);
|
||||||
if (dir == DIR_DOWN)
|
|
||||||
dirch = cmd_from_func(dodown);
|
|
||||||
else if (dir == DIR_UP)
|
|
||||||
dirch = cmd_from_func(doup);
|
|
||||||
else
|
|
||||||
dirch = g.Cmd.move[dir];
|
|
||||||
/* filter out useless directions */
|
/* filter out useless directions */
|
||||||
if (u.uswallow) {
|
if (u.uswallow) {
|
||||||
; /* all directions are viable when swallowed */
|
; /* all directions are viable when swallowed */
|
||||||
|
|||||||
@@ -1120,6 +1120,8 @@ dodown(void)
|
|||||||
if (trap && Is_stronghold(&u.uz)) {
|
if (trap && Is_stronghold(&u.uz)) {
|
||||||
goto_hell(FALSE, TRUE);
|
goto_hell(FALSE, TRUE);
|
||||||
} else {
|
} else {
|
||||||
|
if (!trap)
|
||||||
|
u.dz = 1;
|
||||||
g.at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
|
g.at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
|
||||||
next_level(!trap);
|
next_level(!trap);
|
||||||
g.at_ladder = FALSE;
|
g.at_ladder = FALSE;
|
||||||
@@ -1173,6 +1175,7 @@ doup(void)
|
|||||||
return ECMD_OK;
|
return ECMD_OK;
|
||||||
}
|
}
|
||||||
g.at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
|
g.at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
|
||||||
|
u.dz = -1;
|
||||||
prev_level(TRUE);
|
prev_level(TRUE);
|
||||||
g.at_ladder = FALSE;
|
g.at_ladder = FALSE;
|
||||||
return ECMD_TIME;
|
return ECMD_TIME;
|
||||||
@@ -2046,7 +2049,7 @@ cmd_safety_prevention(const char *cmddesc, const char *act, int *flagcounter)
|
|||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
if (iflags.cmdassist || !(*flagcounter)++)
|
if (iflags.cmdassist || !(*flagcounter)++)
|
||||||
Sprintf(buf, " Use '%s' prefix to force %s.",
|
Sprintf(buf, " Use '%s' prefix to force %s.",
|
||||||
visctrl(g.Cmd.spkeys[NHKF_REQMENU]), cmddesc);
|
visctrl(cmd_from_func(do_reqmenu)), cmddesc);
|
||||||
Norep("%s%s", act, buf);
|
Norep("%s%s", act, buf);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-13
@@ -108,22 +108,25 @@ getpos_help(boolean force, const char *goal)
|
|||||||
char sbuf[BUFSZ];
|
char sbuf[BUFSZ];
|
||||||
boolean doing_what_is;
|
boolean doing_what_is;
|
||||||
winid tmpwin = create_nhwindow(NHW_MENU);
|
winid tmpwin = create_nhwindow(NHW_MENU);
|
||||||
int runkey = iflags.num_pad ? NHKF_RUN2 : NHKF_RUN;
|
|
||||||
int rushkey = iflags.num_pad ? NHKF_RUSH2 : NHKF_RUSH;
|
|
||||||
|
|
||||||
Sprintf(sbuf,
|
Sprintf(sbuf,
|
||||||
"Use '%s', '%s', '%s', '%s' to move the cursor to %s.", /* hjkl */
|
"Use '%s', '%s', '%s', '%s' to move the cursor to %s.", /* hjkl */
|
||||||
visctrl(g.Cmd.move[DIR_W]), visctrl(g.Cmd.move[DIR_S]),
|
visctrl(cmd_from_func(do_move_west)),
|
||||||
visctrl(g.Cmd.move[DIR_N]), visctrl(g.Cmd.move[DIR_E]), goal);
|
visctrl(cmd_from_func(do_move_south)),
|
||||||
|
visctrl(cmd_from_func(do_move_north)),
|
||||||
|
visctrl(cmd_from_func(do_move_east)), goal);
|
||||||
putstr(tmpwin, 0, sbuf);
|
putstr(tmpwin, 0, sbuf);
|
||||||
Sprintf(sbuf,
|
Sprintf(sbuf,
|
||||||
"Use '%s', '%s', '%s', '%s' to fast-move the cursor, %s.",
|
"Use '%s', '%s', '%s', '%s' to fast-move the cursor, %s.",
|
||||||
visctrl(g.Cmd.run[DIR_W]), visctrl(g.Cmd.run[DIR_S]),
|
visctrl(cmd_from_func(do_run_west)),
|
||||||
visctrl(g.Cmd.run[DIR_N]), visctrl(g.Cmd.run[DIR_E]),
|
visctrl(cmd_from_func(do_run_south)),
|
||||||
|
visctrl(cmd_from_func(do_run_north)),
|
||||||
|
visctrl(cmd_from_func(do_run_east)),
|
||||||
fastmovemode[iflags.getloc_moveskip]);
|
fastmovemode[iflags.getloc_moveskip]);
|
||||||
putstr(tmpwin, 0, sbuf);
|
putstr(tmpwin, 0, sbuf);
|
||||||
Sprintf(sbuf, "(or prefix normal move with '%s' or '%s' to fast-move)",
|
Sprintf(sbuf, "(or prefix normal move with '%s' or '%s' to fast-move)",
|
||||||
visctrl(g.Cmd.spkeys[runkey]), visctrl(g.Cmd.spkeys[rushkey]));
|
visctrl(cmd_from_func(do_run)),
|
||||||
|
visctrl(cmd_from_func(do_rush)));
|
||||||
putstr(tmpwin, 0, sbuf);
|
putstr(tmpwin, 0, sbuf);
|
||||||
putstr(tmpwin, 0, "Or enter a background symbol (ex. '<').");
|
putstr(tmpwin, 0, "Or enter a background symbol (ex. '<').");
|
||||||
Sprintf(sbuf, "Use '%s' to move the cursor on yourself.",
|
Sprintf(sbuf, "Use '%s' to move the cursor on yourself.",
|
||||||
@@ -698,8 +701,6 @@ getpos(coord *ccp, boolean force, const char *goal)
|
|||||||
schar udx = u.dx, udy = u.dy, udz = u.dz;
|
schar udx = u.dx, udy = u.dy, udz = u.dz;
|
||||||
int dx, dy;
|
int dx, dy;
|
||||||
boolean rushrun = FALSE;
|
boolean rushrun = FALSE;
|
||||||
int runkey = iflags.num_pad ? NHKF_RUN2 : NHKF_RUN;
|
|
||||||
int rushkey = iflags.num_pad ? NHKF_RUSH2 : NHKF_RUSH;
|
|
||||||
|
|
||||||
for (i = 0; i < SIZE(pick_chars_def); i++)
|
for (i = 0; i < SIZE(pick_chars_def); i++)
|
||||||
pick_chars[i] = g.Cmd.spkeys[pick_chars_def[i].nhkf];
|
pick_chars[i] = g.Cmd.spkeys[pick_chars_def[i].nhkf];
|
||||||
@@ -757,7 +758,7 @@ getpos(coord *ccp, boolean force, const char *goal)
|
|||||||
result = -1;
|
result = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (c == g.Cmd.spkeys[runkey] || c == g.Cmd.spkeys[rushkey]) {
|
if (c == cmd_from_func(do_run) || c == cmd_from_func(do_rush)) {
|
||||||
c = readchar_poskey(&tx, &ty, &sidx);
|
c = readchar_poskey(&tx, &ty, &sidx);
|
||||||
rushrun = TRUE;
|
rushrun = TRUE;
|
||||||
}
|
}
|
||||||
@@ -974,9 +975,11 @@ getpos(coord *ccp, boolean force, const char *goal)
|
|||||||
if (!force)
|
if (!force)
|
||||||
Strcpy(note, "aborted");
|
Strcpy(note, "aborted");
|
||||||
else /* hjkl */
|
else /* hjkl */
|
||||||
Sprintf(note, "use '%c', '%c', '%c', '%c' or '%s'",
|
Sprintf(note, "use '%s', '%s', '%s', '%s' or '%s'",
|
||||||
g.Cmd.move[DIR_W], g.Cmd.move[DIR_S],
|
visctrl(cmd_from_func(do_move_west)),
|
||||||
g.Cmd.move[DIR_N], g.Cmd.move[DIR_E],
|
visctrl(cmd_from_func(do_move_south)),
|
||||||
|
visctrl(cmd_from_func(do_move_north)),
|
||||||
|
visctrl(cmd_from_func(do_move_east)),
|
||||||
visctrl(g.Cmd.spkeys[NHKF_GETPOS_PICK]));
|
visctrl(g.Cmd.spkeys[NHKF_GETPOS_PICK]));
|
||||||
pline("Unknown direction: '%s' (%s).", visctrl((char) c),
|
pline("Unknown direction: '%s' (%s).", visctrl((char) c),
|
||||||
note);
|
note);
|
||||||
|
|||||||
Reference in New Issue
Block a user