diff --git a/doc/fixes36.2 b/doc/fixes36.2 index 538c632ca..11aa182ff 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -252,6 +252,9 @@ 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 +if player creates any menu colors via 'O' while menucolors is off, issue a + reminder that it needs to be on in order for those to become effective add MM_NOGRP makemon() flag as a means of suppressing groups of monsters in a couple places that warrant it when a specific monster type isn't specified on the call to makemon() diff --git a/src/botl.c b/src/botl.c index 4af749105..e0008d2b5 100644 --- a/src/botl.c +++ b/src/botl.c @@ -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]; } } diff --git a/src/options.c b/src/options.c index 7dc622687..b3595a6ad 100644 --- a/src/options.c +++ b/src/options.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 options.c $NHDT-Date: 1543972192 2018/12/05 01:09:52 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.335 $ */ +/* NetHack 3.6 options.c $NHDT-Date: 1544174413 2018/12/07 09:20:13 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.339 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2008. */ /* NetHack may be freely redistributed. See license for details. */ @@ -4283,7 +4283,7 @@ static struct other_opts { int NDECL((*othr_count_func)); } othropt[] = { { "autopickup exceptions", SET_IN_GAME, OPT_OTHER_APEXC, count_apes }, - { "menucolors", SET_IN_GAME, OPT_OTHER_MENUCOLOR, count_menucolors }, + { "menu colors", SET_IN_GAME, OPT_OTHER_MENUCOLOR, count_menucolors }, { "message types", SET_IN_GAME, OPT_OTHER_MSGTYPE, msgtype_count }, #ifdef STATUS_HILITES { "status hilite rules", SET_IN_GAME, OPT_OTHER_STATHILITE, @@ -4457,7 +4457,7 @@ doset() /* changing options via menu by Per Liboriussen */ } #endif } else if (opt_indx == OPT_OTHER_MENUCOLOR) { - (void) special_handling("menucolors", setinitial, + (void) special_handling("menu_colors", setinitial, fromfile); } else if (opt_indx == OPT_OTHER_MSGTYPE) { (void) special_handling("msgtype", setinitial, fromfile); @@ -5036,7 +5036,7 @@ boolean setinitial, setfromfile; if (pick_cnt >= 0) goto msgtypes_again; } - } else if (!strcmp("menucolors", optname)) { + } else if (!strcmp("menu_colors", optname)) { int opt_idx, nmc, mcclr, mcattr; char mcbuf[BUFSZ] = DUMMY; @@ -5044,11 +5044,15 @@ boolean setinitial, setfromfile; nmc = count_menucolors(); opt_idx = handle_add_list_remove("menucolor", nmc); if (opt_idx == 3) { /* done */ + menucolors_done: + if (nmc > 0 && !iflags.use_menu_color) + pline( + "To have menu colors become active, toggle 'menucolors' option to True."); return TRUE; } else if (opt_idx == 0) { /* add new */ getlin("What new menucolor pattern?", mcbuf); if (*mcbuf == '\033') - return TRUE; + goto menucolors_done; if (*mcbuf && test_regex_pattern(mcbuf, (const char *)0) && (mcclr = query_color((char *) 0)) != -1