From 516af11dc7e8ae2455b6e8eb66baae508f8da866 Mon Sep 17 00:00:00 2001 From: PatR Date: Mon, 30 Nov 2020 16:16:14 -0800 Subject: [PATCH] reduce the number of #seeXYZ commands Noticed while working on Qt's extended command handling, there are an awful lot of "seeXYZ" commands. Keep the inventory display ones (named versions of ')' to show wielded weapon(s), '[' for worn armor, '"' for worn amulet, &c) and rename the others: | #seenv -> #wizseenv debugging command | #seespells -> #showspells '+' command | #seetrap -> #showtrap '^' command Also, expand the descriptions of #shell and #suspend a bit in the Guidebook. LaTeX version is untested. --- dat/wizhelp | 2 +- doc/Guidebook.mn | 39 +++++++++++++++++++++++++-------------- doc/Guidebook.tex | 44 ++++++++++++++++++++++++++++++-------------- doc/fixes37.0 | 5 ++++- src/cmd.c | 12 ++++++------ 5 files changed, 66 insertions(+), 36 deletions(-) diff --git a/dat/wizhelp b/dat/wizhelp index 46b46dd52..0237b1a3c 100644 --- a/dat/wizhelp +++ b/dat/wizhelp @@ -13,7 +13,6 @@ Debug-Mode Quick Reference: #lightsources == show mobile light sources #panic == panic test (warning: current game will be terminated) #polyself == polymorph self -#seenv == show seen vectors #stats == show memory statistics #terrain == show current level (more options than in normal play) #timeout == look at timeout queue and hero's timed intrinsics @@ -25,6 +24,7 @@ Debug-Mode Quick Reference: #wizmakemap == recreate the current dungeon level #wizrumorcheck == validate rumor indexing; also show first, second, and last random engravings, epitaphs, and hallucinatory monsters +#wizseenv == show map locations' seen vectors #wizsmell == smell a monster #wizwhere == show dungeon placement of all special levels #wmode == show wall modes diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index 6a0366a73..82880c6d1 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -1,4 +1,4 @@ -.\" $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.400 $ $NHDT-Date: 1606328499 2020/11/25 18:21:39 $ +.\" $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.402 $ $NHDT-Date: 1606781766 2020/12/01 00:16:06 $ .\" .\" This is an excerpt from the 'roff' man page from the 'groff' package. .\" Guidebook.mn currently does *not* fully adhere to these guidelines. @@ -35,7 +35,7 @@ .ds vr "NetHack 3.7 .ds f0 "\*(vr .ds f1 -.ds f2 "November 25, 2020 +.ds f2 "November 30, 2020 . .\" A note on some special characters: .\" \(lq = left double quote @@ -1005,6 +1005,7 @@ Suspend the game .\" .UX: print "UNIX" now and a trademark footnote at bottom of current page; .\" 2nd arg (literal '(') _precedes_ it, 1st arg (quoted string) follows it .UX " versions with job control only)." ( +See \(lq#suspend\(rq below for more details. .lp : Look at what is here. .lp ; @@ -1058,6 +1059,7 @@ Show what types of objects have been discovered. Show discovered types for one class of objects. .lp ! Escape to a shell. +See \(lq#shell\(rq below for more details. .lp # Perform an extended command. .lp "" @@ -1388,28 +1390,28 @@ Default key is \(oq[\(cq. .lp "#seegold " Count your gold. Default key is \(oq$\(cq. -.lp "#seenv " -Show seen vectors. -Autocompletes. -Debug mode only. .lp #seerings Show the ring(s) currently worn. Default key is \(oq=\(cq. -.lp #seespells -List and reorder known spells. -Default key is \(oq+\(cq. .lp #seetools Show the tools currently in use. Default key is \(oq(\(cq. -.lp "#seetrap " -Show the type of an adjacent trap. -Default key is \(oq\(ha\(cq. \" 'hat' (circumflex character) .lp #seeweapon Show the weapon currently wielded. Default key is \(oq)\(cq. .lp "#shell " -Do a shell escape. +Do a shell escape, switching from NetHack to a subprocess. +Can be disabled at the time the program is built. +When enabled, access for specific users can be controlled by the system +configuration file. +Use the shell command \(oq\f(CRexit\fP\(cq to return to the game. Default key is \(oq!\(cq. +.lp #showspells +List and reorder known spells. +Default key is \(oq+\(cq. +.lp "#showtrap" +Show the type of an adjacent trap. +Default key is \(oq\(ha\(cq. \" 'hat' (circumflex character) .lp "#sit " Sit down. Autocompletes. @@ -1419,7 +1421,12 @@ Show memory usage statistics. Autocompletes. Debug mode only. .lp "#suspend " -Suspend the game. +Suspend the game, switching from NetHack to the terminal it was started +from without performing save-and-exit. +Can be disabled at the time the program is built. +When enabled, mainly useful for \fItty\fP and \fIcurses\fP interfaces on +.UX \. \" yields "UNIX." +Use the shell command \(oq\f(CRfg\fP\(cq to return to the game. Default key is \(oq\(haZ\(cq. .lp "#swap " Swap wielded and secondary weapons. @@ -1566,6 +1573,10 @@ and hallucinatory monsters. .lp "" Autocompletes. Debug mode only. +.lp #wizseenv +Show map locations' seen vectors. +Autocompletes. +Debug mode only. .lp #wizsmell Smell monster. Autocompletes. diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 68c0466c4..045329d68 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -45,7 +45,7 @@ %.au \author{Original version - Eric S. Raymond\\ (Edited and expanded for 3.7 by Mike Stephenson and others)} -\date{November 25, 2020} +\date{November 30, 2020} \maketitle @@ -1095,6 +1095,7 @@ Zap (cast) a spell.\\ %.lp \item[\tb{\^{}Z}] Suspend the game (UNIX versions with job control only). +See ``\#suspend'' below for more details. %.lp \item[\tb{:}] Look at what is here. @@ -1159,6 +1160,7 @@ Show discovered types for one class of objects. %.lp \item[\tb{!}] Escape to a shell. +See ``\#shell'' below for more details. %.lp \item[\tb{\#}] Perform an extended command.\\ @@ -1472,28 +1474,30 @@ Show the armor currently worn. Default key is `{\tt [}'. \item[\tb{\#seegold}] Count your gold. Default key is `{\tt \$}'. %.lp -\item[\tb{\#seenv}] -Show seen vectors. -Autocompletes. -Debug mode only. -%.lp \item[\tb{\#seerings}] Show the ring(s) currently worn. Default key is `{\tt =}'. %.lp -\item[\tb{\#seespells}] -List and reorder known spells. Default key is `{\tt +}'. -%.lp \item[\tb{\#seetools}] Show the tools currently in use. Default key is `{\tt (}'. %.lp -\item[\tb{\#seetrap}] -Show the type of an adjacent trap. Default key is `{\tt \^{}}'. -%.lp \item[\tb{\#seeweapon}] Show the weapon currently wielded. Default key is `{\tt )}'. %.lp \item[\tb{\#shell}] -Do a shell escape. Default key is `{\tt !}'. +Do a shell escape, switching from NetHack to a subprocess. +Can be disabled at the time the program is built. +When enabled, access for specific users can be controlled by the system +configuration file. +Use the shell command `{\tt exit}' to return to the game. +Default key is `{\tt !}'. +%.lp +\item[\tb{\#showspells}] +List and reorder known spells. +Default key is `{\tt +}'. +%.lp +\item[\tb{\#showtrap}] +Show the type of an adjacent trap. +Default key is `{\tt \^{}}'. %.lp \item[\tb{\#sit}] Sit down. Autocompletes. Default key is `{\tt M-s}'. @@ -1504,7 +1508,14 @@ Autocompletes. Debug mode only. %.lp \item[\tb{\#suspend}] -Suspend the game. Default key is `{\tt \^{}Z}'. +Suspend the game, switching from NetHack to the terminal it was started +from without performing save-and-exit. +Can be disabled at the time the program is built. +When enabled, mainly useful for {\it tty\/} and {\it curses\/} interfaces on +%.UX \. \" yields "UNIX." +UNIX. +Use the shell command `{\tt fg}' to return to the game. +Default key is `{\tt \^{}Z}'. %.lp \item[\tb{\#swap}] Swap wielded and secondary weapons. Default key is `{\tt x}'. @@ -1661,6 +1672,11 @@ and hallucinatory monsters.\\ Autocompletes. Debug mode only. %.lp +\item[\tb{\#wizseenv}] +Show map locations' seen vectors. +Autocompletes. +Debug mode only. +%.lp \item[\tb{\#wizsmell}] Smell monster. Autocompletes. diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 90c6c6799..0fc0401a4 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -1,4 +1,4 @@ -NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.368 $ $NHDT-Date: 1606765210 2020/11/30 19:40:10 $ +NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.369 $ $NHDT-Date: 1606781767 2020/12/01 00:16:07 $ General Fixes and Modified Features ----------------------------------- @@ -314,6 +314,8 @@ throwing or kicking a shop container (that's light enough to move) made the try to fix message sequencing for tame golems that "roast/rot/rust in peace" autodescribe when moving the cursor was erroneously honoring MSGTYPE=stop and potentially delivering sounds +reduce the number of "seeXYZ" commands by renaming some: #seenv -> #wizseenv, + #seespells -> #showspells, and #seetrap -> #showtrap Fixes to 3.7.0-x Problems that Were Exposed Via git Repository @@ -404,6 +406,7 @@ tins of spinach and 'dead' eggs could cause out of array bounds access options help ('? g') listed all boolean options, then repeated them among the compound options; on OSX they showed a description of "(null)" but for other sprintf implementations they might cause a crash +change name of #wizlevelflip to #wizfliplevel curses: 'msg_window' option wasn't functional for curses unless the binary also included tty support diff --git a/src/cmd.c b/src/cmd.c index ac1f1e21a..d4d999ef7 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1,4 +1,4 @@ -/* NetHack 3.7 cmd.c $NHDT-Date: 1605779800 2020/11/19 09:56:40 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.425 $ */ +/* NetHack 3.7 cmd.c $NHDT-Date: 1606781767 2020/12/01 00:16:07 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.426 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1874,15 +1874,10 @@ struct ext_func_tab extcmdlist[] = { { ARMOR_SYM, "seearmor", "show the armor currently worn", doprarm, IFBURIED }, { GOLD_SYM, "seegold", "count your gold", doprgold, IFBURIED }, - { '\0', "seenv", "show seen vectors", - wiz_show_seenv, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, { RING_SYM, "seerings", "show the ring(s) currently worn", doprring, IFBURIED }, - { SPBOOK_SYM, "seespells", "list and reorder known spells", - dovspell, IFBURIED }, { TOOL_SYM, "seetools", "show the tools currently in use", doprtool, IFBURIED }, - { '^', "seetrap", "show the type of adjacent trap", doidtrap, IFBURIED }, { WEAPON_SYM, "seeweapon", "show the weapon currently wielded", doprwep, IFBURIED }, { '!', "shell", "do a shell escape", @@ -1891,6 +1886,9 @@ struct ext_func_tab extcmdlist[] = { | CMD_NOT_AVAILABLE #endif /* SHELL */ }, + { SPBOOK_SYM, "showspells", "list and reorder known spells", + dovspell, IFBURIED }, + { '^', "showtrap", "show the type of adjacent trap", doidtrap, IFBURIED }, { M('s'), "sit", "sit down", dosit, AUTOCOMPLETE }, { '\0', "stats", "show memory statistics", wiz_show_stats, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, @@ -1963,6 +1961,8 @@ struct ext_func_tab extcmdlist[] = { wiz_map, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, { '\0', "wizrumorcheck", "verify rumor boundaries", wiz_rumor_check, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, + { '\0', "wizseenv", "show map locations' seen vectors", + wiz_show_seenv, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, { '\0', "wizsmell", "smell monster", wiz_smell, IFBURIED | AUTOCOMPLETE | WIZMODECMD }, { '\0', "wizwhere", "show locations of special levels",