Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-11-05 11:02:24 -05:00
17 changed files with 1402 additions and 1305 deletions

14
Files
View File

@@ -273,12 +273,14 @@ stat.h
sys/winnt:
(files for Windows 7/8.x/10 version)
Install.nt Makefile.gcc Makefile.msc console.rc
.nethackrc.template nethack.def nh340key.c nhdefkey.c
nhico.uu nhraykey.c nhsetup.bat ntsound.c
nttty.c porthelp stub-pdcscrn.c stubs.c
sysconf.template win10.c win10.h win32api.h
windmain.c winnt.c winos.h
.nethackrc.template Install.nt Makefile.gcc
Makefile.msc console.rc nethack.def
nh340key.c nhdefkey.c nhico.uu
nhraykey.c nhsetup.bat ntsound.c
nttty.c porthelp stub-pdcscrn.c
stubs.c sysconf.template win10.c
win10.h win32api.h windmain.c
winnt.c winos.h
util:
(files for all versions)

View File

@@ -1,4 +1,4 @@
# NetHack 3.6 symbols $NHDT-Date: 1571314611 2019/10/17 12:16:51 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.20 $
# NetHack 3.6 symbols $NHDT-Date: 1572892906 2019/11/04 18:41:46 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.21 $
# Copyright (c) 2006 by Michael Allison
# NetHack may be freely redistributed. See license for details.
#
@@ -340,7 +340,7 @@ start: IBMgraphics
S_pool: \xf7 # meta-w, approx. equals
S_ice: \xfa # meta-z, centered dot
S_lava: \xf7 # meta-w, approx. equals
S_vodbridge: \xfa # meta-z, centered dot
S_vodbridge: \xfa # meta-z, centered dot
S_hodbridge: \xfa # meta-z, centered dot
S_water: \xf7 # meta-w, approx. equals
S_vbeam: \xb3 # meta-3, vertical rule
@@ -548,7 +548,8 @@ start: curses
S_tlwall: \xf5 # meta-u, T left
S_trwall: \xf4 # meta-t, T right
S_ndoor: \xfe # meta-z, centered dot
S_tree: \xf1 # plus or minus symbol
S_bars: \xfc # meta-|, not-equals sign (was '#')
S_tree: \xe7 # meta-g, plus or minus sign
S_room: \xfe # meta-z, centered dot
S_corr: \xe1 # meta-a, solid block
S_litcorr: \xe1 # meta-a, solid block
@@ -581,11 +582,12 @@ start: DECgraphics
S_ndoor: \xfe # meta-~, centered dot
S_vodoor: \xe1 # meta-a, solid block
S_hodoor: \xe1 # meta-a, solid block
S_bars: \xfb # meta-{, small pi
S_bars: \xfc # meta-|, not-equals (used to be pi)
S_tree: \xe7 # meta-g, plus-or-minus
S_room: \xfe # meta-~, centered dot
S_upladder: \xf9 # meta-y, less-than-or-equals
S_dnladder: \xfa # meta-z, greater-than-or-equals
S_altar: \xfb # meta-{, pi (used to default to '_')
S_pool: \xe0 # meta-\, diamond
S_ice: \xfe # meta-~, centered dot
S_lava: \xe0 # meta-\, diamond
@@ -604,27 +606,6 @@ start: DECgraphics
S_explode8: \xf3 # meta-s, low horizontal line
finish
#
# This is commented out because specifying alternate default set isn't
# implemented.
#
# DECgraphics_2: underscore (default for altar) can be hard to see if
# hero or highlighted pet is on the spot below (south of) it, making
# it look like part of slightly bigger block cursor. Bars are usually
# within walls and we have something else for doorless doorway so '#'
# for bars shouldn't be mistaken for the corridor symbol even by someone
# used to DECgraphics, at least not often enough to pose a problem.
# The pi symbol is small like lowercase but flat-topped like uppercase
# so could represent a side view of a raised platform or table.
#
# start: DECgraphics_2
# Defaults: DECgraphics # includes 'Handling: DEC'
# Description: variation of DECgraphics (iron bars:#, altar:pi)
# S_bars: '#' # (switch from pi to plain '#')
# S_altar: \xfb # meta-{, pi (switch from underscore)
# finish
#
start: MACgraphics
# Description: (pre-OSX: obsolete?)
# Restrictions: primary

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.155 $ $NHDT-Date: 1572833562 2019/11/04 02:12:42 $
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.159 $ $NHDT-Date: 1572892926 2019/11/04 18:42:06 $
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,
@@ -214,6 +214,9 @@ fix a leashed pet polymorphed into a long worm staying leashed
prevent leashing unsolid monsters and monsters with no extremities
playing musical instruments gave feedback which ignored deafness
some other deafness-related message corrections
when dipping into holy/unholy water while blind (where the glow message is
suppressed), clear dipped item's bknown flag unless water potion's
bless/curse state is known
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
@@ -237,6 +240,8 @@ surviving death while polymorphed would yield "You are a <foo>" without
'mksobj failure' commit resulted in wrong corpse types for dying monsters
a recent intended sanity check fix inadvertently bypassed placing
a thrown chained ball back onto the floor
in symset:curses, symbol S_tree was accidentally set to horizontal line where
plus-or-minus sign was meant; also, change S_bars to not-equals sign
curses: sometimes the message window would show a blank line after a prompt
curses: the change to show map in columns 1..79 instead of 2..80 made the
highlight for '@' show up in the wrong place if clipped map had been
@@ -388,20 +393,26 @@ curses+'perm_invent': since persistent inventory is narrow, strip off "a",
curses+'curses': change the curses map display to use new symbol set 'curses'
instead of hard-coded values; it attempts to show IBMgraphics-style
map using DECgraphics characters; DECgraphics can also be used as-is
fulfill a request from a blind player to have a unique overriding SYMBOL for pets
and for the player
fulfill a request from a blind player to have a unique overriding SYMBOL for
pets and for the player
ROGUESYMBOLS can be overridden in config files like SYMBOLS can
in symset:DECgraphics, set S_altar to 'pi' (was default '_'), S_bars to
not-equals sign (was 'pi')
NetHack Community Patches (or Variation) Included
-------------------------------------------------
add a couple of engraving suggestions in pull request #79
chasonr's faster method to write characters to msdos VGA in pull request #220
chasonr's msdos Makefile.gcc pdcurses build changes in pull request #243
autopickup exception priority change in pull request #226
Code Cleanup and Reorganization
-------------------------------
began to add some function caller BREADCRUMBS to aid debugging
flag existing occurrences of "You hear" as "Deaf-aware" to aid in
future maintenance

View File

@@ -1200,7 +1200,7 @@ dokick()
!Blind
? "Muddy waste pops up from the drain"
: !Deaf
? "You hear a sloshing sound"
? "You hear a sloshing sound" /* Deaf-aware */
: "Something splashes you in the", buf);
if (!(g.maploc->looted & S_LRING)) { /* once per sink */
if (!Blind)

View File

@@ -757,7 +757,7 @@ doengrave()
}
Strcpy(post_engr_text,
(Blind && !Deaf)
? "You hear drilling!"
? "You hear drilling!" /* Deaf-aware */
: Blind
? "You feel tremors."
: IS_GRAVE(levl[u.ux][u.uy].typ)

View File

@@ -151,17 +151,35 @@ moverock()
if (mtmp && !noncorporeal(mtmp->data)
&& (!mtmp->mtrapped
|| !(ttmp && is_pit(ttmp->ttyp)))) {
boolean deliver_part1 = FALSE;
if (Blind)
feel_location(sx, sy);
if (canspotmon(mtmp)) {
pline("There's %s on the other side.", a_monnam(mtmp));
deliver_part1 = TRUE;
} else {
You_hear("a monster behind %s.", the(xname(otmp)));
if (!Deaf)
deliver_part1 = TRUE;
map_invisible(rx, ry);
}
if (flags.verbose)
pline("Perhaps that's why %s cannot move it.",
u.usteed ? y_monnam(u.usteed) : "you");
if (flags.verbose) {
char you_or_steed[BUFSZ];
Strcpy(you_or_steed,
u.usteed ? y_monnam(u.usteed) : "you");
pline("%s%s cannot move %s.",
deliver_part1
? "Perhaps that's why "
: "",
deliver_part1
? you_or_steed
: upstart(you_or_steed),
deliver_part1
? "it"
: the(xname(otmp)));
}
goto cannot_push;
}

View File

@@ -72,7 +72,7 @@ boolean undirected;
pline("%s points %s.", Monnam(mtmp), point_msg);
} else if ((!(g.moves % 4) || !rn2(4))) {
if (!Deaf)
Norep("You hear a mumbled curse.");
Norep("You hear a mumbled curse."); /* Deaf-aware */
}
}

View File

@@ -1361,7 +1361,7 @@ fumaroles()
}
}
if (snd && !Deaf)
Norep("You hear a %swhoosh!", loud ? "loud " : "");
Norep("You hear a %swhoosh!", loud ? "loud " : ""); /* Deaf-aware */
}
/*

View File

@@ -3771,7 +3771,7 @@ boolean msg; /* "The oldmon turns into a newmon!" */
/* take on the new form... */
set_mon_data(mtmp, mdat);
if (!leashable(mtmp))
if (mtmp->mleashed && !leashable(mtmp))
m_unleash(mtmp, TRUE);
if (emits_light(olddata) != emits_light(mtmp->data)) {

View File

@@ -171,7 +171,8 @@ struct monst *bugler; /* monster that played instrument */
if (canseemon(mtmp))
pline("%s is now ready for battle!", Monnam(mtmp));
else if (!Deaf)
Norep("You hear the rattle of battle gear being readied.");
Norep("%s the rattle of battle gear being readied.",
"You hear"); /* Deaf-aware */
} else if ((distm = ((bugler == &g.youmonst)
? distu(mtmp->mx, mtmp->my)
: dist2(bugler->mx, bugler->my, mtmp->mx,

View File

@@ -357,7 +357,7 @@ VA_DECL(const char *, line)
else if (Unaware)
YouPrefix(tmp, "You dream that you hear ", line);
else
YouPrefix(tmp, "You hear ", line);
YouPrefix(tmp, "You hear ", line); /* Deaf-aware */
vpline(strcat(tmp, line), VA_ARGS);
VA_END();
}

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 potion.c $NHDT-Date: 1570235292 2019/10/05 00:28:12 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.163 $ */
/* NetHack 3.6 potion.c $NHDT-Date: 1572887644 2019/11/04 17:14:04 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.164 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1265,6 +1265,15 @@ const char *objphrase; /* "Your widget glows" or "Steed's saddle glows" */
pline("%s %s.", objphrase, glowcolor);
iflags.last_msg = PLNMSG_OBJ_GLOWS;
targobj->bknown = !Hallucination;
} else {
/* didn't see what happened: forget the BUC state if that was
known unless the bless/curse state of the water is known;
without this, hero would know the new state even without
seeing the glow; priest[ess] will immediately relearn it */
if (!potion->bknown || !potion->dknown)
targobj->bknown = 0;
/* [should the bknown+dknown exception require that water
be discovered or at least named?] */
}
/* potions of water are the only shop goods whose price depends
on their curse/bless state */

View File

@@ -2984,7 +2984,7 @@ boolean peaceful, silent;
Norep("%s booms: \"%s, you are a thief!\"",
Shknam(shkp), g.plname);
} else if (!Deaf) {
Norep("You hear a scream, \"Thief!\"");
Norep("You hear a scream, \"Thief!\""); /* Deaf-aware */
}
}
hot_pursuit(shkp);

View File

@@ -2624,7 +2624,8 @@ register struct monst *mtmp;
a_your[trap->madeby_u]);
}
if (!in_sight && !Deaf)
pline("Kaablamm! You hear an explosion in the distance!");
pline("Kaablamm! %s an explosion in the distance!",
"You hear"); /* Deaf-aware */
blow_up_landmine(trap);
/* explosion might have destroyed a drawbridge; don't
dish out more damage if monster is already dead */

View File

@@ -4434,7 +4434,7 @@ short exploding_wand_typ;
melt_ice(x, y, (char *) 0);
} else if (is_pool(x, y)) {
const char *msgtxt = (!Deaf)
? "You hear hissing gas."
? "You hear hissing gas." /* Deaf-aware */
: "That seemed remarkably uneventful.";
if (lev->typ != POOL) { /* MOAT or DRAWBRIDGE_UP */

View File

@@ -332,13 +332,17 @@ PDCURSES_CURSPRIV_H = $(PDCURSES_TOP)/curspriv.h
PDCURSES_HEADERS = $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
PDCSRC = $(PDCURSES_TOP)/pdcurses
PDCDOS = $(PDCURSES_TOP)/dos
PDCLIBOBJS = $(O)addch.o $(O)addchstr.o $(O)addstr.o $(O)attr.o $(O)beep.o \
PDCLIBOBJS1 = $(O)addch.o $(O)addchstr.o $(O)addstr.o $(O)attr.o $(O)beep.o \
$(O)bkgd.o $(O)border.o $(O)clear.o $(O)color.o $(O)delch.o $(O)deleteln.o \
$(O)getch.o $(O)getstr.o $(O)getyx.o $(O)inch.o $(O)inchstr.o \
$(O)initscr.o $(O)inopts.o $(O)insch.o $(O)insstr.o $(O)instr.o $(O)kernel.o \
$(O)keyname.o $(O)mouse.o $(O)move.o $(O)outopts.o $(O)overlay.o $(O)pad.o \
$(O)panel.o $(O)printw.o $(O)refresh.o $(O)scanw.o $(O)scr_dump.o $(O)scroll.o \
$(O)slk.o $(O)termattr.o $(O)touch.o $(O)util.o $(O)window.o $(O)debug.o
$(O)getch.o
PDCLIBOBJS2 = $(O)getstr.o $(O)getyx.o $(O)inch.o $(O)inchstr.o $(O)initscr.o \
$(O)inopts.o $(O)insch.o $(O)insstr.o $(O)instr.o $(O)kernel.o \
$(O)keyname.o $(O)mouse.o
PDCLIBOBJS3 = $(O)move.o $(O)outopts.o $(O)overlay.o $(O)pad.o $(O)panel.o \
$(O)printw.o $(O)refresh.o $(O)scanw.o $(O)scr_dump.o $(O)scroll.o \
$(O)slk.o $(O)termattr.o
PDCLIBOBJS4 = $(O)touch.o $(O)util.o $(O)window.o $(O)debug.o
PDCLIBOBJS = $(PDCLIBOBJS1) $(PDCLIBOBJS2) $(PDCLIBOBJS3) $(PDCLIBOBJS4)
PDCOBJS = $(O)pdcclip.o $(O)pdcdisp.o $(O)pdcgetsc.o $(O)pdckbd.o \
$(O)pdcscrn.o $(O)pdcsetsc.o $(O)pdcutil.o
@@ -944,7 +948,11 @@ endif
#==========================================
$(O)pdcurses.a : $(PDCLIBOBJS) $(PDCOBJS)
ar rcs $@ $(PDCLIBOBJS) $(PDCOBJS)
ar rcS $@ $(PDCLIBOBJS1)
ar rcS $@ $(PDCLIBOBJS2)
ar rcS $@ $(PDCLIBOBJS3)
ar rcS $@ $(PDCLIBOBJS4)
ar rcs $@ $(PDCOBJS)
#==========================================
# Other Util Dependencies.