Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-06-20 10:18:32 -04:00
5 changed files with 51 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.57 $ $NHDT-Date: 1560855142 2019/06/18 10:52:22 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.59 $ $NHDT-Date: 1561022792 2019/06/20 09:26:32 $
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,
@@ -76,6 +76,7 @@ if hero knows the number of charges in a wand or magical horn and a monster
for wizard mode 'monpolycontrol', allow usually disallowed type 'chameleon', for wizard mode 'monpolycontrol', allow usually disallowed type 'chameleon',
'doppelganger', or 'sandestin' as answer to "change <monster> @ <x,y> 'doppelganger', or 'sandestin' as answer to "change <monster> @ <x,y>
into what?" prompt when <monster> is really that type of creature into what?" prompt when <monster> is really that type of creature
add Space, Return, and Escape to '? k' (help for menu control keys)
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
@@ -129,6 +130,7 @@ curses: don't convert ^M (or <return> or <enter> key) into ^J; both ^J and ^M
off) and ^M is not bound to any command, so accidental <return> won't off) and ^M is not bound to any command, so accidental <return> won't
cause the hero to try to move cause the hero to try to move
curses: draw map in screen columns 1..79 like tty, rather than in 2..80 curses: draw map in screen columns 1..79 like tty, rather than in 2..80
curses: make text windows wider so that help feedback is more readable
curses+EDIT_GETLIN: when a prompt's answer was preloaded, using ESC to discard curses+EDIT_GETLIN: when a prompt's answer was preloaded, using ESC to discard
it deleted it from the answer buffer but didn't erase it from screen it deleted it from the answer buffer but didn't erase it from screen
tty: re-do one optimization used when status conditions have all been removed tty: re-do one optimization used when status conditions have all been removed

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 hack.h $NHDT-Date: 1559227823 2019/05/30 14:50:23 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.105 $ */ /* NetHack 3.6 hack.h $NHDT-Date: 1561019041 2019/06/20 08:24:01 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.106 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Pasi Kallinen, 2017. */ /*-Copyright (c) Pasi Kallinen, 2017. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -565,6 +565,6 @@ enum bodypart_types {
#endif #endif
#define DEVTEAM_EMAIL "devteam@nethack.org" #define DEVTEAM_EMAIL "devteam@nethack.org"
#define DEVTEAM_URL "http://www.nethack.org" #define DEVTEAM_URL "https://www.nethack.org/"
#endif /* HACK_H */ #endif /* HACK_H */

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 cmd.c $NHDT-Date: 1560789049 2019/06/17 16:30:49 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.336 $ */ /* NetHack 3.6 cmd.c $NHDT-Date: 1561017215 2019/06/20 07:53:35 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.337 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -4567,7 +4567,8 @@ randomkey()
c = (char) rn1('9' - '0' + 1, '0'); c = (char) rn1('9' - '0' + 1, '0');
break; break;
case 14: case 14:
c = (char) rn2(iflags.wc_eight_bit_input ? 256 : 128); /* any char, but avoid '\0' because it's used for mouse click */
c = (char) rnd(iflags.wc_eight_bit_input ? 255 : 127);
break; break;
} }

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 options.c $NHDT-Date: 1560789054 2019/06/17 16:30:54 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.364 $ */ /* NetHack 3.6 options.c $NHDT-Date: 1561022792 2019/06/20 09:26:32 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.365 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2008. */ /*-Copyright (c) Michael Allison, 2008. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -4249,36 +4249,55 @@ boolean dolist;
putstr(win, 0, buf); putstr(win, 0, buf);
} }
} else { } else {
const char
fmt3[] = " %-12s %-2s %-2s %s",
fmt2[] = " %-12s %-2s %-2s",
fmt1[] = " %10s %-2s %s",
fmt0[] = " %14s %s";
putstr(win, 0, ""); putstr(win, 0, "");
putstr(win, 0, " Page All items"); putstr(win, 0, "Selection: On page Full menu");
Sprintf(buf, " Select %s %s", Sprintf(buf, fmt2, "Select all",
visctrl(get_menu_cmd_key(MENU_SELECT_PAGE)), visctrl(get_menu_cmd_key(MENU_SELECT_PAGE)),
visctrl(get_menu_cmd_key(MENU_SELECT_ALL))); visctrl(get_menu_cmd_key(MENU_SELECT_ALL)));
putstr(win, 0, buf); putstr(win, 0, buf);
Sprintf(buf, "Deselect %s %s", Sprintf(buf, fmt2, "Deselect all",
visctrl(get_menu_cmd_key(MENU_UNSELECT_PAGE)), visctrl(get_menu_cmd_key(MENU_UNSELECT_PAGE)),
visctrl(get_menu_cmd_key(MENU_UNSELECT_ALL))); visctrl(get_menu_cmd_key(MENU_UNSELECT_ALL)));
putstr(win, 0, buf); putstr(win, 0, buf);
Sprintf(buf, " Invert %s %s", Sprintf(buf, fmt2, "Invert all",
visctrl(get_menu_cmd_key(MENU_INVERT_PAGE)), visctrl(get_menu_cmd_key(MENU_INVERT_PAGE)),
visctrl(get_menu_cmd_key(MENU_INVERT_ALL))); visctrl(get_menu_cmd_key(MENU_INVERT_ALL)));
putstr(win, 0, buf); putstr(win, 0, buf);
putstr(win, 0, ""); Sprintf(buf, fmt3, "Text match", "",
Sprintf(buf, " Go to %s Next page", visctrl(get_menu_cmd_key(MENU_SEARCH)),
visctrl(get_menu_cmd_key(MENU_NEXT_PAGE))); "Search and toggle matching entries");
putstr(win, 0, buf);
Sprintf(buf, " %s Previous page",
visctrl(get_menu_cmd_key(MENU_PREVIOUS_PAGE)));
putstr(win, 0, buf);
Sprintf(buf, " %s First page",
visctrl(get_menu_cmd_key(MENU_FIRST_PAGE)));
putstr(win, 0, buf);
Sprintf(buf, " %s Last page",
visctrl(get_menu_cmd_key(MENU_LAST_PAGE)));
putstr(win, 0, buf); putstr(win, 0, buf);
putstr(win, 0, ""); putstr(win, 0, "");
Sprintf(buf, " %s Search and toggle matching entries", putstr(win, 0, "Navigation:");
visctrl(get_menu_cmd_key(MENU_SEARCH))); Sprintf(buf, fmt1, "Go to ",
visctrl(get_menu_cmd_key(MENU_NEXT_PAGE)),
"Next page");
putstr(win, 0, buf);
Sprintf(buf, fmt1, "",
visctrl(get_menu_cmd_key(MENU_PREVIOUS_PAGE)),
"Previous page");
putstr(win, 0, buf);
Sprintf(buf, fmt1, "",
visctrl(get_menu_cmd_key(MENU_FIRST_PAGE)),
"First page");
putstr(win, 0, buf);
Sprintf(buf, fmt1, "",
visctrl(get_menu_cmd_key(MENU_LAST_PAGE)),
"Last page");
putstr(win, 0, buf);
Sprintf(buf, fmt0, "SPACE", "Next page, if any, otherwise RETURN");
putstr(win, 0, buf);
Sprintf(buf, fmt0, "RETURN/ENTER",
"Finish menu with any selection(s) made");
putstr(win, 0, buf);
Sprintf(buf, fmt0, "ESCAPE",
"Cancel menu without selecting anything");
putstr(win, 0, buf); putstr(win, 0, buf);
} }
} }

View File

@@ -1025,8 +1025,11 @@ menu_win_size(nhmenu *menu)
/* Try not to wrap headers/normal text lines if possible. We can /* Try not to wrap headers/normal text lines if possible. We can
go wider than half the screen for this purpose if need be */ go wider than half the screen for this purpose if need be */
if ((maxheaderwidth > maxwidth) && (maxheaderwidth < (term_cols - 2))) { if (maxheaderwidth > maxwidth) {
maxwidth = maxheaderwidth; if (maxheaderwidth < (term_cols - 2))
maxwidth = maxheaderwidth;
else
maxwidth = term_cols - 2;
} }
width = maxwidth; width = maxwidth;