Improve item pickup by dragging

This commit is contained in:
2024-11-25 15:01:16 +00:00
parent 951d1191cc
commit 4e4cc92939
7 changed files with 248 additions and 212 deletions
+1 -1
View File
@@ -1 +1 @@
All good (593 modules, at 14:02:41) All good (594 modules, at 15:00:52)
+2 -2
View File
@@ -13,7 +13,7 @@ module Dodge.Creature.Action (
unsafeBlinkAction, unsafeBlinkAction,
sizeSelf, sizeSelf,
youDropItem, youDropItem,
pickUpItem, -- pickUpItem,
) where ) where
import Control.Applicative import Control.Applicative
@@ -31,7 +31,7 @@ import Dodge.Default
import Dodge.FloatFunction import Dodge.FloatFunction
import Dodge.FloorItem import Dodge.FloorItem
import Dodge.Inventory import Dodge.Inventory
import Dodge.Inventory.Add --import Dodge.Inventory.Add
import Dodge.Path import Dodge.Path
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.WallCreatureCollisions import Dodge.WallCreatureCollisions
+1 -85
View File
@@ -16,12 +16,10 @@ module Dodge.Inventory (
swapItemWith, swapItemWith,
) where ) where
import Control.Monad import Dodge.Inventory.Swap
import Data.Function import Data.Function
import qualified Data.IntSet as IS
import Data.Maybe import Data.Maybe
import Dodge.Base import Dodge.Base
import Dodge.Data.DoubleTree
import Dodge.Data.SelectionList import Dodge.Data.SelectionList
import Dodge.Data.World import Dodge.Data.World
import Dodge.Euse import Dodge.Euse
@@ -29,17 +27,12 @@ import Dodge.Inventory.CheckSlots
import Dodge.Inventory.Location import Dodge.Inventory.Location
import Dodge.Inventory.RBList import Dodge.Inventory.RBList
import Dodge.ItEffect import Dodge.ItEffect
import Dodge.Item.Grammar
import Dodge.SelectionSections import Dodge.SelectionSections
import Dodge.SoundLogic
import Geometry import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp import LensHelp
import ListHelp import ListHelp
import NewInt import NewInt
import Sound.Data
--import Padding
-- TODO check what happens to selection index when dropping non-selected items -- TODO check what happens to selection index when dropping non-selected items
@@ -176,83 +169,6 @@ changeSwapOther manlens n f i w = fromMaybe w $ do
& hud . hudElement . diSelection . _Just . _2 %~ doswap & hud . hudElement . diSelection . _Just . _2 %~ doswap
& worldEventFlags . at InventoryChange ?~ () & worldEventFlags . at InventoryChange ?~ ()
-- can be specialised for when we know that item i is selected
swapInvItems ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
Int ->
World ->
World
swapInvItems f i w = fromMaybe w $ do
ss <- w ^? hud . hudElement . diSections . ix 0 . ssItems
k <- f i ss
let updateselection = case w ^? hud . hudElement . diSelection . _Just of
Just (0, j) | j == k -> hud . hudElement . diSelection . _Just . _2 .~ i
Just (0, j) | j == i -> hud . hudElement . diSelection . _Just . _2 .~ k
_ -> id
return $
w
& swapAnyExtraSelection i k
& checkConnection InventorySound disconnectItemS i k
& cWorld . lWorld . creatures . ix 0 %~ updatecreature k
& updateselection
& worldEventFlags . at InventoryChange ?~ ()
& cWorld . lWorld %~ crUpdateItemLocations 0
& setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0 -- the double application is inefficient, but necessary without further changes
-- a rethink is maybe in order
& checkConnection InventoryConnectSound connectItemS i k
where
-- & checkconnect k InventoryConnectSound connectItemS
-- cpos = fromMaybe 0 $ w ^? cWorld . lWorld . creatures . ix 0 . crPos
-- checkconnect k stype s w'
-- | p (i+1) || p (i-1)
-- || p (k+1) || p (k-1) = soundStart stype cpos s Nothing w'
-- | otherwise = w'
-- where
-- p j = maybe False not $ w' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix j . itLocation . ilIsRoot
updatecreature k =
(crInv %~ IM.safeSwapKeys i k)
. (crManipulation . manObject . imSelectedItem .~ k)
. (crInvEquipped %~ IM.safeSwapKeys i k)
. swapSite i k
. swapSite k i
. (crInvHotkeys %~ IM.safeSwapKeys i k)
. swapSite' i k
. swapSite' k i
cr = you w
swapSite a b = case cr ^? crInvEquipped . ix a of
Just epos -> crEquipment . ix epos .~ b
Nothing -> id
swapSite' a b = case cr ^? crInvHotkeys . ix a of
Just epos -> crHotkeys . ix epos .~ b
Nothing -> id
swapAnyExtraSelection :: Int -> Int -> World -> World
swapAnyExtraSelection i k w = fromMaybe w $ do
is <- w ^? hud . hudElement . diSelectionExtra
let f = if i `IS.member` is then IS.insert k else id
g = if k `IS.member` is then IS.insert i else id
return $
w & hud . hudElement . diSelectionExtra
%~ (f . g . IS.delete i . IS.delete k)
checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World
checkConnection so s i j w = fromMaybe w $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos
let locs = allInvLocs inv
iit <- locs ^? ix i . _2
jit <- locs ^? ix j . _2
guard $ isConnected iit || isConnected jit
return $ soundStart so cpos s Nothing w
isConnected :: LocationLDT b a -> Bool
isConnected x = case x ^. locLdtContext of
TopLDT ->
not (null $ x ^. locLDT . ldtRight)
|| not (null $ x ^. locLDT . ldtLeft)
_ -> True
swapItemWith :: swapItemWith ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
+19
View File
@@ -4,8 +4,11 @@ module Dodge.Inventory.Add (
--createAndSelectItem, --createAndSelectItem,
createItemYou, createItemYou,
pickUpItem, pickUpItem,
pickUpItemAt,
) where ) where
import Dodge.Inventory.Swap
import Control.Monad
import NewInt import NewInt
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.Inventory.Location import Dodge.Inventory.Location
@@ -25,6 +28,16 @@ tryPutFloorItemIDInInv cid flitid w = do
flit <- w ^? cWorld . lWorld . floorItems . unNIntMap . ix (_unNInt flitid) flit <- w ^? cWorld . lWorld . floorItems . unNIntMap . ix (_unNInt flitid)
tryPutItemInInv cid flit w tryPutItemInInv cid flit w
-- not sure why we have the cid here, this will probably only work for cid == 0
tryPutItemInInvAt :: Int -> Int -> FloorItem -> World -> Maybe World
tryPutItemInInvAt i cid flit w = do
(j,w') <- tryPutItemInInv cid flit w
guard (i <= j)
return $ foldr f w' [i+1..j]
where
f j = swapInvItems (\_ _ -> Just (j-1)) j
-- | Pick up a specific item. -- | Pick up a specific item.
tryPutItemInInv :: Int -> FloorItem -> World -> Maybe (Int, World) tryPutItemInInv :: Int -> FloorItem -> World -> Maybe (Int, World)
tryPutItemInInv cid flit w = case maybeInvSlot of tryPutItemInInv cid flit w = case maybeInvSlot of
@@ -93,3 +106,9 @@ pickUpItem :: Int -> FloorItem -> World -> World
pickUpItem cid flit w = pickUpItem cid flit w =
maybe w (soundStart (CrSound cid) (_flItPos flit) pickUpS Nothing . snd) $ maybe w (soundStart (CrSound cid) (_flItPos flit) pickUpS Nothing . snd) $
tryPutItemInInv cid flit w tryPutItemInInv cid flit w
-- | Pick up a specific item.
pickUpItemAt :: Int -> Int -> FloorItem -> World -> World
pickUpItemAt invid cid flit w =
maybe w (soundStart (CrSound cid) (_flItPos flit) pickUpS Nothing) $
tryPutItemInInvAt invid cid flit w
+97
View File
@@ -0,0 +1,97 @@
module Dodge.Inventory.Swap (
swapInvItems,
swapAnyExtraSelection
) where
import Dodge.SoundLogic
import Dodge.Item.Grammar
import Dodge.Base.You
import Dodge.Inventory.Location
import Dodge.Data.DoubleTree
import Sound.Data
import qualified Data.IntSet as IS
import Data.Maybe
import Control.Lens
import Dodge.Data.SelectionList
import qualified IntMapHelp as IM
import Dodge.Data.World
import Control.Monad
-- can be specialised for when we know that item i is selected
swapInvItems ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
Int ->
World ->
World
swapInvItems f i w = fromMaybe w $ do
ss <- w ^? hud . hudElement . diSections . ix 0 . ssItems
k <- f i ss
let updateselection = case w ^? hud . hudElement . diSelection . _Just of
Just (0, j) | j == k -> hud . hudElement . diSelection . _Just . _2 .~ i
Just (0, j) | j == i -> hud . hudElement . diSelection . _Just . _2 .~ k
_ -> id
return $
w
& swapAnyExtraSelection i k
& checkConnection InventorySound disconnectItemS i k
& cWorld . lWorld . creatures . ix 0 %~ updatecreature k
& updateselection
& worldEventFlags . at InventoryChange ?~ ()
& cWorld . lWorld %~ crUpdateItemLocations 0
& setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0 -- the double application is inefficient, but necessary without further changes
-- a rethink is maybe in order
& checkConnection InventoryConnectSound connectItemS i k
where
-- & checkconnect k InventoryConnectSound connectItemS
-- cpos = fromMaybe 0 $ w ^? cWorld . lWorld . creatures . ix 0 . crPos
-- checkconnect k stype s w'
-- | p (i+1) || p (i-1)
-- || p (k+1) || p (k-1) = soundStart stype cpos s Nothing w'
-- | otherwise = w'
-- where
-- p j = maybe False not $ w' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix j . itLocation . ilIsRoot
updatecreature k =
(crInv %~ IM.safeSwapKeys i k)
. (crManipulation . manObject . imSelectedItem .~ k)
. (crInvEquipped %~ IM.safeSwapKeys i k)
. swapSite i k
. swapSite k i
. (crInvHotkeys %~ IM.safeSwapKeys i k)
. swapSite' i k
. swapSite' k i
cr = you w
swapSite a b = case cr ^? crInvEquipped . ix a of
Just epos -> crEquipment . ix epos .~ b
Nothing -> id
swapSite' a b = case cr ^? crInvHotkeys . ix a of
Just epos -> crHotkeys . ix epos .~ b
Nothing -> id
swapAnyExtraSelection :: Int -> Int -> World -> World
swapAnyExtraSelection i k w = fromMaybe w $ do
is <- w ^? hud . hudElement . diSelectionExtra
let f = if i `IS.member` is then IS.insert k else id
g = if k `IS.member` is then IS.insert i else id
return $
w & hud . hudElement . diSelectionExtra
%~ (f . g . IS.delete i . IS.delete k)
checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World
checkConnection so s i j w = fromMaybe w $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos
let locs = allInvLocs inv
iit <- locs ^? ix i . _2
jit <- locs ^? ix j . _2
guard $ isConnected iit || isConnected jit
return $ soundStart so cpos s Nothing w
isConnected :: LocationLDT b a -> Bool
isConnected x = case x ^. locLdtContext of
TopLDT ->
not (null $ x ^. locLDT . ldtRight)
|| not (null $ x ^. locLDT . ldtLeft)
_ -> True
+6 -5
View File
@@ -123,7 +123,12 @@ tryPickupSelected k mpos w = do
let itmstopickup = mapMaybe g $ IS.toList xs let itmstopickup = mapMaybe g $ IS.toList xs
let slotsneeded = alaf Sum foldMap (_itInvSize . _flIt) $ itmstopickup let slotsneeded = alaf Sum foldMap (_itInvSize . _flIt) $ itmstopickup
guard $ nfreeslots >= slotsneeded guard $ nfreeslots >= slotsneeded
return $ foldl' (flip $ pickUpItem 0) w itmstopickup return $ case mpos of
Nothing -> foldl' (flip $ pickUpItem 0) w itmstopickup
& hud . hudElement . diSelectionExtra .~ mempty
Just (_,j) -> foldr (pickUpItemAt j 0) w itmstopickup
& hud . hudElement . diSelection ?~ (0,j)
& hud . hudElement . diSelectionExtra .~ IS.fromDistinctAscList [j..j+IS.size xs-1]
where where
g i = do g i = do
NInt j <- w ^? hud . closeItems . ix i NInt j <- w ^? hud . closeItems . ix i
@@ -134,10 +139,6 @@ updateMouseReleaseInGame w = case w ^. input . mouseContext of
OverInvDrag k mpos _ _ -> OverInvDrag k mpos _ _ ->
input . mouseContext .~ MouseInGame $ input . mouseContext .~ MouseInGame $
fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w
-- OverInvDrag i mpos -> fromMaybe (dropSelected w & input . mouseContext .~ MouseInGame) $ do
-- j <- mpos
-- guard $ fst j == i
-- return $ w & input . mouseContext .~ OverInvSelect j
OverInvDragSelect _ Nothing -> OverInvDragSelect _ Nothing ->
w & input . mouseContext .~ MouseInGame w & input . mouseContext .~ MouseInGame
& hud . hudElement . diSelectionExtra .~ mempty & hud . hudElement . diSelectionExtra .~ mempty
+122 -119
View File
@@ -1831,6 +1831,7 @@ 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
Suspicious src/Dodge/Data/Creature/Perception.hs 66;" C Suspicious src/Dodge/Data/Creature/Perception.hs 66;" C
Swap src/Dodge/Inventory/Swap.hs 1;" m
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 27;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 27;" C
Swarm src/Dodge/Data/Creature/State.hs 47;" C Swarm src/Dodge/Data/Creature/State.hs 47;" C
SwarmAI src/Dodge/Data/Creature/Misc.hs 56;" C SwarmAI src/Dodge/Data/Creature/Misc.hs 56;" C
@@ -3347,7 +3348,7 @@ addToTrunk src/TreeHelp.hs 156;" f
addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f
addZ src/Geometry/Vector3D.hs 89;" f addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 77;" f adjustIMZone src/Dodge/Base.hs 77;" f
advanceScrollAmount src/Dodge/Update.hs 396;" f advanceScrollAmount src/Dodge/Update.hs 403;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
aimDelaySweep src/Dodge/Render/Picture.hs 233;" f aimDelaySweep src/Dodge/Render/Picture.hs 233;" f
@@ -3379,7 +3380,7 @@ angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 242;" f anythingHitCirc src/Dodge/Base/Collide.hs 243;" f
applyCME src/Dodge/HeldUse.hs 65;" f applyCME src/Dodge/HeldUse.hs 65;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f
@@ -3438,7 +3439,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 199;" 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
@@ -3559,8 +3560,8 @@ cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f
calcTexCoord src/Tile.hs 19;" f calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 228;" f canSee src/Dodge/Base/Collide.hs 229;" f
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f canSeeIndirect src/Dodge/Base/Collide.hs 236;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
@@ -3575,9 +3576,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 156;" f changeSwapOther src/Dodge/Inventory.hs 157;" f
changeSwapSel src/Dodge/Inventory.hs 148;" f changeSwapSel src/Dodge/Inventory.hs 149;" f
changeSwapWith src/Dodge/Inventory.hs 268;" f changeSwapWith src/Dodge/Inventory.hs 192;" 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
@@ -3589,15 +3590,15 @@ 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 101;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 101;" f
checkConnection src/Dodge/Inventory.hs 240;" f checkConnection src/Dodge/Inventory/Swap.hs 81;" f
checkDeath src/Dodge/Creature/State.hs 75;" f checkDeath src/Dodge/Creature/State.hs 75;" f
checkEndGame src/Dodge/Update.hs 683;" f checkEndGame src/Dodge/Update.hs 690;" f
checkErrorGL src/Shader/Compile.hs 255;" f checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f checkGLError src/GLHelp.hs 17;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" f
checkInventorySelectionExists src/Dodge/DisplayInventory.hs 94;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 94;" f
checkTermDist src/Dodge/Update.hs 297;" f checkTermDist src/Dodge/Update.hs 301;" f
checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
@@ -3618,7 +3619,7 @@ circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f circleSolidCol src/Picture/Base.hs 168;" f
clClSpringVel src/Dodge/Update.hs 736;" f clClSpringVel src/Dodge/Update.hs 743;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 166;" f clampPath src/Dodge/Room/Procedural.hs 166;" f
@@ -3646,7 +3647,7 @@ closestCreatureID src/Dodge/Debug.hs 92;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
closestPointOnSeg src/Geometry/Intersect.hs 282;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f
cloudEffect src/Dodge/Update.hs 706;" f cloudEffect src/Dodge/Update.hs 713;" f
cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f
clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
@@ -3660,7 +3661,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 229;" f collectInvItems src/Dodge/Update/Input/InGame.hs 236;" 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
@@ -3694,7 +3695,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 221;" f concurrentIS src/Dodge/Update/Input/InGame.hs 228;" 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
@@ -3718,7 +3719,7 @@ crAdd src/Dodge/Room/RezBox.hs 104;" f
crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f
crBlips src/Dodge/RadarSweep.hs 69;" f crBlips src/Dodge/RadarSweep.hs 69;" f
crCanSeeCr src/Dodge/Creature/Test.hs 48;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f
crCrSpring src/Dodge/Update.hs 754;" f crCrSpring src/Dodge/Update.hs 761;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f
@@ -3739,7 +3740,7 @@ 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
crSpring src/Dodge/Update.hs 749;" f crSpring src/Dodge/Update.hs 756;" f
crStratConMatches src/Dodge/Creature/Test.hs 72;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f
crUpdate src/Dodge/Creature/State.hs 62;" f crUpdate src/Dodge/Creature/State.hs 62;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
@@ -3753,7 +3754,7 @@ createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 159;" f createHeadLamp src/Dodge/Euse.hs 159;" f
createItemYou src/Dodge/Inventory/Add.hs 80;" f createItemYou src/Dodge/Inventory/Add.hs 92;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 76;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
@@ -3953,7 +3954,7 @@ denormalEdges src/Polyhedra.hs 136;" f
destroyAt src/Dodge/Bullet.hs 201;" f destroyAt src/Dodge/Bullet.hs 201;" f
destroyBlock src/Dodge/Block.hs 56;" f destroyBlock src/Dodge/Block.hs 56;" f
destroyDoor src/Dodge/Block.hs 85;" f destroyDoor src/Dodge/Block.hs 85;" f
destroyInvItem src/Dodge/Inventory.hs 48;" f destroyInvItem src/Dodge/Inventory.hs 49;" f
destroyLS src/Dodge/LightSource.hs 91;" f destroyLS src/Dodge/LightSource.hs 91;" f
destroyLSFlashAt src/Dodge/LightSource.hs 101;" f destroyLSFlashAt src/Dodge/LightSource.hs 101;" f
destroyMachine src/Dodge/Machine/Destroy.hs 12;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f
@@ -3983,10 +3984,10 @@ disconnectTerminal src/Dodge/Terminal.hs 217;" f
displayConfig src/Dodge/Menu.hs 196;" f displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 212;" f displayFreeSlots src/Dodge/DisplayInventory.hs 211;" f
displayIndents src/Dodge/DisplayInventory.hs 119;" f displayIndents src/Dodge/DisplayInventory.hs 119;" f
displaySectionsSizes src/Dodge/DisplayInventory.hs 114;" f displaySectionsSizes src/Dodge/DisplayInventory.hs 114;" f
displayTerminalLineString src/Dodge/Update.hs 425;" f displayTerminalLineString src/Dodge/Update.hs 432;" f
dist src/Geometry/Vector.hs 179;" f dist src/Geometry/Vector.hs 179;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f divTo src/Geometry/Zone.hs 6;" f
@@ -4026,7 +4027,7 @@ doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 26;" f
doIntImp src/Dodge/CreatureEffect.hs 24;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f
doInvEffect src/Dodge/ItEffect.hs 10;" f doInvEffect src/Dodge/ItEffect.hs 10;" f
doItCrWdWd src/Dodge/WorldEffect.hs 49;" f doItCrWdWd src/Dodge/WorldEffect.hs 49;" f
doItemTimeScroll src/Dodge/Update.hs 194;" f doItemTimeScroll src/Dodge/Update.hs 198;" f
doLoop src/Loop.hs 60;" f doLoop src/Loop.hs 60;" f
doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f
doMP2Ac src/Dodge/CreatureEffect.hs 73;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f
@@ -4043,13 +4044,13 @@ 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 360;" f doRegexInput src/Dodge/Update/Input/InGame.hs 366;" 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
doRoomShift src/Dodge/Room/Link.hs 33;" f doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Camera.hs 141;" f doScopeZoom src/Dodge/Update/Camera.hs 141;" f
doSectionSize src/Dodge/DisplayInventory.hs 234;" f doSectionSize src/Dodge/DisplayInventory.hs 233;" f
doSideEffects appDodge/Main.hs 118;" f doSideEffects appDodge/Main.hs 118;" f
doStep src/Dodge/ArcStep.hs 9;" f doStep src/Dodge/ArcStep.hs 9;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f
@@ -4060,7 +4061,7 @@ doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 74;" f doThrust src/Dodge/Projectile/Update.hs 74;" f
doTimeScroll src/Dodge/Update.hs 199;" f doTimeScroll src/Dodge/Update.hs 203;" f
doTmTm src/Dodge/TmTm.hs 6;" f doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 107;" f doTmWdWd src/Dodge/WorldEffect.hs 107;" f
doWallRotate src/Dodge/Update/Camera.hs 188;" f doWallRotate src/Dodge/Update/Camera.hs 188;" f
@@ -4070,7 +4071,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f
doWdWd src/Dodge/WorldEffect.hs 26;" f doWdWd src/Dodge/WorldEffect.hs 26;" f
doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f
doWorldEvents src/Dodge/Update.hs 407;" f doWorldEvents src/Dodge/Update.hs 414;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f door src/Dodge/Room/Door.hs 13;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f
@@ -4234,7 +4235,7 @@ encircle src/Dodge/Creature/Boid.hs 115;" f
encircleCloseP src/Dodge/Creature/Boid.hs 35;" f encircleCloseP src/Dodge/Creature/Boid.hs 35;" f
encircleDistP src/Dodge/Creature/Boid.hs 21;" f encircleDistP src/Dodge/Creature/Boid.hs 21;" f
encircleP src/Dodge/Creature/Boid.hs 27;" f encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 344;" f enterCombineInv src/Dodge/DisplayInventory.hs 343;" f
eqConstr src/SameConstr.hs 17;" f eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 290;" f equipAllocString src/Dodge/Render/HUD.hs 290;" f
@@ -4362,7 +4363,7 @@ fromV3 src/Geometry/Data.hs 43;" f
frontArmour src/Dodge/Item/Equipment.hs 41;" f frontArmour src/Dodge/Item/Equipment.hs 41;" f
fstV2 src/Geometry/Data.hs 50;" f fstV2 src/Geometry/Data.hs 50;" f
fuelPack src/Dodge/Item/Equipment.hs 64;" f fuelPack src/Dodge/Item/Equipment.hs 64;" f
functionalUpdate src/Dodge/Update.hs 245;" f functionalUpdate src/Dodge/Update.hs 249;" f
fuseFunc src/Dodge/Path.hs 150;" f fuseFunc src/Dodge/Path.hs 150;" f
fusePairs src/Dodge/Path.hs 153;" f fusePairs src/Dodge/Path.hs 153;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
@@ -4482,7 +4483,7 @@ hardQuit src/Dodge/Concurrent.hs 33;" f
hasButtonLOS src/Dodge/Base/Collide.hs 207;" f hasButtonLOS src/Dodge/Base/Collide.hs 207;" f
hasFrontArmour src/Dodge/Creature/Test.hs 110;" f hasFrontArmour src/Dodge/Creature/Test.hs 110;" f
hasLOS src/Dodge/Base/Collide.hs 200;" f hasLOS src/Dodge/Base/Collide.hs 200;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 214;" f hasLOSIndirect src/Dodge/Base/Collide.hs 215;" f
hat src/Dodge/Item/Equipment.hs 94;" f hat src/Dodge/Item/Equipment.hs 94;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 100;" f headLamp src/Dodge/Item/Equipment.hs 100;" f
@@ -4595,7 +4596,7 @@ interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 188;" f invAdj src/Dodge/Item/Grammar.hs 188;" f
invCursorParams src/Dodge/ListDisplayParams.hs 38;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f
invDimColor src/Dodge/DisplayInventory.hs 206;" f invDimColor src/Dodge/DisplayInventory.hs 205;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f
invHead src/Dodge/Render/HUD.hs 388;" f invHead src/Dodge/Render/HUD.hs 388;" f
invLDT src/Dodge/Item/Grammar.hs 171;" f invLDT src/Dodge/Item/Grammar.hs 171;" f
@@ -4623,7 +4624,7 @@ 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 250;" f isConnected src/Dodge/Inventory/Swap.hs 91;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/Damage.hs 42;" 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
@@ -4635,7 +4636,7 @@ isLeftOfA src/Geometry.hs 181;" f
isNothing' src/MaybeHelp.hs 33;" f isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 240;" f isOnSeg src/Geometry.hs 240;" f
isOutLnk src/Dodge/PlacementSpot.hs 164;" f isOutLnk src/Dodge/PlacementSpot.hs 164;" f
isOverTerminalScreen src/Dodge/Update.hs 374;" f isOverTerminalScreen src/Dodge/Update.hs 381;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 24;" f isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
@@ -4643,7 +4644,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f
isValidCommand src/Dodge/Debug/Terminal.hs 128;" f isValidCommand src/Dodge/Debug/Terminal.hs 128;" f
isVowel src/StringHelp.hs 8;" f isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 221;" f isWalkable src/Dodge/Base/Collide.hs 222;" f
isoMatrix src/MatrixHelper.hs 30;" f isoMatrix src/MatrixHelper.hs 30;" f
isotriBWH src/Geometry/Polygon.hs 20;" f isotriBWH src/Geometry/Polygon.hs 20;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 82;" f itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 82;" f
@@ -4766,7 +4767,7 @@ listConfig src/Dodge/Menu.hs 199;" f
listControls src/Dodge/Menu.hs 212;" f listControls src/Dodge/Menu.hs 212;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 140;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 140;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 336;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 335;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 107;" f llleft src/Dodge/Item/Grammar.hs 107;" f
llright src/Dodge/Item/Grammar.hs 114;" f llright src/Dodge/Item/Grammar.hs 114;" f
@@ -4892,7 +4893,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f
makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f
mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f
markWallSeen src/Dodge/Update.hs 668;" f markWallSeen src/Dodge/Update.hs 675;" f
maxDamageType src/Dodge/Damage.hs 37;" f maxDamageType src/Dodge/Damage.hs 37;" f
maxShowX src/Dodge/Combine/Graph.hs 49;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f
@@ -4903,7 +4904,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 536;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 542;" 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
@@ -5019,7 +5020,7 @@ mvBullet src/Dodge/Bullet.hs 33;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
mvGust src/Dodge/Update.hs 697;" f mvGust src/Dodge/Update.hs 704;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f
mvP src/Dodge/Wall/Move.hs 54;" f mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f
@@ -5128,11 +5129,11 @@ 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 456;" f pauseGame src/Dodge/Update/Input/InGame.hs 462;" 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
pauseTime src/Dodge/Update.hs 185;" f pauseTime src/Dodge/Update.hs 189;" f
pciToCI src/Dodge/Item/Grammar.hs 96;" f pciToCI src/Dodge/Item/Grammar.hs 96;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f
@@ -5152,7 +5153,8 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f
picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f
picFormat src/Polyhedra.hs 23;" f picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 92;" f pickUpItem src/Dodge/Inventory/Add.hs 104;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 110;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
pincerP src/Dodge/Creature/Boid.hs 60;" f pincerP src/Dodge/Creature/Boid.hs 60;" f
pincerP' src/Dodge/Creature/Boid.hs 93;" f pincerP' src/Dodge/Creature/Boid.hs 93;" f
@@ -5185,7 +5187,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 70;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 70;" f
placeString src/Dodge/Render/MenuScreen.hs 63;" f placeString src/Dodge/Render/MenuScreen.hs 63;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 162;" f placeWallPoly src/Dodge/Placement/PlaceSpot.hs 162;" f
plainRegex src/Dodge/DisplayInventory.hs 209;" f plainRegex src/Dodge/DisplayInventory.hs 208;" f
plateCraft src/Dodge/Item/Craftable.hs 45;" f plateCraft src/Dodge/Item/Craftable.hs 45;" f
playIfFree src/Sound.hs 136;" f playIfFree src/Sound.hs 136;" f
playPositionalSoundQueue src/Sound.hs 144;" f playPositionalSoundQueue src/Sound.hs 144;" f
@@ -5287,7 +5289,7 @@ powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 116;" f ppDraw src/Dodge/Render/ShapePicture.hs 116;" f
ppEvents src/Dodge/Update.hs 660;" f ppEvents src/Dodge/Update.hs 667;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f preCritStart src/Dodge/Room/Start.hs 82;" f
preloadRender src/Preload/Render.hs 30;" f preloadRender src/Preload/Render.hs 30;" f
@@ -5415,7 +5417,7 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 39;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 39;" f
regexCombs src/Dodge/DisplayInventory.hs 69;" f regexCombs src/Dodge/DisplayInventory.hs 69;" f
regexIn src/Regex.hs 4;" f regexIn src/Regex.hs 4;" f
regexList src/Dodge/DisplayInventory.hs 378;" f regexList src/Dodge/DisplayInventory.hs 376;" f
regexList src/Regex.hs 7;" f regexList src/Regex.hs 7;" f
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
reloadLevelStart src/Dodge/Save.hs 71;" f reloadLevelStart src/Dodge/Save.hs 71;" f
@@ -5472,7 +5474,7 @@ rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 61;" f rmInvItem src/Dodge/Inventory.hs 62;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 38;" f roomC src/Dodge/Room/Room.hs 38;" f
@@ -5565,15 +5567,15 @@ 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 207;" f
scrollAugNextInSection src/Dodge/Inventory.hs 296;" f scrollAugNextInSection src/Dodge/Inventory.hs 220;" 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
scrollRBOption src/Dodge/Update/Scroll.hs 109;" f scrollRBOption src/Dodge/Update/Scroll.hs 109;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f
scrollTimeBack src/Dodge/Update.hs 209;" f scrollTimeBack src/Dodge/Update.hs 213;" f
scrollTimeForward src/Dodge/Update.hs 229;" f scrollTimeForward src/Dodge/Update.hs 233;" f
scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f
seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f
seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f
@@ -5586,12 +5588,12 @@ seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 372;" f
seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f
secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 218;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 217;" f
sectionsSizes src/Dodge/DisplayInventory.hs 223;" f sectionsSizes src/Dodge/DisplayInventory.hs 222;" f
seedStartMenu src/Dodge/Menu.hs 79;" f seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f segOnCirc src/Geometry.hs 116;" f
selCloseObj src/Dodge/Update/Input/InGame.hs 479;" f selCloseObj src/Dodge/Update/Input/InGame.hs 485;" f
selNumPos src/Dodge/Render/HUD.hs 437;" f selNumPos src/Dodge/Render/HUD.hs 437;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 460;" f selNumPosCardinal src/Dodge/Render/HUD.hs 460;" f
selSecDrawCursor src/Dodge/Render/List.hs 130;" f selSecDrawCursor src/Dodge/Render/List.hs 130;" f
@@ -5631,7 +5633,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f
setMinInvSize src/Dodge/Creature/Action.hs 149;" f setMinInvSize src/Dodge/Creature/Action.hs 149;" f
setMusicVolume src/Sound.hs 161;" f setMusicVolume src/Sound.hs 161;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f
setOldPos src/Dodge/Update.hs 449;" f setOldPos src/Dodge/Update.hs 456;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f
@@ -5686,9 +5688,9 @@ 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 238;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 245;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 269;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 275;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 263;" f shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 269;" 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
@@ -5738,7 +5740,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 59;" f shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 129;" f sigmoid src/Dodge/Base.hs 129;" f
simpleCrSprings src/Dodge/Update.hs 745;" f simpleCrSprings src/Dodge/Update.hs 752;" f
simpleDamFL src/Dodge/Flame.hs 41;" f simpleDamFL src/Dodge/Flame.hs 41;" f
simpleTermMessage src/Dodge/Terminal.hs 253;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f
@@ -5787,7 +5789,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 459;" f spaceAction src/Dodge/Update/Input/InGame.hs 465;" 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
@@ -5843,7 +5845,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 200;" 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
@@ -5873,11 +5875,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 231;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 72;" 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 180;" f swapInvItems src/Dodge/Inventory/Swap.hs 21;" f
swapItemWith src/Dodge/Inventory.hs 257;" f swapItemWith src/Dodge/Inventory.hs 181;" 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
@@ -5958,7 +5960,7 @@ threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
tileTexCoords src/Tile.hs 11;" f tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 205;" f tilesFromRooms src/Dodge/Layout.hs 205;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f tilesToLine src/Shader/AuxAddition.hs 66;" f
timeFlowUpdate src/Dodge/Update.hs 172;" f timeFlowUpdate src/Dodge/Update.hs 176;" f
timeModule src/Dodge/Item/Craftable.hs 33;" f timeModule src/Dodge/Item/Craftable.hs 33;" f
timerTLS src/Dodge/LightSource/Update.hs 22;" f timerTLS src/Dodge/LightSource/Update.hs 22;" f
tinMag src/Dodge/Item/Ammo.hs 27;" f tinMag src/Dodge/Item/Ammo.hs 27;" f
@@ -5967,7 +5969,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f
titleOptionsNoWrite src/Dodge/Menu.hs 102;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f
tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f
tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f
tmUpdate src/Dodge/Update.hs 429;" f tmUpdate src/Dodge/Update.hs 436;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f toBothLnk src/Dodge/RoomLink.hs 121;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f toColor8 src/Color.hs 148;" f
@@ -5984,8 +5986,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 35;" 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 499;" f toggleMap src/Dodge/Update/Input/InGame.hs 505;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 513;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 519;" 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
@@ -6056,16 +6058,17 @@ 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 522;" f tryCombine src/Dodge/Update/Input/InGame.hs 528;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 109;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 108;" 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 117;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 116;" 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 25;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 41;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 31;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySiphonFuel src/Dodge/Euse.hs 46;" f trySiphonFuel src/Dodge/Euse.hs 46;" f
trySpinByCID src/Dodge/Projectile/Update.hs 95;" f trySpinByCID src/Dodge/Projectile/Update.hs 95;" f
@@ -6104,114 +6107,114 @@ 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 394;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 400;" 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
updateBulVel src/Dodge/Bullet.hs 50;" f updateBulVel src/Dodge/Bullet.hs 50;" f
updateBullet src/Dodge/Bullet.hs 28;" f updateBullet src/Dodge/Bullet.hs 28;" f
updateBullets src/Dodge/Update.hs 526;" f updateBullets src/Dodge/Update.hs 533;" f
updateCamera src/Dodge/Update/Camera.hs 31;" f updateCamera src/Dodge/Update/Camera.hs 31;" f
updateCloseObjects src/Dodge/Inventory.hs 119;" f updateCloseObjects src/Dodge/Inventory.hs 120;" f
updateCloud src/Dodge/Update.hs 711;" f updateCloud src/Dodge/Update.hs 718;" f
updateClouds src/Dodge/Update.hs 555;" f updateClouds src/Dodge/Update.hs 562;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 46;" f updateCombineSections src/Dodge/DisplayInventory.hs 46;" f
updateCreature src/Dodge/Creature/Update.hs 10;" f updateCreature src/Dodge/Creature/Update.hs 10;" f
updateCreatureGroups src/Dodge/Update.hs 495;" f updateCreatureGroups src/Dodge/Update.hs 502;" f
updateCreatureSoundPositions src/Dodge/Update.hs 471;" f updateCreatureSoundPositions src/Dodge/Update.hs 478;" f
updateDebugMessageOffset src/Dodge/Update.hs 92;" f updateDebugMessageOffset src/Dodge/Update.hs 92;" f
updateDelayedEvents src/Dodge/Update.hs 774;" f updateDelayedEvents src/Dodge/Update.hs 781;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 126;" f updateDisplaySections src/Dodge/DisplayInventory.hs 126;" f
updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 516;" f updateDistortions src/Dodge/Update.hs 523;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 543;" f updateEnergyBalls src/Dodge/Update.hs 550;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 435;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 441;" 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
updateFlame src/Dodge/Flame.hs 71;" f updateFlame src/Dodge/Flame.hs 71;" f
updateFlames src/Dodge/Update.hs 540;" f updateFlames src/Dodge/Update.hs 547;" 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 286;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 292;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 279;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 285;" f
updateGusts src/Dodge/Update.hs 694;" f updateGusts src/Dodge/Update.hs 701;" 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 485;" f updateIMl src/Dodge/Update.hs 492;" f
updateIMl' src/Dodge/Update.hs 490;" f updateIMl' src/Dodge/Update.hs 497;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 339;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 345;" f
updateInstantBullets src/Dodge/Update.hs 632;" f updateInstantBullets src/Dodge/Update.hs 639;" f
updateInv src/Dodge/Creature/State.hs 152;" f updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" 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 333;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 339;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 321;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 327;" 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 414;" f updateLasers src/Dodge/Update.hs 421;" f
updateLightSources src/Dodge/Update.hs 519;" f updateLightSources src/Dodge/Update.hs 526;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 354;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 360;" f
updateMIM src/Dodge/Update.hs 645;" f updateMIM src/Dodge/Update.hs 652;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f updateMachine src/Dodge/Machine/Update.hs 19;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 153;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f
updateMouseContext src/Dodge/Update.hs 307;" f updateMouseContext src/Dodge/Update.hs 311;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 89;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 90;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 81;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 82;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 128;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 135;" f
updateMovement src/Dodge/Creature/State.hs 331;" f updateMovement src/Dodge/Creature/State.hs 331;" f
updateObjCatMaybes src/Dodge/Update.hs 507;" f updateObjCatMaybes src/Dodge/Update.hs 514;" f
updateObjMapMaybe src/Dodge/Update.hs 500;" f updateObjMapMaybe src/Dodge/Update.hs 507;" f
updatePastWorlds src/Dodge/Update.hs 402;" f updatePastWorlds src/Dodge/Update.hs 409;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 552;" f updatePosEvents src/Dodge/Update.hs 559;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 296;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 302;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 299;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 305;" 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
updateRadarBlip src/Dodge/RadarBlip.hs 8;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f
updateRadarBlips src/Dodge/Update.hs 522;" f updateRadarBlips src/Dodge/Update.hs 529;" f
updateRadarSweep src/Dodge/RadarSweep.hs 25;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f
updateRadarSweeps src/Dodge/Update.hs 546;" f updateRadarSweeps src/Dodge/Update.hs 553;" f
updateRandNode src/TreeHelp.hs 108;" f updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 106;" f updateRenderSplit appDodge/Main.hs 106;" f
updateRootItemID src/Dodge/Inventory/Location.hs 35;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f
updateScopeZoom src/Dodge/Update/Camera.hs 127;" f updateScopeZoom src/Dodge/Update/Camera.hs 127;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 287;" f updateSection src/Dodge/DisplayInventory.hs 286;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 260;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 259;" f
updateSeenWalls src/Dodge/Update.hs 663;" f updateSeenWalls src/Dodge/Update.hs 670;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 537;" f updateShockwaves src/Dodge/Update.hs 544;" f
updateSingleNodes src/TreeHelp.hs 97;" f updateSingleNodes src/TreeHelp.hs 97;" f
updateSound src/Sound.hs 71;" f updateSound src/Sound.hs 71;" f
updateSounds src/Sound.hs 66;" f updateSounds src/Sound.hs 66;" f
updateSpark src/Dodge/Spark.hs 19;" f updateSpark src/Dodge/Spark.hs 19;" f
updateSparks src/Dodge/Update.hs 549;" f updateSparks src/Dodge/Update.hs 556;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f
updateTeslaArcs src/Dodge/Update.hs 531;" f updateTeslaArcs src/Dodge/Update.hs 538;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 534;" f updateTractorBeams src/Dodge/Update.hs 541;" f
updateTurret src/Dodge/Machine/Update.hs 47;" f updateTurret src/Dodge/Machine/Update.hs 47;" f
updateUniverse src/Dodge/Update.hs 71;" f updateUniverse src/Dodge/Update.hs 71;" f
updateUniverseFirst src/Dodge/Update.hs 83;" f updateUniverseFirst src/Dodge/Update.hs 83;" f
updateUniverseLast src/Dodge/Update.hs 133;" f updateUniverseLast src/Dodge/Update.hs 133;" f
updateUniverseMid src/Dodge/Update.hs 155;" f updateUniverseMid src/Dodge/Update.hs 155;" f
updateUseInputInGame src/Dodge/Update/Input/InGame.hs 38;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 39;" f
updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 21;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 21;" f
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 19;" f updateWheelEvent src/Dodge/Update/Scroll.hs 19;" f
updateWheelEvents src/Dodge/Update.hs 389;" f updateWheelEvents src/Dodge/Update.hs 396;" f
updateWorldEventFlag src/Dodge/Update.hs 117;" f updateWorldEventFlag src/Dodge/Update.hs 117;" f
updateWorldEventFlags src/Dodge/Update.hs 105;" f updateWorldEventFlags src/Dodge/Update.hs 105;" f
upperBody src/Dodge/Creature/Picture.hs 133;" f upperBody src/Dodge/Creature/Picture.hs 133;" f
@@ -6383,9 +6386,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f
zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f
zipWithDefaults src/Dodge/Item/Display.hs 21;" f zipWithDefaults src/Dodge/Item/Display.hs 21;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 422;" f zoneClouds src/Dodge/Update.hs 429;" f
zoneCreature src/Dodge/Zoning/Creature.hs 52;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f
zoneCreatures src/Dodge/Update.hs 466;" f zoneCreatures src/Dodge/Update.hs 473;" f
zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f
zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f