-$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.183 $ $NHDT-Date: 1587024026 2020/04/16 08:00:26 $
+$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.184 $ $NHDT-Date: 1587110793 2020/04/17 08:06:33 $
General Fixes and Modified Features
-----------------------------------
teleport feedback "you materialize at another location" was given too soon
'mention_decore' was repeatedly reporting "you are back on bottom" when
moving around underwater
+tty: redraw unexplored locations as S_unexplored rather than <space> after
+ map has been partially overwritten by popup menu or text display
X11: was still initializing map to 'stone' instead of 'unexplored' after they
became separate glyphs
X11: for text map without color, add support for black&white ice; draw it in
-/* NetHack 3.6 display.c $NHDT-Date: 1585781359 2020/04/01 22:49:19 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.128 $ */
+/* NetHack 3.6 display.c $NHDT-Date: 1587110793 2020/04/17 08:06:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.129 $ */
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
/* and Dave Cohrs, 1990. */
/* NetHack may be freely redistributed. See license for details. */
reset_glyph_bbox();
}
-/*
- * Assumes that the indicated positions are filled with GLYPH_UNEXPLORED glyphs.
- */
+/* used by tty after menu or text popup has temporarily overwritten the map */
void
row_refresh(start, stop, y)
int start, stop, y;
{
- register int x;
+ register int x, glyph;
+ register boolean force;
+ int ch = ' ', color = NO_COLOR;
+ unsigned special = 0;
+
+ (void) mapglyph(GLYPH_UNEXPLORED, &ch, &color, &special, 0, 0, 0);
+ force = (ch != ' ' || color != NO_COLOR || (special & ~MG_UNEXPL) != 0);
- for (x = start; x <= stop; x++)
- if (g.gbuf[y][x].glyph != GLYPH_UNEXPLORED)
- print_glyph(WIN_MAP, x, y, g.gbuf[y][x].glyph, get_bk_glyph(x, y));
+ for (x = start; x <= stop; x++) {
+ glyph = g.gbuf[y][x].glyph;
+ if (force || glyph != GLYPH_UNEXPLORED)
+ print_glyph(WIN_MAP, x, y, glyph, get_bk_glyph(x, y));
+ }
}
void
-/* NetHack 3.6 mapglyph.c $NHDT-Date: 1580252137 2020/01/28 22:55:37 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.62 $ */
+/* NetHack 3.6 mapglyph.c $NHDT-Date: 1587110793 2020/04/17 08:06:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.64 $ */
/* Copyright (c) David Cohrs, 1991 */
/* NetHack may be freely redistributed. See license for details. */
ch = g.showsyms[idx];
#ifdef TEXTCOLOR
/* Turn off color if no color defined, or rogue level w/o PC graphics. */
- if (!has_color(color) ||
- ((g.glyphmap_perlevel_flags & GMAP_ROGUELEVEL) && !has_rogue_color))
+ if (!has_color(color)
+ || ((g.glyphmap_perlevel_flags & GMAP_ROGUELEVEL) && !has_rogue_color))
#endif
color = NO_COLOR;
*ochar = (int) ch;
-/* NetHack 3.6 wintty.c $NHDT-Date: 1580252140 2020/01/28 22:55:40 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.248 $ */
+/* NetHack 3.6 wintty.c $NHDT-Date: 1587110794 2020/04/17 08:06:34 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.256 $ */
/* Copyright (c) David Cohrs, 1991 */
/* NetHack may be freely redistributed. See license for details. */
g.context.botlx = 1;
break;
case NHW_MAP:
- /* cheap -- clear the whole thing and tell nethack to redraw botl */
- g.context.botlx = 1;
- /*FALLTHRU*/
+ /* the full map isn't erased often so the benefit of clearing the
+ whole screen and then redrawing status would be minimal here */
+ docorner(1, ROWNO - 1); /* sets map cells to S_unexplored
+ * which might not be <space> */
+ break;
case NHW_BASE:
clear_screen();
- /*for (i = 0; i < cw->maxrow; ++i) */
- /* finalx[i][NOW] = finalx[i][BEFORE] = 0;*/
+ if (!g.program_state.gameover)
+ g.context.botlx = 1;
+ /* [this sould also reset state for MESSAGE, MAP, and STATUS] */
break;
case NHW_MENU:
case NHW_TEXT: