From: cohrs Date: Thu, 23 Oct 2003 06:49:22 +0000 (+0000) Subject: inappropriate lit_corridor check X-Git-Tag: MOVE2GIT~1651 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f7a681a1392ce9d2b07501d933f96bc04f8a30b0;p=nethack inappropriate lit_corridor check To reproduce: disable lit_corridor, enter a corridor, read a scroll of light, then read a cursed scroll of light. The corridor won't darken again. A test of flags.lit_corridor in newsym was at fault. I'm guessing this was never noticed because lit_corridor is on by default on Windows and the default lit and unlit corridor symbols are the same on most other platforms. --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index 75aee3998..0dc20adba 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -68,6 +68,8 @@ fix an impossible rndmonst: bad `mndx' bug pets should not try to go after objects that they can't reach cutting a shopkeeper polymorphed in to a long worm would generate strange messages and could cause a crash +reading a cursed scroll of light in a corridor wouldn't display correctly + if lit_corridor option was disabled Platform- and/or Interface-Specific Fixes diff --git a/src/display.c b/src/display.c index 64e34d8db..31012e3ac 100644 --- a/src/display.c +++ b/src/display.c @@ -746,14 +746,14 @@ newsym(x,y) * Note: If flags.lit_corridor is set, then corridors act like room * squares. That is, they light up if in night vision range. * If flags.lit_corridor is not set, then corridors will - * remain dark unless lit by a light spell. + * remain dark unless lit by a light spell and may darken + * again, as discussed above. * * These checks and changes must be here and not in back_to_glyph(). * They are dependent on the position being out of sight. */ else if (!lev->waslit) { - if (flags.lit_corridor && lev->glyph == cmap_to_glyph(S_litcorr) && - lev->typ == CORR) + if (lev->glyph == cmap_to_glyph(S_litcorr) && lev->typ == CORR) show_glyph(x, y, lev->glyph = cmap_to_glyph(S_corr)); else if (lev->glyph == cmap_to_glyph(S_room) && lev->typ == ROOM) show_glyph(x, y, lev->glyph = cmap_to_glyph(S_stone));