Unify debug pictures

This commit is contained in:
2025-09-01 17:22:16 +01:00
parent 6c3c023ed9
commit 01228ed2f1
9 changed files with 156 additions and 280 deletions
+5 -3
View File
@@ -1,8 +1,10 @@
{ {
"_debug_booleans": [ "_debug_booleans": [
"Show_ms_frame", "Show_ms_frame",
"Mouse_position", "Enable_debug",
"Collision_test" "Cr_status",
"Show_walls_near_point_you",
"Show_zone_circ"
], ],
"_debug_view_clip_bounds": "NoRoomClipBoundaries", "_debug_view_clip_bounds": "NoRoomClipBoundaries",
"_gameplay_rotate_to_wall": true, "_gameplay_rotate_to_wall": true,
@@ -18,7 +20,7 @@
"_volume_master": 1, "_volume_master": 1,
"_volume_music": 0, "_volume_music": 0,
"_volume_sound": 1, "_volume_sound": 1,
"_windowPosX": 0, "_windowPosX": 800,
"_windowPosY": 29, "_windowPosY": 29,
"_windowX": 800, "_windowX": 800,
"_windowY": 835 "_windowY": 835
+1 -1
View File
@@ -88,8 +88,8 @@ data DebugBool
| Show_walls_near_point_you | Show_walls_near_point_you
| Show_walls_near_segment | Show_walls_near_segment
| Show_zone_near_point_cursor | Show_zone_near_point_cursor
| Show_zone_circ
| Inspect_wall | Inspect_wall
| Show_nodes_near_select
| Show_path_between | Show_path_between
| Select_creature | Select_creature
deriving (Eq, Ord, Bounded, Enum, Show) deriving (Eq, Ord, Bounded, Enum, Show)
+2 -2
View File
@@ -49,8 +49,8 @@ data Universe = Universe
} }
data DebugItem = DebugItem data DebugItem = DebugItem
{ _debugPic :: Universe -> Picture { _debugPic :: Picture
, _debugMessage :: Universe -> [String] , _debugMessage :: [String]
, _debugInfo :: DebugInfo , _debugInfo :: DebugInfo
} }
+39 -37
View File
@@ -1,5 +1,5 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Debug where module Dodge.Debug (debugEvents) where
import Data.Aeson.Types import Data.Aeson.Types
import AesonHelp import AesonHelp
@@ -15,59 +15,61 @@ 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)
debugEvents :: Universe -> Universe debugEvents :: Universe -> Universe
debugEvents u = case dbools ^. at Enable_debug of debugEvents u = case dbools ^. at Enable_debug of
Nothing -> u Nothing -> u
Just () -> S.foldr debugEvent u dbools Just () -> S.foldr debugEvent (u & uvDebug .~ mempty) dbools
where where
dbools = u ^. uvConfig . debug_booleans dbools = u ^. uvConfig . debug_booleans
debugEvent :: DebugBool -> Universe -> Universe debugEvent :: DebugBool -> Universe -> Universe
debugEvent db u = u & uvDebug . at db .~ debugEvent' u db debugEvent db u = u & uvDebug . at db .~ debugItem db u
-- case db of
-- Collision_test -> u & uvDebug . at Collision_test ?~ collisionDebugItem u
-- Circ_collision_test -> u & uvDebug . at Circ_collision_test ?~ circCollisionDebugItem u
-- Select_creature -> u & uvDebug . at Select_creature ?~ selectCreatureDebugItem u
-- _ -> u
debugEvent' :: Universe -> DebugBool -> Maybe DebugItem debugItem :: DebugBool -> Universe -> Maybe DebugItem
debugEvent' u = \case debugItem = \case
Collision_test -> Just $ collisionDebugItem u Collision_test -> constDPic (drawCollisionTest . _uvWorld)
Circ_collision_test -> Just $ circCollisionDebugItem u Circ_collision_test -> constDPic (drawCircCollisionTest . _uvWorld)
Select_creature -> Just $ selectCreatureDebugItem u Select_creature -> Just . selectCreatureDebugItem
Show_walls_near_point_cursor -> Just Show_walls_near_point_cursor -> constDPic (drawWallsNearCursor . _uvWorld)
(DebugItem (const $ drawWallsNearCursor w) (const mempty) NoDebugInfo) Show_walls_near_segment -> constDPic (drawWallsNearSegment . _uvWorld)
Show_walls_near_segment -> Just Enable_debug -> const Nothing
(DebugItem (const $ drawWallsNearSegment w) (const mempty) NoDebugInfo) Noclip -> const Nothing
_ -> Nothing Remove_LOS -> const Nothing
where Cull_more_lights -> const Nothing
w = u ^. uvWorld Close_shape_culling -> const Nothing
Bound_box_screen -> const Nothing
Show_ms_frame -> const Nothing
View_boundaries -> constDPic (viewBoundaries . _uvWorld)
Show_bound_box -> constDPic (drawBoundingBox . _uvWorld)
Show_wall_search_rays -> constDPic $ drawWallSearchRays . _uvWorld
Show_dda_test -> constDPic $ drawDDATest . _uvWorld
Show_far_wall_detect -> constDPic $ drawFarWallDetect . _uvWorld
Show_walls_near_point_you -> constDPic $ drawWallsNearYou . _uvWorld
Show_zone_near_point_cursor -> constDPic $ drawZoneNearPointCursor . _uvWorld
Show_zone_circ -> constDPic $ drawZoneCirc . _uvWorld
Inspect_wall -> constDPic $ drawInspectWalls . _uvWorld
Cr_awareness -> constDPic $ drawCreatureDisplayTexts . _uvWorld
Show_sound -> constDPic $ \u ->
fold (M.map (soundPic (u ^. uvConfig) (u ^. uvWorld)) $ u ^. uvWorld . playingSounds)
Cr_status -> constDPic $ \u -> drawCrInfo (u ^. uvConfig) (u ^. uvWorld)
Mouse_position -> constDPic $ drawMousePosition . _uvWorld
Walls_info -> constDPic $ drawWlIDs . _uvWorld
Pathing -> constDPic $ \u -> drawPathing (u ^. uvConfig) (u ^. uvWorld)
Show_path_between -> constDPic $ drawPathBetween . _uvWorld
collisionDebugItem :: Universe -> DebugItem constDPic :: (Universe -> Picture) -> Universe -> Maybe DebugItem
collisionDebugItem u = constDPic p u = Just $ DebugItem (p u) mempty NoDebugInfo
DebugItem
{ _debugPic = const $ drawCollisionTest $ u ^. uvWorld
, _debugMessage = const []
, _debugInfo = NoDebugInfo
}
selectCreatureDebugItem :: Universe -> DebugItem selectCreatureDebugItem :: Universe -> DebugItem
selectCreatureDebugItem u = selectCreatureDebugItem u =
DebugItem DebugItem
{ _debugPic = const mempty { _debugPic = mempty
, _debugMessage = debugSelectCreatureMessage , _debugMessage = debugSelectCreatureMessage u
, _debugInfo = scrollDebugInfoInt (length $ debugSelectCreatureList 0 u) u $ clickGetCreature u , _debugInfo = scrollDebugInfoInt (length $ debugSelectCreatureList 0 u) u $ clickGetCreature u
} }
circCollisionDebugItem :: Universe -> DebugItem
circCollisionDebugItem _ =
DebugItem
{ _debugPic = drawCircCollisionTest . (^. uvWorld)
, _debugMessage = const []
, _debugInfo = NoDebugInfo
}
scrollDebugInfoInt :: Int -> Universe -> DebugInfo -> DebugInfo scrollDebugInfoInt :: Int -> Universe -> DebugInfo -> DebugInfo
scrollDebugInfoInt i u scrollDebugInfoInt i u
| SDL.ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) = | SDL.ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) =
+49 -38
View File
@@ -4,7 +4,6 @@ module Dodge.Debug.Picture where
import Control.Lens import Control.Lens
import Data.Foldable import Data.Foldable
import qualified Data.Graph.Inductive as FGL import qualified Data.Graph.Inductive as FGL
import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import qualified Data.Set as S import qualified Data.Set as S
import Dodge.Base import Dodge.Base
@@ -151,48 +150,47 @@ 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)]
debugDraw :: Config -> World -> Picture showEnabledDebugs :: Config -> Picture
{-# INLINE debugDraw #-} {-# INLINE showEnabledDebugs #-}
debugDraw cfig w showEnabledDebugs cfig
| Enable_debug `S.member` _debug_booleans cfig = | Enable_debug `S.member` _debug_booleans cfig =
pic 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' #-}
debugDraw' cfig w bl = case bl of --debugDraw' cfig w bl = case bl of
Enable_debug -> mempty -- Enable_debug -> mempty
Noclip -> mempty -- Noclip -> mempty
Remove_LOS -> mempty -- Remove_LOS -> mempty
Cull_more_lights -> mempty -- Cull_more_lights -> mempty
Close_shape_culling -> mempty -- Close_shape_culling -> mempty
Bound_box_screen -> mempty -- Bound_box_screen -> mempty
Show_ms_frame -> mempty -- Show_ms_frame -> mempty
View_boundaries -> viewBoundaries w -- View_boundaries -> mempty
Show_bound_box -> drawBoundingBox w -- Show_bound_box -> mempty
Show_wall_search_rays -> drawWallSearchRays w -- Show_wall_search_rays -> mempty
Show_dda_test -> drawDDATest w -- Show_dda_test -> mempty
Show_far_wall_detect -> drawFarWallDetect w -- Show_far_wall_detect -> mempty
Show_walls_near_point_cursor -> mempty -- Show_walls_near_point_cursor -> mempty
Show_walls_near_segment -> mempty -- Show_walls_near_segment -> mempty
Show_walls_near_point_you -> drawWallsNearYou w -- Show_walls_near_point_you -> drawWallsNearYou w
Show_zone_near_point_cursor -> drawZoneNearPointCursor w -- Show_zone_near_point_cursor -> drawZoneNearPointCursor w
Inspect_wall -> drawInspectWalls w -- Show_zone_circ -> drawZoneCirc w
Cr_awareness -> drawCreatureDisplayTexts w -- Inspect_wall -> drawInspectWalls w
Show_sound -> fold $ M.map (soundPic cfig w) $ _playingSounds w -- Cr_awareness -> drawCreatureDisplayTexts w
Cr_status -> drawCrInfo cfig w -- Show_sound -> fold $ M.map (soundPic cfig w) $ _playingSounds w
Mouse_position -> drawMousePosition w -- Cr_status -> drawCrInfo cfig w
Walls_info -> drawWlIDs w -- Mouse_position -> drawMousePosition w
Pathing -> drawPathing cfig w -- Walls_info -> drawWlIDs w
Show_nodes_near_select -> undefined --drawNodesNearSelect w -- Pathing -> drawPathing cfig w
Show_path_between -> drawPathBetween w -- Show_path_between -> drawPathBetween w
Collision_test -> mempty -- Collision_test -> mempty
Circ_collision_test -> mempty -- Circ_collision_test -> mempty
Select_creature -> mempty -- Select_creature -> mempty
drawCreatureDisplayTexts :: World -> Picture drawCreatureDisplayTexts :: World -> Picture
drawCreatureDisplayTexts w = foldMap (creatureDisplayText w) (w ^. cWorld . lWorld . creatures) drawCreatureDisplayTexts w = foldMap (creatureDisplayText w) (w ^. cWorld . lWorld . creatures)
@@ -288,6 +286,19 @@ drawZoneNearPointCursor w =
mwp = mouseWorldPos (w ^. input) (w ^. wCam) mwp = mouseWorldPos (w ^. input) (w ^. wCam)
ps = [zoneOfPoint 50 mwp] ps = [zoneOfPoint 50 mwp]
drawZoneCirc :: World -> Picture
drawZoneCirc w = concat $ do
a <- w ^. input . clickWorldPos . at ButtonLeft
b <- w ^. input . heldWorldPos . at ButtonLeft
return $
setLayer DebugLayer (uncurryV translate a $ color red $ circle (dist a b))
<>
setLayer DebugLayer (color green $ line [a, b])
-- foldMap (drawZoneCol orange 50) ps
-- where
-- mwp = mouseWorldPos (w ^. input) (w ^. wCam)
-- ps = [zoneOfPoint 50 mwp]
drawDDATest :: World -> Picture drawDDATest :: World -> Picture
drawDDATest w = drawDDATest w =
foldMap (drawZoneCol orange 50) ps foldMap (drawZoneCol orange 50) ps
-140
View File
@@ -1,140 +0,0 @@
module Dodge.Default.World where
import Dodge.Data.World
import Dodge.Zone.Size
import Dodge.Zone.Object
import Dodge.Base
import Geometry.Vector3D
import Geometry.Zone
--import Dodge.Config.KeyConfig
--import Dodge.Menu
--import Picture
import Geometry.Data
import Geometry.Polygon
--import Picture.Texture
--import Data.Preload
import Control.Lens
import System.Random
import qualified IntMapHelp as IM
import qualified Data.Map as M
import qualified Data.Set as S
import Data.Graph.Inductive.Graph hiding ((&))
--import Data.Graph.Inductive.NodeMap
--import qualified Data.Vector.Fusion.Stream.Monadic as VS
defaultWorld :: World
defaultWorld = World
{ _keys = S.empty
, _magnets = IM.empty
, _mouseButtons = mempty
, _cameraCenter = V2 0 0
, _cameraRot = 0
, _cameraZoom = 1
, _itemZoom = 1
, _defaultZoom = 1
, _cameraViewFrom = V2 0 0
, _viewDistance = 1000
, _modifications = IM.empty
, _creatures = IM.empty
, _crZoning = Zoning IM.empty crZoneSize zoneOfCreature
, _creatureGroups = IM.empty
, _clouds = mempty
, _clZoning = Zoning IM.empty clZoneSize (zonePos (stripZ . _clPos))
, _gusts = IM.empty
, _gsZoning = Zoning IM.empty clZoneSize (zonePos _guPos)
, _itemPositions = IM.empty
, _props = IM.empty
, _instantParticles = []
, _particles = []
, _newBeams = WorldBeams [] [] [] []
, _beams = WorldBeams [] [] [] []
, _walls = IM.empty
, _wallDamages = IM.empty
, _blocks = IM.empty
, _machines = IM.empty
, _terminals = IM.empty
, _doors = IM.empty
, _coordinates = IM.empty
, _triggers = IM.empty
, _wlZoning = Zoning IM.empty wlZoneSize zoneOfWall
, _floorItems = IM.empty
, _floorTiles = []
, _randGen = mkStdGen 2
, _mousePos = V2 0 0
, _testString = const . const []
, _debugPicture = mempty
, _yourID = 0
, _worldEvents = id
, _delayedEvents = []
, _pressPlates = IM.empty
, _buttons = IM.empty
, _toPlaySounds = M.empty
, _playingSounds = M.empty
, _corpses = IM.empty
, _decorations = IM.empty
--, _savedWorlds = M.empty
-- , _menuLayers = []
, _clickMousePos = V2 0 0
, _pathGraph = PathGraph Data.Graph.Inductive.Graph.empty mempty 0 mempty
, _pathGraphP = mempty
<<<<<<< HEAD
, _pnZoning = Zoning mempty pnZoneSize (zonePos snd)
, _peZoning = Zoning mempty pnZoneSize (\x (_,_,PathEdge p q _) -> zoneOfSeg x p q)
=======
, _pnZoning = Zoning mempty wlZoneSize (zonePos snd)
, _peZoning = Zoning mempty wlZoneSize (\x (_,_,e) -> zoneOfSeg x (_peStart e) (_peEnd e))
>>>>>>> efficientRuntime
, _hud = HUD
{ _hudElement = DisplayInventory NoSubInventory
, _carteCenter = V2 0 0
, _carteZoom = 0.5
, _carteRot = 0
}
, _lightSources = IM.empty
, _tempLightSources = [youLight]
, _closeObjects = []
, _rbOptions = NoRightButtonOptions
, _seenLocations = IM.fromList
[(0, (_crPos . you, "CURRENT POSITION"))
,(1, (const (V2 0 0) , "START POSITION"))
]
, _selLocation = 0
--, _keyConfig = defaultKeyConfigSDL
-- , _config = defaultConfig
, _sideEffects = return
, _shapes = mempty
, _distortions = []
, _gameRooms = []
, _roomClipping = []
, _unpauseClock = 0
, _worldBounds = defaultBounds
, _maybeWorld = Nothing'
, _rewindWorlds = []
, _timeFlow = NormalTimeFlow
, _hammers = defaultWorldHammers
, _backspaceTimer = 0
, _genParams = GenParams M.empty
, _genPlacements = IM.empty
, _genRooms = IM.empty
, _deathDelay = Nothing
, _testFloat = 0
, _boundBox = square 100
, _boundDist = (100,-100,100,-100)
, _lLine = (0,0)
, _rLine = (0,0)
, _lSelect = 0
, _rSelect = 0
}
defaultWorldHammers :: M.Map WorldHammer HammerPosition
defaultWorldHammers = M.fromSet (const HammerUp) $ S.fromList [minBound.. maxBound]
youLight :: TempLightSource
youLight = TLS
{ _tlsParam = LSParam
{_lsPos = V3 0 0 0
,_lsRad = 150
,_lsCol = 0.1
}
,_tlsUpdate = \w _ -> Just (youLight & tlsParam . lsPos .~ f (_crPos $ you w))
,_tlsTime = 0
}
where
f (V2 x y) = V3 x y 100
+1 -1
View File
@@ -35,7 +35,7 @@ fixedCoordPictures u =
. take 50 . take 50
. drop (u ^. uvDebugMessageOffset) . drop (u ^. uvDebugMessageOffset)
. map text . map text
$ foldMap (`_debugMessage` u) (_uvDebug u) -- other debug pics in extraPics $ foldMap _debugMessage (_uvDebug u) -- other debug pics in extraPics
) )
where where
cfig = _uvConfig u cfig = _uvConfig u
+2 -2
View File
@@ -110,8 +110,8 @@ extraPics cfig u =
<> foldMap drawLightSource (_lightSources lw) <> foldMap drawLightSource (_lightSources lw)
<> foldMap ppDraw (_pressPlates lw) <> foldMap ppDraw (_pressPlates lw)
<> viewClipBounds cfig w <> viewClipBounds cfig w
<> debugDraw cfig w <> showEnabledDebugs cfig
<> foldMap (`_debugPic` u) (_uvDebug u) -- debug messages are in fixed coord pics <> 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
+57 -56
View File
@@ -45,7 +45,7 @@ AimStance src/Dodge/Data/AimStance.hs 11;" t
Aiming src/Dodge/Data/Creature/Stance.hs 39;" C Aiming src/Dodge/Data/Creature/Stance.hs 39;" C
AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C
AlienContact src/Dodge/Data/Scenario.hs 30;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C
AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 108;" C
AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C
Ambush src/Dodge/Data/ActionPlan.hs 178;" C Ambush src/Dodge/Data/ActionPlan.hs 178;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 33;" C
@@ -368,7 +368,7 @@ DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C
DoorOpen src/Dodge/Data/Door.hs 23;" C DoorOpen src/Dodge/Data/Door.hs 23;" C
DoorPart src/Dodge/Data/Wall/Structure.hs 14;" C DoorPart src/Dodge/Data/Wall/Structure.hs 14;" C
DoorStatus src/Dodge/Data/Door.hs 23;" t DoorStatus src/Dodge/Data/Door.hs 23;" t
DoubleRes src/Dodge/Data/Config.hs 97;" C DoubleRes src/Dodge/Data/Config.hs 98;" C
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 16;" t DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 16;" t
DrWdId src/Dodge/Data/WorldEffect.hs 68;" C DrWdId src/Dodge/Data/WorldEffect.hs 68;" C
DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 69;" C DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 69;" C
@@ -391,7 +391,7 @@ Ears src/Dodge/Data/Creature/Perception.hs 47;" C
East src/Dodge/Data/CardinalPoint.hs 7;" C East src/Dodge/Data/CardinalPoint.hs 7;" C
East8 src/Dodge/Data/CardinalPoint.hs 15;" C East8 src/Dodge/Data/CardinalPoint.hs 15;" C
EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t
EighthRes src/Dodge/Data/Config.hs 97;" C EighthRes src/Dodge/Data/Config.hs 98;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricSensor src/Dodge/Data/Machine/Sensor/Type.hs 13;" C ElectricSensor src/Dodge/Data/Machine/Sensor/Type.hs 13;" C
ElectricSpark src/Dodge/Data/Spark.hs 22;" C ElectricSpark src/Dodge/Data/Spark.hs 22;" C
@@ -479,7 +479,7 @@ FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
FromEdge src/Dodge/Data/Room.hs 47;" C FromEdge src/Dodge/Data/Room.hs 47;" C
FullRes src/Dodge/Data/Config.hs 97;" C FullRes src/Dodge/Data/Config.hs 98;" C
FullShadowFidelity src/Shape/Data.hs 24;" C FullShadowFidelity src/Shape/Data.hs 24;" C
FullSize src/Dodge/Data/Item/Params.hs 28;" C FullSize src/Dodge/Data/Item/Params.hs 28;" C
FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C
@@ -507,7 +507,7 @@ GenFloat src/Dodge/Data/GenFloat.hs 11;" t
GenParams src/Dodge/Data/GenParams.hs 15;" t GenParams src/Dodge/Data/GenParams.hs 15;" t
GenWorld src/Dodge/Data/GenWorld.hs 23;" t GenWorld src/Dodge/Data/GenWorld.hs 23;" t
GenericFaction src/Dodge/Data/Creature/State.hs 15;" C GenericFaction src/Dodge/Data/Creature/State.hs 15;" C
GeoObjShads src/Dodge/Data/Config.hs 101;" C GeoObjShads src/Dodge/Data/Config.hs 102;" C
GetTo src/Dodge/Data/ActionPlan.hs 189;" C GetTo src/Dodge/Data/ActionPlan.hs 189;" C
GetToPoint src/Dodge/Data/Scenario.hs 12;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C
Gib src/Dodge/Data/Prop.hs 43;" C Gib src/Dodge/Data/Prop.hs 43;" C
@@ -536,7 +536,7 @@ HELD src/Dodge/Data/Item/Combine.hs 17;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C
HOSE src/Dodge/Data/Item/Combine.hs 55;" C HOSE src/Dodge/Data/Item/Combine.hs 55;" C
HUD src/Dodge/Data/HUD.hs 31;" t HUD src/Dodge/Data/HUD.hs 31;" t
HalfRes src/Dodge/Data/Config.hs 97;" C HalfRes src/Dodge/Data/Config.hs 98;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C
HardQuit src/Dodge/Data/Universe.hs 70;" C HardQuit src/Dodge/Data/Universe.hs 70;" C
HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
@@ -597,13 +597,13 @@ IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 13;" C
InheritFloor src/Data/Tile.hs 12;" C InheritFloor src/Data/Tile.hs 12;" C
Input src/Dodge/Data/Input.hs 33;" t Input src/Dodge/Data/Input.hs 33;" t
InputScreen src/Dodge/Data/Universe.hs 92;" C InputScreen src/Dodge/Data/Universe.hs 92;" C
Inspect_wall src/Dodge/Data/Config.hs 91;" C Inspect_wall src/Dodge/Data/Config.hs 92;" C
Institution src/Dodge/Data/Scenario.hs 42;" t Institution src/Dodge/Data/Scenario.hs 42;" t
Int2 src/Geometry/Data.hs 21;" t Int2 src/Geometry/Data.hs 21;" t
IntID src/Dodge/Data/Universe.hs 113;" t IntID src/Dodge/Data/Universe.hs 113;" t
IntImp src/Dodge/Data/CreatureEffect.hs 20;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t
Intention src/Dodge/Data/Creature.hs 69;" t Intention src/Dodge/Data/Creature.hs 69;" t
IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 108;" C
IntroScanSF src/Dodge/Data/ComposedItem.hs 21;" C IntroScanSF src/Dodge/Data/ComposedItem.hs 21;" C
IntroScanType src/Dodge/Data/Item/Combine.hs 45;" t IntroScanType src/Dodge/Data/Item/Combine.hs 45;" t
InvInt src/Dodge/Data/Item/Location.hs 17;" t InvInt src/Dodge/Data/Item/Location.hs 17;" t
@@ -857,17 +857,17 @@ NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 44;" C NoItTargeting src/Dodge/Data/Item.hs 44;" C
NoItemScroll src/Dodge/Data/Item.hs 39;" C NoItemScroll src/Dodge/Data/Item.hs 39;" C
NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C
NoLighting src/Dodge/Data/Config.hs 104;" C NoLighting src/Dodge/Data/Config.hs 105;" C
NoMouseContext src/Dodge/Data/Input.hs 15;" C NoMouseContext src/Dodge/Data/Input.hs 15;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C
NoObjShads src/Dodge/Data/Config.hs 102;" C NoObjShads src/Dodge/Data/Config.hs 103;" C
NoParams src/Dodge/Data/Item/Params.hs 15;" C NoParams src/Dodge/Data/Item/Params.hs 15;" C
NoResurrection src/Dodge/Data/Corpse.hs 14;" C NoResurrection src/Dodge/Data/Corpse.hs 14;" C
NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 16;" C NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 16;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 108;" C
NoSF src/Dodge/Data/ComposedItem.hs 29;" C NoSF src/Dodge/Data/ComposedItem.hs 29;" C
NoShadowFidelity src/Shape/Data.hs 25;" C NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 103;" C NoShadows src/Dodge/Data/Config.hs 104;" C
NoSubInventory src/Dodge/Data/HUD.hs 17;" C NoSubInventory src/Dodge/Data/HUD.hs 17;" C
NoTrigger src/Dodge/Data/TriggerType.hs 11;" C NoTrigger src/Dodge/Data/TriggerType.hs 11;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 23;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 23;" C
@@ -1098,7 +1098,7 @@ PutUsingGenParams src/Dodge/Data/GenWorld.hs 61;" C
PutWall src/Dodge/Data/GenWorld.hs 54;" C PutWall src/Dodge/Data/GenWorld.hs 54;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 59;" C PutWorldUpdate src/Dodge/Data/GenWorld.hs 59;" C
QFloat src/Geometry/Data.hs 50;" t QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 97;" C QuarterRes src/Dodge/Data/Config.hs 98;" C
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C
RAM src/Dodge/Data/Item/Combine.hs 74;" C RAM src/Dodge/Data/Item/Combine.hs 74;" C
RED src/Color/Data.hs 15;" C RED src/Color/Data.hs 15;" C
@@ -1139,7 +1139,7 @@ RenderData src/Data/Preload/Render.hs 13;" t
ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 31;" C ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 31;" C
RequireEquipment src/Dodge/Data/Machine/Sensor.hs 38;" C RequireEquipment src/Dodge/Data/Machine/Sensor.hs 38;" C
RequireHealth src/Dodge/Data/Machine/Sensor.hs 37;" C RequireHealth src/Dodge/Data/Machine/Sensor.hs 37;" C
ResFactor src/Dodge/Data/Config.hs 97;" t ResFactor src/Dodge/Data/Config.hs 98;" t
ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResearchFacility src/Dodge/Data/Scenario.hs 62;" C
ResourceFailure src/Dodge/Data/Scenario.hs 29;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C
RespawnDelay src/Dodge/Data/World.hs 59;" C RespawnDelay src/Dodge/Data/World.hs 59;" C
@@ -1157,7 +1157,7 @@ RocketHoming src/Dodge/Data/Projectile.hs 41;" t
RocketSmoke src/Dodge/Data/Projectile.hs 54;" t RocketSmoke src/Dodge/Data/Projectile.hs 54;" t
RocketSmoke src/Dodge/Data/Cloud.hs 24;" C RocketSmoke src/Dodge/Data/Cloud.hs 24;" C
Room src/Dodge/Data/GenWorld.hs 100;" t Room src/Dodge/Data/GenWorld.hs 100;" t
RoomClipping src/Dodge/Data/Config.hs 107;" t RoomClipping src/Dodge/Data/Config.hs 108;" t
RoomInt src/Dodge/Tree/Shift.hs 26;" t RoomInt src/Dodge/Tree/Shift.hs 26;" t
RoomLink src/Dodge/Data/Room.hs 23;" t RoomLink src/Dodge/Data/Room.hs 23;" t
RoomLinkType src/Dodge/Data/Room.hs 42;" t RoomLinkType src/Dodge/Data/Room.hs 42;" t
@@ -1203,7 +1203,7 @@ SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C
SelItem src/Dodge/Data/SelectionList.hs 42;" C SelItem src/Dodge/Data/SelectionList.hs 42;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C
Select_creature src/Dodge/Data/Config.hs 94;" C Select_creature src/Dodge/Data/Config.hs 95;" C
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" C
Selection src/Dodge/Data/HUD.hs 44;" t Selection src/Dodge/Data/HUD.hs 44;" t
SelectionItem src/Dodge/Data/SelectionList.hs 41;" t SelectionItem src/Dodge/Data/SelectionList.hs 41;" t
@@ -1220,7 +1220,7 @@ ShadNum src/Picture/Data.hs 35;" t
Shader src/Shader/Data.hs 51;" t Shader src/Shader/Data.hs 51;" t
ShaderTexture src/Shader/Data.hs 94;" t ShaderTexture src/Shader/Data.hs 94;" t
ShadowFidelity src/Shape/Data.hs 24;" t ShadowFidelity src/Shape/Data.hs 24;" t
ShadowRendering src/Dodge/Data/Config.hs 100;" t ShadowRendering src/Dodge/Data/Config.hs 101;" t
Shape src/Shape/Data.hs 53;" t Shape src/Shape/Data.hs 53;" t
ShapeProp src/Dodge/Data/Prop.hs 32;" C ShapeProp src/Dodge/Data/Prop.hs 32;" C
ShapeType src/Shape/Data.hs 16;" t ShapeType src/Shape/Data.hs 16;" t
@@ -1237,20 +1237,21 @@ Show_bound_box src/Dodge/Data/Config.hs 80;" C
Show_dda_test src/Dodge/Data/Config.hs 83;" C Show_dda_test src/Dodge/Data/Config.hs 83;" C
Show_far_wall_detect src/Dodge/Data/Config.hs 86;" C Show_far_wall_detect src/Dodge/Data/Config.hs 86;" C
Show_ms_frame src/Dodge/Data/Config.hs 67;" C Show_ms_frame src/Dodge/Data/Config.hs 67;" C
Show_nodes_near_select src/Dodge/Data/Config.hs 92;" C Show_nodes_near_select src/Dodge/Data/Config.hs 93;" C
Show_path_between src/Dodge/Data/Config.hs 93;" C Show_path_between src/Dodge/Data/Config.hs 94;" C
Show_sound src/Dodge/Data/Config.hs 69;" C Show_sound src/Dodge/Data/Config.hs 69;" C
Show_wall_search_rays src/Dodge/Data/Config.hs 82;" C Show_wall_search_rays src/Dodge/Data/Config.hs 82;" C
Show_walls_near_point_cursor src/Dodge/Data/Config.hs 87;" C Show_walls_near_point_cursor src/Dodge/Data/Config.hs 87;" C
Show_walls_near_point_you src/Dodge/Data/Config.hs 88;" C Show_walls_near_point_you src/Dodge/Data/Config.hs 88;" C
Show_walls_near_segment src/Dodge/Data/Config.hs 89;" C Show_walls_near_segment src/Dodge/Data/Config.hs 89;" C
Show_zone_circ src/Dodge/Data/Config.hs 91;" C
Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C
ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C
ShrinkGunStatus src/Dodge/Data/Item/Params.hs 28;" t ShrinkGunStatus src/Dodge/Data/Item/Params.hs 28;" t
Shrunk src/Dodge/Data/Item/Params.hs 28;" C Shrunk src/Dodge/Data/Item/Params.hs 28;" C
SideCluster src/Dodge/Data/RoomCluster.hs 13;" C SideCluster src/Dodge/Data/RoomCluster.hs 13;" C
SideEffect src/Dodge/Data/Universe.hs 64;" t SideEffect src/Dodge/Data/Universe.hs 64;" t
SixteenthRes src/Dodge/Data/Config.hs 97;" C SixteenthRes src/Dodge/Data/Config.hs 98;" C
Size src/Shape/Data.hs 28;" t Size src/Shape/Data.hs 28;" t
SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C
SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C
@@ -2653,7 +2654,7 @@ applyPastDamages src/Dodge/Creature/State.hs 48;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 451;" f applyRecoil src/Dodge/HeldUse.hs 451;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 111;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f
applySidePush src/Dodge/HeldUse.hs 551;" f applySidePush src/Dodge/HeldUse.hs 551;" f
applySoundCME src/Dodge/HeldUse.hs 441;" f applySoundCME src/Dodge/HeldUse.hs 441;" f
@@ -2878,7 +2879,6 @@ chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f
chooseMovementPistol src/Dodge/Humanoid.hs 203;" f chooseMovementPistol src/Dodge/Humanoid.hs 203;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circCollisionDebugItem src/Dodge/Debug.hs 63;" f
circHitWall src/Dodge/Base/Collide.hs 232;" f circHitWall src/Dodge/Base/Collide.hs 232;" f
circInPolygon src/Geometry/Polygon.hs 70;" f circInPolygon src/Geometry/Polygon.hs 70;" f
circOnAnyCr src/Dodge/Base/Collide.hs 287;" f circOnAnyCr src/Dodge/Base/Collide.hs 287;" f
@@ -2906,7 +2906,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 107;" f clickGetCreature src/Dodge/Debug.hs 98;" f
clicker src/Dodge/Item/Scope.hs 82;" f clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 47;" f clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 230;" f clipZoom src/Dodge/Update/Camera.hs 230;" f
@@ -2915,7 +2915,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 222;" f closeObjectInfo src/Dodge/Render/HUD.hs 222;" f
closestCreatureID src/Dodge/Debug.hs 116;" f closestCreatureID src/Dodge/Debug.hs 107;" f
closestPointOnLine src/Geometry/Intersect.hs 281;" f closestPointOnLine src/Geometry/Intersect.hs 281;" f
closestPointOnLineParam src/Geometry/Intersect.hs 297;" f closestPointOnLineParam src/Geometry/Intersect.hs 297;" f
closestPointOnSeg src/Geometry/Intersect.hs 312;" f closestPointOnSeg src/Geometry/Intersect.hs 312;" f
@@ -2944,7 +2944,6 @@ collideCircWalls src/Dodge/Base/Collide.hs 244;" f
collidePoint src/Dodge/Base/Collide.hs 54;" f collidePoint src/Dodge/Base/Collide.hs 54;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 180;" f collidePointTestFilter src/Dodge/Base/Collide.hs 180;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 194;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 194;" f
collisionDebugItem src/Dodge/Debug.hs 47;" f
color src/Picture/Base.hs 108;" f color src/Picture/Base.hs 108;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 237;" f colorSH src/Shape.hs 237;" f
@@ -2974,6 +2973,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 50;" 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
@@ -3130,14 +3130,14 @@ debrisSize src/Dodge/Block/Debris.hs 77;" f
debugDraw src/Dodge/Debug/Picture.hs 154;" f debugDraw src/Dodge/Debug/Picture.hs 154;" f
debugDraw' src/Dodge/Debug/Picture.hs 165;" f debugDraw' src/Dodge/Debug/Picture.hs 165;" f
debugEvent src/Dodge/Debug.hs 26;" f debugEvent src/Dodge/Debug.hs 26;" f
debugEvent' src/Dodge/Debug.hs 34;" f
debugEvents src/Dodge/Debug.hs 19;" f debugEvents src/Dodge/Debug.hs 19;" f
debugList src/Dodge/Debug.hs 103;" f debugItem src/Dodge/Debug.hs 29;" f
debugList src/Dodge/Debug.hs 94;" f
debugMenu src/Dodge/Menu.hs 119;" f debugMenu src/Dodge/Menu.hs 119;" f
debugMenuOptions src/Dodge/Menu.hs 122;" f debugMenuOptions src/Dodge/Menu.hs 122;" f
debugOn src/Dodge/Data/Config.hs 151;" f debugOn src/Dodge/Data/Config.hs 152;" f
debugSelectCreatureList src/Dodge/Debug.hs 86;" f debugSelectCreatureList src/Dodge/Debug.hs 77;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f debugSelectCreatureMessage src/Dodge/Debug.hs 68;" f
decodeSensorType src/Dodge/Terminal.hs 76;" f decodeSensorType src/Dodge/Terminal.hs 76;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f
@@ -3166,7 +3166,7 @@ defaultCWGen src/Dodge/Default/World.hs 56;" f
defaultCWorld src/Dodge/Default/World.hs 81;" f defaultCWorld src/Dodge/Default/World.hs 81;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f defaultConfig src/Dodge/Data/Config.hs 128;" f
defaultCorpse src/Dodge/Corpse/Make.hs 32;" f defaultCorpse src/Dodge/Corpse/Make.hs 32;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCraftItem src/Dodge/Default/Item.hs 25;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f
@@ -3359,7 +3359,7 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 55;" 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
drawBlock src/Dodge/Block/Draw.hs 7;" f drawBlock src/Dodge/Block/Draw.hs 7;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 336;" f drawBoundingBox src/Dodge/Debug/Picture.hs 350;" f
drawBullet src/Dodge/Bullet/Draw.hs 9;" f drawBullet src/Dodge/Bullet/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 10;" f drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
@@ -3370,17 +3370,17 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 268;" f drawCombFilter src/Dodge/Render/Picture.hs 268;" f
drawCombineInventory src/Dodge/Render/HUD.hs 178;" f drawCombineInventory src/Dodge/Render/HUD.hs 178;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f
drawCoord src/Dodge/Debug/Picture.hs 364;" f drawCoord src/Dodge/Debug/Picture.hs 378;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 385;" f drawCrInfo src/Dodge/Debug/Picture.hs 399;" f
drawCreature src/Dodge/Render/ShapePicture.hs 62;" f drawCreature src/Dodge/Render/ShapePicture.hs 62;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 197;" 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 71;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 125;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 125;" f
drawDDATest src/Dodge/Debug/Picture.hs 291;" f drawDDATest src/Dodge/Debug/Picture.hs 305;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 252;" 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 199;" f drawDrag src/Dodge/Render/Picture.hs 199;" f
drawDragDrop src/Dodge/Render/Picture.hs 228;" f drawDragDrop src/Dodge/Render/Picture.hs 228;" f
@@ -3393,7 +3393,7 @@ 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 194;" f drawExamineInventory src/Dodge/Render/HUD.hs 194;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f 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
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
@@ -3402,8 +3402,8 @@ drawGapPlus src/Dodge/Render/Picture.hs 279;" f
drawGib src/Dodge/Prop/Draw.hs 39;" f drawGib src/Dodge/Prop/Draw.hs 39;" f
drawHUD src/Dodge/Render/HUD.hs 48;" f drawHUD src/Dodge/Render/HUD.hs 48;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f
drawInspectWall src/Dodge/Debug/Picture.hs 244;" f drawInspectWall src/Dodge/Debug/Picture.hs 245;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 232;" f drawInspectWalls src/Dodge/Debug/Picture.hs 233;" f
drawInventory src/Dodge/Render/HUD.hs 55;" f drawInventory src/Dodge/Render/HUD.hs 55;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 325;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 325;" f
drawItemConnections src/Dodge/Render/HUD.hs 315;" f drawItemConnections src/Dodge/Render/HUD.hs 315;" f
@@ -3426,13 +3426,13 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 64;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f
drawMouseCursor src/Dodge/Render/Picture.hs 80;" f drawMouseCursor src/Dodge/Render/Picture.hs 80;" f
drawMouseOver src/Dodge/Render/HUD.hs 105;" f drawMouseOver src/Dodge/Render/HUD.hs 105;" f
drawMousePosition src/Dodge/Debug/Picture.hs 354;" f drawMousePosition src/Dodge/Debug/Picture.hs 368;" f
drawMovingShape src/Dodge/Prop/Draw.hs 81;" f drawMovingShape src/Dodge/Prop/Draw.hs 81;" f
drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f
drawOptions src/Dodge/Render/MenuScreen.hs 36;" f drawOptions src/Dodge/Render/MenuScreen.hs 36;" f
drawPathBetween src/Dodge/Debug/Picture.hs 200;" f drawPathBetween src/Dodge/Debug/Picture.hs 201;" f
drawPathEdge src/Dodge/Debug/Picture.hs 257;" f drawPathEdge src/Dodge/Debug/Picture.hs 258;" f
drawPathing src/Dodge/Debug/Picture.hs 427;" f drawPathing src/Dodge/Debug/Picture.hs 441;" f
drawPlus src/Dodge/Render/Picture.hs 160;" f drawPlus src/Dodge/Render/Picture.hs 160;" 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
@@ -3473,14 +3473,15 @@ drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 211;" 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
drawWallSearchRays src/Dodge/Debug/Picture.hs 300;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 314;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 221;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 222;" f
drawWallsNearSegment src/Dodge/Debug/Picture.hs 128;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 128;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 212;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 213;" f
drawWeapon src/Dodge/Creature/Volition.hs 15;" f drawWeapon src/Dodge/Creature/Volition.hs 15;" f
drawWlIDs src/Dodge/Debug/Picture.hs 372;" f drawWlIDs src/Dodge/Debug/Picture.hs 386;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 292;" f
drawZoneCol src/Dodge/Debug/Picture.hs 147;" f drawZoneCol src/Dodge/Debug/Picture.hs 147;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f
dropAll src/Dodge/Creature/Update.hs 119;" f dropAll src/Dodge/Creature/Update.hs 119;" f
dropExcept src/Dodge/Creature/Action.hs 167;" f dropExcept src/Dodge/Creature/Action.hs 167;" f
dropInventoryPath src/Dodge/HeldUse.hs 1396;" f dropInventoryPath src/Dodge/HeldUse.hs 1396;" f
@@ -3512,7 +3513,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 436;" f edgeToPic src/Dodge/Debug/Picture.hs 450;" f
effectOnEquip src/Dodge/Equipment.hs 31;" f effectOnEquip src/Dodge/Equipment.hs 31;" f
effectOnRemove src/Dodge/Equipment.hs 18;" f effectOnRemove src/Dodge/Equipment.hs 18;" f
eitType src/Dodge/Data/EquipType.hs 15;" f eitType src/Dodge/Data/EquipType.hs 15;" f
@@ -4372,7 +4373,7 @@ numSelfTree' src/Dodge/Tree/Compose.hs 110;" f
numShads src/Picture/Data.hs 42;" f numShads src/Picture/Data.hs 42;" f
numSubElements src/Shader/Parameters.hs 39;" f numSubElements src/Shader/Parameters.hs 39;" f
numTraversable src/TreeHelp.hs 183;" f numTraversable src/TreeHelp.hs 183;" f
obstacleColor src/Dodge/Debug/Picture.hs 262;" f obstacleColor src/Dodge/Debug/Picture.hs 263;" f
obstructPathsCrossing src/Dodge/Path.hs 138;" f obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 36;" f onEquipWristShield src/Dodge/Equipment.hs 36;" f
@@ -4898,7 +4899,7 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 51;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 51;" f
scrollAugInvSel src/Dodge/Inventory.hs 190;" f scrollAugInvSel src/Dodge/Inventory.hs 190;" f
scrollAugNextInSection src/Dodge/Inventory.hs 203;" f scrollAugNextInSection src/Dodge/Inventory.hs 203;" f
scrollDebugInfoInt src/Dodge/Debug.hs 71;" f scrollDebugInfoInt src/Dodge/Debug.hs 62;" 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 218;" f scrollTimeBack src/Dodge/Update.hs 218;" f
@@ -4926,7 +4927,7 @@ selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f
selSecSelCol src/Dodge/Render/HUD.hs 504;" f selSecSelCol src/Dodge/Render/HUD.hs 504;" 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 55;" f selectCreatureDebugItem src/Dodge/Debug.hs 54;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 52;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 52;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 58;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 58;" f
@@ -5110,7 +5111,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f
soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f
soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f
soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f
soundPic src/Dodge/Debug/Picture.hs 341;" f soundPic src/Dodge/Debug/Picture.hs 355;" f
soundStart src/Dodge/SoundLogic.hs 118;" f soundStart src/Dodge/SoundLogic.hs 118;" f
soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
@@ -5613,8 +5614,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 333;" f vgunMuzzles src/Dodge/HeldUse.hs 333;" f
viewBoundaries src/Dodge/Debug/Picture.hs 309;" f viewBoundaries src/Dodge/Debug/Picture.hs 323;" f
viewClipBounds src/Dodge/Debug/Picture.hs 318;" f viewClipBounds src/Dodge/Debug/Picture.hs 332;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 146;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 146;" f
violet src/Color.hs 21;" f violet src/Color.hs 21;" f