monpolycontrol, wizdebug_*

Demote #monpolycontrol and #wizdebug_traveldisplay from commands to
simple boolean options.  The former has the same name, the latter
is called travel_debug.  Rename #wizdebug_bury to #wizbury; it
shouldn't matter that it goes away when compiled without DEBUG.

There are now five wizard-mode boolean options:  monpolycontrol,
sanity_check, and wizweight are documented in the Guidebook;
menu_tab_sep and travel_debug are commented out there.

Guidebook.mn has been tested; Guidebook.tex has not.
This commit is contained in:
PatR
2018-09-26 18:40:13 -07:00
parent c5d0f6dd9d
commit e0b7d2f5a9
8 changed files with 57 additions and 54 deletions

View File

@@ -11,7 +11,6 @@ Debug-Mode Quick Reference:
#levelchange == set hero's experience level
#lightsources == show mobile light sources
#monpolycontrol == control monster polymorphs
#panic == panic test (warning: current game will be terminated)
#polyself == polymorph self
#seenv == show seen vectors
@@ -27,3 +26,7 @@ Debug-Mode Quick Reference:
#wizwhere == show dungeon placement of all special levels
#wmode == show wall modes
Options:
monpolycontrol == prompt for new form whenever any monster changes shape
sanity_check == evaluate monsters, objects, and map prior to each turn
wizweight == augment object descriptions with their objects' weight

View File

@@ -21,7 +21,7 @@
.ds vr "NetHack 3.6
.ds f0 "\*(vr
.ds f1
.ds f2 "August 30, 2018
.ds f2 "September 26, 2018
.
.\" labeled paragraph start (should be part of tmac.n, but I don't want to
.\" make changes to that file)
@@ -1121,10 +1121,6 @@ and go directly to removing a saddle.
Default key is 'M-l', and 'l' if
.op number_pad
is on.
.lp #monpolycontrol
Control monster polymorphs.
Autocompletes.
Debug mode only.
.lp #monster
Use a monster's special ability (when polymorphed into monster form).
Autocompletes. Default key is 'M-m'.
@@ -1316,14 +1312,10 @@ Show what type of thing a symbol corresponds to. Default key is '/'.
Wield a weapon. Default key is 'w'.
.lp #wipe
Wipe off your face. Autocompletes. Default key is 'M-w'.
.lp #wizdebug_bury
.lp #wizbury
Bury objects under and around you.
Autocompletes.
Debug mode only.
.lp #wizdebug_traveldisplay
Toggle travel display.
Autocompletes.
Debug mode only.
.lp #wizdetect
Search for hidden things (secret doors or traps or unseen monsters)
within a modest radius.
@@ -2895,6 +2887,13 @@ Default '.'.
Menu character accelerator to select all items on this page of a menu.
Implemented by the Amiga, Gem and tty ports.
Default ','.
." .lp menu_tab_sep
." Format menu entries using TAB to separate columns (default off).
." Only applicable to some menus, and only useful to some interfaces.
." Debug mode only.
.lp monpolycontrol
Prompt for new form whenever any monster changes shape (default off).
Debug mode only.
.lp msghistory
The number of top line messages to save (and recall with ^P) (default 20).
Cannot be set with the `O' command.
@@ -3100,6 +3099,9 @@ used `teleport' only. Whether or not the effect is noticeable will
depend upon the window port used or on the type of terminal. Persistent.
.lp safe_pet
Prevent you from (knowingly) attacking your pets (default on). Persistent.
.lp sanity_check
Evaluate monsters, objects, and map prior to each turn (default off).
Debug mode only.
.lp scores
Control what parts of the score list you are shown at the end (ex.
``scores:5 top scores/4 around my score/own scores''). Only the first
@@ -3172,6 +3174,9 @@ the score list around after game end on a terminal or emulating window.
Allow the travel command (default on). Turning this option off will
prevent the game from attempting unintended moves if you make inadvertent
mouse clicks on the map window. Persistent.
." .lp travel_debug
." Display intended path during each step of travel (default off).
." Debug mode only.
.lp verbose
Provide more commentary during the game (default on). Persistent.
.lp whatis_coord
@@ -3227,6 +3232,9 @@ move by skipping the same glyphs.
Select which windowing system to use, such as ``tty'' or ``X11''
(default depends on version).
Cannot be set with the `O' command.
.lp wizweight
Augment object descriptions with their objects' weight (default off).
Debug mode only.
.lp zerocomp
When writing out a save file, perform zero-comp compression of the
contents. Not all ports support zero-comp compression. It has no effect

View File

@@ -45,7 +45,7 @@
%.au
\author{Original version - Eric S. Raymond\\
(Edited and expanded for 3.6 by Mike Stephenson and others)}
\date{August 30, 2018}
\date{September 26, 2018}
\maketitle
@@ -1244,11 +1244,6 @@ Default key is '{\tt M-l}', and '{\tt l}' if {\it number\verb+_+pad\/} is on.
Precede with the `{\tt m}' prefix to skip containers at your location
and go directly to removing a saddle.
%.lp
\item[\tb{\#monpolycontrol}]
Control monster polymorphs.
Autocompletes.
Debug mode only.
%.lp
\item[\tb{\#monster}]
Use a monster's special ability (when polymorphed into monster form).
Autocompletes. Default key is '{\tt M-m}'.
@@ -1494,16 +1489,11 @@ Wield a weapon. Default key is '{\tt w}'.
\item[\tb{\#wipe}]
Wipe off your face. Autocompletes. Default key is '{\tt M-w}'.
%.lp
\item[\tb{\#wizdebug\verb+_+bury}]
\item[\tb{\#wizbury}]
Bury objects under and around you.
Autocompletes.
Debug mode only.
%.lp
\item[\tb{\#wizdebug\verb+_+traveldisplay}]
Toggle travel display.
Autocompletes.
Debug mode only.
%.lp
\item[\tb{\#wizdetect}]
Search for hidden things (secret doors or traps or unseen monsters)
within a modest radius.
@@ -3370,6 +3360,15 @@ Default `.'.
Menu character accelerator to select all items on this page of a menu.
Implemented by the Amiga, Gem and tty ports.
Default `,'.
% %.lp
% \item[\ib{menu\verb+_+tab\verb+_+sep}]
% Format menu entries using TAB to separate columns (default off).
% Only applicable to some menus, and only useful to some interfaces.
% Debug mode only.
%.lp
\item[\ib{monpolycontrol}]
Prompt for new form whenever any monster changes shape (default off).
Debug mode only.
%.lp
\item[\ib{msghistory}]
The number of top line messages to save (and recall with `{\tt \^{}P}')
@@ -3608,6 +3607,10 @@ depend upon the window port used or on the type of terminal. Persistent.
%.lp
\item[\ib{safe\verb+_+pet}]
Prevent you from (knowingly) attacking your pets (default on). Persistent.
%+.lp
\item[\ib{sanity\verb+_+check}]
+Evaluate monsters, objects, and map prior to each turn (default off).
+Debug mode only.
%.lp
\item[\ib{scores}]
Control what parts of the score list you are shown at the end (ex.\
@@ -3698,6 +3701,10 @@ the score list around after game end on a terminal or emulating window.
Allow the travel command (default on). Turning this option off will
prevent the game from attempting unintended moves if you make inadvertent
mouse clicks on the map window. Persistent.
% %.lp
% \item[ib{travel\verb+_+debug}]
% Display intended path during each step of travel (default off).
% Debug mode only.
%.lp
\item[\ib{verbose}]
Provide more commentary during the game (default on). Persistent.
@@ -3766,6 +3773,10 @@ Select which windowing system to use, such as ``{\tt tty}'' or ``{\tt X11}''
(default depends on version).
Cannot be set with the `{\tt O}' command.
%.lp
\item[\ib{wizweight}]
Augment object descriptions with their objects' weight (default off).
Debug mode only.
%.lp
\item[\ib{zerocomp}]
When writing out a save file, perform zero-comp compression of the
contents. Not all ports support zero-comp compression. It has no effect

View File

@@ -229,6 +229,9 @@ wizard mode #wizidentify can now select individual items for permanent
identify everything if everything is already fully identified
spiders will occasionally spin webs when moving around
make mine town "orctown" variation a multiple level feature of the mines
replace #monpolycontrol command with monpolycontrol boolean option
replace #wizdebug_traveldisplay command with travel_debug boolean option
rename #wizdebug_bury command to #wizbury
Code Cleanup and Reorganization

View File

@@ -257,6 +257,7 @@ struct instance_flags {
boolean getloc_usemenu;
boolean getloc_moveskip;
coord travelcc; /* coordinates for travel_cache */
boolean trav_debug; /* display travel path (#if DEBUG only) */
boolean window_inited; /* true if init_nhwindows() completed */
boolean vision_inited; /* true if vision is ready */
boolean sanity_check; /* run sanity checks */

View File

@@ -47,7 +47,6 @@ extern const char *enc_stat[]; /* encumbrance status from botl.c */
#ifdef DEBUG
extern int NDECL(wiz_debug_cmd_bury);
extern int NDECL(wiz_debug_cmd_traveldisplay);
#endif
#ifdef DUMB /* stuff commented out in extern.h, but needed here */
@@ -154,7 +153,6 @@ STATIC_PTR int NDECL(wiz_show_seenv);
STATIC_PTR int NDECL(wiz_show_vision);
STATIC_PTR int NDECL(wiz_smell);
STATIC_PTR int NDECL(wiz_intrinsic);
STATIC_PTR int NDECL(wiz_mon_polycontrol);
STATIC_PTR int NDECL(wiz_show_wmodes);
STATIC_DCL void NDECL(wiz_map_levltyp);
STATIC_DCL void NDECL(wiz_levltyp_legend);
@@ -878,16 +876,6 @@ wiz_level_tele(VOID_ARGS)
return 0;
}
/* #monpolycontrol command - choose new form for shapechangers, polymorphees */
STATIC_PTR int
wiz_mon_polycontrol(VOID_ARGS)
{
iflags.mon_polycontrol = !iflags.mon_polycontrol;
pline("Monster polymorph control is %s.",
iflags.mon_polycontrol ? "on" : "off");
return 0;
}
/* #levelchange command - adjust hero's experience level */
STATIC_PTR int
wiz_level_change(VOID_ARGS)
@@ -3062,8 +3050,6 @@ struct ext_func_tab extcmdlist[] = {
{ '\0', "migratemons", "migrate N random monsters",
wiz_migrate_mons, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
#endif
{ '\0', "monpolycontrol", "control monster polymorphs",
wiz_mon_polycontrol, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
{ M('m'), "monster", "use monster's special ability",
domonability, IFBURIED | AUTOCOMPLETE },
{ 'N', "name", "name a monster or an object",
@@ -3166,10 +3152,8 @@ struct ext_func_tab extcmdlist[] = {
{ 'w', "wield", "wield (put in use) a weapon", dowield },
{ M('w'), "wipe", "wipe off your face", dowipe, AUTOCOMPLETE },
#ifdef DEBUG
{ '\0', "wizdebug_bury", "wizard debug: bury objs under and around you",
{ '\0', "wizbury", "bury objs under and around you",
wiz_debug_cmd_bury, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
{ '\0', "wizdebug_traveldisplay", "wizard debug: toggle travel display",
wiz_debug_cmd_traveldisplay, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
#endif
{ C('e'), "wizdetect", "reveal hidden things within a small radius",
wiz_detect, IFBURIED | AUTOCOMPLETE | WIZMODECMD },

View File

@@ -897,17 +897,6 @@ int mode;
return TRUE;
}
#ifdef DEBUG
static boolean trav_debug = FALSE;
/* in this case, toggle display of travel debug info */
int wiz_debug_cmd_traveldisplay()
{
trav_debug = !trav_debug;
return 0;
}
#endif /* DEBUG */
/*
* Find a path from the destination (u.tx,u.ty) back to (u.ux,u.uy).
* A shortest path is returned. If guess is TRUE, consider various
@@ -1065,7 +1054,7 @@ int mode;
}
#ifdef DEBUG
if (trav_debug) {
if (iflags.trav_debug) {
/* Use of warning glyph is arbitrary. It stands out. */
tmp_at(DISP_ALL, warning_to_glyph(1));
for (i = 0; i < nn; ++i) {
@@ -1121,7 +1110,7 @@ int mode;
goto found;
}
#ifdef DEBUG
if (trav_debug) {
if (iflags.trav_debug) {
/* Use of warning glyph is arbitrary. It stands out. */
tmp_at(DISP_ALL, warning_to_glyph(2));
tmp_at(px, py);

View File

@@ -160,6 +160,7 @@ static struct Bool_Opt {
#else
{ "menu_overlay", (boolean *) 0, FALSE, SET_IN_FILE },
#endif
{ "monpolycontrol", &iflags.mon_polycontrol, FALSE, SET_IN_WIZGAME },
{ "mouse_support", &iflags.wc_mouse_support, TRUE, DISP_IN_GAME }, /*WC*/
#ifdef NEWS
{ "news", &iflags.news, TRUE, DISP_IN_GAME },
@@ -173,7 +174,7 @@ static struct Bool_Opt {
#else
{ "page_wait", (boolean *) 0, FALSE, SET_IN_FILE },
#endif
/* 3.6.2: move perm_invent from flags to inflags and out of save file */
/* 3.6.2: move perm_invent from flags to iflags and out of save file */
{ "perm_invent", &iflags.perm_invent, FALSE, SET_IN_GAME },
{ "pickup_thrown", &flags.pickup_thrown, TRUE, SET_IN_GAME },
{ "popup_dialog", &iflags.wc_popup_dialog, FALSE, SET_IN_GAME }, /*WC*/
@@ -221,6 +222,9 @@ static struct Bool_Opt {
{ "tombstone", &flags.tombstone, TRUE, SET_IN_GAME },
{ "toptenwin", &iflags.toptenwin, FALSE, SET_IN_GAME },
{ "travel", &flags.travelcmd, TRUE, SET_IN_GAME },
#ifdef DEBUG
{ "travel_debug", &iflags.trav_debug, FALSE, SET_IN_WIZGAME }, /*hack.c*/
#endif
{ "use_darkgray", &iflags.wc2_darkgray, TRUE, SET_IN_FILE },
#ifdef WIN32
{ "use_inverse", &iflags.wc_inverse, TRUE, SET_IN_GAME }, /*WC*/