diff --git a/.travis.yml b/.travis.yml index 67d05077d..501c0f7df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,40 +73,7 @@ matrix: env: DESCR=windows-visualstudio language: shell script: -# - find /c/Program\ Files\ \(x86\) -iname 'rc.exe' -print -# - export - - export VSVER=2017 - - export MSVER=14.16.27023 - - export SDKVER=10.0.17763.0 - - export FRAMEVER=4.0.30319 - - export NETFXVER=4.6.1 - - export WKITVER=10.0.17134.0 -# - export TOOLSVER=Community - - export TOOLSVER=BuildTools - - export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/VC/VCPackages:$PATH - - export PATH=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/bin/$WKITVER/x64:$PATH - - export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x64:$PATH - - export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x86:$PATH - - export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/CommonExtensions/Microsoft/TestWindow - - export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/MSBuild/Current/bin/Roslyn - - export INCLUDE=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/$TOOLSVER/VC/Tools/MSVC/$MSVER/include - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/Include/$WKITVER/ucrt - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/ucrt - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/shared - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/um - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/winrt - - export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/cppwinrt - - export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/ATLMFC/lib/x86 - - export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/lib/x86:$LIB - - export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/ucrt/x86:$LIB - - export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/um/x86:$LIB -# - export - - git clone --depth 1 https://github.com/wmcbrine/PDCurses.git ../pdcurses - - export ADD_CURSES=Y - - export PDCURSES_TOP=../../pdcurses - - cd src - - cp ../sys/winnt/Makefile.msc ./Makefile - - nmake install + - ./win/win32/vs2017/travisci.sh - os: windows # install: choco install mingw env: DESCR=windows-mingw @@ -129,3 +96,16 @@ notifications: email: recipients: - devteam@nethack.org +# +deploy: + provider: releases + api_key: + secure: "U0Dt2CXrcG8Yi4taUCT/6AnM+0IJtdCv6IVG/2rGooUY3pZjNWE9XDM6X9ZeAmbI79aN6FPTppjUf3KbB/upYeJt+8mrjnxEk/ZTO1xXDDW8iL/DiqnczoFsMGmPsTM+Fkeak8bu0SifI7Qkx9i1N+zOyl2VdlaxGjchPfl/OJw2jcQs7rOGRfr23/rapZKTcFq+BFlxMiIHa0dXbCJ9vagdlyAeclOCtPjw1VoH/Cb/+0/Xlx2MFPncw4/1P+bO/fPantHyehh3/WCDVCnI4M7ftONpsTVRrQ+Hml89teUH9/1xXUOpbCeVghWr1rumLcQzMqLKNj2lP/gm9co2/DKpxiUPUzBfO/9Jvl1CNoEwPYQBRNb38kggDvAT4vKX38Oi5sZvumFEO4L0y7o4cW6SA4/CYIykfxOdkrryt8ltfWwopdy3I/DothYw31vJ9GsZOCAShFRAy3hJxYUbHhT+7SDUBadVSEkb4UqxQ+7zntAVT+Lp4DXLAfvsWxZGrQoP/IrWAgNOLRKILubpzh+YpadMH3Ygha2JRAeJAEZ3DnXf3vOOAucWnk4mNXDbW35GTDTAJDWMvddZCfsrUI/uHxgaRjFs9fLX1X5tqhGnsr27sKLWyX+zrIPVV0TPl3AzYPAf6Bc8Okeu+JEGQERvvgSasCuYcmhgYznBVJI=" + file: + - "NetHack.zip" + skip_cleanup: true + on: + tags: true + prerelease: true + name: "Pre-release build of NetHack 3.6.3" + body: "This is auto generated pre-release build of NetHack 3.6.3 and as such has not been tested." diff --git a/doc/fixes36.3 b/doc/fixes36.3 index c8461fcc6..1f8077ee2 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.145 $ $NHDT-Date: 1571531885 2019/10/20 00:38:05 $ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ $NHDT-Date: 1572141706 2019/10/27 02:01:46 $ 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, @@ -204,6 +204,10 @@ grammar correction for "That walking shoes is really a small mimic" when applying a stethoscope mimic immitating a slime mold would change fruit type when player assigned new named fruit +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 Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository @@ -251,6 +255,8 @@ EDIT_GETLIN: when naming an object or a monster use the existing name, if EDIT_GETLIN: using 'O' to set message types or menu colors was overloading the answer buffer with other stuff, resulting in bogus default response during repeat prompting +EDIT_GETLIN: for paranoid confirmation, if answer was neither "yes" nor "no", + don't supply the rejected answer as the default when retrying curses: very tall menus tried to use selector characters a-z, A-Z, and 0-9, but 0-9 should be reserved for counts and if the display was tall enough for more than 62 entries, arbitrary ASCII punctuation got used diff --git a/src/cmd.c b/src/cmd.c index 5b164de2f..96e4e0c01 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 cmd.c $NHDT-Date: 1565574994 2019/08/12 01:56:34 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.343 $ */ +/* NetHack 3.6 cmd.c $NHDT-Date: 1572141702 2019/10/27 02:01:42 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.347 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */ /* NetHack may be freely redistributed. See license for details. */ @@ -853,6 +853,7 @@ wiz_makemap(VOID_ARGS) u_on_rndspot((u.uhave.amulet ? 1 : 0) /* 'going up' flag */ | (was_in_W_tower ? 2 : 0)); losedogs(); + kill_genocided_monsters(); /* u_on_rndspot() might pick a spot that has a monster, or losedogs() might pick the hero's spot (only if there isn't already a monster there), so we might have to move hero or the co-located monster */ @@ -6038,19 +6039,27 @@ const char *prompt; to give the go-ahead for this query; default is "no" unless the ParanoidConfirm flag is set in which case there's no default */ if (be_paranoid) { - char qbuf[QBUFSZ], ans[BUFSZ] = DUMMY; - const char *promptprefix = "", *responsetype = ParanoidConfirm - ? "(yes|no)" - : "(yes) [no]"; - int trylimit = 6; /* 1 normal, 5 more with "Yes or No:" prefix */ + char pbuf[BUFSZ], qbuf[QBUFSZ], ans[BUFSZ]; + const char *promptprefix = "", + *responsetype = ParanoidConfirm ? "(yes|no)" : "(yes) [no]"; + int k, trylimit = 6; /* 1 normal, 5 more with "Yes or No:" prefix */ + copynchars(pbuf, prompt, BUFSZ - 1); /* in addition to being paranoid about this particular query, we might be even more paranoid about all paranoia responses (ie, ParanoidConfirm is set) in which case we require "no" to reject in addition to "yes" to confirm (except we won't loop if response is ESC; it means no) */ do { - Sprintf(qbuf, "%s%s %s", promptprefix, prompt, responsetype); + /* make sure we won't overflow a QBUFSZ sized buffer */ + k = (int) (strlen(promptprefix) + 1 + strlen(responsetype)); + if ((int) strlen(pbuf) + k > QBUFSZ - 1) { + /* chop off some at the end */ + Strcpy(pbuf + (QBUFSZ - 1) - k - 4, "...?"); /* -4: "...?" */ + } + + Sprintf(qbuf, "%s%s %s", promptprefix, pbuf, responsetype); + *ans = '\0'; getlin(qbuf, ans); (void) mungspaces(ans); confirmed_ok = !strcmpi(ans, "yes"); diff --git a/src/options.c b/src/options.c index 5fc631d45..4a02922ef 100644 --- a/src/options.c +++ b/src/options.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 options.c $NHDT-Date: 1571448220 2019/10/19 01:23:40 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.380 $ */ +/* NetHack 3.6 options.c $NHDT-Date: 1572070255 2019/10/26 06:10:55 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.381 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2008. */ /* NetHack may be freely redistributed. See license for details. */ @@ -3237,8 +3237,12 @@ boolean tinitial, tfrom_file; config_error_add("Unknown %s parameter '%s'", fullname, op); return FALSE; } - while (letter(*++op) || *op == ' ') - continue; + /* "3a" is sufficient but accept "3around" (or "3abracadabra") */ + while (letter(*op)) + op++; + /* t, a, and o can be separated by space(s) or slash or both */ + while (*op == ' ') + op++; if (*op == '/') op++; } diff --git a/win/win32/vs2017/travisci.sh b/win/win32/vs2017/travisci.sh new file mode 100644 index 000000000..09b4b9822 --- /dev/null +++ b/win/win32/vs2017/travisci.sh @@ -0,0 +1,33 @@ +export VSVER=2017 +export MSVER=14.16.27023 +export SDKVER=10.0.17763.0 +export FRAMEVER=4.0.30319 +export NETFXVER=4.6.1 +export WKITVER=10.0.17134.0 +#export TOOLSVER=Enterprise +export TOOLSVER=BuildTools +export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/VC/VCPackages:$PATH +export PATH=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/bin/$WKITVER/x64:$PATH +export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x64:$PATH +export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x86:$PATH +export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/CommonExtensions/Microsoft/TestWindow +export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/MSBuild/Current/bin/Roslyn +export INCLUDE=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/$TOOLSVER/VC/Tools/MSVC/$MSVER/include +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/Include/$WKITVER/ucrt +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/ucrt +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/shared +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/um +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/winrt +export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/cppwinrt +export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/ATLMFC/lib/x86 +export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/lib/x86:$LIB +export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/ucrt/x86:$LIB +export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/um/x86:$LIB +git clone --depth 1 https://github.com/wmcbrine/PDCurses.git ../pdcurses +export ADD_CURSES=Y +export PDCURSES_TOP=../../pdcurses +cd src +cp ../sys/winnt/Makefile.msc ./Makefile +nmake install +cd .. +powershell -Command "Compress-Archive -U -Path binary/*.* -DestinationPath NetHack.zip"