Separate selected item from extra selected items

This commit is contained in:
2024-11-22 15:34:14 +00:00
parent bc2c9c9369
commit 13f5dd09c8
6 changed files with 154 additions and 103 deletions
+21 -6
View File
@@ -1,15 +1,30 @@
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:123:1-15: warning: [-Wunused-top-binds] /home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:124:1-15: warning: [-Wunused-top-binds]
Defined but not used: tryDropSelected Defined but not used: tryDropSelected
| |
123 | tryDropSelected w = do 124 | tryDropSelected w = do
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:130:1-17: warning: [-Wunused-top-binds] /home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:131:1-17: warning: [-Wunused-top-binds]
Defined but not used: tryPickupSelected Defined but not used: tryPickupSelected
| |
130 | tryPickupSelected w = do 131 | tryPickupSelected w = do
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:134:19: warning: [-Wunused-matches] /home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:135:19: warning: [-Wunused-matches]
Defined but not used: x Defined but not used: x
| |
134 | OverInvDrag 3 x <- w ^? input . mouseContext 135 | OverInvDrag 3 x <- w ^? input . mouseContext
| ^ | ^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:209:9: warning: [-Wunused-matches]
Defined but not used: j
|
209 | (i, j) <- w ^? hud . hudElement . diSelection . _Just
| ^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:227:1-12: warning: [-Wunused-top-binds]
Defined but not used: dragInvItems
|
227 | dragInvItems j is cfig mpos ldp sss w
| ^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:297:1-13: warning: [-Wunused-top-binds]
Defined but not used: shiftInvItems
|
297 | shiftInvItems j xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of
| ^^^^^^^^^^^^^
+7 -5
View File
@@ -5,9 +5,9 @@
module Dodge.Data.HUD where module Dodge.Data.HUD where
import Data.IntSet (IntSet)
import Data.IntMap
import Control.Lens import Control.Lens
import Data.IntMap
import Data.IntSet (IntSet)
import Dodge.Data.Button import Dodge.Data.Button
import Dodge.Data.Combine import Dodge.Data.Combine
import Dodge.Data.FloorItem import Dodge.Data.FloorItem
@@ -21,7 +21,8 @@ data HUDElement
, _diSelection :: Maybe (Int, Int) , _diSelection :: Maybe (Int, Int)
, _diInvFilter :: Maybe String , _diInvFilter :: Maybe String
, _diCloseFilter :: Maybe String , _diCloseFilter :: Maybe String
, _diSelectionExtra :: IntSet , _diSelectionExtra :: IntSet -- this should probably be placed within _diSelection
-- would lead to inconsistency with _ciSelection
} }
| DisplayCarte | DisplayCarte
@@ -33,9 +34,9 @@ data HUDElement
data SubInventory data SubInventory
= NoSubInventory = NoSubInventory
-- { _nsSelected :: MouseInventorySelection | -- { _nsSelected :: MouseInventorySelection
-- } -- }
| ExamineInventory ExamineInventory
| CombineInventory | CombineInventory
{ _ciSections :: IntMap (SelectionSection CombinableItem) { _ciSections :: IntMap (SelectionSection CombinableItem)
, _ciSelection :: Maybe (Int, Int) , _ciSelection :: Maybe (Int, Int)
@@ -55,4 +56,5 @@ data HUD = HUD
makeLenses ''HUD makeLenses ''HUD
makeLenses ''HUDElement makeLenses ''HUDElement
makeLenses ''SubInventory makeLenses ''SubInventory
--makeLenses ''MouseInventorySelection --makeLenses ''MouseInventorySelection
+1 -12
View File
@@ -16,22 +16,11 @@ import qualified IntMapHelp as IM
checkInvSlotsYou :: Item -> World -> Maybe Int checkInvSlotsYou :: Item -> World -> Maybe Int
checkInvSlotsYou it w checkInvSlotsYou it w
| crNumFreeSlots ycr >= _itInvSize it = | crNumFreeSlots ycr >= _itInvSize it =
Just $ findItemSlot (_crInv ycr) Just . IM.newKey $ _crInv ycr
| otherwise = Nothing | otherwise = Nothing
where where
ycr = you w ycr = you w
-- Assumes that the item is singular.
-- Do not want to stack floor items for now
findItemSlot :: IM.IntMap Item -> Int
findItemSlot = maybe 0 ((+ 1) . fst) . IM.lookupMax
--findItemSlot it inv = case it ^? itUse . useAmount of
-- Just _ ->
-- fromMaybe newslot $ IM.findIndex (\it' -> _itType it == _itType it') inv
-- _ -> newslot
-- where
-- newslot = maybe 0 ((+ 1) . fst) $ IM.lookupMax inv
crNumFreeSlots :: Creature -> Int crNumFreeSlots :: Creature -> Int
crNumFreeSlots cr = _crInvCapacity cr - invSize (_crInv cr) crNumFreeSlots cr = _crInvCapacity cr - invSize (_crInv cr)
+2 -2
View File
@@ -135,12 +135,12 @@ drawDragSelected :: Configuration -> World -> Maybe Picture
drawDragSelected cfig w = do drawDragSelected cfig w = do
ys <- w ^? hud . hudElement . diSelectionExtra ys <- w ^? hud . hudElement . diSelectionExtra
guard $ not (IS.null ys) guard $ not (IS.null ys)
(i,j) <- w ^? hud . hudElement . diSelection . _Just (i,_) <- w ^? hud . hudElement . diSelection . _Just
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w let idp = invDisplayParams w
let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>) let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>)
return . translateScreenPos cfig (invDisplayParams w ^. ldpPos) return . translateScreenPos cfig (invDisplayParams w ^. ldpPos)
. color (withAlpha 0.2 white) . IS.foldr f mempty $ IS.insert j ys . color (withAlpha 0.2 white) . IS.foldr f mempty $ ys
drawDragSelect :: Configuration -> World -> Maybe Picture drawDragSelect :: Configuration -> World -> Maybe Picture
drawDragSelect cfig w = do drawDragSelect cfig w = do
+61 -18
View File
@@ -101,13 +101,14 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
guard $ Just (fst sstart) == fmap fst msel || isNothing msel guard $ Just (fst sstart) == fmap fst msel || isNothing msel
return $ w & input . mouseContext . mcoSelEnd .~ msel return $ w & input . mouseContext . mcoSelEnd .~ msel
OverInvDrag k mmouseover -> fromMaybe w $ do OverInvDrag k mmouseover -> fromMaybe w $ do
sss <- w ^? hud . hudElement . diSections ss <- w ^? hud . hudElement . diSections . ix k . ssItems
_ <- mmouseover x <- mmouseover
let mpos = w ^. input . mousePos is <- w ^? hud . hudElement . diSelectionExtra
(j, i) <- w ^? hud . hudElement . diSelection . _Just return $ if concurrentIS is
guard $ j == k -- this should always be the case? then shiftInvItems' k x is ss w
x <- w ^? hud . hudElement . diSelectionExtra else collectInvItems is w
return $ w & dragInvItems k (IS.insert i x) cfig mpos ldp sss -- let mpos = w ^. input . mousePos
-- return $ w & dragInvItems k xs cfig mpos ldp sss
_ -> w _ -> w
where where
ldp = invDisplayParams w ldp = invDisplayParams w
@@ -115,24 +116,24 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
dropSelected :: World -> World dropSelected :: World -> World
dropSelected w = fromMaybe w $ do dropSelected w = fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
(0, j) <- w ^? hud . hudElement . diSelection . _Just (0, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra xs <- w ^? hud . hudElement . diSelectionExtra
return $ IS.foldr (dropItem cr) w (IS.insert j xs) return $ IS.foldr (dropItem cr) w xs
tryDropSelected :: World -> Maybe World tryDropSelected :: World -> Maybe World
tryDropSelected w = do tryDropSelected w = do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
(0, j) <- w ^? hud . hudElement . diSelection . _Just (0, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra xs <- w ^? hud . hudElement . diSelectionExtra
return $ IS.foldr (dropItem cr) w (IS.insert j xs) return $ IS.foldr (dropItem cr) w xs
tryPickupSelected :: World -> Maybe World tryPickupSelected :: World -> Maybe World
tryPickupSelected w = do tryPickupSelected w = do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
(3, j) <- w ^? hud . hudElement . diSelection . _Just (3, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra xs <- w ^? hud . hudElement . diSelectionExtra
OverInvDrag 3 x <- w ^? input . mouseContext OverInvDrag 3 x <- w ^? input . mouseContext
return $ IS.foldr (dropItem cr) w (IS.insert j xs) return $ IS.foldr (dropItem cr) w xs
updateMouseReleaseInGame :: World -> World updateMouseReleaseInGame :: World -> World
updateMouseReleaseInGame w = case w ^. input . mouseContext of updateMouseReleaseInGame w = case w ^. input . mouseContext of
@@ -207,7 +208,7 @@ startDrag :: (Int, Int) -> World -> World
startDrag (a, b) w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do startDrag (a, b) w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do
(i, j) <- w ^? hud . hudElement . diSelection . _Just (i, j) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra xs <- w ^? hud . hudElement . diSelectionExtra
guard $ i == a && b `IS.member` IS.insert j xs guard $ i == a && b `IS.member` xs
return $ setmichosen xs w return $ setmichosen xs w
where where
setmichosen x = setmichosen x =
@@ -246,6 +247,44 @@ collectInvItems is w = fromMaybe w $ do
(k, ks) <- IS.minView js (k, ks) <- IS.minView js
return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w' return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w'
shiftInvItems' ::
Int ->
(Int,Int) ->
IS.IntSet ->
IM.IntMap (SelectionItem a) ->
World ->
World
shiftInvItems' k x xs ss w = fromMaybe w $ do
(maxi,_) <- IS.maxView xs
(mini,_) <- IS.minView xs
if x < (k,mini)
then do
minss <- IM.lookupMin ss
guard (mini > fst minss)
return $ shiftInvItemsUp k xs w
else do
guard $ x > (k,maxi)
maxss <- IM.lookupMax ss
guard (maxi < fst maxss)
return $ shiftInvItemsDown k xs w
-- if
-- Just p -> fromMaybe w $ do
-- (k,_) <- IS.minView xs
-- guard $ p < (j,k)
-- ss <- sss ^? ix j . ssItems
-- minsss <- IM.lookupMin ss
-- guard (k > fst minsss)
-- return $ shiftInvItemsUp j xs w
-- _ -> case inverseSelBoundaryDown cfig ldp sss mpos of
-- Just p -> fromMaybe w $ do
-- (k,_) <- IS.maxView xs
-- guard $ p > (j,k)
-- ss <- sss ^? ix j . ssItems
-- maxsss <- IM.lookupMax ss
-- guard (k < fst maxsss)
-- return $ shiftInvItemsDown j xs w
-- _ -> w
shiftInvItems :: shiftInvItems ::
Int -> Int ->
IS.IntSet -> IS.IntSet ->
@@ -256,16 +295,20 @@ shiftInvItems ::
World -> World ->
World World
shiftInvItems j xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of shiftInvItems j xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of
Just p | p < (j, IS.findMin xs) -> fromMaybe w $ do Just p -> fromMaybe w $ do
(k,_) <- IS.minView xs
guard $ p < (j,k)
ss <- sss ^? ix j . ssItems ss <- sss ^? ix j . ssItems
minsss <- IM.lookupMin ss minsss <- IM.lookupMin ss
guard (IS.findMin xs > fst minsss) guard (k > fst minsss)
return $ shiftInvItemsUp j xs w return $ shiftInvItemsUp j xs w
_ -> case inverseSelBoundaryDown cfig ldp sss mpos of _ -> case inverseSelBoundaryDown cfig ldp sss mpos of
Just p | p > (j, IS.findMax xs) -> fromMaybe w $ do Just p -> fromMaybe w $ do
(k,_) <- IS.maxView xs
guard $ p > (j,k)
ss <- sss ^? ix j . ssItems ss <- sss ^? ix j . ssItems
maxsss <- IM.lookupMax ss maxsss <- IM.lookupMax ss
guard (IS.findMax xs < fst maxsss) guard (k < fst maxsss)
return $ shiftInvItemsDown j xs w return $ shiftInvItemsDown j xs w
_ -> w _ -> w
+61 -59
View File
@@ -336,7 +336,7 @@ Combinations src/Dodge/Combine/Combinations.hs 3;" m
Combine src/Dodge/Combine.hs 2;" m Combine src/Dodge/Combine.hs 2;" m
Combine src/Dodge/Data/Combine.hs 2;" m Combine src/Dodge/Data/Combine.hs 2;" m
Combine src/Dodge/Data/Item/Combine.hs 6;" m Combine src/Dodge/Data/Item/Combine.hs 6;" m
CombineInventory src/Dodge/Data/HUD.hs 39;" C CombineInventory src/Dodge/Data/HUD.hs 40;" C
CombineInventoryChange src/Dodge/Data/World.hs 34;" C CombineInventoryChange src/Dodge/Data/World.hs 34;" C
Common src/Dodge/Zoning/Common.hs 1;" m Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m Compile src/Shader/Compile.hs 1;" m
@@ -514,10 +514,10 @@ Detector src/Dodge/Data/Item/Combine.hs 168;" 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
Display src/Dodge/Item/Display.hs 1;" m Display src/Dodge/Item/Display.hs 1;" m
DisplayCarte src/Dodge/Data/HUD.hs 26;" C DisplayCarte src/Dodge/Data/HUD.hs 27;" C
DisplayInventory src/Dodge/Data/HUD.hs 18;" C DisplayInventory src/Dodge/Data/HUD.hs 18;" C
DisplayInventory src/Dodge/DisplayInventory.hs 2;" m DisplayInventory src/Dodge/DisplayInventory.hs 2;" m
DisplayTerminal src/Dodge/Data/HUD.hs 45;" C DisplayTerminal src/Dodge/Data/HUD.hs 46;" C
Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 12;" t
Distortion src/Dodge/Data/Distortion.hs 6;" m Distortion src/Dodge/Data/Distortion.hs 6;" m
Distortion src/Dodge/Distortion.hs 1;" m Distortion src/Dodge/Distortion.hs 1;" m
@@ -663,7 +663,7 @@ Euse src/Dodge/Data/Item/HeldUse.hs 20;" t
Euse src/Dodge/Euse.hs 1;" m Euse src/Dodge/Euse.hs 1;" m
Event src/Dodge/Button/Event.hs 1;" m Event src/Dodge/Button/Event.hs 1;" m
Event src/Dodge/Event.hs 14;" m Event src/Dodge/Event.hs 14;" m
ExamineInventory src/Dodge/Data/HUD.hs 38;" C ExamineInventory src/Dodge/Data/HUD.hs 39;" C
Explore src/Dodge/Data/Scenario.hs 4;" C Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 37;" C Explosion src/Dodge/Data/SoundOrigin.hs 37;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
@@ -821,7 +821,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C
HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C
HOSE src/Dodge/Data/Item/Combine.hs 32;" C HOSE src/Dodge/Data/Item/Combine.hs 32;" C
HUD src/Dodge/Data/HUD.hs 47;" t HUD src/Dodge/Data/HUD.hs 48;" t
HUD src/Dodge/Data/HUD.hs 6;" m HUD src/Dodge/Data/HUD.hs 6;" m
HUD src/Dodge/Render/HUD.hs 3;" m HUD src/Dodge/Render/HUD.hs 3;" m
HUDElement src/Dodge/Data/HUD.hs 17;" t HUDElement src/Dodge/Data/HUD.hs 17;" t
@@ -1080,7 +1080,7 @@ Location src/Dodge/Item/Location.hs 1;" m
LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t
Lock src/Dodge/Inventory/Lock.hs 1;" m Lock src/Dodge/Inventory/Lock.hs 1;" m
LockAndKey src/Dodge/LockAndKey.hs 1;" m LockAndKey src/Dodge/LockAndKey.hs 1;" m
LockedInventory src/Dodge/Data/HUD.hs 44;" C LockedInventory src/Dodge/Data/HUD.hs 45;" C
LoneWolf src/Dodge/Data/Creature/State.hs 46;" C LoneWolf src/Dodge/Data/Creature/State.hs 46;" C
LongAI src/Dodge/Data/Creature/Misc.hs 60;" C LongAI src/Dodge/Data/Creature/Misc.hs 60;" C
LongDoor src/Dodge/Room/LongDoor.hs 2;" m LongDoor src/Dodge/Room/LongDoor.hs 2;" m
@@ -1273,7 +1273,7 @@ NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C
NoShadowFidelity src/Shape/Data.hs 25;" C NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 101;" C NoShadows src/Dodge/Data/Config.hs 101;" C
NoSubInventory src/Dodge/Data/HUD.hs 35;" C NoSubInventory src/Dodge/Data/HUD.hs 36;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C
Noclip src/Dodge/Data/Config.hs 70;" C Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C
@@ -1824,7 +1824,7 @@ Strategy src/Dodge/Creature/Strategy.hs 1;" m
StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C
StrictHelp src/StrictHelp.hs 1;" m StrictHelp src/StrictHelp.hs 1;" m
StringHelp src/StringHelp.hs 1;" m StringHelp src/StringHelp.hs 1;" m
SubInventory src/Dodge/Data/HUD.hs 34;" t SubInventory src/Dodge/Data/HUD.hs 35;" t
Superfluous src/Shape/Data.hs 38;" C Superfluous src/Shape/Data.hs 38;" C
Surface src/Shape/Data.hs 41;" t Surface src/Shape/Data.hs 41;" t
Survive src/Dodge/Data/Scenario.hs 5;" C Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -2291,16 +2291,16 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f
_camViewFrom src/Dodge/Data/Camera.hs 29;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f
_camZoom src/Dodge/Data/Camera.hs 26;" f _camZoom src/Dodge/Data/Camera.hs 26;" f
_carriage src/Dodge/Data/Creature/Stance.hs 14;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f
_carteCenter src/Dodge/Data/HUD.hs 49;" f _carteCenter src/Dodge/Data/HUD.hs 50;" f
_carteRot src/Dodge/Data/HUD.hs 51;" f _carteRot src/Dodge/Data/HUD.hs 52;" f
_carteZoom src/Dodge/Data/HUD.hs 50;" f _carteZoom src/Dodge/Data/HUD.hs 51;" f
_ceSideEffect src/Dodge/Data/Universe.hs 62;" f _ceSideEffect src/Dodge/Data/Universe.hs 62;" f
_ceString src/Dodge/Data/Universe.hs 63;" f _ceString src/Dodge/Data/Universe.hs 63;" f
_ciFilter src/Dodge/Data/HUD.hs 42;" f _ciFilter src/Dodge/Data/HUD.hs 43;" f
_ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f
_ciItem src/Dodge/Data/Combine.hs 7;" f _ciItem src/Dodge/Data/Combine.hs 7;" f
_ciSections src/Dodge/Data/HUD.hs 40;" f _ciSections src/Dodge/Data/HUD.hs 41;" f
_ciSelection src/Dodge/Data/HUD.hs 41;" f _ciSelection src/Dodge/Data/HUD.hs 42;" f
_cigType src/Dodge/Data/Camera.hs 19;" f _cigType src/Dodge/Data/Camera.hs 19;" f
_clAlt src/Dodge/Data/Cloud.hs 23;" f _clAlt src/Dodge/Data/Cloud.hs 23;" f
_clPict src/Dodge/Data/Cloud.hs 21;" f _clPict src/Dodge/Data/Cloud.hs 21;" f
@@ -2324,7 +2324,7 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 54;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 46;" f _clickPos src/Dodge/Data/Input.hs 46;" f
_clickWorldPos src/Dodge/Data/Input.hs 48;" f _clickWorldPos src/Dodge/Data/Input.hs 48;" f
_closeObjects src/Dodge/Data/HUD.hs 52;" f _closeObjects src/Dodge/Data/HUD.hs 53;" f
_cloudEBO src/Data/Preload/Render.hs 49;" f _cloudEBO src/Data/Preload/Render.hs 49;" f
_cloudShader src/Data/Preload/Render.hs 48;" f _cloudShader src/Data/Preload/Render.hs 48;" f
_cloudVBO src/Data/Preload/Render.hs 47;" f _cloudVBO src/Data/Preload/Render.hs 47;" f
@@ -2607,7 +2607,7 @@ _heldPos src/Dodge/Data/Input.hs 47;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f
_heldWorldPos src/Dodge/Data/Input.hs 49;" f _heldWorldPos src/Dodge/Data/Input.hs 49;" f
_hud src/Dodge/Data/World.hs 47;" f _hud src/Dodge/Data/World.hs 47;" f
_hudElement src/Dodge/Data/HUD.hs 48;" f _hudElement src/Dodge/Data/HUD.hs 49;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
@@ -3120,7 +3120,7 @@ _tcEffect src/Dodge/Data/Terminal.hs 120;" f
_tcHelp src/Dodge/Data/Terminal.hs 119;" f _tcHelp src/Dodge/Data/Terminal.hs 119;" f
_tcString src/Dodge/Data/Terminal.hs 117;" f _tcString src/Dodge/Data/Terminal.hs 117;" f
_tempLightSources src/Dodge/Data/LWorld.hs 137;" f _tempLightSources src/Dodge/Data/LWorld.hs 137;" f
_termID src/Dodge/Data/HUD.hs 45;" f _termID src/Dodge/Data/HUD.hs 46;" f
_terminals src/Dodge/Data/LWorld.hs 123;" f _terminals src/Dodge/Data/LWorld.hs 123;" f
_teslaArcs src/Dodge/Data/LWorld.hs 113;" f _teslaArcs src/Dodge/Data/LWorld.hs 113;" f
_testFloat src/Dodge/Data/World.hs 45;" f _testFloat src/Dodge/Data/World.hs 45;" f
@@ -3434,7 +3434,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f
attribSize src/Shader/Compile.hs 306;" f attribSize src/Shader/Compile.hs 306;" f
augInvDirectSelect src/Dodge/Inventory.hs 275;" f augInvDirectSelect src/Dodge/Inventory.hs 276;" f
augmentedHUD src/Dodge/Item/Scope.hs 47;" f augmentedHUD src/Dodge/Item/Scope.hs 47;" f
autoAmr src/Dodge/Item/Held/Rod.hs 51;" f autoAmr src/Dodge/Item/Held/Rod.hs 51;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f
@@ -3573,7 +3573,7 @@ chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapClose src/Dodge/Inventory.hs 168;" f changeSwapClose src/Dodge/Inventory.hs 168;" f
changeSwapSel src/Dodge/Inventory.hs 160;" f changeSwapSel src/Dodge/Inventory.hs 160;" f
changeSwapWith src/Dodge/Inventory.hs 269;" f changeSwapWith src/Dodge/Inventory.hs 270;" f
charToTuple src/Picture/Base.hs 317;" f charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
@@ -3585,7 +3585,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f
checkConnection src/Dodge/Inventory.hs 243;" f checkConnection src/Dodge/Inventory.hs 244;" f
checkDeath src/Dodge/Creature/State.hs 75;" f checkDeath src/Dodge/Creature/State.hs 75;" f
checkEndGame src/Dodge/Update.hs 680;" f checkEndGame src/Dodge/Update.hs 680;" f
checkErrorGL src/Shader/Compile.hs 255;" f checkErrorGL src/Shader/Compile.hs 255;" f
@@ -3655,7 +3655,7 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
colSpark src/Dodge/Spark.hs 47;" f colSpark src/Dodge/Spark.hs 47;" f
colSparkRandDir src/Dodge/Spark.hs 101;" f colSparkRandDir src/Dodge/Spark.hs 101;" f
collectDamageTypes src/Dodge/Damage.hs 32;" f collectDamageTypes src/Dodge/Damage.hs 32;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 225;" f collectInvItems src/Dodge/Update/Input/InGame.hs 241;" f
collideCircWalls src/Dodge/Base/Collide.hs 149;" f collideCircWalls src/Dodge/Base/Collide.hs 149;" f
collidePoint src/Dodge/Base/Collide.hs 48;" f collidePoint src/Dodge/Base/Collide.hs 48;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f
@@ -3689,7 +3689,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
conEffects src/Dodge/Concurrent.hs 13;" f conEffects src/Dodge/Concurrent.hs 13;" f
concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 217;" f concurrentIS src/Dodge/Update/Input/InGame.hs 233;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f
connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurb src/Dodge/Terminal.hs 102;" f
connectionBlurbLines src/Dodge/Terminal.hs 47;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f
@@ -3723,14 +3723,14 @@ crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 30;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 30;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 13;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 13;" f
crInAimStance src/Dodge/Creature/Test.hs 88;" f crInAimStance src/Dodge/Creature/Test.hs 88;" f
crInvSize src/Dodge/Inventory/CheckSlots.hs 38;" f crInvSize src/Dodge/Inventory/CheckSlots.hs 27;" f
crIsAiming src/Dodge/Creature/Test.hs 56;" f crIsAiming src/Dodge/Creature/Test.hs 56;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 107;" f crIsArmouredFrom src/Dodge/Creature/Test.hs 107;" f
crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 20;" f crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 13;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 13;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 38;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 38;" f
crNearPoint src/Dodge/Creature/Test.hs 133;" f crNearPoint src/Dodge/Creature/Test.hs 133;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 24;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f
crSetRoots src/Dodge/Inventory/Location.hs 48;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f
@@ -4042,7 +4042,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f
doQuickload src/Dodge/Save.hs 82;" f doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 354;" f doRegexInput src/Dodge/Update/Input/InGame.hs 403;" f
doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f doRoomPlacements src/Dodge/Layout.hs 122;" f
@@ -4082,7 +4082,7 @@ doublePair src/Geometry.hs 149;" f
doublePairSet src/Geometry.hs 153;" f doublePairSet src/Geometry.hs 153;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 156;" f doubleV2 src/Geometry.hs 156;" f
dragInvItems src/Dodge/Update/Input/InGame.hs 202;" f dragInvItems src/Dodge/Update/Input/InGame.hs 218;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 210;" f drawAugmentedHUD src/Dodge/Creature/State.hs 210;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
@@ -4210,7 +4210,7 @@ droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 118;" f dropByState src/Dodge/Creature/State.hs 118;" f
dropExcept src/Dodge/Creature/Action.hs 172;" f dropExcept src/Dodge/Creature/Action.hs 172;" f
dropItem src/Dodge/Creature/Action.hs 178;" f dropItem src/Dodge/Creature/Action.hs 178;" f
dropSelected src/Dodge/Update/Input/InGame.hs 115;" f dropSelected src/Dodge/Update/Input/InGame.hs 116;" f
drumMag src/Dodge/Item/Ammo.hs 48;" f drumMag src/Dodge/Item/Ammo.hs 48;" f
dtIL src/Dodge/DoubleTree.hs 75;" f dtIL src/Dodge/DoubleTree.hs 75;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 126;" f dtToAdjRootParent src/Dodge/DoubleTree.hs 126;" f
@@ -4290,7 +4290,6 @@ findBoundDists src/Dodge/Update/Camera.hs 235;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 85;" f findIndex src/IntMapHelp.hs 85;" f
findItemSlot src/Dodge/Inventory/CheckSlots.hs 26;" f
findReverseEdge src/Polyhedra.hs 50;" f findReverseEdge src/Polyhedra.hs 50;" f
findReverseEdgeList src/Polyhedra.hs 57;" f findReverseEdgeList src/Polyhedra.hs 57;" f
findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f
@@ -4607,7 +4606,7 @@ invSelectionItem src/Dodge/Inventory/SelectionList.hs 23;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 20;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 20;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 162;" f invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
invTrees src/Dodge/Item/Grammar.hs 198;" f invTrees src/Dodge/Item/Grammar.hs 198;" f
invTrees' src/Dodge/Item/Grammar.hs 202;" f invTrees' src/Dodge/Item/Grammar.hs 202;" f
inventoryExtra src/Dodge/Render/HUD.hs 289;" f inventoryExtra src/Dodge/Render/HUD.hs 289;" f
@@ -4628,9 +4627,9 @@ invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 206;" f isAmmoIntLink src/Dodge/HeldUse.hs 206;" f
isAnimate src/Dodge/Creature/Test.hs 136;" f isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory.hs 253;" f isConnected src/Dodge/Inventory.hs 254;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/Damage.hs 42;" f
isFilteringInv src/Dodge/Inventory.hs 314;" f isFilteringInv src/Dodge/Inventory.hs 315;" f
isFrictionless src/Dodge/Creature/State.hs 341;" f isFrictionless src/Dodge/Creature/State.hs 341;" f
isGas src/Dodge/Euse.hs 64;" f isGas src/Dodge/Euse.hs 64;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f
@@ -4909,7 +4908,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f
maybeClearPaths src/Dodge/Block.hs 74;" f maybeClearPaths src/Dodge/Block.hs 74;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 514;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 563;" f
maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 111;" f maybeTakeOne src/RandomHelp.hs 111;" f
@@ -5134,7 +5133,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f
pathEdgeObstructed src/Dodge/Path.hs 43;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 450;" f pauseGame src/Dodge/Update/Input/InGame.hs 499;" f
pauseMenu src/Dodge/Menu.hs 53;" f pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f
pauseSound src/Dodge/SoundLogic.hs 41;" f pauseSound src/Dodge/SoundLogic.hs 41;" f
@@ -5571,8 +5570,8 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 283;" f scrollAugInvSel src/Dodge/Inventory.hs 284;" f
scrollAugNextInSection src/Dodge/Inventory.hs 296;" f scrollAugNextInSection src/Dodge/Inventory.hs 297;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
@@ -5604,7 +5603,7 @@ selSecSelSize src/Dodge/SelectionSections.hs 182;" f
selSecYint src/Dodge/SelectionSections.hs 191;" f selSecYint src/Dodge/SelectionSections.hs 191;" f
selectCreatureDebugItem src/Dodge/Debug.hs 39;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f
selectUse src/Dodge/SelectUse.hs 10;" f selectUse src/Dodge/SelectUse.hs 10;" f
selectedCloseObject src/Dodge/Inventory.hs 307;" f selectedCloseObject src/Dodge/Inventory.hs 308;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 152;" f senseDamage src/Dodge/Machine/Update.hs 152;" f
@@ -5690,9 +5689,10 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 234;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 279;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 263;" f shiftInvItems' src/Dodge/Update/Input/InGame.hs 250;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 257;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 312;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 306;" f
shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f
shiftPathBy src/Dodge/Room/Link.hs 92;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f
@@ -5791,7 +5791,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
spaceAction src/Dodge/Update/Input/InGame.hs 453;" f spaceAction src/Dodge/Update/Input/InGame.hs 502;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f
@@ -5848,7 +5848,7 @@ stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 281;" f stackedInventory src/Dodge/Creature.hs 281;" f
startCr src/Dodge/Creature.hs 91;" f startCr src/Dodge/Creature.hs 91;" f
startCrafts src/Dodge/Room/Start.hs 92;" f startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 191;" f startDrag src/Dodge/Update/Input/InGame.hs 207;" f
startInvList src/Dodge/Creature.hs 109;" f startInvList src/Dodge/Creature.hs 109;" f
startInventory src/Dodge/Creature.hs 112;" f startInventory src/Dodge/Creature.hs 112;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f
@@ -5878,11 +5878,11 @@ stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 50;" f subInvX src/Dodge/ListDisplayParams.hs 50;" f
subMap src/TreeHelp.hs 118;" f subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory.hs 235;" f swapAnyExtraSelection src/Dodge/Inventory.hs 236;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory.hs 185;" f swapInvItems src/Dodge/Inventory.hs 186;" f
swapItemWith src/Dodge/Inventory.hs 259;" f swapItemWith src/Dodge/Inventory.hs 260;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f
switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f
@@ -5989,8 +5989,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 31;" f
toggleCommand src/Dodge/Terminal.hs 196;" f toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f
toggleJust src/MaybeHelp.hs 41;" f toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 477;" f toggleMap src/Dodge/Update/Input/InGame.hs 526;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 491;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 540;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f togglesToEffects src/Dodge/Terminal.hs 248;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
@@ -6061,11 +6061,13 @@ trunkDepth src/TreeHelp.hs 161;" f
tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f
tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 500;" f tryCombine src/Dodge/Update/Input/InGame.hs 549;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 123;" f
tryGetChannel src/Sound.hs 96;" f tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 130;" f
tryPlay src/Sound.hs 83;" f tryPlay src/Sound.hs 83;" f
tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f
@@ -6107,7 +6109,7 @@ updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAttachedItems src/Dodge/Creature/State.hs 173;" f updateAttachedItems src/Dodge/Creature/State.hs 173;" f
updateAutoRecharge src/Dodge/Creature/State.hs 324;" f updateAutoRecharge src/Dodge/Creature/State.hs 324;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 388;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 437;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f updateBounds src/Dodge/Update/Camera.hs 245;" f
@@ -6130,7 +6132,7 @@ updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 513;" f updateDistortions src/Dodge/Update.hs 513;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 540;" f updateEnergyBalls src/Dodge/Update.hs 540;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 429;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 478;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f
@@ -6138,35 +6140,35 @@ updateFlame src/Dodge/Flame.hs 71;" f
updateFlames src/Dodge/Update.hs 537;" f updateFlames src/Dodge/Update.hs 537;" f
updateFlare src/Dodge/Flare.hs 7;" f updateFlare src/Dodge/Flare.hs 7;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 280;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 329;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 273;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 322;" f
updateGusts src/Dodge/Update.hs 691;" f updateGusts src/Dodge/Update.hs 691;" f
updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 482;" f updateIMl src/Dodge/Update.hs 482;" f
updateIMl' src/Dodge/Update.hs 487;" f updateIMl' src/Dodge/Update.hs 487;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 333;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 382;" f
updateInstantBullets src/Dodge/Update.hs 629;" f updateInstantBullets src/Dodge/Update.hs 629;" f
updateInv src/Dodge/Creature/State.hs 152;" f updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 327;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 376;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 315;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 364;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 411;" f updateLasers src/Dodge/Update.hs 411;" f
updateLightSources src/Dodge/Update.hs 516;" f updateLightSources src/Dodge/Update.hs 516;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 348;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 397;" f
updateMIM src/Dodge/Update.hs 642;" f updateMIM src/Dodge/Update.hs 642;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f updateMachine src/Dodge/Machine/Update.hs 19;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 144;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f
updateMouseContext src/Dodge/Update.hs 307;" f updateMouseContext src/Dodge/Update.hs 307;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 122;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 138;" f
updateMovement src/Dodge/Creature/State.hs 331;" f updateMovement src/Dodge/Creature/State.hs 331;" f
updateObjCatMaybes src/Dodge/Update.hs 504;" f updateObjCatMaybes src/Dodge/Update.hs 504;" f
updateObjMapMaybe src/Dodge/Update.hs 497;" f updateObjMapMaybe src/Dodge/Update.hs 497;" f
@@ -6174,8 +6176,8 @@ updatePastWorlds src/Dodge/Update.hs 399;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 549;" f updatePosEvents src/Dodge/Update.hs 549;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 290;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 339;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 293;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 342;" f
updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f
updateProp src/Dodge/Prop/Update.hs 11;" f updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f