Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

This commit is contained in:
nhmall
2019-04-09 17:29:15 -04:00
6 changed files with 80 additions and 56 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.299 $ $NHDT-Date: 1554580624 2019/04/06 19:57:04 $
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.300 $ $NHDT-Date: 1554841009 2019/04/09 20:16:49 $
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,
@@ -574,6 +574,7 @@ tty: if eight_bit_tty option is set and current symbol set specifies
DECgraphics handling, render line-drawing characters (in nethack's
scheme, the 4th quarter of ASCII--mostly lower case letters--with
8th-bit forced on) instead of treating that subset as 8-bit characters
tty: enable blink attribute for status highlights (TERMLIB + !NO_TERMS config)
unix: Makefile.src and Makefile.utl inadvertently relied on a 'gnu make'
extension when using $(VERBOSEMAKE) to reduce build-time feedback;
replace with $(QUIETCC) which operates the same but defaults to

View File

@@ -1,11 +1,11 @@
Copyright (c) NetHack Development Team 1990-2018
Copyright (c) NetHack Development Team 1990-2019
NetHack may be freely redistributed. See license for details.
==============================================================
Instructions for compiling and installing
NetHack 3.6 on a Windows system
(Windows 7/8.x/10 or later only. XP may work but is untested)
==============================================================
Last revision: $NHDT-Date: 1542545993 2018/11/18 12:59:53 $
Last revision: $NHDT-Date: 1554784481 2019/04/09 04:34:41 $
Credit for the porting of NetHack to the Win32 Console Subsystem goes to
the NT Porting Team started by Michael Allison.
@@ -21,7 +21,8 @@ of the tty and graphical windows versions of NetHack 3.6.2.
You can build a TTY version of NetHack and a Windows Graphical
version. You can use one of the following build environments:
o A copy of Microsoft Visual Studio 2017 Community Edition
o A copy of Microsoft Visual Studio 2017 Community Edition or
a copy of Microsoft Visual Studio 2019 Community Edition
OR
@@ -65,6 +66,14 @@ of NetHack you wish to run.
The Visual Studio 2017 NetHack solution file can be found here:
win\win32\vs2017\NetHack.sln
You can use that same win\win32\vs2017\NetHack.sln with Visual Studio 2019,
but you may have to retarget the projects:
Windows SDK Version: 10.0.17763.0 [ There have been some reports of
difficulties if you instead choose
"10.0 (latest installed version)" ]
Platform Toolset: Upgrade to v142
Before executing the steps to build listed in the next paragraph,
decide if you want to include optional curses window-port. See
the note just below entitled "Optional curses window-port support."

View File

@@ -1,4 +1,4 @@
# NetHack 3.6 Makefile.msc $NHDT-Date: 1550344504 2019/02/16 19:15:04 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.152 $ */
# NetHack 3.6 Makefile.msc $NHDT-Date: 1554784482 2019/04/09 04:34:42 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.153 $ */
# Copyright (c) NetHack PC Development Team 1993-2019
#
#==============================================================================
@@ -7,9 +7,8 @@
# NetHack 3.6.x Makefile for MS Visual Studio Visual C++ compiler
#
# Visual Studio Compilers Tested:
# - Microsoft Visual Studio 2010 Express, with the Platform SDK
# - Microsoft Visual Studio 2013 Express
# - Microsoft Visual Studio 2017 Community Edition
# - Microsoft Visual Studio 2019 Community Edition
#
#==============================================================================
# This is used for building two versions of NetHack:
@@ -464,8 +463,8 @@ ccommon= -c -nologo -D"_CONSOLE" -D"_CRT_NONSTDC_NO_DEPRECATE" -D"_CRT_SECURE_NO
-DHAS_STDINT_H -DHAS_INLINE $(CURSESDEF) \
-EHsc -fp:precise -Gd -GF -GS -Gy \
$(CL_RECENT) -WX- -Zc:forScope -Zc:wchar_t -Zi
cdebug= -analyze- -D"_DEBUG" -Gm -MTd -RTC1 -Od
crelease= -analyze- -D"_MBCS" -errorReport:prompt -Gm- -MT -O2 -Ot -Ox -Oy
cdebug= -analyze- -D"_DEBUG" -MTd -RTC1 -Od
crelease= -analyze- -D"_MBCS" -errorReport:prompt -MT -O2 -Ot -Ox -Oy
lcommon= /NOLOGO /INCREMENTAL:NO

View File

@@ -1,5 +1,5 @@
@REM NetHack 3.6 nhsetup.bat $NHDT-Date: 1432512794 2015/05/25 00:13:14 $ $NHDT-Branch: master $:$NHDT-Revision: 1.33 $ */
@REM Copyright (c) NetHack PC Development Team 1993-2017
@REM NetHack 3.6 nhsetup.bat $NHDT-Date: 1554784485 2019/04/09 04:34:45 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.37 $ */
@REM Copyright (c) NetHack PC Development Team 1993-2019
@REM NetHack may be freely redistributed. See license for details.
@REM Win32 setup batch file, see Install.nt for details
@REM
@@ -58,15 +58,26 @@ echo MinGW Makefile copied ok.
echo Done copying files.
echo Checking version of VC++ installed...
:vscheck2019
SET REGTREE=HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio
@REM i can see your house from here... or at least your VC++ folder
set VCDir="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\"
if not defined VCDir goto :vscheck2017
if not exist %VCDir% goto :vscheck2017
if not "%VSCMD_VER%"=="16.0.0" goto :vscheck2017
set MSVCVERSION=2019
set MSVCPROJ=2017
goto :fallback
:vscheck2017
SET REGTREE=HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
@REM i can see your house from here... or at least your VC++ folder
echo Checking version of VC++ installed...
echo Checking for VC2017 Community Edition...
for /f "usebackq skip=2 tokens=1-2*" %%a IN (`reg query %REGTREE% /v 15.0`) do @set VCDir="%%c"
if not defined VCDir goto :vscheck2015
if not exist %VCDir% goto :vscheck2015
set MSVCVERSION=2017
set MSVCPROJ=2017
goto :fallback
:vscheck2015
@@ -86,7 +97,7 @@ SET MSVCVERSION=2015
:fallback
echo Using VS%MSVCVERSION%.
set SRCPATH=%WIN32PATH%\vs%MSVCVERSION%
set SRCPATH=%WIN32PATH%\vs%MSVCPROJ%
echo NetHack VS%MSVCVERSION% project files are in %SRCPATH%
goto :done

View File

@@ -680,7 +680,7 @@ boolean border;
int i, fld, cap_and_hunger, time_and_score, cond_count;
char *text;
#ifdef STATUS_HILITES
char *p, savedch = '\0';
char *p = 0, savedch = '\0';
int coloridx = NO_COLOR, attrmask = 0;
#endif /* STATUS_HILITES */
int height_needed, height, width, x = 0, y = 0;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 termcap.c $NHDT-Date: 1553858473 2019/03/29 11:21:13 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.29 $ */
/* NetHack 3.6 termcap.c $NHDT-Date: 1554841008 2019/04/09 20:16:48 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.30 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Pasi Kallinen, 2018. */
/* NetHack may be freely redistributed. See license for details. */
@@ -36,18 +36,10 @@ struct tc_lcl_data tc_lcl_data = { 0, 0, 0, 0, 0, 0, 0, FALSE };
STATIC_VAR char *HO, *CL, *CE, *UP, *XD, *BC, *SO, *SE, *TI, *TE;
STATIC_VAR char *VS, *VE;
STATIC_VAR char *ME;
STATIC_VAR char *MR;
#if 0
STATIC_VAR char *MB, *MH;
STATIC_VAR char *MD; /* may already be in use below */
#endif
STATIC_VAR char *ME, *MR, *MB, *MH, *MD;
#ifdef TERMLIB
boolean dynamic_HIHE = FALSE;
#ifdef TEXTCOLOR
STATIC_VAR char *MD;
#endif
STATIC_VAR int SG;
STATIC_OVL char PC = '\0';
STATIC_VAR char tbuf[512];
@@ -177,7 +169,7 @@ int *wid, *hgt;
Sprintf(hilites[i], "\033[0;3%dm", i);
}
}
#endif
#endif /* TEXTCOLOR */
*wid = CO;
*hgt = LI;
CL = "\033[2J"; /* last thing set */
@@ -284,14 +276,12 @@ int *wid, *hgt;
KS = Tgetstr("ks"); /* keypad start (special mode) */
KE = Tgetstr("ke"); /* keypad end (ordinary mode [ie, digits]) */
MR = Tgetstr("mr"); /* reverse */
#if 0
MB = Tgetstr("mb"); /* blink */
MD = Tgetstr("md"); /* boldface */
MH = Tgetstr("mh"); /* dim */
#endif
ME = Tgetstr("me"); /* turn off all attributes */
if (!ME || (SE == nullstr))
ME = SE; /* default to SE value */
if (!ME)
ME = SE ? SE : nullstr; /* default to SE value */
/* Get rid of padding numbers for nh_HI and nh_HE. Hope they
* aren't really needed!!! nh_HI and nh_HE are outputted to the
@@ -309,9 +299,6 @@ int *wid, *hgt;
AS = Tgetstr("as");
AE = Tgetstr("ae");
nh_CD = Tgetstr("cd");
#ifdef TEXTCOLOR
MD = Tgetstr("md");
#endif
#ifdef TEXTCOLOR
#if defined(TOS) && defined(__GNUC__)
if (!strcmp(term, "builtin") || !strcmp(term, "tw52")
@@ -849,8 +836,7 @@ cl_eos() /* free after Robert Viduya */
#undef delay_output
#undef TRUE
#undef FALSE
#define m_move curses_m_move /* Some curses.h decl m_move(), not used here \
*/
#define m_move curses_m_move /* Some curses.h decl m_move(), not used here */
#include <curses.h>
@@ -932,6 +918,7 @@ init_hilite()
c = 6;
while (c--) {
char *work;
scratch = tparm(setf, ti_map[c].ti_color);
work = (char *) alloc(strlen(scratch) + md_len + 1);
Strcpy(work, MD);
@@ -1171,19 +1158,30 @@ s_atr2str(n)
int n;
{
switch (n) {
case ATR_BLINK:
case ATR_ULINE:
if (nh_US)
return nh_US;
if (n == ATR_BLINK) {
if (MB && *MB)
return MB;
} else { /* Underline */
if (nh_US && *nh_US)
return nh_US;
}
/*FALLTHRU*/
case ATR_BOLD:
case ATR_BLINK:
#if defined(TERMLIB) && defined(TEXTCOLOR)
if (MD)
if (MD && *MD)
return MD;
#endif
return nh_HI;
if (nh_HI && *nh_HI)
return nh_HI;
break;
case ATR_INVERSE:
return MR;
if (MR && *MR)
return MR;
break;
case ATR_DIM:
if (MH && *MH)
return MH;
break;
}
return nulstr;
}
@@ -1194,14 +1192,19 @@ int n;
{
switch (n) {
case ATR_ULINE:
if (nh_UE)
if (nh_UE && *nh_UE)
return nh_UE;
/*FALLTHRU*/
case ATR_BOLD:
case ATR_BLINK:
return nh_HE;
if (nh_HE && *nh_HE)
return nh_HE;
/*FALLTHRU*/
case ATR_DIM:
case ATR_INVERSE:
return ME;
if (ME && *ME)
return ME;
break;
}
return nulstr;
}
@@ -1213,18 +1216,19 @@ term_attr_fixup(msk)
int msk;
{
/* underline is converted to bold if its start sequence isn't available */
if ((msk & (1 << ATR_ULINE)) && !nh_US) {
if ((msk & (1 << ATR_ULINE)) && (!nh_US || !*nh_US)) {
msk |= (1 << ATR_BOLD);
msk &= ~(1 << ATR_ULINE);
}
/* blink is converted to bold unconditionally [why?] */
if (msk & (1 << ATR_BLINK)) {
/* blink used to be converted to bold unconditionally; now depends on MB */
if (msk & (1 << ATR_BLINK) && (!MB || !*MB)) {
msk |= (1 << ATR_BOLD);
msk &= ~(1 << ATR_BLINK);
}
/* dim is ignored */
if (msk & (1 << ATR_DIM))
/* dim is ignored if its start sequence isn't available */
if (msk & (1 << ATR_DIM) && (!MH || !*MH)) {
msk &= ~(1 << ATR_DIM);
}
return msk;
}
@@ -1235,8 +1239,8 @@ int attr;
if (attr) {
const char *astr = s_atr2str(attr);
if (*astr)
xputs(s_atr2str(attr));
if (astr && *astr)
xputs(astr);
}
}
@@ -1247,8 +1251,8 @@ int attr;
if (attr) {
const char *astr = e_atr2str(attr);
if (*astr)
xputs(e_atr2str(attr));
if (astr && *astr)
xputs(astr);
}
}
@@ -1317,6 +1321,6 @@ int color;
#endif /* TEXTCOLOR */
#endif /* TTY_GRAPHICS */
#endif /* TTY_GRAPHICS && !NO_TERMS */
/*termcap.c*/