curses STATUS_HILITES

Honor hilite_status rules specifying color even if curses-specific
option 'guicolor' is off.

Update status from scratch when 'O' is used to manipulate hilite_status
rules.
This commit is contained in:
PatR
2019-03-15 01:12:59 -07:00
parent 963cb352bc
commit 3d4164bcce
3 changed files with 10 additions and 2 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.274 $ $NHDT-Date: 1552521022 2019/03/13 23:50:22 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.275 $ $NHDT-Date: 1552637574 2019/03/15 08:12:54 $
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,
@@ -479,6 +479,8 @@ curses: when getting multi-character responses from player, support <delete>
<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 curses: support hilite_pet and hilite_pile even when color is disabled
curses: support color hilite_status rules even if 'guicolor' is off
curses: update status if 'O' is used to add/change/remove hilite_status rules
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

@@ -850,6 +850,9 @@ preference_update(preference)
void void
curses_preference_update(const char *pref) curses_preference_update(const char *pref)
{ {
if (!strcmp(pref, "hilite_status") || !strcmp(pref, "align_status"))
status_initialize(REASSESS_ONLY);
if (!strcmp(pref, "align_status") if (!strcmp(pref, "align_status")
|| !strcmp(pref, "align_message")) { || !strcmp(pref, "align_message")) {
curses_create_main_windows(); curses_create_main_windows();

View File

@@ -87,7 +87,10 @@ curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff)
int curses_color; int curses_color;
/* if color is disabled, just show attribute */ /* if color is disabled, just show attribute */
if ((win == mapwin) ? !iflags.wc_color : !iflags.wc2_guicolor) { if ((win == mapwin) ? !iflags.wc_color
/* statuswin is for #if STATUS_HILITES
but doesn't need to be conditional */
: !(iflags.wc2_guicolor || win == statuswin)) {
#endif #endif
if (attr != NONE) { if (attr != NONE) {
if (onoff == ON) if (onoff == ON)