Fix bug that allowed for in links to be used as out links

This commit is contained in:
2021-11-23 12:08:33 +00:00
parent 5ab5be3087
commit 05bb1961c0
6 changed files with 20 additions and 20 deletions
+7 -9
View File
@@ -8,7 +8,6 @@ import Dodge.Data
import Dodge.LockAndKey
import Dodge.Creature.State.Data
import Dodge.Room
import Dodge.Room
import Dodge.Placement.Instance.Button
import Dodge.Tree
import Dodge.Annotation
@@ -37,8 +36,7 @@ initialAnoTree :: RandomGen g => Tree [Annotation g]
initialAnoTree = padSucWithCorridors $ treeFromTrunk
[[AnoApplyInt 0 startRoom]
, [PassthroughLockKeyLists 2 lockRoomKeyItems itemRooms]
, [AnoApplyInt 2 room2]
, [AnoApplyInt 1 lasSensorTurretTest]
--, [AnoApplyInt 1 lasSensorTurretTest]
-- ,[ChainAnos
-- [[SetLabel 0 $ return $ roomRectAutoLinks 200 200
-- & rmExtPmnt ?~ triggerSwitchSPicLight (drawSwitchWire red red)
@@ -49,12 +47,12 @@ initialAnoTree = padSucWithCorridors $ treeFromTrunk
-- ]
-- ]
-- ,[SpecificRoom $ return $ connectRoom lasTunnel ]
-- ,[SpecificRoom $ fmap connectRoom slowDoorRoom ]
-- ,[Corridor]
-- ,[Corridor]
-- ,[SpecificRoom $ fmap connectRoom roomCCrits]
-- ,[AirlockAno]
-- ,[Corridor]
,[SpecificRoom $ fmap singleUseAll slowDoorRoom ]
,[Corridor]
,[Corridor]
,[SpecificRoom $ fmap singleUseAll roomCCrits]
,[AirlockAno]
,[Corridor]
------ ,[SpecificRoom roomCCrits]
------ ,[Corridor]
------ ,[SpecificRoom . pure . pure . UseAll $ roomGlassOctogon 400
+1
View File
@@ -128,6 +128,7 @@ airlock90 = defaultRoom
, (150,100)
, (100,10)
]]
, _rmName = "airlock90"
}
where
--cond w = or $ M.lookup (DoorNumOpen n) (_worldState w)
+2 -1
View File
@@ -13,6 +13,7 @@ import Dodge.Room.Path
import Dodge.Creature
import Dodge.RandomHelp
import Dodge.Tree
import Dodge.LevelGen.StaticWalls
import Geometry
import Data.Tree
@@ -146,7 +147,7 @@ roomTwistCross x y z =
, _rmLinks = [(V2 z (y-20), pi/2)]
, _rmPath = []
, _rmPmnts = [mntLS iShape (V2 x x) (V3 (x-20) (x-20) 70)]
, _rmBound = ps
, _rmBound = map (expandPolyCorners 10) ps
}
in (foldr1 combineRooms $ map (\r -> shiftRoomBy (V2 0 0, r) corner) [0,pi/2,pi,3*pi/2])
{_rmName = "twistCross" }
+2 -2
View File
@@ -53,8 +53,8 @@ lightSensByDoor rm = rm
& rmPmnts %~ (
[ psPt atFstLnkOut $ PutForeground $ colorSH yellow
$ barPP 1.5 (V3 20 (-1) 0) (V3 20 (-1) 80)
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 (rectNSEW (10) (-10) 20 (-20))
, heightWallPS (atFstLnkOutShiftInward 100) 30 (rectNSEW (10) (-10) 20 (-20))
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 (rectNSEW 10 (-10) 20 (-20))
, heightWallPS (atFstLnkOutShiftInward 100) 30 (rectNSEW 10 (-10) 20 (-20))
] ++ )
& rmExtPmnt ?~
extTrigLitPos (atFstLnkOutShiftBy (\(p,a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
+1 -1
View File
@@ -84,7 +84,7 @@ updateSingleNode f update t@(Node x ts)
updateChildren = map (Node x) (subMap (updateSingleNode f update) ts)
subMap :: (a -> [a]) -> [a] -> [[a]]
subMap f (x:xs) = (f x <&> (: xs)) ++ ( (x :) <$> (subMap f xs) )
subMap f (x:xs) = (f x <&> (: xs)) ++ ( (x :) <$> subMap f xs )
subMap _ [] = []
--subMap' :: Monad m => (a -> m a) -> [a] -> m [a]
+7 -7
View File
@@ -33,10 +33,10 @@ posRms bounds (parent,_) _ [] st = case st of
Node childi ts :<| tseq
-> fmap (finalLinksUpdate parent:) <$> posRms bounds childi 0 ts tseq
posRms bounds parenti@(pr,i) numChild (t@(Node (cr,i') _):ts) tseq = do
putStr $ (rpns 20 (_rmName cr ++ "-" ++ show i'))
++ (rpns 9 (" child " ++ show numChild ))
++ (rpns 25 (" of " ++ _rmName pr ++ "-" ++ show i ))
tryLinks (0::Int) (_rmLinks parent)
putStr $ rpns 20 (_rmName cr ++ "-" ++ show i')
++ rpns 9 (" child " ++ show numChild )
++ rpns 25 (" of " ++ _rmName pr ++ "-" ++ show i )
tryLinks (0::Int) (init $ _rmLinks parent)
where
rpns x s = rightPadNoSquash x ' ' s
parent = fst parenti
@@ -50,9 +50,9 @@ posRms bounds parenti@(pr,i) numChild (t@(Node (cr,i') _):ts) tseq = do
case mayrs of
--Nothing -> putStr ("Backtracking to room " ++ show i' ++ ": ") >> tryLinks (j+1) ls
Nothing -> do
putStr $ "Backtracking to " ++ (rpns 20 (_rmName cr ++ "-" ++ show i'))
++ (rpns 9 (" child " ++ show numChild ))
++ (rpns 25 (" of " ++ _rmName pr ++ "-" ++ show i ))
putStr $ "Backtracking to " ++ rpns 20 (_rmName cr ++ "-" ++ show i')
++ rpns 9 (" child " ++ show numChild )
++ rpns 25 (" of " ++ _rmName pr ++ "-" ++ show i )
tryLinks (j+1) ls
Just rs -> return (Just rs)
where