From f07829045a0da198f1dcf55453c94d2c27c01661 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Fri, 23 Jul 2021 20:52:38 +0300 Subject: [PATCH] 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. --- src/detect.c | 2 ++ 1 file changed, 2 insertions(+) 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);