Merge branch 'gbr-NetHack-5.0-man-page-fixes' of https://github.com/g-branden-robinson/NetHack into g-branden-robinson-gbr-NetHack-5.0-man-page-fixes

This commit is contained in:
nhmall
2026-05-06 21:25:06 -04:00
5 changed files with 579 additions and 452 deletions
+19 -10
View File
@@ -11,6 +11,8 @@
.. ..
.NB $NHDT-Branch: keni-gitset $ .NB $NHDT-Branch: keni-gitset $
.NR $NHDT-Revision: 1.13 $ .NR $NHDT-Revision: 1.13 $
.ie \n(.g .ds ^ \(ha
.el .ds ^ ^
.\" groff and AT&T-descended troffs use different hyphenation patterns. .\" groff and AT&T-descended troffs use different hyphenation patterns.
.\" Don't hyphenate the last word on a page or column, or .\" Don't hyphenate the last word on a page or column, or
.\" before/after last/first 2 characters of a word. .\" before/after last/first 2 characters of a word.
@@ -38,7 +40,7 @@ dlb \- NetHack data librarian
}\c }\c
.RB [ v ]\c .RB [ v ]\c
.B I .B I
.IR list-file .I list-file
.PP .PP
.B dlb .B dlb
{\c {\c
@@ -69,18 +71,18 @@ Unlike
is configured with a default set of file names to process. is configured with a default set of file names to process.
.ig .ig
.PP .PP
^?ALLDOCS \*^?ALLDOCS
This facility is optional and may be excluded during NetHack This facility is optional and may be excluded during NetHack
configuration. configuration.
^: \*^:
^?DLB \*^?DLB
This facility is optional but is included in this NetHack This facility is optional but is included in this NetHack
configuration. configuration.
^: \*^:
This facility is optional and was excluded from this NetHack This facility is optional and was excluded from this NetHack
configuration. configuration.
^. \*^.
^. \*^.
.. ..
.SS Operations .SS Operations
.B c .B c
@@ -144,7 +146,7 @@ Kenneth Lorber
Not a good Not a good
.I tar .I tar
emulation; emulation;
.B - .B \-
does not mean stdin or stdout. does not mean stdin or stdout.
.IP \(bu .IP \(bu
Should include an optional compression facility. Should include an optional compression facility.
@@ -152,5 +154,12 @@ Should include an optional compression facility.
Not all read-only files for NetHack can be read out of an archive; Not all read-only files for NetHack can be read out of an archive;
examining the source is the only way to know which files can be. examining the source is the only way to know which files can be.
.SH COPYRIGHT .SH COPYRIGHT
This file is Copyright (C) \*(Na, \*(Nd for version \*(Nb:\*(Nr. .\" All troffs and nroffs support `\(co` except Plan 9 nroff, but Plan 9
NetHack may be freely redistributed. See license for details. .\" offers no test for special character availability, and its feature
.\" set too closely resembles DWB 3.3 to test for it. Use a string with
.\" any nroff-mode formatter not claiming groff compatiblity.
.ds co \(co
.if !\n(.g .if n .ds co (C)\" in principle, should be just "c"
This file is Copyright \*(co \*(Na, \*(Nd for version \*(Nb:\*(Nr.
NetHack may be freely redistributed.
See license for details.
+120 -116
View File
@@ -10,6 +10,8 @@
.. ..
.NB $NHDT-Branch: NetHack-5 $ .NB $NHDT-Branch: NetHack-5 $
.NR $NHDT-Revision: 1.22 $ .NR $NHDT-Revision: 1.22 $
.ie \n(.g .ds ^ \(ha
.el .ds ^ ^
.\" groff and AT&T-descended troffs use different hyphenation patterns. .\" groff and AT&T-descended troffs use different hyphenation patterns.
.\" Don't hyphenate the last word on a page or column, or .\" Don't hyphenate the last word on a page or column, or
.\" before/after last/first 2 characters of a word. .\" before/after last/first 2 characters of a word.
@@ -20,80 +22,73 @@
makedefs \- NetHack miscellaneous build-time functions makedefs \- NetHack miscellaneous build-time functions
.SH SYNOPSIS .SH SYNOPSIS
.B makedefs .B makedefs
{ {\c
.B -o .BR \-o |\c
| .BR \-d |\c
.B -d .BR \-e |\c
| .BR \-m |\c
.B -e .BR \-v |\c
| .BR \-p |\c
.B -m .BR \-q |\c
| .BR \-r |\c
.B -v .B \-h\c
|
.B -p
|
.B -q
|
.B -r
|
.B -h
} }
.P .P
.B makedefs --input .B makedefs \-\-input
.I file .I file
.B --output .B \-\-output
.I file .I file
.BI -- command .BI \-\- command
.SH DESCRIPTION .SH DESCRIPTION
.PP
.B Makedefs .B Makedefs
is a build-time tool used for a variety of is a build-time tool used for a variety of
.BR NetHack (6) .IR nethack (6)
source file creation and modification tasks. For historical reasons, source file creation and modification tasks.
For historical reasons,
.B makedefs .B makedefs
takes two types of command lines. When invoked with a short option, the takes two types of command lines.
files operated on are determined when When invoked with a short option,
the files operated on are determined when
.B makedefs .B makedefs
is compiled. When invoked with a long option, the is compiled.
.B --input When invoked with a long option,
the
.B \-\-input
and and
.B --output .B \-\-output
options are used to specify the files for the options are used to specify the files for the
.BI -- command. .BI \-\- command.
Each command is only available in one of the two formats. Each command is only available in one of the two formats.
.SH SHORT COMMANDS .SH SHORT COMMANDS
Upper and lower case are both accepted for the short commands. Upper and lower case are both accepted for the short commands.
.TP .TP
.B -o .B \-o
Generate Generate
.I onames.h. .IR onames.h .
.br
.TP .TP
.B -d .B \-d
Generate Generate
.I data.base. .IR data.base .
.br
.TP .TP
.B -e .B \-e
Generate Generate
.I dungeon.pdf. .IR dungeon.pdf .
The input file The input file
.I dungeon.def .I dungeon.def
is passed through the is passed through the
same logic as that used by the same logic as that used by the
.B --grep .B \-\-grep
command; see the command; see the
.B MDGREP FUNCTIONS .B MDGREP FUNCTIONS
section below for details. section below for details.
.br
.TP .TP
.B -m .B \-m
Generate Generate
.I date.h .I date.h
and and
.I options .I options
file. It will read file.
It will read
.IR dat/gitinfo.txt , .IR dat/gitinfo.txt ,
only if it is present, to obtain only if it is present, to obtain
.B githash= .B githash=
@@ -102,175 +97,184 @@ and
info and include related preprocessor #defines in info and include related preprocessor #defines in
.I date.h .I date.h
file. file.
.br
.TP .TP
.B -p .B \-p
Generate Generate
.I pm.h .IR pm.h .
.br
.TP .TP
.B -q .B \-q
Generate the Generate the
.I rumors .I rumors
file. file.
.br
.TP .TP
.B -s .B \-s
Generate the Generate the
.IR bogusmon ", " engrave ", and " epitaph " files." .IR bogusmon ,
.br .IR engrave ,
and
.I epitaph
files.
.TP .TP
.B -1 .B \-1
Generate the Generate the
.IR epitaph .I epitaph
file. file.
.br
.TP .TP
.B -2 .B \-2
Generate the Generate the
.IR engrave .I engrave
file. file.
.br
.TP .TP
.B -3 .B \-3
Generate the Generate the
.IR bogusmon .I bogusmon
file. file.
.br
.TP .TP
.B -h .B \-h
Generate the Generate the
.B oracles .I oracles
file. file.
.br
.SH LONG COMMANDS .SH LONG COMMANDS
.TP .TP
.B --debug .B \-\-debug
Show debugging output. Show debugging output.
.br
.TP .TP
.B --make \fR[\fIcommand\fR] .B \-\-make \fR[\fIcommand\fR]
Execute a short command. Command is given without preceding dash. Execute a short command.
.br .I Command
is given without preceding dash.
.TP .TP
.BI --input " file" .BI \-\-input " file"
Specify the input Specify the input
.I file .I file
for the command (if needed). If the file is - standard for the command (if needed).
input is read. If
.br .I file
is \*(lq\-\*(rq,
.B makedefs
reads the standard input stream.
.TP .TP
.BI --output " file" .BI \-\-output " file"
Specify the output Specify the output
.I file .I file
for the command (if needed). If the file is - standard for the command (if needed).
output is written. If
.br .I file
is \*(lq\-\*(rq,
.B makedefs
writes to the standard input stream.
.TP .TP
.B --svs \fR[\fIdelimiter\fR] .B \-\-svs \fR[\fIdelimiter\fR]
Generate a version string to standard output without a trailing newline. Generate a version string to standard output without a trailing newline.
If specified, the delimiter is used between each part of the version string. If specified, the delimiter is used between each part of the version string.
.br
.TP .TP
.B --grep .B \-\-grep
Filter the input Filter the input
.I file to the output .I file to the output
.IR file . .IR file .
See the See the
.B MDGREP FUNCTIONS .B MDGREP FUNCTIONS
section below for information on controlling the filtering operation. section below for information on controlling the filtering operation.
.br
.TP .TP
.B --grep-showvars .B \-\-grep\-showvars
Show the name and value for each variable known to the grep option. Show the name and value for each variable known to the grep option.
.br
.TP .TP
.B --grep-trace .B \-\-grep\-trace
Turn on debug tracing for the grep function ( Turn on debug tracing for the grep function (
.B --grep .B \-\-grep
must be specified as well). must be specified as well).
.br
.TP .TP
.BI --grep-defined " symbol" .BI \-\-grep\-defined " symbol"
Exit shell true (0) if Exit shell true (0) if
.I symbol .I symbol
is known and defined, otherwise exit shell false (1). is known and defined, otherwise exit shell false (1).
.TP .TP
.BI --grep-define " symbol" .BI \-\-grep\-define " symbol"
Force the value of Force the value of
.I symbol .I symbol
to be "defined." to be \*(lqdefined.\*(rq
.I Symbol .I Symbol
must already be known to must already be known to
.BR makedefs . .BR makedefs .
.br
.TP .TP
.BI --grep-undef " symbol" .BI \-\-grep\-undef " symbol"
Force the definition of Force the definition of
.I symbol .I symbol
to be "undefined." to be \*(lqundefined.\*(rq
.I Symbol .I Symbol
must already be known to must already be known to
.BR makedefs . .BR makedefs .
.SH MDGREP FUNCTIONS .SH MDGREP FUNCTIONS
The The
.B --grep .B \-\-grep
command (and certain other commands) filter their input, on a line-by-line command (and certain other commands) filter their input, on a line-by-line
basis, according to control lines embedded in the input and on information basis, according to control lines embedded in the input and on information
gleaned from the gleaned from the
.BR NetHack (6) .I nethack
configuration. This allows certain changes such as embedding platform-specific configuration.
This allows certain changes such as embedding platform-specific
documentation into the master documentation files. documentation into the master documentation files.
.P .P
Rules: Rules:
.RS .IP \(bu
.IP - 4
The default conditional state is printing enabled. The default conditional state is printing enabled.
.IP - 4 .IP \(bu
Any line Any line
.I NOT .I NOT
starting with a caret (^) is either suppressed or passed through unchanged starting with a caret (\*^) is either suppressed or passed through unchanged
depending on the current conditional state. depending on the current conditional state.
.IP - 4 .IP \(bu
Any line starting with a caret is a control line; as in C, zero or more spaces Any line starting with a caret is a control line; as in C, zero or more spaces
may be embedded in the line almost anywhere (except immediately after the may be embedded in the line almost anywhere (except immediately after the
caret); however the caret must be in column 1. caret); however the caret must be in column 1.
.IP - 4 .IP \(bu
Conditionals may be nested. Conditionals may be nested.
.IP - 4 .IP \(bu
.I Makedefs .I Makedefs
will exit with an error code if any errors are detected; processing will will exit with an error code if any errors are detected; processing will
continue (if it can) to allow as many errors as possible to be detected. continue (if it can) to allow as many errors as possible to be detected.
.IP - 4 .IP \(bu
Unknown identifiers are treated as both TRUE and as an error. Note that Unknown identifiers are treated as both TRUE and as an error.
.BR --undef " or " #undef Note that
.BR \-\-undef " or " #undef
in the in the
.BR NetHack (6) .I nethack
configuration are different from unknown. configuration are different from unknown.
.RE
.P .P
Control lines: Control lines:
.RS .TP
.IP ^^ 4 .B
\*^\*^
a line starting with a (single) literal caret a line starting with a (single) literal caret
.IP ^# .TP
.B \*^#
a comment a comment
.IP ^?\fIID .TP
.B \*^?\fIID
if the if the
.I ID .I ID
is defined set the conditional state to TRUE is defined set the conditional state to TRUE
.IP ^!\fIID .TP
.B \*^!\fIID
if the if the
.I ID .I ID
is not defined set the conditional state to TRUE is not defined set the conditional state to TRUE
.IP ^: .TP
.B \*^:
else; invert the conditional state else; invert the conditional state
.IP ^. .TP
.B \*^.
end the most recent conditional end the most recent conditional
.RE
.\".SH EXAMPLES .\".SH EXAMPLES
.SH AUTHOR .SH AUTHOR
The NetHack Development Team The NetHack Development Team
.SH COPYRIGHT .SH COPYRIGHT
This file is Copyright (C) \*(Na, \*(Nd for version \*(Nb:\*(Nr. .\" All troffs and nroffs support `\(co` except Plan 9 nroff, but Plan 9
NetHack may be freely redistributed. See license for details. .\" offers no test for special character availability, and its feature
.\" set too closely resembles DWB 3.3 to test for it. Use a string with
.\" any nroff-mode formatter not claiming groff compatiblity.
.ds co \(co
.if !\n(.g .if n .ds co (C)\" in principle, should be just "c"
This file is Copyright \*(co \*(Na, \*(Nd for version \*(Nb:\*(Nr.
NetHack may be freely redistributed.
See license for details.
+15 -5
View File
@@ -1,5 +1,16 @@
.\"DO NOT REMOVE NH_DATESUB .TH MAKEDEFS 6 "Date(%-d %B %Y)" Project(uc)
.\" $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1541298620 2018/11/04 02:30:20 $ .\" $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1541298620 2018/11/04 02:30:20 $
.TH MNH 7 NETHACK .TH MNH 7 "4 November 2018" NETHACK
.\"DO NOT REMOVE NH_DATESUB .ds Nd Date(%Y)
.ds Nd 2018
.de NB
.ds Nb \\$2
..
.de NR
.ds Nr \\$2
..
.NB $NHDT-Branch: NetHack-3.6.2 $
.NR $NHDT-Revision: 1.0 $
.SH NAME .SH NAME
mnh \- additional text formatting macros for the NetHack Guidebook mnh \- additional text formatting macros for the NetHack Guidebook
.SH SYNOPSIS .SH SYNOPSIS
@@ -9,14 +20,14 @@ mnh \- additional text formatting macros for the NetHack Guidebook
.\".B "troff \-mn" .\".B "troff \-mn"
.\"[ options ] file ... .\"[ options ] file ...
.SH DESCRIPTION .SH DESCRIPTION
.PP
This package of This package of
.IR nroff (1) .IR nroff (1)
and and
.IR troff (1) .IR troff (1)
macro definitions extends macro definitions extends
.IR tmac.n (7) .IR tmac.n (7)
for the NetHack Guidebook. This document should be for the NetHack Guidebook.
This document should be
read as an addendum to the documentation for read as an addendum to the documentation for
.IR tmac.n . .IR tmac.n .
.PP .PP
@@ -27,11 +38,10 @@ and number registers are defined below.
.SH FILES .SH FILES
doc/tmac.nh doc/tmac.nh
.SH "SEE ALSO" .SH "SEE ALSO"
mn(7) .IR mn (7)
.SH AUTHOR .SH AUTHOR
Pat Rankin Pat Rankin
.SH REQUESTS .SH REQUESTS
.PP
In the In the
.I Note .I Note
column, column,
+357 -276
View File
@@ -16,134 +16,124 @@
.ie \n(.g .hy 12 .ie \n(.g .hy 12
.el .hy 14 .el .hy 14
.ds Na Robert Patrick Rankin .ds Na Robert Patrick Rankin
.\" DWB, Solaris 10, and Plan 9 troffs don't support `\(ti`, `\(oq`, or
.\" `\(cq`. Assume the best, then detect these older troffs and fall
.\" back as needed.
.\"
.\" Put NO SPACE between special character and comment escape sequences.
.ds ~ \(ti\" The name "ti" is taken by *roff's `ti` request.
.ds oq \(oq
.ds cq \(cq
.if !\n(.g \{\
. ds ~ ~
. ds oq `
. ds cq '
.\}
.\" Define string to exercise groff's hyphenless break point feature.
.ie \n(.g .ds : \:
.el .ds : \" empty
.\" Define string to exercise groff's adjustable, unbreakable space.
.ie \n(.g .ds _ \~
.el .ds _ \ \" backslash, space
.\" Define local versions of groff's "an-ext.tmac" macros if needed.
.ds %% \" empty
.if \n(.g .ig %%
.\" Add supplementary paragraph tag on its own line after TP.
.de TQ
. br
. ns
. \" Do not quote the argument to `TP`; the user might specify
. \" their own quotes for multi-word tags or to exercise AT&T troff
. \" quoting rules.
. TP \\$1\"
..
.%%
.SH NAME .SH NAME
nethack \- Exploring The Mazes of Menace nethack \- Exploring The Mazes of Menace
.SH SYNOPSIS .SH SYNOPSIS
.HP
.nr sA \n(.j \" Save the adjustment mode.
.na .na
.hy 0
.\" Some options ordering is explicit (-d first, -u before -D), others
.\" have been arranged to fit within an 80-column page with nearly full
.\" lines while avoiding splitting "[" and "-opt ]" or "[ -opt" and "]"
.\" across line boundaries. It would be better to do that with 'roff magic.
.B nethack .B nethack
[ .RI [ role-option ]
.BR \-d | \-\-directory .RB [ \-d | \-\-directory\*_\c
.I directory .IR directory ]
] .RB [ \-w | \-\-windowtype\*_\c
.\" '.B token newline .I token' will include a space between the two tokens; .IR interface ]
.\" '.BI token token' will not. Likewise for .BR, .RB, &c. \%[\c
[ .BI \-\-nethackrc: rc-file\c
.BR \-w | \-\-windowtype |\c
.I interface .B \-\-no\-nethackrc\c
]
.br 1
[
.BI \-\-nethackrc: RC-file
|
.B \-\-no\-nethackrc
]
[
.B \-n
]
[
.BR \-dec " | " \-ibm
]
.br 1
[
.B \-u
.I playername
]
[
.BR \-X " | " \-D
]
[
.B \-p
.I profession
]
[
.B \-r
.I race
]
[
.B \-\@
] ]
.RB [ \-n ]
.RB [ \-dec | \-ibm ]
.RB [ \-u\*_\c
.IR player-name ]
.RB [ \-X | \-D ]
.RB [ \-p\*_\c
.IR profession ]
.RB [ \-r\*_\c
.IR race ]
.RB [ \-@ ]
.PP .PP
Also .I role-option
[ can be any of the following.
.PP
.RS
.nf
.BR \-A | \-Arc .BR \-A | \-Arc
|
.BR \-B | \-Bar .BR \-B | \-Bar
|
.BR \-C | \-Cav .BR \-C | \-Cav
|
.BR \-H | \-Hea .BR \-H | \-Hea
|
.BR \-K | \-Kni .BR \-K | \-Kni
|
.BR \-M | \-Mon .BR \-M | \-Mon
|
.BR \-P | \-Pri .BR \-P | \-Pri
|
.BR \-R | \-Rog .BR \-R | \-Rog
| .B \-Ran
.BR \-Ran
|
.BR \-S | \-Sam .BR \-S | \-Sam
|
.BR \-T | \-Tou .BR \-T | \-Tou
|
.BR \-V | \-Val .BR \-V | \-Val
|
.BR \-W | \-Wiz .BR \-W | \-Wiz
] .fi
.RE
.HP
.B nethack
.RB { \-s | \-\-scores }
.RB [ \-d | \-\-directory\*_\c
.IR directory ]
.RB [ \-v ]
.RB [ \-p\*_\c
.IR profession ]
.RB [ \-r\*_\c
.IR race ]
.RI [ player-name\*_\c
\&.\|.\|.]
.PP .PP
.B nethack .B nethack
[ .RB { \-\-usage | \-\-help }
.BR \-d | \-\-directory
.I directory
]
.BR \-s | \-\-scores
[
.B \-v
]
.br 1
[
.B \-p
.I profession
]
[
.B \-r
.I race
]
[
.I playernames
]
.PP .PP
.B nethack .B nethack
[ .B \-\-showpaths
.B \-\-usage .PP
| .B nethack
.B \-\-help .BR \-\-version [ :copy | :dump\c
] .RB | :show ]
[ .ad \n(sA \" Restore the adjustment mode.
.BR \-\-showpaths
]
.\" force line wrap now rather than have that happen after the opening brace
.br
[
.BR \-\-version [ :copy | :dump | :show ]
]
.ad
.hy 14
.\" Make sure path is not hyphenated below .\" Make sure path is not hyphenated below
.hw nethackdir .hw nethackdir
.SH DESCRIPTION .SH DESCRIPTION
.PP
.I NetHack .I NetHack
is a display oriented Dungeons & Dragons(tm) - like game. is a fantasy-themed game of surival,
The standard tty display and command structure resemble rogue. exploration,
and combat
set in the Mazes of Menace,
an elaborate underground complex.
.PP .PP
Other, more graphical display options exist for most platforms. Traditionally,
the game's interface uses a Unix terminal connection,
depicting the interface on a grid of character cells
and responding to keyboard-entered commands.
Other interface options exist for most platforms.
.PP .PP
To get started you really only need to know two commands. To get started you really only need to know two commands.
The command The command
@@ -201,17 +191,17 @@ below).
On other systems, the default may be different, possibly NetHack.cnf. On other systems, the default may be different, possibly NetHack.cnf.
On MS-DOS, the name is defaults.nh in NetHack's directory (folder), On MS-DOS, the name is defaults.nh in NetHack's directory (folder),
while while
.\" on the Macintosh or BeOS, it is \(lqNetHack Defaults\(rq, and .\" on the Macintosh or BeOS, it is \*(lqNetHack Defaults\*(rq, and
on VMS|OpenVMS it is nethack.ini in your home directory. on VMS|OpenVMS it is nethack.ini in your home directory.
The default configuration file may be overridden via the The default configuration file may be overridden via the
.BI \-\-nethackrc: "rc-file" .BI \-\-nethackrc: rc-file
command line option or by setting NETHACKOPTIONS in your environment command line option or by setting NETHACKOPTIONS in your environment
to a string consisting of an @ character followed by the path and filename. to a string consisting of an @ character followed by the path and filename.
.PP .PP
The The
.B \-u .B \-u
.I playername .I player-name
option supplies the answer to the question "Who are you?". option supplies the answer to the question \*(lqWho are you?\*(rq.
It overrides any name from the options or configuration file, USER, LOGNAME, It overrides any name from the options or configuration file, USER, LOGNAME,
or getlogin(), which will otherwise be tried in order. or getlogin(), which will otherwise be tried in order.
If none of these provides a useful name, the player will be asked for one. If none of these provides a useful name, the player will be asked for one.
@@ -220,31 +210,34 @@ so you can have several saved games under different names.
Conversely, you must use the appropriate player name to restore a saved game. Conversely, you must use the appropriate player name to restore a saved game.
.PP .PP
A A
.I playername .I player-name
suffix can be used to specify the profession, race, alignment and/or gender suffix can be used to specify the profession, race, alignment and/or gender
of the character. The full syntax of the playername that includes a of the character.
suffix is "name-ppp-rrr-aaa-ggg". "ppp" are at least the first three letters The full syntax of a
.I player-name
including a suffix is \*(lqname\-ppp\-rrr\-aaa\-ggg\*(rq.
\*(lqppp\*(rq are at least the first three letters
of the profession (this can also be specified using a separate of the profession (this can also be specified using a separate
.B \-p .B \-p
.I profession .I profession
option). "rrr" are at least the first three letters of the character's option).
\*(lqrrr\*(rq are at least the first three letters of the character's
race (this can also be specified using a separate race (this can also be specified using a separate
.B \-r .B \-r
.I race .I race
option). "aaa" are at least the first three letters of the character's option).
alignment, and "ggg" are at least the first three letters of the \*(lqaaa\*(rq are at least the first three letters of the character's
character's gender. Any of the parts of the suffix may be left out. alignment, and \*(lqggg\*(rq are at least the first three letters of the
character's gender.
Any of the parts of the suffix may be left out.
.PP .PP
.B \-p .B \-p
.I profession .I profession
can be used to determine the character profession, also known as the role. can be used to determine the character profession, also known as the role.
You can specify either the male or female name for the character role, or You can specify either the male or female name for the character role, or
the first three characters of the role as an abbreviation. the first three characters of the role as an abbreviation.
.\" .B "\-p \@" .\" .B "\-p @"
.\" has been retained to explicitly request that a random role be chosen. .\" has been retained to explicitly request that a random role be chosen.
.\" It may need to be quoted with a backslash (\\@) if @
.\" is the "kill" character (see "stty") for the terminal, in order
.\" to prevent the current input line from being cleared.
.PP .PP
Likewise, Likewise,
.B \-r .B \-r
@@ -270,7 +263,7 @@ The
| |
.BR \-R | \-Rog .BR \-R | \-Rog
| |
.BR \-Ran .B \-Ran
| |
.BR \-S | \-Sam .BR \-S | \-Sam
| |
@@ -289,8 +282,8 @@ is already used for the
.I Rogue .I Rogue
role. role.
.PP .PP
.B \-\@ .B \-@
tells nethack to choose any omitted characteristics (profession/role, race, tells NetHack to choose any omitted characteristics (profession/role, race,
gender, alignment) randomly without prompting. gender, alignment) randomly without prompting.
Otherwise, leaving out any of these characteristics will result in you Otherwise, leaving out any of these characteristics will result in you
being prompted during game startup for the information. being prompted during game startup for the information.
@@ -305,11 +298,22 @@ option will start the game in a special non-scoring discovery mode
(also known as explore mode). (also known as explore mode).
.B \-D .B \-D
will start the game in debug mode (also known as wizard mode) after will start the game in debug mode (also known as wizard mode) after
changing the character name to \(lqwizard\(rq, if the player is allowed. changing the character name to \*(lqwizard\*(rq,
if the player is allowed.
Otherwise it will switch to Otherwise it will switch to
.BR \-X . .BR \-X .
Control of who is allowed to use debug mode is done via the Control of who is allowed to use debug mode is done via the
.RI "\(lq" WIZARDS= "\(rq line in nethack's " sysconf " file." .\" The `lq` and `rq` strings are not reliable in macro calls, because
.\" some nroffs interpolate `"` for them, messing up macro argument
.\" delimitation. Use an (initially) uglier method than `RI`.
.\".RI "\*(lq" WIZARDS= "\*(rq line in NetHack's " sysconf " file."
\*(lq\c
.I WIZARDS=\c
\*(rq
line in
NetHack's
.I sysconf
file.
.PP .PP
The The
.BR \-d " or " \-\-directory .BR \-d " or " \-\-directory
@@ -317,7 +321,8 @@ option, which must be the first argument if it appears,
supplies a directory which is to serve as the playground. supplies a directory which is to serve as the playground.
It overrides the value from NETHACKDIR, HACKDIR, It overrides the value from NETHACKDIR, HACKDIR,
or the directory specified by the game administrator during compilation or the directory specified by the game administrator during compilation
(usually /usr/games/lib/nethackdir). (usually
.IR /usr/\*:games/\*:lib/\*:nethackdir ).
This option is usually only useful to the game administrator. This option is usually only useful to the game administrator.
The playground must contain several auxiliary files such as help files, The playground must contain several auxiliary files such as help files,
the list of top scorers, and a subdirectory the list of top scorers, and a subdirectory
@@ -335,18 +340,15 @@ specified in the run-time configuration file.
NetHack's #version command shows available interfaces. NetHack's #version command shows available interfaces.
.PP .PP
The The
.BI \-\-nethackrc: RC-file .BI \-\-nethackrc: rc-file
option will use option will use
.I RC-file .I rc-file
instead of the default run-time configuration file instead of the default run-time configuration file
.RI "(typically " \(ti/.nethackrc ")" .RI "(typically " \*~/.nethackrc )
and the and the
.B \-\-no\-nethackrc .B \-\-no\-nethackrc
option can be used to skip any run-time configuration file. option can be used to skip any run-time configuration file.
.PP .PP
.\" extra blank line
.br 1
.PP
Some options provide feedback and then exit rather than play the game: Some options provide feedback and then exit rather than play the game:
.PP .PP
The The
@@ -355,7 +357,7 @@ option alone will print out the list of your scores on the current version.
An immediately following An immediately following
.B \-v .B \-v
reports on all versions present in the score file. reports on all versions present in the score file.
.RB \(oq \-s | \-s\~\-v \(cq .RB \*(oq \-s | \-s\*_\-v \*(cq
may also be followed by arguments may also be followed by arguments
.B \-p .B \-p
.I profession .I profession
@@ -367,7 +369,7 @@ Either can be specified multiple times to include more than one role
or more than one race. or more than one race.
When both are specified, score entries which match either the role or the When both are specified, score entries which match either the role or the
race (or both) are printed rather than just entries which match both. race (or both) are printed rather than just entries which match both.
.RB \(oq \-s | \-s\~\-v \(cq .RB \*(oq \-s | \-s\*_\-v \*(cq
may be followed by one or more player names to print the scores of the may be followed by one or more player names to print the scores of the
players mentioned, by 'all' to print out all scores, or by a number to print players mentioned, by 'all' to print out all scores, or by a number to print
that many top scores. that many top scores.
@@ -406,10 +408,9 @@ customize aspects of how the game operates.
.BR \-\-usage " or " \-\-help .BR \-\-usage " or " \-\-help
will display information similar to this manual page, then exit. will display information similar to this manual page, then exit.
Use Use
.RB \(oq "nethack \-\-usage | more" \(cq .RB \*(oq "nethack \-\-usage | more" \*(cq
to read it a page at a time. to read it a page at a time.
.SH AUTHORS .SH AUTHORS
.PP
Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the
original hack, very much like rogue (but full of bugs). original hack, very much like rogue (but full of bugs).
.PP .PP
@@ -427,160 +428,240 @@ development by the Usenet.
Andries Brouwer has made this request for the Andries Brouwer has made this request for the
distinction, as he may eventually release a new version of his own. distinction, as he may eventually release a new version of his own.
.SH FILES .SH FILES
.PP
Run-time configuration options were discussed above and use a platform Run-time configuration options were discussed above and use a platform
specific name for a file in a platform specific location. specific name for a file in a platform specific location.
For Unix, the For Unix, the
name is '.nethackrc' in the user's home directory. name is
.I .nethackrc
.br in the user's home directory.
.PP
All other files are in the playground directory, All other files are in the playground directory,
normally /usr/games/lib/nethackdir. normally
If DLB was defined during the compile, the data files and special levels .IR /usr/\*:games/\*:lib/\*:nethackdir .
will be inside a larger file, normally nhdat, instead of being separate If DLB was defined during the compile,
files. the data files and special levels will be inside a larger file,
normally
.br .IR nhdat ,
.DT instead of being separate files.
.\" continuation lines begin with <backslash><space><tab> .TP
.ta \w'cmdhelp, opthelp, wizhelp\ \ \ 'u .I nethack
nethack The program itself. The program itself.
.br .TP
Guidebook\ |\ Guidebook.txt NetHack's user manual. .I Guidebook
.br .TQ
data, oracles, rumors Data files used by NetHack. .I Guidebook.txt
.br NetHack's user manual.
bogusmon Another data file. .TP
.br .I data
engrave, epitaph, tribute Still more data files. .TQ
.br .I oracles
symbols Data file holding sets of specifications .TQ
.br .I rumors
\ for how to display monsters, objects, and Data files used by NetHack.
.br .TP
\ map features. .I bogusmon
.br Another data file.
options Data file containing a description of the .TP
.br .I engrave
\ build-time option settings. .TQ
.br .I epitaph
help,\ hh,\ cmdhelp Help data files. .TQ
('cmdhelp' is obsolete.) .I tribute
.br Still more data files.
opthelp,\ optmenu,\ wizhelp More help data files. .TP
.br .I symbols
keyhelp,\ usagehlp Even more help data files. Data file holding sets of specifications
.br for how to display monsters, objects, and
*.lua Predefined special levels, dungeon control map features.
.br .TP
\ for special levels, quest texts. .I options
.br Data file containing a description of the
history A short history of NetHack. build-time option settings.
.br .TP
license Rules governing redistribution. .I help
.br .TQ
record The list of top scorers. .I hh
.br .TQ
logfile An extended list of games played .I cmdhelp
.br Help data files.
\ (optional). .RI ( cmdhelp
.br is obsolete.)
xlogfile A more detailed version of 'logfile' .TP
.br .I opthelp
\ (also optional). .TQ
.br .I optmenu
paniclog Record of exceptional conditions .TQ
.br .I wizhelp
\ discovered during program execution. More help data files.
.br .TP
xlock.nn Description of dungeon level 'nn' of .I keyhelp
.br .TQ
\ active game 'x' if there's a limit on the .I usagehlp
.br Even more help data files.
\ number of simultaneously active games. .TP
.br .RI * .lua
UUcccccc.nn Alternate form for dungeon level 'nn' Predefined special levels, dungeon control
.br for special levels, quest texts.
\ of active game by user 'UU' playing .TP
.br .I history
\ character named 'cccccc' when there's no A short history of NetHack.
.br .TP
\ limit on number of active games. .I license
.br Rules governing redistribution.
perm Lock file for xlock.0 or UUcccccc.0. .TP
.br .I record
bonD0.nn Descriptions of the ghost and belongings The list of top scorers.
.br .TP
\ of a deceased adventurer who met his or .I logfile
.br An extended list of games played
\ her demise on level 'nn'. (optional).
.TP
.I xlogfile
A more detailed version of
.I logfile
(also optional).
.TP
.I paniclog
Record of exceptional conditions
discovered during program execution.
.TP
.RI x lock. nn
Description of dungeon level
.I nn
of active game
.I x
if there's a limit on the
number of simultaneously active games.
.TP
.RI UUcccccc . nn
Alternate form for dungeon level
.I nn
of active game by user
.I UU
playing character named
.I cccccc
when there's no
limit on number of active games.
.TP
.I perm
Lock file for
.RI x lock.0
or
.RI UUcccccc .0 .
.TP
.IR bonD0. nn
Descriptions of the ghost and belongings
of a deceased adventurer who met his or
her demise on level
.IR nn .
A subsequent A subsequent
.br character might encounter this old level.
\ character might encounter this old level. .TP
.br .I save/
.\"following line should contain <backslash><space><tab> Subdirectory containing saved games.
\ .TP
.br .I sysconf
save/ A subdirectory containing saved games. System-wide options.
.br Required if
.\"following line should contain <backslash><space><tab> program is built with 'SYSCF' option
\ enabled, ignored if not.
.br .PP
sysconf System-wide options. Required if The location of
.br .I sysconf
\ program is built with 'SYSCF' option is specified at build time and can't be changed
.br except by updating source file
\ enabled, ignored if not. .\" We do the following in an ugly and non-idiomatic way to work around
.br .\" a DWB 3.3 nroff bug.
.\" troff: if-else overflow.; doc/nethack.6:623
The location of 'sysconf' is specified at build time and can't be changed .\" stack: }S }S }S }S }S }S }S }S }S }S }S }S }S }S }S }S RI
except by updating source file "config.h" and rebuilding the program. .\" Even at that, DWB insists on setting the period in roman.
.br "\c
.I config.h\c
"
and rebuilding the program.
.PP
NetHack's Guidebook might not be present if whoever packaged or installed NetHack's Guidebook might not be present if whoever packaged or installed
the program distribution neglected to include it. the program distribution neglected to include it.
.br .PP
In a perfect world,
In a perfect world, 'paniclog' would remain empty. .I paniclog
would remain empty.
.SH ENVIRONMENT .SH ENVIRONMENT
.DT In some cases,
.ta \w'NETHACKDIR or HACKDIR\ \ \ 'u .I NetHack
USER or LOGNAME Your login name. attempts to access multiple environment variables in sequence
.br (via
HOME Your home directory. .IR getenv (3)
.br or similar)
SHELL Your shell. to determine information.
.br .TP 16n \" "NETHACKOPTIONS" + 2n
TERM The type of your terminal. .I USER
.br .TQ
HACKPAGER or PAGER Replacement for default pager. .I
.br LOGNAME
MAIL Mailbox file. Your login name.
.br .TP
MAILREADER Replacement for default reader .I HOME
.br Your home directory.
\ (probably /bin/mail or /usr/ucb/mail). .TP
.br .I SHELL
NETHACKDIR or HACKDIR Playground. Your login shell
.br (not necessarily the one running when you started
NETHACKOPTIONS String predefining several NetHack options. .IR NetHack ).
.br .TP
.I TERM
If the same option is specified in both NETHACKOPTIONS and .nethackrc, Your terminal type.
the value assigned in NETHACKOPTIONS takes precedence. .TP
.br .I HACKPAGER
.TQ
SHOPTYPE and SPLEVTYPE can be used in debugging (wizard) mode. .I PAGER
.br Replacement for default pager.
DEBUGFILES can be used if the program was built with 'DEBUG' enabled. .TP
.I MAIL
Mailbox file.
.TP
.I MAILREADER
Replacement for default reader
(probably
.I /bin/\*:mail
or
.IR /usr/\*:ucb/\*:mail ).
.TP
.I NETHACKDIR
.TQ
.I HACKDIR
Playground.
.TP
.I NETHACKOPTIONS
Predefined
.I NetHack
options.
.PP
If the same option is specified in both
.I \%NETHACKOPTIONS
and
.IR \%.nethackrc ,
the value assigned in
.I \%NETHACKOPTIONS
takes precedence.
.PP
.I SHOPTYPE
and
.I \%SPLEVTYPE
can be used in debugging (wizard) mode.
.I \%DEBUGFILES
can be used if the program was built with 'DEBUG' enabled.
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .IR recover (6)
recover(6)
.SH BUGS .SH BUGS
.PP
Probably infinite. Probably infinite.
.SH COPYRIGHT .SH COPYRIGHT
This file is Copyright (C) \*(Na, \*(Nd for version \*(Nb:\*(Nr. .\" All troffs and nroffs support `\(co` except Plan 9 nroff, but Plan 9
NetHack may be freely redistributed. See license for details. .\" offers no test for special character availability, and its feature
.PP .\" set too closely resembles DWB 3.3 to test for it. Use a string with
Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc. .\" any nroff-mode formatter not claiming groff compatiblity.
.ds co \(co
.if !\n(.g .if n .ds co (C)\" in principle, should be just "c"
This file is Copyright \*(co \*(Na, \*(Nd for version \*(Nb:\*(Nr.
NetHack may be freely redistributed.
See license for details.
+66 -43
View File
@@ -10,6 +10,8 @@
.. ..
.NB $NHDT-Branch: NetHack-5 $ .NB $NHDT-Branch: NetHack-5 $
.NR $NHDT-Revision: 1.12 $ .NR $NHDT-Revision: 1.12 $
.ie \n(.g .ds ^ \(ha
.el .ds ^ ^
.\" groff and AT&T-descended troffs use different hyphenation patterns. .\" groff and AT&T-descended troffs use different hyphenation patterns.
.\" Don't hyphenate the last word on a page or column, or .\" Don't hyphenate the last word on a page or column, or
.\" before/after last/first 2 characters of a word. .\" before/after last/first 2 characters of a word.
@@ -20,77 +22,89 @@
recover \- recover a NetHack game interrupted by disaster recover \- recover a NetHack game interrupted by disaster
.SH SYNOPSIS .SH SYNOPSIS
.B recover .B recover
[ .RB [ \-d
.B \-d .IR playground-directory ]
.I directory .I base
] \&.\|.\|.
.I "base1 base2" ...
.SH DESCRIPTION .SH DESCRIPTION
.PP Occasionally, a NetHack game is interrupted by disaster
Occasionally, a NetHack game will be interrupted by disaster when the program or the system crashes.
when the game or the system crashes. Prior to NetHack v3.1, these games were lost because information
Prior to NetHack v3.1, these games were lost because various information
like the player's inventory was kept only in memory. like the player's inventory was kept only in memory.
Now, all pertinent information can be written out to disk, Now, all pertinent information can be written out to disk,
so such games can be recovered at the point of the last level change. so such games can be recovered at the point of the last level change.
.PP .PP
The .I Base
.I base operands tell
options tell
.I recover .I recover
which files to process. which files to process.
Each base option specifies recovery of a separate game. Each
.I base
specifies recovery of a separate game.
.PP .PP
The The
.B \-d .B \-d
option, which must be the first argument if it appears, option, which must be the first argument if it appears,
supplies a directory which is the NetHack playground. supplies the directory housing the NetHack playground.
It overrides the value from NETHACKDIR, HACKDIR, or the directory It overrides the value of the environment variables
.I NETHACKDIR
and
.IR HACKDIR ,
and the directory
specified by the game administrator during compilation specified by the game administrator during compilation
(usually /usr/games/lib/nethackdir). (usually
.IR /usr/games/lib/nethackdir ).
.ig .ig
.PP .PP
^?ALLDOCS \*^?ALLDOCS
For recovery to be possible, For recovery to be possible,
.I nethack .IR nethack (6)
must have been compiled with the INSURANCE option, and the run-time option must have been compiled with the INSURANCE option, and the run-time option
.I checkpoint .I checkpoint
must also have been on. must also have been on.
^: \*^:
^?INSURANCE \*^?INSURANCE
For recovery to be possible, For recovery to be possible,
.I nethack .I nethack
must have been compiled with the INSURANCE option (this configuration was), must have been compiled with the INSURANCE option (this configuration was),
and the run-time option and the run-time option
.I checkpoint .I checkpoint
must also have been on. must also have been on.
^: \*^:
This configuration of This configuration of
.I nethack .I nethack
was created without support for recovery. was created without support for recovery.
^. \*^.
^. \*^.
.. ..
NetHack normally writes out files for levels as the player leaves them, .IR nethack (6)
normally writes out files for levels as the player leaves them,
so they will be ready for return visits. so they will be ready for return visits.
When checkpointing, NetHack also writes out the level entered and When checkpointing, it also writes out the level entered and
the current game state on every level change. the current game state on every level change.
This naturally slows level changes down somewhat. This procedure slows level changes.
.PP .PP
The level file names are of the form base.nn, where nn is an internal The level file names are of the form
bookkeeping number for the level. .IR base. nn, where
The file base.0 is used for game identity, locking, and, when checkpointing, .I nn
is an internal bookkeeping number for the level.
The file
.I base.0
is used for game identity, locking, and, when checkpointing,
for the game state. for the game state.
Various OSes use different strategies for constructing the base name. Various OSes use different strategies for constructing the base name.
Microcomputers use the character name, possibly truncated and modified Single-user systems use the character name,
possibly truncated and modified
to be a legal filename on that system. to be a legal filename on that system.
Multi-user systems use the (modified) character name prefixed Multi-user systems use the (modified) character name prefixed
by a user number to avoid conflicts, by a user number to avoid conflicts,
or "xlock" if the number of concurrent players is being limited. or
.I xlock
if the number of concurrent players is being limited.
It may be necessary to look in the playground to find the correct It may be necessary to look in the playground to find the correct
base name of the interrupted game. base name of the interrupted game.
.I recover .I recover
will transform these level files into a save file of the same name as transforms these level files into a save file of the same name that
.I nethack .I nethack
would have used. would have used.
.PP .PP
@@ -105,13 +119,16 @@ through setuid or setgid is tantamount to leaving the playground
world-writable, world-writable,
with respect to both cheating and messing up other players. with respect to both cheating and messing up other players.
For a single-user system, this of course does not change anything, For a single-user system, this of course does not change anything,
so some of the microcomputer ports install so some of these ports install
.I recover .I recover
by default. by default.
.PP .PP
For a multi-user system, For a multi-user system,
the game administrator may want to arrange for all .0 files in the the game administrator may want to arrange for all
playground to be fed to recover when the host machine boots, .I .0
files in the playground to be fed to
.I recover
when the host machine boots,
and handle game crashes individually. and handle game crashes individually.
If the user population is sufficiently trustworthy, If the user population is sufficiently trustworthy,
.I recover .I recover
@@ -122,12 +139,11 @@ In either case,
.I recover .I recover
is easily compiled from the distribution utility directory. is easily compiled from the distribution utility directory.
.SH NOTES .SH NOTES
.PP
Like Like
.I nethack .I nethack
itself, itself,
.I recover .I recover
will overwrite existing savefiles of the same name. will overwrite existing save files of the same name.
Savefiles created by Savefiles created by
.I recover .I recover
are uncompressed; are uncompressed;
@@ -136,17 +152,24 @@ but even a compression-using
.I nethack .I nethack
will find them in the uncompressed form. will find them in the uncompressed form.
.SH "SEE ALSO" .SH "SEE ALSO"
nethack(6) .IR nethack (6)
.SH BUGS .SH BUGS
.PP
.I recover .I recover
makes no attempt to find out if a base name specifies a game in progress. makes no attempt to find out if a base name specifies a game in progress.
If multiple machines share a playground, this would be impossible to If multiple machines share a playground, this would be impossible to
determine. determine.
.PP .PP
.I recover .I recover
should be taught to use the nethack playground locking mechanism to should be taught to use the
avoid conflicts. .I nethack
playground locking mechanism to avoid conflicts.
.SH COPYRIGHT .SH COPYRIGHT
This file is Copyright (C) \*(Na, \*(Nd for version \*(Nb:\*(Nr. .\" All troffs and nroffs support `\(co` except Plan 9 nroff, but Plan 9
NetHack may be freely redistributed. See license for details. .\" offers no test for special character availability, and its feature
.\" set too closely resembles DWB 3.3 to test for it. Use a string with
.\" any nroff-mode formatter not claiming groff compatiblity.
.ds co \(co
.if !\n(.g .if n .ds co (C)\" in principle, should be just "c"
This file is Copyright \*(co \*(Na, \*(Nd for version \*(Nb:\*(Nr.
NetHack may be freely redistributed.
See license for details.