diff --git a/doc/fixes36.2 b/doc/fixes36.2 index e71bfd09a..a0297e8a5 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.274 $ $NHDT-Date: 1552521022 2019/03/13 23:50:22 $ +$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.276 $ $NHDT-Date: 1552697495 2019/03/16 00:51:35 $ 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, @@ -392,6 +392,8 @@ if steed ate a mimic corpse and began masquerading as something, hero could kicking an object stack moves the topmost 1, but range calculation used the weight of the whole stack to decide how far it would move, possibly yielding "thump" result with no movement despite being a light item +status lines' dungeon location field in the elemental planes now shows Earth + or Air or Fire or Water instead of generic End Game Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository @@ -479,6 +481,8 @@ curses: when getting multi-character responses from player, support to core if ESC is typed when there is no input entered curses: extend preceding support to typing of extended command names curses: support hilite_pet and hilite_pile even when color is disabled +curses: support color hilite_status rules even if 'guicolor' is off +curses: update status if 'O' is used to add/change/remove hilite_status rules vms: add compile of isaac64.c to Makefile.src and vmsbuild.com diff --git a/src/botl.c b/src/botl.c index e5903e6d4..abf06f742 100644 --- a/src/botl.c +++ b/src/botl.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 botl.c $NHDT-Date: 1549755174 2019/02/09 23:32:54 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.134 $ */ +/* 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 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2006. */ /* NetHack may be freely redistributed. See license for details. */ @@ -375,13 +375,16 @@ char *buf; int ret = 1; /* TODO: Add in dungeon name */ - if (Is_knox(&u.uz)) + if (Is_knox(&u.uz)) { Sprintf(buf, "%s ", g.dungeons[u.uz.dnum].dname); - else if (In_quest(&u.uz)) + } else if (In_quest(&u.uz)) { Sprintf(buf, "Home %d ", dunlev(&u.uz)); - else if (In_endgame(&u.uz)) - Sprintf(buf, Is_astralevel(&u.uz) ? "Astral Plane " : "End Game "); - else { + } else if (In_endgame(&u.uz)) { + /* [3.6.2: this used to be "Astral Plane" or generic "End Game"] */ + (void) endgamelevelname(buf, depth(&u.uz)); + (void) strsubst(buf, "Plane of ", ""); /* just keep */ + Strcat(buf, " "); + } else { /* ports with more room may expand this one */ Sprintf(buf, "Dlvl:%-2d ", depth(&u.uz)); ret = 0; diff --git a/src/hacklib.c b/src/hacklib.c index df27f0287..48d6a4254 100644 --- a/src/hacklib.c +++ b/src/hacklib.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 hacklib.c $NHDT-Date: 1518922474 2018/02/18 02:54:34 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.54 $ */ +/* NetHack 3.6 hacklib.c $NHDT-Date: 1552639487 2019/03/15 08:44:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.67 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2007. */ /* Copyright (c) Robert Patrick Rankin, 1991 */ @@ -170,13 +170,14 @@ char *bp; return bp; } -/* remove leading and trailing whitespace, in place */ -char* +/* skip leading whitespace; remove trailing whitespace, in place */ +char * trimspaces(txt) -char* txt; +char *txt; { - char* end; + char *end; + /* leading whitespace will remain in the buffer */ while (*txt == ' ' || *txt == '\t') txt++; end = eos(txt); diff --git a/win/curses/cursmain.c b/win/curses/cursmain.c index ccae4b439..1791791a0 100644 --- a/win/curses/cursmain.c +++ b/win/curses/cursmain.c @@ -850,6 +850,9 @@ preference_update(preference) void curses_preference_update(const char *pref) { + if (!strcmp(pref, "hilite_status") || !strcmp(pref, "align_status")) + status_initialize(REASSESS_ONLY); + if (!strcmp(pref, "align_status") || !strcmp(pref, "align_message")) { curses_create_main_windows(); diff --git a/win/curses/cursmisc.c b/win/curses/cursmisc.c index 32fe4ff8d..e53208138 100644 --- a/win/curses/cursmisc.c +++ b/win/curses/cursmisc.c @@ -87,7 +87,10 @@ curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff) int curses_color; /* if color is disabled, just show attribute */ - if ((win == mapwin) ? !iflags.wc_color : !iflags.wc2_guicolor) { + if ((win == mapwin) ? !iflags.wc_color + /* statuswin is for #if STATUS_HILITES + but doesn't need to be conditional */ + : !(iflags.wc2_guicolor || win == statuswin)) { #endif if (attr != NONE) { if (onoff == ON)