diff --git a/doc/fixes36.2 b/doc/fixes36.2 index e76a86e04..9522e1eae 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -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 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 diff --git a/src/botl.c b/src/botl.c index abf06f742..45d71c1bb 100644 --- a/src/botl.c +++ b/src/botl.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 botl.c $NHDT-Date: 1552697495 2019/03/16 00:51:35 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.135 $ */ +/* NetHack 3.6 botl.c $NHDT-Date: 1553217909 2019/03/22 01:25:09 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.136 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2006. */ /* NetHack may be freely redistributed. See license for details. */ @@ -728,7 +728,7 @@ boolean *valsetlist; if (anytype != ANY_MASK32) { #ifdef STATUS_HILITES if ((chg || *curr->val)) { - get_hilite_color(idx, fld, (genericptr_t)&curr->a, + get_hilite_color(idx, fld, (genericptr_t) &curr->a, chg, pc, &color); if (chg == 2) { color = NO_COLOR; @@ -2283,7 +2283,7 @@ int sidx; /* * We have the conditions_bitmask with bits set for * each ailment we want in a particular color and/or - * attribute, but we need to assign it to an arry of + * attribute, but we need to assign it to an array of * bitmasks indexed by the color chosen * (0 to (CLR_MAX - 1)) * and/or attributes chosen @@ -2324,6 +2324,7 @@ int sidx; for (i = 0; i < sf; ++i) { int a = match_str2attr(subfields[i], FALSE); + if (a == ATR_DIM) g.cond_hilites[HL_ATTCLR_DIM] |= conditions_bitmask; else if (a == ATR_BLINK) @@ -3236,15 +3237,15 @@ choose_color: if (atr & HL_DIM) g.cond_hilites[HL_ATTCLR_DIM] |= cond; - else if (atr & HL_BLINK) + if (atr & HL_BLINK) g.cond_hilites[HL_ATTCLR_BLINK] |= cond; - else if (atr & HL_ULINE) + if (atr & HL_ULINE) g.cond_hilites[HL_ATTCLR_ULINE] |= cond; - else if (atr & HL_INVERSE) + if (atr & HL_INVERSE) g.cond_hilites[HL_ATTCLR_INVERSE] |= cond; - else if (atr & HL_BOLD) + if (atr & HL_BOLD) g.cond_hilites[HL_ATTCLR_BOLD] |= cond; - else if (atr == HL_NONE) { + if (atr == HL_NONE) { g.cond_hilites[HL_ATTCLR_DIM] &= ~cond; g.cond_hilites[HL_ATTCLR_BLINK] &= ~cond; g.cond_hilites[HL_ATTCLR_ULINE] &= ~cond; diff --git a/src/options.c b/src/options.c index 69178077c..73e3b636b 100644 --- a/src/options.c +++ b/src/options.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 options.c $NHDT-Date: 1553204012 2019/03/21 21:33:32 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.358 $ */ +/* NetHack 3.6 options.c $NHDT-Date: 1553217909 2019/03/22 01:25:09 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.359 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2008. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1506,14 +1506,14 @@ const char *prompt; : MENU_UNSELECTED); } end_menu(tmpwin, (prompt && *prompt) ? prompt : "Pick an attribute"); - pick_cnt = select_menu(tmpwin, allow_many ? PICK_ANY: PICK_ONE, &picks); + pick_cnt = select_menu(tmpwin, allow_many ? PICK_ANY : PICK_ONE, &picks); destroy_nhwindow(tmpwin); if (pick_cnt > 0) { int j, k = 0; if (allow_many) { - /* PICK_ANY, with one preselected entry which should be - excluded if any other choices were picked */ + /* PICK_ANY, with one preselected entry (ATR_NONE) which + should be excluded if any other choices were picked */ for (i = 0; i < pick_cnt; ++i) { j = picks[i].item.a_int - 1; if (attrnames[j].attr != ATR_NONE || pick_cnt == 1) {