Fix placement shifting

This commit is contained in:
2021-10-03 18:24:36 +01:00
parent 2c5cdbdc73
commit b526517404
3 changed files with 17 additions and 11 deletions
+10 -10
View File
@@ -71,16 +71,16 @@ initialRoomTree = do
---- ,[Corridor]
---- ,[Corridor]
-- --,[SpecificRoom $ pure . Right <$> twinSlowDoorChasers]
,[SpecificRoom $ pure $ (pure . Right) (twinSlowDoorRoom 80 200 40)]
,[Corridor]
,[DoorAno]
,[SpecificRoom $ pure . Right <$> centerVaultExplosiveExit]
,[SpecificRoom blockedCorridor]
,[OrAno [[DoorAno]
,[Corridor]
,[DoorNumAno 0,AirlockAno]]
]
,[FirstWeapon]
--- ,[SpecificRoom $ pure $ (pure . Right) (twinSlowDoorRoom 80 200 40)]
--- ,[Corridor]
--- ,[DoorAno]
--- ,[SpecificRoom $ pure . Right <$> centerVaultExplosiveExit]
--- ,[SpecificRoom blockedCorridor]
--- ,[OrAno [[DoorAno]
--- ,[Corridor]
--- ,[DoorNumAno 0,AirlockAno]]
--- ]
--- ,[FirstWeapon]
,[CorridorDebug]
,[SpecificRoom $ fmap (pure . Right) randomFourCornerRoom]
,[Corridor]
+4
View File
@@ -30,6 +30,10 @@ placeSpot' w (shift, plmnt) =
let (i,w') = placeSpotID (shiftPSBy' shift (_placementSpot plmnt)) w
in maybe w' (curry (placeSpot' w') shift) (_idPlacement plmnt i)
shiftPlacement :: (Point2,Float) -> Placement -> Placement
shiftPlacement shift (Placement ps f) = Placement (shiftPSBy' shift ps)
(fmap (fmap $ shiftPlacement shift) f)
shiftPSBy'
:: (Point2,Float)
-> PlacementSpot
+3 -1
View File
@@ -87,9 +87,11 @@ combineRooms r r' = defaultRoom
{ _rmPolys = _rmPolys r ++ _rmPolys r'
, _rmLinks = _rmLinks r ++ _rmLinks r'
, _rmPath = _rmPath r ++ _rmPath r'
, _rmPS = _rmPS r ++ _rmPS r'
, _rmPS = map (shiftPlacement $ _rmShift r) (_rmPS r)
++ map (shiftPlacement $ _rmShift r') (_rmPS r')
, _rmBound = _rmBound r ++ _rmBound r'
, _rmFloor = _rmFloor r ++ _rmFloor r'
, _rmShift = (V2 0 0 , 0)
}
--{- The top fourth of a room of a given height. -}
--fourth