Add in "linear" lWorld to separate time reversable worlds
This commit is contained in:
+9
-8
@@ -42,11 +42,11 @@ generateLevelFromRoomList gr' w =
|
||||
. doIndividualPlacements
|
||||
. setFloors
|
||||
. worldToGenWorld rs'
|
||||
$ w & cWorld . walls .~ wallsFromRooms rs
|
||||
$ w & cWorld . lWorld . walls .~ wallsFromRooms rs
|
||||
& cWorld . cwGen . cwgGameRooms .~ gameRoomsFromRooms (IM.elems rs')
|
||||
& cWorld . pathGraph .~ path
|
||||
& cWorld . pnZoning .~ foldl' (flip zonePn) mempty (labNodes path)
|
||||
& cWorld . peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path)
|
||||
& cWorld . lWorld . pathGraph .~ path
|
||||
& cWorld . lWorld . pnZoning .~ foldl' (flip zonePn) mempty (labNodes path)
|
||||
& cWorld . lWorld . peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path)
|
||||
where
|
||||
(_, path) = pairsToGraph pairPath'
|
||||
pairPath = foldMap _rmPath rs
|
||||
@@ -58,10 +58,10 @@ fromEdgeTuple :: (Int,Int,PathEdge) -> PathEdgeNodes
|
||||
fromEdgeTuple (a,b,pe) = PathEdgeNodes a b pe
|
||||
|
||||
randomCompass :: World -> World
|
||||
randomCompass w = w & cWorld . cwCam . cwcRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
|
||||
randomCompass w = w & cWorld . lWorld . cwCam . cwcRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
|
||||
|
||||
putFloorTiles :: GenWorld -> GenWorld
|
||||
putFloorTiles gw = gw & gwWorld . cWorld . floorTiles .~ floorsFromGenWorld gw
|
||||
putFloorTiles gw = gw & gwWorld . cWorld . lWorld . floorTiles .~ floorsFromGenWorld gw
|
||||
|
||||
setFloors :: GenWorld -> GenWorld
|
||||
setFloors = putFloorTiles . setTiles
|
||||
@@ -139,7 +139,7 @@ setupWorldBounds w =
|
||||
)
|
||||
where
|
||||
f = fromMaybe 0
|
||||
ps = IM.map (fst . _wlLine) $ _walls (_cWorld w)
|
||||
ps = IM.map (fst . _wlLine) $ w ^. cWorld . lWorld . walls-- _walls (_cWorld w)
|
||||
(minx, maxx, miny, maxy) =
|
||||
L.fold
|
||||
( (,,,)
|
||||
@@ -154,7 +154,8 @@ setupWorldBounds w =
|
||||
--polyhedrasToEdges = concatMap tflat4 . concatMap polyToEdges
|
||||
|
||||
initWallZoning :: World -> World
|
||||
initWallZoning w = foldl' (flip insertWallInZones) (w & cWorld . wlZoning .~ IM.empty) (_walls (_cWorld w))
|
||||
initWallZoning w = foldl' (flip insertWallInZones) (w & cWorld . lWorld . wlZoning .~ IM.empty)
|
||||
(w ^. cWorld . lWorld . walls)
|
||||
|
||||
--makePath :: Tree Room -> [(Point2,Point2)]
|
||||
--makePath = concatMap _rmPath . flatten
|
||||
|
||||
Reference in New Issue
Block a user