From: Pasi Kallinen Date: Fri, 23 Jul 2021 17:52:38 +0000 (+0300) Subject: Prevent impossible with secret doors in sokoban X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f07829045a0da198f1dcf55453c94d2c27c01661;p=nethack Prevent impossible with secret doors in sokoban Doesn't currently happen as no Soko levels use secret doors, but handle them anyway gracefully. Secret doors have their doormask set, but it's overloaded wall_info. The display routines aren't happy with D_CLOSED in wall_info. --- diff --git a/src/detect.c b/src/detect.c index 8c4edb1c1..c251c047d 100644 --- a/src/detect.c +++ b/src/detect.c @@ -1851,6 +1851,8 @@ sokoban_detect(void) for (y = 0; y < ROWNO; y++) { levl[x][y].seenv = SVALL; levl[x][y].waslit = TRUE; + if (levl[x][y].typ == SDOOR) + levl[x][y].wall_info = 0; /* see rm.h for explanation */ map_background(x, y, 1); if ((obj = sobj_at(BOULDER, x, y)) != 0) map_object(obj, 1);