Merge branch 'NetHack-3.6.0'

This commit is contained in:
nhmall
2018-05-17 19:43:29 -04:00
29 changed files with 257 additions and 255 deletions
+15 -15
View File
@@ -87,7 +87,7 @@ wield.c windows.c wizard.c worm.c worn.c
write.c zap.c write.c zap.c
sys/amiga: sys/amiga:
(files for Amiga versions - untested for 3.6.1) (files for Amiga versions - untested for 3.6.2)
Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf
amidos.c amidos.p amifont.uu amifont8.uu amigst.c amidos.c amidos.p amifont.uu amifont8.uu amigst.c
amii.hlp amimenu.c amirip.c amisnd.c amistack.c amii.hlp amimenu.c amirip.c amisnd.c amistack.c
@@ -98,16 +98,16 @@ winfuncs.c winkey.c winmenu.c winproto.h winreq.c
winstr.c xpm2iff.c winstr.c xpm2iff.c
sys/atari: sys/atari:
(files for Atari version - untested for 3.6.1) (files for Atari version - untested for 3.6.2)
Install.tos atarifnt.uue nethack.mnu setup.g tos.c Install.tos atarifnt.uue nethack.mnu setup.g tos.c
unx2atar.sed unx2atar.sed
sys/be: sys/be:
(files for BeOS version - untested for 3.6.1) (files for BeOS version - untested for 3.6.2)
README bemain.c README bemain.c
sys/mac: sys/mac:
(files for Macintosh versions) (files for 68K Macintosh versions)
Files.r Install.mw MacHelp NHDeflts NHrsrc.hqx Files.r Install.mw MacHelp NHDeflts NHrsrc.hqx
NHsound.hqx News README carbon.plist dprintf.c NHsound.hqx News README carbon.plist dprintf.c
maccurs.c macerrs.c macfile.c machelp.hqx macmain.c maccurs.c macerrs.c macfile.c machelp.hqx macmain.c
@@ -116,7 +116,7 @@ macwin.c mgetline.c mmodal.c mrecover.c mrecover.hqx
mttymain.c mttymain.c
sys/msdos: sys/msdos:
(files for MSDOS version - untested for 3.6.1) (files for MSDOS version - untested for 3.6.2)
Install.dos Makefile.BC Makefile.GCC Makefile.MSC moveinit.pat Install.dos Makefile.BC Makefile.GCC Makefile.MSC moveinit.pat
msdos.c msdoshlp.txt ovlinit.c pckeys.c pctiles.c msdos.c msdoshlp.txt ovlinit.c pckeys.c pctiles.c
pctiles.h pcvideo.h portio.h schema1.BC schema2.BC pctiles.h pcvideo.h portio.h schema1.BC schema2.BC
@@ -126,17 +126,17 @@ vesa.h video.c vidtxt.c vidvesa.c vidvga.c
nhico.uu nhpif.uu nhico.uu nhpif.uu
sys/os2: sys/os2:
(files for OS/2 version - untested for 3.6.1) (files for OS/2 version - untested for 3.6.2)
Install.os2 Makefile.os2 nhpmico.uu os2.c Install.os2 Makefile.os2 nhpmico.uu os2.c
sys/share: sys/share:
(files for MSDOS and OS/2 versions - untested for 3.6.1) (files for MSDOS and OS/2 versions - untested for 3.6.2)
Makefile.lib termcap.uu Makefile.lib termcap.uu
(file for MSDOS, OS/2, NT, Amiga, and Atari versions - untested for 3.6.1) (file for MSDOS, OS/2, NT, Amiga, and Atari versions - untested for 3.6.2)
pcmain.c pcmain.c
(files for MSDOS, OS/2, NT, and Atari versions - untested for 3.6.1) (files for MSDOS, OS/2, NT, and Atari versions - untested for 3.6.2)
pcsys.c pcunix.c pcsys.c pcunix.c
(file for MSDOS, OS/2, and Atari versions - untested for 3.6.1) (file for MSDOS, OS/2, and Atari versions - untested for 3.6.2)
NetHack.cnf pctty.c NetHack.cnf pctty.c
(files for UNIX and Be versions) (files for UNIX and Be versions)
ioctl.c unixtty.c ioctl.c unixtty.c
@@ -191,7 +191,7 @@ spec_lev.com sysconf vmsbuild.com vmsfiles.c vmsmail.c
vmsmain.c vmsmisc.c vmstty.c vmsunix.c vmsmain.c vmsmisc.c vmstty.c vmsunix.c
sys/wince: sys/wince:
(files for Windows CE and PocketPC - untested for 3.6.1) (files for Windows CE and PocketPC - untested for 3.6.2)
Install.ce bootstrp.mak celib.c cesetup.bat cesound.c Install.ce bootstrp.mak celib.c cesetup.bat cesound.c
defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h
mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c
@@ -204,11 +204,11 @@ resource.h winMS.h winhack.c winhack.rc winhcksp.rc
winmain.c winmain.c
sys/wince/ceinc: sys/wince/ceinc:
(header files for Windows CE and PocketPC - untested for 3.6.1) (header files for Windows CE and PocketPC - untested for 3.6.2)
assert.h errno.h fcntl.h assert.h errno.h fcntl.h
sys/wince/ceinc/sys: sys/wince/ceinc/sys:
(sys/stat.h for Windows CE and PocketPC - untested for 3.6.1) (sys/stat.h for Windows CE and PocketPC - untested for 3.6.2)
stat.h stat.h
sys/winnt: sys/winnt:
@@ -257,13 +257,13 @@ win/chain:
wc_chainin.c wc_chainout.c wc_trace.c wc_chainin.c wc_chainout.c wc_trace.c
win/gem: win/gem:
(files for GEM versions - untested for 3.6.1) (files for GEM versions - untested for 3.6.2)
Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c
gr_rect.h load_img.c tile2img.c title.uu wingem.c gr_rect.h load_img.c tile2img.c title.uu wingem.c
wingem1.c xpm2img.c wingem1.c xpm2img.c
win/gnome: win/gnome:
(files for GNOME versions - untested for 3.6.1) (files for GNOME versions - untested for 3.6.2)
README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c
gnbind.h gnglyph.c gnglyph.h gnmain.c gnmain.h gnbind.h gnglyph.c gnglyph.h gnmain.c gnmain.h
gnmap.c gnmap.h gnmenu.c gnmenu.h gnmesg.c gnmap.c gnmap.h gnmenu.c gnmenu.h gnmesg.c
+12 -28
View File
@@ -1,39 +1,23 @@
NetHack 3.6.1 -- General information NetHack 3.6.2 -- General information
NetHack 3.6 is an enhancement to the dungeon exploration game NetHack, NetHack 3.6 is an enhancement to the dungeon exploration game NetHack,
which is a distant descendent of Rogue and Hack, and a direct descendent of which is a distant descendent of Rogue and Hack, and a direct descendent of
NetHack 3.4 as there was no NetHack 3.5 release. NetHack 3.4 as there was no NetHack 3.5 release.
NetHack 3.6.1 contains over 470 bug fixes to NetHack 3.6.0. The NetHack 3.6.2 contains a collection of more than 15 bug fixes to NetHack 3.6.1.
file doc/fixes36.1 in the source distribution has a full list of them. The file doc/fixes36.2 in the source distribution has a full list of them. The
The text in there was written for the development team's own use and is text in there was written for the development team's own use and is provided
provided "as is", so please do not ask us to further explain the entries "as is", so please do not ask us to further explain the entries in that file.
in that file. Some entries might be considered "spoilers", particularly Some entries might be considered "spoilers", particularly in the "new features"
in the "new features" section. section.
Below you will find some other general notes that were not considered Below you will find some other general notes that were not considered
spoilers: spoilers:
* additional Terry Pratchett tribute passages * Performance optimizations with tty including the ability to do per field
* enhanced map position picking updating
* new status line conditions Stone Strngl Deaf Lev Fly Ride * sys/winnt/nttty performance improvements mainly through the introduction
* updated status hilites and several interface enhancements of a back buffer approach
* new paranoid_confirm settings * a couple of windows crash bug fixes
* a new extended command #kick
* the vanquished monsters list can be sorted during end of game disclosure
* fountains are bright blue
* travel accepts 'm' (request menu) prefix
* pressing a or A when cursor positioning shows menu of "interesting" features
* pressing z or Z when cursor positioning can cycle through valid locations
* add option herecmd_menu to make a mouse click on your character pop up a menu
* #adjust's behavior altered when collecting compatible stacks
* Some community patches that were included:
- Malcolm Ryan's improved tin opener
- Ray Chason's MSDOS port support for some VESA modes
- Ray Chason's Qt4 windowport
- Darshan Shaligram's pet ranged attack
- Jason Dorje Short's key rebinding
- Maxime Bacoux's new DUMPLOG
* updated database entries for several things
- - - - - - - - - - - - - - - - - - - - - -
+2 -2
View File
@@ -21,7 +21,7 @@
.ds vr "NetHack 3.6 .ds vr "NetHack 3.6
.ds f0 "\*(vr .ds f0 "\*(vr
.ds f1 .ds f1
.ds f2 "April 27, 2018 .ds f2 "May 16, 2018
. .
.\" labeled paragraph start (should be part of tmac.n, but I don't want to .\" labeled paragraph start (should be part of tmac.n, but I don't want to
.\" make changes to that file) .\" make changes to that file)
@@ -4181,7 +4181,7 @@ if your game is compiled with DUMPLOG. Allows the following placeholders:
.PL %% .PL %%
literal '%' literal '%'
.PL %v .PL %v
version (eg. "3.6.1-0") version (eg. "3.6.2-0")
.PL %u .PL %u
game UID game UID
.PL %t .PL %t
+2 -2
View File
@@ -45,7 +45,7 @@
%.au %.au
\author{Original version - Eric S. Raymond\\ \author{Original version - Eric S. Raymond\\
(Edited and expanded for 3.6 by Mike Stephenson and others)} (Edited and expanded for 3.6 by Mike Stephenson and others)}
\date{April 27, 2018} \date{May 16, 2018}
\maketitle \maketitle
@@ -4851,7 +4851,7 @@ if your game is compiled with DUMPLOG. Allows the following placeholders:
%.sd %.sd
%.si %.si
{\tt \%\%} --- literal `{\tt \%}'\\ {\tt \%\%} --- literal `{\tt \%}'\\
{\tt \%v} --- version (eg. "3.6.1-0")\\ {\tt \%v} --- version (eg. "3.6.2-0")\\
{\tt \%u} --- game UID\\ {\tt \%u} --- game UID\\
{\tt \%t} --- game start time, UNIX timestamp format\\ {\tt \%t} --- game start time, UNIX timestamp format\\
{\tt \%T} --- current time, UNIX timestamp format\\ {\tt \%T} --- current time, UNIX timestamp format\\
+88 -88
View File
@@ -126,7 +126,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -192,7 +192,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -258,7 +258,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -324,7 +324,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -390,7 +390,7 @@
friendly creatures. The lower this number is, the more friendly creatures. The lower this number is, the more
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -456,7 +456,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -522,7 +522,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -588,7 +588,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -654,7 +654,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -720,7 +720,7 @@
mouse support, the command is also invoked when a mouse- mouse support, the command is also invoked when a mouse-
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -786,7 +786,7 @@
scrolls, and so on), shop status (`u' for unpaid, in other scrolls, and so on), shop status (`u' for unpaid, in other
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -852,7 +852,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -918,7 +918,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -984,7 +984,7 @@
cept an item of armor and attempt to wear it.) cept an item of armor and attempt to wear it.)
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1050,7 +1050,7 @@
(R)UNIX is a registered trademark of The Open Group. (R)UNIX is a registered trademark of The Open Group.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1116,7 +1116,7 @@
enter a count prior to its letter. enter a count prior to its letter.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1182,7 +1182,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1248,7 +1248,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1314,7 +1314,7 @@
and 'M-N'. and 'M-N'.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1380,7 +1380,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1446,7 +1446,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1512,7 +1512,7 @@
Throw something. Default key is 't'. Throw something. Default key is 't'.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1578,7 +1578,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1644,7 +1644,7 @@
Show locations of special levels. Autocompletes. Wizard-mode Show locations of special levels. Autocompletes. Wizard-mode
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1710,7 +1710,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1776,7 +1776,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1842,7 +1842,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1908,7 +1908,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -1974,7 +1974,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2040,7 +2040,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2106,7 +2106,7 @@
of that object to your load. The amount that you can carry of that object to your load. The amount that you can carry
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2172,7 +2172,7 @@
as uncursed. They could just as easily have been described as as uncursed. They could just as easily have been described as
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2238,7 +2238,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2304,7 +2304,7 @@
and still hit a target is not an easy task. Rangers are among and still hit a target is not an easy task. Rangers are among
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2370,7 +2370,7 @@
you feel more confident in your skills. At that point you can you feel more confident in your skills. At that point you can
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2436,7 +2436,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2502,7 +2502,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2568,7 +2568,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2634,7 +2634,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2700,7 +2700,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2766,7 +2766,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2832,7 +2832,7 @@
fungi (`F') are also considered to be vegetable matter. Certain fungi (`F') are also considered to be vegetable matter. Certain
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2898,7 +2898,7 @@
of item; or fight with your hands and feet. of item; or fight with your hands and feet.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -2964,7 +2964,7 @@
ux, and Mac OS X it is ``.nethackrc'' in the user's home ux, and Mac OS X it is ``.nethackrc'' in the user's home
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3030,7 +3030,7 @@
Defaults to HACKDIR, must be writeable. Defaults to HACKDIR, must be writeable.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3096,7 +3096,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3162,7 +3162,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3228,7 +3228,7 @@
(fire) command with an empty quiver (or quiver sack or have (fire) command with an empty quiver (or quiver sack or have
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3294,7 +3294,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3360,7 +3360,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3426,7 +3426,7 @@
aren't interrupted with the ``More info?'' prompt, but it also aren't interrupted with the ``More info?'' prompt, but it also
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3492,7 +3492,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3558,7 +3558,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3624,7 +3624,7 @@
Set your character's name (defaults to your user name). You Set your character's name (defaults to your user name). You
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3690,7 +3690,7 @@
instead of accepting any non-yes response as no instead of accepting any non-yes response as no
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3756,7 +3756,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3822,7 +3822,7 @@
screen on the rogue level. screen on the rogue level.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3888,7 +3888,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -3954,7 +3954,7 @@
Put the ending display in a NetHack window instead of on stdout Put the ending display in a NetHack window instead of on stdout
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4020,7 +4020,7 @@
target. (default off) target. (default off)
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4086,7 +4086,7 @@
map window. map window.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4152,7 +4152,7 @@
If NetHack can, it should pop up dialog boxes for input. If NetHack can, it should pop up dialog boxes for input.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4218,7 +4218,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4284,7 +4284,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4350,7 +4350,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4416,7 +4416,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4482,7 +4482,7 @@
When asked for a location, the key to go to previous closest When asked for a location, the key to go to previous closest
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4548,7 +4548,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4614,7 +4614,7 @@
Prefix key to run towards a direction without picking up items Prefix key to run towards a direction without picking up items
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4680,7 +4680,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4746,7 +4746,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4812,7 +4812,7 @@
tion flags: stone, slime, strngl, foodpois, termill, blind, tion flags: stone, slime, strngl, foodpois, termill, blind,
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4878,7 +4878,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -4944,7 +4944,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5010,7 +5010,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5076,7 +5076,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5142,7 +5142,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5208,7 +5208,7 @@
Load a symbol set for the rogue level that is appropriate for Load a symbol set for the rogue level that is appropriate for
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5274,7 +5274,7 @@
a game in wizard mode. a game in wizard mode.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5332,7 +5332,7 @@
lows the following placeholders: lows the following placeholders:
%% - literal '%' %% - literal '%'
%v - version (eg. "3.6.1-0") %v - version (eg. "3.6.2-0")
%u - game UID %u - game UID
%t - game start time, UNIX timestamp format %t - game start time, UNIX timestamp format
%T - current time, UNIX timestamp format %T - current time, UNIX timestamp format
@@ -5340,7 +5340,7 @@
%D - current time, YYYYMMDDhhmmss format %D - current time, YYYYMMDDhhmmss format
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5406,7 +5406,7 @@
playmode:debug option. playmode:debug option.
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5472,7 +5472,7 @@
code for PC NetHack 3.0. Johnny Lee ported NetHack 3.0 to the code for PC NetHack 3.0. Johnny Lee ported NetHack 3.0 to the
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5538,7 +5538,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5604,7 +5604,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5670,7 +5670,7 @@
Walz, and Paul Winner. In early 2015, ahead of the release of Walz, and Paul Winner. In early 2015, ahead of the release of
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5736,7 +5736,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
@@ -5802,7 +5802,7 @@
NetHack 3.6 April 27, 2018 NetHack 3.6 May 16, 2018
+11 -10
View File
@@ -2,16 +2,17 @@ $NHDT-Branch: $:$NHDT-Revision: $ $NHDT-Date: $
This fixes36.2 file is here to capture information about updates in the 3.6.x This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however, lineage following the release of 3.6.1 in April 2018. Please note, however,
that another 3.6.x release is not anticipated, and most developer focus will that another 3.6.x release is not anticipated after 3.6.2, and most developer
shift to the next major release. focus will shift to the next major release.
General Fixes and Modified Features General Fixes and Modified Features
----------------------------------- -----------------------------------
last line of config file wasn't being heeded if it had no newline last line of config file wasn't being heeded if it had no newline
list MSGTYPE values shows empty strings as reported in H7140 list MSGTYPE values shows empty strings as reported in H7140
Killing Vlad while he was in bat/fog cloud/wolf form gave poorly Killing Vlad while he was in bat/fog cloud/wolf form gave poorly worded
worded feedback when he reverted to vampire form feedback when he reverted to vampire form
spaces in hilite_status option title text field not working spaces in hilite_status option title text field not working
numeric hilite_status values didn't allow negative numbers (needed for AC)
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
@@ -25,11 +26,11 @@ windows-gui: In nethackw, there could be conflicts between menu accelerators
and an extra choice accelerator to fix H7132. and an extra choice accelerator to fix H7132.
windows-tty: Specify both width and height when creating font for width testing windows-tty: Specify both width and height when creating font for width testing
windows-tty: To counter lag problems that were occuring with the Win32 console windows-tty: To counter lag problems that were occuring with the Win32 console
port, implement a console back buffer to reduce the number of calls made to port, implement a console back buffer to reduce the number of calls
WriteConsoleOutputXXX made to WriteConsoleOutputXXX
windows-tty: Additional changes to xputc_core() and early_raw_print() to manage windows-tty: Additional changes to xputc_core() and early_raw_print() to
the cursor position correctly as that is needed to handle raw printing manage the cursor position correctly as that is needed to handle
correctly raw printing correctly
windows-tty: Added check for when we might be running off the bottom of the windows-tty: Added check for when we might be running off the bottom of the
screen when handling msmsg() screen when handling msmsg()
windows-tty: Added runtime checks to keep cursor always within bounds windows-tty: Added runtime checks to keep cursor always within bounds
@@ -38,7 +39,7 @@ windows-tty: Use nhraykey by default if the players keyboard layout is
non-english as reported in H4216 non-english as reported in H4216
windows-tty: We now support changing altkeyhandler in game windows-tty: We now support changing altkeyhandler in game
windows: Added ntassert() mechanism for Windows based port use windows: Added ntassert() mechanism for Windows based port use
tty: some optimizations for performance and per field rendering tty: significant optimizations for performance and per field rendering
General New Features General New Features
+1 -1
View File
@@ -544,7 +544,7 @@ typedef unsigned char uchar;
#define DUMPLOG_FILE "/tmp/nethack.%n.%d.log" #define DUMPLOG_FILE "/tmp/nethack.%n.%d.log"
/* DUMPLOG_FILE allows following placeholders: /* DUMPLOG_FILE allows following placeholders:
%% literal '%' %% literal '%'
%v version (eg. "3.6.1-0") %v version (eg. "3.6.2-0")
%u game UID %u game UID
%t game start time, UNIX timestamp format %t game start time, UNIX timestamp format
%T current time, UNIX timestamp format %T current time, UNIX timestamp format
+1 -1
View File
@@ -64,7 +64,7 @@ struct flag {
* 'schar' to 'short int' instead of to 'char'. (Needed by pre-ANSI * 'schar' to 'short int' instead of to 'char'. (Needed by pre-ANSI
* systems that use unsigned characters without a way to force them * systems that use unsigned characters without a way to force them
* to be signed.) So, the type has been changed back to 'xchar' for * to be signed.) So, the type has been changed back to 'xchar' for
* 3.6.1. * 3.6.x.
* *
* TODO: change to 'char' (and move out of this block of booleans, * TODO: change to 'char' (and move out of this block of booleans,
* and get rid of these comments...) once 3.6.0 savefile compatibility * and get rid of these comments...) once 3.6.0 savefile compatibility
+25 -19
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 botl.c $NHDT-Date: 1526427319 2018/05/15 23:35:19 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.92 $ */ /* NetHack 3.6 botl.c $NHDT-Date: 1526597284 2018/05/17 22:48:04 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.93 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2006. */ /*-Copyright (c) Michael Allison, 2006. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -892,7 +892,7 @@ status_finish()
blstats[1][i].thresholds = blstats[0][i].thresholds; blstats[1][i].thresholds = blstats[0][i].thresholds;
temp = next; temp = next;
} }
} }
#endif /* STATUS_HILITES */ #endif /* STATUS_HILITES */
} }
} }
@@ -1317,7 +1317,7 @@ int newcolor;
/* /*
* get_hilite_color * get_hilite_color
* *
* Figures out, based on the value and the * Figures out, based on the value and the
* direction it is moving, the color that the field * direction it is moving, the color that the field
* should be displayed in. * should be displayed in.
@@ -1432,7 +1432,7 @@ int *colorptr;
break; break;
} }
hl = hl->next; hl = hl->next;
} }
} }
*colorptr = bestcolor; *colorptr = bestcolor;
return; return;
@@ -1515,17 +1515,23 @@ boolean from_configfile;
return TRUE; return TRUE;
} }
/* is str in the format of "(<>)?[0-9]+%?" regex */ /* is str in the format of "[<>]?-?[0-9]+%?" regex */
STATIC_OVL boolean STATIC_OVL boolean
is_ltgt_percentnumber(str) is_ltgt_percentnumber(str)
const char *str; const char *str;
{ {
const char *s = str; const char *s = str;
if (*s == '<' || *s == '>') s++; if (*s == '<' || *s == '>')
while (digit(*s)) s++; s++;
if (*s == '%') s++; if (*s == '-')
s++;
/* note: this doesn't match the regexp shown above since it doesn't
require at least one digit; but it's adequate for how it gets used */
while (digit(*s))
s++;
if (*s == '%')
s++;
return (*s == '\0'); return (*s == '\0');
} }
@@ -1537,7 +1543,7 @@ const char *str;
const char *s = str; const char *s = str;
while (*s) { while (*s) {
if (!index("<>0123456789%", *s)) if (!index("<>-0123456789%", *s))
return FALSE; return FALSE;
s++; s++;
} }
@@ -1763,12 +1769,12 @@ boolean from_configfile;
up = TRUE; up = TRUE;
changed = TRUE; changed = TRUE;
goto do_rel; goto do_rel;
} else if (fld == BL_CAP } else if (fld == BL_CAP
&& is_fld_arrayvalues(s[sidx], enc_stat, && is_fld_arrayvalues(s[sidx], enc_stat,
SLT_ENCUMBER, OVERLOADED+1, &kidx)) { SLT_ENCUMBER, OVERLOADED+1, &kidx)) {
txt = enc_stat[kidx]; txt = enc_stat[kidx];
txtval = TRUE; txtval = TRUE;
goto do_rel; goto do_rel;
} else if (fld == BL_ALIGN } else if (fld == BL_ALIGN
&& is_fld_arrayvalues(s[sidx], aligntxt, 0, 3, &kidx)) { && is_fld_arrayvalues(s[sidx], aligntxt, 0, 3, &kidx)) {
txt = aligntxt[kidx]; txt = aligntxt[kidx];
@@ -1794,7 +1800,8 @@ boolean from_configfile;
(void) stripchars(tmpbuf, "%<>", tmp); (void) stripchars(tmpbuf, "%<>", tmp);
tmp = tmpbuf; tmp = tmpbuf;
while (*tmp) { while (*tmp) {
if (!index("0123456789", *tmp)) if (!index("0123456789", *tmp)
&& (*tmp != '-' || tmp > tmpbuf))
return FALSE; return FALSE;
tmp++; tmp++;
} }
@@ -1842,8 +1849,7 @@ do_rel:
else else
hilite.rel = LT_VALUE; hilite.rel = LT_VALUE;
if (initblstats[fld].anytype == ANY_STR if (initblstats[fld].anytype == ANY_STR && (percent || numeric)) {
&& (percent || numeric)) {
config_error_add("Field '%s' does not support numeric values", config_error_add("Field '%s' does not support numeric values",
initblstats[fld].fldname); initblstats[fld].fldname);
return FALSE; return FALSE;
@@ -1901,7 +1907,7 @@ do_rel:
if (c >= CLR_MAX || coloridx != -1) if (c >= CLR_MAX || coloridx != -1)
return FALSE; return FALSE;
coloridx = c; coloridx = c;
} }
} }
if (coloridx == -1) if (coloridx == -1)
coloridx = NO_COLOR; coloridx = NO_COLOR;
@@ -2125,7 +2131,7 @@ int sidx;
if (!success) if (!success)
config_error_add("Missing condition(s)"); config_error_add("Missing condition(s)");
return success; return success;
} }
Strcpy(buf, tmp); Strcpy(buf, tmp);
conditions_bitmask = str2conditionbitmask(buf); conditions_bitmask = str2conditionbitmask(buf);
@@ -2199,7 +2205,7 @@ int sidx;
if (k >= CLR_MAX) if (k >= CLR_MAX)
return FALSE; return FALSE;
coloridx = k; coloridx = k;
} }
} }
/* set the bits in the appropriate member of the /* set the bits in the appropriate member of the
condition array according to color chosen as index */ condition array according to color chosen as index */
@@ -2227,7 +2233,7 @@ clear_status_hilites()
blstats[1][i].thresholds = blstats[0][i].thresholds; blstats[1][i].thresholds = blstats[0][i].thresholds;
temp = next; temp = next;
} }
} }
} }
} }
+11 -8
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 mapglyph.c $NHDT-Date: 1448175698 2015/11/22 07:01:38 $ $NHDT-Branch: master $:$NHDT-Revision: 1.40 $ */ /* NetHack 3.6 mapglyph.c $NHDT-Date: 1526429201 2018/05/16 00:06:41 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.47 $ */
/* Copyright (c) David Cohrs, 1991 */ /* Copyright (c) David Cohrs, 1991 */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -9,7 +9,12 @@
#include "color.h" #include "color.h"
#define HI_DOMESTIC CLR_WHITE /* monst.c */ #define HI_DOMESTIC CLR_WHITE /* monst.c */
static int explcolors[] = { #if !defined(TTY_GRAPHICS)
#define has_color(n) TRUE
#endif
#ifdef TEXTCOLOR
static const int explcolors[] = {
CLR_BLACK, /* dark */ CLR_BLACK, /* dark */
CLR_GREEN, /* noxious */ CLR_GREEN, /* noxious */
CLR_BROWN, /* muddy */ CLR_BROWN, /* muddy */
@@ -19,11 +24,6 @@ static int explcolors[] = {
CLR_WHITE, /* frosty */ CLR_WHITE, /* frosty */
}; };
#if !defined(TTY_GRAPHICS)
#define has_color(n) TRUE
#endif
#ifdef TEXTCOLOR
#define zap_color(n) color = iflags.use_color ? zapcolors[n] : NO_COLOR #define zap_color(n) color = iflags.use_color ? zapcolors[n] : NO_COLOR
#define cmap_color(n) color = iflags.use_color ? defsyms[n].color : NO_COLOR #define cmap_color(n) color = iflags.use_color ? defsyms[n].color : NO_COLOR
#define obj_color(n) color = iflags.use_color ? objects[n].oc_color : NO_COLOR #define obj_color(n) color = iflags.use_color ? objects[n].oc_color : NO_COLOR
@@ -233,6 +233,8 @@ unsigned *ospecial;
*ospecial = special; *ospecial = special;
#ifdef TEXTCOLOR #ifdef TEXTCOLOR
*ocolor = color; *ocolor = color;
#else
nhUse(ocolor);
#endif #endif
return idx; return idx;
} }
@@ -241,7 +243,7 @@ char *
encglyph(glyph) encglyph(glyph)
int glyph; int glyph;
{ {
static char encbuf[20]; static char encbuf[20]; /* 10+1 would suffice */
Sprintf(encbuf, "\\G%04X%04X", context.rndencode, glyph); Sprintf(encbuf, "\\G%04X%04X", context.rndencode, glyph);
return encbuf; return encbuf;
@@ -338,6 +340,7 @@ int attr;
const char *str; const char *str;
{ {
char buf[BUFSZ]; char buf[BUFSZ];
/* now send it to the normal putstr */ /* now send it to the normal putstr */
putstr(window, attr, decode_mixed(buf, str)); putstr(window, attr, decode_mixed(buf, str));
} }
+1 -1
View File
@@ -1091,7 +1091,7 @@ char *buf;
case 'D': /* current time, YYYYMMDDhhmmss */ case 'D': /* current time, YYYYMMDDhhmmss */
Sprintf(tmpbuf, "%08ld%06ld", yyyymmdd(now), hhmmss(now)); Sprintf(tmpbuf, "%08ld%06ld", yyyymmdd(now), hhmmss(now));
break; break;
case 'v': /* version, eg. "3.6.1-0" */ case 'v': /* version, eg. "3.6.2-0" */
Sprintf(tmpbuf, "%s", version_string(verbuf)); Sprintf(tmpbuf, "%s", version_string(verbuf));
break; break;
case 'u': /* UID */ case 'u': /* UID */
+2 -2
View File
@@ -26,8 +26,8 @@ home directory you might perform these steps.
If you have old record and logfile entries from a previous NetHack version, If you have old record and logfile entries from a previous NetHack version,
you might want to save copies before they get overwritten by the new empty you might want to save copies before they get overwritten by the new empty
files; old saved games and bones files from 3.6.0 should work with 3.6.1 files; old saved games and bones files from 3.6.0 and 3.6.1 should work
but even older saved games and bones files from 3.4.3 will not. with 3.6.2 but even older saved games and bones files from 3.4.3 will not.
If you are installing from the RPM, there is no need to save the old record If you are installing from the RPM, there is no need to save the old record
and logfile; they are automatically preserved. and logfile; they are automatically preserved.
+1 -1
View File
@@ -90,7 +90,7 @@ MAXPLAYERS=10
# Only available if NetHack was compiled with DUMPLOG # Only available if NetHack was compiled with DUMPLOG
# Allows following placeholders: # Allows following placeholders:
# %% literal '%' # %% literal '%'
# %v version (eg. "3.6.1-0") # %v version (eg. "3.6.2-0")
# %u game UID # %u game UID
# %t game start time, UNIX timestamp format # %t game start time, UNIX timestamp format
# %T current time, UNIX timestamp format # %T current time, UNIX timestamp format
+3 -3
View File
@@ -1,4 +1,4 @@
Instructions for Building and Installing NetHack 3.6.1 Instructions for Building and Installing NetHack 3.6.2
on a VMS (aka OpenVMS) system on a VMS (aka OpenVMS) system
========================================= =========================================
@@ -137,8 +137,8 @@ Notes:
0. Version 3.5.x was never publicly released. 0. Version 3.5.x was never publicly released.
1. Save files and bones files from 3.4.x and earlier versions 1. Save files and bones files from 3.4.x and earlier versions
will not work with 3.6.1, but save files and bones file from 3.6.0 will not work with 3.6.2, but save files and bones file from 3.6.0
should work. The scoreboard file (RECORD) from 3.6.0 or and 3.6.1 should work. The scoreboard file (RECORD) from 3.6.0 or
3.4.x or 3.3.x will work. 3.4.x or 3.3.x will work.
2. To specify user-preference options in your environment, define the 2. To specify user-preference options in your environment, define the
+1 -1
View File
@@ -99,7 +99,7 @@ RANDOBJ = random.obj
# Other things that have to be reconfigured are in vmsconf.h, # Other things that have to be reconfigured are in vmsconf.h,
# and config.h # and config.h
VERSION = 3.6.1 VERSION = 3.6.2
MAKEDEFS = $(UTL)makedefs.exe; MAKEDEFS = $(UTL)makedefs.exe;
+1 -1
View File
@@ -1,5 +1,5 @@
$ ! vms/vmsbuild.com -- compile and link NetHack 3.6.* [pr] $ ! vms/vmsbuild.com -- compile and link NetHack 3.6.* [pr]
$ version_number = "3.6.1" $ version_number = "3.6.2"
$ ! $NHDT-Date: 1524689429 2018/04/25 20:50:29 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.17 $ $ ! $NHDT-Date: 1524689429 2018/04/25 20:50:29 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.17 $
# Copyright (c) 2018 by Robert Patrick Rankin # Copyright (c) 2018 by Robert Patrick Rankin
# NetHack may be freely redistributed. See license for details. # NetHack may be freely redistributed. See license for details.
+4 -4
View File
@@ -285,7 +285,7 @@ END
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,6,1,0 FILEVERSION 3,6,1,0
PRODUCTVERSION 3,6,1,0 PRODUCTVERSION 3,6,2,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x9L FILEFLAGS 0x9L
@@ -300,17 +300,17 @@ BEGIN
BEGIN BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "Comments", "NetHack 3.6.1 for Windows CE\0" VALUE "Comments", "NetHack 3.6.2 for Windows CE\0"
VALUE "CompanyName", " \0" VALUE "CompanyName", " \0"
VALUE "FileDescription", "nethackm\0" VALUE "FileDescription", "nethackm\0"
VALUE "FileVersion", "3, 6, 1, 0\0" VALUE "FileVersion", "3, 6, 2, 0\0"
VALUE "InternalName", "nethackm\0" VALUE "InternalName", "nethackm\0"
VALUE "LegalCopyright", "Copyright © 1985-2018\0" VALUE "LegalCopyright", "Copyright © 1985-2018\0"
VALUE "LegalTrademarks", "\0" VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0" VALUE "OriginalFilename", "nethackm.exe\0"
VALUE "PrivateBuild", "090914\0" VALUE "PrivateBuild", "090914\0"
VALUE "ProductName", "NetHack\0" VALUE "ProductName", "NetHack\0"
VALUE "ProductVersion", "3, 6, 1, 0\0" VALUE "ProductVersion", "3, 6, 2, 0\0"
VALUE "SpecialBuild", "\0" VALUE "SpecialBuild", "\0"
END END
END END
+3 -3
View File
@@ -276,17 +276,17 @@ BEGIN
BEGIN BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "Comments", "NetHack 3.6.1 for Smartphone 2002\0" VALUE "Comments", "NetHack 3.6.2 for Smartphone 2002\0"
VALUE "CompanyName", " \0" VALUE "CompanyName", " \0"
VALUE "FileDescription", "nethackm\0" VALUE "FileDescription", "nethackm\0"
VALUE "FileVersion", "3, 6, 1, 0\0" VALUE "FileVersion", "3, 6, 2, 0\0"
VALUE "InternalName", "nethackm\0" VALUE "InternalName", "nethackm\0"
VALUE "LegalCopyright", "Copyright © 1985-2018\0" VALUE "LegalCopyright", "Copyright © 1985-2018\0"
VALUE "LegalTrademarks", "\0" VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0" VALUE "OriginalFilename", "nethackm.exe\0"
VALUE "PrivateBuild", "090914\0" VALUE "PrivateBuild", "090914\0"
VALUE "ProductName", "NetHack For Smartphone\0" VALUE "ProductName", "NetHack For Smartphone\0"
VALUE "ProductVersion", "3, 6, 1, 0\0" VALUE "ProductVersion", "3, 6, 2, 0\0"
VALUE "SpecialBuild", "\0" VALUE "SpecialBuild", "\0"
END END
END END
+2 -2
View File
@@ -16,7 +16,7 @@ contributed the port.
Alex Kompel, Dion Nicolaas, Yitzhak Sapir, Derek S. Ray, Michael Allison, Alex Kompel, Dion Nicolaas, Yitzhak Sapir, Derek S. Ray, Michael Allison,
Pasi Kallinen, Bart House, and Janet Walz contributed to the maintainance Pasi Kallinen, Bart House, and Janet Walz contributed to the maintainance
of the tty and graphical windows versions of NetHack 3.6.1. of the tty and graphical windows versions of NetHack 3.6.2.
You can build a TTY version of NetHack and a Windows Graphical You can build a TTY version of NetHack and a Windows Graphical
version. You can use one of the following build environments: version. You can use one of the following build environments:
@@ -106,7 +106,7 @@ a 32-bit x86 version, or a 64-bit x64 version. The default Makefile
is set up for a 32-bit x86 version, but that's only because it will is set up for a 32-bit x86 version, but that's only because it will
run on the most number of existing Windows environments. run on the most number of existing Windows environments.
NetHack's save files and bones files in the 3.6.1 release have not NetHack's save files and bones files in the 3.6.2 release have not yet
evolved enough to allow them to interchange between the 32-bit version evolved enough to allow them to interchange between the 32-bit version
and the 64-bit version (or between different platforms). Hopefully and the 64-bit version (or between different platforms). Hopefully
that will change in an upcoming release. that will change in an upcoming release.
+4 -4
View File
@@ -12,8 +12,8 @@
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,6,1,0 FILEVERSION 3,6,2,0
PRODUCTVERSION 3,6,1,0 PRODUCTVERSION 3,6,2,0
FILEFLAGSMASK 0x1fL FILEFLAGSMASK 0x1fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x9L FILEFLAGS 0x9L
@@ -29,13 +29,13 @@ BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "FileDescription", "NetHack for Windows - TTY Interface\0" VALUE "FileDescription", "NetHack for Windows - TTY Interface\0"
VALUE "FileVersion", "3.6.1\0" VALUE "FileVersion", "3.6.2\0"
VALUE "InternalName", "NetHack\0" VALUE "InternalName", "NetHack\0"
VALUE "LegalCopyright", "Copyright (C) 1985 - 2018. By Stichting Mathematisch Centrum and M. Stephenson. See license for details.\0" VALUE "LegalCopyright", "Copyright (C) 1985 - 2018. By Stichting Mathematisch Centrum and M. Stephenson. See license for details.\0"
VALUE "OriginalFilename", "NetHack.exe\0" VALUE "OriginalFilename", "NetHack.exe\0"
VALUE "PrivateBuild", "050102\0" VALUE "PrivateBuild", "050102\0"
VALUE "ProductName", "NetHack\0" VALUE "ProductName", "NetHack\0"
VALUE "ProductVersion", "3.6.1\0" VALUE "ProductVersion", "3.6.2\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
+1 -1
View File
@@ -1,5 +1,5 @@
NAME NETHACK NAME NETHACK
DESCRIPTION 'NetHack 3.6.1 for Windows NT' DESCRIPTION 'NetHack 3.6.2 for Windows'
EXETYPE WINDOWS EXETYPE WINDOWS
STUB 'WINSTUB.EXE' STUB 'WINSTUB.EXE'
CODE PRELOAD MOVEABLE DISCARDABLE CODE PRELOAD MOVEABLE DISCARDABLE
+1 -1
View File
@@ -24,7 +24,7 @@ WIZARDS=*
# Only available if NetHack was compiled with DUMPLOG # Only available if NetHack was compiled with DUMPLOG
# Allows following placeholders: # Allows following placeholders:
# %% literal '%' # %% literal '%'
# %v version (eg. "3.6.1-0") # %v version (eg. "3.6.2-0")
# %u game UID # %u game UID
# %t game start time, UNIX timestamp format # %t game start time, UNIX timestamp format
# %T current time, UNIX timestamp format # %T current time, UNIX timestamp format
+9 -5
View File
@@ -1206,18 +1206,22 @@ char *outbuf;
const char *build_date; const char *build_date;
{ {
char subbuf[64], versbuf[64]; char subbuf[64], versbuf[64];
char betabuf[64];
#ifdef BETA
Strcpy(betabuf, " Beta");
#else
betabuf[0] = '\0';
#endif
subbuf[0] = '\0'; subbuf[0] = '\0';
#ifdef PORT_SUB_ID #ifdef PORT_SUB_ID
subbuf[0] = ' '; subbuf[0] = ' ';
Strcpy(&subbuf[1], PORT_SUB_ID); Strcpy(&subbuf[1], PORT_SUB_ID);
#endif #endif
#ifdef BETA
Strcat(subbuf, " Beta");
#endif
Sprintf(outbuf, "%s NetHack%s Version %s - last %s %s.", PORT_ID, Sprintf(outbuf, "%s NetHack%s Version %s%s - last %s %s.", PORT_ID,
subbuf, version_string(versbuf, "."), subbuf, version_string(versbuf, "."), betabuf,
date_via_env ? "revision" : "build", build_date); date_via_env ? "revision" : "build", build_date);
return outbuf; return outbuf;
} }
+5 -1
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 winX.c $NHDT-Date: 1507846693 2017/10/12 22:18:13 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.44 $ */ /* NetHack 3.6 winX.c $NHDT-Date: 1526429314 2018/05/16 00:08:34 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.50 $ */
/* Copyright (c) Dean Luick, 1992 */ /* Copyright (c) Dean Luick, 1992 */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -138,8 +138,10 @@ struct window_procs X11_procs = {
* Local functions. * Local functions.
*/ */
static winid NDECL(find_free_window); static winid NDECL(find_free_window);
#ifdef TEXTCOLOR
static void FDECL(nhFreePixel, (XtAppContext, XrmValuePtr, XtPointer, static void FDECL(nhFreePixel, (XtAppContext, XrmValuePtr, XtPointer,
XrmValuePtr, Cardinal *)); XrmValuePtr, Cardinal *));
#endif
static boolean FDECL(new_resource_macro, (String, unsigned)); static boolean FDECL(new_resource_macro, (String, unsigned));
static void NDECL(load_default_resources); static void NDECL(load_default_resources);
static void NDECL(release_default_resources); static void NDECL(release_default_resources);
@@ -427,6 +429,7 @@ XtPointer *closure_ret;
} }
} }
#ifdef TEXTCOLOR
/* ARGSUSED */ /* ARGSUSED */
static void static void
nhFreePixel(app, toVal, closure, args, num_args) nhFreePixel(app, toVal, closure, args, num_args)
@@ -454,6 +457,7 @@ Cardinal *num_args;
(unsigned long *) toVal->addr, 1, (unsigned long) 0); (unsigned long *) toVal->addr, 1, (unsigned long) 0);
} }
} }
#endif /*TEXTCOLOR*/
/* [ALI] Utility function to ask Xaw for font height, since the previous /* [ALI] Utility function to ask Xaw for font height, since the previous
* assumption of ascent + descent is not always valid. * assumption of ascent + descent is not always valid.
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/osascript #!/usr/bin/osascript
# NetHack 3.6.1 NetHackGuidebook.applescript $NHDT-Date: 1524684596 2018/04/25 19:29:56 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.8 $ # NetHack 3.6.2 NetHackGuidebook.applescript $NHDT-Date: 1524684596 2018/04/25 19:29:56 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.8 $
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2011 # Copyright (c) Kenneth Lorber, Kensington, Maryland, 2011
# NetHack may be freely redistributed. See license for details. # NetHack may be freely redistributed. See license for details.
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/osascript #!/usr/bin/osascript
# NetHack 3.6.1 NetHackTerm.applescript $NHDT-Date: 1524684597 2018/04/25 19:29:57 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.8 $ # NetHack 3.6.2 NetHackTerm.applescript $NHDT-Date: 1524684597 2018/04/25 19:29:57 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.8 $
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2011 # Copyright (c) Kenneth Lorber, Kensington, Maryland, 2011
# NetHack may be freely redistributed. See license for details. # NetHack may be freely redistributed. See license for details.
+44 -44
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 wintty.c $NHDT-Date: 1526382995 2018/05/15 11:16:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.164 $ */ /* NetHack 3.6 wintty.c $NHDT-Date: 1526429383 2018/05/16 00:09:43 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.166 $ */
/* Copyright (c) David Cohrs, 1991 */ /* Copyright (c) David Cohrs, 1991 */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -3493,7 +3493,9 @@ const char *fieldnames[] = {
}; };
#ifdef STATUS_HILITES #ifdef STATUS_HILITES
#ifdef TEXTCOLOR
STATIC_DCL int FDECL(condcolor, (long, unsigned long *)); STATIC_DCL int FDECL(condcolor, (long, unsigned long *));
#endif
STATIC_DCL int FDECL(condattr, (long, unsigned long *)); STATIC_DCL int FDECL(condattr, (long, unsigned long *));
static unsigned long *tty_colormasks; static unsigned long *tty_colormasks;
static long tty_condition_bits; static long tty_condition_bits;
@@ -3624,13 +3626,13 @@ tty_status_init()
* the textual gold amount without the leading "$:" the port will * the textual gold amount without the leading "$:" the port will
* have to skip past ':' in the passed "ptr" for the BL_GOLD case. * have to skip past ':' in the passed "ptr" for the BL_GOLD case.
* -- color is an unsigned int. * -- color is an unsigned int.
* color_index = color & 0x00FF; CLR_* value * color_index = color & 0x00FF; CLR_* value
* attribute = color & 0xFF00 >> 8; BL_* values * attribute = (color >> 8) & 0x00FF; HL_ATTCLR_* mask
* This holds the color and attribute that the field should * This holds the color and attribute that the field should
* be displayed in. * be displayed in.
* This is relevant for everything except BL_CONDITION fldindex. * This is relevant for everything except BL_CONDITION fldindex.
* If fldindex is BL_CONDITION, this parameter should be ignored, * If fldindex is BL_CONDITION, this parameter should be ignored,
* as condition hilighting is done via the next colormasks * as condition highlighting is done via the next colormasks
* parameter instead. * parameter instead.
* *
* -- colormasks - pointer to cond_hilites[] array of colormasks. * -- colormasks - pointer to cond_hilites[] array of colormasks.
@@ -3653,16 +3655,15 @@ unsigned long *colormasks;
char *text = (char *) ptr; char *text = (char *) ptr;
char *lastchar = (char *) 0; char *lastchar = (char *) 0;
char *fval = (char *) 0; char *fval = (char *) 0;
boolean do_color = FALSE;
boolean force_update = FALSE; boolean force_update = FALSE;
#ifdef TEXTCOLOR
do_color = TRUE;
#endif
if (fldidx != BL_FLUSH && !status_activefields[fldidx]) if (fldidx != BL_FLUSH && !status_activefields[fldidx])
return; return;
#ifndef TEXTCOLOR
color = (color & ~0x00FF) | NO_COLOR;
#endif
switch (fldidx) { switch (fldidx) {
case BL_FLUSH: case BL_FLUSH:
force_update = TRUE; force_update = TRUE;
@@ -3680,8 +3681,8 @@ unsigned long *colormasks;
Sprintf(status_vals[fldidx], Sprintf(status_vals[fldidx],
status_fieldfmt[fldidx] ? status_fieldfmt[fldidx] : "%s", status_fieldfmt[fldidx] ? status_fieldfmt[fldidx] : "%s",
text); text);
tty_status[NOW][fldidx].color = do_color ? (color & 0x00FF) : NO_COLOR; tty_status[NOW][fldidx].color = (color & 0x00FF);
tty_status[NOW][fldidx].attr = (color & 0xFF00) >> 8; tty_status[NOW][fldidx].attr = ((color >> 8) & 0x00FF);
tty_status[NOW][fldidx].lth = strlen(status_vals[fldidx]); tty_status[NOW][fldidx].lth = strlen(status_vals[fldidx]);
tty_status[NOW][fldidx].valid = TRUE; tty_status[NOW][fldidx].valid = TRUE;
tty_status[NOW][fldidx].dirty = TRUE; tty_status[NOW][fldidx].dirty = TRUE;
@@ -3690,11 +3691,10 @@ unsigned long *colormasks;
/* The core botl engine sends a single blank to the window port /* The core botl engine sends a single blank to the window port
for carrying-capacity when its unused. Let's suppress that */ for carrying-capacity when its unused. Let's suppress that */
if (tty_status[NOW][fldidx].lth == 1 if (tty_status[NOW][fldidx].lth == 1 && status_vals[fldidx][0] == ' ') {
&& status_vals[fldidx][0] == ' ') { status_vals[fldidx][0] = '\0';
status_vals[fldidx][0] = '\0'; tty_status[NOW][fldidx].lth = 0;
tty_status[NOW][fldidx].lth = 0; }
}
/* default processing above was required before these */ /* default processing above was required before these */
switch (fldidx) { switch (fldidx) {
@@ -3702,7 +3702,7 @@ unsigned long *colormasks;
if (iflags.wc2_hitpointbar) { if (iflags.wc2_hitpointbar) {
/* Special additional processing for hitpointbar */ /* Special additional processing for hitpointbar */
hpbar_percent = percent; hpbar_percent = percent;
hpbar_color = do_color ? (color & 0x00FF) : NO_COLOR; hpbar_color = (color & 0x00FF);
} }
break; break;
case BL_LEVELDESC: case BL_LEVELDESC:
@@ -3721,7 +3721,7 @@ unsigned long *colormasks;
tty_status[NOW][fldidx].lth += 2; /* '[' and ']' */ tty_status[NOW][fldidx].lth += 2; /* '[' and ']' */
break; break;
case BL_GOLD: case BL_GOLD:
tty_status[NOW][fldidx].lth -= 9; /* \GXXXXNNNN counts as 1 */ tty_status[NOW][fldidx].lth -= (10 - 1); /* \GXXXXNNNN counts as 1 */
break; break;
case BL_CAP: case BL_CAP:
fval = status_vals[fldidx]; fval = status_vals[fldidx];
@@ -4007,11 +4007,17 @@ unsigned long *bmarray;
if (bm && bmarray) if (bm && bmarray)
for (i = 0; i < CLR_MAX; ++i) { for (i = 0; i < CLR_MAX; ++i) {
if (bmarray[i] && (bm & bmarray[i])) if ((bm & bmarray[i]) != 0)
return i; return i;
} }
return NO_COLOR; return NO_COLOR;
} }
#else
/* might need something more elaborate if some compiler complains that
the condition where this gets used always has the same value */
#define condcolor(bm,bmarray) NO_COLOR
#define term_start_color(color) /*empty*/
#define term_end_color(color) /*empty*/
#endif /* TEXTCOLOR */ #endif /* TEXTCOLOR */
STATIC_OVL int STATIC_OVL int
@@ -4024,8 +4030,8 @@ unsigned long *bmarray;
if (bm && bmarray) { if (bm && bmarray) {
for (i = HL_ATTCLR_DIM; i < BL_ATTCLR_MAX; ++i) { for (i = HL_ATTCLR_DIM; i < BL_ATTCLR_MAX; ++i) {
if (bmarray[i] && (bm & bmarray[i])) { if ((bm & bmarray[i]) != 0) {
switch(i) { switch (i) {
case HL_ATTCLR_DIM: case HL_ATTCLR_DIM:
attr |= HL_DIM; attr |= HL_DIM;
break; break;
@@ -4086,13 +4092,6 @@ render_status(VOID_ARGS)
long mask = 0L; long mask = 0L;
int i, c, row, attrmask = 0; int i, c, row, attrmask = 0;
struct WinDesc *cw = 0; struct WinDesc *cw = 0;
boolean do_color =
#ifdef TEXTCOLOR
TRUE
#else
FALSE
#endif
;
struct tty_status_fields *nullfield = (struct tty_status_fields *) 0; struct tty_status_fields *nullfield = (struct tty_status_fields *) 0;
if (WIN_STATUS == WIN_ERR if (WIN_STATUS == WIN_ERR
@@ -4139,11 +4138,10 @@ render_status(VOID_ARGS)
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
attrmask = condattr(mask, tty_colormasks); attrmask = condattr(mask, tty_colormasks);
Begin_Attr(attrmask); Begin_Attr(attrmask);
if (do_color) { coloridx = condcolor(mask, tty_colormasks);
coloridx = condcolor(mask, tty_colormasks); if (coloridx != NO_COLOR
if (coloridx != NO_COLOR) && coloridx != CLR_MAX)
term_start_color(coloridx); term_start_color(coloridx);
}
} }
if (x >= cw->cols && !truncation_expected) if (x >= cw->cols && !truncation_expected)
impossible( impossible(
@@ -4152,15 +4150,19 @@ render_status(VOID_ARGS)
tty_putstatusfield(nullfield, condtext, x, y); tty_putstatusfield(nullfield, condtext, x, y);
x += (int) strlen(condtext); x += (int) strlen(condtext);
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
if (do_color && coloridx != NO_COLOR) if (coloridx != NO_COLOR
&& coloridx != CLR_MAX)
term_end_color(); term_end_color();
End_Attr(attrmask); End_Attr(attrmask);
} }
} }
} }
if (x >= cw->cols) { if (x >= cw->cols) {
if (!truncation_expected) static unsigned once_only = 0;
paniclog("render_status()", " unexpected truncation.");
if (!truncation_expected && !once_only++)
paniclog(
"render_status()", " unexpected truncation.");
x = cw->cols - 1; x = cw->cols - 1;
} }
tty_curs(WIN_STATUS, x, y); tty_curs(WIN_STATUS, x, y);
@@ -4175,15 +4177,14 @@ render_status(VOID_ARGS)
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
/* multiple attributes can be in effect concurrently */ /* multiple attributes can be in effect concurrently */
Begin_Attr(attridx); Begin_Attr(attridx);
if (do_color && coloridx != NO_COLOR if (coloridx != NO_COLOR && coloridx != CLR_MAX)
&& coloridx != CLR_MAX)
term_start_color(coloridx); term_start_color(coloridx);
} }
/* decode_mixed() due to GOLD glyph */ /* decode_mixed() due to GOLD glyph */
tty_putstatusfield(nullfield, tty_putstatusfield(nullfield,
decode_mixed(buf, text), x, y); decode_mixed(buf, text), x, y);
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
if (do_color && coloridx != NO_COLOR) if (coloridx != NO_COLOR && coloridx != CLR_MAX)
term_end_color(); term_end_color();
End_Attr(attridx); End_Attr(attridx);
} }
@@ -4216,13 +4217,13 @@ render_status(VOID_ARGS)
} }
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
tty_putstatusfield(nullfield, "[", x++, y); tty_putstatusfield(nullfield, "[", x++, y);
if (do_color && hpbar_color != NO_COLOR) if (hpbar_color != NO_COLOR && coloridx != CLR_MAX)
term_start_color(hpbar_color); term_start_color(hpbar_color);
term_start_attr(ATR_INVERSE); term_start_attr(ATR_INVERSE);
tty_putstatusfield(nullfield, bar, x, y); tty_putstatusfield(nullfield, bar, x, y);
x += (int) strlen(bar); x += (int) strlen(bar);
term_end_attr(ATR_INVERSE); term_end_attr(ATR_INVERSE);
if (do_color && hpbar_color != NO_COLOR) if (hpbar_color != NO_COLOR && coloridx != CLR_MAX)
term_end_color(); term_end_color();
if (twoparts) { if (twoparts) {
*bar2 = savedch; *bar2 = savedch;
@@ -4249,14 +4250,13 @@ render_status(VOID_ARGS)
} }
/* multiple attributes can be in effect concurrently */ /* multiple attributes can be in effect concurrently */
Begin_Attr(attridx); Begin_Attr(attridx);
if (do_color && coloridx != NO_COLOR if (coloridx != NO_COLOR && coloridx != CLR_MAX)
&& coloridx != CLR_MAX)
term_start_color(coloridx); term_start_color(coloridx);
} }
tty_putstatusfield(&tty_status[NOW][fldidx], tty_putstatusfield(&tty_status[NOW][fldidx],
text, x, y); text, x, y);
if (iflags.hilite_delta) { if (iflags.hilite_delta) {
if (do_color && coloridx != NO_COLOR) if (coloridx != NO_COLOR && coloridx != CLR_MAX)
term_end_color(); term_end_color();
End_Attr(attridx); End_Attr(attridx);
} }
+1 -1
View File
@@ -2276,7 +2276,7 @@ logDebug(const char *fmt, ...)
/* Reading and writing settings from the registry. */ /* Reading and writing settings from the registry. */
#define CATEGORYKEY "Software" #define CATEGORYKEY "Software"
#define COMPANYKEY "NetHack" #define COMPANYKEY "NetHack"
#define PRODUCTKEY "NetHack 3.6.1" #define PRODUCTKEY "NetHack 3.6.2"
#define SETTINGSKEY "Settings" #define SETTINGSKEY "Settings"
#define MAINSHOWSTATEKEY "MainShowState" #define MAINSHOWSTATEKEY "MainShowState"
#define MAINMINXKEY "MainMinX" #define MAINMINXKEY "MainMinX"
+4 -4
View File
@@ -60,8 +60,8 @@ IDI_ICON1 ICON "nethack.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,6,1,0 FILEVERSION 3,6,2,0
PRODUCTVERSION 3,6,1,0 PRODUCTVERSION 3,6,2,0
FILEFLAGSMASK 0x1fL FILEFLAGSMASK 0x1fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x9L FILEFLAGS 0x9L
@@ -77,12 +77,12 @@ BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "FileDescription", "NetHack for Windows - TTY Interface" VALUE "FileDescription", "NetHack for Windows - TTY Interface"
VALUE "FileVersion", "3.6.1" VALUE "FileVersion", "3.6.2"
VALUE "InternalName", "NetHack" VALUE "InternalName", "NetHack"
VALUE "LegalCopyright", "Copyright (C) 1985 - 2018. By Stichting Mathematisch Centrum and M. Stephenson. See license for details." VALUE "LegalCopyright", "Copyright (C) 1985 - 2018. By Stichting Mathematisch Centrum and M. Stephenson. See license for details."
VALUE "OriginalFilename", "NetHack.exe" VALUE "OriginalFilename", "NetHack.exe"
VALUE "ProductName", "NetHack" VALUE "ProductName", "NetHack"
VALUE "ProductVersion", "3.6.1" VALUE "ProductVersion", "3.6.2"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"