From: Pasi Kallinen Date: Wed, 15 Apr 2020 04:15:37 +0000 (+0300) Subject: Fix "x" and "a" when choosing map location X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7efe7b05dfb6fb664406542107545958d5c976e9;p=nethack Fix "x" and "a" when choosing map location Recent(ish) change to split unexplored glyphs from solid wall glyphs resulted in getloc commands to choose unexplored and interesting locations not work correctly. Fixes #323 --- diff --git a/src/do_name.c b/src/do_name.c index 131edf835..9f7228341 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -245,8 +245,7 @@ const void *b; #define IS_UNEXPLORED_LOC(x,y) \ (isok((x), (y)) \ - && glyph_is_cmap(levl[(x)][(y)].glyph) \ - && levl[(x)][(y)].glyph == GLYPH_UNEXPLORED \ + && glyph_is_unexplored(levl[(x)][(y)].glyph) \ && !levl[(x)][(y)].seenv) #define GLOC_SAME_AREA(x,y) \ @@ -371,6 +370,7 @@ int x, y, gloc; || glyph_to_cmap(glyph) == S_ndoor)); case GLOC_EXPLORE: return (glyph_is_cmap(glyph) + && !glyph_is_nothing(glyph_to_cmap(glyph)) && (is_cmap_door(glyph_to_cmap(glyph)) || is_cmap_drawbridge(glyph_to_cmap(glyph)) || glyph_to_cmap(glyph) == S_ndoor @@ -402,7 +402,9 @@ int x, y, gloc; || glyph_to_cmap(glyph) == S_room || glyph_to_cmap(glyph) == S_darkroom || glyph_to_cmap(glyph) == S_corr - || glyph_to_cmap(glyph) == S_litcorr)); + || glyph_to_cmap(glyph) == S_litcorr) + || glyph_is_nothing(glyph) + || glyph_is_unexplored(glyph)); } /*NOTREACHED*/ return FALSE;