Fix more dark_room and nocolor

Fixes for example the case of searching while blind, as
reported by Boudewijn.
This commit is contained in:
Pasi Kallinen
2015-07-10 16:03:57 +03:00
parent 864fb1e203
commit c1ef2e19df

View File

@@ -578,7 +578,7 @@ xchar x, y;
if (lev->typ != ROOM && lev->seenv) { if (lev->typ != ROOM && lev->seenv) {
map_background(x, y, 1); map_background(x, y, 1);
} else { } else {
lev->glyph = (flags.dark_room && !Is_rogue_level(&u.uz)) lev->glyph = (flags.dark_room && iflags.use_color && !Is_rogue_level(&u.uz))
? cmap_to_glyph(S_darkroom) ? cmap_to_glyph(S_darkroom)
: (lev->waslit ? cmap_to_glyph(S_room) : (lev->waslit ? cmap_to_glyph(S_room)
: cmap_to_glyph(S_stone)); : cmap_to_glyph(S_stone));
@@ -587,7 +587,7 @@ xchar x, y;
} else if ((lev->glyph >= cmap_to_glyph(S_stone) } else if ((lev->glyph >= cmap_to_glyph(S_stone)
&& lev->glyph < cmap_to_glyph(S_darkroom)) && lev->glyph < cmap_to_glyph(S_darkroom))
|| glyph_is_invisible(levl[x][y].glyph)) { || glyph_is_invisible(levl[x][y].glyph)) {
lev->glyph = (flags.dark_room && !Is_rogue_level(&u.uz)) lev->glyph = (flags.dark_room && iflags.use_color && !Is_rogue_level(&u.uz))
? cmap_to_glyph(S_darkroom) ? cmap_to_glyph(S_darkroom)
: (lev->waslit ? cmap_to_glyph(S_room) : (lev->waslit ? cmap_to_glyph(S_room)
: cmap_to_glyph(S_stone)); : cmap_to_glyph(S_stone));
@@ -601,7 +601,7 @@ xchar x, y;
if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr) if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr)
&& !lev->waslit) && !lev->waslit)
show_glyph(x, y, lev->glyph = cmap_to_glyph(S_corr)); show_glyph(x, y, lev->glyph = cmap_to_glyph(S_corr));
else if (lev->typ == ROOM && flags.dark_room else if (lev->typ == ROOM && flags.dark_room && iflags.use_color
&& lev->glyph == cmap_to_glyph(S_room)) && lev->glyph == cmap_to_glyph(S_room))
show_glyph(x, y, lev->glyph = cmap_to_glyph(S_darkroom)); show_glyph(x, y, lev->glyph = cmap_to_glyph(S_darkroom));
} }
@@ -632,7 +632,7 @@ xchar x, y;
/* Floor spaces are dark if unlit. Corridors are dark if unlit. */ /* Floor spaces are dark if unlit. Corridors are dark if unlit. */
if (lev->typ == ROOM && lev->glyph == cmap_to_glyph(S_room) if (lev->typ == ROOM && lev->glyph == cmap_to_glyph(S_room)
&& (!lev->waslit || flags.dark_room)) && (!lev->waslit || (flags.dark_room && iflags.use_color)))
show_glyph(x, y, lev->glyph = cmap_to_glyph( show_glyph(x, y, lev->glyph = cmap_to_glyph(
flags.dark_room ? S_darkroom : S_stone)); flags.dark_room ? S_darkroom : S_stone));
else if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr) else if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr)