Merge branch 'NetHack-3.7' into paxed-lua-v2-merged
This commit is contained in:
15
src/files.c
15
src/files.c
@@ -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) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1875,7 +1875,7 @@ boolean uncomp;
|
||||
/* ---------- BEGIN FILE LOCKING HANDLING ----------- */
|
||||
|
||||
#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
|
||||
#ifdef USE_FCNTL
|
||||
struct flock sflock; /* for unlocking, same as above */
|
||||
@@ -1987,7 +1987,7 @@ int retryct;
|
||||
return FALSE;
|
||||
}
|
||||
#else
|
||||
register int errnosv = errno;
|
||||
int errnosv = errno;
|
||||
|
||||
switch (errnosv) { /* George Barbanis */
|
||||
case EEXIST:
|
||||
@@ -2098,9 +2098,10 @@ const char *filename;
|
||||
if (g.nesting == 1) {
|
||||
#ifdef USE_FCNTL
|
||||
sflock.l_type = F_UNLCK;
|
||||
if (fcntl(lockfd, F_SETLK, &sflock) == -1) {
|
||||
HUP raw_printf("Can't remove fcntl lock on %s.", filename);
|
||||
(void) close(lockfd);
|
||||
if (lockfd >= 0) {
|
||||
if (fcntl(lockfd, F_SETLK, &sflock) == -1)
|
||||
HUP raw_printf("Can't remove fcntl lock on %s.", filename);
|
||||
(void) close(lockfd), lockfd = -1;
|
||||
}
|
||||
#else
|
||||
lockname = make_lockname(filename, locknambuf);
|
||||
@@ -2112,7 +2113,7 @@ const char *filename;
|
||||
if (unlink(lockname) < 0)
|
||||
HUP raw_printf("Can't unlink %s.", lockname);
|
||||
#ifdef NO_FILE_LINKS
|
||||
(void) nhclose(lockfd);
|
||||
(void) nhclose(lockfd), lockfd = -1;
|
||||
#endif
|
||||
|
||||
#endif /* UNIX || VMS */
|
||||
|
||||
27
src/music.c
27
src/music.c
@@ -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 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -481,24 +481,41 @@ struct obj *instr;
|
||||
if (Hallucination)
|
||||
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) {
|
||||
case PLAY_NORMAL:
|
||||
You("start playing %s.", yname(instr));
|
||||
break;
|
||||
case PLAY_STUNNED:
|
||||
if (!Deaf)
|
||||
You("produce an obnoxious droning sound.");
|
||||
You("radiate an obnoxious droning sound.");
|
||||
else
|
||||
You_feel("a monotonous vibration.");
|
||||
break;
|
||||
case PLAY_CONFUSED:
|
||||
if (!Deaf)
|
||||
You("produce a raucous noise.");
|
||||
You("generate a raucous noise.");
|
||||
else
|
||||
You_feel("a jarring vibration.");
|
||||
break;
|
||||
case PLAY_HALLU:
|
||||
You("produce a kaleidoscopic display of floating butterfiles.");
|
||||
You("disseminate a kaleidoscopic display of floating butterflies.");
|
||||
break;
|
||||
/* TODO? give some or all of these combinations their own feedback;
|
||||
hallucination ones should reference senses other than hearing... */
|
||||
@@ -507,7 +524,7 @@ struct obj *instr;
|
||||
case PLAY_CONFUSED | PLAY_HALLU:
|
||||
case PLAY_STUNNED | PLAY_CONFUSED | PLAY_HALLU:
|
||||
default:
|
||||
pline("What you produce is quite far from music...");
|
||||
pline("What you perform is quite far from music...");
|
||||
break;
|
||||
}
|
||||
#undef PLAY_NORMAL
|
||||
|
||||
Reference in New Issue
Block a user