Commit before adding more debugging control

This commit is contained in:
2025-10-26 16:55:22 +00:00
parent 0adf3f57b4
commit c641cbaa69
8 changed files with 171 additions and 128 deletions
+4 -1
View File
@@ -48,10 +48,13 @@ doorLerp speed dr w = fromMaybe (mempty,domounts (dr ^. drLerp) w) $ do
x <- newlerp x <- newlerp
let ps = wlposs x let ps = wlposs x
is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps
ps' = wlposs (dr ^. drLerp)
is' = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps'
is'' = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) (ps <> ps')
-- it seems possible that this will miss some paths: we don't add zones for the -- it seems possible that this will miss some paths: we don't add zones for the
-- old footprint. Seems unlikely, but a possible cause of pathfinding bugs -- old footprint. Seems unlikely, but a possible cause of pathfinding bugs
return return
( is ( is''
, domounts x $ f x , domounts x $ f x
& playSound x & playSound x
& cWorld . lWorld . doors . ix drid . drLerp .~ x & cWorld . lWorld . doors . ix drid . drLerp .~ x
+2 -1
View File
@@ -46,7 +46,8 @@ jspsJ :: Point2 -> Float -> PSType -> Placement -> Maybe Placement
jspsJ p a pst plm = Just $ Placement (PS p a) pst Nothing Nothing $ \_ _ -> Just plm jspsJ p a pst plm = Just $ Placement (PS p a) pst Nothing Nothing $ \_ _ -> Just plm
jsps0J :: PSType -> Placement -> Maybe Placement jsps0J :: PSType -> Placement -> Maybe Placement
jsps0J pst plm = Just $ Placement (PS (V2 0 0) 0) pst Nothing Nothing $ \_ _ -> Just plm --jsps0J pst plm = Just $ Placement (PS (V2 0 0) 0) pst Nothing Nothing $ \_ _ -> Just plm
jsps0J = jspsJ 0 0
ps0 :: PSType -> (Int -> Maybe Placement) -> Placement ps0 :: PSType -> (Int -> Maybe Placement) -> Placement
ps0 pst = Placement (PS (V2 0 0) 0) pst Nothing Nothing . contToIDCont ps0 pst = Placement (PS (V2 0 0) 0) pst Nothing Nothing . contToIDCont
+1
View File
@@ -118,6 +118,7 @@ pairsToIncGraph pairs =
inodes = UV.generate (length ps) (ps !!) inodes = UV.generate (length ps) (ps !!)
ps = Set.toList $ Set.map fst pairs <> Set.map snd pairs ps = Set.toList $ Set.map fst pairs <> Set.map snd pairs
-- consider updating all path edges at the end of world generation?
obstructPathsCrossing :: S.Set EdgeObstacle -> Point2 -> Point2 -> World -> World obstructPathsCrossing :: S.Set EdgeObstacle -> Point2 -> Point2 -> World -> World
obstructPathsCrossing obs s e w = w & cWorld . incGraph %~ updateincedges obstructPathsCrossing obs s e w = w & cWorld . incGraph %~ updateincedges
where where
+21 -11
View File
@@ -4,12 +4,12 @@ module Dodge.Placement.Instance.Door (
putDoubleDoorThen, putDoubleDoorThen,
) where ) where
import Dodge.Door.PutSlideDoor
import Control.Lens import Control.Lens
import Dodge.Data.CreatureEffect import Dodge.Data.CreatureEffect
import Dodge.Data.GenWorld import Dodge.Data.GenWorld
import Dodge.Default.Door import Dodge.Default.Door
import Dodge.Default.Wall import Dodge.Default.Wall
import Dodge.Door.PutSlideDoor
import Dodge.LevelGen.PlacementHelper import Dodge.LevelGen.PlacementHelper
import Geometry import Geometry
import Linear import Linear
@@ -51,15 +51,22 @@ doorBetween ::
(Placement -> Maybe Placement) -> (Placement -> Maybe Placement) ->
Placement Placement
doorBetween wl cond soff pa pb speed g = case divideLine 40 pa pb of doorBetween wl cond soff pa pb speed g = case divideLine 40 pa pb of
[x, y] -> ptCont (putSlideDr adoor wl soff x y) g -- [x, y] -> ptCont (putSlideDr adoor wl soff x y) g
(x : y : zs) -> divideDoorPane Nothing wl cond (soff - dist y pb) speed (zip (x : y : zs) (y : zs)) g (x : y : zs) ->
divideDoorPane
Nothing
wl
cond
(soff - dist y pb)
speed
(zip (x : y : zs) (y : zs))
g
_ -> error "tried to create doorBetween with too few points" _ -> error "tried to create doorBetween with too few points"
where -- where
adoor = -- adoor =
defaultDoor -- defaultDoor
& drTrigger .~ cond -- & drTrigger .~ cond
& drUpdate .~ DoorLerp speed -- & drUpdate .~ DoorLerp speed
divideDoorPane :: divideDoorPane ::
Maybe Int -> Maybe Int ->
@@ -72,12 +79,15 @@ divideDoorPane ::
Placement Placement
divideDoorPane mid wl cond soff speed ppairs g = case ppairs of divideDoorPane mid wl cond soff speed ppairs g = case ppairs of
[p] -> ptCont (adoor p) g [p] -> ptCont (adoor p) g
(p : ps) -> ptCont (adoor p) $ \pl -> Just $ divideDoorPane (_plMID pl) wl cond soff speed ps g (p : ps) -> ptCont (adoor p) $
\pl -> Just $ divideDoorPane (_plMID pl) wl cond soff speed ps g
_ -> undefined _ -> undefined
where where
adoor (x, y) = putSlideDr thedoor wl soff x y adoor (x, y) = putSlideDr thedoor wl soff x y
thedoor = thedoor =
defaultDoor & drUpdate . drLerpSpeed .~ speed & drTrigger .~ cond defaultDoor
& drUpdate . drLerpSpeed .~ speed
& drTrigger .~ cond
& drPushedBy .~ maybe PushesItself PushedBy mid & drPushedBy .~ maybe PushesItself PushedBy mid
putAutoDoor :: Point2 -> Point2 -> Placement putAutoDoor :: Point2 -> Point2 -> Placement
@@ -11,6 +11,7 @@ module Dodge.Placement.Instance.LightSource (
spanColLightBlackI, spanColLightBlackI,
moveLSThen, moveLSThen,
spanLightI, spanLightI,
spanLightY,
mntLightLnkCond', mntLightLnkCond',
spanLS, spanLS,
) where ) where
@@ -27,6 +28,7 @@ import Geometry
import RandomHelp import RandomHelp
import Shape import Shape
import ShapePicture import ShapePicture
import Linear
propLSThen :: propLSThen ::
PropUpdate -> PropUpdate ->
@@ -215,6 +217,16 @@ spanColLightBlackI col h a b =
spanLightI :: Point2 -> Point2 -> Placement spanLightI :: Point2 -> Point2 -> Placement
spanLightI = spanColLightI 0.75 50 spanLightI = spanColLightI 0.75 50
spanLightY :: Point2 -> Point2 -> Point2 -> Point2 -> Placement
spanLightY l x y z =
ps0j (PutLS $ lsColPos 0.75 (addZ (h -5) l)) $
ps0j (f x) $
ps0j (f y) $
sps0 $ f z
where
f p = putShape $ thinHighBar h p (l + normalize (l-p))
h = 50
--extendAway :: Point2 -> Point2 -> Point2 --extendAway :: Point2 -> Point2 -> Point2
--extendAway p x = p +.+ squashNormalizeV (p -.- x) --extendAway p x = p +.+ squashNormalizeV (p -.- x)
+31 -18
View File
@@ -3,8 +3,6 @@
{- Rooms that contain two doors and a switch alternating both. -} {- Rooms that contain two doors and a switch alternating both. -}
module Dodge.Room.Airlock where module Dodge.Room.Airlock where
import Dodge.Room.Foreground
import ShapePicture
import Control.Lens import Control.Lens
import Control.Monad import Control.Monad
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
@@ -18,11 +16,13 @@ import Dodge.LevelGen.PlacementHelper
import Dodge.LevelGen.Switch import Dodge.LevelGen.Switch
import Dodge.Placement.Instance import Dodge.Placement.Instance
import Dodge.Placement.Instance.Analyser import Dodge.Placement.Instance.Analyser
import Dodge.Room.Foreground
import Dodge.Room.Path import Dodge.Room.Path
import Dodge.RoomLink import Dodge.RoomLink
import Geometry import Geometry
import Picture import Picture
import RandomHelp import RandomHelp
import ShapePicture
-- | A passage with a switch that opens forward access while closing backwards access. -- | A passage with a switch that opens forward access while closing backwards access.
airlock :: RandomGen g => State g Room airlock :: RandomGen g => State g Room
@@ -107,26 +107,35 @@ airlockDoubleDoor ::
Point2A -> Point2A ->
Point2A -> Point2A ->
Maybe Placement Maybe Placement
airlockDoubleDoor cond l x1 y1 x2 y2 = airlockDoubleDoor cond l x1 y1 x2 y2 = jsps0J (pd x1 y1) $ sps0 (pd x2 y2)
jspsJ 0 0 (putDoor cond l x1 y1) $ where
sPS 0 0 (putDoor cond l x2 y2) pd = putDoor cond l
putDoor :: WdBl -> Float -> Point2A -> Point2A -> PSType putDoor :: WdBl -> Float -> Point2A -> Point2A -> PSType
putDoor cond l p1 p2 = PutDoor dr wl putDoor cond l p1 p2 = PutDoor dr defaultDoorWall
where where
wl = defaultDoorWall
dr = dr =
defaultDoor defaultDoor
& drTrigger .~ cond & drTrigger .~ cond
& drUpdate .~ DoorLerp 0.01 & drUpdate .~ DoorLerp 0.01
& drZeroPos .~ p1 & drZeroPos .~ p1
& drOnePos .~ p2 & drOnePos .~ p2
& drFootPrint .~ IM.fromList (zip [0 ..] wlps') & drFootPrint
wlps' = loopPairs $ mkRectangle 9 (V2 l 0) .~ IM.fromDistinctAscList
(zip [0 ..] (loopPairs $ mkRectangle 9 (V2 l 0)))
airlockSimple :: RandomGen g => State g Room airlockSimple :: RandomGen g => State g Room
airlockSimple = do airlockSimple = do
light1 <- mntLightLnkCond $ PS (V2 90 120) 0 light1 <-
join $
takeOne
[ mntLightLnkCond $ PS (V2 90 120) 0
, mntLightLnkCond $ PS (V2 90 0) pi
, return $ spanLightI (V2 90 0) (V2 90 120)
, return $ spanLightI (V2 0 60) (V2 180 60)
, takeOne [30, 60, 90] <&> \x ->
spanLightY (V2 90 (120 - x)) (V2 (90 - x) 120) (V2 (90 + x) 120) (V2 90 0)
]
return $ return $
defaultRoom defaultRoom
{ _rmPolys = [rectNSWE 120 0 0 180] { _rmPolys = [rectNSWE 120 0 0 180]
@@ -208,9 +217,11 @@ airlock90 =
[ pContID [ pContID
(PS (V2 120 120) (3 * pi / 4)) (PS (V2 120 120) (3 * pi / 4))
xSwitch xSwitch
$ \btid -> jsps (V2 5 5) 0 $ putDoor (WdBlBtOn btid) l1 x1 y1 $ \btid ->
& putDoorDoor . drMounts .~ themounts jsps (V2 5 5) 0 $
-- , mntLS vShape (V2 35 35) (V3 70 70 50) putDoor (WdBlBtOn btid) l1 x1 y1
& putDoorDoor . drMounts .~ themounts
-- , mntLS vShape (V2 35 35) (V3 70 70 50)
] ]
, _rmBound = , _rmBound =
pure pure
@@ -223,10 +234,10 @@ airlock90 =
, _rmName = "airlock90" , _rmName = "airlock90"
} }
where where
themounts = themounts =
[ MountedLight (V3 hl hl 50) 150 0.5 [ MountedLight (V3 hl hl 50) 150 0.5
, MountedLight (V3 hl (-hl) 50) 150 0.5 , MountedLight (V3 hl (- hl) 50) 150 0.5
, MountedSPic . noPic $ thinHighBar 55 (V2 hl (-hl')) (V2 hl hl') , MountedSPic . noPic $ thinHighBar 55 (V2 hl (- hl')) (V2 hl hl')
] ]
lnks = muout [(V2 0 40, pi / 2)] ++ muin [(V2 40 0, pi)] lnks = muout [(V2 0 40, pi / 2)] ++ muin [(V2 40 0, pi)]
hl = 27.5 hl = 27.5
@@ -239,8 +250,9 @@ airlockCrystal :: Room
airlockCrystal = airlockCrystal =
defaultRoom defaultRoom
{ _rmPolys = [rectNSWE 140 0 0 40, switchcutout] { _rmPolys = [rectNSWE 140 0 0 40, switchcutout]
, _rmLinks = muout [(V2 20 130, 0)] ++ muin [(V2 20 0, pi)] , _rmLinks = lnks
, _rmPath = mempty , _rmPath = linksGridToPath' lnks
$ loopPairs [V2 20 40, V2 100 70, V2 20 110]
, _rmPmnts = , _rmPmnts =
[ pContID [ pContID
(PS (V2 145 70) (pi / 2)) (PS (V2 145 70) (pi / 2))
@@ -252,6 +264,7 @@ airlockCrystal =
, _rmBound = [rectNSWE 120 20 0 40, switchcutout] , _rmBound = [rectNSWE 120 20 0 40, switchcutout]
} }
where where
lnks = muout [(V2 20 130, 0)] ++ muin [(V2 20 0, pi)]
switchcutout = orderPolygon $ map toV2 [(39, 20), (150, 60), (150, 80), (39, 120)] switchcutout = orderPolygon $ map toV2 [(39, 20), (150, 60), (150, 80), (39, 120)]
l1 = 55 l1 = 55
x1 = (0, pi / 2) x1 = (0, pi / 2)
+3 -2
View File
@@ -51,10 +51,11 @@ tutAnoTree = do
-- , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40) -- , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40)
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward airlock0 -- , return $ tToBTree "cor" $ return $ cleatOnward airlock0
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward airlockCrystal
-- , tToBTree "x" . return . cleatOnward <$> airlockSimple -- , tToBTree "x" . return . cleatOnward <$> airlockSimple
-- , tToBTree "lastun" . return . cleatOnward <$> tanksRoom [] [] -- , tToBTree "lastun" . return . cleatOnward <$> tanksRoom [] []
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , tToBTree "lastun" . return . cleatOnward <$> cenLasTur -- , tToBTree "lastun" . return . cleatOnward <$> cenLasTur
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
+97 -95
View File
@@ -714,6 +714,7 @@ MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C
MakeSound src/Dodge/Data/ActionPlan.hs 42;" C MakeSound src/Dodge/Data/ActionPlan.hs 42;" C
MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 28;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 28;" C
MakeTempLight src/Dodge/Data/WorldEffect.hs 32;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 32;" C
MakeTempLightFade src/Dodge/Data/WorldEffect.hs 33;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" t ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" t
Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C
@@ -727,11 +728,11 @@ McProxSensor src/Dodge/Data/Machine.hs 46;" C
McStatic src/Dodge/Data/Machine.hs 43;" C McStatic src/Dodge/Data/Machine.hs 43;" C
McTerminal src/Dodge/Data/Machine.hs 44;" C McTerminal src/Dodge/Data/Machine.hs 44;" C
McTurret src/Dodge/Data/Machine.hs 47;" C McTurret src/Dodge/Data/Machine.hs 47;" C
MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 47;" C MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 48;" C
MdSetLSCol src/Dodge/Data/WorldEffect.hs 46;" C MdSetLSCol src/Dodge/Data/WorldEffect.hs 47;" C
MdTrigIf src/Dodge/Data/WorldEffect.hs 45;" C MdTrigIf src/Dodge/Data/WorldEffect.hs 46;" C
MdWdId src/Dodge/Data/WorldEffect.hs 44;" C MdWdId src/Dodge/Data/WorldEffect.hs 45;" C
MdWdWd src/Dodge/Data/WorldEffect.hs 43;" t MdWdWd src/Dodge/Data/WorldEffect.hs 44;" t
MedBaySS src/Dodge/Data/Scenario.hs 100;" C MedBaySS src/Dodge/Data/Scenario.hs 100;" C
Medium src/Shape/Data.hs 25;" C Medium src/Shape/Data.hs 25;" C
Melee src/Dodge/Data/ActionPlan.hs 40;" C Melee src/Dodge/Data/ActionPlan.hs 40;" C
@@ -1375,7 +1376,7 @@ UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C
UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C
UseHeld src/Dodge/Data/Item/Use.hs 29;" C UseHeld src/Dodge/Data/Item/Use.hs 29;" C
UseInt src/Dodge/Data/Item/Use.hs 31;" C UseInt src/Dodge/Data/Item/Use.hs 31;" C
UseInvItem src/Dodge/Data/WorldEffect.hs 33;" C UseInvItem src/Dodge/Data/WorldEffect.hs 34;" C
UseItem src/Dodge/Data/ActionPlan.hs 36;" C UseItem src/Dodge/Data/ActionPlan.hs 36;" C
UseItemWidth src/Dodge/Data/SelectionList.hs 39;" C UseItemWidth src/Dodge/Data/SelectionList.hs 39;" C
UseMapper src/Dodge/Data/Item/Use.hs 37;" C UseMapper src/Dodge/Data/Item/Use.hs 37;" C
@@ -1438,28 +1439,28 @@ WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C
WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C
WarningCry src/Dodge/Data/ActionPlan.hs 137;" C WarningCry src/Dodge/Data/ActionPlan.hs 137;" C
WatchAndWait src/Dodge/Data/ActionPlan.hs 135;" C WatchAndWait src/Dodge/Data/ActionPlan.hs 135;" C
WdBl src/Dodge/Data/WorldEffect.hs 50;" t WdBl src/Dodge/Data/WorldEffect.hs 51;" t
WdBlBtOn src/Dodge/Data/WorldEffect.hs 56;" C WdBlBtOn src/Dodge/Data/WorldEffect.hs 57;" C
WdBlConst src/Dodge/Data/WorldEffect.hs 53;" C WdBlConst src/Dodge/Data/WorldEffect.hs 54;" C
WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 55;" C WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 56;" C
WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 52;" C WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 53;" C
WdBlNegate src/Dodge/Data/WorldEffect.hs 54;" C WdBlNegate src/Dodge/Data/WorldEffect.hs 55;" C
WdCrBl src/Dodge/Data/CreatureEffect.hs 12;" t WdCrBl src/Dodge/Data/CreatureEffect.hs 12;" t
WdCrBlfromCrBl src/Dodge/Data/CreatureEffect.hs 14;" C WdCrBlfromCrBl src/Dodge/Data/CreatureEffect.hs 14;" C
WdCrLOSTarget src/Dodge/Data/CreatureEffect.hs 16;" C WdCrLOSTarget src/Dodge/Data/CreatureEffect.hs 16;" C
WdCrNegate src/Dodge/Data/CreatureEffect.hs 15;" C WdCrNegate src/Dodge/Data/CreatureEffect.hs 15;" C
WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 17;" C WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 17;" C
WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C
WdP2 src/Dodge/Data/WorldEffect.hs 38;" t WdP2 src/Dodge/Data/WorldEffect.hs 39;" t
WdP2Const src/Dodge/Data/WorldEffect.hs 39;" C WdP2Const src/Dodge/Data/WorldEffect.hs 40;" C
WdP2f src/Dodge/Data/WorldEffect.hs 59;" t WdP2f src/Dodge/Data/WorldEffect.hs 60;" t
WdP2f0 src/Dodge/Data/WorldEffect.hs 60;" C WdP2f0 src/Dodge/Data/WorldEffect.hs 61;" C
WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 61;" C WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 62;" C
WdTrig src/Dodge/Data/WorldEffect.hs 51;" C WdTrig src/Dodge/Data/WorldEffect.hs 52;" C
WdWd src/Dodge/Data/WorldEffect.hs 20;" t WdWd src/Dodge/Data/WorldEffect.hs 20;" t
WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 34;" C WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 35;" C
WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 30;" C WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 30;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 40;" C WdYouPos src/Dodge/Data/WorldEffect.hs 41;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C
West src/Dodge/Data/CardinalPoint.hs 9;" C West src/Dodge/Data/CardinalPoint.hs 9;" C
@@ -2452,18 +2453,19 @@ _wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f
_xNum src/Dodge/Data/Item/Combine.hs 139;" f _xNum src/Dodge/Data/Item/Combine.hs 139;" f
_xNum src/Dodge/Data/Item/Combine.hs 149;" f _xNum src/Dodge/Data/Item/Combine.hs 149;" f
_xNum src/Dodge/Data/Item/Combine.hs 170;" f _xNum src/Dodge/Data/Item/Combine.hs 170;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 100;" f
aFlame src/Dodge/Gas.hs 20;" f aFlame src/Dodge/Gas.hs 20;" f
aGasCloud src/Dodge/Gas.hs 15;" f aGasCloud src/Dodge/Gas.hs 15;" f
aRadarPulse src/Dodge/RadarSweep.hs 20;" f aRadarPulse src/Dodge/RadarSweep.hs 20;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 118;" f aShape src/Dodge/Placement/Instance/LightSource.hs 125;" f
aSound src/Dodge/SoundLogic.hs 74;" f aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 54;" f accessTerminal src/Dodge/WorldEffect.hs 59;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 62;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 62;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 84;" f addArmour src/Dodge/Creature.hs 84;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 95;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f
addCrGibs src/Dodge/Prop/Gib.hs 17;" f addCrGibs src/Dodge/Prop/Gib.hs 17;" f
addDepth src/Picture/Base.hs 133;" f addDepth src/Picture/Base.hs 133;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f
@@ -2489,7 +2491,7 @@ addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f
addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f
addSideEffect src/Dodge/Concurrent.hs 29;" f addSideEffect src/Dodge/Concurrent.hs 29;" f
addSouthPillars src/Dodge/Room/LongDoor.hs 87;" f addSouthPillars src/Dodge/Room/LongDoor.hs 88;" f
addTermSignal src/Dodge/Event/Input.hs 31;" f addTermSignal src/Dodge/Event/Input.hs 31;" f
addToTrunk src/TreeHelp.hs 157;" f addToTrunk src/TreeHelp.hs 157;" f
addWarningTerminal src/Dodge/Room/Warning.hs 61;" f addWarningTerminal src/Dodge/Room/Warning.hs 61;" f
@@ -2503,11 +2505,11 @@ aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 181;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f
airlock src/Dodge/Room/Airlock.hs 28;" f airlock src/Dodge/Room/Airlock.hs 28;" f
airlock0 src/Dodge/Room/Airlock.hs 78;" f airlock0 src/Dodge/Room/Airlock.hs 78;" f
airlock90 src/Dodge/Room/Airlock.hs 190;" f airlock90 src/Dodge/Room/Airlock.hs 199;" f
airlockCrystal src/Dodge/Room/Airlock.hs 238;" f airlockCrystal src/Dodge/Room/Airlock.hs 249;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 102;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 102;" f
airlockSimple src/Dodge/Room/Airlock.hs 127;" f airlockSimple src/Dodge/Room/Airlock.hs 127;" f
airlockZ src/Dodge/Room/Airlock.hs 155;" f airlockZ src/Dodge/Room/Airlock.hs 164;" f
allVisibleWalls src/Dodge/Base/Collide.hs 224;" f allVisibleWalls src/Dodge/Base/Collide.hs 224;" 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
@@ -2859,7 +2861,7 @@ concurrentIS src/Dodge/Update/Input/InGame.hs 287;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f
constructEdges src/Polyhedra.hs 34;" f constructEdges src/Polyhedra.hs 34;" f
constructEdgesList src/Polyhedra.hs 43;" f constructEdgesList src/Polyhedra.hs 43;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f
convexHull src/Geometry/Polygon.hs 142;" f convexHull src/Geometry/Polygon.hs 142;" f
convexHullSafe src/Geometry/Polygon.hs 149;" f convexHullSafe src/Geometry/Polygon.hs 149;" f
@@ -3095,13 +3097,12 @@ destroyBlock src/Dodge/Block.hs 17;" f
destroyDoor src/Dodge/DrWdWd.hs 75;" f destroyDoor src/Dodge/DrWdWd.hs 75;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyItem src/Dodge/Inventory.hs 62;" f destroyItem src/Dodge/Inventory.hs 62;" f
destroyLS src/Dodge/LightSource.hs 32;" f destroyLSFlashAt src/Dodge/LightSource.hs 44;" f
destroyLSFlashAt src/Dodge/LightSource.hs 42;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/DrWdWd.hs 95;" f destroyMount src/Dodge/DrWdWd.hs 96;" f
destroyMounts src/Dodge/DrWdWd.hs 92;" f destroyMounts src/Dodge/DrWdWd.hs 93;" f
destroyProjectile src/Dodge/Projectile/Update.hs 108;" f destroyProjectile src/Dodge/Projectile/Update.hs 108;" f
detV src/Geometry/Vector.hs 94;" f detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f detector src/Dodge/Item/Held/Utility.hs 27;" f
@@ -3128,7 +3129,7 @@ dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f divTo src/Geometry/Zone.hs 6;" f
divideCircle src/Geometry.hs 321;" f divideCircle src/Geometry.hs 321;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 64;" f divideDoorPane src/Dodge/Placement/Instance/Door.hs 71;" f
divideLine src/Geometry.hs 248;" f divideLine src/Geometry.hs 248;" f
divideLineExact src/Geometry.hs 276;" f divideLineExact src/Geometry.hs 276;" f
divideLineOddNumPoints src/Geometry.hs 261;" f divideLineOddNumPoints src/Geometry.hs 261;" f
@@ -3148,8 +3149,8 @@ doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f
doCrImp src/Dodge/CreatureEffect.hs 13;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f
doCrWdAc src/Dodge/CreatureEffect.hs 47;" f doCrWdAc src/Dodge/CreatureEffect.hs 47;" f
doDamage src/Dodge/Creature/State.hs 43;" f doDamage src/Dodge/Creature/State.hs 43;" f
doDeathToggle src/Dodge/WorldEffect.hs 86;" f doDeathToggle src/Dodge/WorldEffect.hs 91;" f
doDeathTriggers src/Dodge/WorldEffect.hs 79;" f doDeathTriggers src/Dodge/WorldEffect.hs 84;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f
@@ -3177,8 +3178,8 @@ doModificationEffect src/Dodge/ModificationEffect.hs 7;" f
doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f
doPreload appDodge/Main.hs 139;" f doPreload appDodge/Main.hs 139;" f
doPropUpdates src/Dodge/Prop/Update.hs 31;" f doPropUpdates src/Dodge/Prop/Update.hs 31;" f
doQuickload src/Dodge/Save.hs 82;" f doQuickload src/Dodge/Save.hs 83;" f
doQuicksave src/Dodge/Save.hs 76;" f doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f
doRoomPlacements src/Dodge/Layout.hs 104;" f doRoomPlacements src/Dodge/Layout.hs 104;" f
@@ -3192,7 +3193,7 @@ doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 128;" f doThrust src/Dodge/Projectile/Update.hs 128;" f
doTimeScroll src/Dodge/Update.hs 199;" f doTimeScroll src/Dodge/Update.hs 199;" f
doTmWdWd src/Dodge/WorldEffect.hs 89;" f doTmWdWd src/Dodge/WorldEffect.hs 94;" f
doWallRotate src/Dodge/Update/Camera.hs 220;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f
doWdBl src/Dodge/WorldBool.hs 10;" f doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f
@@ -3371,7 +3372,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
ebFlicker src/Dodge/EnergyBall.hs 70;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 129;" f edgeFormatting src/Dodge/Combine/Graph.hs 129;" f
edgeToPic src/Dodge/Debug/Picture.hs 416;" f edgeToPic src/Dodge/Debug/Picture.hs 413;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnEquip src/Dodge/Equipment.hs 32;" f
effectOnRemove src/Dodge/Equipment.hs 19;" f effectOnRemove src/Dodge/Equipment.hs 19;" f
eitType src/Dodge/Data/EquipType.hs 15;" f eitType src/Dodge/Data/EquipType.hs 15;" f
@@ -3412,7 +3413,7 @@ errorIsLHS src/Geometry.hs 65;" f
errorNormalizeV src/Geometry.hs 54;" f errorNormalizeV src/Geometry.hs 54;" f
errorPointInPolygon src/Geometry.hs 46;" f errorPointInPolygon src/Geometry.hs 46;" f
evenOddSplit src/Dodge/Base.hs 160;" f evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/WorldEffect.hs 116;" f exitTerminalSubInv src/Dodge/WorldEffect.hs 121;" f
expandLine src/Dodge/Picture.hs 30;" f expandLine src/Dodge/Picture.hs 30;" f
expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f
expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
@@ -3680,7 +3681,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 188;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 188;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 185;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 185;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 84;" f iShape src/Dodge/Placement/Instance/LightSource.hs 88;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
ildtPropagate src/Dodge/DoubleTree.hs 111;" f ildtPropagate src/Dodge/DoubleTree.hs 111;" f
@@ -3856,11 +3857,11 @@ itmBaseInfo src/Dodge/Item/Info.hs 30;" f
itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" f itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" f
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 230;" f itmUsageInfo src/Dodge/Item/Info.hs 230;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 96;" f jShape src/Dodge/Placement/Instance/LightSource.hs 103;" f
joinItemsInList src/Dodge/Item/Grammar.hs 206;" f joinItemsInList src/Dodge/Item/Grammar.hs 206;" f
joystick src/Dodge/Item/Scope.hs 149;" f joystick src/Dodge/Item/Scope.hs 149;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 64;" f
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
jsps0 src/Dodge/LevelGen/PlacementHelper.hs 39;" f jsps0 src/Dodge/LevelGen/PlacementHelper.hs 39;" f
jsps0J src/Dodge/LevelGen/PlacementHelper.hs 48;" f jsps0J src/Dodge/LevelGen/PlacementHelper.hs 48;" f
@@ -3879,7 +3880,7 @@ knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
lChasm src/Dodge/Room/Tutorial.hs 152;" f lChasm src/Dodge/Room/Tutorial.hs 152;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 87;" f lShape src/Dodge/Placement/Instance/LightSource.hs 91;" f
lamp src/Dodge/Creature/Lamp.hs 21;" f lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 85;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 85;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f
@@ -3905,7 +3906,7 @@ ldtToDT src/Dodge/DoubleTree.hs 16;" f
ldtToIM src/Dodge/DoubleTree.hs 219;" f ldtToIM src/Dodge/DoubleTree.hs 219;" f
ldtToIndentList src/Dodge/DoubleTree.hs 222;" f ldtToIndentList src/Dodge/DoubleTree.hs 222;" f
ldtToLoc src/Dodge/DoubleTree.hs 268;" f ldtToLoc src/Dodge/DoubleTree.hs 268;" f
leaveResetQuitTerminal src/Dodge/WorldEffect.hs 110;" f leaveResetQuitTerminal src/Dodge/WorldEffect.hs 115;" f
led src/Dodge/Item/Held/Utility.hs 23;" f led src/Dodge/Item/Held/Utility.hs 23;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 185;" f leftChildList src/Dodge/Item/Grammar.hs 185;" f
@@ -3917,7 +3918,7 @@ leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 109;" f liShape src/Dodge/Placement/Instance/LightSource.hs 116;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f
@@ -3949,7 +3950,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" 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 630;" f loadMuzzle src/Dodge/HeldUse.hs 630;" f
loadSaveSlot src/Dodge/Save.hs 73;" f loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
loadSounds src/Dodge/SoundLogic/LoadSound.hs 18;" f loadSounds src/Dodge/SoundLogic/LoadSound.hs 18;" f
@@ -3988,11 +3989,11 @@ loopPairs src/ListHelp.hs 30;" f
lootRoom src/Dodge/Room/Treasure.hs 58;" f lootRoom src/Dodge/Room/Treasure.hs 58;" f
lorem src/Lorem.hs 3;" f lorem src/Lorem.hs 3;" f
lowBlock src/Dodge/Placement/Instance/Block.hs 26;" f lowBlock src/Dodge/Placement/Instance/Block.hs 26;" f
lsColPos src/Dodge/LightSource.hs 23;" f lsColPos src/Dodge/LightSource.hs 24;" f
lsColPosID src/Dodge/LightSource.hs 20;" f lsColPosID src/Dodge/LightSource.hs 21;" f
lsColPosRad src/Dodge/LightSource.hs 29;" f lsColPosRad src/Dodge/LightSource.hs 30;" f
lsPosCol src/Dodge/LightSource.hs 26;" f lsPosCol src/Dodge/LightSource.hs 27;" f
lsPosRad src/Dodge/LightSource.hs 17;" f lsPosRad src/Dodge/LightSource.hs 18;" f
ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f
m src/ShortShow.hs 48;" f m src/ShortShow.hs 48;" f
mAT src/Dodge/Item/MagAmmoType.hs 19;" f mAT src/Dodge/Item/MagAmmoType.hs 19;" f
@@ -4151,11 +4152,11 @@ mkCustomLenses src/ThirdPartyLens.hs 7;" f
mkGraphFromEdges src/GraphHelp.hs 4;" f mkGraphFromEdges src/GraphHelp.hs 4;" f
mkNode src/Dodge/Graph.hs 29;" f mkNode src/Dodge/Graph.hs 29;" f
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 133;" f mntLS src/Dodge/Placement/Instance/LightSource.hs 140;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 156;" f mntLSCond src/Dodge/Placement/Instance/LightSource.hs 163;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 64;" f mntLSOn src/Dodge/Placement/Instance/LightSource.hs 68;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 173;" f mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 180;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 178;" f mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 185;" f
modTo src/Geometry/Zone.hs 10;" f modTo src/Geometry/Zone.hs 10;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f
mouseCursorType src/Dodge/Render/Picture.hs 92;" f mouseCursorType src/Dodge/Render/Picture.hs 92;" f
@@ -4163,7 +4164,7 @@ mouseWorldPos src/Dodge/Base/Coordinate.hs 25;" f
moveBullet src/Dodge/Bullet.hs 197;" f moveBullet src/Dodge/Bullet.hs 197;" f
moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveCombineSel src/Dodge/Update/Scroll.hs 121;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 43;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 47;" f
movePenBullet src/Dodge/Bullet.hs 203;" f movePenBullet src/Dodge/Bullet.hs 203;" f
moveProjectile src/Dodge/Projectile/Update.hs 209;" f moveProjectile src/Dodge/Projectile/Update.hs 209;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f
@@ -4239,7 +4240,7 @@ numShads src/Picture/Data.hs 40;" f
numSubElements src/Shader/Parameters.hs 39;" f numSubElements src/Shader/Parameters.hs 39;" f
numTraversable src/TreeHelp.hs 184;" f numTraversable src/TreeHelp.hs 184;" f
obstacleColor src/Dodge/Debug/Picture.hs 270;" f obstacleColor src/Dodge/Debug/Picture.hs 270;" f
obstructPathsCrossing src/Dodge/Path.hs 121;" f obstructPathsCrossing src/Dodge/Path.hs 122;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f
onRemoveWristShield src/Dodge/Equipment.hs 24;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f
@@ -4467,24 +4468,24 @@ prismBox src/Shape.hs 73;" f
prismPoly src/Shape.hs 59;" f prismPoly src/Shape.hs 59;" f
projV src/Geometry/Vector.hs 177;" f projV src/Geometry/Vector.hs 177;" f
projV3 src/Geometry/Vector3D.hs 127;" f projV3 src/Geometry/Vector3D.hs 127;" f
propLSThen src/Dodge/Placement/Instance/LightSource.hs 29;" f propLSThen src/Dodge/Placement/Instance/LightSource.hs 33;" f
propSPic src/Dodge/Prop/Draw.hs 18;" f propSPic src/Dodge/Prop/Draw.hs 18;" f
propUpdateIf src/Dodge/Prop/Update.hs 20;" f propUpdateIf src/Dodge/Prop/Update.hs 20;" f
propUpdatePosition src/Dodge/Prop/Update.hs 25;" f propUpdatePosition src/Dodge/Prop/Update.hs 25;" f
propagateOrientation src/Dodge/Item/Orientation.hs 80;" f propagateOrientation src/Dodge/Item/Orientation.hs 80;" f
ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f ps0 src/Dodge/LevelGen/PlacementHelper.hs 52;" f
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 80;" f
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 84;" f
ps0j src/Dodge/LevelGen/PlacementHelper.hs 67;" f ps0j src/Dodge/LevelGen/PlacementHelper.hs 68;" f
ps0jPushPS src/Dodge/LevelGen/PlacementHelper.hs 74;" f ps0jPushPS src/Dodge/LevelGen/PlacementHelper.hs 75;" f
psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f
psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f
psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f
psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f
psRandRanges src/Dodge/PlacementSpot.hs 260;" f psRandRanges src/Dodge/PlacementSpot.hs 260;" f
psj src/Dodge/LevelGen/PlacementHelper.hs 70;" f psj src/Dodge/LevelGen/PlacementHelper.hs 71;" f
psposAddLabel src/Dodge/PlacementSpot.hs 69;" f psposAddLabel src/Dodge/PlacementSpot.hs 69;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 54;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 103;" f pulseChecker src/Dodge/Item/Equipment.hs 103;" f
pushCreatureOutFromWalls src/Dodge/WallCreatureCollisions.hs 57;" f pushCreatureOutFromWalls src/Dodge/WallCreatureCollisions.hs 57;" f
@@ -4495,7 +4496,7 @@ pushOutFromWall src/Dodge/WallCreatureCollisions.hs 101;" f
pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f
pushR src/DoubleStack.hs 24;" f pushR src/DoubleStack.hs 24;" f
pushScreen src/Dodge/Menu/PushPop.hs 9;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f
putAutoDoor src/Dodge/Placement/Instance/Door.hs 83;" f putAutoDoor src/Dodge/Placement/Instance/Door.hs 93;" f
putBlockN src/Dodge/Placement/Instance/Wall.hs 169;" f putBlockN src/Dodge/Placement/Instance/Wall.hs 169;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 148;" f putBlockRect src/Dodge/Placement/Instance/Wall.hs 148;" f
putBlockV src/Dodge/Placement/Instance/Wall.hs 156;" f putBlockV src/Dodge/Placement/Instance/Wall.hs 156;" f
@@ -4503,7 +4504,7 @@ putDoor src/Dodge/Room/Airlock.hs 114;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 27;" f putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 27;" f
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 219;" f putLamp src/Dodge/Placement/Instance/LightSource.hs 236;" f
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f
@@ -4567,7 +4568,7 @@ randomTreeStructure src/Dodge/Layout/Generate.hs 18;" f
randsOnCirc src/RandomHelp.hs 127;" f randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 216;" f ratIntersectLineLine src/Geometry/Intersect.hs 216;" f
readSaveSlot src/Dodge/Save.hs 44;" f readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 467;" f recoilAmount src/Dodge/HeldUse.hs 467;" f
rectNSWE src/Geometry/Polygon.hs 15;" f rectNSWE src/Geometry/Polygon.hs 15;" f
rectVV src/Geometry/Polygon.hs 40;" f rectVV src/Geometry/Polygon.hs 40;" f
@@ -4591,7 +4592,7 @@ refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f
regexCombs src/Dodge/DisplayInventory.hs 71;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f
regexList src/Dodge/DisplayInventory.hs 308;" f regexList src/Dodge/DisplayInventory.hs 308;" f
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 602;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 602;" f
reloadLevelStart src/Dodge/Save.hs 70;" f reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 600;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 600;" f
rememberSounds src/Dodge/Creature/Perception.hs 176;" f rememberSounds src/Dodge/Creature/Perception.hs 176;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f
@@ -4616,7 +4617,7 @@ replacePutID src/Dodge/Placement/Instance/Wall.hs 105;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
resetTerminal src/Dodge/WorldEffect.hs 104;" f resetTerminal src/Dodge/WorldEffect.hs 109;" f
resizeFBOTO src/Framebuffer/Update.hs 203;" f resizeFBOTO src/Framebuffer/Update.hs 203;" f
resizeFBOTO3 src/Framebuffer/Update.hs 175;" f resizeFBOTO3 src/Framebuffer/Update.hs 175;" f
resizeRBO src/Framebuffer/Update.hs 87;" f resizeRBO src/Framebuffer/Update.hs 87;" f
@@ -4723,8 +4724,8 @@ safeUpdateSingleNode src/TreeHelp.hs 116;" f
saveConfig src/Dodge/Config.hs 23;" f saveConfig src/Dodge/Config.hs 23;" f
saveQuit src/Dodge/Menu.hs 79;" f saveQuit src/Dodge/Menu.hs 79;" f
saveQuitConc src/Dodge/Menu.hs 82;" f saveQuitConc src/Dodge/Menu.hs 82;" f
saveSlotPath src/Dodge/Save.hs 62;" f saveSlotPath src/Dodge/Save.hs 63;" f
saveWorldInSlot src/Dodge/Save.hs 67;" f saveWorldInSlot src/Dodge/Save.hs 68;" f
sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f
scToTS src/Dodge/Event/Input.hs 34;" f scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 149;" f scale src/Picture/Base.hs 149;" f
@@ -4899,9 +4900,9 @@ showEquipItem src/Dodge/Item/Display.hs 107;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 45;" f showManObj src/Dodge/TestString.hs 47;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 68;" f showTimeFlow src/Dodge/TestString.hs 70;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 174;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 174;" f
shrinkVert src/Geometry/Polygon.hs 178;" f shrinkVert src/Geometry/Polygon.hs 178;" f
shuffle src/RandomHelp.hs 49;" f shuffle src/RandomHelp.hs 49;" f
@@ -4925,8 +4926,8 @@ slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f
slideWindow src/ListHelp.hs 80;" f slideWindow src/ListHelp.hs 80;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 160;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 141;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 177;" f slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 158;" f
smallBattery src/Dodge/Item/Ammo.hs 60;" f smallBattery src/Dodge/Item/Ammo.hs 60;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
@@ -4941,7 +4942,7 @@ smallSnailInt2 src/Dodge/Path.hs 82;" f
smg src/Dodge/Item/Held/Stick.hs 58;" f smg src/Dodge/Item/Held/Stick.hs 58;" f
smokeReducer src/Dodge/Item/Scope.hs 162;" f smokeReducer src/Dodge/Item/Scope.hs 162;" f
snailAround src/Dodge/Path.hs 79;" f snailAround src/Dodge/Path.hs 79;" f
snapToGrid src/Dodge/Path.hs 130;" f snapToGrid src/Dodge/Path.hs 131;" f
sndV2 src/Geometry/Data.hs 73;" f sndV2 src/Geometry/Data.hs 73;" f
sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f
someCrits src/Dodge/LockAndKey.hs 120;" f someCrits src/Dodge/LockAndKey.hs 120;" f
@@ -4961,12 +4962,13 @@ soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 84;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
spaceAction src/Dodge/Update/Input/InGame.hs 528;" f spaceAction src/Dodge/Update/Input/InGame.hs 528;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 203;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 210;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 196;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 203;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 188;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 195;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 210;" f spanLightI src/Dodge/Placement/Instance/LightSource.hs 217;" f
spanLightY src/Dodge/Placement/Instance/LightSource.hs 220;" f
sparkDam src/Dodge/Spark.hs 36;" f sparkDam src/Dodge/Spark.hs 36;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f
sparkRandDir src/Dodge/Spark.hs 116;" f sparkRandDir src/Dodge/Spark.hs 116;" f
@@ -5033,7 +5035,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stopAllSounds src/Sound.hs 125;" f stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/DrWdWd.hs 102;" f stopPushing src/Dodge/DrWdWd.hs 101;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
@@ -5100,7 +5102,7 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testCrossWalls src/Dodge/Room/Path.hs 49;" f testCrossWalls src/Dodge/Room/Path.hs 49;" f
testEvent src/Dodge/Event/Test.hs 9;" f testEvent src/Dodge/Event/Test.hs 9;" f
testInventory src/Dodge/Creature.hs 292;" f testInventory src/Dodge/Creature.hs 292;" f
testStringInit src/Dodge/TestString.hs 33;" f testStringInit src/Dodge/TestString.hs 34;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 37;" f textInputBlurb src/Dodge/Terminal.hs 37;" f
@@ -5173,10 +5175,10 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f
topInvW src/Dodge/ListDisplayParams.hs 49;" f topInvW src/Dodge/ListDisplayParams.hs 49;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 41;" f topTestPart src/Dodge/TestString.hs 43;" f
torchShape src/Dodge/Item/Draw/SPic.hs 276;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f
torqueAmount src/Dodge/HeldUse.hs 581;" f torqueAmount src/Dodge/HeldUse.hs 581;" f
torqueCr src/Dodge/WorldEffect.hs 72;" f torqueCr src/Dodge/WorldEffect.hs 77;" f
torso src/Dodge/Creature/Picture.hs 102;" f torso src/Dodge/Creature/Picture.hs 102;" 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
@@ -5254,8 +5256,8 @@ tutRezBox src/Dodge/Room/Tutorial.hs 379;" f
tutRoomTree src/Dodge/Floor.hs 21;" f tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 403;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 403;" f
tweenAngles src/Geometry/Vector.hs 190;" f tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 78;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 33;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
twists src/Dodge/Creature/Test.hs 102;" f twists src/Dodge/Creature/Test.hs 102;" f
twoFlat src/Dodge/Creature/Test.hs 99;" f twoFlat src/Dodge/Creature/Test.hs 99;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 80;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 80;" f
@@ -5316,9 +5318,9 @@ updateDoors src/Dodge/Update.hs 311;" f
updateDust src/Dodge/Update.hs 823;" f updateDust src/Dodge/Update.hs 823;" f
updateDusts src/Dodge/Update.hs 673;" f updateDusts src/Dodge/Update.hs 673;" f
updateEdge src/Dodge/Path.hs 47;" f updateEdge src/Dodge/Path.hs 47;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 34;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 33;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 27;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 24;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 31;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 30;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 661;" f updateEnergyBalls src/Dodge/Update.hs 661;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
@@ -5446,7 +5448,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 154;" f vInverse src/Geometry/Vector.hs 154;" f
vNormal src/Geometry/Vector.hs 149;" f vNormal src/Geometry/Vector.hs 149;" f
vNormaly src/Geometry/Vector3D.hs 72;" f vNormaly src/Geometry/Vector3D.hs 72;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 123;" f vShape src/Dodge/Placement/Instance/LightSource.hs 130;" f
vToL src/MatrixHelper.hs 46;" f vToL src/MatrixHelper.hs 46;" f
vToQuat src/Quaternion.hs 42;" f vToQuat src/Quaternion.hs 42;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f