Work on chasm rooms

This commit is contained in:
2025-10-02 16:58:38 +01:00
parent 013f50f0bc
commit 7e3614c9c8
15 changed files with 301 additions and 152 deletions
+10 -6
View File
@@ -8,7 +8,7 @@ Room layout (compact):
|
+- 8,9,10
|
11,12,13,14,15
11,12,13,14,15,16,17
Layout with room names:
tutRezBox-0
@@ -31,15 +31,19 @@ doorToggle-6gon-3
| |
| autoDoor-9
| |
| glassSwitchBack-10
| roomCenterPillar-10
|
triggerDoorRoom-11
|
6gon-12
autoRect-12
|
defaultRoom-13
Corridor-13
|
autoRect-14
6gon-14
|
Corridor-15
defaultRoom-15
|
autoRect-16
|
Corridor-17
+1 -1
View File
@@ -1,4 +1,4 @@
Generating level with seed 7114951007332849727
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
16 rooms in total
18 rooms in total
+16 -8
View File
@@ -5,9 +5,11 @@ Seed: 7114951007332849727
|
2:DoorTest
|
3:TutDrop
3:TutLight
|
4:cor
4:TutDrop
|
5:cor
0:0:TutStartRez
@@ -35,17 +37,23 @@ Seed: 7114951007332849727
| |
| 2:0:6:autoDoor
| |
| 2:0:7:glassSwitchBack
| 2:0:7:roomCenterPillar
|
2:0:8:triggerDoorRoom
3:0:TutDrop
3:0:TutLight
3:0:0:6gon
3:0:0:autoRect
|
3:0:1:defaultRoom
3:0:1:Corridor
4:0:TutDrop
4:0:0:6gon
|
3:0:2:autoRect
4:0:1:defaultRoom
|
4:0:2:autoRect
4:0:Corridor
5:0:Corridor
+1 -1
View File
File diff suppressed because one or more lines are too long
+8
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Base.CardinalPoint where
import Dodge.Data.Room
@@ -23,3 +24,10 @@ cardEightVec cp = case cp of
SouthWest8 -> V2 (-1) (-1)
West8 -> V2 (-1) 0
NorthWest8 -> V2 (-1) 1
cardinalBetweenAdj :: CardinalPointBetween -> (CardinalPoint,CardinalPoint)
cardinalBetweenAdj = \case
NorthEast -> (North,East)
SouthEast -> (South,East)
SouthWest -> (South,West)
NorthWest -> (North,West)
+7
View File
@@ -9,6 +9,13 @@ data CardinalPoint
| West
deriving (Eq, Ord, Show, Bounded, Enum)
data CardinalPointBetween
= NorthEast
| SouthEast
| SouthWest
| NorthWest
deriving (Eq, Ord, Show, Bounded, Enum)
data CardinalEightPoint
= North8
| NorthEast8
+1 -1
View File
@@ -261,7 +261,7 @@ retreatActionsPistol tcr cr =
-0.7
| otherwise = 0.7
in fromMaybe tpos $
intersectLineLine'
intersectLineLine
cpos
(cpos +.+ rotateV a (tpos -.- cpos))
tpos
+1 -1
View File
@@ -68,7 +68,7 @@ diagonalLinesRect pa pb w d ang = zip lhsPoints $ map findDiPoint lhsPoints
findDiPoint p =
head . sortOn (dist p) $
catMaybes
[ intersectLineLine' p (p +.+ diVec) pax pbx
[ intersectLineLine p (p +.+ diVec) pax pbx
, intersectSegLine pa pax p (p +.+ diVec)
, intersectSegLine pb pbx p (p +.+ diVec)
]
+7 -7
View File
@@ -2,7 +2,7 @@ module Dodge.Room.Ngon where
import RandomHelp
import Data.List
import Data.Maybe
--import Data.Maybe
import Data.Tile
import Dodge.Data.GenWorld
import Dodge.Default.Room
@@ -27,10 +27,10 @@ roomNgon n x = do
where
rot = 2 * pi / fromIntegral n
rots = map ((rot *) . fromIntegral) [0 .. n -1]
poly =
mapMaybe
(\(ra, rb) -> intersectLineLine' (rotateV ra bl) (rotateV ra br) (rotateV rb bl) (rotateV rb br))
$ loopPairs rots
bl = V2 x x
br = V2 (- x) x
poly = polyOrthDist n x
-- mapMaybe
-- (\(ra, rb) -> intersectLineLine (rotateV ra bl) (rotateV ra br) (rotateV rb bl) (rotateV rb br))
-- $ loopPairs rots
-- bl = V2 x x
-- br = V2 (- x) x
lnks = sortOn ((\(V2 a b) -> (negate b, a)) . fst) $ map (\r -> (rotateV r (V2 0 x), r)) rots
+21 -23
View File
@@ -36,7 +36,6 @@ import Geometry
import LensHelp
import MonadHelp
import RandomHelp
import Linear
roomC :: RandomGen g => Float -> Float -> State g Room
roomC w h = do
@@ -75,9 +74,11 @@ glassSwitchBack = do
wth <- state $ randomR (200, 400)
hgt <- state $ randomR (400, 600)
wllen <- state $ randomR (60, wth / 2 -40)
l1 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isInLnk rp)
--l2 <- mntLightLnkCond (rprBool $ \rp _ -> (rp ^. rpPos . _x) > wth -1 && null (rp ^. rpPlacementUse))
l2 <- mntLightLnkCond (rprBool $ \rp _ -> rp ^. rpLinkStatus . rplsType . at (OnEdge West) == Just ()&& null (rp ^. rpPlacementUse))
l2 <-
mntLightLnkCond $
rprBool $ \rp _ ->
rp ^. rpLinkStatus . rplsType . at (OnEdge West) == Just ()
&& null (rp ^. rpPlacementUse)
let hf = hgt / 5
awindow h xl xr = windowLine (V2 xl h) (V2 xr h)
plmnts =
@@ -89,14 +90,8 @@ glassSwitchBack = do
, blockLine (V2 (wth - wllen) (2 * hf)) (V2 wth (2 * hf))
, blockLine (V2 0 (3 * hf)) (V2 wllen (3 * hf))
, blockLine (V2 (wth - wllen) (4 * hf)) (V2 wth (4 * hf))
, l1
, l2
, l2
, l2
, l2
, l2
-- , sPS (V2 (wth / 2) (10 + hgt / 2)) 0 putLamp
]
<> replicate 5 l2
let northPSs = do
cry <- randomRanges [3 * hf + 10, 4 * hf -10, 4 * hf + 10, 5 * hf -10]
crx <- state $ randomR (wllen, wth - (wllen + 40))
@@ -108,16 +103,16 @@ glassSwitchBack = do
& rmRandPSs .~ [northPSs, midPS]
& rmName .~ "glassSwitchBack"
glassSwitchBackCrits :: RandomGen g => State g Room
glassSwitchBackCrits =
glassSwitchBack <&> rmPmnts
.++~ [ psPtPl (PSRoomRand 0 (uncurry PS)) (PutCrit miniGunCrit)
, psPtPl (PSRoomRand 1 (uncurry PS)) randC1
]
glassSwitchBackCrits :: RandomGen g => Int -> State g Room
glassSwitchBackCrits i = glassSwitchBack <&> rmPmnts <>~ fmap f [0 .. i -1]
where
f j = psPtPl (PSRoomRand j (uncurry PS)) randC1
-- note there used to be a creature with a minigun in glassSwitchBackCrits, has
-- been removed 25.10.01
miniTree2 :: RandomGen g => State g (Tree Room)
miniTree2 = do
rm <- glassSwitchBackCrits >>= shuffleLinks . restrictInLinks (\p -> (sndV2 . fst) p < 70)
rm <- glassSwitchBackCrits 2 >>= shuffleLinks . restrictInLinks (\p -> (sndV2 . fst) p < 70)
return $ branchWith rm (replicate 3 $ treePost [door, corridor, critInDeadEnd])
-- So, the idea is to attach outer children to the bottommost right nodes
@@ -131,8 +126,10 @@ roomMiniIntro = do
roomCenterPillar :: RandomGen g => State g Room
roomCenterPillar = do
l1 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isInLnk rp)
l2 <- mntLightLnkCond ((resetPLUse $ rprBool $ \rp _ -> isOutLnk rp)
& psFallback ?~ mntLightLnkCond' (resetPLUse useUnusedLnk))
l2 <-
mntLightLnkCond $
(resetPLUse $ rprBool $ \rp _ -> isOutLnk rp)
& psFallback ?~ mntLightLnkCond' (resetPLUse useUnusedLnk)
let plmnts =
[ blockLine (V2 115 115) (V2 115 125)
, blockLine (V2 125 115) (V2 125 125)
@@ -402,9 +399,10 @@ critsRoom :: Int -> State LayoutVars (Tree Room)
critsRoom i =
join $
takeOne
--[return <$> critsPillarRoom i]
--[return <$> roomC 200 200]
[return <$> glassSwitchBack]
[ return <$> roomCCrits i
, return <$> critsPillarRoom i
, return <$> glassSwitchBackCrits i
]
-- cor <- shuffleLinks corridor
-- return $ tToBTree "corDoor" $ treePost [door,cor,cleatOnward door]
+71
View File
@@ -1,5 +1,6 @@
module Dodge.Room.Tutorial where
import Control.Monad
import qualified Data.Set as S
import ShortShow
import Dodge.Data.MTRS
@@ -46,6 +47,7 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, tutHub
, tutLight
, tutDrop
, return $ tToBTree "cor" $ return $ cleatOnward corridor
---- , AnTree $ pickupTut
@@ -103,6 +105,75 @@ tutDrop = do
, makeTermLine "-------------------------------------------"
]
cChasm :: State LayoutVars Room
cChasm = do
x <- state $ randomR (150,300)
y <- state $ randomR (150,300)
roomRectAutoLinks x y
<&> rmLinks %~ setOutLinks (isCornerLink NorthWest)
<&> rmLinks %~ setInLinks (isCornerLink SouthWest)
<&> rmPmnts <>~ [sps0 $ PutChasm (rectNSWE (y-50) 50 0 (x-50))]
lChasm :: State LayoutVars Room
lChasm = do
x <- state $ randomR (150,300)
y <- state $ randomR (150,300)
roomRectAutoLinks x y
<&> rmLinks %~ setOutLinks (isCornerLink NorthWest)
<&> rmLinks %~ setInLinks (isCornerLink SouthEast)
<&> rmPmnts <>~ [sps0 $ PutChasm (rectNSWE (y-50) 0 0 (x-50))]
zChasm :: Float -> State LayoutVars Room
zChasm z = do
x <- state $ randomR (150,300)
y <- state $ randomR (150,300)
roomRectAutoLinks x y
<&> rmLinks %~ setOutLinks (isCornerLink NorthWest)
<&> rmLinks %~ setInLinks (isCornerLink SouthEast)
<&> rmPmnts <>~
[sps0 $ PutChasm (rectNSWE (y/2-z) 0 0 (x-50))
,sps0 $ PutChasm (rectNSWE y (y/2+z) 50 x)
]
midChasm :: State LayoutVars Room
midChasm = do
x <- state $ randomR (200,300)
y <- state $ randomR (200,300)
r <- roomRectAutoLinks x y
cs <- join $ takeOne [cenoct x y,censquare x y]
shuffleLinks $ r
& rmLinks %~ setOutLinks (isMidEdgeLink r North)
& rmLinks %~ setInLinks (isMidEdgeLink r South)
& rmPmnts <>~ cs
where
censquare x y = do
z <- state $ randomR (40,60)
return [sps0 $ PutChasm (rectNSWE (y-z) z z (x-z))]
cenoct x y = return
[sps0 $ PutChasm $ (V2 (x/2) (y/2) +) <$> polyOrthDist 8 (min x y/2 - 25)]
-- dia x y = [sps0 $ PutChasm [V2 ]
polyChasm :: Int -> Float -> State LayoutVars Room
polyChasm n x = roomNgon n x
chasmSimpleMaze :: State LayoutVars Room
chasmSimpleMaze = join $ takeOne
[midChasm
,zChasm 25
,lChasm
,cChasm
]
tutLight :: State LayoutVars (MetaTree Room String)
tutLight = do
-- x <- roomRectAutoLinks 200 400
-- let y = x & rmLinks %~ setOutLinks (\rl -> OnEdge North `S.member` _rlType rl)
-- -- & rmLinks %~ setInLinks (\rl -> OnEdge South `S.member` _rlType rl)
-- -- & rmLinks %~ setLinkType InLink (isCornerLink SouthEast)
-- & rmLinks %~ setLinkType InLink (isMidEdgeLink x South)
x <- chasmSimpleMaze
return $ tToBTree "TutLight" $ treePost [x,cleatOnward corridor]
tutHub :: State LayoutVars (MetaTree Room String)
tutHub = do
(is,wbp) <- setTreeInts =<< critsRoom 2
+19
View File
@@ -21,8 +21,11 @@ module Dodge.RoomLink (
setLinkType,
getLinksOfType,
swapInOutLinks,
isCornerLink,
isMidEdgeLink,
) where
import Dodge.Base.CardinalPoint
import Control.Lens
import Data.List (partition)
import qualified Data.Set as S
@@ -51,6 +54,22 @@ setOutLinks = setLinkType OutLink
setInLinks :: (RoomLink -> Bool) -> [RoomLink] -> [RoomLink]
setInLinks = setLinkType InLink
isMidEdgeLink :: Room -> CardinalPoint -> RoomLink -> Bool
isMidEdgeLink r x rl
| x == North || x == South = g West (f $ r ^?! rmType . numLinkEW)
| otherwise = g South (f $ r ^?! rmType . numLinkNS)
where
f y | even y = [y `div` 2]
| otherwise = [y `div` 2, 1 + (y `div` 2)]
g a = any (\y -> FromEdge a y `S.member` (rl ^. rlType))
isCornerLink :: CardinalPointBetween -> RoomLink -> Bool
isCornerLink x rl = (OnEdge a `S.member` xs && FromEdge b 0 `S.member` xs)
|| (OnEdge b `S.member` xs && FromEdge a 0 `S.member` xs)
where
xs = rl ^. rlType
(a,b) = cardinalBetweenAdj x
setInLinksByType :: RoomLinkType -> [RoomLink] -> [RoomLink]
setInLinksByType lt = setInLinks (\rl -> lt `S.member` _rlType rl)
+4 -4
View File
@@ -15,9 +15,9 @@ import Linear.Metric
import Control.Monad
-- | If two lines intersect, return 'Just' that point.
intersectLineLine' :: Point2 -> Point2 -> Point2 -> Point2 -> Maybe Point2
{-# INLINE intersectLineLine' #-}
intersectLineLine' (V2 x1 y1) (V2 x2 y2) (V2 x3 y3) (V2 x4 y4)
intersectLineLine :: Point2 -> Point2 -> Point2 -> Point2 -> Maybe Point2
{-# INLINE intersectLineLine #-}
intersectLineLine (V2 x1 y1) (V2 x2 y2) (V2 x3 y3) (V2 x4 y4)
| den == 0 = Nothing
| otherwise = Just $ V2 (x1 + (x2 - x1) * t' / den) (y1 + (y2 - y1) * t' / den)
where
@@ -28,7 +28,7 @@ intersectLineLine' (V2 x1 y1) (V2 x2 y2) (V2 x3 y3) (V2 x4 y4)
intersectLinePlane :: Point3 -> Point3 -> Point3 -> Point3 -> Maybe Point3
intersectLinePlane l v p n = case dot v n of
0 -> Nothing
x -> Just $ l + ((dot (p - l) n) / x) *.*.* v
x -> Just $ l + (dot (p - l) n / x) *.*.* v
-- this needs to be checked
intersectSegPlane :: Point3 -> Point3 -> Point3 -> Point3 -> Maybe Point3
+18
View File
@@ -2,6 +2,7 @@
module Geometry.Polygon where
import Geometry.Intersect
import qualified Control.Foldl as L
import Data.Maybe
import Geometry.Data
@@ -46,6 +47,23 @@ rectVV (V2 x y) (V2 a b) = rectNSWE n s w e
square :: Float -> [Point2]
square n = rectWH n n
polyOrthDist :: Int -> Float -> [Point2]
polyOrthDist n x = mapMaybe
(\(ra, rb) -> intersectLineLine (rotateV ra bl) (rotateV ra br) (rotateV rb bl) (rotateV rb br))
$ loopPairs rots
where
rot = 2 * pi / fromIntegral n
rots = map ((rot *) . fromIntegral) [0 .. n -1]
bl = V2 x x
br = V2 (- x) x
polyCornerDist :: Int -> Float -> [Point2]
polyCornerDist n x = map f rots
where
rot = 2 * pi / fromIntegral n
rots = map ((rot *) . fromIntegral) [0 .. n -1]
f a = rotateV a (V2 x 0)
mirrorXAxis :: [Point2] -> [Point2]
mirrorXAxis ps = orderPolygon $ ps ++ mapMaybe f ps
where
+116 -100
View File
@@ -205,9 +205,10 @@ CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 5;" t
CapacitorBelow src/Dodge/Data/Muzzle.hs 23;" C
CapacitorSF src/Dodge/Data/ComposedItem.hs 42;" C
CapacitorSelf src/Dodge/Data/Muzzle.hs 24;" C
CardinalCover src/Dodge/Data/CardinalPoint.hs 23;" t
CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 12;" t
CardinalCover src/Dodge/Data/CardinalPoint.hs 30;" t
CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 19;" t
CardinalPoint src/Dodge/Data/CardinalPoint.hs 5;" t
CardinalPointBetween src/Dodge/Data/CardinalPoint.hs 12;" t
Carriage src/Dodge/Data/Creature/Stance.hs 24;" t
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C
@@ -389,7 +390,7 @@ EQUIP src/Dodge/Data/Item/Combine.hs 18;" C
EXPLOSIVES src/Dodge/Data/Item/Combine.hs 118;" C
Ears src/Dodge/Data/Creature/Perception.hs 47;" C
East src/Dodge/Data/CardinalPoint.hs 7;" C
East8 src/Dodge/Data/CardinalPoint.hs 15;" C
East8 src/Dodge/Data/CardinalPoint.hs 22;" C
EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t
EighthRes src/Dodge/Data/Config.hs 97;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C
@@ -826,16 +827,16 @@ NAILBOX src/Dodge/Data/Item/Combine.hs 79;" C
NInt src/NewInt.hs 17;" C
NIntMap src/NewInt.hs 23;" C
NIntSet src/NewInt.hs 20;" C
NS src/Dodge/Data/CardinalPoint.hs 27;" C
NSE src/Dodge/Data/CardinalPoint.hs 25;" C
NSEW src/Dodge/Data/CardinalPoint.hs 24;" C
NSW src/Dodge/Data/CardinalPoint.hs 26;" C
NS src/Dodge/Data/CardinalPoint.hs 34;" C
NSE src/Dodge/Data/CardinalPoint.hs 32;" C
NSEW src/Dodge/Data/CardinalPoint.hs 31;" C
NSW src/Dodge/Data/CardinalPoint.hs 33;" C
NULGATE src/Dodge/Data/Item/Combine.hs 30;" C
NearCosmicRays src/Dodge/Data/Scenario.hs 84;" C
NearDustBelt src/Dodge/Data/Scenario.hs 85;" C
NearGravityFlux src/Dodge/Data/Scenario.hs 83;" C
NearSolar src/Dodge/Data/Scenario.hs 82;" C
NegInf src/Dodge/Data/CardinalPoint.hs 29;" C
NegInf src/Dodge/Data/CardinalPoint.hs 36;" C
NeverUsable src/Dodge/Data/UseCondition.hs 8;" C
NewInt src/NewInt.hs 17;" t
NewIntMap src/NewInt.hs 23;" t
@@ -875,14 +876,16 @@ Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Data/MetaTree.hs 16;" C
NodeTree src/Dodge/Data/MetaTree.hs 15;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C
NonInf src/Dodge/Data/CardinalPoint.hs 29;" C
NonInf src/Dodge/Data/CardinalPoint.hs 36;" C
NormalOptions src/Dodge/Data/Universe.hs 72;" C
NormalSpark src/Dodge/Data/Spark.hs 22;" C
NormalTimeFlow src/Dodge/Data/World.hs 63;" C
North src/Dodge/Data/CardinalPoint.hs 6;" C
North8 src/Dodge/Data/CardinalPoint.hs 13;" C
NorthEast8 src/Dodge/Data/CardinalPoint.hs 14;" C
NorthWest8 src/Dodge/Data/CardinalPoint.hs 20;" C
North8 src/Dodge/Data/CardinalPoint.hs 20;" C
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 66;" C
NotPushed src/Dodge/Data/Door.hs 30;" C
Nothing' src/MaybeHelp.hs 13;" C
@@ -1019,7 +1022,7 @@ PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C
PolyShad src/Picture/Data.hs 36;" C
Polyhedra src/Polyhedra/Data.hs 13;" t
Polyhedron src/Polyhedra/Data.hs 13;" C
PosInf src/Dodge/Data/CardinalPoint.hs 29;" C
PosInf src/Dodge/Data/CardinalPoint.hs 36;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 38;" t
PrWdLsId src/Dodge/Data/Prop.hs 83;" C
@@ -1264,9 +1267,11 @@ SoundOrigin src/Dodge/Data/SoundOrigin.hs 12;" t
SoundStart src/Dodge/Data/WorldEffect.hs 29;" C
SoundStatus src/Sound/Data.hs 16;" t
South src/Dodge/Data/CardinalPoint.hs 8;" C
South8 src/Dodge/Data/CardinalPoint.hs 17;" C
SouthEast8 src/Dodge/Data/CardinalPoint.hs 16;" C
SouthWest8 src/Dodge/Data/CardinalPoint.hs 18;" C
South8 src/Dodge/Data/CardinalPoint.hs 24;" C
SouthEast src/Dodge/Data/CardinalPoint.hs 14;" C
SouthEast8 src/Dodge/Data/CardinalPoint.hs 23;" C
SouthWest src/Dodge/Data/CardinalPoint.hs 15;" C
SouthWest8 src/Dodge/Data/CardinalPoint.hs 25;" C
SpaceCity src/Dodge/Data/Scenario.hs 60;" C
SpaceColoniser src/Dodge/Data/Scenario.hs 59;" C
SpacePort src/Dodge/Data/Scenario.hs 58;" C
@@ -1516,14 +1521,14 @@ WdYouPos src/Dodge/Data/WorldEffect.hs 42;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C
West src/Dodge/Data/CardinalPoint.hs 9;" C
West8 src/Dodge/Data/CardinalPoint.hs 19;" C
West8 src/Dodge/Data/CardinalPoint.hs 26;" C
WlID src/Dodge/Data/CrWlID.hs 12;" C
Wood src/Dodge/Data/Material.hs 11;" C
World src/Dodge/Data/World.hs 36;" t
WorldEffects src/Dodge/Data/WorldEffect.hs 25;" C
WorldEventFlag src/Dodge/Data/World.hs 31;" t
WorldGovernment src/Dodge/Data/Scenario.hs 52;" C
XInfinity src/Dodge/Data/CardinalPoint.hs 29;" t
XInfinity src/Dodge/Data/CardinalPoint.hs 36;" t
YELLOW src/Color/Data.hs 18;" C
ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 93;" C
ZombieFaction src/Dodge/Data/Creature/State.hs 16;" C
@@ -2084,7 +2089,7 @@ _mzRot src/Dodge/Data/Muzzle.hs 11;" f
_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 29;" 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
_numberChasmVerxs src/Dodge/Data/CWorld.hs 31;" f
@@ -2581,7 +2586,7 @@ addIndefiniteArticle src/StringHelp.hs 17;" f
addNodes src/Dodge/Path.hs 115;" f
addPane src/Dodge/Placement/PlaceSpot.hs 153;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPointPolygon src/Geometry/Polygon.hs 102;" f
addPointPolygon src/Geometry/Polygon.hs 115;" 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
@@ -2786,7 +2791,7 @@ boxXYZ src/Polyhedra.hs 94;" f
boxXYZnobase src/Polyhedra.hs 80;" f
brainHat src/Dodge/Item/Equipment.hs 73;" f
branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 70;" f
branchWith src/Dodge/Room/Room.hs 69;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 124;" f
@@ -2803,6 +2808,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
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2811,17 +2817,18 @@ canSee src/Dodge/Base/Collide.hs 324;" f
canSeeIndirect src/Dodge/Base/Collide.hs 331;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 22;" f
capacitor src/Dodge/Item/Ammo.hs 69;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 17;" f
cardList src/Dodge/Base/CardinalPoint.hs 7;" f
cardVec src/Dodge/Base/CardinalPoint.hs 10;" f
cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 28;" f
cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f
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 290;" f
centroid src/Geometry/Polygon.hs 136;" f
centroidNum src/Geometry/Polygon.hs 139;" f
centroid src/Geometry/Polygon.hs 149;" f
centroidNum src/Geometry/Polygon.hs 152;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 140;" f
@@ -2835,6 +2842,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 154;" f
chasmTest src/Dodge/Creature/Update.hs 131;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2862,7 +2870,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 70;" f
circInPolygon src/Geometry/Polygon.hs 83;" f
circOnAnyCr src/Dodge/Base/Collide.hs 287;" f
circOnSeg src/Geometry.hs 102;" f
circOnSegNoEndpoints src/Geometry.hs 92;" f
@@ -2960,15 +2968,15 @@ 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 110;" f
convexHullSafe src/Geometry/Polygon.hs 117;" f
convexHull src/Geometry/Polygon.hs 123;" f
convexHullSafe src/Geometry/Polygon.hs 130;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
coolMachinePistol src/Dodge/Creature/State.hs 101;" f
coolMinigun src/Dodge/Creature/State.hs 94;" f
copier src/Dodge/Item/Scope.hs 88;" f
copierItemUpdate src/Dodge/Creature/State.hs 130;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 383;" f
corDoor src/Dodge/Room/Room.hs 385;" f
cornerList src/Preload/Render.hs 198;" f
corpseOrGib src/Dodge/Creature/Update.hs 110;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
@@ -3040,9 +3048,9 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 859;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 53;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 74;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 63;" f
critInDeadEnd src/Dodge/Room/Room.hs 241;" f
critsPillarRoom src/Dodge/Room/Room.hs 388;" f
critsRoom src/Dodge/Room/Room.hs 396;" f
critInDeadEnd src/Dodge/Room/Room.hs 243;" f
critsPillarRoom src/Dodge/Room/Room.hs 390;" f
critsRoom src/Dodge/Room/Room.hs 398;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 29;" f
crossPic src/Dodge/Render/Label.hs 27;" f
crossProd src/Geometry/Vector3D.hs 41;" f
@@ -3103,7 +3111,7 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 314;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 244;" f
deadEndRoom src/Dodge/Room/Room.hs 246;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
@@ -3316,7 +3324,7 @@ doorMechanism src/Dodge/DrWdWd.hs 24;" f
doorMechanismStepwise src/Dodge/DrWdWd.hs 59;" f
dotV src/Geometry/Vector.hs 75;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 274;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f
doubleFindMax src/Dodge/Update/Scroll.hs 181;" f
doubleFindMin src/Dodge/Update/Scroll.hs 160;" f
doubleFindPred src/Dodge/Update/Scroll.hs 188;" f
@@ -3604,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 55;" f
foldMTRS src/Dodge/Room/Tutorial.hs 57;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 39;" f
@@ -3669,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 192;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 180;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 253;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 241;" f
getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3678,14 +3686,14 @@ getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f
getLaserColor src/Dodge/HeldUse.hs 703;" f
getLaserDamage src/Dodge/HeldUse.hs 700;" f
getLaserPhaseV src/Dodge/HeldUse.hs 697;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getLinksOfType src/Dodge/RoomLink.hs 42;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 372;" f
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 176;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 237;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3708,14 +3716,14 @@ glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f
glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f
glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f
glassSwitchBack src/Dodge/Room/Room.hs 73;" f
glassSwitchBack src/Dodge/Room/Room.hs 72;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 412;" 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 131;" f
grahamScan src/Geometry/Polygon.hs 122;" f
grahamEliminate src/Geometry/Polygon.hs 144;" f
grahamScan src/Geometry/Polygon.hs 135;" f
grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f
graphToEdges src/Dodge/Graph.hs 35;" f
graphToIncidence src/Dodge/Graph.hs 40;" f
@@ -3810,7 +3818,7 @@ icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
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 113;" f
inLink src/Dodge/RoomLink.hs 132;" f
inSegArea src/Geometry/Intersect.hs 328;" f
inTextInputFocus src/Dodge/InputFocus.hs 8;" f
incidenceToFunction src/Dodge/Graph.hs 26;" f
@@ -3845,7 +3853,7 @@ 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
intersectLineLine' src/Geometry/Intersect.hs 18;" 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
@@ -3898,6 +3906,7 @@ isAmmoIntLink src/Dodge/HeldUse.hs 713;" f
isAnimate src/Dodge/Creature/Test.hs 130;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 76;" f
isCornerLink src/Dodge/RoomLink.hs 66;" 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
@@ -3905,6 +3914,7 @@ isJust' src/MaybeHelp.hs 29;" f
isLHS src/Geometry/LHS.hs 8;" f
isLeftOf src/Geometry.hs 202;" f
isLeftOfA src/Geometry.hs 196;" f
isMidEdgeLink src/Dodge/RoomLink.hs 57;" f
isNHS src/Geometry/Intersect.hs 51;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 240;" f
@@ -3989,6 +3999,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 471;" 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
lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f
@@ -4058,7 +4069,7 @@ litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 123;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
lnkPosDir src/Dodge/RoomLink.hs 116;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 622;" f
@@ -4238,6 +4249,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
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 84;" f
@@ -4253,7 +4265,7 @@ miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 381;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
miniTree2 src/Dodge/Room/Room.hs 113;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 49;" f
mirrorXAxis src/Geometry/Polygon.hs 62;" f
mirrorxz src/Picture/Base.hs 335;" f
mirroryz src/Picture/Base.hs 340;" f
missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 674;" f
@@ -4293,12 +4305,12 @@ moveZoomCamera src/Dodge/Update/Camera.hs 87;" f
mtTopLabels src/Dodge/Tree/Compose.hs 50;" f
mtUnderLabels src/Dodge/Tree/Compose.hs 53;" f
muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f
muin src/Dodge/RoomLink.hs 132;" f
muin src/Dodge/RoomLink.hs 151;" f
multGunCrit src/Dodge/Creature.hs 77;" f
multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 57;" f
multiLookupTrieI src/SimpleTrie.hs 66;" f
muout src/Dodge/RoomLink.hs 129;" f
muout src/Dodge/RoomLink.hs 148;" f
muzFlareAt src/Dodge/HeldUse.hs 674;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 161;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 167;" f
@@ -4371,22 +4383,22 @@ 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 88;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 84;" f
orderPolygon src/Geometry/Polygon.hs 93;" f
orderPolygonAround src/Geometry/Polygon.hs 76;" f
orderAroundFirst src/Geometry/Polygon.hs 101;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 97;" f
orderPolygon src/Geometry/Polygon.hs 106;" f
orderPolygonAround src/Geometry/Polygon.hs 89;" 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
outLink src/Dodge/RoomLink.hs 105;" f
outLink src/Dodge/RoomLink.hs 124;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 43;" f
outwardIntegers src/Dodge/Base.hs 181;" f
overCol src/Picture/Base.hs 308;" f
overColObj src/Shape.hs 273;" f
overColSH src/Shape.hs 241;" f
overLnkPosDir src/Dodge/RoomLink.hs 100;" f
overLnkType src/Dodge/RoomLink.hs 87;" f
overLnkPosDir src/Dodge/RoomLink.hs 119;" f
overLnkType src/Dodge/RoomLink.hs 106;" f
overPos src/Picture/Base.hs 303;" f
overPosObj src/Shape.hs 277;" f
overPosSH src/Shape.hs 261;" f
@@ -4446,7 +4458,7 @@ pincerP''' src/Dodge/Creature/Boid.hs 75;" f
pingPongBetween src/Render.hs 221;" f
pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolerRoom src/Dodge/Room/Room.hs 328;" f
pistolerRoom src/Dodge/Room/Room.hs 330;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 225;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
@@ -4491,8 +4503,8 @@ pnsNearRect src/Dodge/Zoning/Pathing.hs 18;" f
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 59;" f
pointInPoly src/Geometry/Polygon.hs 66;" f
pointInOrOnPolygon src/Geometry/Polygon.hs 72;" f
pointInPoly src/Geometry/Polygon.hs 79;" f
pointIsInCone src/Geometry.hs 378;" f
pointIsOnScreen src/Dodge/Base/Window.hs 59;" f
pointTowardsImpulse src/Dodge/Path.hs 63;" f
@@ -4542,6 +4554,8 @@ poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 59;" f
polyOrthDist src/Geometry/Polygon.hs 49;" f
polyPointsIntersect src/Geometry/ConvexPoly.hs 62;" f
polyPointsOverlap src/Geometry/ConvexPoly.hs 55;" f
polyToEdges src/Polyhedra.hs 133;" f
@@ -4749,9 +4763,9 @@ resizeFBOTO src/Framebuffer/Update.hs 203;" f
resizeFBOTO3 src/Framebuffer/Update.hs 175;" f
resizeRBO src/Framebuffer/Update.hs 87;" f
respawn src/Dodge/SpawnAt.hs 11;" f
restrictInLinks src/Dodge/RoomLink.hs 42;" f
restrictLinkType src/Dodge/RoomLink.hs 32;" f
restrictOutLinks src/Dodge/RoomLink.hs 45;" f
restrictInLinks src/Dodge/RoomLink.hs 45;" f
restrictLinkType src/Dodge/RoomLink.hs 35;" f
restrictOutLinks src/Dodge/RoomLink.hs 48;" f
restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f
restrictSeg src/Dodge/Base/Collide.hs 162;" f
resumeSound src/Dodge/SoundLogic.hs 48;" f
@@ -4779,21 +4793,21 @@ rightLegPQ src/Dodge/Creature/HandPos.hs 100;" f
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 94;" f
rlPosDir src/Dodge/RoomLink.hs 113;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 409;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInLinks src/Dodge/RoomLink.hs 157;" f
rmInvItem src/Dodge/Inventory.hs 73;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 41;" f
roomCCrits src/Dodge/Room/Room.hs 269;" f
rmLinksOfType src/Dodge/RoomLink.hs 154;" f
rmOutLinks src/Dodge/RoomLink.hs 157;" f
roomC src/Dodge/Room/Room.hs 40;" f
roomCCrits src/Dodge/Room/Room.hs 271;" f
roomCenterPillar src/Dodge/Room/Room.hs 126;" f
roomCritLS src/Dodge/Room/RunPast.hs 24;" f
roomCross src/Dodge/Room/Boss.hs 84;" f
roomGlassOctogon src/Dodge/Room/Boss.hs 21;" f
roomMiniIntro src/Dodge/Room/Room.hs 121;" f
roomNgon src/Dodge/Room/Ngon.hs 15;" f
roomPadCut src/Dodge/Room/Room.hs 62;" f
roomPadCut src/Dodge/Room/Room.hs 61;" f
roomPillars src/Dodge/Room/Pillar.hs 106;" f
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f
@@ -4913,7 +4927,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 201;" f
sensorTut src/Dodge/Room/Tutorial.hs 262;" 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
@@ -4925,21 +4939,21 @@ 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
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
setInLinks src/Dodge/RoomLink.hs 54;" f
setInLinksByType src/Dodge/RoomLink.hs 73;" f
setInLinksPD src/Dodge/RoomLink.hs 93;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 92;" f
setLayer src/Picture/Base.hs 139;" f
setLinkType src/Dodge/RoomLink.hs 60;" f
setLinkTypePD src/Dodge/RoomLink.hs 67;" f
setLinkType src/Dodge/RoomLink.hs 79;" f
setLinkTypePD src/Dodge/RoomLink.hs 86;" f
setMusicVolume src/Sound.hs 162;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 53;" f
setOldPos src/Dodge/Update.hs 486;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setOutLinks src/Dodge/RoomLink.hs 51;" f
setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f
setRoomInt src/Dodge/Room/Tutorial.hs 61;" f
setRoomInt src/Dodge/Room/Tutorial.hs 63;" 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
@@ -4949,7 +4963,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 68;" f
setTreeInts src/Dodge/Room/Tutorial.hs 70;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f
@@ -5021,10 +5035,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1211;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 794;" f
shootersRoom src/Dodge/Room/Room.hs 322;" f
shootersRoom' src/Dodge/Room/Room.hs 289;" f
shootersRoom1 src/Dodge/Room/Room.hs 312;" f
shootingRange src/Dodge/Room/Room.hs 339;" f
shootersRoom src/Dodge/Room/Room.hs 324;" f
shootersRoom' src/Dodge/Room/Room.hs 291;" f
shootersRoom1 src/Dodge/Room/Room.hs 314;" f
shootingRange src/Dodge/Room/Room.hs 341;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f
@@ -5039,8 +5053,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 142;" f
shrinkVert src/Geometry/Polygon.hs 146;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 155;" f
shrinkVert src/Geometry/Polygon.hs 159;" f
shuffle src/RandomHelp.hs 49;" f
shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 76;" f
@@ -5109,7 +5123,7 @@ sparkRandDir src/Dodge/Spark.hs 116;" f
sparkToDamage src/Dodge/Spark.hs 39;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 56;" f
spawnerRoom src/Dodge/Room/Room.hs 367;" f
spawnerRoom src/Dodge/Room/Room.hs 369;" f
speedLegs src/Dodge/Item/Equipment.hs 90;" f
splashMenu src/Dodge/Menu.hs 30;" f
splashMenuOptions src/Dodge/Menu.hs 35;" f
@@ -5183,7 +5197,7 @@ subInvX src/Dodge/ListDisplayParams.hs 46;" f
subMap src/TreeHelp.hs 119;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 56;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapInOutLinks src/Dodge/RoomLink.hs 99;" f
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory/Swap.hs 21;" f
swapItemWith src/Dodge/Inventory.hs 163;" f
@@ -5286,7 +5300,7 @@ tlDoEffect src/Dodge/Terminal.hs 102;" f
tlSetStatus src/Dodge/Terminal.hs 99;" f
tmUpdate src/Dodge/Update.hs 470;" f
toBinary src/Dodge/Inventory/SelectionList.hs 141;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f
toBothLnk src/Dodge/RoomLink.hs 140;" f
toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f
toFloatVAs src/Shader/Compile.hs 211;" f
@@ -5385,12 +5399,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 43;" f
tutDrop src/Dodge/Room/Tutorial.hs 73;" f
tutHub src/Dodge/Room/Tutorial.hs 106;" f
tutRezBox src/Dodge/Room/Tutorial.hs 211;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 44;" f
tutDrop src/Dodge/Room/Tutorial.hs 75;" f
tutHub src/Dodge/Room/Tutorial.hs 167;" f
tutLight src/Dodge/Room/Tutorial.hs 157;" f
tutRezBox src/Dodge/Room/Tutorial.hs 272;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 233;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 294;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f
@@ -5624,12 +5639,12 @@ wasdWithAiming src/Dodge/Creature/YourControl.hs 125;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 179;" f
weakenMatS src/Dodge/Material/Sound.hs 18;" f
weaponBehindPillar src/Dodge/Room/Room.hs 184;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 200;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 145;" f
weaponLongCorridor src/Dodge/Room/Room.hs 225;" f
weaponRoom src/Dodge/Room/Room.hs 258;" f
weaponUnderCrits src/Dodge/Room/Room.hs 163;" f
weaponBehindPillar src/Dodge/Room/Room.hs 186;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 202;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 147;" f
weaponLongCorridor src/Dodge/Room/Room.hs 227;" f
weaponRoom src/Dodge/Room/Room.hs 260;" f
weaponUnderCrits src/Dodge/Room/Room.hs 165;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f
whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 712;" f
@@ -5701,6 +5716,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
zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f