Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6

This commit is contained in:
Bart House
2019-10-31 20:18:41 -07:00
8 changed files with 156 additions and 114 deletions

View File

@@ -57,7 +57,7 @@ Spackman, Steve VanDevender, and Paul Winner, ported NetHack 3.1 to the PC.
Jon W{tte and Hao-yang Wang, with help from Ross Brown, Mike Engber, David
Hairston, Michael Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke,
and Andy Swanson developed NetHack 3.1 for the Macintosh, porting it for
MPW. Building on their development, Barton House added a Think C port.
MPW. Building on their development, Bart House added a Think C port.
Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith ported NetHack 3.1
to the Atari. Pat Rankin, with help from Joshua Delahunty, is responsible
@@ -195,7 +195,7 @@ Unix flavors as well as maintaining the X11 interface.
Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick maintained the port
of NetHack 3.6.1 for Mac OSX.
Michael Allison, David Cohrs, Barton House, Pasi Kallinen, Alex Kompel,
Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex Kompel,
Dion Nicolaas, Derek S. Ray and Yitzhak Sapir maintained the port of
NetHack 3.6 for Microsoft Windows.
@@ -217,6 +217,9 @@ Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz and Paul Winner.
In early May 2019, another 320 bug fixes along with some enhancements and
the adopted curses window port, were released as 3.6.2.
Bart House, who had contributed to the game as a porting team participant
for decades, joined the NetHack Development Team in late May 2019.
The official NetHack web site is maintained by Ken Lorber at
http://www.nethack.org/.
@@ -241,7 +244,7 @@ of these miscreants in this, the list of Dungeoneers:
Andy Church Jochen Erwied Pat Rankin
Andy Swanson John Kallen Patric Mueller
Ari Huttunen John Rupley Paul Winner
Barton House John S. Bien Pierre Martineau
Bart House John S. Bien Pierre Martineau
Benson I. Margulies Johnny Lee Ralf Brown
Bill Dyer Jon W{tte Ray Chason
Boudewijn Waijers Jonathan Handler Richard Addison

View File

@@ -1,4 +1,4 @@
.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.318 $ $NHDT-Date: 1572482202 2019/10/31 00:36:42 $
.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.319 $ $NHDT-Date: 1572525093 2019/10/31 12:31:33 $
.\"
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
.\" NetHack's Guidebook.mn currently does *not* adhere to these guidelines.
@@ -24,7 +24,7 @@
.ds vr "NetHack 3.6
.ds f0 "\*(vr
.ds f1
.ds f2 "October 27, 2019
.ds f2 "October 31, 2019
.
.\" A note on some special characters:
.\" \(lq = left double quote
@@ -2683,7 +2683,9 @@ HACKDIR, must be writable.
.lp TROUBLEDIR
The location that a record of game aborts and self-diagnosed game problems
is kept. Defaults to HACKDIR, must be writable.
.\"
.\" config file entries beyond this point are shown alphabetically
.\"
.lp AUTOCOMPLETE
Enable or disable an extended command autocompletion.
Autocompletion has no effect for the X11 windowport.
@@ -4898,7 +4900,7 @@ and \fBPaul Winner\fP, ported NetHack 3.1 to the PC.
\fBMike Engber\fP, \fBDavid Hairston\fP, \fBMichael Hamel\fP,
\fBJonathan Handler\fP, \fBJohnny Lee\fP, \fBTim Lennan\fP, \fBRob Menke\fP,
and \fBAndy Swanson\fP, developed NetHack 3.1 for the Macintosh,
porting it for MPW. Building on their development, \fBBarton House\fP
porting it for MPW. Building on their development, \fBBart House\fP
added a Think C port.
.pg
\fBTimo Hakulinen\fP ported NetHack 3.1 to OS/2. \fBEric Smith\fP
@@ -5057,7 +5059,7 @@ flavors and maintained the X11 interface.
\fBKen Lorber\fP, \fBHaoyang Wang\fP, \fBPat Rankin\fP, and \fBDean Luick\fP
maintained the port of NetHack 3.6 for Mac OSX.
.pg
\fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBBarton House\fP,
\fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBBart House\fP,
\fBPasi Kallinen\fP, \fBAlex Kompel\fP, \fBDion Nicolaas\fP,
\fBDerek S. Ray\fP and \fBYitzhak Sapir\fP maintained the port of
NetHack 3.6 for Microsoft Windows.
@@ -5082,6 +5084,9 @@ The NetHack Development Team at the time of release of 3.6.1 consisted of
In early May 2019, another 320 bug fixes along with some enhancements and
the adopted curses window port, were released as 3.6.2.
.pg
\fBBart House\fP, who had contributed to the game as a porting team
participant for decades, joined the NetHack Development Team in late May 2019.
.pg
The official NetHack web site is maintained by \fBKen Lorber\fP
at
.UR http://www.nethack.org/ .
@@ -5117,7 +5122,7 @@ Andreas Dorn Jeff Bailey Pasi Kallinen
Andy Church Jochen Erwied Pat Rankin
Andy Swanson John Kallen Patric Mueller
Ari Huttunen John Rupley Paul Winner
Barton House John S. Bien Pierre Martineau
Bart House John S. Bien Pierre Martineau
Benson I. Margulies Johnny Lee Ralf Brown
Bill Dyer Jon W{tte Ray Chason
Boudewijn Waijers Jonathan Handler Richard Addison

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{October 22, 2019}
\date{October 31, 2019}
\maketitle
@@ -1130,7 +1130,7 @@ slot to another so that it has a letter which is more meaningful for you
or that it will appear in a particular location when inventory listings
are displayed.
You can move to a currently empty slot, or if the destination is
occupied--and won't merge--the item there will swap slots with the one
occupied---and won't merge---the item there will swap slots with the one
being moved.
``{\tt \#adjust}'' can also be used to split a stack of objects; when
choosing the item to adjust, enter a count prior to its letter.\\
@@ -2044,9 +2044,9 @@ will result in it disappearing from your map, similarly if it is the
one who moved rather than you.
%.pg
However, if you encounter a monster which you can't see or sense--
perhaps it is invisible and has just tapped you on the noggin--
a special ``remembered, unseen monster'' marker will be displayed at
However, if you encounter a monster which you can't see or
sense---perhaps it is invisible and has just tapped you on the
noggin---a special ``remembered, unseen monster'' marker will be displayed at
the location where you think it is.
That will persist until you have
proven that there is no monster there, even if the unseen monster
@@ -2326,7 +2326,7 @@ But first you need to have a weapon in each hand.
(Note that your two weapons are not fully equal; the one in the
hand you normally wield with is considered primary and the other
one is considered secondary. The most noticeable difference is
after you stop--or before you begin, for that matter--wielding
after you stop---or before you begin, for that matter---wielding
two weapons at once. The primary is your wielded weapon and the
secondary is just an item in your inventory that's been designated
as alternate weapon.)
@@ -2558,7 +2558,7 @@ The commands to use rings are `{\tt P}' (put on) and `{\tt R}' (remove).
%.pg
Spellbooks are tomes of mighty magic. When studied with the `{\tt r}' (read)
command, they transfer to the reader the knowledge of a spell (and
therefore eventually become unreadable) --- unless the attempt backfires.
therefore eventually become unreadable)---unless the attempt backfires.
Reading a cursed spellbook or one with mystic runes beyond
your ken can be harmful to your health!
@@ -2701,9 +2701,9 @@ you are carrying (shopkeepers aside).
Normally, if you have seen an object at a particular map location and
move to another location where you can't directly see that object any
more, if will continue to be displayed on your map.
That remains the case even if it is not actually there any more--
perhaps a monster has picked it up or it has rotted away--
until you can see or feel that location again.
That remains the case even if it is not actually there any
more---perhaps a monster has picked it up or it has rotted
away---until you can see or feel that location again.
One notable exception is that if the object gets covered by the
``remembered, unseen monster'' marker.
When that marker is later removed
@@ -2895,9 +2895,13 @@ Section names are case insensitive.
%.pg
You can use different configuration statements in the file, some
of which can be used multiple times. In general, the statements are
of which can be used multiple times.
In general, the statements are
written in capital letters, followed by an equals sign, followed by
settings particular to that statement. Here is a list of allowed statements:
settings particular to that statement.
%.pg
Here is a list of allowed statements:
%.lp
\blist{}
@@ -2912,7 +2916,7 @@ You can specify multiple OPTIONS statements, and multiple options
separated by commas in a single OPTIONS statement.
(Comma separated options are processed from right to left.)
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
@@ -2946,6 +2950,9 @@ HACKDIR, must be writable.
\item[\bb{TROUBLEDIR}]
The location that a record of game aborts and self-diagnosed game problems
is kept. Defaults to HACKDIR, must be writable.
%
% config file entries beyond this point are shown alphabetically
%
%.lp
\item[\bb{AUTOCOMPLETE}]
Enable or disable an extended command autocompletion.
@@ -2955,11 +2962,11 @@ autocompletion, list the extended command. Prefix the
command with ``{{\tt !}}'' to disable the autocompletion
for that command.
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
AUTOCOMPLETE=zap,!annotate
AUTOCOMPLETE=zap,!annotate
\end{verbatim}
%.ed
@@ -2974,7 +2981,7 @@ extended commands. You can specify multiple bindings. Format is key
followed by the command, separated by a colon.
See the ``Changing Key Bindings`` section for more information.
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
@@ -2987,7 +2994,7 @@ Example:
Chooses at random one of the comma-separated parameters as an active
section name. Lines in other sections are ignored.
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
@@ -3000,23 +3007,39 @@ Example:
\end{verbatim}
%.ed
%.lp
\item[\bb{MSGTYPE}]
Change the way messages are shown in the top status line.
See the ``Configuring Message Types`` section.
%.lp
\item[\bb{MENUCOLOR}]
Highlight menu lines with different colors.
See the ``Configuring Menu Colors`` section.
%.lp
\item[\bb{SYMBOLS},\bb{ROGUESYMBOLS}]
Override one or more symbols in the symbols files.
\item[\bb{MSGTYPE}]
Change the way messages are shown in the top status line.
See the ``Configuring Message Types`` section.
%.lp
\item[\bb{ROGUESYMBOLS}]
Custom symbols for for the rogue level's symbol set.
See {\it SYMBOLS} below.
%.lp
\item[\bb{SOUND}]
Define a sound mapping.
See the ``Configuring User Sounds'' section.
%.lp
\item[\bb{SOUNDDIR}]
Define the directory that contains the sound files.
See the ``Configuring User Sounds'' section.
%.lp
\item[\bb{SYMBOLS}]
Override one or more symbols in the symbol set used for all dungeon
levels except for the special rogue level.
See the ``Modifying {\it NetHack\/} Symbols'' section.
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
SYMBOLS=S_boulder:0
# replace small punctuation (tick marks) with digits
SYMBOLS=S_boulder:0,S_golem:7
\end{verbatim}
%.ed
@@ -3026,22 +3049,17 @@ Debug mode only: extra items to add to initial inventory.
Value is the name of a text file containing a list of item names,
one per line, up to a maximum of 128 lines.
Each line is processed by the function that handles wishing.
%.pg
%.lp ""
Example:
%.sd
\begin{verbatim}
WIZKIT=~/wizkit.txt
WIZKIT=~/wizkit.txt
\end{verbatim}
%.ed
%.lp
\item[\bb{SOUNDDIR}]
Define the directory that contains the sound files.
See the ``Configuring User Sounds'' section.
%.lp
\item[\bb{SOUND}]
Define a sound mapping. See the ``Configuring User Sounds'' section.
\elist
%.lp ""
%.pg
Here is a short example of config file contents:
%.sd
@@ -4366,158 +4384,158 @@ Below are the special commands you can rebind. Some of them can be bound to
same keys with no problems, others are in the same ``context'', and if bound
to same keys, only one of those commands will be available. Special command
can only be bound to a single key.
\elist
%.pg
\blist{}
\blist{\itemindent 10mm \labelwidth 15mm \rightmargin 20mm}
%.lp
\item{\bb{count}}
\item[{\bb{count}}]
Prefix key to start a count, to repeat a command this many times.
With {\it number\verb+_+pad\/} only. Default is `{\tt n}'.
%.lp
\item{\bb{doinv}}
\item[{\bb{doinv}}]
Show inventory. With {\it number\verb+_+pad\/} only. Default is `{\tt 0}'.
%.lp
\item{\bb{fight}}
\item[{\bb{fight}}]
Prefix key to force fight a direction. Default is `{\tt F}'.
%.lp
\item{\bb{fight.numpad}}
\item[{\bb{fight.numpad}}]
Prefix key to force fight a direction. With {\it number\verb+_+pad\/} only.
Default is `{\tt -}'.
%.lp
\item{\bb{getdir.help}}
\item[{\bb{getdir.help}}]
When asked for a direction, the key to show the help. Default is `{\tt ?}'.
%.lp
\item{\bb{getdir.self}}
\item[{\bb{getdir.self}}]
When asked for a direction, the key to target yourself. Default is `{\tt .}'.
%.lp
\item{\bb{getdir.self2}}
\item[{\bb{getdir.self2}}]
When asked for a direction, the key to target yourself. Default is `{\tt s}'.
%.lp
\item{\bb{getpos.autodescribe}}
\item[{\bb{getpos.autodescribe}}]
When asked for a location, the key to toggle {\it autodescribe\/}.
Default is `{\tt \#}'.
%.lp
\item{\bb{getpos.all.next}}
\item[{\bb{getpos.all.next}}]
When asked for a location, the key to go to next closest interesting thing.
Default is `{\tt a}'.
%.lp
\item{\bb{getpos.all.prev}}
\item[{\bb{getpos.all.prev}}]
When asked for a location, the key to go to previous closest interesting thing.
Default is `{\tt A}'.
%.lp
\item{\bb{getpos.door.next}}
\item[{\bb{getpos.door.next}}]
When asked for a location, the key to go to next closest door or doorway.
Default is `{\tt d}'.
%.lp
\item{\bb{getpos.door.prev}}
\item[{\bb{getpos.door.prev}}]
When asked for a location, the key to go to previous closest door or doorway.
Default is `{\tt D}'.
%.lp
\item{\bb{getpos.help}}
\item[{\bb{getpos.help}}]
When asked for a location, the key to show help. Default is `{\tt ?}'.
%.lp
\item{\bb{getpos.mon.next}}
\item[{\bb{getpos.mon.next}}]
When asked for a location, the key to go to next closest monster.
Default is `{\tt m}'.
%.lp
\item{\bb{getpos.mon.prev}}
\item[{\bb{getpos.mon.prev}}]
When asked for a location, the key to go to previous closest monster.
Default is `{\tt M}'.
%.lp
\item{\bb{getpos.obj.next}}
\item[{\bb{getpos.obj.next}}]
When asked for a location, the key to go to next closest object.
Default is `{\tt o}'.
%.lp
\item{\bb{getpos.obj.prev}}
\item[{\bb{getpos.obj.prev}}]
When asked for a location, the key to go to previous closest object.
Default is `{\tt O}'.
%.lp
\item{\bb{getpos.menu}}
\item[{\bb{getpos.menu}}]
When asked for a location, and using one of the next or previous keys to
cycle through targets, toggle showing a menu instead. Default is `{\tt !}'.
%.lp
\item{\bb{getpos.moveskip}}
\item[{\bb{getpos.moveskip}}]
When asked for a location, and using the shifted movement keys or
meta-digit keys to fast-move around, move by skipping the same glyphs
instead of by 8 units.
Default is `{\tt *}'.
%.lp
\item{\bb{getpos.filter}}
\item[{\bb{getpos.filter}}]
When asked for a location, change the filtering mode when using one of
the next or previous keys to cycle through targets. Toggles between no
filtering, in view only, and in the same area only. Default is `{\tt "}'.
%.lp
\item{\bb{getpos.pick}}
\item[{\bb{getpos.pick}}]
When asked for a location, the key to choose the location, and possibly
ask for more info. Default is `{\tt .}'.
%.lp
\item{\bb{getpos.pick.once}}
\item[{\bb{getpos.pick.once}}]
When asked for a location, the key to choose the location, and skip
asking for more info. Default is `{\tt ,}'.
%.lp
\item{\bb{getpos.pick.quick}}
\item[{\bb{getpos.pick.quick}}]
When asked for a location, the key to choose the location, skip asking
for more info, and exit the location asking loop. Default is `{\tt ;}'.
%.lp
\item{\bb{getpos.pick.verbose}}
\item[{\bb{getpos.pick.verbose}}]
When asked for a location, the key to choose the location, and show more
info without asking. Default is `{\tt :}'.
%.lp
\item{\bb{getpos.self}}
\item[{\bb{getpos.self}}]
When asked for a location, the key to go to your location.
Default is `{\tt @}'.
%.lp
\item{\bb{getpos.unexplored.next}}
\item[{\bb{getpos.unexplored.next}}]
When asked for a location, the key to go to next closest unexplored location.
Default is `{\tt x}'.
%.lp
\item{\bb{getpos.unexplored.prev}}
\item[{\bb{getpos.unexplored.prev}}]
When asked for a location, the key to go to previous closest unexplored
location. Default is `{\tt X}'.
%.lp
\item{\bb{getpos.valid}}
\item[{\bb{getpos.valid}}]
When asked for a location, the key to go to show valid target locations.
Default is `{\tt \$}'.
%.lp
\item{\bb{getpos.valid.next}}
\item[{\bb{getpos.valid.next}}]
When asked for a location, the key to go to next closest valid location.
Default is `{\tt z}'.
%.lp
\item{\bb{getpos.valid.prev}}
\item[{\bb{getpos.valid.prev}}]
When asked for a location, the key to go to previous closest valid location.
Default is `{\tt Z}'.
%.lp
\item{\bb{nopickup}}
\item[{\bb{nopickup}}]
Prefix key to move without picking up items. Default is `{\tt m}'.
%.lp
\item{\bb{redraw}}
\item[{\bb{redraw}}]
Key to redraw the screen. Default is `{\tt \^{}R}'.
%.lp
\item{\bb{redraw.numpad}}
\item[{\bb{redraw.numpad}}]
Key to redraw the screen. With {\it number\verb+_+pad\/} only.
Default is `{\tt \^{}L}'.
%.lp
\item{\bb{repeat}}
\item[{\bb{repeat}}]
Key to repeat previous command. Default is `{\tt \^{}A}'.
%.lp
\item{\bb{reqmenu}}
\item[{\bb{reqmenu}}]
Prefix key to request menu from some commands. Default is `{\tt m}'.
%.lp
\item{\bb{run}}
\item[{\bb{run}}]
Prefix key to run towards a direction. Default is `{\tt G}'.
%.lp
\item{\bb{run.nopickup}}
\item[{\bb{run.nopickup}}]
Prefix key to run towards a direction without picking up items on the way.
Default is `{\tt M}'.
%.lp
\item{\bb{run.numpad}}
\item[{\bb{run.numpad}}]
Prefix key to run towards a direction. With {\it number\verb+_+pad\/} only.
Default is `{\tt 5}'.
%.lp
\item{\bb{rush}}
\item[{\bb{rush}}]
Prefix key to rush towards a direction. Default is `{\tt g}'.
\elist
\elist
%.hn 2
@@ -4721,6 +4739,8 @@ combination with any of the other attributes.
To specify both a color and an attribute, use `\&' to combine them.
To specify multiple attributes, use `+' to combine those.
%.lp ""
For example: {\tt magenta\&inverse+dim}.
Note that the display may substitute or ignore particular attributes
@@ -4773,23 +4793,19 @@ percentage or absolute number threshold, or text to match against.
\blist{}
%.lp "*"
\item{\bb{}}
``{\tt always}'' will set the default attributes for that field.
\item[{\tt always}] will set the default attributes for that field.
%.lp "*"
\item{\bb{}}
``{\tt up}'' and ``{\tt down}'' set the field attributes for when the field
\item[{\tt up} and ``{\tt down}''] set the field attributes for when the field
value changes upwards or downwards. This attribute times out after
{\tt statushilites} turns.
%.lp "*"
\item{\bb{}}
``{\tt changed}'' sets the field attribute for when the field value
\item[{\tt changed}] sets the field attribute for when the field value
changes. This attribute times out after {\tt statushilites} turns.
(If a field has both a ``changed'' rule and an ``up'' or ``down''
rule which matches a change in the field's value,
the ``up'' or ``down'' one takes precedence.)
%.lp "*"
\item{\bb{}}
percentage sets the field attribute when the field value
\item[{\tt percentage}] sets the field attribute when the field value
matches the percentage.
It is specified as a number between 0 and 100, followed by `{\tt \%}'
(percent sign).
@@ -4817,8 +4833,7 @@ exactly 1 experience point short of the next level.
% percentage will remain at 0\% no matter have many additional experience
% points you earn.)
%.lp "*"
\item{\bb{}}
absolute value sets the attribute when the field value
\item[{\tt absolute}] value sets the attribute when the field value
matches that number.
The number must be 0 or higher, except for ``{\it armor-class\/} which
allows negative values, and may optionally be preceded by `{\tt =}'.
@@ -4827,8 +4842,7 @@ it also matches when value is below or above.
If the prefix is `{\tt <}' or `{\tt >}', only match when strictly
above or below.
%.lp "*"
\item{\bb{}}
text match sets the attribute when the field value matches the text.
\item[{\tt text}] match sets the attribute when the field value matches the text.
Text matches can only be used for ``{\it alignment\/}'',
``{\it carrying-capacity\/}'', ``{\it hunger\/}'', ``{\it dungeon-level\/}'',
and ``{\it title\/}''.
@@ -4880,11 +4894,13 @@ on the rogue level.
\elist
You can also override one or more symbols using the {\it SYMBOLS\/} and
{\it ROGUESYMBOLS\/} config file options. Symbols are specified as
{\it name:value\/} pairs. Note that {\it NetHack\/} escape-processes
the {\it value\/} string in conventional C fashion. This means that `\verb+\+'
is a prefix to take the following character literally. Thus `\verb+\+' needs
to be represented as `\verb+\\+'.
{\it ROGUESYMBOLS\/} config file options.
Symbols are specified as {\it name:value\/} pairs.
Note that {\it NetHack\/} escape-processes
the {\it value\/} string in conventional C fashion.
This means that `\verb+\+' is a prefix to take the following character
literally.
Thus `\verb+\+' needs to be represented as `\verb+\\+'.
The special prefix
`\verb+\m+' switches on the meta bit in the symbol value, and the
`{\tt \^{}}' prefix causes the following character to be treated as a control
@@ -5071,8 +5087,8 @@ Default & Symbol Name & Description\\
\verb@Y@ & S\verb+_+yeti & (apelike creature)\\
\verb@Z@ & S\verb+_+zombie & (zombie)\\
\verb@z@ & S\verb+_+zruty & (zruty)\\
\verb@ @ & S\verb+_+pet\verb+_+override & (pet override if sysconf accessibility is set)\\
\verb@ @ & S\verb+_+player\verb+_+override & (player override if sysconf accessibility is set)
\verb@ @ & S\verb+_+pet\verb+_+override & (any pet if sysconf accessibility is set)\\
\verb@ @ & S\verb+_+player\verb+_+override & (hero if sysconf accessibility is set)
\end{longtable}%
}
@@ -5439,7 +5455,7 @@ with help from {\it Ross Brown}, {\it Mike Engber}, {\it David Hairston},
{\it Michael Hamel}, {\it Jonathan Handler}, {\it Johnny Lee},
{\it Tim Lennan}, {\it Rob Menke}, and {\it Andy Swanson},
developed {\it NetHack\/} 3.1 for the Macintosh, porting it for MPW.
Building on their development, {\it Barton House} added a Think C port.
Building on their development, {\it Bart House} added a Think C port.
%.pg
\medskip
@@ -5652,7 +5668,7 @@ maintained the port of {\it NetHack\/} 3.6 for Mac OSX.
%.pg
\medskip
{\it Michael Allison}, {\it David Cohrs}, {\it Barton House},
{\it Michael Allison}, {\it David Cohrs}, {\it Bart House},
{\it Pasi Kallinen}, {\it Alex Kompel}, {\it Dion Nicolaas},
{\it Derek S. Ray} and {\it Yitzhak Sapir}
maintained the port of {\it NetHack\/} 3.6 for Microsoft Windows.
@@ -5686,6 +5702,11 @@ time of release of 3.6.1 consisted of
In early May 2019, another 320 bug fixes along with some enhancements and
the adopted curses window port, were released as 3.6.2.
%.pg
\medskip
{\it Bart House}, who had contributed to the game as a porting team participant
for decades, joined the {\it NetHack Development Team} in late May 2019.
%.pg
\medskip
\nd The official {\it NetHack\/} web site is maintained by {\it Ken Lorber} at
@@ -5727,7 +5748,7 @@ Andreas Dorn & Jeff Bailey & Pasi Kallinen\\
Andy Church & Jochen Erwied & Pat Rankin\\
Andy Swanson & John Kallen & Patric Mueller\\
Ari Huttunen & John Rupley & Paul Winner\\
Barton House & John S. Bien & Pierre Martineau\\
Bart House & John S. Bien & Pierre Martineau\\
Benson I. Margulies & Johnny Lee & Ralf Brown\\
Bill Dyer & Jon W\{tte & Ray Chason\\
Boudewijn Waijers & Jonathan Handler & Richard Addison\\

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ $NHDT-Date: 1572141706 2019/10/27 02:01:46 $
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.151 $ $NHDT-Date: 1572530225 2019/10/31 13:57:05 $
This fixes36.3 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.2 in May 2019. Please note, however,
@@ -208,6 +208,8 @@ parsing for the argument to 'scores' option was sloppy; "3a/o" (slash) and
"3a 1o" (space and digit one, not lowercase L) both worked but "3a o"
(just space) was supposed to but didn't
wizmakemap could leave genocided monsters on map
when entering Astral level, initial rendering of guardian angel didn't show
it as tame; noticeable if the level was entered with 'hilite_pet' On
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository

View File

@@ -21,6 +21,11 @@
* Note: 3.6.x was not verified with Symantec C.
*/
#if defined(MSDOS)
#define CONFIG_FILE "defaults.nh"
#define GUIDEBOOK_FILE "Guidebook.txt"
#endif
/*
* The following options are somewhat configurable depending on
* your compiler.

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 minion.c $NHDT-Date: 1561061319 2019/06/20 20:08:39 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.42 $ */
/* NetHack 3.6 minion.c $NHDT-Date: 1572530226 2019/10/31 13:57:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.43 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2008. */
/* NetHack may be freely redistributed. See license for details. */
@@ -481,15 +481,18 @@ gain_guardian_angel()
&& (mtmp = mk_roamer(&mons[PM_ANGEL], u.ualign.type, mm.x, mm.y,
TRUE)) != 0) {
mtmp->mstrategy &= ~STRAT_APPEARMSG;
/* guardian angel -- the one case mtame doesn't imply an
* edog structure, so we don't want to call tamedog().
* [Note: this predates mon->mextra which allows a monster
* to have both emin and edog at the same time.]
*/
mtmp->mtame = 10;
/* for 'hilite_pet'; after making tame, before next message */
newsym(mtmp->mx, mtmp->my);
if (!Blind)
pline("An angel appears near you.");
else
You_feel("the presence of a friendly angel near you.");
/* guardian angel -- the one case mtame doesn't
* imply an edog structure, so we don't want to
* call tamedog().
*/
mtmp->mtame = 10;
/* make him strong enough vs. endgame foes */
mtmp->m_lev = rn1(8, 15);
mtmp->mhp = mtmp->mhpmax =

View File

@@ -526,7 +526,8 @@ guilflags = $(lflags) -subsystem:windows,$(EXEVER)
dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
# basic subsystem specific libraries, less the C Run-Time
baselibs = kernel32.lib $(optlibs) $(winsocklibs) advapi32.lib gdi32.lib
baselibs = kernel32.lib $(optlibs) $(winsocklibs) advapi32.lib gdi32.lib \
ole32.lib Shell32.lib
winlibs = $(baselibs) user32.lib comdlg32.lib winspool.lib
# for Windows applications that use the C Run-Time libraries

View File

@@ -21,15 +21,17 @@ extern LONG GetCurrentPackageFullName(UINT32 *packageFullNameLength,
PWSTR packageFullName);
extern HRESULT SHGetKnownFolderPath(REFKNOWNFOLDERID rfid,
DWORD dwFlags, HANDLE hToken, PWSTR *ppszPath);
#ifndef DEFINE_KNOWN_FOLDER
#ifdef INITGUID
#define DEFINE_KNOWN_FOLDER(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) const GUID DECLSPEC_SELECTANY name = { l, w1, w2,{ b1, b2, b3, b4, b5, b6, b7, b8 } }
#else
#define DEFINE_KNOWN_FOLDER(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) const GUID name
#endif
#endif /* INITGUID */
#endif /* DEFINE_KNOWN_FOLDER */
DEFINE_KNOWN_FOLDER (FOLDERID_ProgramData, 0x62ab5d82, 0xfdc1, 0x4dc3, 0xa9, 0xdd, 0x07, 0x0d, 0x1d, 0x49, 0x5d, 0x97);
DEFINE_KNOWN_FOLDER (FOLDERID_LocalAppData, 0xf1b32785, 0x6fba, 0x4fcf, 0x9d, 0x55, 0x7b, 0x8e, 0x7f, 0x15, 0x70, 0x91);
DEFINE_KNOWN_FOLDER (FOLDERID_Profile, 0x5e6c858f, 0x0e22, 0x4760, 0x9a, 0xfe, 0xea, 0x33, 0x17, 0xb6, 0x71, 0x73);
#endif
#endif /* __MINGW32__ */
#if 0
#include "wintty.h"