diff options
Diffstat (limited to 'src/Xanthous/Generators/CaveAutomata.hs')
-rw-r--r-- | src/Xanthous/Generators/CaveAutomata.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Xanthous/Generators/CaveAutomata.hs b/src/Xanthous/Generators/CaveAutomata.hs index fd4c68ddbe90..f1123abbd8f4 100644 --- a/src/Xanthous/Generators/CaveAutomata.hs +++ b/src/Xanthous/Generators/CaveAutomata.hs @@ -99,6 +99,9 @@ generate' params dims = do when (steps' > 0) $ for_ [0 .. pred steps'] . const $ stepAutomata cells dims params lift $ fillOuterEdgesM cells + -- Remove all but the largest contiguous region of unfilled space + (_: smallerRegions) <- lift $ regions @UArray . amap not <$> freeze cells + lift $ fillAllM (fold smallerRegions) cells pure cells stepAutomata :: forall s g. MCells s -> Dimensions -> Params -> CellM g s () |