diff --git a/src/Dodge/LevelGen.hs b/src/Dodge/LevelGen.hs index 2e9a31cba..f571aee57 100644 --- a/src/Dodge/LevelGen.hs +++ b/src/Dodge/LevelGen.hs @@ -12,6 +12,7 @@ import Dodge.Tree import Geometry.ConvexPoly --import Dodge.LevelGen.LevelStructure +import System.Directory import System.Random import Control.Lens import Control.Monad.State @@ -19,7 +20,10 @@ import qualified Data.IntMap.Strict as IM generateWorldFromSeed :: Int -> IO World generateWorldFromSeed i = do - writeFile "attemptedSeeds" "" + createDirectoryIfMissing True "log" + writeFile "log/attemptedSeeds" "" + writeFile "log/treeCluster" "" + writeFile "log/aGeneratedRoomLayout" "" (roomList,bounds) <- layoutLevelFromSeed 0 i return $ saveLevelStartSlot $ generateLevelFromRoomList roomList initialWorld{_randGen=mkStdGen i} @@ -29,11 +33,13 @@ layoutLevelFromSeed :: Int -> Int -> IO (IM.IntMap Room,[ConvexPoly]) layoutLevelFromSeed i seed = do let i' = i + 1 putStrLn $ "Generating level with seed " ++ show seed - appendFile "attemptedSeeds" $ show seed ++ "\n" + appendFile "log/attemptedSeeds" $ show seed ++ "\n" let g = mkStdGen seed let treecluster = evalState initialRoomTree g (strs,tc) = composeTree' treecluster - mapM putStrLn strs + appendFile "log/TreeCluster" ("Seed: "++ show seed) + mapM_ (appendFile "log/treeCluster" . ('\n':)) strs + mapM_ putStrLn strs --putStrLn "Room cluster layout:" --putStrLn $ drawTreeSubLabelling $ fmap snd treecluster --let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster @@ -41,8 +47,9 @@ layoutLevelFromSeed i seed = do putStrLn "Room layout (compact): " putStrLn $ compactDrawTree $ fmap (show . snd) rmtree let nameshow (r,rid) = _rmName r ++ "-" ++ show rid - appendFile "aGeneratedRoomLayout" $ drawTree $ fmap nameshow rmtree - putStrLn "Layout with room names (also written to aGeneratedRoomLayout):" + appendFile "log/aGeneratedRoomLayout" ("Seed: "++ show seed) + appendFile "log/aGeneratedRoomLayout" $ drawTree $ fmap nameshow rmtree + putStrLn "Layout with room names (also written to log/aGeneratedRoomLayout):" mrs <- positionRoomsFromTree rmtree case mrs of Just (PosRooms bounds rs) -> do diff --git a/src/Dodge/Tree/Compose.hs b/src/Dodge/Tree/Compose.hs index c58609c94..3179e1677 100644 --- a/src/Dodge/Tree/Compose.hs +++ b/src/Dodge/Tree/Compose.hs @@ -16,10 +16,10 @@ module Dodge.Tree.Compose -- , compTree ) where import Dodge.Data -import Dodge.Tree.Compose.Data -import Dodge.RoomCluster.Data +--import Dodge.Tree.Compose.Data +--import Dodge.RoomCluster.Data import TreeHelp -import Dodge.Base +--import Dodge.Base import LensHelp import Data.Bifunctor