^ Show the type of a trap
-^[ Cancel command
+^[ Cancel command (same as ESCape key)
^A Redo the previous command
^C Quit the game
^D Kick something (usually a door, chest, or box)
^F Map the level (available in debug mode only)
^G Create a monster (available in debug mode only)
^I Identify all items (available in debug mode only)
-^O Show location of special levels (available in debug mode only)
+^O Show dungeon overview (normal play) or special levels (debug mode)
^P Toggle through previously displayed game messages
^R Redraw screen
^T Teleport around level
The available options
are listed later in this Guidebook. Options are usually set before the
game rather than with the `O' command; see the section on options below.
+.lp ^O
+Show overview or show dungeon layout
+.lp ""
+In normal play and in explore mode, a shortcut for the ``#overview''
+extended command to list interesting dungeon levels visited.
+.lp ""
+In debug mode, an extra command which lists the placement of all special
+levels.
.lp p
Pay your shopping bill.
.lp P
are listed later in this Guidebook. Options are usually set before the
game rather than with the `{\tt O}' command; see the section on options below.
%.lp
+\item[\tb{\^{}O}]
+Show overview or show dungeon layout\\
+%.lp ""
+In normal play and in explore mode, a shortcut for the ``{\tt \#overview}''
+extended command to list interesting dungeon levels visited.\\
+%.lp ""
+In debug mode, an extra command which lists the placement of all special
+levels.
+%.lp
\item[\tb{p}]
Pay your shopping bill.
%.lp
char sym;
const char *msg;
{
+ static const char wiz_only_list[] = "EFGIVW";
char ctrl;
winid win;
- static const char wiz_only_list[] = "EFGIOVW";
char buf[BUFSZ], buf2[BUFSZ], *explain;
win = create_nhwindow(NHW_TEXT);
putstr(win, 0, buf);
putstr(win, 0, "");
}
- if (letter(sym)) {
- sym = highc(sym);
- ctrl = (sym - 'A') + 1;
- if ((explain = dowhatdoes_core(ctrl, buf2))
+ if (letter(sym) || sym == '[') { /* 'dat/cmdhelp' shows ESC as ^[ */
+ sym = highc(sym); /* @A-Z[ (note: letter() accepts '@') */
+ ctrl = (sym - 'A') + 1; /* 0-27 (note: 28-31 aren't applicable) */
+ if ((explain = dowhatdoes_core(ctrl, buf2)) != 0
&& (!index(wiz_only_list, sym) || wizard)) {
Sprintf(buf, "Are you trying to use ^%c%s?", sym,
index(wiz_only_list, sym)
putstr(win, 0, "");
putstr(win, 0, explain);
putstr(win, 0, "");
- putstr(win, 0, "To use that command, you press");
- Sprintf(buf, "the <Ctrl> key, and the <%c> key at the same time.",
- sym);
+ putstr(win, 0,
+ "To use that command, hold down the <Ctrl> key as a shift");
+ Sprintf(buf, "and press the <%c> key.", sym);
putstr(win, 0, buf);
putstr(win, 0, "");
}