if (lev->typ != ROOM && lev->seenv) {
map_background(x, y, 1);
} 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)
: (lev->waslit ? cmap_to_glyph(S_room)
: cmap_to_glyph(S_stone));
} else if ((lev->glyph >= cmap_to_glyph(S_stone)
&& lev->glyph < cmap_to_glyph(S_darkroom))
|| 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)
: (lev->waslit ? cmap_to_glyph(S_room)
: cmap_to_glyph(S_stone));
if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr)
&& !lev->waslit)
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))
show_glyph(x, y, lev->glyph = cmap_to_glyph(S_darkroom));
}
/* Floor spaces are dark if unlit. Corridors are dark if unlit. */
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(
flags.dark_room ? S_darkroom : S_stone));
else if (lev->typ == CORR && lev->glyph == cmap_to_glyph(S_litcorr)