Add function for cutting polygons

This commit is contained in:
2026-04-14 16:37:51 +01:00
parent 431e64fbfb
commit ce8ddc6414
6 changed files with 237 additions and 163 deletions
+5 -5
View File
@@ -6,7 +6,7 @@ module Dodge.LevelGen.StaticWalls
( cutWalls ( cutWalls
, removeInverseWalls , removeInverseWalls
, expandPolyByFixed , expandPolyByFixed
, cutPoly , carvePoly
, expandPolyCorners , expandPolyCorners
) )
where where
@@ -35,13 +35,13 @@ cutWalls ps wls = case mapMaybe (`checkWallRight` newWalls) newWalls of
[] -> newWalls [] -> newWalls
_ -> cutWallsRetry 0 ps wls _ -> cutWallsRetry 0 ps wls
where where
newWalls = cutPoly ps wls newWalls = carvePoly ps wls
cutWallsRetry :: Int -> [Point2] -> [WallP] -> [WallP] cutWallsRetry :: Int -> [Point2] -> [WallP] -> [WallP]
cutWallsRetry i ps wls = case mapMaybe (`checkWallRight` newWalls) newWalls of cutWallsRetry i ps wls = case mapMaybe (`checkWallRight` newWalls) newWalls of
[] -> newWalls [] -> newWalls
_ -> cutWallsRetry (i+1) ps wls _ -> cutWallsRetry (i+1) ps wls
where where
newWalls = cutPoly ps' wls newWalls = carvePoly ps' wls
ps' = map (rotateV a) $ expandPolyBy x ps ps' = map (rotateV a) $ expandPolyBy x ps
x = fromIntegral i / 100 x = fromIntegral i / 100
a | even i = 0.001 a | even i = 0.001
@@ -74,8 +74,8 @@ checkWallRight (x,y) wls
-- wall may be added where it shouldn't because the wrong facing wall is -- wall may be added where it shouldn't because the wrong facing wall is
-- collided with -- collided with
-- Be aware that we do not remove all colinear walls; this may still cause bugs -- Be aware that we do not remove all colinear walls; this may still cause bugs
cutPoly :: [Point2] -> [WallP] -> [WallP] carvePoly :: [Point2] -> [WallP] -> [WallP]
cutPoly qs wls = nubOrd carvePoly qs wls = nubOrd
. removeInverseWalls . removeInverseWalls
. filter (not . wallIsZeroLength) . filter (not . wallIsZeroLength)
. fuseWallsWith zs . fuseWallsWith zs
+1 -1
View File
@@ -49,7 +49,7 @@ cutWalls'' ps wls = case mapMaybe (`checkWallRight` newWalls) newWalls of
++ "\nWalls after cut:\n" ++ "\nWalls after cut:\n"
++ unlines (map show newWalls) ++ unlines (map show newWalls)
where where
newWalls = cutPoly ps wls newWalls = carvePoly ps wls
errsL = mapMaybe (`checkWallLeft` newWalls) newWalls errsL = mapMaybe (`checkWallLeft` newWalls) newWalls
-- | Given a specific wall and list of walls, checks that the number of walls leaving the -- | Given a specific wall and list of walls, checks that the number of walls leaving the
-- second point is the same as the number of walls entering the second point of -- second point is the same as the number of walls entering the second point of
+23 -1
View File
@@ -57,11 +57,12 @@ tutAnoTree = do
foldMTRS foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor , corDoor
, tToBTree "" . return . cleatOnward <$> xChasm 200 200
-- , tToBTree "" . return . cleatOnward <$> (cChasm -- , tToBTree "" . return . cleatOnward <$> (cChasm
-- <&> rmPmnts .:~ (sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 100 20)) -- <&> rmPmnts .:~ (sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 100 20))
-- , corDoor -- , corDoor
-- , loadAmmoTut -- , loadAmmoTut
-- , corDoor , corDoor
, chasmSpitTerminal , chasmSpitTerminal
, corDoor , corDoor
, tutHub , tutHub
@@ -141,6 +142,27 @@ tutDrop = do
, makeTermLine "-------------------------------------------" , makeTermLine "-------------------------------------------"
] ]
xChasm :: Float -> Float -> State LayoutVars Room
xChasm x y = shuffleLinks =<< putSingleLight (roomRect x y 2 2
& rmLinks %~ (setOutLinks f . setInLinks f)
& rmPmnts <>~ fmap g [id,vNormal,vNormal.vNormal,vNormal.vNormal.vNormal]
)
where
g g' = sps0 $ putConvexChasm (ps & each %~ g'
& each +~ V2 (x/2) (y/2))
ps = fst (cutPoly (V2 x' (y'-10)) (V2 (x'-10) y') $ rectWH x' y')
& each -~ V2 (x/4+10) (y/4+10)
x' = x/4 - 10
y' = y/4 - 10
f rl = FromEdge North 1 `S.member` xs || FromEdge East 1 `S.member` xs
where
xs = rl ^. rlType
-- & rmLinks %~ setOutLinks (isCornerLink NorthWest)
-- <&> rmLinks
-- %~ setInLinks (isCornerLink SouthWest)
-- <&> rmPmnts
-- <>~ [sps0 $ putConvexChasm (rectNSWE (y - 50) 50 0 (x - 50))]
cChasm :: State LayoutVars Room cChasm :: State LayoutVars Room
cChasm = do cChasm = do
x <- state $ randomR (150, 300) x <- state $ randomR (150, 300)
+9
View File
@@ -4,6 +4,7 @@
{- Testing for and finding intersection points. -} {- Testing for and finding intersection points. -}
module Geometry.Intersect where module Geometry.Intersect where
import Data.List (sortOn)
import Control.Applicative import Control.Applicative
import Control.Lens import Control.Lens
import Control.Monad import Control.Monad
@@ -264,6 +265,14 @@ intersectSegPolyFirst a b xs = foldr (<|>) Nothing $ zipWith lineColl xs (tail x
where where
lineColl = intersectSegSeg a b lineColl = intersectSegSeg a b
-- orders intersecting points according to the line
intersectLinePoly :: Point2 -> Point2 -> [Point2] -> [Point2]
intersectLinePoly a b (p:ps) = sortOn (dotV (b - a))
. catMaybes
$ zipWith (\x y -> intersectSegLine x y a b) (p:ps) (ps ++[p])
intersectLinePoly _ _ [] = error "intersectLinePoly empty polygon"
{- | Given a line and a point return the point on the line closest to the {- | Given a line and a point return the point on the line closest to the
point. point.
-} -}
+38
View File
@@ -202,3 +202,41 @@ shrinkPolyOnEdges _ _ = error "too few vertices in polygon"
shrinkVert :: Float -> [Point2] -> Point2 shrinkVert :: Float -> [Point2] -> Point2
shrinkVert d [x, y, z] = x +.+ (d *.* normalizeV (x -.- y)) +.+ (d *.* normalizeV (z -.- y)) shrinkVert d [x, y, z] = x +.+ (d *.* normalizeV (x -.- y)) +.+ (d *.* normalizeV (z -.- y))
shrinkVert _ _ = error "wrong number of vertices" shrinkVert _ _ = error "wrong number of vertices"
-- divide a polygon into two along a line
-- assumes the line intersects the polygon exactly twice, nocolinearity
-- this may duplicate points
-- this should be tested: there are many possible points of failure...
cutPoly :: Point2 -> Point2 -> [Point2] -> ([Point2],[Point2])
cutPoly a b (p:ps)
| not (isLHS a b p) && not (isRHS a b p) = cutPolyL a b ps p p [p] [p]
| isLHS a b p = cutPolyL a b ps p p [p] []
| otherwise = cutPolyR a b ps p p [] [p]
cutPoly _ _ [] = error "cutPoly empty poly"
cutPolyL :: Point2 -> Point2 -> [Point2] -> Point2 -> Point2 -> [Point2] -> [Point2] -> ([Point2], [Point2])
cutPolyL a b (p:ps) e x ls rs
| isLHS a b p = cutPolyL a b ps e p (p\:ls) rs
| otherwise = case intersectLineLine x p a b of
Nothing -> error "cutPolyL nonintersecting lines"
Just p' -> cutPolyR a b ps e p (p'\:ls) (p\:p'\:rs)
cutPolyL a b [] e x ls rs = case intersectSegLine x e a b of
Nothing -> (reverse ls,reverse rs)
Just p -> (reverse (p\:ls), reverse (p\:rs))
cutPolyR :: Point2 -> Point2 -> [Point2] -> Point2 -> Point2 -> [Point2] -> [Point2] -> ([Point2], [Point2])
cutPolyR a b (p:ps) e x ls rs
| isRHS a b p = cutPolyR a b ps e p ls (p\:rs)
| otherwise = case intersectLineLine x p a b of
Nothing -> error "cutPolyR nonintersecting lines"
Just p' -> cutPolyL a b ps e p (p\:p'\:ls) (p'\:rs)
cutPolyR a b [] e x ls rs = case intersectSegLine x e a b of
Nothing -> (reverse ls,reverse rs)
Just p -> (reverse (p\:ls), reverse (p\:rs))
infixr 5 \:
(\:) :: Eq a => a -> [a] -> [a]
(\:) x (y:ys)
| x /= y = x:y:ys
| otherwise = y:ys
(\:) x [] = [x]
+161 -156
View File
@@ -74,11 +74,11 @@ AttachType src/Dodge/Data/Item/Combine.hs 91;" t
Attention src/Dodge/Data/Creature/Perception.hs 58;" t Attention src/Dodge/Data/Creature/Perception.hs 58;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
Audition src/Dodge/Data/Creature/Perception.hs 45;" t Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoCrit src/Dodge/Data/Creature/Misc.hs 81;" C AutoCrit src/Dodge/Data/Creature/Misc.hs 82;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 85;" C AvPosture src/Dodge/Data/Creature/Misc.hs 86;" C
Avatar src/Dodge/Data/Creature/Misc.hs 47;" C Avatar src/Dodge/Data/Creature/Misc.hs 47;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 85;" t AvatarPosture src/Dodge/Data/Creature/Misc.hs 86;" t
Awareness src/Dodge/Data/Creature/Perception.hs 63;" t Awareness src/Dodge/Data/Creature/Perception.hs 63;" t
BANGCONE src/Dodge/Data/Item/Combine.hs 149;" C BANGCONE src/Dodge/Data/Item/Combine.hs 149;" C
BANGROD src/Dodge/Data/Item/Combine.hs 158;" C BANGROD src/Dodge/Data/Item/Combine.hs 158;" C
@@ -104,10 +104,10 @@ BURSTRIFLE src/Dodge/Data/Item/Combine.hs 157;" C
BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 41;" C Bark src/Dodge/Data/ActionPlan.hs 41;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 82;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 83;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 97;" t BarrelType src/Dodge/Data/Creature/Misc.hs 98;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 93;" C Barreloid src/Dodge/Data/Creature/Misc.hs 94;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 41;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 41;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 48;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 48;" C
@@ -283,7 +283,7 @@ CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
Creature src/Dodge/Data/Creature.hs 35;" t Creature src/Dodge/Data/Creature.hs 35;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 87;" t CreatureShape src/Dodge/Data/Creature/Misc.hs 88;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 46;" t CreatureType src/Dodge/Data/Creature/Misc.hs 46;" t
Crushing src/Dodge/Data/Damage.hs 19;" C Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C
@@ -402,7 +402,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 9;" C ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
Explosive src/Dodge/Data/Damage.hs 25;" C Explosive src/Dodge/Data/Damage.hs 25;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 99;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 100;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C
ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t
Eyes src/Dodge/Data/Creature/Perception.hs 39;" C Eyes src/Dodge/Data/Creature/Perception.hs 39;" C
@@ -556,7 +556,7 @@ HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 68;" C HoverCrit src/Dodge/Data/Creature/Misc.hs 68;" C
Huge src/Shape/Data.hs 24;" C Huge src/Shape/Data.hs 24;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 88;" C Humanoid src/Dodge/Data/Creature/Misc.hs 89;" C
IMSI src/Dodge/Data/SelectionList.hs 41;" t IMSI src/Dodge/Data/SelectionList.hs 41;" t
IMSS src/Dodge/Data/SelectionList.hs 39;" t IMSS src/Dodge/Data/SelectionList.hs 39;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
@@ -644,7 +644,7 @@ LabLink src/Dodge/Data/Room.hs 50;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
Laboratory src/Dodge/Data/Scenario.hs 61;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 83;" C LampCrit src/Dodge/Data/Creature/Misc.hs 84;" C
Large src/Shape/Data.hs 25;" C Large src/Shape/Data.hs 25;" C
LasBeamCombine src/Dodge/Data/Beam.hs 38;" C LasBeamCombine src/Dodge/Data/Beam.hs 38;" C
LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
@@ -701,7 +701,7 @@ MODBlockedString src/Dodge/Data/Universe.hs 106;" C
MODString src/Dodge/Data/Universe.hs 105;" C MODString src/Dodge/Data/Universe.hs 105;" C
MODStringOption src/Dodge/Data/Universe.hs 107;" C MODStringOption src/Dodge/Data/Universe.hs 107;" C
MOTOR src/Dodge/Data/Item/Combine.hs 63;" C MOTOR src/Dodge/Data/Item/Combine.hs 63;" C
MPO src/Dodge/Base/Collide.hs 98;" t MPO src/Dodge/Base/Collide.hs 109;" t
MTRS src/Dodge/Data/MTRS.hs 6;" t MTRS src/Dodge/Data/MTRS.hs 6;" t
MTree src/Dodge/Data/MetaTree.hs 12;" C MTree src/Dodge/Data/MetaTree.hs 12;" C
Machine src/Dodge/Data/Machine.hs 30;" t Machine src/Dodge/Data/Machine.hs 30;" t
@@ -852,7 +852,7 @@ NoWorldEffect src/Dodge/Data/WorldEffect.hs 26;" C
Noclip src/Dodge/Data/Config.hs 83;" C Noclip src/Dodge/Data/Config.hs 83;" C
NodeMTree src/Dodge/Data/MetaTree.hs 17;" C NodeMTree src/Dodge/Data/MetaTree.hs 17;" C
NodeTree src/Dodge/Data/MetaTree.hs 16;" C NodeTree src/Dodge/Data/MetaTree.hs 16;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 94;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 95;" C
NonInf src/Dodge/Data/CardinalPoint.hs 44;" C NonInf src/Dodge/Data/CardinalPoint.hs 44;" C
NormalOptions src/Dodge/Data/Universe.hs 71;" C NormalOptions src/Dodge/Data/Universe.hs 71;" C
NormalSpark src/Dodge/Data/Spark.hs 19;" C NormalSpark src/Dodge/Data/Spark.hs 19;" C
@@ -996,7 +996,7 @@ Piezoelectric src/Dodge/Data/Material.hs 23;" C
Pitted src/Dodge/Data/Creature.hs 68;" C Pitted src/Dodge/Data/Creature.hs 68;" C
Placement src/Dodge/Data/GenWorld.hs 113;" t Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 98;" C PlainBarrel src/Dodge/Data/Creature/Misc.hs 99;" C
PlainDeath src/Dodge/Data/Creature.hs 70;" C PlainDeath src/Dodge/Data/Creature.hs 70;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlasmaBall src/Dodge/Data/PlasmaBall.hs 13;" t PlasmaBall src/Dodge/Data/PlasmaBall.hs 13;" t
@@ -1282,7 +1282,7 @@ Survive src/Dodge/Data/Scenario.hs 5;" C
Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C
Swarm src/Dodge/Data/Creature/State.hs 25;" C Swarm src/Dodge/Data/Creature/State.hs 25;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 80;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 81;" C
TAPE src/Dodge/Data/Item/Combine.hs 55;" C TAPE src/Dodge/Data/Item/Combine.hs 55;" C
TARGETING src/Dodge/Data/Item/Combine.hs 21;" C TARGETING src/Dodge/Data/Item/Combine.hs 21;" C
TCBase src/Dodge/Data/Terminal.hs 49;" C TCBase src/Dodge/Data/Terminal.hs 49;" C
@@ -1559,7 +1559,7 @@ _avStrength src/Dodge/Data/Creature/Misc.hs 50;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 49;" f _avatarMaterial src/Dodge/Data/Creature/Misc.hs 49;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 48;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 48;" f
_barrelShader src/Data/Preload/Render.hs 27;" f _barrelShader src/Data/Preload/Render.hs 27;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 82;" f _barrelType src/Dodge/Data/Creature/Misc.hs 83;" f
_bdColor src/Dodge/Data/Prop.hs 23;" f _bdColor src/Dodge/Data/Prop.hs 23;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f _bdMaxX src/Dodge/Data/Bounds.hs 12;" f
_bdMaxY src/Dodge/Data/Bounds.hs 14;" f _bdMaxY src/Dodge/Data/Bounds.hs 14;" f
@@ -1951,9 +1951,9 @@ _lInvLock src/Dodge/Data/LWorld.hs 148;" f
_lTestInt src/Dodge/Data/LWorld.hs 144;" f _lTestInt src/Dodge/Data/LWorld.hs 144;" f
_lTestString src/Dodge/Data/LWorld.hs 143;" f _lTestString src/Dodge/Data/LWorld.hs 143;" f
_lWorld src/Dodge/Data/CWorld.hs 24;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 83;" f _lampColor src/Dodge/Data/Creature/Misc.hs 84;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 83;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 84;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 83;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 84;" f
_lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f _lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f
_laserEmmiter src/Dodge/Data/Laser.hs 16;" f _laserEmmiter src/Dodge/Data/Laser.hs 16;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 15;" f _laserTypeDamage src/Dodge/Data/Laser.hs 15;" f
@@ -2114,7 +2114,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 42;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 15;" f _pickUpLevel src/Dodge/Layout/Generate.hs 15;" f
_pickUps src/Dodge/Layout/Generate.hs 16;" f _pickUps src/Dodge/Layout/Generate.hs 16;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f _pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 99;" f _piercedPoints src/Dodge/Data/Creature/Misc.hs 100;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f _pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f
_pjDir src/Dodge/Data/Projectile.hs 18;" f _pjDir src/Dodge/Data/Projectile.hs 18;" f
@@ -2325,17 +2325,18 @@ _skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f _skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f _skType src/Dodge/Data/Spark.hs 15;" f
_skVel src/Dodge/Data/Spark.hs 12;" f _skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 89;" f _skinHead src/Dodge/Data/Creature/Misc.hs 90;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 91;" f _skinLower src/Dodge/Data/Creature/Misc.hs 92;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 90;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 91;" f
_slInt src/Dodge/Data/HUD.hs 39;" f _slInt src/Dodge/Data/HUD.hs 39;" f
_slSec src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f
_slSet src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f
_slimeCompression src/Dodge/Data/Creature/Misc.hs 76;" f _slimeCompression src/Dodge/Data/Creature/Misc.hs 77;" f
_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 77;" f _slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 78;" f
_slimeRad src/Dodge/Data/Creature/Misc.hs 74;" f _slimeRad src/Dodge/Data/Creature/Misc.hs 74;" f
_slimeRadChange src/Dodge/Data/Creature/Misc.hs 75;" f _slimeRadWobble src/Dodge/Data/Creature/Misc.hs 75;" f
_slimeResetDir src/Dodge/Data/Creature/Misc.hs 78;" f _slimeResetDir src/Dodge/Data/Creature/Misc.hs 79;" f
_slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 76;" f
_slinkSpine src/Dodge/Data/Creature/Misc.hs 71;" f _slinkSpine src/Dodge/Data/Creature/Misc.hs 71;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 41;" f _smoothScrollAmount src/Dodge/Data/Input.hs 41;" f
_soundAngDist src/Sound/Data.hs 47;" f _soundAngDist src/Sound/Data.hs 47;" f
@@ -2607,7 +2608,7 @@ airlockCrystal src/Dodge/Room/Airlock.hs 251;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 104;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 104;" f
airlockSimple src/Dodge/Room/Airlock.hs 129;" f airlockSimple src/Dodge/Room/Airlock.hs 129;" f
airlockZ src/Dodge/Room/Airlock.hs 166;" f airlockZ src/Dodge/Room/Airlock.hs 166;" f
allVisibleWalls src/Dodge/Base/Collide.hs 234;" f allVisibleWalls src/Dodge/Base/Collide.hs 245;" f
alongSegBy src/Geometry.hs 40;" f alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f
@@ -2625,7 +2626,7 @@ angleVV src/Geometry/Vector.hs 58;" f
angleVV3 src/Geometry/Vector3D.hs 123;" f angleVV3 src/Geometry/Vector3D.hs 123;" f
angleVVTests test/Spec.hs 67;" f angleVVTests test/Spec.hs 67;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f
anythingHitCirc src/Dodge/Base/Collide.hs 342;" f anythingHitCirc src/Dodge/Base/Collide.hs 353;" f
apply src/Quaternion.hs 78;" f apply src/Quaternion.hs 78;" f
applyCME src/Dodge/HeldUse.hs 397;" f applyCME src/Dodge/HeldUse.hs 397;" f
applyClip src/Dodge/Debug.hs 176;" f applyClip src/Dodge/Debug.hs 176;" f
@@ -2666,7 +2667,7 @@ argV src/Geometry/Vector.hs 89;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f
armouredChasers src/Dodge/Room/Boss.hs 58;" f armouredChasers src/Dodge/Room/Boss.hs 58;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 325;" f arms src/Dodge/Creature/Picture.hs 326;" f
arrow src/Picture/Composite.hs 19;" f arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f
@@ -2709,7 +2710,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Creature/Picture.hs 376;" f barrelShape src/Dodge/Creature/Picture.hs 377;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 165;" f baseCI src/Dodge/Item/Grammar.hs 165;" f
@@ -2718,14 +2719,14 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f
baseShoulder src/Dodge/Creature/Picture.hs 363;" f baseShoulder src/Dodge/Creature/Picture.hs 364;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 346;" f baseStickSpread src/Dodge/HeldUse.hs 346;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 137;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 137;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 31;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 31;" f
basicCrPict src/Dodge/Creature/Picture.hs 72;" f basicCrPict src/Dodge/Creature/Picture.hs 73;" f
basicCrShape src/Dodge/Creature/Picture.hs 78;" f basicCrShape src/Dodge/Creature/Picture.hs 79;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMuzFlare src/Dodge/HeldUse.hs 731;" f basicMuzFlare src/Dodge/HeldUse.hs 731;" f
@@ -2775,7 +2776,7 @@ boolOption src/Dodge/Menu/OptionType.hs 12;" f
bossKeyItems src/Dodge/LockAndKey.hs 13;" f bossKeyItems src/Dodge/LockAndKey.hs 13;" f
bossRoom src/Dodge/Room/Boss.hs 55;" f bossRoom src/Dodge/Room/Boss.hs 55;" f
bounceDir src/Dodge/Bullet.hs 111;" f bounceDir src/Dodge/Bullet.hs 111;" f
bouncePoint src/Dodge/Base/Collide.hs 88;" f bouncePoint src/Dodge/Base/Collide.hs 99;" f
bounceSound src/Dodge/Projectile/Update.hs 74;" f bounceSound src/Dodge/Projectile/Update.hs 74;" f
boundPoints src/Bound.hs 9;" f boundPoints src/Bound.hs 9;" f
boundPointsRect src/Bound.hs 23;" f boundPointsRect src/Bound.hs 23;" f
@@ -2808,13 +2809,13 @@ buttonFlip src/Dodge/Button/Event.hs 18;" f
buzz1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 847;" f buzz1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 847;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f
byNthLink src/Dodge/Room/Warning.hs 44;" f byNthLink src/Dodge/Room/Warning.hs 44;" f
cChasm src/Dodge/Room/Tutorial.hs 142;" f cChasm src/Dodge/Room/Tutorial.hs 161;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
calcTexCoord src/Tile.hs 19;" f calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 328;" f canSee src/Dodge/Base/Collide.hs 339;" f
canSeeIndirect src/Dodge/Base/Collide.hs 335;" f canSeeIndirect src/Dodge/Base/Collide.hs 346;" f
canSpring src/Dodge/Update.hs 989;" f canSpring src/Dodge/Update.hs 989;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f
capacitor src/Dodge/Item/Ammo.hs 67;" f capacitor src/Dodge/Item/Ammo.hs 67;" f
@@ -2824,6 +2825,7 @@ cardReverse src/Dodge/Base/CardinalPoint.hs 10;" f
cardVec src/Dodge/Base/CardinalPoint.hs 17;" f cardVec src/Dodge/Base/CardinalPoint.hs 17;" f
cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 43;" f cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 43;" f
cardinalVectors src/Dodge/FloorItem.hs 24;" f cardinalVectors src/Dodge/FloorItem.hs 24;" f
carvePoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f
ceilingTo src/Geometry/Zone.hs 15;" f ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 52;" f cenLasTur src/Dodge/Room/LasTurret.hs 52;" f
@@ -2840,20 +2842,20 @@ changeSwapWith src/Dodge/Inventory.hs 283;" f
charToTuple src/Picture/Base.hs 312;" f charToTuple src/Picture/Base.hs 312;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 51;" f chartreuse src/Color.hs 51;" f
chaseCorpse src/Dodge/Creature/Picture.hs 274;" f chaseCorpse src/Dodge/Creature/Picture.hs 275;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 33;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 33;" f
chaseCritInternal src/Dodge/Humanoid.hs 12;" f chaseCritInternal src/Dodge/Humanoid.hs 12;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 152;" f chaseUpperBody src/Dodge/Creature/Picture.hs 153;" f
chasmRotate src/Dodge/Creature/State/WalkCycle.hs 124;" f chasmRotate src/Dodge/Creature/State/WalkCycle.hs 124;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 379;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 398;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 312;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 331;" f
chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 106;" f chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 106;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 121;" f chasmWallToSurface src/Dodge/Base/Collide.hs 132;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 209;" f checkDeath src/Dodge/Creature/Update.hs 207;" f
checkDeath' src/Dodge/Creature/Update.hs 212;" f checkDeath' src/Dodge/Creature/Update.hs 210;" f
checkEndGame src/Dodge/Update.hs 875;" f checkEndGame src/Dodge/Update.hs 875;" f
checkErrorGL src/Shader/Compile.hs 86;" f checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2871,12 +2873,12 @@ chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 153;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 153;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f
circHitWall src/Dodge/Base/Collide.hs 247;" f circHitWall src/Dodge/Base/Collide.hs 258;" f
circInPolygon src/Geometry/Polygon.hs 110;" f circInPolygon src/Geometry/Polygon.hs 110;" f
circOnAnyCr src/Dodge/Base/Collide.hs 292;" f circOnAnyCr src/Dodge/Base/Collide.hs 303;" f
circOnSeg src/Geometry.hs 101;" f circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f circOnSomeWall src/Dodge/Base/Collide.hs 297;" f
circSegsInside src/Dodge/Creature/State/WalkCycle.hs 92;" f circSegsInside src/Dodge/Creature/State/WalkCycle.hs 92;" f
circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 81;" f circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 81;" f
circle src/Picture/Base.hs 172;" f circle src/Picture/Base.hs 172;" f
@@ -2920,18 +2922,18 @@ colCrWall src/Dodge/WallCreatureCollisions.hs 27;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f
collectDamageTypes src/Dodge/Damage.hs 54;" f collectDamageTypes src/Dodge/Damage.hs 54;" f
collectInvItems src/Dodge/Inventory.hs 205;" f collectInvItems src/Dodge/Inventory.hs 205;" f
collide3 src/Dodge/Base/Collide.hs 130;" f collide3 src/Dodge/Base/Collide.hs 141;" f
collide3Chasm src/Dodge/Base/Collide.hs 114;" f collide3Chasm src/Dodge/Base/Collide.hs 125;" f
collide3Chasms src/Dodge/Base/Collide.hs 106;" f collide3Chasms src/Dodge/Base/Collide.hs 117;" f
collide3Creature src/Dodge/Base/Collide.hs 163;" f collide3Creature src/Dodge/Base/Collide.hs 174;" f
collide3Floors src/Dodge/Base/Collide.hs 144;" f collide3Floors src/Dodge/Base/Collide.hs 155;" f
collide3Wall src/Dodge/Base/Collide.hs 158;" f collide3Wall src/Dodge/Base/Collide.hs 169;" f
collide3Walls src/Dodge/Base/Collide.hs 139;" f collide3Walls src/Dodge/Base/Collide.hs 150;" f
collide3WallsFloor src/Dodge/Base/Collide.hs 100;" f collide3WallsFloor src/Dodge/Base/Collide.hs 111;" f
collideCircWalls src/Dodge/Base/Collide.hs 259;" f collideCircWalls src/Dodge/Base/Collide.hs 270;" f
collidePoint src/Dodge/Base/Collide.hs 54;" f collidePoint src/Dodge/Base/Collide.hs 56;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 197;" f collidePointTestFilter src/Dodge/Base/Collide.hs 208;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 211;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 222;" f
color src/Picture/Base.hs 100;" f color src/Picture/Base.hs 100;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 239;" f colorSH src/Shape.hs 239;" f
@@ -2976,7 +2978,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 136;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 411;" f corDoor src/Dodge/Room/Room.hs 411;" f
cornerList src/Preload/Render.hs 236;" f cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 258;" f corpseOrGib src/Dodge/Creature/Update.hs 256;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f corridorN src/Dodge/Room/Corridor.hs 58;" f
@@ -2984,7 +2986,7 @@ corridorWallN src/Dodge/Room/Corridor.hs 77;" f
crAdd src/Dodge/Room/RezBox.hs 116;" f crAdd src/Dodge/Room/RezBox.hs 116;" f
crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crAwayFromPost src/Dodge/Creature/Test.hs 83;" f
crBlips src/Dodge/RadarSweep.hs 88;" f crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 75;" f crCamouflage src/Dodge/Creature/Picture.hs 76;" f
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
crCrSpring src/Dodge/Update.hs 997;" f crCrSpring src/Dodge/Update.hs 997;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 67;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 67;" f
@@ -2994,8 +2996,8 @@ crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f
crHasTarget src/Dodge/Creature/Test.hs 63;" f crHasTarget src/Dodge/Creature/Test.hs 63;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f
crHeight src/Dodge/Base/Collide.hs 176;" f crHeight src/Dodge/Base/Collide.hs 187;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 138;" f crHit src/Dodge/WorldEvent/ThingsHit.hs 167;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f
crImpulsesOnCognizant src/Dodge/Creature/Perception.hs 58;" f crImpulsesOnCognizant src/Dodge/Creature/Perception.hs 58;" f
@@ -3015,7 +3017,7 @@ crMvForward src/Dodge/Creature/Impulse/Movement.hs 75;" f
crMvType src/Dodge/Creature/MoveType.hs 7;" f crMvType src/Dodge/Creature/MoveType.hs 7;" f
crNearPoint src/Dodge/Creature/Test.hs 129;" f crNearPoint src/Dodge/Creature/Test.hs 129;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 206;" f crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 235;" f
crPathing src/Dodge/Creature/Action.hs 125;" f crPathing src/Dodge/Creature/Action.hs 125;" f
crRad src/Dodge/Creature/Radius.hs 7;" f crRad src/Dodge/Creature/Radius.hs 7;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f
@@ -3025,23 +3027,23 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 984;" f crSpring src/Dodge/Update.hs 984;" f
crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 202;" f crUpdate src/Dodge/Creature/Update.hs 200;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 65;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 65;" f
crWalk src/Dodge/Creature/Impulse/Movement.hs 31;" f crWalk src/Dodge/Creature/Impulse/Movement.hs 31;" f
crWalkAbsolute src/Dodge/Creature/Impulse/Movement.hs 55;" f crWalkAbsolute src/Dodge/Creature/Impulse/Movement.hs 55;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 16;" f crWarningSounds src/Dodge/Creature/Vocalization.hs 16;" f
crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 62;" f crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 71;" f
crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 72;" f crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 81;" f
crZoneSize src/Dodge/Zoning/Creature.hs 43;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f
crabActionUpdate src/Dodge/Creature/ReaderUpdate.hs 124;" f crabActionUpdate src/Dodge/Creature/ReaderUpdate.hs 124;" f
crabCorpse src/Dodge/Creature/Picture.hs 293;" f crabCorpse src/Dodge/Creature/Picture.hs 294;" f
crabCrit src/Dodge/Creature/ChaseCrit.hs 40;" f crabCrit src/Dodge/Creature/ChaseCrit.hs 40;" f
crabCritInternal src/Dodge/Humanoid.hs 29;" f crabCritInternal src/Dodge/Humanoid.hs 29;" f
crabFeet src/Dodge/Creature/Picture.hs 204;" f crabFeet src/Dodge/Creature/Picture.hs 205;" f
crabRoom src/Dodge/Room/Tutorial.hs 433;" f crabRoom src/Dodge/Room/Tutorial.hs 452;" f
crabUpperBody src/Dodge/Creature/Picture.hs 128;" f crabUpperBody src/Dodge/Creature/Picture.hs 129;" f
craftInfo src/Dodge/Item/Info.hs 168;" f craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f
@@ -3069,9 +3071,10 @@ critsRoom src/Dodge/Room/Room.hs 425;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 28;" f crossPic src/Dodge/Render/Label.hs 28;" f
crossProd src/Geometry/Vector3D.hs 42;" f crossProd src/Geometry/Vector3D.hs 42;" f
crsHit src/Dodge/WorldEvent/ThingsHit.hs 86;" f crsHit src/Dodge/WorldEvent/ThingsHit.hs 95;" f
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 185;" f crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 214;" f
crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 97;" f crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 106;" f
crsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 126;" f
crsItmsUnused src/Dodge/Room/Containing.hs 45;" f crsItmsUnused src/Dodge/Room/Containing.hs 45;" f
crsNearCirc src/Dodge/Zoning/Creature.hs 36;" f crsNearCirc src/Dodge/Zoning/Creature.hs 36;" f
crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
@@ -3081,7 +3084,6 @@ crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 162;" f cubeShape src/Dodge/Block/Debris.hs 162;" f
cullPoint src/Dodge/Render/ShapePicture.hs 117;" f cullPoint src/Dodge/Render/ShapePicture.hs 117;" f
cullPretty src/AesonHelp.hs 14;" f cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
cutWalls src/Dodge/LevelGen/StaticWalls.hs 33;" f cutWalls src/Dodge/LevelGen/StaticWalls.hs 33;" f
cutWalls'' src/Dodge/LevelGen/StaticWalls/Deprecated.hs 39;" f cutWalls'' src/Dodge/LevelGen/StaticWalls/Deprecated.hs 39;" f
@@ -3138,10 +3140,10 @@ deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 69;" f deZoneWall src/Dodge/Zoning/Wall.hs 69;" f
deadEndPSType src/Dodge/Room/Room.hs 264;" f deadEndPSType src/Dodge/Room/Room.hs 264;" f
deadEndRoom src/Dodge/Room/Room.hs 267;" f deadEndRoom src/Dodge/Room/Room.hs 267;" f
deadFeet src/Dodge/Creature/Picture.hs 321;" f deadFeet src/Dodge/Creature/Picture.hs 322;" f
deadRot src/Dodge/Creature/Picture.hs 339;" f deadRot src/Dodge/Creature/Picture.hs 340;" f
deadScalp src/Dodge/Creature/Picture.hs 334;" f deadScalp src/Dodge/Creature/Picture.hs 335;" f
deadUpperBody src/Dodge/Creature/Picture.hs 360;" f deadUpperBody src/Dodge/Creature/Picture.hs 361;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
debrisSPic src/Dodge/Prop/Draw.hs 17;" f debrisSPic src/Dodge/Prop/Draw.hs 17;" f
debrisSize src/Dodge/Block/Debris.hs 131;" f debrisSize src/Dodge/Block/Debris.hs 131;" f
@@ -3276,7 +3278,7 @@ doAnyEquipmentEffect src/Dodge/Creature/State.hs 146;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f
doBlBl src/Dodge/BlBl.hs 5;" f doBlBl src/Dodge/BlBl.hs 5;" f
doBounce src/Dodge/Base/Collide.hs 69;" f doBounce src/Dodge/Base/Collide.hs 80;" f
doButtonEvent src/Dodge/Button/Event.hs 9;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f
doConLoop src/Loop.hs 138;" f doConLoop src/Loop.hs 138;" f
doConLoop' src/Loop.hs 230;" f doConLoop' src/Loop.hs 230;" f
@@ -3365,7 +3367,7 @@ drawBoundingBox src/Dodge/Debug/Picture.hs 368;" f
drawBullet src/Dodge/Render/ShapePicture.hs 156;" f drawBullet src/Dodge/Render/ShapePicture.hs 156;" f
drawButton src/Dodge/Button/Draw.hs 11;" f drawButton src/Dodge/Button/Draw.hs 11;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChaseCrit src/Dodge/Creature/Picture.hs 119;" f drawChaseCrit src/Dodge/Creature/Picture.hs 120;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
@@ -3376,7 +3378,7 @@ drawCoord src/Dodge/Debug/Picture.hs 396;" f
drawCountMod src/Render.hs 231;" f drawCountMod src/Render.hs 231;" f
drawCrInfo src/Dodge/Debug.hs 215;" f drawCrInfo src/Dodge/Debug.hs 215;" f
drawCrInfo' src/Dodge/Debug.hs 210;" f drawCrInfo' src/Dodge/Debug.hs 210;" f
drawCrabCrit src/Dodge/Creature/Picture.hs 111;" f drawCrabCrit src/Dodge/Creature/Picture.hs 112;" f
drawCreature src/Dodge/Creature/Picture.hs 36;" f drawCreature src/Dodge/Creature/Picture.hs 36;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f
drawCross src/Dodge/Render/Label.hs 25;" f drawCross src/Dodge/Render/Label.hs 25;" f
@@ -3395,7 +3397,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f
drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f
drawEmptySet src/Dodge/Render/Picture.hs 153;" f drawEmptySet src/Dodge/Render/Picture.hs 153;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 372;" f drawEquipment src/Dodge/Creature/Picture.hs 373;" f
drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f
@@ -3405,7 +3407,7 @@ drawForceField src/Dodge/Wall/Draw.hs 15;" f
drawGapPlus src/Dodge/Render/Picture.hs 284;" f drawGapPlus src/Dodge/Render/Picture.hs 284;" f
drawGib src/Dodge/Prop/Draw.hs 31;" f drawGib src/Dodge/Prop/Draw.hs 31;" f
drawHUD src/Dodge/Render/HUD.hs 53;" f drawHUD src/Dodge/Render/HUD.hs 53;" f
drawHoverCrit src/Dodge/Creature/Picture.hs 101;" f drawHoverCrit src/Dodge/Creature/Picture.hs 102;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f
drawInspectWall src/Dodge/Debug/Picture.hs 256;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f
@@ -3459,7 +3461,7 @@ drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShell src/Dodge/Projectile/Draw.hs 22;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f
drawSlimeCrit src/Dodge/Creature/Picture.hs 56;" f drawSlimeCrit src/Dodge/Creature/Picture.hs 56;" f
drawSlinkCrit src/Dodge/Creature/Picture.hs 93;" f drawSlinkCrit src/Dodge/Creature/Picture.hs 94;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f
drawSubInventory src/Dodge/Render/HUD.hs 173;" f drawSubInventory src/Dodge/Render/HUD.hs 173;" f
@@ -3487,7 +3489,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 296;" f dropAll src/Dodge/Creature/Update.hs 294;" f
dropInventoryPath src/Dodge/HeldUse.hs 1371;" f dropInventoryPath src/Dodge/HeldUse.hs 1371;" f
dropItem src/Dodge/Creature/Action.hs 169;" f dropItem src/Dodge/Creature/Action.hs 169;" f
dropper src/Dodge/Item/Scope.hs 82;" f dropper src/Dodge/Item/Scope.hs 82;" f
@@ -3577,7 +3579,7 @@ faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 245;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f
fdiv src/ShortShow.hs 41;" f fdiv src/ShortShow.hs 41;" f
feet src/Dodge/Creature/Picture.hs 190;" f feet src/Dodge/Creature/Picture.hs 191;" f
filter3 src/FoldableHelp.hs 76;" f filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f
findBlips src/Dodge/RadarSweep.hs 63;" f findBlips src/Dodge/RadarSweep.hs 63;" f
@@ -3625,7 +3627,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 795;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 795;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 841;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 841;" f
foldMTRS src/Dodge/Room/Tutorial.hs 96;" f foldMTRS src/Dodge/Room/Tutorial.hs 99;" f
foldPairs src/ListHelp.hs 37;" f foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3690,8 +3692,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 543;" f
getCommand src/Dodge/Terminal.hs 61;" f getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 55;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 55;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 590;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 609;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 577;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 596;" f
getDebugMouseOver src/Dodge/Update.hs 472;" f getDebugMouseOver src/Dodge/Update.hs 472;" f
getDistortions src/Dodge/Render.hs 443;" f getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 39;" f getEdgesCrossing src/Dodge/Path.hs 39;" f
@@ -3708,7 +3710,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1271;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomFromID src/Dodge/Room/Modify.hs 31;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 573;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 592;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3784,10 +3786,10 @@ handleTextInput src/Dodge/Event/Input.hs 19;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 32;" f hardQuit src/Dodge/Concurrent.hs 32;" f
hasAutoDoorBody src/Dodge/Creature/Test.hs 139;" f hasAutoDoorBody src/Dodge/Creature/Test.hs 139;" f
hasButtonLOS src/Dodge/Base/Collide.hs 311;" f hasButtonLOS src/Dodge/Base/Collide.hs 322;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasLOS src/Dodge/Base/Collide.hs 304;" f hasLOS src/Dodge/Base/Collide.hs 315;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 320;" f hasLOSIndirect src/Dodge/Base/Collide.hs 331;" f
hat src/Dodge/Item/Equipment.hs 65;" f hat src/Dodge/Item/Equipment.hs 65;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 68;" f headLamp src/Dodge/Item/Equipment.hs 68;" f
@@ -3831,7 +3833,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
hoverCrit src/Dodge/Creature/ChaseCrit.hs 75;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 75;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 179;" f hoverCritHoverSound src/Dodge/Creature/Update.hs 177;" f
hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f
hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f
hoverDeathSounds src/Dodge/Creature/Vocalization.hs 58;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 58;" f
@@ -3932,7 +3934,7 @@ isAnimate src/Dodge/Creature/Test.hs 132;" f
isCognizant src/Dodge/Creature/Perception.hs 115;" f isCognizant src/Dodge/Creature/Perception.hs 115;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 66;" f isCornerLink src/Dodge/RoomLink.hs 66;" f
isFlyable src/Dodge/WorldEvent/ThingsHit.hs 193;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 222;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 232;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 232;" f
isInLnk src/Dodge/PlacementSpot.hs 163;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f
isJust' src/MaybeHelp.hs 27;" f isJust' src/MaybeHelp.hs 27;" f
@@ -3953,7 +3955,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 197;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 181;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 181;" f
isValidCommand src/Dodge/Debug/Terminal.hs 134;" f isValidCommand src/Dodge/Debug/Terminal.hs 134;" f
isVowel src/StringHelp.hs 8;" f isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/WorldEvent/ThingsHit.hs 200;" f isWalkable src/Dodge/WorldEvent/ThingsHit.hs 229;" f
isoMatrix src/MatrixHelper.hs 35;" f isoMatrix src/MatrixHelper.hs 35;" f
isotriBWH src/Geometry/Polygon.hs 30;" f isotriBWH src/Geometry/Polygon.hs 30;" f
itDim src/Dodge/Item/InvSize.hs 21;" f itDim src/Dodge/Item/InvSize.hs 21;" f
@@ -4027,13 +4029,13 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
keyPic src/Dodge/Item/Draw/SPic.hs 441;" f keyPic src/Dodge/Item/Draw/SPic.hs 441;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 757;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 757;" f
lChasm src/Dodge/Room/Tutorial.hs 154;" f lChasm src/Dodge/Room/Tutorial.hs 173;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Creature/Picture.hs 381;" f lampCrSPic src/Dodge/Creature/Picture.hs 382;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f
@@ -4095,7 +4097,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f
loadAmmoTut src/Dodge/Room/Tutorial.hs 437;" f loadAmmoTut src/Dodge/Room/Tutorial.hs 456;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 654;" f loadMuzzle src/Dodge/HeldUse.hs 654;" f
@@ -4161,7 +4163,7 @@ makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 124;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f
makeColorTermPara src/Dodge/Terminal.hs 121;" f makeColorTermPara src/Dodge/Terminal.hs 121;" f
makeCorpse src/Dodge/Creature/Picture.hs 256;" f makeCorpse src/Dodge/Creature/Picture.hs 257;" f
makeCrGibs src/Dodge/Prop/Gib.hs 19;" f makeCrGibs src/Dodge/Prop/Gib.hs 19;" f
makeDebris src/Dodge/Block/Debris.hs 75;" f makeDebris src/Dodge/Block/Debris.hs 75;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 101;" f makeDebrisDirected src/Dodge/Block/Debris.hs 101;" f
@@ -4275,9 +4277,9 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 183;" f midChasm src/Dodge/Room/Tutorial.hs 202;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 205;" f midChasmPlatform src/Dodge/Room/Tutorial.hs 224;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 273;" f midChasmSpit src/Dodge/Room/Tutorial.hs 292;" f
midPad src/Padding.hs 27;" f midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f midPoint src/Geometry.hs 83;" f
@@ -4380,7 +4382,7 @@ noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f
nodeNear src/Dodge/Path.hs 94;" f nodeNear src/Dodge/Path.hs 94;" f
nodesNear src/Dodge/Path.hs 100;" f nodesNear src/Dodge/Path.hs 100;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 270;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 289;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 148;" f normalGait src/Dodge/Creature/State/WalkCycle.hs 148;" f
normalTo8 src/Shader/Poke.hs 475;" f normalTo8 src/Shader/Poke.hs 475;" f
@@ -4407,7 +4409,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f
onEquipWristShield src/Dodge/Euse.hs 89;" f onEquipWristShield src/Dodge/Euse.hs 89;" f
onRemoveWristShield src/Dodge/Euse.hs 79;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f
oneH src/Dodge/Creature/Test.hs 95;" f oneH src/Dodge/Creature/Test.hs 95;" f
oneSmooth src/Dodge/Creature/Picture.hs 187;" f oneSmooth src/Dodge/Creature/Picture.hs 188;" f
openConsole src/Dodge/Update.hs 140;" f openConsole src/Dodge/Update.hs 140;" f
optionMenu src/Dodge/Menu.hs 110;" f optionMenu src/Dodge/Menu.hs 110;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f
@@ -4439,10 +4441,11 @@ overPos src/Picture/Base.hs 298;" f
overPosObj src/Shape.hs 279;" f overPosObj src/Shape.hs 279;" f
overPosSH src/Shape.hs 263;" f overPosSH src/Shape.hs 263;" f
overPosSP src/ShapePicture.hs 41;" f overPosSP src/ShapePicture.hs 41;" f
overlapCircWalls src/Dodge/Base/Collide.hs 240;" f overlapCircWalls src/Dodge/Base/Collide.hs 251;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 279;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 290;" f
overlapSegCrs src/Dodge/Base/Collide.hs 61;" f overlapSegCrs src/Dodge/Base/Collide.hs 63;" f
overlapSegWalls src/Dodge/Base/Collide.hs 220;" f overlapSegCrs' src/Dodge/Base/Collide.hs 71;" f
overlapSegWalls src/Dodge/Base/Collide.hs 231;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 281;" f overrideInternal src/Dodge/Creature/ReaderUpdate.hs 281;" f
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 38;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 38;" f
overwriteLabel src/Dodge/Tree/Compose.hs 32;" f overwriteLabel src/Dodge/Tree/Compose.hs 32;" f
@@ -4456,7 +4459,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 655;" f passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 674;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4466,7 +4469,7 @@ pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f pauseSound src/Dodge/SoundLogic.hs 42;" f
pauseTime src/Dodge/Update.hs 219;" f pauseTime src/Dodge/Update.hs 219;" f
pbFlicker src/Dodge/Update.hs 567;" f pbFlicker src/Dodge/Update.hs 567;" f
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 114;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 143;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f
penThing src/Dodge/Bullet.hs 215;" f penThing src/Dodge/Bullet.hs 215;" f
@@ -4527,7 +4530,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 292;" f poisonSPic src/Dodge/Creature/Update.hs 290;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 518;" f poke34 src/Shader/Poke.hs 518;" f
pokeArrayOff src/Shader/Poke.hs 530;" f pokeArrayOff src/Shader/Poke.hs 530;" f
@@ -4562,8 +4565,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 76;" f poly3 src/Picture/Base.hs 76;" f
poly3Col src/Picture/Base.hs 80;" f poly3Col src/Picture/Base.hs 80;" f
polyChasm src/Dodge/Room/Tutorial.hs 357;" f polyChasm src/Dodge/Room/Tutorial.hs 376;" f
polyChasmC src/Dodge/Room/Tutorial.hs 369;" f polyChasmC src/Dodge/Room/Tutorial.hs 388;" f
polyCirc src/Shape.hs 48;" f polyCirc src/Shape.hs 48;" f
polyCircx src/Shape.hs 53;" f polyCircx src/Shape.hs 53;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4655,7 +4658,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f
putShape src/Dodge/Room/Foreground.hs 134;" f putShape src/Dodge/Room/Foreground.hs 134;" f
putSingleLight src/Dodge/Room/Tutorial.hs 471;" f putSingleLight src/Dodge/Room/Tutorial.hs 490;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 84;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f
@@ -4889,14 +4892,14 @@ sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 809;" f
scToTS src/Dodge/Event/Input.hs 34;" f scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 141;" f scale src/Picture/Base.hs 141;" f
scale3 src/Picture/Base.hs 137;" f scale3 src/Picture/Base.hs 137;" f
scaleAlong src/Dodge/Creature/Picture.hs 68;" f scaleAlong src/Dodge/Creature/Picture.hs 69;" f
scaleMat src/MatrixHelper.hs 71;" f scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 271;" f scaleSH src/Shape.hs 271;" f
scalp src/Dodge/Creature/Picture.hs 348;" f scalp src/Dodge/Creature/Picture.hs 349;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 289;" f scorchSPic src/Dodge/Creature/Update.hs 287;" f
screenBox src/Dodge/Base/Window.hs 54;" f screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f
@@ -4924,7 +4927,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f
seedStartMenu src/Dodge/Menu.hs 85;" f seedStartMenu src/Dodge/Menu.hs 85;" f
seedStartOptions src/Dodge/Menu.hs 88;" f seedStartOptions src/Dodge/Menu.hs 88;" f
segOnCirc src/Geometry.hs 113;" f segOnCirc src/Geometry.hs 113;" f
segmentArea src/Dodge/Creature/Update.hs 160;" f segmentArea src/Dodge/Creature/Update.hs 158;" f
selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPos src/Dodge/Render/HUD.hs 475;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f
selSecDrawCursor src/Dodge/Render/List.hs 101;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f
@@ -4942,7 +4945,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f
sensorSPic src/Dodge/Machine/Draw.hs 89;" f sensorSPic src/Dodge/Machine/Draw.hs 89;" f
sensorTut src/Dodge/Room/Tutorial.hs 599;" f sensorTut src/Dodge/Room/Tutorial.hs 618;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
@@ -4976,7 +4979,7 @@ setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 159;" f setSoundVolume src/Sound.hs 159;" f
setTile src/Dodge/Layout.hs 78;" f setTile src/Dodge/Layout.hs 78;" f
setTiles src/Dodge/Layout.hs 68;" f setTiles src/Dodge/Layout.hs 68;" f
setTreeInts src/Dodge/Room/Tutorial.hs 103;" f setTreeInts src/Dodge/Room/Tutorial.hs 106;" f
setViewDistance src/Dodge/Update/Camera.hs 240;" f setViewDistance src/Dodge/Update/Camera.hs 240;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 71;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 71;" f
setViewport src/Dodge/Render.hs 448;" f setViewport src/Dodge/Render.hs 448;" f
@@ -5054,10 +5057,10 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 130;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 107;" f showManObj src/Dodge/TestString.hs 109;" f
showMuzzlePositions src/Dodge/Debug.hs 292;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 124;" f showTimeFlow src/Dodge/TestString.hs 126;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
shrinkVert src/Geometry/Polygon.hs 202;" f shrinkVert src/Geometry/Polygon.hs 202;" f
shuffle src/RandomHelp.hs 68;" f shuffle src/RandomHelp.hs 68;" f
@@ -5094,9 +5097,9 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f
slideWindow src/ListHelp.hs 81;" f slideWindow src/ListHelp.hs 81;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 65;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 65;" f
slimeCritUpdate src/Dodge/Creature/Update.hs 72;" f slimeCritUpdate src/Dodge/Creature/Update.hs 71;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 54;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 54;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 163;" f slinkCritUpdate src/Dodge/Creature/Update.hs 161;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f
@@ -5151,14 +5154,14 @@ spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 54;" f spawnerCrit src/Dodge/Creature.hs 54;" f
spawnerRoom src/Dodge/Room/Room.hs 390;" f spawnerRoom src/Dodge/Room/Room.hs 390;" f
speedLegs src/Dodge/Item/Equipment.hs 74;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f
spiderJoint src/Dodge/Creature/Picture.hs 238;" f spiderJoint src/Dodge/Creature/Picture.hs 239;" f
splashMenu src/Dodge/Menu.hs 31;" f splashMenu src/Dodge/Menu.hs 31;" f
splashMenuOptions src/Dodge/Menu.hs 36;" f splashMenuOptions src/Dodge/Menu.hs 36;" f
splashScreen src/Dodge/Initialisation.hs 10;" f splashScreen src/Dodge/Initialisation.hs 10;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f splitLookupTrie src/SimpleTrie.hs 39;" f
splitSlimeCrit src/Dodge/Creature/Update.hs 133;" f splitSlimeCrit src/Dodge/Creature/Update.hs 130;" f
splitTrunk src/TreeHelp.hs 181;" f splitTrunk src/TreeHelp.hs 181;" f
splitTrunkAt src/TreeHelp.hs 169;" f splitTrunkAt src/TreeHelp.hs 169;" f
spreadAroundCenter src/Dodge/Base.hs 173;" f spreadAroundCenter src/Dodge/Base.hs 173;" f
@@ -5168,8 +5171,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
spreadOut src/Dodge/Creature/Boid.hs 160;" f spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 234;" f sqPlatformChasm src/Dodge/Room/Tutorial.hs 253;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 249;" f sqSpitChasm src/Dodge/Room/Tutorial.hs 268;" f
square src/Geometry/Polygon.hs 56;" f square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f
@@ -5196,7 +5199,7 @@ stackText src/Picture/Base.hs 180;" f
stackedInventory src/Dodge/Creature.hs 326;" f stackedInventory src/Dodge/Creature.hs 326;" f
startCr src/Dodge/Creature.hs 90;" f startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 94;" f startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 243;" f startDeathTimer src/Dodge/Creature/Update.hs 241;" f
startDrag src/Dodge/Update/Input/InGame.hs 319;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f
startInvList src/Dodge/Creature.hs 105;" f startInvList src/Dodge/Creature.hs 105;" f
startInventory src/Dodge/Creature.hs 108;" f startInventory src/Dodge/Creature.hs 108;" f
@@ -5312,11 +5315,12 @@ thickCircle src/Picture/Base.hs 267;" f
thickLine src/Picture/Base.hs 238;" f thickLine src/Picture/Base.hs 238;" f
thickLineCol src/Picture/Base.hs 250;" f thickLineCol src/Picture/Base.hs 250;" f
thinHighBar src/Dodge/Room/Foreground.hs 77;" f thinHighBar src/Dodge/Room/Foreground.hs 77;" f
thingHit src/Dodge/WorldEvent/ThingsHit.hs 135;" f thingHit src/Dodge/WorldEvent/ThingsHit.hs 164;" f
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 123;" f thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 152;" f
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 47;" f thingsHit src/Dodge/WorldEvent/ThingsHit.hs 48;" f
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 144;" f thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 173;" f
thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 55;" f thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 56;" f
thingsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 64;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f
throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 819;" f throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 819;" f
throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 779;" f throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 779;" f
@@ -5347,7 +5351,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 158;" f toColor8 src/Color.hs 158;" f
toDeathCarriage src/Dodge/Creature/Update.hs 251;" f toDeathCarriage src/Dodge/Creature/Update.hs 249;" f
toFloatVAs src/Shader/Compile.hs 66;" f toFloatVAs src/Shader/Compile.hs 66;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
@@ -5371,11 +5375,11 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f
topInvW src/Dodge/ListDisplayParams.hs 56;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f
topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f
topPrismIndices src/Shader/Poke.hs 419;" f topPrismIndices src/Shader/Poke.hs 419;" f
topTestPart src/Dodge/TestString.hs 102;" f topTestPart src/Dodge/TestString.hs 104;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 85;" f torqueCr src/Dodge/WorldEffect.hs 85;" f
torso src/Dodge/Creature/Picture.hs 353;" f torso src/Dodge/Creature/Picture.hs 354;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 850;" f tractorBeamAt src/Dodge/HeldUse.hs 850;" f
@@ -5444,12 +5448,12 @@ tryUseParent src/Dodge/Creature/State.hs 150;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f
tutDrop src/Dodge/Room/Tutorial.hs 108;" f tutDrop src/Dodge/Room/Tutorial.hs 111;" f
tutHub src/Dodge/Room/Tutorial.hs 497;" f tutHub src/Dodge/Room/Tutorial.hs 516;" f
tutLight src/Dodge/Room/Tutorial.hs 401;" f tutLight src/Dodge/Room/Tutorial.hs 420;" f
tutRezBox src/Dodge/Room/Tutorial.hs 610;" f tutRezBox src/Dodge/Room/Tutorial.hs 629;" f
tutRoomTree src/Dodge/Floor.hs 20;" f tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 635;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 654;" f
tweenAngles src/Geometry/Vector.hs 198;" f tweenAngles src/Geometry/Vector.hs 198;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f
@@ -5500,7 +5504,7 @@ updateCloud src/Dodge/Update.hs 904;" f
updateClouds src/Dodge/Update.hs 773;" f updateClouds src/Dodge/Update.hs 773;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f
updateCreature src/Dodge/Creature/Update.hs 40;" f updateCreature src/Dodge/Creature/Update.hs 39;" f
updateCreatureGroups src/Dodge/Update.hs 634;" f updateCreatureGroups src/Dodge/Update.hs 634;" f
updateCreatureSoundPositions src/Dodge/Update.hs 613;" f updateCreatureSoundPositions src/Dodge/Update.hs 613;" f
updateCreatureStride src/Dodge/Update.hs 376;" f updateCreatureStride src/Dodge/Update.hs 376;" f
@@ -5508,7 +5512,7 @@ updateCreatureStrides src/Dodge/Update.hs 373;" f
updateDebris src/Dodge/Update.hs 676;" f updateDebris src/Dodge/Update.hs 676;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 104;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f
updateDelayedEvents src/Dodge/Update.hs 1058;" f updateDelayedEvents src/Dodge/Update.hs 1059;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 8;" f updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 655;" f updateDistortions src/Dodge/Update.hs 655;" f
@@ -5549,7 +5553,7 @@ updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 513;" f updateLasers src/Dodge/Update.hs 513;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 49;" f updateLivingCreature src/Dodge/Creature/Update.hs 48;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 405;" f updateMagnets src/Dodge/Update.hs 405;" f
@@ -5566,7 +5570,7 @@ updatePlasmaBall src/Dodge/Update.hs 527;" f
updatePlasmaBalls src/Dodge/Update.hs 669;" f updatePlasmaBalls src/Dodge/Update.hs 669;" f
updatePreload src/Preload/Update.hs 21;" f updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 304;" f updatePulse src/Dodge/Creature/Update.hs 302;" f
updatePulseBall src/Dodge/Update.hs 547;" f updatePulseBall src/Dodge/Update.hs 547;" f
updatePulseLaser src/Dodge/Update.hs 716;" f updatePulseLaser src/Dodge/Update.hs 716;" f
updatePulseLasers src/Dodge/Update.hs 522;" f updatePulseLasers src/Dodge/Update.hs 522;" f
@@ -5608,7 +5612,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 492;" f updateWheelEvents src/Dodge/Update.hs 492;" f
updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f
updateWorldEventFlags src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f
upperBody src/Dodge/Creature/Picture.hs 368;" f upperBody src/Dodge/Creature/Picture.hs 369;" f
upperBox src/Shape.hs 149;" f upperBox src/Shape.hs 149;" f
upperBoxHalf src/Shape.hs 224;" f upperBoxHalf src/Shape.hs 224;" f
upperBoxMT src/Shape.hs 140;" f upperBoxMT src/Shape.hs 140;" f
@@ -5672,7 +5676,7 @@ viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f
viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 254;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 254;" f
violet src/Color.hs 48;" f violet src/Color.hs 48;" f
visibleWalls src/Dodge/Base/Collide.hs 225;" f visibleWalls src/Dodge/Base/Collide.hs 236;" f
visionCheck src/Dodge/Creature/Perception.hs 162;" f visionCheck src/Dodge/Creature/Perception.hs 162;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f
@@ -5683,7 +5687,7 @@ wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 99;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallMovement src/Dodge/WallCreatureCollisions.hs 68;" f wallMovement src/Dodge/WallCreatureCollisions.hs 68;" f
wallToSurface src/Dodge/Base/Collide.hs 189;" f wallToSurface src/Dodge/Base/Collide.hs 200;" f
wallsFromRooms src/Dodge/Layout.hs 158;" f wallsFromRooms src/Dodge/Layout.hs 158;" f
wallsToDraw src/Dodge/Render/Walls.hs 18;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f
warmupSound src/Dodge/HeldUse.hs 1396;" f warmupSound src/Dodge/HeldUse.hs 1396;" f
@@ -5727,7 +5731,7 @@ windowXFloat src/Dodge/Data/Config.hs 72;" f
windowYFloat src/Dodge/Data/Config.hs 74;" f windowYFloat src/Dodge/Data/Config.hs 74;" f
withAlpha src/Color.hs 37;" f withAlpha src/Color.hs 37;" f
withByteString src/Shader/Compile.hs 157;" f withByteString src/Shader/Compile.hs 157;" f
wlHitPos src/Dodge/WorldEvent/ThingsHit.hs 162;" f wlHitPos src/Dodge/WorldEvent/ThingsHit.hs 191;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 31;" f wlIXsNearCirc src/Dodge/Zoning/Wall.hs 31;" f
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 21;" f wlIXsNearPoint src/Dodge/Zoning/Wall.hs 21;" f
wlIXsNearRect src/Dodge/Zoning/Wall.hs 28;" f wlIXsNearRect src/Dodge/Zoning/Wall.hs 28;" f
@@ -5740,9 +5744,9 @@ wlWlCrush' src/Dodge/WallCreatureCollisions.hs 89;" f
wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f
wlsCrush' src/Dodge/WallCreatureCollisions.hs 80;" f wlsCrush' src/Dodge/WallCreatureCollisions.hs 80;" f
wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 158;" f wlsHit src/Dodge/WorldEvent/ThingsHit.hs 187;" f
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 170;" f wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 199;" f
wlsHitUnsorted src/Dodge/WorldEvent/ThingsHit.hs 165;" f wlsHitUnsorted src/Dodge/WorldEvent/ThingsHit.hs 194;" f
wlsNearCirc src/Dodge/Zoning/Wall.hs 48;" f wlsNearCirc src/Dodge/Zoning/Wall.hs 48;" f
wlsNearPoint src/Dodge/Zoning/Wall.hs 38;" f wlsNearPoint src/Dodge/Zoning/Wall.hs 38;" f
wlsNearRect src/Dodge/Zoning/Wall.hs 45;" f wlsNearRect src/Dodge/Zoning/Wall.hs 45;" f
@@ -5758,6 +5762,7 @@ wristArmour src/Dodge/Item/Equipment.hs 35;" f
wristInvisibility src/Dodge/Item/Equipment.hs 80;" f wristInvisibility src/Dodge/Item/Equipment.hs 80;" f
writeConfig src/Dodge/Menu.hs 180;" f writeConfig src/Dodge/Menu.hs 180;" f
writeSaveSlot src/Dodge/Save.hs 36;" f writeSaveSlot src/Dodge/Save.hs 36;" f
xChasm src/Dodge/Room/Tutorial.hs 145;" f
xCylinder src/Shape.hs 129;" f xCylinder src/Shape.hs 129;" f
xCylinderST src/Shape.hs 126;" f xCylinderST src/Shape.hs 126;" f
xIntercepts src/Dodge/Zoning/Base.hs 66;" f xIntercepts src/Dodge/Zoning/Base.hs 66;" f
@@ -5779,7 +5784,7 @@ yourRootItem src/Dodge/Base/You.hs 26;" f
yourRootItemDT src/Dodge/Base/You.hs 32;" f yourRootItemDT src/Dodge/Base/You.hs 32;" f
yourSelectedItem src/Dodge/Base/You.hs 20;" f yourSelectedItem src/Dodge/Base/You.hs 20;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 167;" f zChasm src/Dodge/Room/Tutorial.hs 186;" f
zConnect src/Dodge/Render/Connectors.hs 18;" f zConnect src/Dodge/Render/Connectors.hs 18;" f
zConnectCol src/Dodge/Render/Connectors.hs 29;" f zConnectCol src/Dodge/Render/Connectors.hs 29;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f