yet more S_unexplored

Revert part of one of the earlier S_unexplored changes (erasing
the map window on tty) and deal with the issue differently.
This commit is contained in:
PatR
2020-04-19 16:15:16 -07:00
parent 579939010d
commit 5fa12f4bc4
2 changed files with 12 additions and 10 deletions

View File

@@ -1606,7 +1606,6 @@ int x, y, glyph;
} \
}
static const gbuf_entry nul_gbuf = { 1, GLYPH_UNEXPLORED };
/*
* Turn the 3rd screen into UNEXPLORED that needs to be refreshed.
*/
@@ -1614,7 +1613,14 @@ void
clear_glyph_buffer()
{
register int x, y;
register gbuf_entry *gptr;
register gbuf_entry *gptr, nul_gbuf;
int ch = ' ', color = NO_COLOR;
unsigned special = 0;
(void) mapglyph(GLYPH_UNEXPLORED, &ch, &color, &special, 0, 0, 0);
nul_gbuf.gnew = (ch != ' ' || color != NO_COLOR
|| (special & ~MG_UNEXPL) != 0) ? 1 : 0;
nul_gbuf.glyph = GLYPH_UNEXPLORED;
for (y = 0; y < ROWNO; y++) {
gptr = &g.gbuf[y][0];

View File

@@ -1652,16 +1652,12 @@ winid window;
g.context.botlx = 1;
break;
case NHW_MAP:
/* 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;
/* cheap -- clear the whole thing and tell nethack to redraw botl */
g.context.botlx = 1;
/*FALLTHRU*/
case NHW_BASE:
clear_screen();
if (!g.program_state.gameover)
g.context.botlx = 1;
/* [this sould also reset state for MESSAGE, MAP, and STATUS] */
/* [this should reset state for MESSAGE, MAP, and STATUS] */
break;
case NHW_MENU:
case NHW_TEXT: