diff --git a/src/display.c b/src/display.c index b1d7277d7..141a85db0 100644 --- a/src/display.c +++ b/src/display.c @@ -578,7 +578,7 @@ xchar x, y; 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)); @@ -587,7 +587,7 @@ xchar x, y; } 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)); @@ -601,7 +601,7 @@ xchar x, y; 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)); } @@ -632,7 +632,7 @@ xchar x, y; /* 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)