Work on perhaps replacing FGL with incidence vectors

This commit is contained in:
2025-10-20 13:07:52 +01:00
parent b2fd0543dd
commit c250448d57
6 changed files with 1821 additions and 1798 deletions
+4 -2
View File
@@ -51,9 +51,11 @@ generateLevelFromRoomList gr' w =
& pnZoning .~ foldl' (flip zonePn) mempty (labNodes path)
& peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path)
& incNodeZoning .~ UV.ifoldl' (\m i p -> zonePn (i,p) m) mempty inodes
& incEdgeZoning .~ foldl' (flip (zoneIncPe inodes)) mempty ipairs
where
(_, path) = pairsToGraph . snapToGrid $ foldMap _rmPath rs
(inodes,igraph) = pairsToIncGraph . snapToGrid $ foldMap _rmPath rs
pairs = snapToGrid $ foldMap _rmPath rs
(_, path) = pairsToGraph pairs
(inodes,igraph,ipairs) = pairsToIncGraph pairs
rs = map doRoomShift $ IM.elems rs'
rs' = mapM shuffleRoomPos gr' & evalState $ _randGen w