fix #H7655 - highlighting gold

With options along the line of
 OPTIONS=statushilites:4
 HILITE_STATUS=gold/always/yellow
gold started out unhighlighted (unhighlit?).  I didn't try to figure
out why, just changed things to force a full status update when gold
requires internal changes (different \G encoding or different glyph)
which is something that happens when session first enters moveloop().
This commit is contained in:
PatR
2018-12-07 00:36:38 -08:00
parent 150d01a965
commit 9e170baecc
2 changed files with 7 additions and 7 deletions

View File

@@ -252,6 +252,7 @@ hero hit by something that causes inventory items to be destroyed with loss of
similar problem with more obvious symptom, an "object lost" panic when
the unholy water was wielded; the fix for that wasn't general enough]
add MM_ASLEEP makemon() flag and honor it when creating group for fill_zoo
at start of session (new game or restore), HILITE_STATUS for gold was ignored
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 botl.c $NHDT-Date: 1527042178 2018/05/23 02:22:58 $ $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.101 $ */
/* NetHack 3.6 botl.c $NHDT-Date: 1544171789 2018/12/07 08:36:29 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.128 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2006. */
/* NetHack may be freely redistributed. See license for details. */
@@ -732,15 +732,14 @@ boolean *valsetlist;
* NNNN = the glyph portion
* 25 = the gold amount
*
* Setting 'chg = 2' is enough to render the field properly, but
* not to honor an initial highlight, so force 'update_all = 1'.
*/
if (fld == BL_GOLD) {
if (context.rndencode != oldrndencode) {
chg = 2;
if (context.rndencode != oldrndencode
|| showsyms[COIN_CLASS + SYM_OFF_O] != oldgoldsym) {
update_all = 1; /* chg = 2; */
oldrndencode = context.rndencode;
}
if (oldgoldsym != showsyms[COIN_CLASS + SYM_OFF_O]) {
chg = 2;
oldgoldsym = showsyms[COIN_CLASS + SYM_OFF_O];
}
}