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,
sizeSelf,
youDropItem,
pickUpItem,
-- pickUpItem,
) where
import Control.Applicative
@@ -31,7 +31,7 @@ import Dodge.Default
import Dodge.FloatFunction
import Dodge.FloorItem
import Dodge.Inventory
import Dodge.Inventory.Add
--import Dodge.Inventory.Add
import Dodge.Path
import Dodge.SoundLogic
import Dodge.WallCreatureCollisions
+1 -85
View File
@@ -16,12 +16,10 @@ module Dodge.Inventory (
swapItemWith,
) where
import Control.Monad
import Dodge.Inventory.Swap
import Data.Function
import qualified Data.IntSet as IS
import Data.Maybe
import Dodge.Base
import Dodge.Data.DoubleTree
import Dodge.Data.SelectionList
import Dodge.Data.World
import Dodge.Euse
@@ -29,17 +27,12 @@ import Dodge.Inventory.CheckSlots
import Dodge.Inventory.Location
import Dodge.Inventory.RBList
import Dodge.ItEffect
import Dodge.Item.Grammar
import Dodge.SelectionSections
import Dodge.SoundLogic
import Geometry
import qualified IntMapHelp as IM
import LensHelp
import ListHelp
import NewInt
import Sound.Data
--import Padding
-- 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
& 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 ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
+19
View File
@@ -4,8 +4,11 @@ module Dodge.Inventory.Add (
--createAndSelectItem,
createItemYou,
pickUpItem,
pickUpItemAt,
) where
import Dodge.Inventory.Swap
import Control.Monad
import NewInt
import Dodge.SoundLogic
import Dodge.Inventory.Location
@@ -25,6 +28,16 @@ tryPutFloorItemIDInInv cid flitid w = do
flit <- w ^? cWorld . lWorld . floorItems . unNIntMap . ix (_unNInt flitid)
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.
tryPutItemInInv :: Int -> FloorItem -> World -> Maybe (Int, World)
tryPutItemInInv cid flit w = case maybeInvSlot of
@@ -93,3 +106,9 @@ pickUpItem :: Int -> FloorItem -> World -> World
pickUpItem cid flit w =
maybe w (soundStart (CrSound cid) (_flItPos flit) pickUpS Nothing . snd) $
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 slotsneeded = alaf Sum foldMap (_itInvSize . _flIt) $ itmstopickup
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
g i = do
NInt j <- w ^? hud . closeItems . ix i
@@ -134,10 +139,6 @@ updateMouseReleaseInGame w = case w ^. input . mouseContext of
OverInvDrag k mpos _ _ ->
input . mouseContext .~ MouseInGame $
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 ->
w & input . mouseContext .~ MouseInGame
& 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
Survive src/Dodge/Data/Scenario.hs 5;" 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
Swarm src/Dodge/Data/Creature/State.hs 47;" 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
addZ src/Geometry/Vector3D.hs 89;" 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
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" 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
annoToRoomTree src/Dodge/Annotation.hs 17;" 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
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" 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
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" 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
autoAmr src/Dodge/Item/Held/Rod.hs 51;" 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
calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f
calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 228;" f
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f
canSee src/Dodge/Base/Collide.hs 229;" f
canSeeIndirect src/Dodge/Base/Collide.hs 236;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" 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
chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 156;" f
changeSwapSel src/Dodge/Inventory.hs 148;" f
changeSwapWith src/Dodge/Inventory.hs 268;" f
changeSwapOther src/Dodge/Inventory.hs 157;" f
changeSwapSel src/Dodge/Inventory.hs 149;" f
changeSwapWith src/Dodge/Inventory.hs 192;" f
charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" 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
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" 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
checkEndGame src/Dodge/Update.hs 683;" f
checkEndGame src/Dodge/Update.hs 690;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" 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
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" 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
circleSolid src/Picture/Base.hs 164;" 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/Zoning/Cloud.hs 21;" 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
closestPointOnLineParam src/Geometry/Intersect.hs 267;" 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
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" 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
colSparkRandDir src/Dodge/Spark.hs 101;" 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
collidePoint src/Dodge/Base/Collide.hs 48;" 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
conEffects src/Dodge/Concurrent.hs 13;" 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
connectionBlurb src/Dodge/Terminal.hs 102;" 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
crBlips src/Dodge/RadarSweep.hs 69;" 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
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" 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
crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" 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
crUpdate src/Dodge/Creature/State.hs 62;" 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
createGas src/Dodge/Gas.hs 8;" 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
createNewArc src/Dodge/Tesla/Arc.hs 76;" 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
destroyBlock src/Dodge/Block.hs 56;" 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
destroyLSFlashAt src/Dodge/LightSource.hs 101;" 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
displayControls src/Dodge/Menu.hs 206;" 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
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
dist3 src/Geometry/Vector3D.hs 101;" 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
doInvEffect src/Dodge/ItEffect.hs 10;" 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
doMCrAc src/Dodge/CreatureEffect.hs 57;" 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
doQuicksave src/Dodge/Save.hs 77;" 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
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
doRoomShift src/Dodge/Room/Link.hs 33;" 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
doStep src/Dodge/ArcStep.hs 9;" 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
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" 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
doTmWdWd src/Dodge/WorldEffect.hs 107;" 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
doWdWd src/Dodge/WorldEffect.hs 26;" 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
door src/Dodge/Room/Door.hs 13;" 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
encircleDistP src/Dodge/Creature/Boid.hs 21;" 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
eqPosText src/Dodge/Equipment/Text.hs 6;" 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
fstV2 src/Geometry/Data.hs 50;" 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
fusePairs src/Dodge/Path.hs 153;" 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
hasFrontArmour src/Dodge/Creature/Test.hs 110;" 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
head src/DoubleStack.hs 14;" 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
invAdj src/Dodge/Item/Grammar.hs 188;" 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
invHead src/Dodge/Render/HUD.hs 388;" 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
isAnimate src/Dodge/Creature/Test.hs 136;" 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
isFrictionless src/Dodge/Creature/State.hs 341;" f
isGas src/Dodge/Euse.hs 64;" f
@@ -4635,7 +4636,7 @@ isLeftOfA src/Geometry.hs 181;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 240;" 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
isRHS src/Geometry/LHS.hs 24;" 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
isValidCommand src/Dodge/Debug/Terminal.hs 128;" 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
isotriBWH src/Geometry/Polygon.hs 20;" 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
listCursorChooseBorderScale src/Dodge/Render/List.hs 140;" 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
llleft src/Dodge/Item/Grammar.hs 107;" 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
makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" 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
maxShowX src/Dodge/Combine/Graph.hs 49;" 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
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" 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
maybeReadFile src/Dodge/LoadSeed.hs 10;" 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
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" 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
mvP src/Dodge/Wall/Move.hs 54;" 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
pathEdgeObstructed src/Dodge/Path.hs 43;" 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
pauseMenuOptions src/Dodge/Menu.hs 58;" 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
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" 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
picFormat src/Polyhedra.hs 23;" 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
pincerP src/Dodge/Creature/Boid.hs 60;" 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
placeString src/Dodge/Render/MenuScreen.hs 63;" 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
playIfFree src/Sound.hs 136;" 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 31;" 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
preCritStart src/Dodge/Room/Start.hs 82;" 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
regexCombs src/Dodge/DisplayInventory.hs 69;" 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
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
@@ -5472,7 +5474,7 @@ rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" 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
rmOutLinks src/Dodge/RoomLink.hs 138;" 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
screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 283;" f
scrollAugNextInSection src/Dodge/Inventory.hs 296;" f
scrollAugInvSel src/Dodge/Inventory.hs 207;" f
scrollAugNextInSection src/Dodge/Inventory.hs 220;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
scrollRBOption src/Dodge/Update/Scroll.hs 109;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f
scrollTimeBack src/Dodge/Update.hs 209;" f
scrollTimeForward src/Dodge/Update.hs 229;" f
scrollTimeBack src/Dodge/Update.hs 213;" f
scrollTimeForward src/Dodge/Update.hs 233;" f
scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f
seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" 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
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f
secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 218;" f
sectionsSizes src/Dodge/DisplayInventory.hs 223;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 217;" f
sectionsSizes src/Dodge/DisplayInventory.hs 222;" f
seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" 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
selNumPosCardinal src/Dodge/Render/HUD.hs 460;" 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
setMusicVolume src/Sound.hs 161;" 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
setOutLinksByType src/Dodge/RoomLink.hs 57;" 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 72;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 238;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 269;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 263;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 245;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 275;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 269;" f
shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" 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
shuffleTail src/RandomHelp.hs 59;" 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
simpleTermMessage src/Dodge/Terminal.hs 253;" 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
soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" 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
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" 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
startCr src/Dodge/Creature.hs 91;" 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
startInventory src/Dodge/Creature.hs 112;" 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
subMap src/TreeHelp.hs 118;" 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
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory.hs 180;" f
swapItemWith src/Dodge/Inventory.hs 257;" f
swapInvItems src/Dodge/Inventory/Swap.hs 21;" f
swapItemWith src/Dodge/Inventory.hs 181;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" 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
tilesFromRooms src/Dodge/Layout.hs 205;" 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
timerTLS src/Dodge/LightSource/Update.hs 22;" 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
tlsTimeRadColPos src/Dodge/LightSource.hs 69;" 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
toClosestMultiple src/HelpNum.hs 3;" 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
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 499;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 513;" f
toggleMap src/Dodge/Update/Input/InGame.hs 505;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 519;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" 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
tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 522;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 109;" f
tryCombine src/Dodge/Update/Input/InGame.hs 528;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 108;" f
tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" 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
tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f
tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 25;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 41;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 31;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySiphonFuel src/Dodge/Euse.hs 46;" 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
updateAttachedItems src/Dodge/Creature/State.hs 173;" 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
updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f
updateBulVel src/Dodge/Bullet.hs 50;" 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
updateCloseObjects src/Dodge/Inventory.hs 119;" f
updateCloud src/Dodge/Update.hs 711;" f
updateClouds src/Dodge/Update.hs 555;" f
updateCloseObjects src/Dodge/Inventory.hs 120;" f
updateCloud src/Dodge/Update.hs 718;" f
updateClouds src/Dodge/Update.hs 562;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 46;" f
updateCreature src/Dodge/Creature/Update.hs 10;" f
updateCreatureGroups src/Dodge/Update.hs 495;" f
updateCreatureSoundPositions src/Dodge/Update.hs 471;" f
updateCreatureGroups src/Dodge/Update.hs 502;" f
updateCreatureSoundPositions src/Dodge/Update.hs 478;" 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
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
updateEnergyBalls src/Dodge/Update.hs 543;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 435;" f
updateEnergyBalls src/Dodge/Update.hs 550;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 441;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" 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
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 286;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 279;" f
updateGusts src/Dodge/Update.hs 694;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 292;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 285;" f
updateGusts src/Dodge/Update.hs 701;" f
updateHeldRootItem src/Dodge/Creature/State.hs 167;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 485;" f
updateIMl' src/Dodge/Update.hs 490;" f
updateIMl src/Dodge/Update.hs 492;" f
updateIMl' src/Dodge/Update.hs 497;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 339;" f
updateInstantBullets src/Dodge/Update.hs 632;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 345;" f
updateInstantBullets src/Dodge/Update.hs 639;" f
updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 333;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 321;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 339;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 327;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 414;" f
updateLightSources src/Dodge/Update.hs 519;" f
updateLasers src/Dodge/Update.hs 421;" f
updateLightSources src/Dodge/Update.hs 526;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 354;" f
updateMIM src/Dodge/Update.hs 645;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 360;" f
updateMIM src/Dodge/Update.hs 652;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 153;" f
updateMouseContext src/Dodge/Update.hs 307;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 89;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 81;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 128;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f
updateMouseContext src/Dodge/Update.hs 311;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 90;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 82;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 135;" f
updateMovement src/Dodge/Creature/State.hs 331;" f
updateObjCatMaybes src/Dodge/Update.hs 507;" f
updateObjMapMaybe src/Dodge/Update.hs 500;" f
updatePastWorlds src/Dodge/Update.hs 402;" f
updateObjCatMaybes src/Dodge/Update.hs 514;" f
updateObjMapMaybe src/Dodge/Update.hs 507;" f
updatePastWorlds src/Dodge/Update.hs 409;" 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
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 296;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 299;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 302;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 305;" f
updateProjectile src/Dodge/Projectile/Update.hs 23;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" 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
updateRadarSweeps src/Dodge/Update.hs 546;" f
updateRadarSweeps src/Dodge/Update.hs 553;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 106;" f
updateRootItemID src/Dodge/Inventory/Location.hs 35;" f
updateScopeZoom src/Dodge/Update/Camera.hs 127;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 287;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 260;" f
updateSeenWalls src/Dodge/Update.hs 663;" f
updateSection src/Dodge/DisplayInventory.hs 286;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 259;" f
updateSeenWalls src/Dodge/Update.hs 670;" 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
updateSound src/Sound.hs 71;" f
updateSounds src/Sound.hs 66;" 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
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
updateTractorBeams src/Dodge/Update.hs 534;" f
updateTractorBeams src/Dodge/Update.hs 541;" f
updateTurret src/Dodge/Machine/Update.hs 47;" f
updateUniverse src/Dodge/Update.hs 71;" f
updateUniverseFirst src/Dodge/Update.hs 83;" f
updateUniverseLast src/Dodge/Update.hs 133;" 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
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" 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
updateWorldEventFlags src/Dodge/Update.hs 105;" 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
zipWithDefaults src/Dodge/Item/Display.hs 21;" 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
zoneCreatures src/Dodge/Update.hs 466;" f
zoneCreatures src/Dodge/Update.hs 473;" f
zoneExtract src/Dodge/Zoning/Base.hs 50;" f
zoneMonoid src/Dodge/Zoning/Base.hs 80;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f