Make chasms remove RoomPos within their boundaries

This commit is contained in:
2025-10-07 10:43:15 +01:00
parent 4cc5477f07
commit e9178f9643
12 changed files with 280 additions and 256 deletions
+14 -8
View File
@@ -1,5 +1,6 @@
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE LambdaCase #-}
module Dodge.Data.Room (
module Dodge.Data.Room,
@@ -14,8 +15,8 @@ import Geometry
data RoomPos = RoomPos
{ _rpPos :: Point2
, _rpDir :: Float
, _rpType :: S.Set RoomPosType
, _rpLinkStatus :: RPLinkStatus
, _rpFlags :: S.Set RoomPosFlag
, _rpType :: RPLinkStatus
, _rpPlacementUse :: S.Set UsedPos
}
deriving (Eq, Ord, Show)
@@ -53,6 +54,7 @@ data RoomWire
= --RoomWire Point2 Float
WallWire Point2 Float Float
-- the link constructors should probably be combined in some way
data RPLinkStatus
= UsedOutLink
{ _rplsType :: S.Set RoomLinkType
@@ -64,16 +66,20 @@ data RPLinkStatus
, _rplsInRoomID :: Int
}
| UnusedLink {_rplsType :: S.Set RoomLinkType}
| PathNodeRP
| NotLink
| NotLink {_rpOnPath :: Bool}
deriving (Eq, Ord, Show)
notLink :: RPLinkStatus -> Bool
notLink = \case
NotLink {} -> True
_ -> False
data PathFromEdge = PathFromEdge CardinalPoint Int
deriving (Eq, Ord, Show)
data RoomPosType
= RoomPosOnGrid {_onPathFromEdges :: S.Set PathFromEdge}
| RoomPosOffGrid {_offPathFromEdges :: S.Set PathFromEdge}
data RoomPosFlag
= RoomPosOnGrid {_onGridFromEdges :: S.Set PathFromEdge}
| RoomPosOffGrid {_offGridFromEdges :: S.Set PathFromEdge}
deriving (Eq, Ord, Show)
data UsedPos
@@ -85,5 +91,5 @@ data UsedPos
makeLenses ''RoomLink
makeLenses ''RoomPos
makeLenses ''RoomPosType
makeLenses ''RoomPosFlag
makeLenses ''RPLinkStatus
+4 -4
View File
@@ -168,21 +168,21 @@ gameRoomFromRoom rm =
[ p +.+ 10 *.* unitVectorAtAngle a
, p -.- 10 *.* unitVectorAtAngle a
]
filterUnusedLinks rp = case _rpLinkStatus rp of
filterUnusedLinks rp = case _rpType rp of
UnusedLink{} -> Just $ _rpPos rp
_ -> Nothing
filterUsedLinks rp = case _rpLinkStatus rp of
filterUsedLinks rp = case _rpType rp of
UsedOutLink{} -> doubleShift (_rpPos rp) (_rpDir rp)
UsedInLink{} -> doubleShift (_rpPos rp) (_rpDir rp)
_ -> []
undir rp = case _rpLinkStatus rp of
undir rp = case _rpType rp of
UsedOutLink{} -> ma
UsedInLink{} -> ma
_ -> Nothing
where
ma = Just $ 0.5 * pi + _rpDir rp + snd (_rmShift rm)
closePoints x y = roundPoint2 x == roundPoint2 y
getDir (rp : xs) = case _rpLinkStatus rp of
getDir (rp : xs) = case _rpType rp of
UsedInLink{} -> _rpDir rp + snd (_rmShift rm)
_ -> getDir xs
getDir _ = 0 -- fallback
+5 -2
View File
@@ -126,7 +126,8 @@ placeSpotID rid ps pt w = case pt of
w
PutMachine pps mc wl mitm -> plMachine (map doShift pps) mc wl mitm p rot w
PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p' rot ls) w
PutPPlate pp -> plNewUpID (gwWorld . cWorld . lWorld . pressPlates) ppID (mvPP p rot pp) w
PutPPlate pp
-> plNewUpID (gwWorld . cWorld . lWorld . pressPlates) ppID (mvPP p rot pp) w
RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w
PutDoor col eo f pss -> plDoor col eo f (map (bimap doShift doShift) pss) w
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
@@ -143,7 +144,9 @@ placeSpotID rid ps pt w = case pt of
PutNothing -> (0, w)
PutID i -> (i, w)
PutWorldUpdate f -> (0, w & f rid ps)
PutChasm ps' -> (0, w & gwWorld . cWorld . chasms .:~ map doShift ps')
PutChasm ps' -> (0, w & gwWorld . cWorld . chasms .:~ map doShift ps'
& genRooms . ix rid . rmPos %~ filter (\rp -> not $ pointInPoly (_rpPos rp) ps')
)
PutLabel{} -> (0, w)
where
p@(V2 px py) = _psPos ps
+24 -24
View File
@@ -1,9 +1,9 @@
--{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE LambdaCase #-}
module Dodge.PlacementSpot (
atFstLnkOut,
atNthLnkOutShiftBy,
rpIsOnGrid,
rpIsOffPath,
rpIsOffGrid,
rpOffPathFromEdge,
useUnusedLnk,
psRandRanges,
@@ -59,35 +59,35 @@ randDirPS ps = do
return $ setDirPS a ps
isUnusedLnk :: RoomPos -> Room -> Bool
isUnusedLnk rp _ = case _rpLinkStatus rp of
isUnusedLnk rp _ = case _rpType rp of
UnusedLink{} -> null $ _rpPlacementUse rp
_ -> False
anyUnusedSpot :: PlacementSpot
anyUnusedSpot = rprBool $ \rp _ -> _rpLinkStatus rp == NotLink && null (_rpPlacementUse rp)
anyUnusedSpot = rprBool $ \rp _ -> notLink (_rpType rp) && null (_rpPlacementUse rp)
psposAddLabel :: RoomPosType -> PlacementSpot -> PlacementSpot
psposAddLabel lab = psSelect %~ (\f rp r -> f rp r & _Just . _2 . rpType %~ S.insert lab)
psposAddLabel :: RoomPosFlag -> PlacementSpot -> PlacementSpot
psposAddLabel lab = psSelect %~ (\f rp r -> f rp r & _Just . _2 . rpFlags %~ S.insert lab)
rprBool :: (RoomPos -> Room -> Bool) -> PlacementSpot
rprBool t = PSPos (useRoomPosRoomCond (S.singleton UsedPosLow) t) (const id) Nothing
rpIsOnGrid :: RoomPos -> Bool
rpIsOnGrid = any f . _rpType
rpIsOnGrid = any f . _rpFlags
where
f RoomPosOnGrid{} = True
f _ = False
rpIsOffPath :: RoomPos -> Bool
rpIsOffPath = any f . _rpType
rpIsOffGrid :: RoomPos -> Bool
rpIsOffGrid = any f . _rpFlags
where
f RoomPosOffGrid{} = True
f _ = False
rpOffPathFromEdge :: PathFromEdge -> RoomPos -> Bool
rpOffPathFromEdge pe = any f . _rpType
rpOffPathFromEdge pe = any f . _rpFlags
where
f rt = maybe False (pe `elem`) (rt ^? offPathFromEdges)
f rt = maybe False (pe `elem`) (rt ^? offGridFromEdges)
resetPLUse :: PlacementSpot -> PlacementSpot
resetPLUse (PSPos f g fallback) = PSPos f' g fallback
@@ -118,7 +118,7 @@ rprBoolShift t shift = PSPos f (const id) Nothing
unusedSpotAwayFromLink :: Float -> PlacementSpot
unusedSpotAwayFromLink x = rprBool $ \rp r ->
_rpLinkStatus rp == NotLink
notLink (_rpType rp)
&& null (_rpPlacementUse rp)
&& all ((> x) . dist (_rpPos rp)) (usedRoomLinkPoss r)
@@ -132,11 +132,11 @@ unusedOffPathAwayFromLink :: Float -> PlacementSpot
unusedOffPathAwayFromLink x = rprBool $ \rp r ->
null (_rpPlacementUse rp)
&& all ((> x) . dist (_rpPos rp)) (usedRoomLinkPoss r)
&& rpIsOffPath rp
&& rpIsOffGrid rp
unusedSpotAwayFromInLink :: Float -> PlacementSpot
unusedSpotAwayFromInLink x = rprBool $ \rp r ->
_rpLinkStatus rp == NotLink
notLink (_rpType rp)
&& null (_rpPlacementUse rp)
&& all ((> x) . dist (_rpPos rp)) (usedRoomInLinkPoss r)
@@ -159,12 +159,12 @@ twoRoomPoss cond1 cond2 f = Placement (rprBool cond1) PutNothing Nothing Nothing
-- _ -> False
isInLnk :: RoomPos -> Bool
isInLnk rp = case _rpLinkStatus rp of
isInLnk rp = case _rpType rp of
UsedInLink{} -> null $ _rpPlacementUse rp
_ -> False
isOutLnk :: RoomPos -> Bool
isOutLnk rp = case _rpLinkStatus rp of
isOutLnk rp = case _rpType rp of
UsedOutLink{} -> null $ _rpPlacementUse rp
_ -> False
@@ -172,7 +172,7 @@ useUnusedLnk :: PlacementSpot
useUnusedLnk = rprBool isUnusedLnk
isUsedLnkUnplaced :: RoomPos -> Bool
isUsedLnkUnplaced rp = case _rpLinkStatus rp of
isUsedLnkUnplaced rp = case _rpType rp of
UsedOutLink{} -> null (_rpPlacementUse rp)
UsedInLink{} -> null (_rpPlacementUse rp)
_ -> False
@@ -188,28 +188,28 @@ useRoomPosRoomCond xs t rp r
| otherwise = Nothing
isUnusedLnkType :: RoomLinkType -> RoomPos -> Room -> Bool
isUnusedLnkType rlt rp _ = case _rpLinkStatus rp of
isUnusedLnkType rlt rp _ = case _rpType rp of
UnusedLink{_rplsType = rlts} -> rlt `S.member` rlts
&& null (_rpPlacementUse rp)
_ -> False
unusedSpotNearInLink :: Float -> PlacementSpot
unusedSpotNearInLink x = rprBool $ \rp r ->
_rpLinkStatus rp == NotLink
notLink (_rpType rp)
&& null (_rpPlacementUse rp)
&& any ((< x) . dist (_rpPos rp)) (usedRoomInLinkPoss r)
usedRoomInLinkPoss :: Room -> [Point2]
usedRoomInLinkPoss r = mapMaybe f $ _rmPos r
where
f rp = case _rpLinkStatus rp of
f rp = case _rpType rp of
UsedInLink{} -> Just $ _rpPos rp
_ -> Nothing
usedRoomLinkPoss :: Room -> [Point2]
usedRoomLinkPoss r = mapMaybe f $ _rmPos r
where
f rp = case _rpLinkStatus rp of
f rp = case _rpType rp of
UsedInLink{} -> Just $ _rpPos rp
UsedOutLink{} -> Just $ _rpPos rp
_ -> Nothing
@@ -218,12 +218,12 @@ atFstLnkOut :: PlacementSpot
atFstLnkOut = atNthLinkOut 0
atNthLinkOut :: Int -> PlacementSpot
atNthLinkOut n = rprBool $ \rp _ -> rp ^? rpLinkStatus . rplsChildNum == Just n
atNthLinkOut n = rprBool $ \rp _ -> rp ^? rpType . rplsChildNum == Just n
atNthLnkOutShiftBy :: Int -> ((Point2, Float) -> ((Point2, Float),S.Set UsedPos))
-> PlacementSpot
atNthLnkOutShiftBy n = rprBoolShift $
\rp _ -> rp ^? rpLinkStatus . rplsChildNum == Just n
\rp _ -> rp ^? rpType . rplsChildNum == Just n
--atNthLnkOutShiftBy n theshift = PSPos f (const id) Nothing
-- where
@@ -253,7 +253,7 @@ shiftByV2 x (p, a) = (p +.+ rotateV a x, a)
-- this should probably check the placement use, but so should others: should
-- unify these
useLnkRoomPos :: S.Set UsedPos -> RoomPos -> Room -> Maybe (PlacementSpot, RoomPos)
useLnkRoomPos xs rp _ = case _rpLinkStatus rp of
useLnkRoomPos xs rp _ = case _rpType rp of
UnusedLink{} -> Just (PS (_rpPos rp) (_rpDir rp), rp & rpPlacementUse <>~ xs)
_ -> Nothing
+3
View File
@@ -25,6 +25,7 @@ roomNgon n x = do
, _rmBound = [poly]
, _rmFloor = Tiled [makeTileFromPoly poly 2]
, _rmName = show n ++ "gon"
, _rmPos = poss
}
where
rot = 2 * pi / fromIntegral n
@@ -34,6 +35,8 @@ roomNgon n x = do
path2 = concat $ zipWith g path1 (tail path1 <> [head path1])
path3 = loopPairs path2 <> fmap (,V2 0 0) path2
path4 = concatMap doublePair path3
poss = map (\p -> RoomPos p 0 mempty (NotLink True) mempty)
(V2 0 0 : path1)
g z y = [z, 0.5 * (z + y)]
lnks =
sortOn ((\(V2 a b) -> (negate b, a)) . fst . snd)
+5 -5
View File
@@ -87,8 +87,8 @@ roomPillarsSquare = do
++ concatMap (replicate nlns . makepill) [East, West]
where
makepill edge = sps (rprBool $ \rp _ -> t edge rp) smallPillar
t edge rp = any (f edge) (_rpType rp) && null (_rpPlacementUse rp)
f edge rpt = maybe False (PathFromEdge edge 0 `S.member`) (rpt ^? offPathFromEdges)
t edge rp = any (f edge) (_rpFlags rp) && null (_rpPlacementUse rp)
f edge rpt = maybe False (PathFromEdge edge 0 `S.member`) (rpt ^? offGridFromEdges)
roomPillarsPassage :: RandomGen g => State g Room
roomPillarsPassage = do
@@ -106,16 +106,16 @@ roomPillarsPassage = do
roomPillars :: RandomGen g => Float -> Float -> Float -> Int -> Int -> State g Room
roomPillars pillarsize w h wn hn = do
let rm = roomRect w h wn hn
npillars = length $ filter rpIsOffPath $ _rmPos rm
npillars = length $ filter rpIsOffGrid $ _rmPos rm
plmnts =
replicate
npillars
( blockPillar (0.5 * pilw) (0.5 * pilh) & plSpot
.~ rprBool
( \rp _ ->
rpIsOffPath rp
rpIsOffGrid rp
&& null (_rpPlacementUse rp)
&& _rpLinkStatus rp == NotLink
&& notLink (_rpType rp)
)
)
addGirderLights $
+5 -5
View File
@@ -98,7 +98,7 @@ roomRect x y xn yn =
pth = linksGridToPath lnks
$ map (bimap (+.+ V2 20 20) (+.+ V2 20 20)) (makeGrid xd xn yd yn)
makeonpos (p, a) = RoomPos p 0 (S.singleton $ RoomPosOnGrid $ makerpedges a)
NotLink mempty
(NotLink True) mempty
makerpedges (a, b) =
S.fromList
[ PathFromEdge South b
@@ -109,7 +109,7 @@ roomRect x y xn yn =
posps = map (over _1 (+.+ V2 20 20)) $ gridPoints'' xd (xn + 1) yd (yn + 1)
interposps = map (over _1 (+.+ V2 (20 + xd / 2) (20 + yd / 2))) $ gridPoints'' xd xn yd yn
makeoffpos (p, a) = RoomPos
p 0 (S.singleton $ RoomPosOffGrid $ makerpedges' a) NotLink mempty
p 0 (S.singleton $ RoomPosOffGrid $ makerpedges' a) (NotLink False) mempty
makerpedges' (a, b) =
S.fromList
[ PathFromEdge South b
@@ -206,8 +206,8 @@ quarterRoomTri w = do
]
, _rmPmnts = b ++ [mntLS iShape (V2 (w -20) w) (V3 (w -20) (w -20) 70)]
, _rmPos =
[ RoomPos (V2 (w -20) (w -20)) pi S.empty NotLink mempty
, RoomPos (V2 (w -15) (w -25)) pi S.empty NotLink mempty
[ RoomPos (V2 (w -20) (w -20)) pi S.empty (NotLink False) mempty
, RoomPos (V2 (w -15) (w -25)) pi S.empty (NotLink False) mempty
]
, _rmBound = [[V2 0 0, V2 w w, V2 (- w) w]]
}
@@ -255,7 +255,7 @@ quarterRoomSquare w = do
]
, _rmPmnts = b ++ [blockLine (V2 (w / 2) (w / 2)) (V2 0 w)]
, _rmPos =
[ RoomPos p pi S.empty NotLink mempty
[ RoomPos p pi S.empty (NotLink False) mempty
| p <- [V2 20 (2 * w -40), V2 25 (2 * w -45)]
]
, --, _rmBound = [map toV2 [(w,w),(0,2*w),(-w,w)]]
+2 -2
View File
@@ -77,7 +77,7 @@ glassSwitchBack = do
l2 <-
mntLightLnkCond $
rprBool $ \rp _ ->
rp ^. rpLinkStatus . rplsType . at (OnEdge West) == Just ()
rp ^. rpType . rplsType . at (OnEdge West) == Just ()
&& null (rp ^. rpPlacementUse)
let hf = hgt / 5
awindow h xl xr = windowLine (V2 xl h) (V2 xr h)
@@ -207,7 +207,7 @@ weaponBetweenPillars = do
and
[ rpIsOnGrid rp
, null $ _rpPlacementUse rp
, _rpLinkStatus rp == NotLink
, notLink (_rpType rp)
, any ((< 100) . dist (_rpPos rp)) (usedRoomInLinkPoss r)
]
ncrits <- state $ randomR (1, 3)
+14 -2
View File
@@ -1,6 +1,5 @@
module Dodge.Room.Tutorial where
import Dodge.Room.Pillar
import Dodge.Item.Held.Utility
import Control.Monad
import qualified Data.IntMap.Strict as IM
@@ -39,12 +38,25 @@ import TreeHelp
--import Data.List (intersperse)
testf = PSPos (\x _ -> f x) (\_ -> id) Nothing
where
f x = case _rpType x of
NotLink{} -> Just (PS (_rpPos x) (_rpDir x), x)
_ -> Nothing
tutAnoTree :: State LayoutVars MTRS
tutAnoTree = do
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, tToBTree "x" . return . cleatOnward <$> roomPillarsSquare
, tToBTree "test" . return . cleatOnward <$> (roomRectAutoLinks 100 100
<&> rmPmnts <>~
[sps0 $ PutChasm $ rectNSWE 70 30 30 70
, Placement testf (PutFlIt led) Nothing Nothing (const $ const Nothing)
]
<&> rmPos .~[RoomPos 35 0 mempty (NotLink False) mempty]
-- <&> rmPos .~[]
)
, corDoor
, tutHub
, tutLight
+1 -1
View File
@@ -69,7 +69,7 @@ lineOutputTerminal tls = defaultTerminal & tmBootLines .~ textInputBlurb tls
moveToSideNthOutLink :: S.Set UsedPos
-> Int -> RoomPos -> Room -> Maybe ((Point2, Float), S.Set UsedPos)
moveToSideNthOutLink xs i rp rm = do
j <- rp ^? rpLinkStatus . rplsChildNum
j <- rp ^? rpType . rplsChildNum
guard $ i == j
let rppos = _rpPos rp
rpdir = _rpDir rp
+6 -6
View File
@@ -92,8 +92,8 @@ posRms prs parenti@(parent, _) ((numChild, t@(Node childi _)) : its) tseq = do
--, _rpDir = snd (lnkPosDir outlnk)
{ _rpPos = outlnk ^. rlPos
, _rpDir = outlnk ^. rlDir
, _rpType = S.empty
, _rpLinkStatus = UsedOutLink (_rlType outlnk) numChild (snd childi)
, _rpFlags = S.empty
, _rpType = UsedOutLink (_rlType outlnk) numChild (snd childi)
, _rpPlacementUse = mempty
}
& rmChildren .:~ snd childi
@@ -109,8 +109,8 @@ posRms prs parenti@(parent, _) ((numChild, t@(Node childi _)) : its) tseq = do
--, _rpDir = snd (lnkPosDir outlnk)
{ _rpPos = il ^. rlPos
, _rpDir = il ^. rlDir
, _rpType = S.empty
, _rpLinkStatus = UsedInLink (_rlType il) (snd parenti)
, _rpFlags = mempty
, _rpType = UsedInLink (_rlType il) (snd parenti)
, _rpPlacementUse = mempty
}
shiftedt =
@@ -128,8 +128,8 @@ createUnusedLinkPos rm = rm & rmPos .++~ map f (_rmLinks rm)
RoomPos
{ _rpPos = _rlPos rl
, _rpDir = _rlDir rl
, _rpType = S.empty
, _rpLinkStatus = UnusedLink $ _rlType rl
, _rpFlags = mempty
, _rpType = UnusedLink $ _rlType rl
, _rpPlacementUse = mempty
}
+197 -197
View File
@@ -143,7 +143,7 @@ BlockDrawMempty src/Dodge/Data/Block.hs 39;" C
BlockDraws src/Dodge/Data/Block.hs 41;" C
BlockObstacle src/Dodge/Data/PathGraph.hs 49;" C
BlockPart src/Dodge/Data/Wall/Structure.hs 16;" C
BlockedLink src/Dodge/Data/Room.hs 49;" C
BlockedLink src/Dodge/Data/Room.hs 50;" C
BloomLayer src/Picture/Data.hs 25;" C
BloomNoZWrite src/Picture/Data.hs 26;" C
Blunt src/Dodge/Data/Damage.hs 21;" C
@@ -337,7 +337,7 @@ DecorationShape src/Dodge/Data/GenParams.hs 20;" t
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
DefaultRoomType src/Dodge/Data/Room.hs 32;" C
DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 29;" C
DestroyItem src/Dodge/Data/Scenario.hs 7;" C
@@ -479,7 +479,7 @@ FootForward src/Dodge/Data/Creature/Stance.hs 35;" t
FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
FromEdge src/Dodge/Data/Room.hs 48;" C
FromEdge src/Dodge/Data/Room.hs 49;" C
FullRes src/Dodge/Data/Config.hs 97;" C
FullShadowFidelity src/Shape/Data.hs 24;" C
FullSize src/Dodge/Data/Item/Params.hs 28;" C
@@ -587,7 +587,7 @@ ImpulsesList src/Dodge/Data/ActionPlan.hs 97;" C
InDivineZone src/Dodge/Data/Scenario.hs 22;" C
InDream src/Dodge/Data/Scenario.hs 19;" C
InInv src/Dodge/Data/Item/Location.hs 27;" C
InLink src/Dodge/Data/Room.hs 44;" C
InLink src/Dodge/Data/Room.hs 45;" C
InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C
InRealWorld src/Dodge/Data/Scenario.hs 18;" C
InSimulation src/Dodge/Data/Scenario.hs 20;" C
@@ -657,7 +657,7 @@ LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 80;" C
LS src/Dodge/Data/LightSource.hs 23;" C
LSParam src/Dodge/Data/LightSource.hs 16;" t
LWorld src/Dodge/Data/LWorld.hs 97;" t
LabLink src/Dodge/Data/Room.hs 45;" C
LabLink src/Dodge/Data/Room.hs 46;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelAction src/Dodge/Data/ActionPlan.hs 79;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
@@ -886,33 +886,33 @@ NorthEast src/Dodge/Data/CardinalPoint.hs 13;" C
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 67;" C
NotLink src/Dodge/Data/Room.hs 69;" C
NotPushed src/Dodge/Data/Door.hs 30;" C
Nothing' src/MaybeHelp.hs 13;" C
NothingID src/Dodge/Data/CrWlID.hs 12;" C
NozzleAngle src/Dodge/Data/Item/Params.hs 18;" C
NumLight0 src/Dodge/Data/Config.hs 15;" C
NumLight1 src/Dodge/Data/Config.hs 16;" C
NumLight10 src/Dodge/Data/Config.hs 25;" C
NumLight11 src/Dodge/Data/Config.hs 26;" C
NumLight12 src/Dodge/Data/Config.hs 27;" C
NumLight13 src/Dodge/Data/Config.hs 28;" C
NumLight14 src/Dodge/Data/Config.hs 29;" C
NumLight15 src/Dodge/Data/Config.hs 30;" C
NumLight16 src/Dodge/Data/Config.hs 31;" C
NumLight17 src/Dodge/Data/Config.hs 32;" C
NumLight18 src/Dodge/Data/Config.hs 33;" C
NumLight19 src/Dodge/Data/Config.hs 34;" C
NumLight2 src/Dodge/Data/Config.hs 17;" C
NumLight20 src/Dodge/Data/Config.hs 35;" C
NumLight3 src/Dodge/Data/Config.hs 18;" C
NumLight4 src/Dodge/Data/Config.hs 19;" C
NumLight5 src/Dodge/Data/Config.hs 20;" C
NumLight6 src/Dodge/Data/Config.hs 21;" C
NumLight7 src/Dodge/Data/Config.hs 22;" C
NumLight8 src/Dodge/Data/Config.hs 23;" C
NumLight9 src/Dodge/Data/Config.hs 24;" C
NumShadowCasters src/Dodge/Data/Config.hs 14;" t
NumShadowCasters0 src/Dodge/Data/Config.hs 15;" C
NumShadowCasters1 src/Dodge/Data/Config.hs 16;" C
NumShadowCasters10 src/Dodge/Data/Config.hs 25;" C
NumShadowCasters11 src/Dodge/Data/Config.hs 26;" C
NumShadowCasters12 src/Dodge/Data/Config.hs 27;" C
NumShadowCasters13 src/Dodge/Data/Config.hs 28;" C
NumShadowCasters14 src/Dodge/Data/Config.hs 29;" C
NumShadowCasters15 src/Dodge/Data/Config.hs 30;" C
NumShadowCasters16 src/Dodge/Data/Config.hs 31;" C
NumShadowCasters17 src/Dodge/Data/Config.hs 32;" C
NumShadowCasters18 src/Dodge/Data/Config.hs 33;" C
NumShadowCasters19 src/Dodge/Data/Config.hs 34;" C
NumShadowCasters2 src/Dodge/Data/Config.hs 17;" C
NumShadowCasters20 src/Dodge/Data/Config.hs 35;" C
NumShadowCasters3 src/Dodge/Data/Config.hs 18;" C
NumShadowCasters4 src/Dodge/Data/Config.hs 19;" C
NumShadowCasters5 src/Dodge/Data/Config.hs 20;" C
NumShadowCasters6 src/Dodge/Data/Config.hs 21;" C
NumShadowCasters7 src/Dodge/Data/Config.hs 22;" C
NumShadowCasters8 src/Dodge/Data/Config.hs 23;" C
NumShadowCasters9 src/Dodge/Data/Config.hs 24;" C
OChasmWall src/Dodge/Data/Object.hs 15;" C
OCreature src/Dodge/Data/Object.hs 12;" C
OFloor src/Dodge/Data/Object.hs 14;" C
@@ -936,7 +936,7 @@ Object src/Dodge/Data/Object.hs 10;" t
ObjectType src/Dodge/Data/ObjectType.hs 11;" t
OnBack src/Dodge/Data/Equipment/Misc.hs 24;" C
OnChest src/Dodge/Data/Equipment/Misc.hs 23;" C
OnEdge src/Dodge/Data/Room.hs 47;" C
OnEdge src/Dodge/Data/Room.hs 48;" C
OnFloor src/Dodge/Data/Item/Location.hs 36;" C
OnHead src/Dodge/Data/Equipment/Misc.hs 22;" C
OnLeftLeg src/Dodge/Data/Equipment/Misc.hs 27;" C
@@ -953,7 +953,7 @@ OpticScope src/Dodge/Data/Item/Scope.hs 14;" C
OptionScreen src/Dodge/Data/Universe.hs 82;" C
OptionScreenFlag src/Dodge/Data/Universe.hs 72;" t
OutAction src/Dodge/Creature/Action.hs 46;" t
OutLink src/Dodge/Data/Room.hs 43;" C
OutLink src/Dodge/Data/Room.hs 44;" C
OutsideTerminal src/Dodge/Data/Input.hs 29;" C
OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C
OverCombCombine src/Dodge/Data/Input.hs 25;" C
@@ -992,7 +992,7 @@ PUMP src/Dodge/Data/Item/Combine.hs 63;" C
PaletteColor src/Color/Data.hs 14;" t
PathEdge src/Dodge/Data/PathGraph.hs 40;" t
PathEdgeNodes src/Dodge/Data/PathGraph.hs 33;" t
PathFromEdge src/Dodge/Data/Room.hs 70;" t
PathFromEdge src/Dodge/Data/Room.hs 77;" t
PathTo src/Dodge/Data/ActionPlan.hs 88;" C
Pathing src/Dodge/Data/Config.hs 76;" C
Patrol src/Dodge/Data/ActionPlan.hs 180;" C
@@ -1019,7 +1019,7 @@ Point3Q src/Geometry/Data.hs 52;" t
Point4 src/Geometry/Data.hs 41;" t
Poison src/Dodge/Data/Damage.hs 30;" C
PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C
PolyEdge src/Dodge/Data/Room.hs 46;" C
PolyEdge src/Dodge/Data/Room.hs 47;" C
PolyShad src/Picture/Data.hs 36;" C
Polyhedra src/Polyhedra/Data.hs 13;" t
Polyhedron src/Polyhedra/Data.hs 13;" C
@@ -1113,7 +1113,7 @@ RIFLE src/Dodge/Data/Item/Combine.hs 153;" C
RLAUNCHER src/Dodge/Data/Item/Combine.hs 170;" C
RLAUNCHERX src/Dodge/Data/Item/Combine.hs 171;" C
ROSE src/Color/Data.hs 21;" C
RPLinkStatus src/Dodge/Data/Room.hs 56;" t
RPLinkStatus src/Dodge/Data/Room.hs 58;" t
RProps src/Dodge/Layout/Generate.hs 13;" C
RadarBlip src/Dodge/Data/RadarBlip.hs 14;" t
RadarSweep src/Dodge/Data/RadarSweep.hs 19;" t
@@ -1126,7 +1126,7 @@ RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C
RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
RectRoomType src/Dodge/Data/Room.hs 32;" C
RectRoomType src/Dodge/Data/Room.hs 33;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C
ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C
Religion src/Dodge/Data/Scenario.hs 47;" C
@@ -1160,17 +1160,15 @@ RocketSmoke src/Dodge/Data/Cloud.hs 24;" C
Room src/Dodge/Data/GenWorld.hs 125;" t
RoomClipping src/Dodge/Data/Config.hs 107;" t
RoomInt src/Dodge/Tree/Shift.hs 26;" t
RoomLink src/Dodge/Data/Room.hs 23;" t
RoomLinkType src/Dodge/Data/Room.hs 42;" t
RoomPos src/Dodge/Data/Room.hs 14;" t
RoomPosExLink src/Dodge/Data/Room.hs 76;" C
RoomPosLab src/Dodge/Data/Room.hs 77;" C
RoomPosOffPath src/Dodge/Data/Room.hs 75;" C
RoomPosOnPath src/Dodge/Data/Room.hs 74;" C
RoomPosType src/Dodge/Data/Room.hs 73;" t
RoomLink src/Dodge/Data/Room.hs 24;" t
RoomLinkType src/Dodge/Data/Room.hs 43;" t
RoomPos src/Dodge/Data/Room.hs 15;" t
RoomPosFlag src/Dodge/Data/Room.hs 80;" t
RoomPosOffGrid src/Dodge/Data/Room.hs 82;" C
RoomPosOnGrid src/Dodge/Data/Room.hs 81;" C
RoomProperties src/Dodge/Layout/Generate.hs 13;" t
RoomType src/Dodge/Data/Room.hs 30;" t
RoomWire src/Dodge/Data/Room.hs 52;" t
RoomType src/Dodge/Data/Room.hs 31;" t
RoomWire src/Dodge/Data/Room.hs 53;" t
RoundedFaces src/Shape/Data.hs 18;" C
RunningSideEffect src/Dodge/Data/Universe.hs 69;" C
SCRAPMETAL src/Dodge/Data/Item/Combine.hs 62;" C
@@ -1424,7 +1422,7 @@ Unimportant src/Shape/Data.hs 37;" C
Universe src/Dodge/Data/Universe.hs 31;" t
UnloadedWeaponSF src/Dodge/Data/ComposedItem.hs 13;" C
UnlockInv src/Dodge/Data/WorldEffect.hs 28;" C
UnusedLink src/Dodge/Data/Room.hs 66;" C
UnusedLink src/Dodge/Data/Room.hs 68;" C
UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C
UseAttach src/Dodge/Data/Item/Use.hs 32;" C
UseBulletMod src/Dodge/Data/Item/Use.hs 37;" C
@@ -1450,13 +1448,13 @@ UseValue src/Dodge/Data/Item/Use.hs 35;" C
UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C
UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C
UseableWhenHeld src/Dodge/Data/UseCondition.hs 6;" C
UsedInLink src/Dodge/Data/Room.hs 62;" C
UsedOutLink src/Dodge/Data/Room.hs 57;" C
UsedPos src/Dodge/Data/Room.hs 80;" t
UsedPosFloor src/Dodge/Data/Room.hs 84;" C
UsedPosHigh src/Dodge/Data/Room.hs 83;" C
UsedPosLow src/Dodge/Data/Room.hs 81;" C
UsedPosMid src/Dodge/Data/Room.hs 82;" C
UsedInLink src/Dodge/Data/Room.hs 64;" C
UsedOutLink src/Dodge/Data/Room.hs 59;" C
UsedPos src/Dodge/Data/Room.hs 85;" t
UsedPosFloor src/Dodge/Data/Room.hs 89;" C
UsedPosHigh src/Dodge/Data/Room.hs 88;" C
UsedPosLow src/Dodge/Data/Room.hs 86;" C
UsedPosMid src/Dodge/Data/Room.hs 87;" C
VAO src/Shader/Data.hs 64;" t
VBO src/Shader/Data.hs 81;" t
VF src/Polyhedra/Data.hs 21;" t
@@ -1488,7 +1486,7 @@ WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t
WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t
WallSound src/Dodge/Data/SoundOrigin.hs 25;" C
WallStructure src/Dodge/Data/Wall/Structure.hs 12;" t
WallWire src/Dodge/Data/Room.hs 54;" C
WallWire src/Dodge/Data/Room.hs 55;" C
Walls_info src/Dodge/Data/Config.hs 75;" C
War src/Dodge/Data/Scenario.hs 28;" C
WarmTime src/Dodge/Data/Item/Params.hs 21;" C
@@ -1988,8 +1986,8 @@ _lightingWallShadShader src/Data/Preload/Render.hs 14;" f
_lights src/Dodge/Data/LWorld.hs 140;" f
_lightsUBO src/Data/Preload/Render.hs 40;" f
_linearShockwaves src/Dodge/Data/LWorld.hs 120;" f
_linkGapEW src/Dodge/Data/Room.hs 35;" f
_linkGapNS src/Dodge/Data/Room.hs 36;" f
_linkGapEW src/Dodge/Data/Room.hs 36;" f
_linkGapNS src/Dodge/Data/Room.hs 37;" f
_locDT src/Dodge/Data/DoubleTree.hs 103;" f
_locDtContext src/Dodge/Data/DoubleTree.hs 102;" f
_locLDT src/Dodge/Data/DoubleTree.hs 63;" f
@@ -2091,17 +2089,17 @@ _nodeMetaTree src/Dodge/Data/MetaTree.hs 16;" f
_nodeTree src/Dodge/Data/MetaTree.hs 15;" f
_nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f
_nonInf src/Dodge/Data/CardinalPoint.hs 36;" f
_numLinkEW src/Dodge/Data/Room.hs 33;" f
_numLinkNS src/Dodge/Data/Room.hs 34;" f
_numLinkEW src/Dodge/Data/Room.hs 34;" f
_numLinkNS src/Dodge/Data/Room.hs 35;" f
_numberChasmVerxs src/Dodge/Data/CWorld.hs 31;" f
_numberFloorVerxs src/Dodge/Data/CWorld.hs 29;" f
_nzAngle src/Dodge/Data/Item/Params.hs 18;" f
_nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 49;" f
_nzPressure src/Dodge/Data/Muzzle.hs 48;" f
_nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f
_offPathFromEdges src/Dodge/Data/Room.hs 75;" f
_offGridFromEdges src/Dodge/Data/Room.hs 82;" f
_oldMagnets src/Dodge/Data/LWorld.hs 127;" f
_onPathFromEdges src/Dodge/Data/Room.hs 74;" f
_onGridFromEdges src/Dodge/Data/Room.hs 81;" f
_opDraw src/Dodge/Data/Wall.hs 43;" f
_opSel src/Dodge/Data/RightButtonOptions.hs 17;" f
_opTexture src/Dodge/Data/Wall.hs 44;" f
@@ -2238,16 +2236,16 @@ _reverseAmount src/Dodge/Data/World.hs 72;" f
_reverseAmount src/Dodge/Data/World.hs 76;" f
_rkHoming src/Dodge/Data/Projectile.hs 35;" f
_rkSmoke src/Dodge/Data/Projectile.hs 36;" f
_rlDir src/Dodge/Data/Room.hs 26;" f
_rlPos src/Dodge/Data/Room.hs 25;" f
_rlType src/Dodge/Data/Room.hs 24;" f
_rlDir src/Dodge/Data/Room.hs 27;" f
_rlPos src/Dodge/Data/Room.hs 26;" f
_rlType src/Dodge/Data/Room.hs 25;" f
_rmBound src/Dodge/Data/GenWorld.hs 140;" f
_rmChildren src/Dodge/Data/GenWorld.hs 151;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 153;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 148;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 147;" f
_rmFloor src/Dodge/Data/GenWorld.hs 141;" f
_rmHeight src/Dodge/Data/Room.hs 38;" f
_rmHeight src/Dodge/Data/Room.hs 39;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 139;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 129;" f
_rmLinks src/Dodge/Data/GenWorld.hs 127;" f
@@ -2263,18 +2261,19 @@ _rmShift src/Dodge/Data/GenWorld.hs 143;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 146;" f
_rmType src/Dodge/Data/GenWorld.hs 152;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 144;" f
_rmWidth src/Dodge/Data/Room.hs 37;" f
_rpDir src/Dodge/Data/Room.hs 16;" f
_rpLinkStatus src/Dodge/Data/Room.hs 18;" f
_rpPlacementUse src/Dodge/Data/Room.hs 19;" f
_rpPos src/Dodge/Data/Room.hs 15;" f
_rpType src/Dodge/Data/Room.hs 17;" f
_rplsChildNum src/Dodge/Data/Room.hs 59;" f
_rplsInRoomID src/Dodge/Data/Room.hs 64;" f
_rplsOutRoomID src/Dodge/Data/Room.hs 60;" f
_rplsType src/Dodge/Data/Room.hs 58;" f
_rplsType src/Dodge/Data/Room.hs 63;" f
_rplsType src/Dodge/Data/Room.hs 66;" f
_rmWidth src/Dodge/Data/Room.hs 38;" f
_rpDir src/Dodge/Data/Room.hs 17;" f
_rpFlags src/Dodge/Data/Room.hs 18;" f
_rpOnPath src/Dodge/Data/Room.hs 69;" f
_rpPlacementUse src/Dodge/Data/Room.hs 20;" f
_rpPos src/Dodge/Data/Room.hs 16;" f
_rpType src/Dodge/Data/Room.hs 19;" f
_rplsChildNum src/Dodge/Data/Room.hs 61;" f
_rplsInRoomID src/Dodge/Data/Room.hs 66;" f
_rplsOutRoomID src/Dodge/Data/Room.hs 62;" f
_rplsType src/Dodge/Data/Room.hs 60;" f
_rplsType src/Dodge/Data/Room.hs 65;" f
_rplsType src/Dodge/Data/Room.hs 68;" f
_rsAR src/Dodge/Data/RadarSweep.hs 25;" f
_rsMapper src/Dodge/Data/RadarSweep.hs 24;" f
_rsObject src/Dodge/Data/RadarSweep.hs 22;" f
@@ -2588,7 +2587,7 @@ addIndefiniteArticle src/StringHelp.hs 17;" f
addNodes src/Dodge/Path.hs 115;" f
addPane src/Dodge/Placement/PlaceSpot.hs 169;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPointPolygon src/Geometry/Polygon.hs 120;" f
addPointPolygon src/Geometry/Polygon.hs 133;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f
@@ -2631,7 +2630,7 @@ andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 161;" f
angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 67;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 338;" f
applyCME src/Dodge/HeldUse.hs 361;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
@@ -2676,12 +2675,12 @@ arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f
assignPushDoors src/Dodge/LevelGen.hs 35;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 224;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 244;" f
atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 247;" f
atNthLinkOut src/Dodge/PlacementSpot.hs 227;" f
atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 230;" f
atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 250;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 217;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 237;" f
atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 240;" f
atNthLinkOut src/Dodge/PlacementSpot.hs 220;" f
atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 223;" f
atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 243;" f
attachBranch src/Dodge/Tree/Compose.hs 83;" f
attachInfo src/Dodge/Item/Info.hs 58;" f
attachList src/Dodge/Tree/Compose.hs 80;" f
@@ -2697,7 +2696,7 @@ autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 694;" f
autoPistol src/Dodge/Item/Held/Stick.hs 49;" f
autoRifle src/Dodge/Item/Held/Cane.hs 27;" f
awakeLevelPerception src/Dodge/Creature/Perception.hs 163;" f
axisInt src/Geometry/Intersect.hs 257;" f
axisInt src/Geometry/Intersect.hs 262;" f
azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
@@ -2706,7 +2705,7 @@ backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 202;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
bangCone src/Dodge/Item/Held/Cone.hs 11;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 317;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 319;" f
bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f
bangRod src/Dodge/Item/Held/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
@@ -2714,18 +2713,18 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 70;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 420;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 422;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 337;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 339;" f
baseFloorTileSize src/Tile.hs 45;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 340;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 417;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 405;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 342;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 419;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseShoulder src/Dodge/Creature/Picture.hs 116;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 314;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 306;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 316;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 308;" f
baseStickSpread src/Dodge/HeldUse.hs 311;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
@@ -2810,7 +2809,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f
cChasm src/Dodge/Room/Tutorial.hs 108;" f
cChasm src/Dodge/Room/Tutorial.hs 109;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2829,8 +2828,8 @@ cenLasTur src/Dodge/Room/LasTurret.hs 25;" f
centerText src/Picture/Base.hs 184;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 291;" f
centroid src/Geometry/Polygon.hs 154;" f
centroidNum src/Geometry/Polygon.hs 157;" f
centroid src/Geometry/Polygon.hs 167;" f
centroidNum src/Geometry/Polygon.hs 170;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 140;" f
@@ -2844,7 +2843,7 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 175;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 176;" f
chasmTest src/Dodge/Creature/Update.hs 131;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2872,7 +2871,7 @@ chooseMovementPistol src/Dodge/Humanoid.hs 203;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circHitWall src/Dodge/Base/Collide.hs 232;" f
circInPolygon src/Geometry/Polygon.hs 88;" f
circInPolygon src/Geometry/Polygon.hs 101;" f
circOnAnyCr src/Dodge/Base/Collide.hs 287;" f
circOnSeg src/Geometry.hs 102;" f
circOnSegNoEndpoints src/Geometry.hs 92;" f
@@ -2908,9 +2907,9 @@ closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 208;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f
closeObjectInfo src/Dodge/Render/HUD.hs 226;" f
closestCreatureID src/Dodge/Debug.hs 118;" f
closestPointOnLine src/Geometry/Intersect.hs 281;" f
closestPointOnLineParam src/Geometry/Intersect.hs 297;" f
closestPointOnSeg src/Geometry/Intersect.hs 312;" f
closestPointOnLine src/Geometry/Intersect.hs 286;" f
closestPointOnLineParam src/Geometry/Intersect.hs 302;" f
closestPointOnSeg src/Geometry/Intersect.hs 317;" f
cloudEffect src/Dodge/Update.hs 779;" f
cloudPoisonDamage src/Dodge/Update/Cloud.hs 10;" f
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f
@@ -2970,8 +2969,8 @@ constructEdges src/Polyhedra.hs 34;" f
constructEdgesList src/Polyhedra.hs 43;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f
convexHull src/Geometry/Polygon.hs 128;" f
convexHullSafe src/Geometry/Polygon.hs 135;" f
convexHull src/Geometry/Polygon.hs 141;" f
convexHullSafe src/Geometry/Polygon.hs 148;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
coolMachinePistol src/Dodge/Creature/State.hs 101;" f
coolMinigun src/Dodge/Creature/State.hs 94;" f
@@ -3144,7 +3143,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f
dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
defDamageMaterial src/Dodge/Material/Damage.hs 22;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 323;" f
defSPic src/Dodge/Item/Draw/SPic.hs 325;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 107;" f
defaultAudition src/Dodge/Default/Creature.hs 92;" f
@@ -3215,7 +3214,7 @@ destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 160;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 467;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 469;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1228;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
@@ -3588,12 +3587,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 408;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 410;" f
flareCircleAt src/Dodge/HeldUse.hs 687;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 454;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 456;" f
fleeFrom src/Dodge/CreatureEffect.hs 120;" f
fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
@@ -3613,7 +3612,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 117;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
foldMTRS src/Dodge/Room/Tutorial.hs 53;" f
foldMTRS src/Dodge/Room/Tutorial.hs 54;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 39;" f
@@ -3678,8 +3677,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 310;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 297;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 311;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 298;" f
getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3694,7 +3693,7 @@ getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1283;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 293;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 294;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3719,12 +3718,12 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f
glassSwitchBack src/Dodge/Room/Room.hs 72;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 414;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 416;" f
glushortSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 138;" f
grahamEliminate src/Geometry/Polygon.hs 149;" f
grahamScan src/Geometry/Polygon.hs 140;" f
grahamEliminate src/Geometry/Polygon.hs 162;" f
grahamScan src/Geometry/Polygon.hs 153;" f
grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f
graphToEdges src/Dodge/Graph.hs 35;" f
graphToIncidence src/Dodge/Graph.hs 40;" f
@@ -3772,7 +3771,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 310;" f
hat src/Dodge/Item/Equipment.hs 76;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 457;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 459;" f
headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 115;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
@@ -3820,7 +3819,8 @@ icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
ildtPropagate src/Dodge/DoubleTree.hs 111;" f
impulsiveAIBefore src/Dodge/Creature/Impulse.hs 24;" f
inLink src/Dodge/RoomLink.hs 128;" f
inSegArea src/Geometry/Intersect.hs 328;" f
inSegArea src/Geometry/Intersect.hs 333;" f
inSimplePoly src/Geometry/Polygon.hs 89;" f
inTextInputFocus src/Dodge/InputFocus.hs 8;" f
incidenceToFunction src/Dodge/Graph.hs 26;" f
indefiniteExceptions src/StringHelp.hs 29;" f
@@ -3851,25 +3851,25 @@ insertWithNewKeys src/IntMapHelp.hs 70;" f
intAnno src/Dodge/Floor.hs 111;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
interpWith src/Dodge/Creature/Boid.hs 11;" f
intersectCircSeg src/Geometry/Intersect.hs 335;" f
intersectCircSegFirst src/Geometry/Intersect.hs 353;" f
intersectCircSegTest src/Geometry/Intersect.hs 346;" f
intersectCircSeg src/Geometry/Intersect.hs 340;" f
intersectCircSegFirst src/Geometry/Intersect.hs 358;" f
intersectCircSegTest src/Geometry/Intersect.hs 351;" f
intersectLineLine src/Geometry/Intersect.hs 18;" f
intersectLinePlane src/Geometry/Intersect.hs 28;" f
intersectLinefromScreen src/Dodge/Debug/Picture.hs 95;" f
intersectSegBezquad src/Geometry/Intersect.hs 266;" f
intersectSegLine src/Geometry/Intersect.hs 117;" f
intersectSegLineFrom src/Geometry/Intersect.hs 87;" f
intersectSegLineext src/Geometry/Intersect.hs 102;" f
intersectSegBezquad src/Geometry/Intersect.hs 271;" f
intersectSegLine src/Geometry/Intersect.hs 122;" f
intersectSegLineext src/Geometry/Intersect.hs 105;" f
intersectSegPlane src/Geometry/Intersect.hs 34;" f
intersectSegPolyFirst src/Geometry/Intersect.hs 273;" f
intersectSegPolyFirst src/Geometry/Intersect.hs 278;" f
intersectSegRay src/Geometry/Intersect.hs 90;" f
intersectSegSeg src/Geometry/Intersect.hs 69;" f
intersectSegSegErrorTest src/Geometry/Intersect.hs 54;" f
intersectSegSegFullTest src/Geometry/Intersect.hs 133;" f
intersectSegSegPreTest src/Geometry/Intersect.hs 166;" f
intersectSegSegTest src/Geometry/Intersect.hs 152;" f
intersectSegSegFullTest src/Geometry/Intersect.hs 138;" f
intersectSegSegPreTest src/Geometry/Intersect.hs 171;" f
intersectSegSegTest src/Geometry/Intersect.hs 157;" f
intersectSegSurface src/Geometry/Intersect.hs 43;" f
intersectSegsSeg src/Geometry/Intersect.hs 262;" f
intersectSegsSeg src/Geometry/Intersect.hs 267;" f
intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f
@@ -3910,23 +3910,23 @@ isConnected src/Dodge/Inventory/Swap.hs 76;" f
isCornerLink src/Dodge/RoomLink.hs 65;" f
isElectrical src/Dodge/Machine/Update.hs 83;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f
isInLnk src/Dodge/PlacementSpot.hs 168;" f
isInLnk src/Dodge/PlacementSpot.hs 161;" f
isJust' src/MaybeHelp.hs 29;" f
isLHS src/Geometry/LHS.hs 8;" f
isLHS src/Geometry/LHS.hs 11;" f
isLeftOf src/Geometry.hs 202;" f
isLeftOfA src/Geometry.hs 196;" f
isMidEdgeLink src/Dodge/RoomLink.hs 56;" f
isNHS src/Geometry/Intersect.hs 51;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 240;" f
isOutLnk src/Dodge/PlacementSpot.hs 173;" f
isOutLnk src/Dodge/PlacementSpot.hs 166;" f
isOverTerminalScreen src/Dodge/Update.hs 383;" f
isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 62;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 197;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 181;" f
isRHS src/Geometry/LHS.hs 32;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 190;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 174;" f
isValidCommand src/Dodge/Debug/Terminal.hs 134;" f
isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 317;" f
@@ -3997,10 +3997,10 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 78;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 66;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 473;" f
keyPic src/Dodge/Item/Draw/SPic.hs 475;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
lChasm src/Dodge/Room/Tutorial.hs 117;" f
lChasm src/Dodge/Room/Tutorial.hs 118;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f
@@ -4009,7 +4009,7 @@ lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 75;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 426;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 428;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 134;" f
lasTunnel src/Dodge/Room/LasTurret.hs 153;" f
@@ -4041,7 +4041,7 @@ leftLegPQ src/Dodge/Creature/HandPos.hs 84;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 482;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 484;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 112;" f
light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f
@@ -4049,7 +4049,7 @@ lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 42;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f
lightx4 src/Color.hs 145;" f
linGrad src/Geometry/Intersect.hs 250;" f
linGrad src/Geometry/Intersect.hs 255;" f
line src/Picture/Base.hs 226;" f
lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f
@@ -4251,7 +4251,7 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f
midChasm src/Dodge/Room/Tutorial.hs 138;" f
midChasm src/Dodge/Room/Tutorial.hs 139;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 84;" f
@@ -4262,8 +4262,8 @@ minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 452;" f
miniGunCrit src/Dodge/Creature.hs 63;" f
miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 386;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 383;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 388;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 385;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
miniTree2 src/Dodge/Room/Room.hs 113;" f
minimumOn src/FoldlHelp.hs 14;" f
@@ -4324,8 +4324,8 @@ mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 174;" f
mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 207;" f
myIntersectSegSeg src/Geometry/Intersect.hs 185;" f
myIntersectLineLine src/Geometry/Intersect.hs 212;" f
myIntersectSegSeg src/Geometry/Intersect.hs 190;" f
myParams src/Dodge/Combine/Graph.hs 103;" f
nRays src/Geometry.hs 185;" f
nRaysRad src/Geometry.hs 189;" f
@@ -4353,6 +4353,7 @@ normalizeAnglePi src/Dodge/Base.hs 154;" f
normalizeColor src/Color.hs 76;" f
normalizeV src/Geometry/Vector.hs 43;" f
normalizeV3 src/Geometry/Vector3D.hs 84;" f
notLink src/Dodge/Data/Room.hs 72;" f
nulgate src/Dodge/Item/Scope.hs 95;" f
numColor src/Color.hs 128;" f
numDrawableVertices src/Shader/Parameters.hs 34;" f
@@ -4382,14 +4383,14 @@ optionsToSelections src/Dodge/Menu/Option.hs 47;" f
orRegex src/Dodge/DisplayInventory.hs 81;" f
orange src/Color.hs 25;" f
orderAround3 src/Geometry/Vector3D.hs 105;" f
orderAroundFirst src/Geometry/Polygon.hs 106;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 102;" f
orderPolygon src/Geometry/Polygon.hs 111;" f
orderPolygonAround src/Geometry/Polygon.hs 94;" f
orderAroundFirst src/Geometry/Polygon.hs 119;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 115;" f
orderPolygon src/Geometry/Polygon.hs 124;" f
orderPolygonAround src/Geometry/Polygon.hs 107;" f
orientAttachment src/Dodge/Item/Orientation.hs 31;" f
orientByParentChSF src/Dodge/Item/Orientation.hs 24;" f
orientChild src/Dodge/Item/Orientation.hs 13;" f
orthogonalPointOnSeg src/Geometry/Intersect.hs 321;" f
orthogonalPointOnSeg src/Geometry/Intersect.hs 326;" f
outLink src/Dodge/RoomLink.hs 120;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 43;" f
outwardIntegers src/Dodge/Base.hs 181;" f
@@ -4503,7 +4504,7 @@ pnsNearSeg src/Dodge/Zoning/Pathing.hs 15;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 212;" f
pointInOrOnPolygon src/Geometry/Polygon.hs 77;" f
pointInPoly src/Geometry/Polygon.hs 84;" f
pointInPoly src/Geometry/Polygon.hs 85;" f
pointIsInCone src/Geometry.hs 378;" f
pointIsOnScreen src/Dodge/Base/Window.hs 59;" f
pointTowardsImpulse src/Dodge/Path.hs 63;" f
@@ -4551,8 +4552,8 @@ pokeWall src/Shader/Poke.hs 78;" f
pokeWallsWindows src/Shader/Poke.hs 50;" f
poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 159;" f
polyChasmC src/Dodge/Room/Tutorial.hs 168;" f
polyChasm src/Dodge/Room/Tutorial.hs 160;" f
polyChasmC src/Dodge/Room/Tutorial.hs 169;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 60;" f
@@ -4622,9 +4623,9 @@ psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f
psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f
psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f
psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f
psRandRanges src/Dodge/PlacementSpot.hs 267;" f
psRandRanges src/Dodge/PlacementSpot.hs 260;" f
psj src/Dodge/LevelGen/PlacementHelper.hs 70;" f
psposAddLabel src/Dodge/PlacementSpot.hs 70;" f
psposAddLabel src/Dodge/PlacementSpot.hs 69;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 54;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 103;" f
@@ -4674,7 +4675,7 @@ radBounds src/Dodge/Room/Foreground.hs 154;" f
radToDeg src/Geometry/Vector.hs 122;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randDirPS src/Dodge/PlacementSpot.hs 57;" f
randDirPS src/Dodge/PlacementSpot.hs 56;" f
randDirSpark src/Dodge/Spark.hs 55;" f
randEdgeTank src/Dodge/Room/Tanks.hs 33;" f
randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f
@@ -4708,7 +4709,7 @@ randomTank src/Dodge/Room/Tanks.hs 19;" f
randomTreeStructure src/Dodge/Layout/Generate.hs 18;" f
randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 225;" f
ratIntersectLineLine src/Geometry/Intersect.hs 230;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 459;" f
rectNSWE src/Geometry/Polygon.hs 14;" f
@@ -4743,7 +4744,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 158;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 920;" f
removeDot src/ShortShow.hs 40;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 211;" f
removeLights src/Dodge/Room/Tutorial.hs 212;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f
@@ -4757,7 +4758,7 @@ renderShadows src/Render.hs 117;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 162;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
resetPLUse src/Dodge/PlacementSpot.hs 99;" f
resetPLUse src/Dodge/PlacementSpot.hs 92;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 24;" f
resetTerminal src/Dodge/WorldEffect.hs 104;" f
resizeFBOTO src/Framebuffer/Update.hs 203;" f
@@ -4795,7 +4796,7 @@ rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 57;" f
rlPosDir src/Dodge/RoomLink.hs 112;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 411;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 413;" f
rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 73;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f
@@ -4842,16 +4843,15 @@ rotateToZ src/Quaternion.hs 39;" f
rotateV src/Geometry/Vector.hs 105;" f
rotateVAround src/Geometry/Vector.hs 112;" f
rotateXY src/Polyhedra.hs 31;" f
roundPoint2 src/Geometry/Intersect.hs 246;" f
roundPoint2 src/Geometry/Intersect.hs 251;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 25;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 31;" f
rpIsOffPath src/Dodge/PlacementSpot.hs 82;" f
rpIsOnPath src/Dodge/PlacementSpot.hs 76;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 88;" f
rpOnPathFromEdge src/Dodge/PlacementSpot.hs 94;" f
rprBool src/Dodge/PlacementSpot.hs 73;" f
rprBoolShift src/Dodge/PlacementSpot.hs 114;" f
rprShift src/Dodge/PlacementSpot.hs 105;" f
rpIsOffGrid src/Dodge/PlacementSpot.hs 81;" f
rpIsOnGrid src/Dodge/PlacementSpot.hs 75;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 87;" f
rprBool src/Dodge/PlacementSpot.hs 72;" f
rprBoolShift src/Dodge/PlacementSpot.hs 107;" f
rprShift src/Dodge/PlacementSpot.hs 98;" f
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
runPastStart src/Dodge/Room/Start.hs 72;" f
runStateWorld src/Dodge/Randify.hs 17;" f
@@ -4928,7 +4928,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 196;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 81;" f
sensorTut src/Dodge/Room/Tutorial.hs 319;" f
sensorTut src/Dodge/Room/Tutorial.hs 320;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 233;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
@@ -4938,8 +4938,8 @@ setChannelPos src/Sound.hs 150;" f
setClickWorldPos src/Dodge/Update.hs 99;" f
setClusterID src/Dodge/Combine/Graph.hs 116;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 50;" f
setFallback src/Dodge/PlacementSpot.hs 132;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 125;" f
setInLinks src/Dodge/RoomLink.hs 53;" f
setInLinksByType src/Dodge/RoomLink.hs 72;" f
setInLinksPD src/Dodge/RoomLink.hs 92;" f
@@ -4954,7 +4954,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f
setRoomInt src/Dodge/Room/Tutorial.hs 60;" f
setRoomInt src/Dodge/Room/Tutorial.hs 61;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
@@ -4964,7 +4964,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f
setTile src/Dodge/Layout.hs 66;" f
setTiles src/Dodge/Layout.hs 63;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 68;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f
@@ -4995,7 +4995,7 @@ shapePoints src/Dodge/Room/Foreground.hs 145;" f
shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 326;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 328;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 56;" f
shellHitCreature src/Dodge/Projectile/Update.hs 84;" f
@@ -5005,10 +5005,10 @@ shellMag src/Dodge/Item/Ammo.hs 49;" f
shellModule src/Dodge/Item/Scope.hs 123;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftByV2 src/Dodge/PlacementSpot.hs 250;" f
shiftChildren src/Dodge/Tree/Compose.hs 44;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 80;" f
shiftInBy src/Dodge/PlacementSpot.hs 254;" f
shiftInBy src/Dodge/PlacementSpot.hs 247;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 344;" f
@@ -5054,8 +5054,8 @@ showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 45;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 68;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 160;" f
shrinkVert src/Geometry/Polygon.hs 164;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 173;" f
shrinkVert src/Geometry/Polygon.hs 177;" f
shuffle src/RandomHelp.hs 49;" f
shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 76;" f
@@ -5247,7 +5247,7 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 39;" f
terminalShape src/Dodge/Machine/Draw.hs 43;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 423;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 425;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testCrossWalls src/Dodge/Room/Path.hs 41;" f
testEvent src/Dodge/Event/Test.hs 9;" f
@@ -5333,7 +5333,7 @@ tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/HeldUse.hs 806;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 451;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 453;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f
@@ -5398,13 +5398,13 @@ tryUseParent src/Dodge/Creature/State.hs 144;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 37;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 40;" f
tutDrop src/Dodge/Room/Tutorial.hs 72;" f
tutHub src/Dodge/Room/Tutorial.hs 218;" f
tutLight src/Dodge/Room/Tutorial.hs 196;" f
tutRezBox src/Dodge/Room/Tutorial.hs 330;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f
tutDrop src/Dodge/Room/Tutorial.hs 73;" f
tutHub src/Dodge/Room/Tutorial.hs 219;" f
tutLight src/Dodge/Room/Tutorial.hs 197;" f
tutRezBox src/Dodge/Room/Tutorial.hs 331;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 354;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 355;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f
@@ -5412,7 +5412,7 @@ twists src/Dodge/Creature/Test.hs 99;" f
twoFlat src/Dodge/Creature/Test.hs 96;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 165;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 153;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 146;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 544;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 596;" f
twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f
@@ -5431,10 +5431,10 @@ unsafeSwapKeys src/IntMapHelp.hs 74;" f
unshadowBlock src/Dodge/Block.hs 39;" f
untilJust src/MonadHelp.hs 7;" f
untilJustCount src/MonadHelp.hs 14;" f
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 138;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 144;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 126;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f
updateAimPos src/Dodge/Update.hs 302;" f
updateAllNodes src/TreeHelp.hs 86;" f
updateArc src/Dodge/Tesla.hs 44;" f
@@ -5576,19 +5576,19 @@ useHotkey src/Dodge/Creature/YourControl.hs 76;" f
useInventoryPath src/Dodge/HeldUse.hs 1427;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 255;" f
useLoadedAmmo src/Dodge/HeldUse.hs 716;" f
useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1387;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 187;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 190;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 180;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 183;" f
useStopWatch src/Dodge/HeldUse.hs 1368;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1376;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 178;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 209;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 216;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 171;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 202;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 209;" f
v2z src/Geometry/Vector3D.hs 93;" f
vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 153;" f
@@ -5618,7 +5618,7 @@ visibleWalls src/Dodge/Base/Collide.hs 207;" f
visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 371;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 373;" f
walkNozzle src/Dodge/HeldUse.hs 782;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
@@ -5715,7 +5715,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 126;" f
zChasm src/Dodge/Room/Tutorial.hs 127;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f