Start to make wall flags/pathing interaction more sensible
This commit is contained in:
+16
-13
@@ -1,22 +1,25 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
|
||||
module Dodge.Block (
|
||||
splinterBlock,
|
||||
destroyBlock,
|
||||
) where
|
||||
|
||||
import Dodge.Zoning.Wall
|
||||
import Dodge.Base.Collide
|
||||
import Control.Monad
|
||||
import Dodge.Path
|
||||
import qualified Data.Set as S
|
||||
import Control.Lens
|
||||
import Control.Monad
|
||||
import Data.Foldable
|
||||
import qualified Data.IntSet as IS
|
||||
import Data.Maybe
|
||||
import Dodge.Base.Collide
|
||||
import Dodge.Block.Debris
|
||||
import Dodge.Data.World
|
||||
import Dodge.Material.Sound
|
||||
import Dodge.Path
|
||||
import Dodge.Wall.Delete
|
||||
import Dodge.Wall.Zone
|
||||
import Dodge.WorldEvent.Sound
|
||||
import Dodge.Zoning.Wall
|
||||
import qualified IntMapHelp as IM
|
||||
|
||||
splinterBlock :: Block -> World -> World
|
||||
@@ -53,29 +56,29 @@ destroyBlock bl w =
|
||||
& deleteWallIDs wlids
|
||||
& maybeClearPaths (_blObstructs bl) -- must happen after the walls are deleted
|
||||
& cWorld . lWorld . blocks %~ IM.delete (_blID bl)
|
||||
-- & muchWlDustAt awl (_blPos bl)
|
||||
-- & flip (foldl' $ flip (muchWlDustAt awl)) (map (pos +.+) ps)
|
||||
where
|
||||
-- & muchWlDustAt awl (_blPos bl)
|
||||
-- & flip (foldl' $ flip (muchWlDustAt awl)) (map (pos +.+) ps)
|
||||
|
||||
wlids = _blWallIDs bl
|
||||
|
||||
-- awl = w ^?! cWorld . lWorld . walls . ix (IS.findMin wlids)
|
||||
-- pos = fst . _wlLine $ awl
|
||||
-- ps = replicateM 25 (randInCirc 20) & evalState $ _randGen w
|
||||
|
||||
-- this does not handle eg doors blocking the path as well
|
||||
maybeClearPaths :: [(Int,Int)] -> World -> World
|
||||
maybeClearPaths :: [(Int, Int)] -> World -> World
|
||||
maybeClearPaths ps w = foldl' maybeClearPath w ps
|
||||
|
||||
maybeClearPath :: World -> (Int,Int) -> World
|
||||
maybeClearPath w (i,j) = fromMaybe w $ do
|
||||
maybeClearPath :: World -> (Int, Int) -> World
|
||||
maybeClearPath w (i, j) = fromMaybe w $ do
|
||||
x <- getNodePos i w
|
||||
y <- getNodePos j w
|
||||
guard $ null $ overlapSegWalls x y $ wlsNearSeg x y w
|
||||
return $ w & cWorld . incGraph %~ updateEdge f (i,j)
|
||||
where
|
||||
f = at BlockObstacle .~ Nothing
|
||||
return $ w & cWorld . incGraph %~ updateEdge (S.intersection (S.singleton ChasmObstacle)) (i, j)
|
||||
|
||||
---- | not . null $ overlapSegWalls (_peStart pe) (_peEnd pe) $ wlsNearSeg (_peStart pe) (_peEnd pe) w =
|
||||
---- w
|
||||
---- | otherwise =
|
||||
---- w
|
||||
---- & cWorld . pathGraph %~ FGL.insEdge (x, y, pe & peObstacles .~ mempty) . FGL.delEdge (x, y)
|
||||
|
||||
|
||||
@@ -53,9 +53,9 @@ data PSType
|
||||
, _putEndPoint :: Point2
|
||||
}
|
||||
| PutWall {_pwPoly :: [Point2], _pwWall :: Wall}
|
||||
| PutSlideDr Door Wall EdgeObstacle Float Point2 Point2
|
||||
| PutSlideDr Door Wall (S.Set EdgeObstacle) Float Point2 Point2
|
||||
-- | PutDoor Color EdgeObstacle WdBl [(Point2, Point2)]
|
||||
| PutDoor Color EdgeObstacle WdBl Float Point2A Point2A -- [(Point2, Point2)]
|
||||
| PutDoor Color (S.Set EdgeObstacle) WdBl Float Point2A Point2A -- [(Point2, Point2)]
|
||||
| RandPS (State StdGen PSType)
|
||||
| PutForeground ForegroundShape
|
||||
| PutWorldUpdate (Int -> PlacementSpot -> GenWorld -> GenWorld)
|
||||
|
||||
@@ -8,12 +8,13 @@ The warnings have been disabled.
|
||||
-}
|
||||
module Dodge.Data.PathGraph where
|
||||
|
||||
import Dodge.Data.Wall.Structure
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Data.Graph.Inductive
|
||||
--import Data.Map.Strict (Map)
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.Set as S
|
||||
--import Geometry.Data
|
||||
|
||||
--data PathGraph = PathGraph
|
||||
@@ -41,17 +42,17 @@ import qualified Data.Set as Set
|
||||
|
||||
data SimpleEdge = SimpleEdge
|
||||
{ _seDist :: Float
|
||||
, _seObstacles :: Set.Set EdgeObstacle
|
||||
, _seObstacles :: S.Set EdgeObstacle
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data EdgeObstacle
|
||||
= BlockObstacle
|
||||
| DoorObstacle
|
||||
| AutoDoorObstacle
|
||||
| WallObstacle
|
||||
= WallObstacle WallFlag
|
||||
| ChasmObstacle
|
||||
deriving (Eq, Ord, Show, Bounded, Enum, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
switchWallObs :: S.Set EdgeObstacle
|
||||
switchWallObs = S.fromList $ WallObstacle <$> [WallBlockVisibility,WallNotAutoOpen]
|
||||
|
||||
--instance (ToJSON a, ToJSON b) => ToJSON (Gr a b) where
|
||||
-- toEncoding = genericToEncoding defaultOptions
|
||||
|
||||
@@ -14,12 +14,14 @@ import Data.Aeson.TH
|
||||
import Dodge.Data.Material
|
||||
import Dodge.Data.Wall.Structure
|
||||
import Geometry
|
||||
import qualified Data.Set as S
|
||||
|
||||
data Wall = Wall
|
||||
{ _wlLine :: (Point2, Point2)
|
||||
, _wlID :: Int
|
||||
, _wlColor :: Color
|
||||
, _wlOpacity :: Opacity
|
||||
, _wlPathFlag :: S.Set WallFlag
|
||||
, _wlPathable :: Bool
|
||||
, _wlPenetrable :: Bool
|
||||
, _wlBouncy :: Bool
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Wall.Structure
|
||||
where
|
||||
module Dodge.Data.Wall.Structure where
|
||||
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
@@ -12,8 +12,15 @@ data WallStructure
|
||||
| DoorPart {_wsDoor :: Int}
|
||||
| MachinePart {_wsMachine :: Int}
|
||||
| BlockPart {_wsBlock :: Int}
|
||||
| CreaturePart { _wlStCreature :: Int }
|
||||
| CreaturePart {_wlStCreature :: Int}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data WallFlag
|
||||
= WallBlockVisibility
|
||||
| WallNotAutoOpen
|
||||
| WallNotDestrucable
|
||||
deriving (Eq, Ord, Show, Read, Enum, Bounded) --Generic, Flat)
|
||||
|
||||
makeLenses ''WallStructure
|
||||
deriveJSON defaultOptions ''WallStructure
|
||||
deriveJSON defaultOptions ''WallFlag
|
||||
|
||||
@@ -268,10 +268,9 @@ drawPathEdge x y pe = setLayer DebugLayer $ multiArrow x y green (S.map obstacle
|
||||
|
||||
obstacleColor :: EdgeObstacle -> Color
|
||||
obstacleColor eo = case eo of
|
||||
WallObstacle -> red
|
||||
DoorObstacle -> orange
|
||||
AutoDoorObstacle -> yellow
|
||||
BlockObstacle -> blue
|
||||
WallObstacle WallNotAutoOpen -> red
|
||||
WallObstacle WallBlockVisibility -> orange
|
||||
WallObstacle WallNotDestrucable -> yellow
|
||||
ChasmObstacle -> cyan
|
||||
|
||||
drawFarWallDetect :: World -> Picture
|
||||
@@ -402,8 +401,7 @@ drawWlIDs w = setLayer FixedCoordLayer $ foldMap f (w ^. cWorld . lWorld . walls
|
||||
p = worldPosToScreen (w ^. wCam) $ 0.5 *.* uncurry (+.+) (_wlLine wl)
|
||||
|
||||
drawPathing :: Config -> World -> Picture
|
||||
drawPathing cfig w =
|
||||
setLayer DebugLayer $ ifoldMap f $ w ^. cWorld . incGraph
|
||||
drawPathing cfig w = setLayer DebugLayer $ ifoldMap f $ w ^. cWorld . incGraph
|
||||
where
|
||||
inodes = w ^. cWorld . incNode
|
||||
f i = foldMap (g i)
|
||||
|
||||
@@ -8,6 +8,7 @@ module Dodge.Default.Wall (
|
||||
defaultDirtWall,
|
||||
) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import Control.Lens
|
||||
import Dodge.Data.Wall
|
||||
import Geometry.Data
|
||||
@@ -20,6 +21,8 @@ defaultWall =
|
||||
{ _wlLine = (V2 0 0, V2 50 0)
|
||||
, _wlID = 0
|
||||
, _wlColor = greyN 0.6
|
||||
, _wlPathFlag = S.fromList [WallBlockVisibility
|
||||
, WallNotAutoOpen, WallNotDestrucable]
|
||||
, --, _wlOpacity = Opaque 11
|
||||
_wlOpacity = Opaque 11
|
||||
, _wlPathable = False
|
||||
@@ -38,6 +41,7 @@ defaultWall =
|
||||
|
||||
defaultDoorWall :: Wall
|
||||
defaultDoorWall = defaultWall { _wlMaterial = Metal }
|
||||
& wlPathFlag . at WallNotDestrucable .~ Nothing
|
||||
|
||||
{- Indestructible see-through wall. -}
|
||||
defaultCrystalWall :: Wall
|
||||
|
||||
+5
-4
@@ -15,6 +15,7 @@ module Dodge.Path (
|
||||
getEdgesCrossing,
|
||||
) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import qualified Algorithm.Search as AS
|
||||
import Control.Lens
|
||||
--import Data.Bifunctor
|
||||
@@ -82,7 +83,7 @@ makePathBetween :: Point2 -> Point2 -> World -> Maybe [Int]
|
||||
makePathBetween = makePathUsing $ not . pathEdgeObstructed
|
||||
|
||||
pathEdgeObstructed :: Set.Set EdgeObstacle -> Bool
|
||||
pathEdgeObstructed pe = any (`Set.member` pe) [DoorObstacle, BlockObstacle, ChasmObstacle]
|
||||
pathEdgeObstructed pe = any (`Set.member` pe) [WallObstacle WallNotAutoOpen, ChasmObstacle]
|
||||
|
||||
walkableNodeNear :: World -> Point2 -> Maybe Int
|
||||
{-# INLINE walkableNodeNear #-}
|
||||
@@ -129,17 +130,17 @@ pairsToIncGraph pairs =
|
||||
ps = Set.toList $ Set.map fst pairs <> Set.map snd pairs
|
||||
|
||||
obstructPathsCrossing ::
|
||||
EdgeObstacle ->
|
||||
S.Set EdgeObstacle ->
|
||||
Point2 ->
|
||||
Point2 ->
|
||||
World ->
|
||||
(World, [(Int,Int)])
|
||||
obstructPathsCrossing obstacletype s e w =
|
||||
obstructPathsCrossing obs s e w =
|
||||
( w & cWorld . incGraph %~ updateincedges
|
||||
, inces
|
||||
)
|
||||
where
|
||||
updateincedge = flip $ updateEdge (at obstacletype ?~ ())
|
||||
updateincedge = flip $ updateEdge (S.union obs)
|
||||
updateincedges gr = foldl' updateincedge gr inces
|
||||
inces = filter inedgecrosses $ nearSeg peZoneSize _incEdgeZoning s e w
|
||||
inedgecrosses (i, j) = isJust $ intersectSegSeg s e (f i) (f j)
|
||||
|
||||
@@ -5,6 +5,7 @@ module Dodge.Placement.Instance.Door (
|
||||
switchDoor, -- not used 9/3/22
|
||||
) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import Color
|
||||
import Control.Lens
|
||||
import Dodge.Data.CreatureEffect
|
||||
@@ -14,12 +15,13 @@ import Dodge.LevelGen.PlacementHelper
|
||||
import Dodge.LevelGen.Switch
|
||||
import Geometry
|
||||
|
||||
putDoubleDoor :: EdgeObstacle -> Wall -> WdBl -> Point2 -> Point2 -> Float -> Placement
|
||||
putDoubleDoor :: S.Set EdgeObstacle
|
||||
-> Wall -> WdBl -> Point2 -> Point2 -> Float -> Placement
|
||||
putDoubleDoor eo wl cond a b speed =
|
||||
putDoubleDoorThen eo wl cond 1 a b speed (const $ const Nothing)
|
||||
|
||||
putDoubleDoorThen ::
|
||||
EdgeObstacle ->
|
||||
S.Set EdgeObstacle ->
|
||||
Wall ->
|
||||
WdBl ->
|
||||
Float ->
|
||||
@@ -37,7 +39,7 @@ putDoubleDoorThen eo wl cond soff a b speed cont =
|
||||
half = 0.5 *.* (a +.+ b)
|
||||
|
||||
doorBetween ::
|
||||
EdgeObstacle ->
|
||||
S.Set EdgeObstacle ->
|
||||
Wall ->
|
||||
WdBl ->
|
||||
Float ->
|
||||
@@ -70,7 +72,7 @@ divideDoorPane mid wl cond soff speed ppairs g = case ppairs of
|
||||
(p : ps) -> ptCont (adoor p) $ \pl -> Just $ divideDoorPane (_plMID pl) wl cond soff speed ps g
|
||||
_ -> undefined
|
||||
where
|
||||
adoor (x, y) = PutSlideDr thedoor wl DoorObstacle soff x y
|
||||
adoor (x, y) = PutSlideDr thedoor wl mempty soff x y
|
||||
thedoor =
|
||||
defaultDoor & drSpeed .~ speed & drTrigger .~ cond
|
||||
& drPushedBy .~ maybe PushesItself PushedBy mid
|
||||
@@ -81,7 +83,7 @@ putAutoDoor a b = Placement (PS 0 0) (PutCoord a) Nothing Nothing $ \_ apl ->
|
||||
let x = w ^?! gwWorld . coordinates . ix (apl ^?! plMID . _Just)
|
||||
y = w ^?! gwWorld . coordinates . ix (bpl ^?! plMID . _Just)
|
||||
in Just $ putDoubleDoor
|
||||
AutoDoorObstacle
|
||||
(S.fromList [WallObstacle WallBlockVisibility])
|
||||
defaultAutoWall
|
||||
(WdBlCrFilterNearPoint 40 (0.5 *.* (x + y)) CrIsAnimate)
|
||||
a
|
||||
@@ -109,7 +111,8 @@ switchDoor btpos btrot dra drb col = pContID
|
||||
jsps0J (doorbetween btid dra drc) $
|
||||
sps0 (doorbetween btid drb drc)
|
||||
where
|
||||
doorbetween btid a b = PutSlideDr thedoor (switchWallCol col) DoorObstacle 1 a b
|
||||
doorbetween btid a b = PutSlideDr thedoor (switchWallCol col)
|
||||
(S.fromList (WallObstacle <$> [WallNotAutoOpen,WallBlockVisibility])) 1 a b
|
||||
where
|
||||
thedoor =
|
||||
defaultDoor
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
-}
|
||||
module Dodge.Placement.PlaceSpot (placeSpot) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import Color
|
||||
import Control.Monad.State
|
||||
import Data.Bifunctor
|
||||
@@ -165,7 +166,7 @@ placeChasm gw rid ps shiftps =
|
||||
& gwWorld %~ f
|
||||
where
|
||||
f w = foldl' g w (loopPairs shiftps)
|
||||
g w (x,y) = fst $ obstructPathsCrossing ChasmObstacle x y w
|
||||
g w (x,y) = fst $ obstructPathsCrossing (S.singleton ChasmObstacle) x y w
|
||||
|
||||
--evaluateRandPS
|
||||
-- :: Int -> State StdGen PSType -> PlacementSpot -> GenWorld -> (Int, GenWorld)
|
||||
@@ -185,7 +186,7 @@ placeWallPoly qs wl w = foldl' (addPane wl) w pairs
|
||||
addPane :: Wall -> World -> (Point2, Point2) -> World
|
||||
addPane wl w l =
|
||||
w & plNew (cWorld . lWorld . walls) wlID (wl & wlLine .~ l)
|
||||
& fst . uncurry (obstructPathsCrossing WallObstacle) l
|
||||
& fst . uncurry (obstructPathsCrossing (S.fromList [WallObstacle WallNotAutoOpen])) l
|
||||
|
||||
mvProp :: Point2 -> Float -> Prop -> Prop
|
||||
mvProp p a = (prRot +~ a) . (prPos %~ ((p +.+) . rotateV a))
|
||||
|
||||
@@ -4,6 +4,7 @@ module Dodge.Placement.PlaceSpot.Block (
|
||||
plLineBlock,
|
||||
) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import Control.Lens
|
||||
import qualified Data.IntSet as IS
|
||||
import Data.List
|
||||
@@ -119,5 +120,6 @@ insertWalls blid wls w = w' & cWorld . lWorld . blocks . ix blid . blObstructs .
|
||||
|
||||
insertWall :: Wall -> World -> (World, [(Int,Int)])
|
||||
insertWall wl =
|
||||
uncurry (obstructPathsCrossing BlockObstacle) (_wlLine wl)
|
||||
uncurry (obstructPathsCrossing (S.fromList [WallObstacle WallNotAutoOpen, WallObstacle WallBlockVisibility]))
|
||||
(_wlLine wl)
|
||||
. (cWorld . lWorld . walls . at (_wlID wl) ?~ wl)
|
||||
|
||||
@@ -4,6 +4,7 @@ module Dodge.Placement.PlaceSpot.TriggerDoor (
|
||||
updateDoorEdges,
|
||||
) where
|
||||
|
||||
import qualified Data.Set as S
|
||||
import Dodge.ShiftPoint
|
||||
import Linear
|
||||
import Dodge.Data.GenWorld
|
||||
@@ -18,7 +19,7 @@ import Picture
|
||||
|
||||
plDoor ::
|
||||
Color ->
|
||||
EdgeObstacle ->
|
||||
S.Set EdgeObstacle ->
|
||||
-- | Opening condition
|
||||
WdBl ->
|
||||
-- | Door positions, closed to open.
|
||||
@@ -51,7 +52,8 @@ plDoor col eo cond l p1 p2 gw = (drid, over gwWorld addWalls $ gw & gwWorld . cW
|
||||
addWalls w' = foldl' (addDoorWall eo drid $ switchWallCol col) w' $ zip wlids
|
||||
$ wlps' & each . each %~ shiftPointBy p1
|
||||
|
||||
addDoorWall :: EdgeObstacle -> Int -> Wall -> World -> (Int, (Point2, Point2)) -> World
|
||||
addDoorWall :: S.Set EdgeObstacle
|
||||
-> Int -> Wall -> World -> (Int, (Point2, Point2)) -> World
|
||||
addDoorWall eo drid wl w (wlid, wlps) =
|
||||
w'
|
||||
& cWorld . lWorld . walls
|
||||
@@ -80,7 +82,7 @@ updateDoorEdge _ w _ = w
|
||||
plSlideDoor ::
|
||||
Door ->
|
||||
Wall ->
|
||||
EdgeObstacle ->
|
||||
S.Set EdgeObstacle ->
|
||||
Float ->
|
||||
Point2 ->
|
||||
Point2 ->
|
||||
|
||||
@@ -35,8 +35,8 @@ decontamRoom i =
|
||||
& rmPmnts
|
||||
.~ [ pContID (PS (V2 (-35) 50) (negate $ pi / 2)) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) $
|
||||
\btid -> Just $
|
||||
putDoubleDoorThen DoorObstacle thewall (WdBlNegate $ WdBlBtOn btid) 1 (V2 0 20) (V2 40 20) 2 $
|
||||
\_ _ -> Just $ putDoubleDoor DoorObstacle thewall (WdBlBtOn btid) (V2 0 80) (V2 40 80) 2
|
||||
putDoubleDoorThen switchWallObs thewall (WdBlNegate $ WdBlBtOn btid) 1 (V2 0 20) (V2 40 20) 2 $
|
||||
\_ _ -> Just $ putDoubleDoor switchWallObs thewall (WdBlBtOn btid) (V2 0 80) (V2 40 80) 2
|
||||
, invisibleWall $ rectNSWE 60 40 (-40) (-30)
|
||||
, spanLightI (V2 (-20) 30) (V2 (-20) 70)
|
||||
, analyser (NoItemZone ps) (PS 50 0) (PS mcpos 0) & plExternalID ?~ i
|
||||
@@ -50,7 +50,7 @@ decontamRoom i =
|
||||
pmnt <- gw ^? genPmnt . ix i
|
||||
return $
|
||||
putDoubleDoor
|
||||
DoorObstacle
|
||||
switchWallObs
|
||||
(switchWallCol red)
|
||||
(cond pmnt)
|
||||
(V2 (-10) 35)
|
||||
@@ -78,8 +78,8 @@ airlock0 =
|
||||
, _rmPmnts =
|
||||
[ pContID (PS (V2 (-35) 50) (negate $ pi / 2)) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) $
|
||||
\btid -> Just $
|
||||
putDoubleDoorThen DoorObstacle thewall (WdBlNegate $ WdBlBtOn btid) 1 (V2 0 20) (V2 40 20) 2 $
|
||||
\_ _ -> Just $ putDoubleDoor DoorObstacle thewall (WdBlBtOn btid) (V2 0 80) (V2 40 80) 2
|
||||
putDoubleDoorThen switchWallObs thewall (WdBlNegate $ WdBlBtOn btid) 1 (V2 0 20) (V2 40 20) 2 $
|
||||
\_ _ -> Just $ putDoubleDoor switchWallObs thewall (WdBlBtOn btid) (V2 0 80) (V2 40 80) 2
|
||||
, invisibleWall $ rectNSWE 60 40 (-40) (-30)
|
||||
, spanLightI (V2 (-2) 30) (V2 (-2) 70)
|
||||
, sps0 $ putShape $ thinHighBar 75 (V2 40 50) (V2 (-1) 50)
|
||||
@@ -97,7 +97,7 @@ airlock0 =
|
||||
|
||||
--airlockDoor :: Color -> WdBl -> [(Point2, Point2)] -> PSType
|
||||
airlockDoor :: Color -> WdBl -> Float -> Point2A -> Point2A -> PSType
|
||||
airlockDoor col = PutDoor col DoorObstacle
|
||||
airlockDoor col = PutDoor col switchWallObs
|
||||
|
||||
airlockDoubleDoor ::
|
||||
Point2 ->
|
||||
|
||||
@@ -43,5 +43,5 @@ triggerDoorRoom i =
|
||||
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||
pmnt <- gw ^? genPmnt . ix i
|
||||
return $ putDoubleDoor
|
||||
DoorObstacle (switchWallCol red) (cond pmnt) (V2 0 20) (V2 40 20) 2
|
||||
switchWallObs (switchWallCol red) (cond pmnt) (V2 0 20) (V2 40 20) 2
|
||||
cond pmnt = WdTrig $ fromJust (_plMID pmnt)
|
||||
|
||||
@@ -47,8 +47,8 @@ twinSlowDoorRoom w h x =
|
||||
, _rmPath = mempty
|
||||
, _rmPmnts =
|
||||
[ pContID (PS (V2 0 (h -5)) pi) (PutButton $ makeButton col NoWorldEffect) $
|
||||
\btid -> jsps0J (PutSlideDr (thedoor btid) thewall DoorObstacle 1 (V2 x 1) (V2 x h)) $
|
||||
ps0 (PutSlideDr (thedoor btid) thewall DoorObstacle 1 (V2 (- x) 1) (V2 (- x) h)) $
|
||||
\btid -> jsps0J (PutSlideDr (thedoor btid) thewall switchWallObs 1 (V2 x 1) (V2 x h)) $
|
||||
ps0 (PutSlideDr (thedoor btid) thewall switchWallObs 1 (V2 (- x) 1) (V2 (- x) h)) $
|
||||
\did -> jps0' (PutLS (lsColPos (V3 0.75 0 0) (V3 0 (h -1) lampheight))) $
|
||||
\lspl -> jsps0 $ PutProp $ addColorChange (fromJust $ _plMID lspl) did $ lampCoverWhen (WdBlDoorMoving did) (V2 0 (h -1)) lampheight
|
||||
]
|
||||
@@ -135,7 +135,7 @@ addButtonSlowDoor x h rm = do
|
||||
(rprBool (isUnusedLnkType InLink))
|
||||
$ \btplmnt -> Just $
|
||||
putDoubleDoorThen
|
||||
DoorObstacle
|
||||
switchWallObs
|
||||
thewall
|
||||
(WdBlBtOn $ fromJust $ _plMID btplmnt)
|
||||
30
|
||||
|
||||
@@ -327,8 +327,8 @@ centerVaultRoom w h d =
|
||||
theDoor =
|
||||
[ pContID (PS (V2 35 (d + 4)) 0) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) $
|
||||
\btid ->
|
||||
jspsJ (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall DoorObstacle 1 (V2 (-21) 0) (V2 0 0)) $
|
||||
sPS (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall DoorObstacle 1 (V2 21 0) (V2 0 0))
|
||||
jspsJ (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall switchWallObs 1 (V2 (-21) 0) (V2 0 0)) $
|
||||
sPS (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall switchWallObs 1 (V2 21 0) (V2 0 0))
|
||||
]
|
||||
thewall = switchWallCol col
|
||||
thedoor btid =
|
||||
|
||||
+3
-5
@@ -318,12 +318,10 @@ updateEdgeWallObs :: World -> (Int,Int) -> World
|
||||
updateEdgeWallObs w (i,j) = fromMaybe w $ do
|
||||
s <- getNodePos i w
|
||||
e <- getNodePos j w
|
||||
let wls = snd <$> wlsHitUnsorted s e w
|
||||
return $ w & cWorld . incGraph %~ updateEdge (f wls) (i,j)
|
||||
let wlflags = foldMap (^. _2 . wlPathFlag) $ wlsHitUnsorted s e w
|
||||
return $ w & cWorld . incGraph %~ updateEdge (f wlflags) (i,j)
|
||||
where
|
||||
f wls
|
||||
| all _wlPathable wls = (at BlockObstacle .~ Nothing) . (at DoorObstacle .~ Nothing)
|
||||
| otherwise = at DoorObstacle ?~ ()
|
||||
f x _ = S.map WallObstacle x
|
||||
|
||||
updateDoors :: World -> World
|
||||
updateDoors w = let (is,w') = foldrM updateDoor w (w ^. cWorld . lWorld . doors)
|
||||
|
||||
@@ -75,7 +75,6 @@ AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
|
||||
Audition src/Dodge/Data/Creature/Perception.hs 45;" t
|
||||
AutoAI src/Dodge/Data/Creature/Misc.hs 45;" C
|
||||
AutoCrit src/Dodge/Data/Creature/Misc.hs 70;" C
|
||||
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
|
||||
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
|
||||
Avatar src/Dodge/Data/Creature/Misc.hs 59;" C
|
||||
AvatarDead src/Dodge/Data/Creature/Misc.hs 67;" C
|
||||
@@ -138,7 +137,6 @@ BlockDrawBlSh src/Dodge/Data/Block.hs 37;" C
|
||||
BlockDrawColHeightPoss src/Dodge/Data/Block.hs 39;" C
|
||||
BlockDrawMempty src/Dodge/Data/Block.hs 36;" C
|
||||
BlockDraws src/Dodge/Data/Block.hs 38;" C
|
||||
BlockObstacle src/Dodge/Data/PathGraph.hs 49;" C
|
||||
BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C
|
||||
BlockedLink src/Dodge/Data/Room.hs 50;" C
|
||||
BloomLayer src/Picture/Data.hs 23;" C
|
||||
@@ -212,7 +210,7 @@ ChangeStrategy src/Dodge/Data/ActionPlan.hs 43;" C
|
||||
ChaseAI src/Dodge/Data/Creature/Misc.hs 38;" C
|
||||
ChaseCrit src/Dodge/Data/Creature/Misc.hs 68;" C
|
||||
ChaseCritters src/Dodge/Data/Creature/State.hs 16;" C
|
||||
ChasmObstacle src/Dodge/Data/PathGraph.hs 53;" C
|
||||
ChasmObstacle src/Dodge/Data/PathGraph.hs 50;" C
|
||||
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C
|
||||
ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 29;" C
|
||||
ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 28;" C
|
||||
@@ -349,16 +347,15 @@ DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 18;" C
|
||||
DoReplicate src/Dodge/Data/ActionPlan.hs 106;" C
|
||||
DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C
|
||||
DockingBaySS src/Dodge/Data/Scenario.hs 92;" C
|
||||
Door src/Dodge/Data/Door.hs 30;" t
|
||||
Door src/Dodge/Data/Door.hs 29;" t
|
||||
DoorLerp src/Dodge/Data/WorldEffect.hs 63;" C
|
||||
DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C
|
||||
DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C
|
||||
DoubleRes src/Dodge/Data/Config.hs 98;" C
|
||||
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t
|
||||
DrWdId src/Dodge/Data/WorldEffect.hs 63;" C
|
||||
DrWdWd src/Dodge/Data/WorldEffect.hs 63;" t
|
||||
DrawForceField src/Dodge/Data/Wall.hs 45;" C
|
||||
DrawnWall src/Dodge/Data/Wall.hs 41;" C
|
||||
DrawForceField src/Dodge/Data/Wall.hs 47;" C
|
||||
DrawnWall src/Dodge/Data/Wall.hs 43;" C
|
||||
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
|
||||
DropItem src/Dodge/Data/ActionPlan.hs 38;" C
|
||||
DudPayload src/Dodge/Data/Payload.hs 11;" C
|
||||
@@ -858,7 +855,7 @@ NorthEast8 src/Dodge/Data/CardinalPoint.hs 21;" C
|
||||
NorthWest src/Dodge/Data/CardinalPoint.hs 16;" C
|
||||
NorthWest8 src/Dodge/Data/CardinalPoint.hs 27;" C
|
||||
NotLink src/Dodge/Data/Room.hs 69;" C
|
||||
NotPushed src/Dodge/Data/Door.hs 27;" C
|
||||
NotPushed src/Dodge/Data/Door.hs 26;" C
|
||||
Nothing' src/MaybeHelp.hs 11;" C
|
||||
NothingID src/Dodge/Data/CrWlID.hs 10;" C
|
||||
NozzleAngle src/Dodge/Data/Item/Params.hs 16;" C
|
||||
@@ -918,8 +915,8 @@ OnTurret src/Dodge/Data/Item/Location.hs 37;" C
|
||||
OnceSound src/Dodge/Data/SoundOrigin.hs 14;" C
|
||||
OneHand src/Dodge/Data/AimStance.hs 14;" C
|
||||
OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C
|
||||
Opacity src/Dodge/Data/Wall.hs 38;" t
|
||||
Opaque src/Dodge/Data/Wall.hs 42;" C
|
||||
Opacity src/Dodge/Data/Wall.hs 40;" t
|
||||
Opaque src/Dodge/Data/Wall.hs 44;" C
|
||||
OpticScope src/Dodge/Data/Item/Scope.hs 12;" C
|
||||
OptionScreen src/Dodge/Data/Universe.hs 80;" C
|
||||
OptionScreenFlag src/Dodge/Data/Universe.hs 70;" t
|
||||
@@ -1034,9 +1031,9 @@ PulseBallSF src/Dodge/Data/ComposedItem.hs 44;" C
|
||||
PulseLaser src/Dodge/Data/PulseLaser.hs 11;" t
|
||||
PulseLaserSF src/Dodge/Data/ComposedItem.hs 41;" C
|
||||
PulseStatus src/Dodge/Data/Creature/Misc.hs 52;" C
|
||||
PushSource src/Dodge/Data/Door.hs 24;" t
|
||||
PushedBy src/Dodge/Data/Door.hs 26;" C
|
||||
PushesItself src/Dodge/Data/Door.hs 25;" C
|
||||
PushSource src/Dodge/Data/Door.hs 23;" t
|
||||
PushedBy src/Dodge/Data/Door.hs 25;" C
|
||||
PushesItself src/Dodge/Data/Door.hs 24;" C
|
||||
PutBlock src/Dodge/Data/GenWorld.hs 45;" C
|
||||
PutButton src/Dodge/Data/GenWorld.hs 41;" C
|
||||
PutChasm src/Dodge/Data/GenWorld.hs 64;" C
|
||||
@@ -1157,8 +1154,8 @@ ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t
|
||||
Search src/Dodge/Data/ActionPlan.hs 145;" C
|
||||
SecretCabal src/Dodge/Data/Scenario.hs 44;" C
|
||||
SectionCursor src/Dodge/Data/SelectionList.hs 23;" t
|
||||
SeeAbove src/Dodge/Data/Wall.hs 40;" C
|
||||
SeeThrough src/Dodge/Data/Wall.hs 39;" C
|
||||
SeeAbove src/Dodge/Data/Wall.hs 42;" C
|
||||
SeeThrough src/Dodge/Data/Wall.hs 41;" C
|
||||
Sel src/Dodge/Data/HUD.hs 39;" C
|
||||
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C
|
||||
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C
|
||||
@@ -1439,10 +1436,14 @@ WRISTARMOUR src/Dodge/Data/Item/Combine.hs 123;" C
|
||||
WRIST_ECG src/Dodge/Data/Item/Combine.hs 135;" C
|
||||
WaitThen src/Dodge/Data/ActionPlan.hs 74;" C
|
||||
Walking src/Dodge/Data/Creature/Stance.hs 23;" C
|
||||
Wall src/Dodge/Data/Wall.hs 18;" t
|
||||
Wall src/Dodge/Data/Wall.hs 19;" t
|
||||
WallArcNode src/Dodge/Data/LWorld.hs 154;" C
|
||||
WallDraw src/Dodge/Data/Wall.hs 45;" t
|
||||
WallObstacle src/Dodge/Data/PathGraph.hs 52;" C
|
||||
WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 19;" C
|
||||
WallDraw src/Dodge/Data/Wall.hs 47;" t
|
||||
WallFlag src/Dodge/Data/Wall/Structure.hs 18;" t
|
||||
WallNotAutoOpen src/Dodge/Data/Wall/Structure.hs 20;" C
|
||||
WallNotDestrucable src/Dodge/Data/Wall/Structure.hs 21;" C
|
||||
WallObstacle src/Dodge/Data/PathGraph.hs 49;" C
|
||||
WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t
|
||||
WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t
|
||||
WallSound src/Dodge/Data/SoundOrigin.hs 24;" C
|
||||
@@ -1754,20 +1755,18 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 113;" f
|
||||
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f
|
||||
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f
|
||||
_doors src/Dodge/Data/LWorld.hs 118;" f
|
||||
_drFootPrint src/Dodge/Data/Door.hs 38;" f
|
||||
_drHP src/Dodge/Data/Door.hs 39;" f
|
||||
_drID src/Dodge/Data/Door.hs 31;" f
|
||||
_drLerp src/Dodge/Data/Door.hs 37;" f
|
||||
_drMech src/Dodge/Data/Door.hs 34;" f
|
||||
_drMounts src/Dodge/Data/Door.hs 43;" f
|
||||
_drObstacleType src/Dodge/Data/Door.hs 45;" f
|
||||
_drOnePos src/Dodge/Data/Door.hs 36;" f
|
||||
_drPushedBy src/Dodge/Data/Door.hs 41;" f
|
||||
_drPushes src/Dodge/Data/Door.hs 42;" f
|
||||
_drSpeed src/Dodge/Data/Door.hs 40;" f
|
||||
_drTrigger src/Dodge/Data/Door.hs 33;" f
|
||||
_drWallIDs src/Dodge/Data/Door.hs 32;" f
|
||||
_drZeroPos src/Dodge/Data/Door.hs 35;" f
|
||||
_drFootPrint src/Dodge/Data/Door.hs 36;" f
|
||||
_drHP src/Dodge/Data/Door.hs 37;" f
|
||||
_drID src/Dodge/Data/Door.hs 30;" f
|
||||
_drLerp src/Dodge/Data/Door.hs 35;" f
|
||||
_drMech src/Dodge/Data/Door.hs 32;" f
|
||||
_drMounts src/Dodge/Data/Door.hs 41;" f
|
||||
_drOnePos src/Dodge/Data/Door.hs 34;" f
|
||||
_drPushedBy src/Dodge/Data/Door.hs 39;" f
|
||||
_drPushes src/Dodge/Data/Door.hs 40;" f
|
||||
_drSpeed src/Dodge/Data/Door.hs 38;" f
|
||||
_drTrigger src/Dodge/Data/Door.hs 31;" f
|
||||
_drZeroPos src/Dodge/Data/Door.hs 33;" f
|
||||
_dsPos src/Dodge/Data/Cloud.hs 28;" f
|
||||
_dsTimer src/Dodge/Data/Cloud.hs 30;" f
|
||||
_dsType src/Dodge/Data/Cloud.hs 31;" f
|
||||
@@ -2054,9 +2053,9 @@ _nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f
|
||||
_offGridFromEdges src/Dodge/Data/Room.hs 82;" f
|
||||
_oldMagnets src/Dodge/Data/LWorld.hs 121;" f
|
||||
_onGridFromEdges src/Dodge/Data/Room.hs 81;" f
|
||||
_opDraw src/Dodge/Data/Wall.hs 41;" f
|
||||
_opDraw src/Dodge/Data/Wall.hs 43;" f
|
||||
_opSel src/Dodge/Data/RightButtonOptions.hs 15;" f
|
||||
_opTexture src/Dodge/Data/Wall.hs 42;" f
|
||||
_opTexture src/Dodge/Data/Wall.hs 44;" f
|
||||
_opticDefaultZoom src/Dodge/Data/Item/Scope.hs 18;" f
|
||||
_opticPos src/Dodge/Data/Item/Scope.hs 14;" f
|
||||
_opticZoom src/Dodge/Data/Item/Scope.hs 17;" f
|
||||
@@ -2454,23 +2453,24 @@ _windowPosY src/Dodge/Data/Config.hs 54;" f
|
||||
_windowShader src/Data/Preload/Render.hs 19;" f
|
||||
_windowX src/Dodge/Data/Config.hs 51;" f
|
||||
_windowY src/Dodge/Data/Config.hs 52;" f
|
||||
_wlBouncy src/Dodge/Data/Wall.hs 25;" f
|
||||
_wlColor src/Dodge/Data/Wall.hs 21;" f
|
||||
_wlFireThrough src/Dodge/Data/Wall.hs 28;" f
|
||||
_wlHeight src/Dodge/Data/Wall.hs 33;" f
|
||||
_wlID src/Dodge/Data/Wall.hs 20;" f
|
||||
_wlLine src/Dodge/Data/Wall.hs 19;" f
|
||||
_wlMaterial src/Dodge/Data/Wall.hs 34;" f
|
||||
_wlOpacity src/Dodge/Data/Wall.hs 22;" f
|
||||
_wlPathable src/Dodge/Data/Wall.hs 23;" f
|
||||
_wlPenetrable src/Dodge/Data/Wall.hs 24;" f
|
||||
_wlReflect src/Dodge/Data/Wall.hs 29;" f
|
||||
_wlRotateTo src/Dodge/Data/Wall.hs 31;" f
|
||||
_wlBouncy src/Dodge/Data/Wall.hs 27;" f
|
||||
_wlColor src/Dodge/Data/Wall.hs 22;" f
|
||||
_wlFireThrough src/Dodge/Data/Wall.hs 30;" f
|
||||
_wlHeight src/Dodge/Data/Wall.hs 35;" f
|
||||
_wlID src/Dodge/Data/Wall.hs 21;" f
|
||||
_wlLine src/Dodge/Data/Wall.hs 20;" f
|
||||
_wlMaterial src/Dodge/Data/Wall.hs 36;" f
|
||||
_wlOpacity src/Dodge/Data/Wall.hs 23;" f
|
||||
_wlPathFlag src/Dodge/Data/Wall.hs 24;" f
|
||||
_wlPathable src/Dodge/Data/Wall.hs 25;" f
|
||||
_wlPenetrable src/Dodge/Data/Wall.hs 26;" f
|
||||
_wlReflect src/Dodge/Data/Wall.hs 31;" f
|
||||
_wlRotateTo src/Dodge/Data/Wall.hs 33;" f
|
||||
_wlStCreature src/Dodge/Data/Wall/Structure.hs 15;" f
|
||||
_wlStructure src/Dodge/Data/Wall.hs 32;" f
|
||||
_wlTouchThrough src/Dodge/Data/Wall.hs 27;" f
|
||||
_wlUnshadowed src/Dodge/Data/Wall.hs 30;" f
|
||||
_wlWalkable src/Dodge/Data/Wall.hs 26;" f
|
||||
_wlStructure src/Dodge/Data/Wall.hs 34;" f
|
||||
_wlTouchThrough src/Dodge/Data/Wall.hs 29;" f
|
||||
_wlUnshadowed src/Dodge/Data/Wall.hs 32;" f
|
||||
_wlWalkable src/Dodge/Data/Wall.hs 28;" f
|
||||
_wlZoning src/Dodge/Data/World.hs 49;" f
|
||||
_worldEventFlags src/Dodge/Data/World.hs 45;" f
|
||||
_worldEvents src/Dodge/Data/LWorld.hs 127;" f
|
||||
@@ -2496,7 +2496,7 @@ addCrGibs src/Dodge/Prop/Gib.hs 17;" f
|
||||
addDepth src/Picture/Base.hs 133;" f
|
||||
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f
|
||||
addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f
|
||||
addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 56;" f
|
||||
addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 54;" f
|
||||
addGib4 src/Dodge/Prop/Gib.hs 52;" f
|
||||
addGibAt src/Dodge/Prop/Gib.hs 63;" f
|
||||
addGibAtDir src/Dodge/Prop/Gib.hs 69;" f
|
||||
@@ -2990,7 +2990,7 @@ crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
|
||||
crsNearRect src/Dodge/Zoning/Creature.hs 39;" f
|
||||
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
|
||||
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
|
||||
cubeShape src/Dodge/Block/Debris.hs 105;" f
|
||||
cubeShape src/Dodge/Block/Debris.hs 106;" f
|
||||
cullPoint src/Dodge/Render/ShapePicture.hs 94;" f
|
||||
cullPretty src/AesonHelp.hs 14;" f
|
||||
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
|
||||
@@ -3045,7 +3045,7 @@ deadScalp src/Dodge/Creature/Picture.hs 81;" f
|
||||
deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
|
||||
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
|
||||
debrisSPic src/Dodge/Prop/Draw.hs 20;" f
|
||||
debrisSize src/Dodge/Block/Debris.hs 79;" f
|
||||
debrisSize src/Dodge/Block/Debris.hs 80;" f
|
||||
debugEvent src/Dodge/Debug.hs 36;" f
|
||||
debugEvents src/Dodge/Debug.hs 21;" f
|
||||
debugItem src/Dodge/Debug.hs 39;" f
|
||||
@@ -3125,7 +3125,7 @@ deleteWallID src/Dodge/Wall/Delete.hs 13;" f
|
||||
deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
|
||||
denormalEdges src/Polyhedra.hs 136;" f
|
||||
destroyAllInvItems src/Dodge/Inventory.hs 53;" f
|
||||
destroyBlock src/Dodge/Block.hs 48;" f
|
||||
destroyBlock src/Dodge/Block.hs 51;" f
|
||||
destroyDoor src/Dodge/DrWdWd.hs 56;" f
|
||||
destroyInvItem src/Dodge/Inventory.hs 40;" f
|
||||
destroyItem src/Dodge/Inventory.hs 62;" f
|
||||
@@ -3194,6 +3194,7 @@ doDebugTestF12 src/Dodge/Update/Input/DebugTest.hs 84;" f
|
||||
doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f
|
||||
doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
|
||||
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
|
||||
doDoorLerp src/Dodge/DrWdWd.hs 53;" f
|
||||
doDrag src/Dodge/Update/Input/InGame.hs 127;" f
|
||||
doDrawing src/Dodge/Render.hs 34;" f
|
||||
doDrawing' src/Dodge/Render.hs 45;" f
|
||||
@@ -3258,7 +3259,7 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f
|
||||
drawBeam src/Dodge/Beam/Draw.hs 6;" f
|
||||
drawBlip src/Dodge/RadarBlip.hs 16;" f
|
||||
drawBlock src/Dodge/Block/Draw.hs 7;" f
|
||||
drawBoundingBox src/Dodge/Debug/Picture.hs 355;" f
|
||||
drawBoundingBox src/Dodge/Debug/Picture.hs 354;" f
|
||||
drawBullet src/Dodge/Render/ShapePicture.hs 133;" f
|
||||
drawButton src/Dodge/Button/Draw.hs 10;" f
|
||||
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
|
||||
@@ -3269,7 +3270,7 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
|
||||
drawCombFilter src/Dodge/Render/Picture.hs 269;" f
|
||||
drawCombineInventory src/Dodge/Render/HUD.hs 182;" f
|
||||
drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f
|
||||
drawCoord src/Dodge/Debug/Picture.hs 383;" f
|
||||
drawCoord src/Dodge/Debug/Picture.hs 382;" f
|
||||
drawCrInfo src/Dodge/Debug.hs 135;" f
|
||||
drawCrInfo' src/Dodge/Debug.hs 130;" f
|
||||
drawCreature src/Dodge/Render/ShapePicture.hs 69;" f
|
||||
@@ -3278,7 +3279,7 @@ drawCross src/Dodge/Render/Label.hs 24;" f
|
||||
drawCrossCol src/Dodge/Render/Label.hs 21;" f
|
||||
drawCursorAt src/Dodge/Render/List.hs 72;" f
|
||||
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f
|
||||
drawDDATest src/Dodge/Debug/Picture.hs 310;" f
|
||||
drawDDATest src/Dodge/Debug/Picture.hs 309;" f
|
||||
drawDamSensor src/Dodge/Machine/Draw.hs 27;" f
|
||||
drawDebug src/Dodge/Debug.hs 173;" f
|
||||
drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f
|
||||
@@ -3293,7 +3294,7 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
|
||||
drawEquipment src/Dodge/Creature/Picture.hs 127;" f
|
||||
drawExamineInventory src/Dodge/Render/HUD.hs 198;" f
|
||||
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
|
||||
drawFarWallDetect src/Dodge/Debug/Picture.hs 277;" f
|
||||
drawFarWallDetect src/Dodge/Debug/Picture.hs 276;" f
|
||||
drawFlame src/Dodge/Flame/Draw.hs 8;" f
|
||||
drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f
|
||||
drawForceField src/Dodge/Wall/Draw.hs 11;" f
|
||||
@@ -3326,11 +3327,11 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f
|
||||
drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f
|
||||
drawMouseCursor src/Dodge/Render/Picture.hs 85;" f
|
||||
drawMouseOver src/Dodge/Render/HUD.hs 109;" f
|
||||
drawMousePosition src/Dodge/Debug/Picture.hs 373;" f
|
||||
drawMousePosition src/Dodge/Debug/Picture.hs 372;" f
|
||||
drawOptions src/Dodge/Render/MenuScreen.hs 22;" f
|
||||
drawPathBetween src/Dodge/Debug/Picture.hs 201;" f
|
||||
drawPathEdge src/Dodge/Debug/Picture.hs 266;" f
|
||||
drawPathing src/Dodge/Debug/Picture.hs 404;" f
|
||||
drawPathing src/Dodge/Debug/Picture.hs 403;" f
|
||||
drawPlus src/Dodge/Render/Picture.hs 165;" f
|
||||
drawPointLabel src/Dodge/Render/Label.hs 13;" f
|
||||
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
|
||||
@@ -3371,15 +3372,15 @@ drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f
|
||||
drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f
|
||||
drawWall src/Dodge/Wall/Draw.hs 7;" f
|
||||
drawWallFace src/Dodge/Debug/Picture.hs 73;" f
|
||||
drawWallSearchRays src/Dodge/Debug/Picture.hs 319;" f
|
||||
drawWallSearchRays src/Dodge/Debug/Picture.hs 318;" f
|
||||
drawWallsNearCursor src/Dodge/Debug/Picture.hs 230;" f
|
||||
drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f
|
||||
drawWallsNearYou src/Dodge/Debug/Picture.hs 221;" f
|
||||
drawWeapon src/Dodge/Creature/Volition.hs 15;" f
|
||||
drawWlIDs src/Dodge/Debug/Picture.hs 391;" f
|
||||
drawZoneCirc src/Dodge/Debug/Picture.hs 299;" f
|
||||
drawWlIDs src/Dodge/Debug/Picture.hs 390;" f
|
||||
drawZoneCirc src/Dodge/Debug/Picture.hs 298;" f
|
||||
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
|
||||
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 292;" f
|
||||
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 291;" f
|
||||
dropAll src/Dodge/Creature/Update.hs 129;" f
|
||||
dropInventoryPath src/Dodge/HeldUse.hs 1351;" f
|
||||
dropItem src/Dodge/Creature/Action.hs 154;" f
|
||||
@@ -3410,7 +3411,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 70;" f
|
||||
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
|
||||
edgeFormatting src/Dodge/Combine/Graph.hs 129;" f
|
||||
edgeToPic src/Dodge/Debug/Picture.hs 413;" f
|
||||
edgeToPic src/Dodge/Debug/Picture.hs 412;" f
|
||||
effectOnEquip src/Dodge/Equipment.hs 32;" f
|
||||
effectOnRemove src/Dodge/Equipment.hs 19;" f
|
||||
eitType src/Dodge/Data/EquipType.hs 15;" f
|
||||
@@ -3956,7 +3957,6 @@ leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
|
||||
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
|
||||
legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f
|
||||
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
|
||||
lerpdr src/Dodge/DrWdWd.hs 53;" f
|
||||
liShape src/Dodge/Placement/Instance/LightSource.hs 111;" f
|
||||
light src/Color.hs 104;" f
|
||||
lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f
|
||||
@@ -4053,7 +4053,7 @@ main test/Spec.hs 12;" f
|
||||
makeArc src/Picture/Base.hs 157;" f
|
||||
makeAttach src/Dodge/Item/Attach.hs 10;" f
|
||||
makeBlip src/Dodge/RadarSweep.hs 70;" f
|
||||
makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
|
||||
makeBlockDebris src/Dodge/Block/Debris.hs 37;" f
|
||||
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
|
||||
makeBullet src/Dodge/HeldUse.hs 979;" f
|
||||
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
|
||||
@@ -4062,9 +4062,9 @@ makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
|
||||
makeColorTermLine src/Dodge/Terminal.hs 111;" f
|
||||
makeColorTermPara src/Dodge/Terminal.hs 108;" f
|
||||
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
|
||||
makeDebris src/Dodge/Block/Debris.hs 47;" f
|
||||
makeDebrisDirected src/Dodge/Block/Debris.hs 50;" f
|
||||
makeDoorDebris src/Dodge/Block/Debris.hs 25;" f
|
||||
makeDebris src/Dodge/Block/Debris.hs 48;" f
|
||||
makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f
|
||||
makeDoorDebris src/Dodge/Block/Debris.hs 26;" f
|
||||
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
|
||||
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
|
||||
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 73;" f
|
||||
@@ -4111,8 +4111,8 @@ maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f
|
||||
maxShowX src/Dodge/Combine/Graph.hs 48;" f
|
||||
maxViewDistance src/Dodge/Viewpoints.hs 26;" f
|
||||
maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
|
||||
maybeClearPath src/Dodge/Block.hs 68;" f
|
||||
maybeClearPaths src/Dodge/Block.hs 65;" f
|
||||
maybeClearPath src/Dodge/Block.hs 73;" f
|
||||
maybeClearPaths src/Dodge/Block.hs 70;" f
|
||||
maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f
|
||||
maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f
|
||||
maybeOpenConsole src/Dodge/Update.hs 129;" f
|
||||
@@ -4370,7 +4370,7 @@ pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
||||
pistolerRoom src/Dodge/Room/Room.hs 330;" f
|
||||
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f
|
||||
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 16;" f
|
||||
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 20;" f
|
||||
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 19;" f
|
||||
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 48;" f
|
||||
plMachine src/Dodge/Placement/PlaceSpot.hs 206;" f
|
||||
plMachine' src/Dodge/Placement/PlaceSpot.hs 250;" f
|
||||
@@ -4379,7 +4379,7 @@ plNewID src/Dodge/Base/NewID.hs 7;" f
|
||||
plNewUpID src/Dodge/Base/NewID.hs 13;" f
|
||||
plNewUsing src/Dodge/Base/NewID.hs 27;" f
|
||||
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
|
||||
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 82;" f
|
||||
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 80;" f
|
||||
plTurret src/Dodge/Placement/PlaceSpot.hs 219;" f
|
||||
placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f
|
||||
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 264;" f
|
||||
@@ -5006,7 +5006,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f
|
||||
soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f
|
||||
soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f
|
||||
soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f
|
||||
soundPic src/Dodge/Debug/Picture.hs 360;" f
|
||||
soundPic src/Dodge/Debug/Picture.hs 359;" f
|
||||
soundStart src/Dodge/SoundLogic.hs 118;" f
|
||||
soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f
|
||||
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
|
||||
@@ -5029,7 +5029,7 @@ speedLegs src/Dodge/Item/Equipment.hs 90;" f
|
||||
splashMenu src/Dodge/Menu.hs 33;" f
|
||||
splashMenuOptions src/Dodge/Menu.hs 38;" f
|
||||
splashScreen src/Dodge/Initialisation.hs 10;" f
|
||||
splinterBlock src/Dodge/Block.hs 22;" f
|
||||
splinterBlock src/Dodge/Block.hs 25;" f
|
||||
splitBezierquad src/Geometry/Bezier.hs 15;" f
|
||||
splitExtra src/Justify.hs 21;" f
|
||||
splitLookupTrie src/SimpleTrie.hs 39;" f
|
||||
@@ -5330,7 +5330,7 @@ unpause src/Dodge/Menu.hs 212;" f
|
||||
unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f
|
||||
unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f
|
||||
unsafeSwapKeys src/IntMapHelp.hs 75;" f
|
||||
unshadowBlock src/Dodge/Block.hs 35;" f
|
||||
unshadowBlock src/Dodge/Block.hs 38;" f
|
||||
untilJust src/MonadHelp.hs 7;" f
|
||||
untilJustCount src/MonadHelp.hs 14;" f
|
||||
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f
|
||||
@@ -5366,8 +5366,8 @@ updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
|
||||
updateDistortion src/Dodge/Distortion.hs 5;" f
|
||||
updateDistortions src/Dodge/Update.hs 577;" f
|
||||
updateDoor src/Dodge/DrWdWd.hs 20;" f
|
||||
updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 74;" f
|
||||
updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 71;" f
|
||||
updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 72;" f
|
||||
updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 69;" f
|
||||
updateDoors src/Dodge/Update.hs 328;" f
|
||||
updateDust src/Dodge/Update.hs 841;" f
|
||||
updateDusts src/Dodge/Update.hs 691;" f
|
||||
@@ -5516,8 +5516,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f
|
||||
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
|
||||
verticalWire src/Dodge/Wire.hs 24;" f
|
||||
vgunMuzzles src/Dodge/HeldUse.hs 341;" f
|
||||
viewBoundaries src/Dodge/Debug/Picture.hs 328;" f
|
||||
viewClipBounds src/Dodge/Debug/Picture.hs 337;" f
|
||||
viewBoundaries src/Dodge/Debug/Picture.hs 327;" f
|
||||
viewClipBounds src/Dodge/Debug/Picture.hs 336;" f
|
||||
viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f
|
||||
viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f
|
||||
violet src/Color.hs 21;" f
|
||||
|
||||
Reference in New Issue
Block a user