]> granicus.if.org Git - nethack/commitdiff
'^O' command documentation and '^' command help
authorPatR <rankin@nethack.org>
Fri, 27 May 2016 01:35:27 +0000 (18:35 -0700)
committerPatR <rankin@nethack.org>
Fri, 27 May 2016 01:35:27 +0000 (18:35 -0700)
While looking for things in core which might conceivably trigger the
Windows ctype assertion failure (haven't found any yet), I noticed
that help_dir() was still treating ^O as a wizard mode-only command.
Also, documentation about that command was never brought up to date.

I wish this change to ^O hadn't been done.  #overview already has
a meta/alt M-O shortcut and overloading wizard mode commands makes
documentation more complicated since wizard mode stuff traditionally
has been left unmentioned.

dat/cmdhelp
doc/Guidebook.mn
doc/Guidebook.tex
src/cmd.c

index b82560099135dd4320a6e9e7bb0c68b584c22f2b..ed3f76107002bad8baf1a8674c961c94b4fb5131 100644 (file)
@@ -1,5 +1,5 @@
 ^       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)
@@ -7,7 +7,7 @@
 ^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
index 977cad2a6efb8f9c2321bec61cbaebac6ed50fcc..1666c19c5f09952e3d66f7d1a61af45d9e9230c3 100644 (file)
@@ -691,6 +691,14 @@ a further menu or prompt will appear once you've closed this menu.
 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
index b66e5466c2cdb18742a535926b5a9f72af6aaa7d..45e01089384f7436d9109863fd9496226f15c5b3 100644 (file)
@@ -835,6 +835,15 @@ The available options
 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
index 80dbcd0f405d44c4bb508d976098418442f710f5..b4e1266046092eeba2eb702ee5937f02798ecc17 100644 (file)
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -3794,9 +3794,9 @@ help_dir(sym, msg)
 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);
@@ -3807,10 +3807,10 @@ const char *msg;
         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)
@@ -3820,9 +3820,9 @@ const char *msg;
             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, "");
         }