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

This commit is contained in:
nhmall
2019-03-13 20:04:50 -04:00
6 changed files with 36 additions and 18 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.273 $ $NHDT-Date: 1552425075 2019/03/12 21:11:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.274 $ $NHDT-Date: 1552521022 2019/03/13 23:50:22 $
This fixes36.2 file is here to capture information about updates in the 3.6.x This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however, lineage following the release of 3.6.1 in April 2018. Please note, however,
@@ -478,6 +478,7 @@ curses: when getting multi-character responses from player, support <delete>
as well as <backspace> to remove last character entered; also, return as well as <backspace> to remove last character entered; also, return
<escape> to core if ESC is typed when there is no input entered <escape> to core if ESC is typed when there is no input entered
curses: extend preceding <delete> support to typing of extended command names curses: extend preceding <delete> support to typing of extended command names
curses: support hilite_pet and hilite_pile even when color is disabled
vms: add compile of isaac64.c to Makefile.src and vmsbuild.com vms: add compile of isaac64.c to Makefile.src and vmsbuild.com

View File

@@ -163,7 +163,7 @@ extern void curses_view_file(const char *filename, boolean must_exist);
extern void curses_rtrim(char *str); extern void curses_rtrim(char *str);
extern int curses_get_count(int first_digit); extern int curses_get_count(int first_digit);
extern int curses_convert_attr(int attr); extern int curses_convert_attr(int attr);
extern int curses_read_attrs(char *attrs); extern int curses_read_attrs(const char *attrs);
extern char *curses_fmt_attrs(char *); extern char *curses_fmt_attrs(char *);
extern int curses_convert_keys(int key); extern int curses_convert_keys(int key);
extern int curses_get_mouse(int *mousex, int *mousey, int *mod); extern int curses_get_mouse(int *mousex, int *mousey, int *mod);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 options.c $NHDT-Date: 1551222973 2019/02/26 23:16:13 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.356 $ */ /* NetHack 3.6 options.c $NHDT-Date: 1552521022 2019/03/13 23:50:22 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.357 $ */
/* 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. */
@@ -28,7 +28,7 @@ NEARDATA struct instance_flags iflags; /* provide linkage */
#endif #endif
#ifdef CURSES_GRAPHICS #ifdef CURSES_GRAPHICS
extern int curses_read_attrs(char *attrs); extern int curses_read_attrs(const char *attrs);
extern char *curses_fmt_attrs(char *); extern char *curses_fmt_attrs(char *);
#endif #endif
@@ -4030,7 +4030,6 @@ boolean tinitial, tfrom_file;
} else if (boolopt[i].addr == &flags.showrace } else if (boolopt[i].addr == &flags.showrace
|| boolopt[i].addr == &iflags.use_inverse || boolopt[i].addr == &iflags.use_inverse
|| boolopt[i].addr == &iflags.hilite_pile || boolopt[i].addr == &iflags.hilite_pile
|| boolopt[i].addr == &iflags.hilite_pet
|| boolopt[i].addr == &iflags.perm_invent || boolopt[i].addr == &iflags.perm_invent
#ifdef CURSES_GRAPHICS #ifdef CURSES_GRAPHICS
|| boolopt[i].addr == &iflags.cursesgraphics || boolopt[i].addr == &iflags.cursesgraphics
@@ -4038,6 +4037,17 @@ boolean tinitial, tfrom_file;
|| boolopt[i].addr == &iflags.wc_ascii_map || boolopt[i].addr == &iflags.wc_ascii_map
|| boolopt[i].addr == &iflags.wc_tiled_map) { || boolopt[i].addr == &iflags.wc_tiled_map) {
need_redraw = TRUE; need_redraw = TRUE;
} else if (boolopt[i].addr == &iflags.hilite_pet) {
#ifdef CURSES_GRAPHICS
if (WINDOWPORT("curses")) {
/* if we're enabling hilite_pet and petattr isn't set,
set it to Inverse; if we're disabling, leave petattr
alone so that re-enabling will get current value back */
if (iflags.hilite_pet && !iflags.wc2_petattr)
iflags.wc2_petattr = curses_read_attrs("I");
}
#endif
need_redraw = TRUE;
#ifdef STATUS_HILITES #ifdef STATUS_HILITES
} else if (boolopt[i].addr == &iflags.wc2_hitpointbar) { } else if (boolopt[i].addr == &iflags.wc2_hitpointbar) {
status_initialize(REASSESS_ONLY); status_initialize(REASSESS_ONLY);

View File

@@ -358,8 +358,7 @@ putstr(window, attr, str)
-- Print str on the window with the given attribute. Only -- Print str on the window with the given attribute. Only
printable ASCII characters (040-0126) must be supported. printable ASCII characters (040-0126) must be supported.
Multiple putstr()s are output on separate lines. Multiple putstr()s are output on separate lines.
Attributes Attributes can be one of
can be one of
ATR_NONE (or 0) ATR_NONE (or 0)
ATR_ULINE ATR_ULINE
ATR_BOLD ATR_BOLD
@@ -616,7 +615,10 @@ curses_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph,
} else } else
*/ */
if ((special & MG_OBJPILE) && iflags.hilite_pile) { if ((special & MG_OBJPILE) && iflags.hilite_pile) {
color = 16 + (color * 2) + 1; if (iflags.wc_color)
color = 16 + (color * 2) + 1;
else
attr = A_REVERSE;
} }
} }

View File

@@ -81,19 +81,22 @@ curses_read_char()
/* Turn on or off the specified color and / or attribute */ /* Turn on or off the specified color and / or attribute */
void void
curses_toggle_color_attr(WINDOW * win, int color, int attr, int onoff) curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff)
{ {
#ifdef TEXTCOLOR #ifdef TEXTCOLOR
int curses_color; int curses_color;
/* Map color disabled */ /* if color is disabled, just show attribute */
if ((!iflags.wc_color) && (win == mapwin)) { if ((win == mapwin) ? !iflags.wc_color : !iflags.wc2_guicolor) {
return; #endif
} if (attr != NONE) {
if (onoff == ON)
/* GUI color disabled */ wattron(win, attr);
if ((!iflags.wc2_guicolor) && (win != mapwin)) { else
wattroff(win, attr);
}
return; return;
#ifdef TEXTCOLOR
} }
if (color == 0) { /* make black fg visible */ if (color == 0) { /* make black fg visible */
@@ -149,6 +152,8 @@ curses_toggle_color_attr(WINDOW * win, int color, int attr, int onoff)
wattroff(win, attr); wattroff(win, attr);
} }
} }
#else
nhUse(color);
#endif /* TEXTCOLOR */ #endif /* TEXTCOLOR */
} }
@@ -685,7 +690,7 @@ curses_convert_attr(int attr)
success (might be 0), or -1 if not found. */ success (might be 0), or -1 if not found. */
int int
curses_read_attrs(char *attrs) curses_read_attrs(const char *attrs)
{ {
int retattr = 0; int retattr = 0;

View File

@@ -26,7 +26,7 @@ void curses_view_file(const char *filename, boolean must_exist);
void curses_rtrim(char *str); void curses_rtrim(char *str);
int curses_get_count(int first_digit); int curses_get_count(int first_digit);
int curses_convert_attr(int attr); int curses_convert_attr(int attr);
int curses_read_attrs(char *attrs); int curses_read_attrs(const char *attrs);
char *curses_fmt_attrs(char *); char *curses_fmt_attrs(char *);
int curses_convert_keys(int key); int curses_convert_keys(int key);
int curses_get_mouse(int *mousex, int *mousey, int *mod); int curses_get_mouse(int *mousex, int *mousey, int *mod);