Add various capabilities for generating graphs, fixes to lasgun
This commit is contained in:
@@ -24,10 +24,11 @@ import qualified Data.Text.IO as TIO
|
||||
generateWorldFromSeed :: Int -> IO World
|
||||
generateWorldFromSeed i = do
|
||||
createDirectoryIfMissing True "log"
|
||||
createDirectoryIfMissing True "graph"
|
||||
writeFile "log/attemptedSeeds" ""
|
||||
writeFile "log/treeCluster" ""
|
||||
writeFile "log/aGeneratedRoomLayout" ""
|
||||
TIO.writeFile "log/itemCombinations.gv" combinationsDotGraph
|
||||
generateGraphs
|
||||
(roomList,bounds) <- layoutLevelFromSeed 0 i
|
||||
return $ saveLevelStartSlot
|
||||
$ postGenerationProcessing
|
||||
@@ -37,6 +38,9 @@ generateWorldFromSeed i = do
|
||||
postGenerationProcessing :: World -> World
|
||||
postGenerationProcessing w = foldl' assignPushDoors w (_doors w)
|
||||
|
||||
generateGraphs :: IO ()
|
||||
generateGraphs = TIO.writeFile "graph/itemCombinations.gv" combinationsDotGraph
|
||||
|
||||
assignPushDoors :: World -> Door -> World
|
||||
assignPushDoors w dr = case dr ^?! drPushedBy of
|
||||
PushedBy i -> w & doors . ix i . drPushes ?~ _drID dr
|
||||
|
||||
Reference in New Issue
Block a user