From b3924fb8b86e435e18dc60b98e24538e10fcb1e6 Mon Sep 17 00:00:00 2001 From: justin Date: Sat, 4 Oct 2025 12:30:03 +0100 Subject: [PATCH] Cleanup --- src/Dodge/LevelGen.hs | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/Dodge/LevelGen.hs b/src/Dodge/LevelGen.hs index 0226243ad..fd3e12c42 100644 --- a/src/Dodge/LevelGen.hs +++ b/src/Dodge/LevelGen.hs @@ -1,13 +1,13 @@ module Dodge.LevelGen (generateWorldFromSeed) where -import Dodge.Layout -import Data.Preload.Render import Control.Lens import Control.Monad.State import Data.Foldable +import Data.Preload.Render import Dodge.Data.GenWorld import Dodge.Floor import Dodge.Initialisation +import Dodge.Layout import Dodge.Tree import Geometry.ConvexPoly import qualified IntMapHelp as IM @@ -17,20 +17,19 @@ import System.Random generateWorldFromSeed :: RenderData -> Int -> IO World generateWorldFromSeed rdata i = do createDirectoryIfMissing True "generated/log" --- createDirectoryIfMissing True "generated/graph" writeFile "generated/log/attemptedSeeds" "" writeFile "generated/log/treeCluster" "" writeFile "generated/log/aGeneratedRoomLayout" "" (roomList, bounds) <- layoutLevelFromSeed 0 i postGenerationProcessing rdata - $! generateLevelFromRoomList roomList $ initialWorld{_randGen = mkStdGen i} - & cWorld . cwGen . cwgRoomClipping .~ bounds - & cWorld . cwGen . cwgSeed .~ i + $! generateLevelFromRoomList roomList + $ initialWorld{_randGen = mkStdGen i} + & cWorld . cwGen . cwgRoomClipping .~ bounds + & cWorld . cwGen . cwgSeed .~ i postGenerationProcessing :: RenderData -> GenWorld -> IO World postGenerationProcessing _ gw = do - let w' = _gwWorld gw - let w = w' & cWorld . cwTiles .~ (tilesFromRooms . IM.elems $ _genRooms gw) + let w = _gwWorld gw & cWorld . cwTiles .~ (tilesFromRooms . IM.elems $ _genRooms gw) return $ foldl' assignPushDoors w (w ^. cWorld . lWorld . doors) assignPushDoors :: World -> Door -> World @@ -42,24 +41,28 @@ layoutLevelFromSeed :: Int -> Int -> IO (IM.IntMap Room, [ConvexPoly]) layoutLevelFromSeed i seed = do let i' = i + 1 createDirectoryIfMissing True "generated/log" - putStrLnAppend "generated/log/attemptedSeeds" $ "Generating level with seed " ++ show seed + putStrLnAppend "generated/log/attemptedSeeds" $ + "Generating level with seed " ++ show seed appendFile "generated/log/attemptedSeeds" "\n" let g = mkStdGen seed let treecluster = evalState tutRoomTree (LayVars g 0) --- let treecluster = evalState initialRoomTree (LayVars g 0) + -- let treecluster = evalState initialRoomTree (LayVars g 0) let labts = decomposeSelfTree $ numSelfTree $ combineTree _rmName treecluster appendFile "generated/log/treeCluster" ("Seed: " ++ show seed ++ "\n") putStrLn "MetaTree clusters:" - mapM_ (putStrLnAppend "generated/log/treeCluster" . smallDrawTree . fmap showIntsString) + mapM_ + (putStrLnAppend "generated/log/treeCluster" . smallDrawTree . fmap showIntsString) labts let tc = composeTree treecluster let rmtree = inorderNumberTree tc appendFile "generated/log/aGeneratedRoomLayout" ("Seed: " ++ show seed ++ "\n") putStrLnAppend "generated/log/aGeneratedRoomLayout" "Room layout (compact): " - putStrLnAppend "generated/log/aGeneratedRoomLayout" $ compactDrawTree $ fmap (show . snd) rmtree + putStrLnAppend "generated/log/aGeneratedRoomLayout" + $ compactDrawTree $ fmap (show . snd) rmtree let nameshow (r, rid) = _rmName r ++ "-" ++ show rid putStrLnAppend "generated/log/aGeneratedRoomLayout" "Layout with room names:" - putStrLnAppend "generated/log/aGeneratedRoomLayout" $ smallDrawTree $ fmap nameshow rmtree + putStrLnAppend "generated/log/aGeneratedRoomLayout" + $ smallDrawTree $ fmap nameshow rmtree mrs <- positionRoomsFromTree rmtree case mrs of Just (PosRooms bounds rs) -> do @@ -67,10 +70,12 @@ layoutLevelFromSeed i seed = do "After " ++ show i' ++ " attempt(s), Successful generation of level with seed " ++ show seed - putStrLnAppend "generated/log/attemptedSeeds" $ show (Prelude.length rs) ++ " rooms in total" + putStrLnAppend "generated/log/attemptedSeeds" + $ show (Prelude.length rs) ++ " rooms in total" return (IM.fromList $ map reversePair rs, bounds) Nothing -> do - putStrLnAppend "generated/log/attemptedSeeds" $ "Level generation with seed " ++ show seed ++ " failed: " + putStrLnAppend "generated/log/attemptedSeeds" + $ "Level generation with seed " ++ show seed ++ " failed: " let (seed', _) = random g layoutLevelFromSeed i' seed'