Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-06-25 09:42:13 -04:00
4 changed files with 29 additions and 12 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
For example, ^S and ^Q are often used for XON/XOFF flow-control, For example, ^S and ^Q are often used for XON/XOFF flow-control,
meaning that ^S suspends output and subsequent ^Q resumes suspended meaning that ^S suspends output and subsequent ^Q resumes suspended
output. When that it the case, neither of those characters will output. When that is the case, neither of those characters will
reach NetHack when it is waiting for a command keystroke. So they reach NetHack when it is waiting for a command keystroke. So they
aren't used as commands, but 'whatdoes' might not be able to tell aren't used as commands, but 'whatdoes' might not be able to tell
you that if they don't get passed through to NetHack. you that if they don't get passed through to NetHack.
+9 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.69 $ $NHDT-Date: 1561429723 2019/06/25 02:28:43 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.71 $ $NHDT-Date: 1561457861 2019/06/25 10:17:41 $
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,
@@ -104,6 +104,9 @@ for wizard mode 'wizweight' option, glob weight wasn't shown unless glob had
fix for feedback when a monster plays a fire horn at self to cure green slime fix for feedback when a monster plays a fire horn at self to cure green slime
ended up being used for zapping a wand of fire at self too ended up being used for zapping a wand of fire at self too
curses: sometimes the message window would show a blank line after a prompt 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
panned horizontally
tty: revert the attempt to fix "message line anomaly: if autodecribe feedback tty: revert the attempt to fix "message line anomaly: if autodecribe feedback
wrapped to second line, the wrapped portion wasn't erased when a wrapped to second line, the wrapped portion wasn't erased when a
shorter line was shown or getpos was dismissed" because it disrupted shorter line was shown or getpos was dismissed" because it disrupted
@@ -148,6 +151,11 @@ curses: make text windows wider so that help feedback is more readable
curses: using ':' for search string matching to toggle menu items in a multple curses: using ':' for search string matching to toggle menu items in a multple
page menu would highlight arbitrary items on the currently visible page menu would highlight arbitrary items on the currently visible
page in sync with the lines that matching items had on other pages page in sync with the lines that matching items had on other pages
curses: when map window was clipped, the 'scrollbars' shown to indicate which
part of the map was in view didn't work as intended, always drawing
"*--------------" for horizontal (and comparable '*' with multiple '|'
underneath for vertical) when it meant to show "---******------" if
the 2nd and 3rd fifths (for example) were currently within view
curses+'perm_invent': entries were wrapping without any control; usually not curses+'perm_invent': entries were wrapping without any control; usually not
noticeable because next entry overwrote, but visible for final entry noticeable because next entry overwrote, but visible for final entry
when whole inventory fit within the available height; looked ok with when whole inventory fit within the available height; looked ok with
+3 -4
View File
@@ -519,8 +519,6 @@ curses_move_cursor(winid wid, int x, int y)
if (wid != MAP_WIN) { if (wid != MAP_WIN) {
return; return;
} else {
--x; /* map column [0] isn't used, so shift everything over 1 col */
} }
#ifdef PDCURSES #ifdef PDCURSES
/* PDCurses seems to not handle wmove correctly, so we use move and /* PDCurses seems to not handle wmove correctly, so we use move and
@@ -536,8 +534,9 @@ curses_move_cursor(winid wid, int x, int y)
curs_y++; curs_y++;
} }
if ((x >= sx) && (x <= ex) && (y >= sy) && (y <= ey)) { if (x >= sx && x <= ex && y >= sy && y <= ey) {
curs_x -= sx; /* map column #0 isn't used; shift column #1 to first screen column */
curs_x -= (sx + 1);
curs_y -= sy; curs_y -= sy;
#ifdef PDCURSES #ifdef PDCURSES
move(curs_y, curs_x); move(curs_y, curs_x);
+16 -6
View File
@@ -624,9 +624,14 @@ curses_draw_map(int sx, int sy, int ex, int ey)
vsb_bar.attr = A_NORMAL; vsb_bar.attr = A_NORMAL;
/* Horizontal scrollbar */ /* Horizontal scrollbar */
if ((sx > 0) || (ex < (COLNO - 1))) { if (sx > 0 || ex < (COLNO - 1)) {
sbsx = (sx * ((long) (ex - sx + 1) / COLNO)); sbsx = (int) (((long) sx * (long) (ex - sx + 1)) / (long) COLNO);
sbex = (ex * ((long) (ex - sx + 1) / COLNO)); sbex = (int) (((long) ex * (long) (ex - sx + 1)) / (long) COLNO);
if (sx > 0 && sbsx == 0)
++sbsx;
if (ex < ROWNO - 1 && sbex == ROWNO - 1)
--sbex;
for (count = 0; count < sbsx; count++) { for (count = 0; count < sbsx; count++) {
write_char(mapwin, count + bspace, ey - sy + 1 + bspace, hsb_back); write_char(mapwin, count + bspace, ey - sy + 1 + bspace, hsb_back);
@@ -642,9 +647,14 @@ curses_draw_map(int sx, int sy, int ex, int ey)
} }
/* Vertical scrollbar */ /* Vertical scrollbar */
if ((sy > 0) || (ey < (ROWNO - 1))) { if (sy > 0 || ey < (ROWNO - 1)) {
sbsy = (sy * ((long) (ey - sy + 1) / ROWNO)); sbsy = (int) (((long) sy * (long) (ey - sy + 1)) / (long) ROWNO);
sbey = (ey * ((long) (ey - sy + 1) / ROWNO)); sbey = (int) (((long) ey * (long) (ey - sy + 1)) / (long) ROWNO);
if (sy > 0 && sbsy == 0)
++sbsy;
if (ey < ROWNO - 1 && sbey == ROWNO - 1)
--sbey;
for (count = 0; count < sbsy; count++) { for (count = 0; count < sbsy; count++) {
write_char(mapwin, ex - sx + 1 + bspace, count + bspace, vsb_back); write_char(mapwin, ex - sx + 1 + bspace, count + bspace, vsb_back);