curses: hilite_pet, hilite_pile without color

The curses interface was ignoring video attributes (bold, inverse, &c)
when color is toggled off or if built with TEXTCOLOR disabled.  Honor
attributes regardless of whether color is displayed.

Also, toggling 'hilite_pet' On during play wouldn't do anything if the
curses-specific 'petattr' option had been left as None.  (It worked as
intended if set in starting options.)
This commit is contained in:
PatR
2019-03-13 16:50:56 -07:00
parent 62a34040bd
commit ccd6d1407e
6 changed files with 36 additions and 18 deletions

View File

@@ -358,8 +358,7 @@ putstr(window, attr, str)
-- Print str on the window with the given attribute. Only
printable ASCII characters (040-0126) must be supported.
Multiple putstr()s are output on separate lines.
Attributes
can be one of
Attributes can be one of
ATR_NONE (or 0)
ATR_ULINE
ATR_BOLD
@@ -616,7 +615,10 @@ curses_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph,
} else
*/
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;
}
}