Improve room clip testing
This commit is contained in:
+10
-2
@@ -33,8 +33,16 @@ roomTreex = do
|
||||
struct' <- aTreeStrut
|
||||
let struct = Node [EndRoom] []
|
||||
let t' = padCorridors struct
|
||||
t = treeTrunk [[StartRoom],[OrAno [--[DoorAno],[Corridor],
|
||||
[DoorNumAno 0,AirlockAno]] ],[FirstWeapon],[Corridor]] t'
|
||||
t = treeTrunk
|
||||
[[StartRoom]
|
||||
,[OrAno [[DoorAno]
|
||||
,[Corridor]
|
||||
,[DoorNumAno 0,AirlockAno]]
|
||||
]
|
||||
,[FirstWeapon]
|
||||
,[Corridor]
|
||||
]
|
||||
t'
|
||||
fmap (shiftExpandTree . expandTreeBy id) $ mapM annoToRoomTree t
|
||||
|
||||
levx :: RandomGen g => State g [Room]
|
||||
|
||||
@@ -47,7 +47,7 @@ shiftRoomTreeSearchAll bs (Node r ts :<| ts')
|
||||
where
|
||||
ls = init $ _rmLinks r
|
||||
newBounds = _rmBound r : bs
|
||||
roomIsClipping = any (polysIntersect (_rmBound r)) bs
|
||||
roomIsClipping = any (polysOverlap (_rmBound r)) bs
|
||||
rm l = r & rmLinks %~ delete l
|
||||
f l = applyToRoot (shiftRoomToLink l)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user