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

This commit is contained in:
nhmall
2019-11-06 16:45:15 -05:00
3 changed files with 33 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.159 $ $NHDT-Date: 1572892926 2019/11/04 18:42:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.162 $ $NHDT-Date: 1573066356 2019/11/06 18:52:36 $
This fixes36.3 file is here to capture information about updates in the 3.6.x 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, lineage following the release of 3.6.2 in May 2019. Please note, however,
@@ -217,6 +217,7 @@ some other deafness-related message corrections
when dipping into holy/unholy water while blind (where the glow message is when dipping into holy/unholy water while blind (where the glow message is
suppressed), clear dipped item's bknown flag unless water potion's suppressed), clear dipped item's bknown flag unless water potion's
bless/curse state is known bless/curse state is known
playing music while hallucinating: message misspelled "butterflies"
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
@@ -268,6 +269,7 @@ EDIT_GETLIN: using 'O' to set message types or menu colors was overloading the
during repeat prompting during repeat prompting
EDIT_GETLIN: for paranoid confirmation, if answer was neither "yes" nor "no", EDIT_GETLIN: for paranoid confirmation, if answer was neither "yes" nor "no",
don't supply the rejected answer as the default when retrying don't supply the rejected answer as the default when retrying
USE_FCNTL: nethack wasn't closing lock file 'perm'
curses: very tall menus tried to use selector characters a-z, A-Z, and 0-9, 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 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 enough for more than 62 entries, arbitrary ASCII punctuation got used

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 files.c $NHDT-Date: 1571347976 2019/10/17 21:32:56 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.254 $ */ /* NetHack 3.6 files.c $NHDT-Date: 1573066357 2019/11/06 18:52:37 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.260 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */ /*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1644,7 +1644,7 @@ boolean uncomp;
static int nesting = 0; static int nesting = 0;
#if defined(NO_FILE_LINKS) || defined(USE_FCNTL) /* implies UNIX */ #if defined(NO_FILE_LINKS) || defined(USE_FCNTL) /* implies UNIX */
static int lockfd; /* for lock_file() to pass to unlock_file() */ static int lockfd = -1; /* for lock_file() to pass to unlock_file() */
#endif #endif
#ifdef USE_FCNTL #ifdef USE_FCNTL
struct flock sflock; /* for unlocking, same as above */ struct flock sflock; /* for unlocking, same as above */
@@ -1756,7 +1756,7 @@ int retryct;
return FALSE; return FALSE;
} }
#else #else
register int errnosv = errno; int errnosv = errno;
switch (errnosv) { /* George Barbanis */ switch (errnosv) { /* George Barbanis */
case EEXIST: case EEXIST:
@@ -1867,9 +1867,10 @@ const char *filename;
if (nesting == 1) { if (nesting == 1) {
#ifdef USE_FCNTL #ifdef USE_FCNTL
sflock.l_type = F_UNLCK; sflock.l_type = F_UNLCK;
if (fcntl(lockfd, F_SETLK, &sflock) == -1) { if (lockfd >= 0) {
HUP raw_printf("Can't remove fcntl lock on %s.", filename); if (fcntl(lockfd, F_SETLK, &sflock) == -1)
(void) close(lockfd); HUP raw_printf("Can't remove fcntl lock on %s.", filename);
(void) close(lockfd), lockfd = -1;
} }
#else #else
lockname = make_lockname(filename, locknambuf); lockname = make_lockname(filename, locknambuf);
@@ -1881,7 +1882,7 @@ const char *filename;
if (unlink(lockname) < 0) if (unlink(lockname) < 0)
HUP raw_printf("Can't unlink %s.", lockname); HUP raw_printf("Can't unlink %s.", lockname);
#ifdef NO_FILE_LINKS #ifdef NO_FILE_LINKS
(void) nhclose(lockfd); (void) nhclose(lockfd), lockfd = -1;
#endif #endif
#endif /* UNIX || VMS */ #endif /* UNIX || VMS */

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 music.c $NHDT-Date: 1572833563 2019/11/04 02:12:43 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.58 $ */ /* NetHack 3.6 music.c $NHDT-Date: 1573063606 2019/11/06 18:06:46 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.60 $ */
/* Copyright (c) 1989 by Jean-Christophe Collet */ /* Copyright (c) 1989 by Jean-Christophe Collet */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -511,24 +511,41 @@ struct obj *instr;
if (Hallucination) if (Hallucination)
mode |= PLAY_HALLU; mode |= PLAY_HALLU;
if (!rn2(2)) {
/*
* TEMPORARY? for multiple impairments, don't always
* give the generic "it's far from music" message.
*/
/* remove if STUNNED+CONFUSED ever gets its own message below */
if (mode == (PLAY_STUNNED | PLAY_CONFUSED))
mode = !rn2(2) ? PLAY_STUNNED : PLAY_CONFUSED;
/* likewise for stunned and/or confused combined with hallucination */
if (mode & PLAY_HALLU)
mode = PLAY_HALLU;
}
/* 3.6.3: most of these gave "You produce <blah>" and then many of
the instrument-specific messages below which immediately follow
also gave "You produce <something>." That looked strange so we
now use a different verb here */
switch (mode) { switch (mode) {
case PLAY_NORMAL: case PLAY_NORMAL:
You("start playing %s.", yname(instr)); You("start playing %s.", yname(instr));
break; break;
case PLAY_STUNNED: case PLAY_STUNNED:
if (!Deaf) if (!Deaf)
You("produce an obnoxious droning sound."); You("radiate an obnoxious droning sound.");
else else
You_feel("a monotonous vibration."); You_feel("a monotonous vibration.");
break; break;
case PLAY_CONFUSED: case PLAY_CONFUSED:
if (!Deaf) if (!Deaf)
You("produce a raucous noise."); You("generate a raucous noise.");
else else
You_feel("a jarring vibration."); You_feel("a jarring vibration.");
break; break;
case PLAY_HALLU: case PLAY_HALLU:
You("produce a kaleidoscopic display of floating butterfiles."); You("disseminate a kaleidoscopic display of floating butterflies.");
break; break;
/* TODO? give some or all of these combinations their own feedback; /* TODO? give some or all of these combinations their own feedback;
hallucination ones should reference senses other than hearing... */ hallucination ones should reference senses other than hearing... */
@@ -537,7 +554,7 @@ struct obj *instr;
case PLAY_CONFUSED | PLAY_HALLU: case PLAY_CONFUSED | PLAY_HALLU:
case PLAY_STUNNED | PLAY_CONFUSED | PLAY_HALLU: case PLAY_STUNNED | PLAY_CONFUSED | PLAY_HALLU:
default: default:
pline("What you produce is quite far from music..."); pline("What you perform is quite far from music...");
break; break;
} }
#undef PLAY_NORMAL #undef PLAY_NORMAL