Commit before working on debugging

This commit is contained in:
2025-10-13 23:43:29 +01:00
parent c3a0cb0527
commit 3d602b4f57
7 changed files with 144 additions and 102 deletions
+2 -1
View File
@@ -81,7 +81,8 @@ doCrWdAc cw = case cw of
CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do
n <- walkableNodeNear w (cr ^. crPos . _xy) n <- walkableNodeNear w (cr ^. crPos . _xy)
let as = take 20 $ map PathTo $ bfsNodePoints n w let as = take 20 $ map PathTo $ bfsNodePoints n w
return $ return $ DoActionThen (DoImpulses [ChangeStrategy Search])
$
DoReplicate t $ DoReplicate t $
foldr DoActionThen NoAction as foldr DoActionThen NoAction as
ChooseMovementSpreadGun -> chooseMovementSpreadGun ChooseMovementSpreadGun -> chooseMovementSpreadGun
+1
View File
@@ -190,6 +190,7 @@ data Strategy
| Reload | Reload
| Flee | Flee
| MeleeStrike | MeleeStrike
| Search
deriving (Eq, Ord, Show) --Generic, Flat) deriving (Eq, Ord, Show) --Generic, Flat)
--deriving (Eq, Ord, Show, Read) --Generic, Flat) --deriving (Eq, Ord, Show, Read) --Generic, Flat)
+78 -1
View File
@@ -1,6 +1,14 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Debug (debugEvents) where module Dodge.Debug (debugEvents) where
import Padding
import Dodge.Base.Window
import ShortShow
import Linear
import Dodge.Render.InfoBox
import Picture.Base
import Geometry.Data
import qualified Data.IntMap.Strict as IM
import Data.Aeson.Types import Data.Aeson.Types
import AesonHelp import AesonHelp
import Control.Lens import Control.Lens
@@ -15,7 +23,7 @@ import Dodge.WorldEvent.ThingsHit
import Geometry.Vector import Geometry.Vector
import qualified SDL import qualified SDL
import Data.Ord import Data.Ord
import Data.Foldable (fold) --import Data.Foldable (fold)
debugEvents :: Universe -> Universe debugEvents :: Universe -> Universe
debugEvents u = case dbools ^. at Enable_debug of debugEvents u = case dbools ^. at Enable_debug of
@@ -62,6 +70,75 @@ debugItem = \case
constDPic :: (Universe -> Picture) -> Universe -> Maybe DebugItem constDPic :: (Universe -> Picture) -> Universe -> Maybe DebugItem
constDPic p u = Just $ DebugItem (p u) mempty NoDebugInfo constDPic p u = Just $ DebugItem (p u) mempty NoDebugInfo
drawCrInfo' :: Universe -> Maybe DebugItem
drawCrInfo' u = do
undefined
--
-- setLayer FixedCoordLayer $
-- renderInfoListsAt (2 * hw - 400) 0 cfig cam $
-- mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
-- where
-- w = u ^. uvWorld
-- cfig = u ^. uvConfig
-- cam = w ^. wCam
-- crDisplayInfo :: Creature -> Maybe (Point2, [String])
-- crDisplayInfo cr
-- | _crID cr == 0 = Nothing
-- | crOnScreen =
-- Just
-- ( cr ^. crPos . _xy
-- , catMaybes
-- -- [fmap show $ ap ^? crGoal
-- [ fpreShow "crHP" $ cr ^? crHP . _HP
-- , fpreShow "crStrategy" $ ap ^? apStrategy
-- , fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
-- , fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
-- , fpreShow "crAction" $ ap ^? apAction
-- , fpreShow "crImpulse" $ ap ^? apImpulse
-- ]
-- )
-- | otherwise = Nothing
-- where
-- ap = _crActionPlan cr
-- crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
--
-- fpreShow :: (Show a, Functor f) => String -> f a -> f String
-- fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
-- hw = halfWidth cfig
drawCrInfo :: Config -> World -> Picture
drawCrInfo cfig w =
setLayer FixedCoordLayer $
renderInfoListsAt (2 * hw - 400) 0 cfig cam $
mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
where
cam = w ^. wCam
crDisplayInfo :: Creature -> Maybe (Point2, [String])
crDisplayInfo cr
| _crID cr == 0 = Nothing
| crOnScreen =
Just
( cr ^. crPos . _xy
, catMaybes
-- [fmap show $ ap ^? crGoal
[ fpreShow "crHP" $ cr ^? crHP . _HP
, fpreShow "crStrategy" $ ap ^? apStrategy
, fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
, fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
, fpreShow "crAction" $ ap ^? apAction
, fpreShow "crImpulse" $ ap ^? apImpulse
]
)
| otherwise = Nothing
where
ap = _crActionPlan cr
crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
fpreShow :: (Show a, Functor f) => String -> f a -> f String
fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
hw = halfWidth cfig
selectCreatureDebugItem :: Universe -> DebugItem selectCreatureDebugItem :: Universe -> DebugItem
selectCreatureDebugItem u = selectCreatureDebugItem u =
DebugItem DebugItem
+3 -44
View File
@@ -14,7 +14,7 @@ import Dodge.GameRoom
import Dodge.Graph import Dodge.Graph
import Dodge.Path import Dodge.Path
import Dodge.Picture.SizeInvariant import Dodge.Picture.SizeInvariant
import Dodge.Render.InfoBox --import Dodge.Render.InfoBox
import Dodge.Render.Label import Dodge.Render.Label
import Dodge.Render.List import Dodge.Render.List
import Dodge.ShortShow import Dodge.ShortShow
@@ -26,10 +26,10 @@ import Dodge.Zoning.Base
import Geometry import Geometry
import Geometry.ConvexPoly import Geometry.ConvexPoly
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import Padding --import Padding
import Picture import Picture
import SDL (MouseButton (..)) import SDL (MouseButton (..))
import ShortShow --import ShortShow
import Sound.Data import Sound.Data
printPoint :: Point2 -> Picture printPoint :: Point2 -> Picture
@@ -394,47 +394,6 @@ drawWlIDs w = setLayer FixedCoordLayer $ foldMap f (w ^. cWorld . lWorld . walls
where where
p = worldPosToScreen (w ^. wCam) $ 0.5 *.* uncurry (+.+) (_wlLine wl) p = worldPosToScreen (w ^. wCam) $ 0.5 *.* uncurry (+.+) (_wlLine wl)
drawCrInfo :: Config -> World -> Picture
drawCrInfo cfig w =
setLayer FixedCoordLayer $
renderInfoListsAt (2 * hw - 400) 0 cfig cam $
mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
where
cam = w ^. wCam
-- drawPathing :: Config -> World -> Picture
-- drawPathing cfig w =
-- setLayer DebugLayer $
-- foldMap (edgeToPic (screenPolygon cfig (w ^. wCam)) . (^?! _3)) (FGL.labEdges gr)
-- <> foldMap dispInc (graphToIncidence gr)
-- where
-- dispInc (p, n) = setDepth 2 . uncurryV translate p . scale 0.1 0.1 $ text $ show n
-- gr = w ^. cWorld . pathGraph
crDisplayInfo :: Creature -> Maybe (Point2, [String])
crDisplayInfo cr
| _crID cr == 0 = Nothing
| crOnScreen =
Just
( cr ^. crPos . _xy
, catMaybes
-- [fmap show $ ap ^? crGoal
[ fpreShow "crHP" $ cr ^? crHP . _HP
, fpreShow "crStrategy" $ ap ^? apStrategy
, fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
, fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
, -- , fmap show $ cr ^? crOldPos
fpreShow "crAction" $ ap ^? apAction
, fpreShow "crImpulse" $ ap ^? apImpulse
]
)
| otherwise = Nothing
where
ap = _crActionPlan cr
crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
fpreShow :: (Show a, Functor f) => String -> f a -> f String
fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
hw = halfWidth cfig
drawPathing :: Config -> World -> Picture drawPathing :: Config -> World -> Picture
drawPathing cfig w = drawPathing cfig w =
+7 -6
View File
@@ -48,15 +48,14 @@ generateLevelFromRoomList gr' w =
& pnZoning .~ foldl' (flip zonePn) mempty (labNodes path) & pnZoning .~ foldl' (flip zonePn) mempty (labNodes path)
& peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path) & peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path)
where where
(_, path) = pairsToGraph pairPath' (_, path) = pairsToGraph . snapToGrid $ foldMap _rmPath rs
pairPath = foldMap _rmPath rs
pairPath' = snapToGrid pairPath
rs = map doRoomShift $ IM.elems rs' rs = map doRoomShift $ IM.elems rs'
rs' = mapM shuffleRoomPos gr' & evalState $ _randGen w rs' = mapM shuffleRoomPos gr' & evalState $ _randGen w
randomCompass :: World -> World randomCompass :: World -> World
randomCompass w = w & wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w) randomCompass w = w
& wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
-- note the order of traversal of the rooms is important -- note the order of traversal of the rooms is important
-- hence the reverse -- hence the reverse
@@ -67,12 +66,14 @@ setTiles gw = foldr setTile gw . reverse . IM.elems $ _genRooms gw
setTile :: Room -> GenWorld -> GenWorld setTile :: Room -> GenWorld -> GenWorld
setTile r gw = case _rmFloor r of setTile r gw = case _rmFloor r of
Tiled{} -> gw Tiled{} -> gw
InheritFloor -> gw & genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly] InheritFloor -> gw
& genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly]
where where
t = case _rmMParent r of t = case _rmMParent r of
Nothing -> Tile poly (V2 0 0) (V2 1 0) 16 Nothing -> Tile poly (V2 0 0) (V2 1 0) 16
Just pid -> head $ _tiles $ _rmFloor $ _genRooms gw IM.! pid Just pid -> head $ _tiles $ _rmFloor $ _genRooms gw IM.! pid
poly = orderPolygon . convexHullSafe . nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r poly = orderPolygon . convexHullSafe
. nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r
shuffleRoomPos :: RandomGen g => Room -> State g Room shuffleRoomPos :: RandomGen g => Room -> State g Room
shuffleRoomPos rm = do shuffleRoomPos rm = do
+8 -6
View File
@@ -30,13 +30,15 @@ import Data.Bifunctor
getNodePos :: Int -> World -> Maybe Point2 getNodePos :: Int -> World -> Maybe Point2
getNodePos i w = (w ^. cWorld . pathGraph) `lab` i getNodePos i w = (w ^. cWorld . pathGraph) `lab` i
makePathUsing :: (PathEdge -> Bool) -> Point2 -> Point2 -> World -> Maybe [Int]
makePathUsing t s e w = do
na <- walkableNodeNear w s
nb <- walkableNodeNear w e
sp na nb . second _peDist
. efilter (t . (^. _3)) $ w ^. cWorld . pathGraph
makePathBetween :: Point2 -> Point2 -> World -> Maybe [Int] makePathBetween :: Point2 -> Point2 -> World -> Maybe [Int]
makePathBetween a b w = do makePathBetween = makePathUsing $ not . pathEdgeObstructed
-- join $ sp <$> a' <*> b' <*> return (_pathGraph w)
na <- walkableNodeNear w a
nb <- walkableNodeNear w b
sp na nb (second _peDist (efilter (not . pathEdgeObstructed . (^. _3)) $ w ^. cWorld . pathGraph))
--_pathGraph (_cWorld w)))
pathEdgeObstructed :: PathEdge -> Bool pathEdgeObstructed :: PathEdge -> Bool
pathEdgeObstructed pe = DoorObstacle `Set.member` obs || BlockObstacle `Set.member` obs pathEdgeObstructed pe = DoorObstacle `Set.member` obs || BlockObstacle `Set.member` obs
+45 -44
View File
@@ -12,7 +12,7 @@
.++~ src/LensHelp.hs 33;" o .++~ src/LensHelp.hs 33;" o
.+.+~ src/LensHelp.hs 23;" o .+.+~ src/LensHelp.hs 23;" o
.:~ src/LensHelp.hs 14;" o .:~ src/LensHelp.hs 14;" o
<$> src/Dodge/Data/ActionPlan.hs 203;" o <$> src/Dodge/Data/ActionPlan.hs 204;" o
<$> src/Dodge/Data/CWorld.hs 47;" o <$> src/Dodge/Data/CWorld.hs 47;" o
<$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Camera.hs 39;" o
<$> src/Dodge/Data/Creature.hs 89;" o <$> src/Dodge/Data/Creature.hs 89;" o
@@ -514,7 +514,7 @@ GetToPoint src/Dodge/Data/Scenario.hs 12;" C
Gib src/Dodge/Data/Prop.hs 43;" C Gib src/Dodge/Data/Prop.hs 43;" C
Glass src/Dodge/Data/Material.hs 11;" C Glass src/Dodge/Data/Material.hs 11;" C
GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C
Goal src/Dodge/Data/ActionPlan.hs 196;" t Goal src/Dodge/Data/ActionPlan.hs 197;" t
GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C
GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C
GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C
@@ -643,7 +643,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C
Just' src/MaybeHelp.hs 13;" C Just' src/MaybeHelp.hs 13;" C
JustStartedPlaying src/Sound/Data.hs 24;" C JustStartedPlaying src/Sound/Data.hs 24;" C
KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C
Kill src/Dodge/Data/ActionPlan.hs 198;" C Kill src/Dodge/Data/ActionPlan.hs 199;" C
LASER src/Dodge/Data/Item/Combine.hs 36;" C LASER src/Dodge/Data/Item/Combine.hs 36;" C
LDT src/Dodge/Data/DoubleTree.hs 34;" C LDT src/Dodge/Data/DoubleTree.hs 34;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C
@@ -695,7 +695,7 @@ LimitedFood src/Dodge/Data/Scenario.hs 39;" C
LimitedWater src/Dodge/Data/Scenario.hs 40;" C LimitedWater src/Dodge/Data/Scenario.hs 40;" C
LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t
LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 197;" C LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 198;" C
LivingComplex src/Dodge/Data/Scenario.hs 68;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C
LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C
LoadingScreen src/Dodge/Data/Universe.hs 73;" C LoadingScreen src/Dodge/Data/Universe.hs 73;" C
@@ -1189,6 +1189,7 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 12;" C
Scope src/Dodge/Data/Item/Scope.hs 13;" t Scope src/Dodge/Data/Item/Scope.hs 13;" t
ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenLayer src/Dodge/Data/Universe.hs 81;" t
ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t
Search src/Dodge/Data/ActionPlan.hs 193;" C
SecretCabal src/Dodge/Data/Scenario.hs 44;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 23;" t SectionCursor src/Dodge/Data/SelectionList.hs 23;" t
SeeAbove src/Dodge/Data/Wall.hs 42;" C SeeAbove src/Dodge/Data/Wall.hs 42;" C
@@ -1208,7 +1209,7 @@ SelfTree src/Dodge/Data/MetaTree.hs 20;" t
SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C
SensorType src/Dodge/Data/Machine/Sensor.hs 14;" t SensorType src/Dodge/Data/Machine/Sensor.hs 14;" t
SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 33;" C SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 33;" C
SentinelAt src/Dodge/Data/ActionPlan.hs 199;" C SentinelAt src/Dodge/Data/ActionPlan.hs 200;" C
SetLSCol src/Dodge/Data/WorldEffect.hs 26;" C SetLSCol src/Dodge/Data/WorldEffect.hs 26;" C
SetTrigger src/Dodge/Data/WorldEffect.hs 24;" C SetTrigger src/Dodge/Data/WorldEffect.hs 24;" C
ShadNum src/Picture/Data.hs 35;" t ShadNum src/Picture/Data.hs 35;" t
@@ -1953,7 +1954,7 @@ _items src/Dodge/Data/LWorld.hs 98;" f
_itsInt src/Dodge/Data/Item.hs 40;" f _itsInt src/Dodge/Data/Item.hs 40;" f
_itsMax src/Dodge/Data/Item.hs 41;" f _itsMax src/Dodge/Data/Item.hs 41;" f
_itsRangeInt src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f
_killTarget src/Dodge/Data/ActionPlan.hs 198;" f _killTarget src/Dodge/Data/ActionPlan.hs 199;" f
_lAimPos src/Dodge/Data/LWorld.hs 145;" f _lAimPos src/Dodge/Data/LWorld.hs 145;" f
_lClock src/Dodge/Data/LWorld.hs 140;" f _lClock src/Dodge/Data/LWorld.hs 140;" f
_lInvLock src/Dodge/Data/LWorld.hs 146;" f _lInvLock src/Dodge/Data/LWorld.hs 146;" f
@@ -2296,8 +2297,8 @@ _sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f
_sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f
_sensType src/Dodge/Data/Machine/Sensor.hs 23;" f _sensType src/Dodge/Data/Machine/Sensor.hs 23;" f
_sensorCoding src/Dodge/Data/GenParams.hs 16;" f _sensorCoding src/Dodge/Data/GenParams.hs 16;" f
_sentinelDir src/Dodge/Data/ActionPlan.hs 199;" f _sentinelDir src/Dodge/Data/ActionPlan.hs 200;" f
_sentinelPos src/Dodge/Data/ActionPlan.hs 199;" f _sentinelPos src/Dodge/Data/ActionPlan.hs 200;" f
_sfColor src/Shape/Data.hs 44;" f _sfColor src/Shape/Data.hs 44;" f
_sfShadowImportance src/Shape/Data.hs 45;" f _sfShadowImportance src/Shape/Data.hs 45;" f
_sfSize src/Shape/Data.hs 46;" f _sfSize src/Shape/Data.hs 46;" f
@@ -2727,7 +2728,7 @@ battery src/Dodge/Item/Ammo.hs 63;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 86;" f belowNumX src/Dodge/Combine/Graph.hs 86;" f
beltMag src/Dodge/Item/Ammo.hs 39;" f beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsNodePoints src/Dodge/Path.hs 58;" f bfsNodePoints src/Dodge/Path.hs 57;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
bgunSound src/Dodge/HeldUse.hs 514;" f bgunSound src/Dodge/HeldUse.hs 514;" f
@@ -2855,10 +2856,10 @@ chooseCursorBorders src/Dodge/Render/List.hs 155;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 107;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 108;" f
chooseMovementPistol src/Dodge/Humanoid.hs 204;" f chooseMovementPistol src/Dodge/Humanoid.hs 204;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 209;" f chooseMovementPistol' src/Dodge/Humanoid.hs 209;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 90;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 91;" f
circHitWall src/Dodge/Base/Collide.hs 242;" f circHitWall src/Dodge/Base/Collide.hs 242;" f
circInPolygon src/Geometry/Polygon.hs 102;" f circInPolygon src/Geometry/Polygon.hs 102;" f
circOnAnyCr src/Dodge/Base/Collide.hs 297;" f circOnAnyCr src/Dodge/Base/Collide.hs 297;" f
@@ -2886,7 +2887,7 @@ cleatLabel src/Dodge/Cleat.hs 30;" f
cleatOnward src/Dodge/Cleat.hs 24;" f cleatOnward src/Dodge/Cleat.hs 24;" f
cleatSide src/Dodge/Cleat.hs 27;" f cleatSide src/Dodge/Cleat.hs 27;" f
click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 582;" f click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 582;" f
clickGetCreature src/Dodge/Debug.hs 109;" f clickGetCreature src/Dodge/Debug.hs 150;" f
clicker src/Dodge/Item/Scope.hs 82;" f clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 48;" f clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 230;" f clipZoom src/Dodge/Update/Camera.hs 230;" f
@@ -2895,7 +2896,7 @@ closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 223;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 208;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 208;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f
closeObjectInfo src/Dodge/Render/HUD.hs 226;" f closeObjectInfo src/Dodge/Render/HUD.hs 226;" f
closestCreatureID src/Dodge/Debug.hs 118;" f closestCreatureID src/Dodge/Debug.hs 159;" f
closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f
closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f
closestPointOnSeg src/Geometry/Intersect.hs 303;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f
@@ -2953,7 +2954,7 @@ conEffects src/Dodge/Concurrent.hs 12;" f
conLDTToConDT src/Dodge/DoubleTree.hs 22;" f conLDTToConDT src/Dodge/DoubleTree.hs 22;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 287;" f 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
constDPic src/Dodge/Debug.hs 62;" f constDPic src/Dodge/Debug.hs 70;" 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 57;" f
@@ -3109,15 +3110,15 @@ deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 77;" f debrisSize src/Dodge/Block/Debris.hs 77;" f
debugEvent src/Dodge/Debug.hs 27;" f debugEvent src/Dodge/Debug.hs 35;" f
debugEvents src/Dodge/Debug.hs 20;" f debugEvents src/Dodge/Debug.hs 28;" f
debugItem src/Dodge/Debug.hs 30;" f debugItem src/Dodge/Debug.hs 38;" f
debugList src/Dodge/Debug.hs 105;" f debugList src/Dodge/Debug.hs 146;" f
debugMenu src/Dodge/Menu.hs 125;" f debugMenu src/Dodge/Menu.hs 125;" f
debugMenuOptions src/Dodge/Menu.hs 131;" f debugMenuOptions src/Dodge/Menu.hs 131;" f
debugOn src/Dodge/Data/Config.hs 151;" f debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 88;" f debugSelectCreatureList src/Dodge/Debug.hs 129;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 79;" f debugSelectCreatureMessage src/Dodge/Debug.hs 120;" f
decodeSensorType src/Dodge/Terminal.hs 72;" f decodeSensorType src/Dodge/Terminal.hs 72;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f decomposeTree src/Dodge/Tree/Compose.hs 58;" f
@@ -3267,8 +3268,8 @@ doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1158;" f doGenFloat src/Dodge/HeldUse.hs 1158;" f
doGravityPU src/Dodge/Projectile/Update.hs 34;" f doGravityPU src/Dodge/Projectile/Update.hs 34;" f
doHeldUseEffect src/Dodge/HeldUse.hs 351;" f doHeldUseEffect src/Dodge/HeldUse.hs 351;" f
doInPlacements src/Dodge/Layout.hs 82;" f doInPlacements src/Dodge/Layout.hs 83;" f
doIndividualPlacements src/Dodge/Layout.hs 96;" f doIndividualPlacements src/Dodge/Layout.hs 97;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
doIntImp src/Dodge/CreatureEffect.hs 25;" f doIntImp src/Dodge/CreatureEffect.hs 25;" f
doItemTimeScroll src/Dodge/Update.hs 191;" f doItemTimeScroll src/Dodge/Update.hs 191;" f
@@ -3286,7 +3287,7 @@ doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" 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 99;" f doRoomPlacements src/Dodge/Layout.hs 100;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
doSectionSize src/Dodge/DisplayInventory.hs 211;" f doSectionSize src/Dodge/DisplayInventory.hs 211;" f
@@ -3342,7 +3343,7 @@ drawCombFilter src/Dodge/Render/Picture.hs 255;" f
drawCombineInventory src/Dodge/Render/HUD.hs 182;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f
drawCoord src/Dodge/Debug/Picture.hs 376;" f drawCoord src/Dodge/Debug/Picture.hs 376;" f
drawCrInfo src/Dodge/Debug/Picture.hs 397;" f drawCrInfo src/Dodge/Debug.hs 73;" f
drawCreature src/Dodge/Render/ShapePicture.hs 67;" f drawCreature src/Dodge/Render/ShapePicture.hs 67;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f
drawCross src/Dodge/Render/Label.hs 24;" f drawCross src/Dodge/Render/Label.hs 24;" f
@@ -3402,7 +3403,7 @@ drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f
drawOptions src/Dodge/Render/MenuScreen.hs 22;" f drawOptions src/Dodge/Render/MenuScreen.hs 22;" f
drawPathBetween src/Dodge/Debug/Picture.hs 201;" f drawPathBetween src/Dodge/Debug/Picture.hs 201;" f
drawPathEdge src/Dodge/Debug/Picture.hs 258;" f drawPathEdge src/Dodge/Debug/Picture.hs 258;" f
drawPathing src/Dodge/Debug/Picture.hs 439;" f drawPathing src/Dodge/Debug/Picture.hs 398;" f
drawPlus src/Dodge/Render/Picture.hs 151;" f drawPlus src/Dodge/Render/Picture.hs 151;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
@@ -3483,7 +3484,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 131;" f edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 448;" f edgeToPic src/Dodge/Debug/Picture.hs 407;" 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
@@ -3580,7 +3581,7 @@ flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 440;" f flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 440;" f
fleeFrom src/Dodge/CreatureEffect.hs 122;" f fleeFrom src/Dodge/CreatureEffect.hs 123;" f
fleeFromTarget src/Dodge/CreatureEffect.hs 68;" f fleeFromTarget src/Dodge/CreatureEffect.hs 68;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
@@ -3627,8 +3628,6 @@ frontArmour src/Dodge/Item/Equipment.hs 38;" f
fstV2 src/Geometry/Data.hs 70;" f fstV2 src/Geometry/Data.hs 70;" f
fuelPack src/Dodge/Item/Equipment.hs 53;" f fuelPack src/Dodge/Item/Equipment.hs 53;" f
functionalUpdate src/Dodge/Update.hs 239;" f functionalUpdate src/Dodge/Update.hs 239;" f
fuseFunc src/Dodge/Path.hs 150;" f
fusePairs src/Dodge/Path.hs 153;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
@@ -3637,9 +3636,9 @@ gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 47;" f gadgetEffect src/Dodge/HeldUse.hs 47;" f
gameOverMenu src/Dodge/Menu.hs 208;" f gameOverMenu src/Dodge/Menu.hs 208;" f
gameRoomFromRoom src/Dodge/Layout.hs 147;" f gameRoomFromRoom src/Dodge/Layout.hs 148;" f
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 144;" f gameRoomsFromRooms src/Dodge/Layout.hs 145;" f
gameplayMenu src/Dodge/Menu.hs 155;" f gameplayMenu src/Dodge/Menu.hs 155;" f
gameplayMenuOptions src/Dodge/Menu.hs 158;" f gameplayMenuOptions src/Dodge/Menu.hs 158;" f
gasType src/Dodge/HeldUse.hs 1115;" f gasType src/Dodge/HeldUse.hs 1115;" f
@@ -3676,7 +3675,7 @@ getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
getLinksOfType src/Dodge/RoomLink.hs 41;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 373;" f getMenuMouseContext src/Dodge/Update.hs 373;" f
getNodePos src/Dodge/Path.hs 31;" f getNodePos src/Dodge/Path.hs 30;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" 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
@@ -3686,7 +3685,7 @@ getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 129;" f getSplitString src/Dodge/Debug/Terminal.hs 129;" f
getTiles src/Dodge/Layout.hs 194;" f getTiles src/Dodge/Layout.hs 195;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 126;" f getVolleyBurst src/Dodge/HeldUse.hs 126;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f
@@ -4157,8 +4156,9 @@ makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 40;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f makePathBetweenPs src/Dodge/Path.hs 54;" f
makePathUsing src/Dodge/Path.hs 33;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f
makeRect src/Grid.hs 82;" f makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 65;" f makeSelectionListPictures src/Dodge/Render/List.hs 65;" f
@@ -4502,7 +4502,7 @@ pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f
pointInPoly src/Geometry/Polygon.hs 86;" f pointInPoly src/Geometry/Polygon.hs 86;" f
pointIsInCone src/Geometry.hs 375;" f pointIsInCone src/Geometry.hs 375;" f
pointIsOnScreen src/Dodge/Base/Window.hs 59;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f
pointTowardsImpulse src/Dodge/Path.hs 63;" f pointTowardsImpulse src/Dodge/Path.hs 62;" f
pointerToItem src/Dodge/Item/Location.hs 39;" f pointerToItem src/Dodge/Item/Location.hs 39;" f
pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
@@ -4688,7 +4688,7 @@ randSpark src/Dodge/Spark.hs 69;" f
randSparkExtraVel src/Dodge/Spark.hs 92;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 628;" f randWallReflect src/Dodge/Update.hs 628;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 58;" f randomCompass src/Dodge/Layout.hs 56;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 280;" f randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 280;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
@@ -4882,7 +4882,7 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 28;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 28;" f
scrollAugInvSel src/Dodge/Inventory.hs 191;" f scrollAugInvSel src/Dodge/Inventory.hs 191;" f
scrollAugNextInSection src/Dodge/Inventory.hs 204;" f scrollAugNextInSection src/Dodge/Inventory.hs 204;" f
scrollDebugInfoInt src/Dodge/Debug.hs 73;" f scrollDebugInfoInt src/Dodge/Debug.hs 114;" f
scrollRBOption src/Dodge/Update/Scroll.hs 202;" f scrollRBOption src/Dodge/Update/Scroll.hs 202;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f
scrollTimeBack src/Dodge/Update.hs 206;" f scrollTimeBack src/Dodge/Update.hs 206;" f
@@ -4910,7 +4910,7 @@ selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f
selSecSelCol src/Dodge/Render/HUD.hs 501;" f selSecSelCol src/Dodge/Render/HUD.hs 501;" f
selSecSelSize src/Dodge/SelectionSections.hs 143;" f selSecSelSize src/Dodge/SelectionSections.hs 143;" f
selSecYint src/Dodge/SelectionSections.hs 152;" f selSecYint src/Dodge/SelectionSections.hs 152;" f
selectCreatureDebugItem src/Dodge/Debug.hs 65;" f selectCreatureDebugItem src/Dodge/Debug.hs 106;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
@@ -4952,8 +4952,8 @@ setShaderSource src/Shader/Compile.hs 290;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 77;" f setTargetMv src/Dodge/Creature/ReaderUpdate.hs 77;" f
setTile src/Dodge/Layout.hs 67;" f setTile src/Dodge/Layout.hs 66;" f
setTiles src/Dodge/Layout.hs 64;" f setTiles src/Dodge/Layout.hs 63;" f
setToggle src/Dodge/Prop/Update.hs 44;" f setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 67;" f setTreeInts src/Dodge/Room/Tutorial.hs 67;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f
@@ -4977,7 +4977,7 @@ setupVBOStatic src/Shader/Compile.hs 116;" f
setupVBOVAO src/Shader/Compile.hs 200;" f setupVBOVAO src/Shader/Compile.hs 200;" f
setupVertexAttribPointer src/Shader/Compile.hs 224;" f setupVertexAttribPointer src/Shader/Compile.hs 224;" f
setupVertexAttribs src/Shader/Compile.hs 218;" f setupVertexAttribs src/Shader/Compile.hs 218;" f
setupWorldBounds src/Dodge/Layout.hs 111;" f setupWorldBounds src/Dodge/Layout.hs 112;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f shadVBOptr src/Shader.hs 40;" f
shaderTypeExt src/Shader/Compile.hs 172;" f shaderTypeExt src/Shader/Compile.hs 172;" f
@@ -5049,7 +5049,7 @@ 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
shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 77;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 59;" f shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 846;" f simpleCrSprings src/Dodge/Update.hs 846;" f
@@ -5083,6 +5083,7 @@ smallPillar src/Dodge/Room/Pillar.hs 37;" f
smallRoom src/Dodge/Room/RunPast.hs 31;" f smallRoom src/Dodge/Room/RunPast.hs 31;" 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
snapToGrid src/Dodge/Path.hs 150;" 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
@@ -5273,7 +5274,7 @@ thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 44;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
throwItem src/Dodge/Creature/Action.hs 212;" f throwItem src/Dodge/Creature/Action.hs 212;" f
tileTexCoords src/Tile.hs 11;" f tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 191;" f tilesFromRooms src/Dodge/Layout.hs 192;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f tilesToLine src/Shader/AuxAddition.hs 66;" f
timeFlowUpdate src/Dodge/Update.hs 167;" f timeFlowUpdate src/Dodge/Update.hs 167;" f
timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f
@@ -5618,7 +5619,7 @@ wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 182;" f wallToSurface src/Dodge/Base/Collide.hs 182;" f
wallsFromRooms src/Dodge/Layout.hs 132;" f wallsFromRooms src/Dodge/Layout.hs 133;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1376;" f warmupSound src/Dodge/HeldUse.hs 1376;" f
warningRooms src/Dodge/Room/Warning.hs 30;" f warningRooms src/Dodge/Room/Warning.hs 30;" f