highlighting status condition via 'O' bug

It took me a while to track this down:  if you use 'O' to create
hilite_status rule(s) for status condition(s) and you specify multiple
attributes in the rule creation menu, it accepts them but it was
parsing the new rule(s) incorrectly and only supported one attribute.

 if (mask & bit)
  something;
 else if (mask & other_bit)
  something_else;
 else if (mask & yet_another_bit) ...

effectively stops at the first bit matched.  (At the time that that
was written, the menu leading to it only accepted a single attribute.)
This commit is contained in:
PatR
2019-03-21 18:26:31 -07:00
parent 5efea7115a
commit ebae433711
3 changed files with 17 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.277 $ $NHDT-Date: 1553204013 2019/03/21 21:33:33 $
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.278 $ $NHDT-Date: 1553217908 2019/03/22 01:25:08 $
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,
@@ -460,6 +460,9 @@ when persistent inventory window is enabled, wearing armor didn't immediately
update it with armor's newly observed +/- value
having an artifact wish be refused ("for a moment you feel <artifact> in
your hands, but it disappears") would immediately segfault
using 'O' to set status hilites for any status condition (Blind, &c) and
specifying more than one attribute (Bold, Inverse, &c) it would only
retain one of the chosen attributes
tty: turn off an optimization that is the suspected cause of Windows reported
partial status lines following level changes
tty: ensure that current status fields are always copied to prior status