Tweak debug display

This commit is contained in:
2025-10-14 10:14:30 +01:00
parent 3d602b4f57
commit cadaf00797
7 changed files with 150 additions and 143 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ data Universe = Universe
, _uvLastFrameTicks :: Word32 , _uvLastFrameTicks :: Word32
, _uvFrameTicks :: Word32 , _uvFrameTicks :: Word32
, _uvRAMSave :: Maybe World , _uvRAMSave :: Maybe World
, _uvDebug :: M.Map DebugBool DebugItem , _uvDebug :: M.Map DebugBool [DebugItem]
, _uvDebugFloat1 :: Float , _uvDebugFloat1 :: Float
, _uvDebugFloat2 :: Float , _uvDebugFloat2 :: Float
, _uvDebugMessageOffset :: Int , _uvDebugMessageOffset :: Int
+61 -67
View File
@@ -1,28 +1,31 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Debug (debugEvents) where module Dodge.Debug (debugEvents) where
import Padding --import Dodge.Render.InfoBox
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 AesonHelp import AesonHelp
import Control.Lens import Control.Lens
import Control.Monad
import Data.Aeson.Types
import qualified Data.IntMap.Strict as IM
import Data.List (sortOn) import Data.List (sortOn)
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import Data.Ord
import qualified Data.Set as S import qualified Data.Set as S
import Dodge.Base.Coordinate import Dodge.Base.Coordinate
import Dodge.Base.Window
import Dodge.Data.Universe import Dodge.Data.Universe
import Dodge.Debug.Picture import Dodge.Debug.Picture
import Dodge.WorldEvent.ThingsHit import Dodge.WorldEvent.ThingsHit
import Geometry.Vector import Geometry.Vector
import Linear
import Padding
import Picture.Base
import qualified SDL import qualified SDL
import Data.Ord import ShortShow
--import Data.Foldable (fold) --import Data.Foldable (fold)
debugEvents :: Universe -> Universe debugEvents :: Universe -> Universe
@@ -35,11 +38,11 @@ debugEvents u = case dbools ^. at Enable_debug of
debugEvent :: DebugBool -> Universe -> Universe debugEvent :: DebugBool -> Universe -> Universe
debugEvent db u = u & uvDebug . at db .~ debugItem db u debugEvent db u = u & uvDebug . at db .~ debugItem db u
debugItem :: DebugBool -> Universe -> Maybe DebugItem debugItem :: DebugBool -> Universe -> Maybe [DebugItem]
debugItem = \case debugItem = \case
Collision_test -> constDPic (drawCollisionTest . _uvWorld) Collision_test -> constDPic (drawCollisionTest . _uvWorld)
Circ_collision_test -> constDPic (drawCircCollisionTest . _uvWorld) Circ_collision_test -> constDPic (drawCircCollisionTest . _uvWorld)
Select_creature -> Just . selectCreatureDebugItem Select_creature -> Just . return . selectCreatureDebugItem
Show_walls_near_point_cursor -> constDPic (drawWallsNearCursor . _uvWorld) Show_walls_near_point_cursor -> constDPic (drawWallsNearCursor . _uvWorld)
Show_walls_near_segment -> constDPic (drawWallsNearSegment . _uvWorld) Show_walls_near_segment -> constDPic (drawWallsNearSegment . _uvWorld)
Enable_debug -> const Nothing Enable_debug -> const Nothing
@@ -61,25 +64,45 @@ debugItem = \case
Cr_awareness -> constDPic $ drawCreatureDisplayTexts . _uvWorld Cr_awareness -> constDPic $ drawCreatureDisplayTexts . _uvWorld
Show_sound -> constDPic $ \u -> Show_sound -> constDPic $ \u ->
fold (M.map (soundPic (u ^. uvConfig) (u ^. uvWorld)) $ u ^. uvWorld . playingSounds) fold (M.map (soundPic (u ^. uvConfig) (u ^. uvWorld)) $ u ^. uvWorld . playingSounds)
Cr_status -> constDPic $ \u -> drawCrInfo (u ^. uvConfig) (u ^. uvWorld) Cr_status -> Just . drawCrInfo
Mouse_position -> constDPic $ drawMousePosition . _uvWorld Mouse_position -> constDPic $ drawMousePosition . _uvWorld
Walls_info -> constDPic $ drawWlIDs . _uvWorld Walls_info -> constDPic $ drawWlIDs . _uvWorld
Pathing -> constDPic $ \u -> drawPathing (u ^. uvConfig) (u ^. uvWorld) Pathing -> constDPic $ \u -> drawPathing (u ^. uvConfig) (u ^. uvWorld)
Show_path_between -> constDPic $ drawPathBetween . _uvWorld Show_path_between -> constDPic $ drawPathBetween . _uvWorld
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 :: Universe -> [DebugItem]
drawCrInfo' u = do drawCrInfo u = mapMaybe f . IM.elems $ w ^. cWorld . lWorld . creatures
undefined where
-- w = u ^. uvWorld
g h str = fmap $ ((rightPad 7 '.' str ++ "...") ++) . h
f cr = do
guard $
pointIsOnScreen (u ^. uvConfig) (w ^. wCam) (cr ^. crPos . _xy)
&& cr ^. crID /= 0
Just $
DebugItem
mempty
( catMaybes
[ g show "crID" $ cr ^? crID
, g show "crHP" $ cr ^? crHP . _HP
, g show "crStrategy" $ cr ^? crActionPlan . apStrategy
, g shortShow "crPos" $ cr ^? crPos . _xy
, g show "cpVigilance" $ cr ^? crPerception . cpVigilance
, g show "crAction" $ cr ^? crActionPlan . apAction
, g show "crImpulse" $ cr ^? crActionPlan . apImpulse
]
)
(DebugV2 $ cr ^. crPos . _xy)
--drawCrInfo :: Config -> World -> Picture
--drawCrInfo cfig w =
-- setLayer FixedCoordLayer $ -- setLayer FixedCoordLayer $
-- renderInfoListsAt (2 * hw - 400) 0 cfig cam $ -- renderInfoListsAt (2 * hw - 400) 0 cfig cam $
-- mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures -- mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
-- where -- where
-- w = u ^. uvWorld
-- cfig = u ^. uvConfig
-- cam = w ^. wCam -- cam = w ^. wCam
-- crDisplayInfo :: Creature -> Maybe (Point2, [String]) -- crDisplayInfo :: Creature -> Maybe (Point2, [String])
-- crDisplayInfo cr -- crDisplayInfo cr
@@ -106,39 +129,6 @@ drawCrInfo' u = do
-- fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show) -- fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
-- hw = halfWidth cfig -- 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
@@ -155,33 +145,37 @@ scrollDebugInfoInt i u
debugSelectCreatureMessage :: Universe -> [String] debugSelectCreatureMessage :: Universe -> [String]
debugSelectCreatureMessage u = fromMaybe debugSelectCreatureMessage u = fromMaybe
[show (u ^? uvDebug . ix Select_creature . debugInfo . debugInt)] [show (u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugInt)]
$ do $ do
cid <- u ^? uvDebug . ix Select_creature . debugInfo . debugMInt . _Just cid <- u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugMInt . _Just
i <- u ^? uvDebug . ix Select_creature . debugInfo . debugInt i <- u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugInt
cap <- debugSelectCreatureList cid u !! i cap <- debugSelectCreatureList cid u !! i
return $ show cid : cap return $ show cid : cap
debugSelectCreatureList :: Int -> Universe -> [Maybe [String]] debugSelectCreatureList :: Int -> Universe -> [Maybe [String]]
debugSelectCreatureList cid u = debugSelectCreatureList cid u =
[ debugList "ActionPlan" [ debugList
"ActionPlan"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan)
, debugList "Perception" , debugList
"Perception"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crPerception) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crPerception)
, debugList "Intention" , debugList
"Intention"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crIntention) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crIntention)
, debugList "Memory" , debugList
"Memory"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crMemory) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crMemory)
, debugList "Strategy" , debugList
"Strategy"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan . apStrategy) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan . apStrategy)
, debugList "Vocalization" , debugList
"Vocalization"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crVocalization) (u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crVocalization)
] ]
debugList :: (Functor f, ToJSON a) => String -> f a -> f [String] debugList :: (Functor f, ToJSON a) => String -> f a -> f [String]
debugList str = fmap (([str] ++) . prettyShort ) debugList str = fmap (([str] ++) . prettyShort)
clickGetCreature :: Universe -> DebugInfo clickGetCreature :: Universe -> DebugInfo
clickGetCreature u clickGetCreature u
@@ -190,7 +184,7 @@ clickGetCreature u
DebugIntMInt 0 (closestCreatureID u) DebugIntMInt 0 (closestCreatureID u)
| otherwise = | otherwise =
fromMaybe (DebugIntMInt 0 Nothing) $ fromMaybe (DebugIntMInt 0 Nothing) $
u ^? uvDebug . ix Select_creature . debugInfo u ^? uvDebug . ix Select_creature . ix 0 . debugInfo
closestCreatureID :: Universe -> Maybe Int closestCreatureID :: Universe -> Maybe Int
closestCreatureID u = closestCreatureID u =
+10 -10
View File
@@ -16,7 +16,7 @@ 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
import Dodge.SoundLogic.LoadSound import Dodge.SoundLogic.LoadSound
import Dodge.Viewpoints import Dodge.Viewpoints
@@ -153,15 +153,15 @@ drawZoneCol col s (V2 x y) = setLayer DebugLayer . color col $ thickLine 2 (p :
zipWith (+.+) (square 1) $ zipWith (+.+) (square 1) $
map ((s *.*) . (each %~ fromIntegral)) [V2 x y, V2 (x + 1) y, V2 (x + 1) (y + 1), V2 x (y + 1)] map ((s *.*) . (each %~ fromIntegral)) [V2 x y, V2 (x + 1) y, V2 (x + 1) (y + 1), V2 x (y + 1)]
showEnabledDebugs :: Config -> Picture --showEnabledDebugs :: Config -> Picture
{-# INLINE showEnabledDebugs #-} --{-# INLINE showEnabledDebugs #-}
showEnabledDebugs cfig --showEnabledDebugs cfig
| Enable_debug `S.member` _debug_booleans cfig = -- | Enable_debug `S.member` _debug_booleans cfig =
setLayer FixedCoordLayer (toTopLeft cfig (translate (0.5 * halfWidth cfig) 0 $ drawList $ map text ts)) -- setLayer FixedCoordLayer (toTopLeft cfig (translate (0.5 * halfWidth cfig) 0 $ drawList $ map text ts))
| otherwise = mempty -- | otherwise = mempty
where -- where
-- pic = foldMap (debugDraw' cfig w) (_debug_booleans cfig) -- -- pic = foldMap (debugDraw' cfig w) (_debug_booleans cfig)
ts = map show (S.toList $ _debug_booleans cfig) -- ts = map show (S.toList $ _debug_booleans cfig)
--debugDraw' :: Config -> World -> DebugBool -> Picture --debugDraw' :: Config -> World -> DebugBool -> Picture
--{-# INLINE debugDraw' #-} --{-# INLINE debugDraw' #-}
+8
View File
@@ -16,6 +16,7 @@ module Dodge.Render.List (
selSecDrawCursorAt, selSecDrawCursorAt,
drawTitleBackground, -- should be renamed, made sensible drawTitleBackground, -- should be renamed, made sensible
drawCursorAt, drawCursorAt,
drawLabelledList,
) where ) where
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
@@ -208,6 +209,13 @@ renderListAt tx ty = translate tx (- ty)
drawList :: [Picture] -> Picture drawList :: [Picture] -> Picture
drawList = drawListYgapScaleYoff 0 1 0 drawList = drawListYgapScaleYoff 0 1 0
drawLabelledList :: [(String,[String])] -> Picture
drawLabelledList ((s,ss):xs)
= translate (-10) 0 (drawListYgapScaleYoff 0 1 0 [ textJustifyRight s])
<> drawListYgapScaleYoff 0 1 0 (text <$> ss)
<> translate 0 (negate $ fromIntegral (max 1 $ length ss) * 20) (drawLabelledList xs)
drawLabelledList [] = mempty
--TODO put the following functions in an appropriate place --TODO put the following functions in an appropriate place
-- | Colour picture and add black drop shadow. -- | Colour picture and add black drop shadow.
+10 -7
View File
@@ -2,8 +2,8 @@
module Dodge.Render.Picture (fixedCoordPictures) where module Dodge.Render.Picture (fixedCoordPictures) where
import Linear (_xy)
import Control.Lens import Control.Lens
import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import Dodge.Base.Coordinate import Dodge.Base.Coordinate
import Dodge.Base.Window import Dodge.Base.Window
@@ -13,6 +13,7 @@ import Dodge.Render.List
import Dodge.Render.MenuScreen import Dodge.Render.MenuScreen
import Geometry import Geometry
import HelpNum import HelpNum
import Linear (_xy)
import Picture import Picture
fixedCoordPictures :: Universe -> Picture fixedCoordPictures :: Universe -> Picture
@@ -30,18 +31,20 @@ fixedCoordPictures u =
) )
<> displayFrameTicks u <> displayFrameTicks u
<> drawMouseCursor u <> drawMouseCursor u
<> ( toTopLeft cfig . translate (1.3 * halfWidth cfig) 0 <> toTopLeft
. drawList cfig
. take 50 ( translate (halfWidth cfig) (10 * fromIntegral (u ^. uvDebugMessageOffset))
. drop (u ^. uvDebugMessageOffset) . drawLabelledList
. map text . fmap f
$ foldMap _debugMessage (_uvDebug u) -- other debug pics in extraPics . M.toList
$ u ^. uvDebug
) )
where where
cfig = _uvConfig u cfig = _uvConfig u
hw = halfWidth cfig hw = halfWidth cfig
hh = halfHeight cfig hh = halfHeight cfig
ttl = toTopLeft cfig ttl = toTopLeft cfig
f (k, l) = (show k, foldMap _debugMessage l)
displayFrameTicks :: Universe -> Picture displayFrameTicks :: Universe -> Picture
displayFrameTicks u displayFrameTicks u
+2 -2
View File
@@ -110,8 +110,8 @@ extraPics cfig u =
<> _flares lw <> _flares lw
<> foldMap drawLightSource (_lightSources lw) <> foldMap drawLightSource (_lightSources lw)
<> viewClipBounds cfig w <> viewClipBounds cfig w
<> showEnabledDebugs cfig -- <> showEnabledDebugs cfig
<> foldMap _debugPic (_uvDebug u) -- debug messages are in fixed coord pics <> foldMap (foldMap _debugPic) (_uvDebug u) -- debug messages are in fixed coord pics
where where
w = u ^. uvWorld w = u ^. uvWorld
lw = w ^. cWorld . lWorld lw = w ^. cWorld . lWorld
+55 -53
View File
@@ -2591,7 +2591,7 @@ adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 404;" f advanceScrollAmount src/Dodge/Update.hs 404;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f
aimDelaySweep src/Dodge/Render/Picture.hs 273;" f aimDelaySweep src/Dodge/Render/Picture.hs 275;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f 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 23;" f airlock src/Dodge/Room/Airlock.hs 23;" f
@@ -2852,7 +2852,7 @@ checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f
chestPQ src/Dodge/Creature/HandPos.hs 124;" f chestPQ src/Dodge/Creature/HandPos.hs 124;" f
chooseCursorBorders src/Dodge/Render/List.hs 155;" f chooseCursorBorders src/Dodge/Render/List.hs 156;" 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
@@ -2887,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 150;" f clickGetCreature src/Dodge/Debug.hs 189;" 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
@@ -2896,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 159;" f closestCreatureID src/Dodge/Debug.hs 198;" 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
@@ -2954,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 70;" f constDPic src/Dodge/Debug.hs 71;" 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
@@ -3076,7 +3076,7 @@ cylinderIndices src/Shader/Poke.hs 382;" f
cylinderOnSeg src/Geometry.hs 122;" f cylinderOnSeg src/Geometry.hs 122;" f
cylinderPoly src/Shape.hs 87;" f cylinderPoly src/Shape.hs 87;" f
cylinderRoundIndices src/Shader/Poke.hs 389;" f cylinderRoundIndices src/Shader/Poke.hs 389;" f
dShadCol src/Dodge/Render/List.hs 214;" f dShadCol src/Dodge/Render/List.hs 222;" f
damMatSideEffect src/Dodge/Material/Damage.hs 14;" f damMatSideEffect src/Dodge/Material/Damage.hs 14;" f
damThingHitWith src/Dodge/Damage.hs 72;" f damThingHitWith src/Dodge/Damage.hs 72;" f
damToExpBarrel src/Dodge/Barreloid.hs 53;" f damToExpBarrel src/Dodge/Barreloid.hs 53;" f
@@ -3113,12 +3113,12 @@ debrisSize src/Dodge/Block/Debris.hs 77;" f
debugEvent src/Dodge/Debug.hs 35;" f debugEvent src/Dodge/Debug.hs 35;" f
debugEvents src/Dodge/Debug.hs 28;" f debugEvents src/Dodge/Debug.hs 28;" f
debugItem src/Dodge/Debug.hs 38;" f debugItem src/Dodge/Debug.hs 38;" f
debugList src/Dodge/Debug.hs 146;" f debugList src/Dodge/Debug.hs 185;" 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 129;" f debugSelectCreatureList src/Dodge/Debug.hs 168;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 120;" f debugSelectCreatureMessage src/Dodge/Debug.hs 159;" 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
@@ -3218,7 +3218,7 @@ dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
displayConfig src/Dodge/Menu.hs 231;" f displayConfig src/Dodge/Menu.hs 231;" f
displayControls src/Dodge/Menu.hs 242;" f displayControls src/Dodge/Menu.hs 242;" f
displayFrameTicks src/Dodge/Render/Picture.hs 46;" f displayFrameTicks src/Dodge/Render/Picture.hs 48;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f
@@ -3324,9 +3324,9 @@ doublePairSet src/Geometry.hs 166;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f
doubleV2 src/Geometry.hs 169;" f doubleV2 src/Geometry.hs 169;" f
drawARHUD src/Dodge/Creature/State.hs 193;" f drawARHUD src/Dodge/Creature/State.hs 193;" f
drawAimSweep src/Dodge/Render/Picture.hs 280;" f drawAimSweep src/Dodge/Render/Picture.hs 282;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f drawAllShadows src/Dodge/Shadows.hs 5;" f
drawArrowDown src/Dodge/Render/Picture.hs 207;" f drawArrowDown src/Dodge/Render/Picture.hs 209;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlip src/Dodge/RadarBlip.hs 16;" f
@@ -3339,28 +3339,29 @@ drawChasm src/Dodge/Render/ShapePicture.hs 48;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 51;" f drawCliff src/Dodge/Render/ShapePicture.hs 51;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 255;" f drawCombFilter src/Dodge/Render/Picture.hs 257;" 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 71;" f
drawCoord src/Dodge/Debug/Picture.hs 376;" f drawCoord src/Dodge/Debug/Picture.hs 376;" f
drawCrInfo src/Dodge/Debug.hs 73;" f drawCrInfo src/Dodge/Debug.hs 112;" f
drawCrInfo' src/Dodge/Debug.hs 74;" 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
drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 71;" f drawCursorAt src/Dodge/Render/List.hs 72;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 125;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 127;" f
drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDDATest src/Dodge/Debug/Picture.hs 303;" f
drawDamSensor src/Dodge/Machine/Draw.hs 27;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 253;" f drawDoorPaths src/Dodge/Debug/Picture.hs 253;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f
drawDrag src/Dodge/Render/Picture.hs 186;" f drawDrag src/Dodge/Render/Picture.hs 188;" f
drawDragDrop src/Dodge/Render/Picture.hs 215;" f drawDragDrop src/Dodge/Render/Picture.hs 217;" f
drawDragPickup src/Dodge/Render/Picture.hs 224;" f drawDragPickup src/Dodge/Render/Picture.hs 226;" f
drawDragSelect src/Dodge/Render/Picture.hs 183;" f drawDragSelect src/Dodge/Render/Picture.hs 185;" f
drawDragSelected src/Dodge/Render/HUD.hs 136;" f drawDragSelected src/Dodge/Render/HUD.hs 136;" f
drawDragSelecting src/Dodge/Render/HUD.hs 153;" f drawDragSelecting src/Dodge/Render/HUD.hs 153;" f
drawEmptySet src/Dodge/Render/Picture.hs 139;" f drawEmptySet src/Dodge/Render/Picture.hs 141;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 127;" f drawEquipment src/Dodge/Creature/Picture.hs 127;" f
drawExamineInventory src/Dodge/Render/HUD.hs 198;" f drawExamineInventory src/Dodge/Render/HUD.hs 198;" f
@@ -3369,7 +3370,7 @@ drawFarWallDetect src/Dodge/Debug/Picture.hs 270;" f
drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 266;" f drawGapPlus src/Dodge/Render/Picture.hs 268;" f
drawGib src/Dodge/Prop/Draw.hs 39;" f drawGib src/Dodge/Prop/Draw.hs 39;" f
drawHUD src/Dodge/Render/HUD.hs 51;" f drawHUD src/Dodge/Render/HUD.hs 51;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f
@@ -3378,24 +3379,25 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 233;" f
drawInventory src/Dodge/Render/HUD.hs 58;" f drawInventory src/Dodge/Render/HUD.hs 58;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 329;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 329;" f
drawItemConnections src/Dodge/Render/HUD.hs 319;" f drawItemConnections src/Dodge/Render/HUD.hs 319;" f
drawJumpDown src/Dodge/Render/Picture.hs 178;" f drawJumpDown src/Dodge/Render/Picture.hs 180;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLabelledList src/Dodge/Render/List.hs 212;" f
drawLampCover src/Dodge/Prop/Draw.hs 55;" f drawLampCover src/Dodge/Prop/Draw.hs 55;" f
drawLaser src/Dodge/Laser/Update.hs 29;" f drawLaser src/Dodge/Laser/Update.hs 29;" f
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
drawList src/Dodge/Render/List.hs 208;" f drawList src/Dodge/Render/List.hs 209;" f
drawListElement src/Dodge/Render/List.hs 186;" f drawListElement src/Dodge/Render/List.hs 187;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 95;" f drawListYgapScaleYoff src/Dodge/Render/List.hs 96;" f
drawListYoff src/Dodge/Render/List.hs 92;" f drawListYoff src/Dodge/Render/List.hs 93;" f
drawMachine src/Dodge/Machine/Draw.hs 16;" f drawMachine src/Dodge/Machine/Draw.hs 16;" f
drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f
drawMapperInventory src/Dodge/Render/HUD.hs 173;" f drawMapperInventory src/Dodge/Render/HUD.hs 173;" f
drawMenuClick src/Dodge/Render/Picture.hs 154;" f drawMenuClick src/Dodge/Render/Picture.hs 156;" f
drawMenuCursor src/Dodge/Render/Picture.hs 166;" f drawMenuCursor src/Dodge/Render/Picture.hs 168;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 64;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 66;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f
drawMouseCursor src/Dodge/Render/Picture.hs 80;" f drawMouseCursor src/Dodge/Render/Picture.hs 82;" f
drawMouseOver src/Dodge/Render/HUD.hs 109;" f drawMouseOver src/Dodge/Render/HUD.hs 109;" f
drawMousePosition src/Dodge/Debug/Picture.hs 366;" f drawMousePosition src/Dodge/Debug/Picture.hs 366;" f
drawMovingShape src/Dodge/Prop/Draw.hs 81;" f drawMovingShape src/Dodge/Prop/Draw.hs 81;" f
@@ -3404,23 +3406,23 @@ 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 398;" f drawPathing src/Dodge/Debug/Picture.hs 398;" f
drawPlus src/Dodge/Render/Picture.hs 151;" f drawPlus src/Dodge/Render/Picture.hs 153;" 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
drawProp src/Dodge/Prop/Draw.hs 26;" f drawProp src/Dodge/Prop/Draw.hs 26;" f
drawProxSensor src/Dodge/Machine/Draw.hs 37;" f drawProxSensor src/Dodge/Machine/Draw.hs 37;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 59;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 59;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 133;" f drawQuitTerminal src/Dodge/Render/Picture.hs 135;" f
drawRBOptions src/Dodge/Render/HUD.hs 251;" f drawRBOptions src/Dodge/Render/HUD.hs 251;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f
drawReturn src/Dodge/Render/Picture.hs 142;" f drawReturn src/Dodge/Render/Picture.hs 144;" f
drawRootCursor src/Dodge/Render/HUD.hs 76;" f drawRootCursor src/Dodge/Render/HUD.hs 76;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f
drawSelect src/Dodge/Render/Picture.hs 243;" f drawSelect src/Dodge/Render/Picture.hs 245;" f
drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionList src/Dodge/Render/List.hs 36;" f
drawSelectionListBackground src/Dodge/Render/List.hs 51;" f drawSelectionListBackground src/Dodge/Render/List.hs 52;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f
drawShader src/Shader.hs 27;" f drawShader src/Shader.hs 27;" f
drawShaderLay src/Shader.hs 16;" f drawShaderLay src/Shader.hs 16;" f
@@ -3437,10 +3439,10 @@ drawTerminalDisplay src/Dodge/Render/HUD.hs 360;" f
drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f
drawText src/Picture/Base.hs 220;" f drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 35;" f drawTitle src/Dodge/Render/MenuScreen.hs 35;" f
drawTitleBackground src/Dodge/Render/List.hs 44;" f drawTitleBackground src/Dodge/Render/List.hs 45;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTurret src/Dodge/Machine/Draw.hs 76;" f drawTurret src/Dodge/Machine/Draw.hs 76;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 198;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 200;" f
drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f
drawWall src/Dodge/Wall/Draw.hs 7;" f drawWall src/Dodge/Wall/Draw.hs 7;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f
@@ -3565,7 +3567,7 @@ fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 464;" f
firstBreather src/Dodge/Room/Breather.hs 9;" f firstBreather src/Dodge/Room/Breather.hs 9;" f
firstTrie src/SimpleTrie.hs 51;" f firstTrie src/SimpleTrie.hs 51;" f
firstWorldLoad appDodge/Main.hs 77;" f firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f fixedCoordPictures src/Dodge/Render/Picture.hs 20;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 325;" f flameMuzzles src/Dodge/HeldUse.hs 325;" f
@@ -3614,7 +3616,7 @@ forceField src/Dodge/Wall/ForceField.hs 7;" f
forceFoldable src/StrictHelp.hs 7;" f forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 54;" f fpsText src/Dodge/Render/Picture.hs 56;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
frag src/Shader/Data.hs 102;" f frag src/Shader/Data.hs 102;" f
freeShaderPointers' src/Shader.hs 37;" f freeShaderPointers' src/Shader.hs 37;" f
@@ -4056,7 +4058,7 @@ linksGridToPath src/Dodge/Room/Path.hs 36;" f
linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
listConfig src/Dodge/Menu.hs 235;" f listConfig src/Dodge/Menu.hs 235;" f
listControls src/Dodge/Menu.hs 247;" f listControls src/Dodge/Menu.hs 247;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 134;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 191;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 191;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
@@ -4161,7 +4163,7 @@ makePathBetweenPs src/Dodge/Path.hs 54;" f
makePathUsing src/Dodge/Path.hs 33;" 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 66;" f
makeShaderEBO src/Shader/Compile.hs 53;" f makeShaderEBO src/Shader/Compile.hs 53;" f
makeShaderProgram src/Shader/Compile.hs 241;" f makeShaderProgram src/Shader/Compile.hs 241;" f
makeShaderUsingVAO src/Shader/Compile.hs 146;" f makeShaderUsingVAO src/Shader/Compile.hs 146;" f
@@ -4278,7 +4280,7 @@ mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 177;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 182;" f mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 182;" 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 87;" f mouseCursorType src/Dodge/Render/Picture.hs 89;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 25;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 25;" f
moveBullet src/Dodge/Bullet.hs 196;" f moveBullet src/Dodge/Bullet.hs 196;" f
moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveCombineSel src/Dodge/Update/Scroll.hs 121;" f
@@ -4745,7 +4747,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
renderLayer src/Render.hs 234;" f renderLayer src/Render.hs 234;" f
renderLightingNoShadows src/Render.hs 48;" f renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 191;" f renderListAt src/Dodge/Render/List.hs 192;" f
renderShadows src/Render.hs 117;" f renderShadows src/Render.hs 117;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 163;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 163;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
@@ -4882,7 +4884,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 114;" f scrollDebugInfoInt src/Dodge/Debug.hs 153;" 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
@@ -4905,12 +4907,12 @@ seedStartOptions src/Dodge/Menu.hs 90;" f
segOnCirc src/Geometry.hs 113;" f segOnCirc src/Geometry.hs 113;" f
selNumPos src/Dodge/Render/HUD.hs 447;" f selNumPos src/Dodge/Render/HUD.hs 447;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 470;" f selNumPosCardinal src/Dodge/Render/HUD.hs 470;" f
selSecDrawCursor src/Dodge/Render/List.hs 125;" f selSecDrawCursor src/Dodge/Render/List.hs 126;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f selSecDrawCursorAt src/Dodge/Render/List.hs 105;" 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 106;" f selectCreatureDebugItem src/Dodge/Debug.hs 145;" 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
@@ -5153,8 +5155,8 @@ ssScrollMinOnFail src/Dodge/SelectionSections.hs 44;" f
ssScrollUsing src/Dodge/SelectionSections.hs 37;" f ssScrollUsing src/Dodge/SelectionSections.hs 37;" f
ssSetCursor src/Dodge/SelectionSections.hs 59;" f ssSetCursor src/Dodge/SelectionSections.hs 59;" f
ssfold src/FoldableHelp.hs 105;" f ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAt src/Dodge/Render/List.hs 99;" f
stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackPicturesAtOff src/Dodge/Render/List.hs 102;" f
stackText src/Picture/Base.hs 188;" f stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 311;" f stackedInventory src/Dodge/Creature.hs 311;" f
startCr src/Dodge/Creature.hs 92;" f startCr src/Dodge/Creature.hs 92;" f
@@ -5300,7 +5302,7 @@ toFloatVAs src/Shader/Compile.hs 211;" 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
toOnward src/Dodge/Tree/Compose.hs 101;" f toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 218;" f toTopLeft src/Dodge/Render/List.hs 226;" f
toV2 src/Geometry/Data.hs 54;" f toV2 src/Geometry/Data.hs 54;" f
toV3 src/Geometry/Data.hs 57;" f toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f toV4 src/Geometry/Data.hs 60;" f