Add selection box on left click drag

This commit is contained in:
2025-10-14 12:41:53 +01:00
parent 7a431f6eec
commit 365821e969
5 changed files with 96 additions and 198 deletions
+1 -2
View File
@@ -65,7 +65,7 @@ windowYFloat = fromIntegral . _windowY
data DebugBool data DebugBool
= Show_ms_frame = Show_ms_frame
| Enable_debug | Display_debug
| Show_sound | Show_sound
| Noclip | Noclip
| Cr_status | Cr_status
@@ -91,7 +91,6 @@ data DebugBool
| Show_zone_circ | Show_zone_circ
| Inspect_wall | Inspect_wall
| Show_path_between | Show_path_between
| Select_creature
deriving (Eq, Ord, Bounded, Enum, Show) deriving (Eq, Ord, Bounded, Enum, Show)
data ResFactor = DoubleRes | FullRes | HalfRes | QuarterRes | EighthRes | SixteenthRes data ResFactor = DoubleRes | FullRes | HalfRes | QuarterRes | EighthRes | SixteenthRes
+2 -2
View File
@@ -49,8 +49,8 @@ data Universe = Universe
} }
data DebugItem = DebugItem data DebugItem = DebugItem
{ _debugMessage :: [String] { _debugMessage :: String
, _debugInfo :: DebugInfo , _debugFunction :: String -> Universe -> Universe
} }
data DebugInfo data DebugInfo
+16 -118
View File
@@ -2,46 +2,37 @@
module Dodge.Debug (debugEvents,drawDebug) where module Dodge.Debug (debugEvents,drawDebug) where
import AesonHelp
import Control.Lens import Control.Lens
import Control.Monad import Control.Monad
import Data.Aeson.Types
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
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.Window 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 Geometry.Vector
import Linear import Linear
import Padding import Padding
import Picture.Base import Picture.Base
import qualified SDL
import ShortShow import ShortShow
debugEvents :: Universe -> Universe debugEvents :: Universe -> Universe
debugEvents u = case dbools ^. at Enable_debug of debugEvents u = case dbools ^. at Display_debug of
Nothing -> u Nothing -> u
Just () -> S.foldr debugEvent (u & uvDebug .~ mempty) 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 ?~ debugItem db u debugEvent db u = u & uvDebug . at db .~ debugItem db u
debugItem :: DebugBool -> Universe -> [DebugItem] debugItem :: DebugBool -> Universe -> Maybe [DebugItem]
debugItem = \case debugItem = \case
Collision_test -> mempty Collision_test -> mempty
Circ_collision_test -> mempty Circ_collision_test -> mempty
Select_creature -> return . selectCreatureDebugItem
Show_walls_near_point_cursor -> mempty Show_walls_near_point_cursor -> mempty
Show_walls_near_segment -> mempty Show_walls_near_segment -> mempty
Enable_debug -> mempty Display_debug -> mempty
Noclip -> mempty Noclip -> mempty
Remove_LOS -> mempty Remove_LOS -> mempty
Cull_more_lights -> mempty Cull_more_lights -> mempty
@@ -59,24 +50,22 @@ debugItem = \case
Inspect_wall -> mempty Inspect_wall -> mempty
Cr_awareness -> mempty Cr_awareness -> mempty
Show_sound -> mempty Show_sound -> mempty
Cr_status -> drawCrInfo Cr_status -> Just . drawCrInfo
Mouse_position -> mempty Mouse_position -> mempty
Walls_info -> mempty Walls_info -> mempty
Pathing -> mempty Pathing -> mempty
Show_path_between -> mempty Show_path_between -> mempty
drawCrInfo :: Universe -> [DebugItem] drawCrInfo :: Universe -> [DebugItem]
drawCrInfo u = mapMaybe f . IM.elems $ w ^. cWorld . lWorld . creatures drawCrInfo u = foldMap f . IM.elems $ w ^. cWorld . lWorld . creatures
where where
w = u ^. uvWorld w = u ^. uvWorld
g h str = fmap $ ((rightPad 7 '.' str ++ "...") ++) . h g h str = fmap $ ((rightPad 7 '.' str ++ "...") ++) . h
f cr = do f cr = fromMaybe [] $ do
guard $ guard $
pointIsOnScreen (u ^. uvConfig) (w ^. wCam) (cr ^. crPos . _xy) pointIsOnScreen (u ^. uvConfig) (w ^. wCam) (cr ^. crPos . _xy)
&& cr ^. crID /= 0 && cr ^. crID /= 0
Just $ Just $ (\x -> DebugItem x (const id)) <$> catMaybes
DebugItem
( catMaybes
[ g show "crID" $ cr ^? crID [ g show "crID" $ cr ^? crID
, g show "crHP" $ cr ^? crHP . _HP , g show "crHP" $ cr ^? crHP . _HP
, g show "crStrategy" $ cr ^? crActionPlan . apStrategy , g show "crStrategy" $ cr ^? crActionPlan . apStrategy
@@ -85,114 +74,23 @@ drawCrInfo u = mapMaybe f . IM.elems $ w ^. cWorld . lWorld . creatures
, g show "crAction" $ cr ^? crActionPlan . apAction , g show "crAction" $ cr ^? crActionPlan . apAction
, g show "crImpulse" $ cr ^? crActionPlan . apImpulse , g show "crImpulse" $ cr ^? crActionPlan . apImpulse
] ]
)
(DebugV2 $ cr ^. crPos . _xy)
--drawCrInfo :: Config -> World -> Picture --closestCreatureID :: Universe -> Maybe Int
--drawCrInfo cfig w = --closestCreatureID u =
-- setLayer FixedCoordLayer $ -- fmap (_crID . snd) . listToMaybe
-- renderInfoListsAt (2 * hw - 400) 0 cfig cam $ -- . sortOn (Down . dist mwp . fst)
-- mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures -- . crsHitRadial mwp 100
-- $ _uvWorld u
-- where -- where
-- cam = w ^. wCam -- mwp = mouseWorldPos (u ^. uvWorld . input) (u ^. uvWorld . 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 u =
DebugItem
{ _debugMessage = debugSelectCreatureMessage u
, _debugInfo = scrollDebugInfoInt (length $ debugSelectCreatureList 0 u) u $ clickGetCreature u
}
scrollDebugInfoInt :: Int -> Universe -> DebugInfo -> DebugInfo
scrollDebugInfoInt i u
| SDL.ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) =
debugInt %~ ((`mod` i) . (+ (u ^. uvWorld . input . scrollAmount)))
| otherwise = id
debugSelectCreatureMessage :: Universe -> [String]
debugSelectCreatureMessage u = fromMaybe
[show (u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugInt)]
$ do
cid <- u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugMInt . _Just
i <- u ^? uvDebug . ix Select_creature . ix 0 . debugInfo . debugInt
cap <- debugSelectCreatureList cid u !! i
return $ show cid : cap
debugSelectCreatureList :: Int -> Universe -> [Maybe [String]]
debugSelectCreatureList cid u =
[ debugList
"ActionPlan"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan)
, debugList
"Perception"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crPerception)
, debugList
"Intention"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crIntention)
, debugList
"Memory"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crMemory)
, debugList
"Strategy"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crActionPlan . apStrategy)
, debugList
"Vocalization"
(u ^? uvWorld . cWorld . lWorld . creatures . ix cid . crVocalization)
]
debugList :: (Functor f, ToJSON a) => String -> f a -> f [String]
debugList str = fmap (([str] ++) . prettyShort)
clickGetCreature :: Universe -> DebugInfo
clickGetCreature u
| SDL.ButtonLeft `M.member` (u ^. uvWorld . input . mouseButtons)
&& SDL.ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) =
DebugIntMInt 0 (closestCreatureID u)
| otherwise =
fromMaybe (DebugIntMInt 0 Nothing) $
u ^? uvDebug . ix Select_creature . ix 0 . debugInfo
closestCreatureID :: Universe -> Maybe Int
closestCreatureID u =
fmap (_crID . snd) . listToMaybe
. sortOn (Down . dist mwp . fst)
. crsHitRadial mwp 100
$ _uvWorld u
where
mwp = mouseWorldPos (u ^. uvWorld . input) (u ^. uvWorld . wCam)
drawDebug :: Universe -> DebugBool -> Picture drawDebug :: Universe -> DebugBool -> Picture
drawDebug u = \case drawDebug u = \case
Collision_test -> drawCollisionTest $ _uvWorld u Collision_test -> drawCollisionTest $ _uvWorld u
Circ_collision_test -> drawCircCollisionTest $ _uvWorld u Circ_collision_test -> drawCircCollisionTest $ _uvWorld u
Select_creature -> mempty
Show_walls_near_point_cursor -> drawWallsNearCursor $ _uvWorld u Show_walls_near_point_cursor -> drawWallsNearCursor $ _uvWorld u
Show_walls_near_segment -> drawWallsNearSegment $ _uvWorld u Show_walls_near_segment -> drawWallsNearSegment $ _uvWorld u
Enable_debug -> mempty Display_debug -> mempty
Noclip -> mempty Noclip -> mempty
Remove_LOS -> mempty Remove_LOS -> mempty
Cull_more_lights -> mempty Cull_more_lights -> mempty
+10 -1
View File
@@ -2,6 +2,7 @@
module Dodge.Render.Picture (fixedCoordPictures) where module Dodge.Render.Picture (fixedCoordPictures) where
import qualified SDL
import Control.Lens import Control.Lens
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
@@ -30,6 +31,7 @@ fixedCoordPictures u =
(u ^. uvWorld . cWorld . lWorld . lTestString) (u ^. uvWorld . cWorld . lWorld . lTestString)
) )
<> displayFrameTicks u <> displayFrameTicks u
<> drawAnySelectionBox u
<> drawMouseCursor u <> drawMouseCursor u
<> toTopLeft <> toTopLeft
cfig cfig
@@ -44,7 +46,7 @@ fixedCoordPictures 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) f (k, l) = (show k, map _debugMessage l)
displayFrameTicks :: Universe -> Picture displayFrameTicks :: Universe -> Picture
displayFrameTicks u displayFrameTicks u
@@ -125,6 +127,13 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of
argV (w ^. cWorld . lWorld . lAimPos -.- cpos) argV (w ^. cWorld . lWorld . lAimPos -.- cpos)
- w ^. wCam . camRot - w ^. wCam . camRot
drawAnySelectionBox :: Universe -> Picture
drawAnySelectionBox u = case u ^. uvWorld . input . mouseContext of
OverInvDragSelect{} -> fold $ do
p <- u ^. uvWorld . input . clickPos . at SDL.ButtonLeft
return . color white . polygonWire $ rectVV (u ^. uvWorld . input . mousePos) p
_ -> mempty
drawCursorByTerminalStatus :: TerminalStatus -> Picture drawCursorByTerminalStatus :: TerminalStatus -> Picture
drawCursorByTerminalStatus = \case drawCursorByTerminalStatus = \case
TerminalPressTo "QUIT" -> drawQuitTerminal 5 TerminalPressTo "QUIT" -> drawQuitTerminal 5
+67 -75
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 106;" 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
@@ -345,6 +345,7 @@ Detector src/Dodge/Data/Item/Combine.hs 182;" t
Dirt src/Dodge/Data/Material.hs 11;" C Dirt src/Dodge/Data/Material.hs 11;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t DisasterType src/Dodge/Data/Scenario.hs 24;" t
DisplayTerminal src/Dodge/Data/HUD.hs 29;" C DisplayTerminal src/Dodge/Data/HUD.hs 29;" C
Display_debug src/Dodge/Data/Config.hs 68;" C
Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 12;" t
DivineRetribution src/Dodge/Data/Scenario.hs 35;" C DivineRetribution src/Dodge/Data/Scenario.hs 35;" C
DoActionIf src/Dodge/Data/ActionPlan.hs 116;" C DoActionIf src/Dodge/Data/ActionPlan.hs 116;" C
@@ -369,7 +370,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 96;" 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
@@ -392,7 +393,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 22;" C East8 src/Dodge/Data/CardinalPoint.hs 22;" 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 96;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricSensor src/Dodge/Data/Machine/Sensor.hs 16;" C ElectricSensor src/Dodge/Data/Machine/Sensor.hs 16;" C
ElectricSpark src/Dodge/Data/Spark.hs 22;" C ElectricSpark src/Dodge/Data/Spark.hs 22;" C
@@ -401,7 +402,6 @@ ElectricalAmmo src/Dodge/Data/AmmoType.hs 9;" C
ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 15;" C ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 15;" C
Electronics src/Dodge/Data/Material.hs 11;" C Electronics src/Dodge/Data/Material.hs 11;" C
EllShad src/Picture/Data.hs 39;" C EllShad src/Picture/Data.hs 39;" C
Enable_debug src/Dodge/Data/Config.hs 68;" C
EncircleFlock src/Dodge/Data/Creature/State.hs 17;" C EncircleFlock src/Dodge/Data/Creature/State.hs 17;" C
EnergyBall src/Dodge/Data/EnergyBall.hs 17;" t EnergyBall src/Dodge/Data/EnergyBall.hs 17;" t
EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 12;" t EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 12;" t
@@ -480,7 +480,7 @@ FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" 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 49;" C FromEdge src/Dodge/Data/Room.hs 49;" C
FullRes src/Dodge/Data/Config.hs 97;" C FullRes src/Dodge/Data/Config.hs 96;" 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
@@ -508,7 +508,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 24;" t GenWorld src/Dodge/Data/GenWorld.hs 24;" 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 100;" 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
@@ -538,7 +538,7 @@ HOMINGMODULE src/Dodge/Data/Item/Combine.hs 101;" C
HOSE src/Dodge/Data/Item/Combine.hs 55;" C HOSE src/Dodge/Data/Item/Combine.hs 55;" C
HP src/Dodge/Data/Creature.hs 71;" C HP src/Dodge/Data/Creature.hs 71;" 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 96;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C
HardQuit src/Dodge/Data/Universe.hs 69;" C HardQuit src/Dodge/Data/Universe.hs 69;" C
HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
@@ -604,7 +604,7 @@ Int2 src/Geometry/Data.hs 21;" t
IntID src/Dodge/Data/Universe.hs 109;" t IntID src/Dodge/Data/Universe.hs 109;" t
IntImp src/Dodge/Data/CreatureEffect.hs 20;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t
Intention src/Dodge/Data/Creature.hs 76;" t Intention src/Dodge/Data/Creature.hs 76;" t
IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 106;" 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
@@ -860,16 +860,16 @@ NoItTargeting src/Dodge/Data/Item.hs 44;" C
NoItemScroll src/Dodge/Data/Item.hs 39;" C NoItemScroll src/Dodge/Data/Item.hs 39;" C
NoItemZone src/Dodge/Data/Machine/Sensor.hs 34;" C NoItemZone src/Dodge/Data/Machine/Sensor.hs 34;" 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 103;" 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 101;" C
NoParams src/Dodge/Data/Item/Params.hs 15;" C NoParams src/Dodge/Data/Item/Params.hs 15;" 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 106;" 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 102;" 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
@@ -1095,7 +1095,7 @@ PutTrigger src/Dodge/Data/GenWorld.hs 48;" C
PutWall src/Dodge/Data/GenWorld.hs 55;" C PutWall src/Dodge/Data/GenWorld.hs 55;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" C PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" 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 96;" 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
@@ -1136,7 +1136,7 @@ ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 31;" C
RequireDeadCreatures src/Dodge/Data/Machine/Sensor.hs 39;" C RequireDeadCreatures src/Dodge/Data/Machine/Sensor.hs 39;" 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 96;" 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 61;" C RespawnDelay src/Dodge/Data/World.hs 61;" C
@@ -1154,7 +1154,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 123;" t Room src/Dodge/Data/GenWorld.hs 123;" t
RoomClipping src/Dodge/Data/Config.hs 107;" t RoomClipping src/Dodge/Data/Config.hs 106;" t
RoomInt src/Dodge/Tree/Shift.hs 26;" t RoomInt src/Dodge/Tree/Shift.hs 26;" t
RoomLink src/Dodge/Data/Room.hs 24;" t RoomLink src/Dodge/Data/Room.hs 24;" t
RoomLinkType src/Dodge/Data/Room.hs 43;" t RoomLinkType src/Dodge/Data/Room.hs 43;" t
@@ -1200,7 +1200,6 @@ 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
SelSection src/Dodge/Data/SelectionList.hs 29;" t SelSection src/Dodge/Data/SelectionList.hs 29;" t
Select_creature src/Dodge/Data/Config.hs 94;" 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 41;" t Selection src/Dodge/Data/HUD.hs 41;" t
SelectionItem src/Dodge/Data/SelectionList.hs 41;" t SelectionItem src/Dodge/Data/SelectionList.hs 41;" t
@@ -1216,7 +1215,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 99;" 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
@@ -1246,7 +1245,7 @@ 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 63;" t SideEffect src/Dodge/Data/Universe.hs 63;" t
SixteenthRes src/Dodge/Data/Config.hs 97;" C SixteenthRes src/Dodge/Data/Config.hs 96;" 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
@@ -1748,7 +1747,7 @@ _dbSpin src/Dodge/Data/Prop.hs 53;" f
_dbType src/Dodge/Data/Prop.hs 50;" f _dbType src/Dodge/Data/Prop.hs 50;" f
_dbVel src/Dodge/Data/Prop.hs 51;" f _dbVel src/Dodge/Data/Prop.hs 51;" f
_debris src/Dodge/Data/LWorld.hs 103;" f _debris src/Dodge/Data/LWorld.hs 103;" f
_debugInfo src/Dodge/Data/Universe.hs 53;" f _debugFunction src/Dodge/Data/Universe.hs 53;" f
_debugInt src/Dodge/Data/Universe.hs 61;" f _debugInt src/Dodge/Data/Universe.hs 61;" f
_debugMInt src/Dodge/Data/Universe.hs 60;" f _debugMInt src/Dodge/Data/Universe.hs 60;" f
_debugMessage src/Dodge/Data/Universe.hs 52;" f _debugMessage src/Dodge/Data/Universe.hs 52;" f
@@ -2590,7 +2589,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 276;" f aimDelaySweep src/Dodge/Render/Picture.hs 285;" 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
@@ -2631,7 +2630,7 @@ applyPastDamages src/Dodge/Creature/State.hs 49;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 23;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 23;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 459;" f applyRecoil src/Dodge/HeldUse.hs 459;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 109;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f
applySidePush src/Dodge/HeldUse.hs 559;" f applySidePush src/Dodge/HeldUse.hs 559;" f
applySoundCME src/Dodge/HeldUse.hs 449;" f applySoundCME src/Dodge/HeldUse.hs 449;" f
@@ -2700,7 +2699,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 78;" f barrelShape src/Dodge/Render/ShapePicture.hs 79;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f baseCI src/Dodge/Item/Grammar.hs 158;" f
@@ -2784,7 +2783,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 69;" f branchWith src/Dodge/Room/Room.hs 69;" f
bright src/Color.hs 120;" f bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 127;" f btSPic src/Dodge/Render/ShapePicture.hs 128;" f
btText src/Dodge/Inventory/SelectionList.hs 237;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2886,7 +2885,6 @@ 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 174;" 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 +2893,6 @@ 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 183;" 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 +2950,6 @@ 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 69;" 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
@@ -3054,7 +3050,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 39;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
cubeShape src/Dodge/Block/Debris.hs 103;" f cubeShape src/Dodge/Block/Debris.hs 103;" f
cullPoint src/Dodge/Render/ShapePicture.hs 94;" f cullPoint src/Dodge/Render/ShapePicture.hs 95;" f
cullPretty src/AesonHelp.hs 14;" f cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3109,15 +3105,12 @@ 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 34;" f debugEvent src/Dodge/Debug.hs 26;" f
debugEvents src/Dodge/Debug.hs 27;" f debugEvents src/Dodge/Debug.hs 19;" f
debugItem src/Dodge/Debug.hs 37;" f debugItem src/Dodge/Debug.hs 29;" f
debugList src/Dodge/Debug.hs 171;" 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 150;" f
debugSelectCreatureList src/Dodge/Debug.hs 149;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 140;" 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
@@ -3146,7 +3139,7 @@ defaultCWGen src/Dodge/Default/World.hs 57;" f
defaultCWorld src/Dodge/Default/World.hs 82;" f defaultCWorld src/Dodge/Default/World.hs 82;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultClusterStatus src/Dodge/Default/Room.hs 37;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f defaultConfig src/Dodge/Data/Config.hs 126;" 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
defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
@@ -3217,7 +3210,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 49;" f displayFrameTicks src/Dodge/Render/Picture.hs 51;" 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
@@ -3323,44 +3316,45 @@ 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 283;" f drawAimSweep src/Dodge/Render/Picture.hs 292;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f drawAllShadows src/Dodge/Shadows.hs 5;" f
drawArrowDown src/Dodge/Render/Picture.hs 210;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
drawArrowDown src/Dodge/Render/Picture.hs 219;" 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
drawBlock src/Dodge/Block/Draw.hs 7;" f drawBlock src/Dodge/Block/Draw.hs 7;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 348;" f drawBoundingBox src/Dodge/Debug/Picture.hs 348;" f
drawBullet src/Dodge/Render/ShapePicture.hs 137;" f drawBullet src/Dodge/Render/ShapePicture.hs 134;" 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
drawChasm src/Dodge/Render/ShapePicture.hs 50;" f drawChasm src/Dodge/Render/ShapePicture.hs 51;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 53;" f drawCliff src/Dodge/Render/ShapePicture.hs 54;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 258;" f drawCombFilter src/Dodge/Render/Picture.hs 267;" f
drawCombineInventory src/Dodge/Render/HUD.hs 182;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f
drawCoord src/Dodge/Debug/Picture.hs 376;" f drawCoord src/Dodge/Debug/Picture.hs 376;" f
drawCrInfo src/Dodge/Debug.hs 72;" f drawCrInfo src/Dodge/Debug.hs 59;" f
drawCreature src/Dodge/Render/ShapePicture.hs 69;" f drawCreature src/Dodge/Render/ShapePicture.hs 70;" 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 72;" f drawCursorAt src/Dodge/Render/List.hs 72;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 128;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" 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
drawDebug src/Dodge/Debug.hs 192;" f drawDebug src/Dodge/Debug.hs 87;" 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 189;" f drawDrag src/Dodge/Render/Picture.hs 198;" f
drawDragDrop src/Dodge/Render/Picture.hs 218;" f drawDragDrop src/Dodge/Render/Picture.hs 227;" f
drawDragPickup src/Dodge/Render/Picture.hs 227;" f drawDragPickup src/Dodge/Render/Picture.hs 236;" f
drawDragSelect src/Dodge/Render/Picture.hs 186;" f drawDragSelect src/Dodge/Render/Picture.hs 195;" 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 142;" f drawEmptySet src/Dodge/Render/Picture.hs 151;" 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 +3363,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 269;" f drawGapPlus src/Dodge/Render/Picture.hs 278;" 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,7 +3372,7 @@ 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 181;" f drawJumpDown src/Dodge/Render/Picture.hs 190;" 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 drawLabelledList src/Dodge/Render/List.hs 212;" f
drawLampCover src/Dodge/Prop/Draw.hs 55;" f drawLampCover src/Dodge/Prop/Draw.hs 55;" f
@@ -3392,11 +3386,11 @@ 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 157;" f drawMenuClick src/Dodge/Render/Picture.hs 166;" f
drawMenuCursor src/Dodge/Render/Picture.hs 169;" f drawMenuCursor src/Dodge/Render/Picture.hs 178;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 67;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f
drawMouseCursor src/Dodge/Render/Picture.hs 83;" f drawMouseCursor src/Dodge/Render/Picture.hs 85;" 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
@@ -3405,21 +3399,21 @@ 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 154;" f drawPlus src/Dodge/Render/Picture.hs 163;" 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 61;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 62;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 136;" f drawQuitTerminal src/Dodge/Render/Picture.hs 145;" 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 145;" f drawReturn src/Dodge/Render/Picture.hs 154;" 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 246;" f drawSelect src/Dodge/Render/Picture.hs 255;" f
drawSelectionList src/Dodge/Render/List.hs 36;" f drawSelectionList src/Dodge/Render/List.hs 36;" f
drawSelectionListBackground src/Dodge/Render/List.hs 52;" 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
@@ -3441,7 +3435,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 35;" f
drawTitleBackground src/Dodge/Render/List.hs 45;" 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 201;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" 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
@@ -3538,7 +3532,7 @@ explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 99;" f extraPics src/Dodge/Render/ShapePicture.hs 100;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3566,7 +3560,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 19;" 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
@@ -3597,7 +3591,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 268;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 216;" f flockToPointUsing src/Dodge/Creature/Boid.hs 216;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 229;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 229;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 231;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 231;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 121;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
@@ -3615,7 +3609,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 57;" f fpsText src/Dodge/Render/Picture.hs 59;" 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
@@ -4001,7 +3995,7 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f
lamp src/Dodge/Creature/Lamp.hs 21;" f lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 83;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 84;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 412;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 412;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
@@ -4211,7 +4205,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 104;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f
mcProxTest src/Dodge/Machine/Update.hs 203;" f mcProxTest src/Dodge/Machine/Update.hs 203;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f
mcSPic src/Dodge/Render/ShapePicture.hs 132;" f mcSPic src/Dodge/Render/ShapePicture.hs 131;" f
mcShootAuto src/Dodge/HeldUse.hs 1169;" f mcShootAuto src/Dodge/HeldUse.hs 1169;" f
mcShootLaser src/Dodge/HeldUse.hs 1162;" f mcShootLaser src/Dodge/HeldUse.hs 1162;" f
mcTriggerVal src/Dodge/Machine/Update.hs 110;" f mcTriggerVal src/Dodge/Machine/Update.hs 110;" f
@@ -4279,7 +4273,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 90;" f mouseCursorType src/Dodge/Render/Picture.hs 92;" 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
@@ -4883,7 +4877,6 @@ 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 134;" 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
@@ -4911,7 +4904,6 @@ 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 127;" 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
@@ -4999,7 +4991,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 78;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 78;" f
shiftByV2 src/Dodge/PlacementSpot.hs 250;" f shiftByV2 src/Dodge/PlacementSpot.hs 250;" f
shiftChildren src/Dodge/Tree/Compose.hs 44;" f shiftChildren src/Dodge/Tree/Compose.hs 44;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 88;" f shiftDraw src/Dodge/Render/ShapePicture.hs 89;" f
shiftInBy src/Dodge/PlacementSpot.hs 247;" f shiftInBy src/Dodge/PlacementSpot.hs 247;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f
@@ -5681,7 +5673,7 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f
wordsBy src/ListHelp.hs 116;" f wordsBy src/ListHelp.hs 116;" f
worldPosToScreen src/Dodge/Base/Coordinate.hs 18;" f worldPosToScreen src/Dodge/Base/Coordinate.hs 18;" f
worldSPic src/Dodge/Render/ShapePicture.hs 22;" f worldSPic src/Dodge/Render/ShapePicture.hs 23;" f
worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f
wpAdd src/Dodge/Room/RezBox.hs 148;" f wpAdd src/Dodge/Room/RezBox.hs 148;" f
wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f