Work on preserving selections when picking up multiple items

This commit is contained in:
2026-05-17 14:25:35 +01:00
parent 580619280a
commit 70479b6e79
4 changed files with 267 additions and 262 deletions
+2 -1
View File
@@ -63,6 +63,7 @@ tryPutItemInInvAt mcipos i itid w = do
(j, w') <- tryPutItemInInv mcipos itid w
guard (i <= _unNInt j)
return $ foldr f w' [i + 1 .. _unNInt j]
-- return $ w'
where
f j = swapInvItems (\_ _ -> Just (j -1)) j
@@ -83,7 +84,7 @@ pickUpItemAt :: Int -> (Int,Int) -> World -> World
pickUpItemAt invid (i,itid) w = fromMaybe w $ do
p <- w ^? cWorld . lWorld . floorItems . ix itid . flItPos
soundStart (CrSound 0) p pickUpS Nothing <$> tryPutItemInInvAt (Just i) invid itid w
& _Just . hud . diSections . ix 0 . ssSet %~ IS.map f
-- & _Just . hud . diSections . ix 0 . ssSet %~ IS.map f
where
f j | j >= invid = j +1
| otherwise = j
+2 -4
View File
@@ -194,10 +194,8 @@ updateUniverseMid u = case _uvScreenLayers u of
-- . (uvWorld . cWorld . highlightItems . filteredBy . non 0 -~ 1)
. timeFlowUpdate
. updateUseInputInGame
$ over
uvWorld
(updateMouseInGame (u ^. uvConfig) . updateCamera (u ^. uvConfig))
u
. updateMouseInGame
$ over uvWorld (updateCamera (u ^. uvConfig)) u
where
minusone x
| x > 0 = Just $ x - 1
+126 -123
View File
@@ -82,24 +82,28 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . subInven
updateKeysInGame :: Universe -> Universe
updateKeysInGame u = M.foldlWithKey' updateKeyInGame u (u ^. uvWorld . input . pressedKeys)
updateMouseInGame :: Config -> World -> World
updateMouseInGame cfig w
| Just 0 <- lbpress = updateMouseClickInGame cfig w
| Just _ <- lbpress = updateMouseHeldInGame cfig w
| Just 0 <- lbrelease = updateMouseReleaseInGame cfig w
| otherwise = w
updateMouseInGame :: Universe -> Universe
updateMouseInGame u
| Just 0 <- lbpress = updateMouseClickInGame u
| Just _ <- lbpress = updateMouseHeldInGame u
| Just 0 <- lbrelease = updateMouseReleaseInGame u
| otherwise = u
where
lbpress = w ^? input . mouseButtons . ix ButtonLeft
lbrelease = w ^? input . mouseButtonsReleased . ix ButtonLeft
lbpress = u ^? uvWorld . input . mouseButtons . ix ButtonLeft
lbrelease = u ^? uvWorld . input . mouseButtonsReleased . ix ButtonLeft
updateMouseHeldInGame :: Config -> World -> World
updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
updateMouseHeldInGame :: Universe -> Universe
updateMouseHeldInGame u = case u ^. uvWorld . input . mouseContext of
OverInvDragSelect{}
| ButtonRight `M.member` (w ^. input . mouseButtons) ->
w & input . mouseContext .~ MouseGameRotate (dist (mouseWorldPosW w) (w ^. wCam . camCenter))
OverInvDrag k -> doDrag cfig 30 k w
OverTerminalBar p -> w & tmLDP %~ setPixelOffsetBounded cfig (p + w ^. input . mousePos)
_ -> w
| ButtonRight `M.member` (u ^. uvWorld . input . mouseButtons) ->
u & uvWorld . input . mouseContext .~ MouseGameRotate
(dist (mouseWorldPosW w) (w ^. wCam . camCenter))
OverInvDrag k -> u & doDrag 30 k
OverTerminalBar p -> u & uvWorld . tmLDP %~ setPixelOffsetBounded cfig (p + w ^. input . mousePos)
_ -> u
where
w = u ^. uvWorld
cfig = u ^. uvConfig
setPixelOffsetBounded :: Config -> Point2 -> LDParams -> LDParams
setPixelOffsetBounded cfig (V2 x y) ldp = ldp & ldpPos . spPixelOff .~ V2 x' y'
@@ -114,48 +118,49 @@ setPixelOffsetBounded cfig (V2 x y) ldp = ldp & ldpPos . spPixelOff .~ V2 x' y'
max (1 + 20 * (ldp ^. ldpVerticalGap + ldp ^?! ldpSize . _Just . _y . to fromIntegral) - h * b) y
V2 a b = ldp ^. ldpPos . spScreenOff
doDrag :: Config -> Int -> Int -> World -> World
doDrag cfig n k w = fromMaybe w $ do
doDrag :: Int -> Int -> Universe -> Universe
doDrag n k u = fromMaybe u $ do
guard (n /= 0)
ss <- w ^? hud . diSections . ix k . ssItems
x <- mouseover
is <- selectionSet w
x <- mouseInvPos u ^? _Just . nonInf
is <- selectionSet $ u ^. uvWorld . hud
return $
if concurrentIS is
then shiftInvItems cfig n k x is ss w
else collectInvItems k is w
then u & shiftInvItems n k x is ss
else u & uvWorld %~ collectInvItems k is
where
mouseover = inverseSelNumPos cfig invDP mpos disss ^? _Just . nonInf
mpos = w ^. input . mousePos
disss = w ^. hud . diSections
w = u ^. uvWorld
tryDropSelected :: Maybe (Int, Int) -> World -> Maybe World
tryDropSelected mpos w = do
guard $ maybe True (\(i, _) -> i == 3) mpos
tryDropSelected :: Universe -> Maybe Universe
tryDropSelected u = do
let mi = mouseInvPos u ^? _Just . nonInf . _1
guard $ maybe True (== 3) mi
cr <- w ^? cWorld . lWorld . creatures . ix 0
Sel 0 j <- w ^. hud . diSelection
xs <- selectionSet w
xs <- selectionSet $ u ^. uvWorld . hud
let xmin = IS.findMin xs
return
. setInvPosFromSS
return $ u & uvWorld %~ (\w' -> setInvPosFromSS
. (hud . diSelection ?~ Sel 3 (j - xmin))
. foldl' (flip $ dropItem cr) w
. foldl' (flip $ dropItem cr) w'
. IS.toDescList
$ xs
$ xs)
where
w = u ^. uvWorld
selectionSet :: World -> Maybe IS.IntSet
selectionSet w = do
j <- w ^? hud . diSelection . _Just . slSec
case w ^? hud . diSections . ix j . ssSet of
selectionSet :: HUD -> Maybe IS.IntSet
selectionSet h = do
j <- h ^? diSelection . _Just . slSec
case h ^? diSections . ix j . ssSet of
Just is | not $ IS.null is -> Just is
_ -> IS.singleton <$> w ^? hud . diSelection . _Just . slInt
_ -> IS.singleton <$> h ^? diSelection . _Just . slInt
tryPickupSelected :: Int -> Maybe (Int, Int) -> World -> Maybe World
tryPickupSelected k mpos w = do
tryPickupSelected :: Int -> Universe -> Maybe Universe
tryPickupSelected k u = do
guard $ k == 3
guard $ maybe True (\(i, _) -> i == 0 || i == 1) mpos
let mij = mouseInvPos u ^? _Just . nonInf
guard $ maybe True (\(i,_) -> i == 0 || i == 1) mij
cr <- w ^? cWorld . lWorld . creatures . ix 0
xs <- selectionSet w
xs <- selectionSet $ u ^. uvWorld . hud
sli <- w ^? hud . diSelection . _Just . slInt
let xmin = IS.findMin xs
joff = sli - xmin
@@ -165,45 +170,45 @@ tryPickupSelected k mpos w = do
slotsneeded = alaf Sum foldMap itInvHeight itmstopickup
ispickup = map (_unNInt . _itID) itmstopickup
guard $ nfreeslots >= slotsneeded
return $ case mpos of
Just (0, j) -> foldr (pickUpItemAt j) w (zip is ispickup) & newdisel j joff
_ -> foldl' (flip $ pickUpItem (head is)) w ispickup & newdisel (length (cr ^. crInv)) joff
return $ case mij of
Just (0, j) -> u & uvWorld %~ (\w' -> foldr (pickUpItemAt j) w' (zip is ispickup) & newdisel j joff)
_ -> u & uvWorld %~ (\w' -> foldl' (flip $ pickUpItem (head is)) w' ispickup & newdisel (length (cr ^. crInv)) joff)
where
w = u ^. uvWorld
newdisel j joff = hud . diSelection ?~ Sel 0 (j + joff)
g i = do
NInt j <- w ^? hud . closeItems . ix i
w ^? cWorld . lWorld . items . ix j
updateMouseReleaseInGame :: Config -> World -> World
updateMouseReleaseInGame cfig w = input . mouseContext .~ MouseInGame
$ case w ^. input . mouseContext of
OverInvDrag k -> fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w
OverInvDragSelect ssel -> doDragSelect cfig ssel $ mresetssset w
_ -> w
updateMouseReleaseInGame :: Universe -> Universe
updateMouseReleaseInGame u = uvWorld . input . mouseContext .~ MouseInGame
$ case u ^. uvWorld . input . mouseContext of
OverInvDrag k -> fromMaybe u $ tryDropSelected u <|> tryPickupSelected k u
OverInvDragSelect ssel -> doDragSelect ssel $ mresetssset u
_ -> u
where
mresetssset
| ScancodeLShift `M.member` (w ^. input . pressedKeys) = id
| otherwise = hud . diSections . each . ssSet .~ mempty
mpos = inverseSelNumPos cfig invDP mpos' disss ^? _Just . nonInf
mpos' = w ^. input . mousePos
disss = w ^. hud . diSections
| ScancodeLShift `M.member` (u ^. uvWorld . input . pressedKeys) = id
| otherwise = uvWorld . hud . diSections . each . ssSet .~ mempty
doDragSelect :: Config -> XInfinity (Int, Int) -> World -> World
doDragSelect cfig x w = fromMaybe w $ do
sss <- w ^? hud . diSections
y <- inverseSelNumPos cfig invDP (w ^. input . mousePos) sss
return $ IM.foldlWithKey' f w $ sssSelectionSlice sss x y
doDragSelect :: XInfinity (Int, Int) -> Universe -> Universe
doDragSelect x u = fromMaybe u $ do
sss <- u ^? uvWorld . hud . diSections
y <- mouseInvPos u
return $ IM.foldlWithKey' f u $ sssSelectionSlice sss x y
where
f w' i ss
f u' i ss
| i == 0 || i == 3 =
w' & hud . diSections . ix i . ssSet %~ IS.symmetricDifference (IM.keysSet (ss ^. ssItems))
| otherwise = w'
u' & uvWorld . hud . diSections . ix i . ssSet %~ IS.symmetricDifference (IM.keysSet (ss ^. ssItems))
| otherwise = u'
mouseInvHeight :: Config -> World -> XInfinity (Int,Int)
mouseInvHeight cfig w =
mouseInvHeight :: Universe -> XInfinity (Int,Int)
mouseInvHeight u =
inverseSelSecYint
(posSelSecYint cfig invDP (w ^. input . mousePos . _y))
(w ^. hud . diSections)
(posSelSecYint (u^.uvConfig)
invDP
(u ^.uvWorld . input . mousePos . _y))
(u ^.uvWorld . hud . diSections)
mouseInvPos :: Universe -> Maybe (XInfinity (Int,Int))
mouseInvPos u = inverseSelNumPos
@@ -212,65 +217,66 @@ mouseInvPos u = inverseSelNumPos
(u^.uvWorld. input . mousePos)
(u ^.uvWorld. hud . diSections)
updateMouseClickInGame :: Config -> World -> World
updateMouseClickInGame cfig w = case w ^. input . mouseContext of
MouseInGame ->
w & input . mouseContext .~ OverInvDragSelect (mouseInvHeight cfig w)
updateMouseClickInGame :: Universe -> Universe
updateMouseClickInGame u = case w ^. input . mouseContext of
MouseInGame -> u & uvWorld . input . mouseContext .~ OverInvDragSelect (mouseInvHeight u)
OverInvSelect (-1, _)
| selsec == Just (-1) ->
w
& hud . diSelection %~ endRegex (-1) w
& hud . diInvFilter .~ Nothing
u
& uvWorld . hud . diSelection %~ endRegex (-1) w
& uvWorld . hud . diInvFilter .~ Nothing
OverInvSelect (2, _)
| selsec == Just 2 ->
w
& hud . diSelection %~ endRegex 2 w
& hud . diCloseFilter .~ Nothing
OverInvSelect (5, j) -> fromMaybe w $ do
u
& uvWorld . hud . diSelection %~ endRegex 2 w
& uvWorld . hud . diCloseFilter .~ Nothing
OverInvSelect (5, j) -> fromMaybe u $ do
k <- w ^? hud . closeButtons . ix j
but <- w ^? cWorld . lWorld . buttons . ix k
return $ doButtonEvent (but ^. btEvent) but w
return $ u & uvWorld %~ doButtonEvent (but ^. btEvent) but
OverInvSelect x
| ScancodeLShift `M.member` (w ^. input . pressedKeys) ->
w & input . mouseContext .~ OverInvDragSelect (NonInf x)
OverInvSelect x -> startDrag x w
OverTerminal tmid TerminalTextInput{} -> terminalReturnEffect tmid w
OverTerminal tmid TerminalPressTo{} -> continueTerminal tmid w
OutsideTerminal -> w & hud . subInventory .~ NoSubInventory
u & uvWorld . input . mouseContext .~ OverInvDragSelect (NonInf x)
OverInvSelect x -> u & uvWorld %~ startDrag x
OverTerminal tmid TerminalTextInput{} -> u & uvWorld %~ terminalReturnEffect tmid
OverTerminal tmid TerminalPressTo{} -> u & uvWorld %~ continueTerminal tmid
OutsideTerminal -> u & uvWorld . hud . subInventory .~ NoSubInventory
OverCombSelect x ->
w
& hud . subInventory . ciSelection ?~ f x
& worldEventFlags . at CombineInventoryChange ?~ ()
u
& uvWorld .hud . subInventory . ciSelection ?~ f x
& uvWorld .worldEventFlags . at CombineInventoryChange ?~ ()
OverCombFilter ->
w
& hud . subInventory . ciFilter .~ Nothing
& worldEventFlags . at CombineInventoryChange ?~ ()
& hud . subInventory . ciSelection %~ endCombineRegex w
u
& uvWorld . hud . subInventory . ciFilter .~ Nothing
& uvWorld . worldEventFlags . at CombineInventoryChange ?~ ()
& uvWorld . hud . subInventory . ciSelection %~ endCombineRegex w
OverCombCombine x ->
w
& tryCombine x
& worldEventFlags . at CombineInventoryChange ?~ ()
& worldEventFlags . at InventoryChange ?~ ()
& maybeExitCombine
u
& uvWorld %~ tryCombine x
& uvWorld . worldEventFlags . at CombineInventoryChange ?~ ()
& uvWorld . worldEventFlags . at InventoryChange ?~ ()
& uvWorld %~ maybeExitCombine
OverCombEscape ->
w
& worldEventFlags . at InventoryChange ?~ ()
& hud . subInventory .~ NoSubInventory
OverCombFiltInv (0, j) -> fromMaybe w $ do
u
& uvWorld . worldEventFlags . at InventoryChange ?~ ()
& uvWorld . hud . subInventory .~ NoSubInventory
OverCombFiltInv (0, j) -> u & uvWorld %~ (\w' -> fromMaybe w' $ do
str <-
fmap (take 5) $
w ^? cWorld . lWorld . creatures . ix 0 . crInv . ix (NInt j)
w' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix (NInt j)
>>= \k ->
w ^? cWorld . lWorld . items . ix k
w' ^? cWorld . lWorld . items . ix k
>>= (listToMaybe . basicItemDisplay)
return . (worldEventFlags . at CombineInventoryChange ?~ ()) $
case w ^? hud . subInventory . ciFilter . _Just of
case w' ^? hud . subInventory . ciFilter . _Just of
Just ('#' : xs)
| str == xs ->
w & hud . subInventory . ciFilter .~ Nothing
_ -> w & hud . subInventory . ciFilter ?~ ("#" ++ str)
_ -> w
w' & hud . subInventory . ciFilter .~ Nothing
_ -> w' & hud . subInventory . ciFilter ?~ ("#" ++ str)
)
_ -> u
where
w = u ^. uvWorld
f (x, y) = Sel x y
selsec = w ^? hud . diSelection . _Just . slSec
@@ -302,17 +308,16 @@ startDrag (a, b) w =
return $ hud . diSections . ix a . ssSet .~ mempty
shiftInvItems ::
Config ->
Int -> -- recurse limit
Int -> -- section where drag started
(Int, Int) -> -- selection item mouse is over
IS.IntSet ->
IM.IntMap (SelectionItem a) ->
World ->
World
shiftInvItems cfig n k x xs ss w = setSelWhileDragging cfig . fromMaybe w $ do
Universe ->
Universe
shiftInvItems n k x xs ss u = setSelWhileDragging . fromMaybe u $ do
let xk = fst x
let yint = posSelSecYint cfig invDP (w ^. input . mousePos . _y)
let yint = posSelSecYint (u^.uvConfig) invDP (w ^. input . mousePos . _y)
bn =
(\v -> inverseSelSecYint (yint + 1) v ^? nonInf)
=<< w ^? hud . diSections
@@ -326,23 +331,23 @@ shiftInvItems cfig n k x xs ss w = setSelWhileDragging cfig . fromMaybe w $ do
_ | x < (k, mini) -> do
guard $ not . null . fst $ IM.split mini ss
guard $ Just (k, mini - 1) /= ab
-- return . doDrag cfig (n - 1) k (Just x) $ shiftInvItemsUp k xs w
return . doDrag cfig (n - 1) k $ shiftInvItemsUp k xs w
return . doDrag (n - 1) k $ (uvWorld %~ shiftInvItemsUp k xs) u
_ | x > (k, maxi) -> do
guard $ not . null . snd $ IM.split maxi ss
guard $ Just (k, maxi + 1) /= bn
-- return . doDrag cfig (n - 1) k (Just x) $ shiftInvItemsDown k xs w
return . doDrag cfig (n - 1) k $ shiftInvItemsDown k xs w
return . doDrag (n - 1) k $ (uvWorld %~ shiftInvItemsDown k xs) u
_ -> Nothing
where
w = u ^. uvWorld
setSelWhileDragging :: Config -> World -> World
setSelWhileDragging cfig w = fromMaybe w $ do
Sel i _ <- w ^? hud . diSelection . _Just
xs <- w ^? hud . diSections . ix i . ssSet
setSelWhileDragging :: Universe -> Universe
setSelWhileDragging u = fromMaybe u $ do
Sel i _ <- u ^? uvWorld . hud . diSelection . _Just
xs <- u ^? uvWorld . hud . diSections . ix i . ssSet
-- (k, j) <- w ^? input . mouseContext . mcoMaybeSelect . _Just
(k, j) <- inverseSelNumPos cfig invDP (w ^. input . mousePos) (w ^. hud . diSections) ^? _Just . nonInf
(k, j) <- mouseInvPos u ^? _Just . nonInf
guard $ i == k && j `IS.member` xs
return $ w & hud . diSelection . _Just . slInt .~ j
return $ u & uvWorld . hud . diSelection . _Just . slInt .~ j
-- Sel i _ xs <- w ^? hud . diSelection . _Just
-- (k, j) <- w ^? input . mouseContext . mcoMaybeSelect . _Just
@@ -561,8 +566,6 @@ tryCombine (i, j) w = fromMaybe w $ do
& soundStart InventorySound p wrench1S Nothing
& hud . diSections . ix 1 . ssSet .~ mempty
-- & hud . diSelection . _Just . slSet .~ mempty
maybeExitCombine :: World -> World
maybeExitCombine w
| ButtonRight `M.member` (w ^. input . mouseButtons) = w
+137 -134
View File
@@ -228,7 +228,7 @@ ColoredLightRP src/Dodge/Data/Room.hs 88;" C
Comatose src/Dodge/Data/Creature/Perception.hs 51;" C
CombAmount src/Dodge/Data/CombAmount.hs 10;" t
CombItem src/Dodge/Data/Combine.hs 8;" t
CombineInventory src/Dodge/Data/HUD.hs 22;" C
CombineInventory src/Dodge/Data/HUD.hs 23;" C
CombineInventoryChange src/Dodge/Data/World.hs 33;" C
ComsSS src/Dodge/Data/Scenario.hs 98;" C
ConcurrentEffect src/Loop/Data.hs 6;" t
@@ -333,7 +333,7 @@ DestroyItem src/Dodge/Data/Scenario.hs 7;" C
Detector src/Dodge/Data/Item/Combine.hs 183;" t
Dirt src/Dodge/Data/Material.hs 12;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t
DisplayTerminal src/Dodge/Data/HUD.hs 27;" C
DisplayTerminal src/Dodge/Data/HUD.hs 28;" C
Display_debug src/Dodge/Data/Config.hs 79;" C
Distortion src/Dodge/Data/Distortion.hs 11;" t
DivineRetribution src/Dodge/Data/Scenario.hs 35;" C
@@ -398,7 +398,7 @@ EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C
Escape src/Dodge/Data/Scenario.hs 10;" C
Essential src/Shape/Data.hs 30;" C
EvadeAim src/Dodge/Data/ActionPlan.hs 78;" C
ExamineInventory src/Dodge/Data/HUD.hs 16;" C
ExamineInventory src/Dodge/Data/HUD.hs 17;" C
Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
@@ -525,7 +525,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C
HOSE src/Dodge/Data/Item/Combine.hs 55;" C
HP src/Dodge/Data/Creature.hs 64;" C
HUD src/Dodge/Data/HUD.hs 29;" t
HUD src/Dodge/Data/HUD.hs 30;" t
HalfRes src/Dodge/Data/Config.hs 115;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C
HandsFree src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" C
@@ -732,7 +732,7 @@ MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 33;" C
MakeTempLight src/Dodge/Data/WorldEffect.hs 36;" C
MakeTempLightFade src/Dodge/Data/WorldEffect.hs 37;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
MapperInventory src/Dodge/Data/HUD.hs 17;" C
MapperInventory src/Dodge/Data/HUD.hs 18;" C
MapperSF src/Dodge/Data/ComposedItem.hs 40;" C
Material src/Dodge/Data/Material.hs 10;" t
MaterialSound src/Dodge/Data/SoundOrigin.hs 36;" C
@@ -854,7 +854,7 @@ NoSIDisplayMod src/Dodge/Data/SelectionList.hs 59;" C
NoShadowFidelity src/Shape/Data.hs 21;" C
NoShadows src/Dodge/Data/Config.hs 121;" C
NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C
NoSubInventory src/Dodge/Data/HUD.hs 15;" C
NoSubInventory src/Dodge/Data/HUD.hs 16;" C
NoTrigger src/Dodge/Data/TriggerType.hs 11;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 26;" C
Noclip src/Dodge/Data/Config.hs 83;" C
@@ -1180,10 +1180,10 @@ SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 26;" t
SeeAbove src/Dodge/Data/Wall.hs 32;" C
SeeThrough src/Dodge/Data/Wall.hs 31;" C
Sel src/Dodge/Data/HUD.hs 40;" C
Sel src/Dodge/Data/HUD.hs 42;" C
SelItem src/Dodge/Data/SelectionList.hs 47;" C
SelSection src/Dodge/Data/SelectionList.hs 32;" t
Selection src/Dodge/Data/HUD.hs 40;" t
Selection src/Dodge/Data/HUD.hs 42;" t
SelectionItem src/Dodge/Data/SelectionList.hs 47;" t
SelectionWidth src/Dodge/Data/SelectionList.hs 45;" t
SelfTree src/Dodge/Data/MetaTree.hs 21;" t
@@ -1281,7 +1281,7 @@ Stone src/Dodge/Data/Material.hs 13;" C
StorageSS src/Dodge/Data/Scenario.hs 94;" C
Strategy src/Dodge/Data/ActionPlan.hs 136;" t
StrategyInt src/Dodge/Data/ActionPlan.hs 154;" C
SubInventory src/Dodge/Data/HUD.hs 14;" t
SubInventory src/Dodge/Data/HUD.hs 15;" t
Superfluous src/Shape/Data.hs 34;" C
Surface src/Shape/Data.hs 38;" t
Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -1665,11 +1665,11 @@ _ceilingStencilShader src/Data/Preload/Render.hs 19;" f
_chasmShader src/Data/Preload/Render.hs 48;" f
_chasmVBO src/Data/Preload/Render.hs 47;" f
_chasms src/Dodge/Data/CWorld.hs 33;" f
_ciFilter src/Dodge/Data/HUD.hs 25;" f
_ciFilter src/Dodge/Data/HUD.hs 26;" f
_ciInvIDs src/Dodge/Data/Combine.hs 9;" f
_ciItem src/Dodge/Data/Combine.hs 10;" f
_ciSections src/Dodge/Data/HUD.hs 23;" f
_ciSelection src/Dodge/Data/HUD.hs 24;" f
_ciSections src/Dodge/Data/HUD.hs 24;" f
_ciSelection src/Dodge/Data/HUD.hs 25;" f
_cigType src/Dodge/Data/Camera.hs 18;" f
_clPos src/Dodge/Data/Cloud.hs 14;" f
_clTimer src/Dodge/Data/Cloud.hs 16;" f
@@ -1679,8 +1679,9 @@ _clZoning src/Dodge/Data/World.hs 51;" f
_clickPos src/Dodge/Data/Input.hs 44;" f
_clickWorldPos src/Dodge/Data/Input.hs 46;" f
_cliffs src/Dodge/Data/CWorld.hs 34;" f
_closeButtons src/Dodge/Data/HUD.hs 36;" f
_closeItems src/Dodge/Data/HUD.hs 35;" f
_closeButtons src/Dodge/Data/HUD.hs 37;" f
_closeItems src/Dodge/Data/HUD.hs 36;" f
_closeItemsInv src/Dodge/Data/HUD.hs 39;" f
_cloudShader src/Data/Preload/Render.hs 52;" f
_cloudVBO src/Data/Preload/Render.hs 51;" f
_clouds src/Dodge/Data/LWorld.hs 98;" f
@@ -1749,10 +1750,10 @@ _debugMessage src/Dodge/Data/Universe.hs 58;" f
_debug_booleans src/Dodge/Data/Config.hs 68;" f
_debug_view_clip_bounds src/Dodge/Data/Config.hs 67;" f
_delayedEvents src/Dodge/Data/LWorld.hs 135;" f
_diCloseFilter src/Dodge/Data/HUD.hs 34;" f
_diInvFilter src/Dodge/Data/HUD.hs 33;" f
_diSections src/Dodge/Data/HUD.hs 31;" f
_diSelection src/Dodge/Data/HUD.hs 32;" f
_diCloseFilter src/Dodge/Data/HUD.hs 35;" f
_diInvFilter src/Dodge/Data/HUD.hs 34;" f
_diSections src/Dodge/Data/HUD.hs 32;" f
_diSelection src/Dodge/Data/HUD.hs 33;" f
_dimAttachPos src/Dodge/Data/Item/Misc.hs 14;" f
_dimCenter src/Dodge/Data/Item/Misc.hs 13;" f
_dimRad src/Dodge/Data/Item/Misc.hs 12;" f
@@ -2017,10 +2018,10 @@ _machines src/Dodge/Data/LWorld.hs 126;" f
_magBelowID src/Dodge/Data/Muzzle.hs 22;" f
_magnets src/Dodge/Data/LWorld.hs 129;" f
_mainAction src/Dodge/Data/ActionPlan.hs 131;" f
_manObject src/Dodge/Data/HUD.hs 37;" f
_mapInvItmID src/Dodge/Data/HUD.hs 20;" f
_mapInvOffset src/Dodge/Data/HUD.hs 18;" f
_mapInvZoom src/Dodge/Data/HUD.hs 19;" f
_manObject src/Dodge/Data/HUD.hs 38;" f
_mapInvItmID src/Dodge/Data/HUD.hs 21;" f
_mapInvOffset src/Dodge/Data/HUD.hs 19;" f
_mapInvZoom src/Dodge/Data/HUD.hs 20;" f
_matUBO src/Data/Preload/Render.hs 42;" f
_mbAttach src/Dodge/Data/MetaTree.hs 19;" f
_mbTree src/Dodge/Data/MetaTree.hs 19;" f
@@ -2362,8 +2363,8 @@ _skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 112;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 114;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 113;" f
_slInt src/Dodge/Data/HUD.hs 40;" f
_slSec src/Dodge/Data/HUD.hs 40;" f
_slInt src/Dodge/Data/HUD.hs 42;" f
_slSec src/Dodge/Data/HUD.hs 42;" f
_slimeCompression src/Dodge/Data/Creature/Misc.hs 82;" f
_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 84;" f
_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 83;" f
@@ -2404,7 +2405,7 @@ _stuckCrID src/Dodge/Data/Projectile.hs 50;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 50;" f
_stuckWlID src/Dodge/Data/Projectile.hs 51;" f
_subInventory src/Dodge/Data/HUD.hs 30;" f
_subInventory src/Dodge/Data/HUD.hs 31;" f
_swColor src/Dodge/Data/Shockwave.hs 17;" f
_swDam src/Dodge/Data/Shockwave.hs 22;" f
_swDirection src/Dodge/Data/Shockwave.hs 18;" f
@@ -2429,7 +2430,7 @@ _tbStartPos src/Dodge/Data/TractorBeam.hs 13;" f
_tbTime src/Dodge/Data/TractorBeam.hs 15;" f
_tbVel src/Dodge/Data/TractorBeam.hs 14;" f
_tempSPic src/Dodge/Data/LWorld.hs 114;" f
_termID src/Dodge/Data/HUD.hs 27;" f
_termID src/Dodge/Data/HUD.hs 28;" f
_terminals src/Dodge/Data/LWorld.hs 127;" f
_teslaArcs src/Dodge/Data/LWorld.hs 115;" f
_testFloat src/Dodge/Data/World.hs 45;" f
@@ -2636,7 +2637,7 @@ addToTrunk src/TreeHelp.hs 159;" f
addWarningTerminal src/Dodge/Room/Warning.hs 98;" f
addZ src/Geometry/Vector3D.hs 90;" f
adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 503;" f
advanceScrollAmount src/Dodge/Update.hs 501;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
aimDelaySweep src/Dodge/Render/Picture.hs 295;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f
@@ -2857,7 +2858,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 333;" f
canSeeIndirect src/Dodge/Base/Collide.hs 340;" f
canSpring src/Dodge/Update.hs 1007;" f
canSpring src/Dodge/Update.hs 1005;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 26;" f
capacitor src/Dodge/Item/Ammo.hs 67;" f
card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f
@@ -2896,13 +2897,13 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 102;" f
checkConnection src/Dodge/Inventory/Swap.hs 74;" f
checkDeath src/Dodge/Creature/Update.hs 461;" f
checkDeath' src/Dodge/Creature/Update.hs 464;" f
checkEndGame src/Dodge/Update.hs 893;" f
checkEndGame src/Dodge/Update.hs 891;" f
checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
checkInventorySelectionExists src/Dodge/DisplayInventory.hs 95;" f
checkTermDist src/Dodge/Update.hs 414;" f
checkTermDist src/Dodge/Update.hs 412;" 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
@@ -3009,7 +3010,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f
constructEdges src/Polyhedra.hs 31;" f
constructEdgesList src/Polyhedra.hs 40;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 426;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 404;" f
convexHull src/Geometry/Polygon.hs 150;" f
convexHullSafe src/Geometry/Polygon.hs 172;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
@@ -3030,7 +3031,7 @@ crAdd src/Dodge/Room/RezBox.hs 116;" f
crAwayFromPost src/Dodge/Creature/Test.hs 82;" f
crBlips src/Dodge/RadarSweep.hs 88;" f
crCanSeeCr src/Dodge/Creature/Test.hs 49;" f
crCrSpring src/Dodge/Update.hs 1014;" f
crCrSpring src/Dodge/Update.hs 1012;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f
crDeathEffects src/Dodge/Creature/Update.hs 483;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f
@@ -3069,7 +3070,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 1002;" f
crSpring src/Dodge/Update.hs 1000;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 454;" f
@@ -3310,7 +3311,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 53;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f
displayIndents src/Dodge/DisplayInventory.hs 111;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 191;" f
displayTerminalLineString src/Dodge/Update.hs 588;" f
displayTerminalLineString src/Dodge/Update.hs 586;" f
dist src/Geometry/Vector.hs 193;" f
dist3 src/Geometry/Vector3D.hs 102;" f
distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f
@@ -3350,8 +3351,8 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
doDoorMount src/Dodge/Door.hs 32;" f
doDrag src/Dodge/Update/Input/InGame.hs 117;" f
doDragSelect src/Dodge/Update/Input/InGame.hs 196;" f
doDrag src/Dodge/Update/Input/InGame.hs 120;" f
doDragSelect src/Dodge/Update/Input/InGame.hs 195;" f
doDrawing src/Dodge/Render.hs 33;" f
doDrawing' src/Dodge/Render.hs 44;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
@@ -3361,7 +3362,7 @@ doHeldUseEffect src/Dodge/HeldUse.hs 379;" f
doInPlacements src/Dodge/Layout.hs 106;" f
doIndividualPlacements src/Dodge/Layout.hs 118;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 38;" f
doItemTimeScroll src/Dodge/Update.hs 231;" f
doItemTimeScroll src/Dodge/Update.hs 229;" f
doLoop src/Loop.hs 60;" f
doMagnetBuBu src/Dodge/Bullet.hs 35;" f
doModificationEffect src/Dodge/ModificationEffect.hs 7;" f
@@ -3370,7 +3371,7 @@ doPreload appDodge/Main.hs 133;" f
doQuickload src/Dodge/Save.hs 83;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 8;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 479;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 457;" f
doRoomPlacements src/Dodge/Layout.hs 121;" f
doRoomShift src/Dodge/Room/Link.hs 34;" f
doScopeZoom src/Dodge/Update/Scroll.hs 90;" f
@@ -3382,14 +3383,14 @@ doTestDrawing src/Dodge/Render.hs 40;" 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 132;" f
doTimeScroll src/Dodge/Update.hs 236;" f
doTimeScroll src/Dodge/Update.hs 234;" f
doTmWdWd src/Dodge/WorldEffect.hs 102;" f
doWallRotate src/Dodge/Update/Camera.hs 232;" f
doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 18;" f
doWdP2f src/Dodge/WdP2f.hs 10;" f
doWdWd src/Dodge/WorldEffect.hs 35;" f
doWorldEvents src/Dodge/Update.hs 512;" f
doWorldEvents src/Dodge/Update.hs 510;" f
doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 14;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f
@@ -3582,8 +3583,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f
encircleDistP src/Dodge/Creature/Boid.hs 24;" f
encircleP src/Dodge/Creature/Boid.hs 30;" f
endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 312;" f
endRegex src/Dodge/Update/Input/InGame.hs 306;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 290;" f
endRegex src/Dodge/Update/Input/InGame.hs 284;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f
enterCombineInv src/Dodge/DisplayInventory.hs 322;" f
enumOption src/Dodge/Menu/OptionType.hs 17;" f
@@ -3630,7 +3631,7 @@ faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 246;" f
fdiv src/ShortShow.hs 41;" f
feedSlime src/Dodge/Update.hs 1082;" f
feedSlime src/Dodge/Update.hs 1080;" f
feet src/Dodge/Creature/Picture.hs 226;" f
filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 161;" f
@@ -3707,9 +3708,9 @@ fromV3 src/Geometry/Data.hs 63;" f
frontArmour src/Dodge/Item/Equipment.hs 32;" f
fstV2 src/Geometry/Data.hs 70;" f
fuelPack src/Dodge/Item/Equipment.hs 44;" f
functionalUpdate src/Dodge/Update.hs 279;" f
functionalUpdate src/Dodge/Update.hs 277;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
fuseSlimes src/Dodge/Update.hs 1096;" f
fuseSlimes src/Dodge/Update.hs 1094;" f
fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 48;" f
@@ -3722,7 +3723,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 170;" f
gameplayMenu src/Dodge/Menu.hs 152;" f
gameplayMenuOptions src/Dodge/Menu.hs 155;" f
gasEffect src/Dodge/Update.hs 918;" f
gasEffect src/Dodge/Update.hs 916;" f
gasType src/Dodge/HeldUse.hs 1144;" f
gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
@@ -3742,13 +3743,13 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 175;" f
getBulletType src/Dodge/HeldUse.hs 945;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 603;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 551;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 628;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 615;" f
getDebugMouseOver src/Dodge/Update.hs 478;" f
getDebugMouseOver src/Dodge/Update.hs 476;" f
getDistortions src/Dodge/Render.hs 448;" f
getEdgesCrossing src/Dodge/Path.hs 39;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1293;" f
@@ -3758,7 +3759,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f
getLaserPhaseV src/Dodge/HeldUse.hs 725;" f
getLinksOfType src/Dodge/RoomLink.hs 40;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 490;" f
getMenuMouseContext src/Dodge/Update.hs 488;" f
getNodePos src/Dodge/Path.hs 36;" f
getPJStabiliser src/Dodge/HeldUse.hs 1280;" f
getPretty src/AesonHelp.hs 8;" f
@@ -4280,7 +4281,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 631;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 575;" f
maybeOpenConsole src/Dodge/Update.hs 136;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 135;" f
@@ -4376,6 +4377,8 @@ moPos src/Dodge/Data/MountedObject.hs 18;" f
modTo src/Geometry/Zone.hs 18;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
mouseCursorType src/Dodge/Render/Picture.hs 93;" f
mouseInvHeight src/Dodge/Update/Input/InGame.hs 206;" f
mouseInvPos src/Dodge/Update/Input/InGame.hs 212;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f
mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f
moveBullet src/Dodge/Bullet.hs 200;" f
@@ -4405,11 +4408,11 @@ muout src/Dodge/RoomLink.hs 144;" f
muzFlareAt src/Dodge/HeldUse.hs 702;" f
muzzlePos src/Dodge/HeldUse.hs 787;" f
muzzleRandPos src/Dodge/HeldUse.hs 796;" f
muzzleWallCheck src/Dodge/Update.hs 352;" f
muzzleWallCheck src/Dodge/Update.hs 350;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f
mvGust src/Dodge/Update.hs 909;" f
mvGust src/Dodge/Update.hs 907;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
@@ -4522,12 +4525,12 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 595;" f
pauseGame src/Dodge/Update/Input/InGame.hs 543;" f
pauseMenu src/Dodge/Menu.hs 57;" f
pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f
pauseTime src/Dodge/Update.hs 220;" f
pbFlicker src/Dodge/Update.hs 573;" f
pauseTime src/Dodge/Update.hs 218;" f
pbFlicker src/Dodge/Update.hs 571;" f
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 144;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f
@@ -4706,7 +4709,7 @@ pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 124;" f
pushOutFromWall' src/Dodge/WallCreatureCollisions.hs 113;" f
pushR src/DoubleStack.hs 24;" f
pushScreen src/Dodge/Menu/PushPop.hs 9;" f
pushYouOutFromWalls src/Dodge/Update.hs 346;" f
pushYouOutFromWalls src/Dodge/Update.hs 344;" f
putAutoDoor src/Dodge/Placement/Instance/Door.hs 64;" f
putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
@@ -4747,7 +4750,7 @@ rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f
rToOnward src/Dodge/Cleat.hs 21;" f
radToCompass src/Dodge/Inventory/SelectionList.hs 110;" f
radToDeg src/Geometry/Vector.hs 131;" f
radiusSpring src/Dodge/Update.hs 991;" f
radiusSpring src/Dodge/Update.hs 989;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randDirPS src/Dodge/PlacementSpot.hs 58;" f
@@ -4769,7 +4772,7 @@ randPeakedParam src/RandomHelp.hs 149;" f
randProb src/RandomHelp.hs 87;" f
randSpark src/Dodge/Spark.hs 70;" f
randSparkExtraVel src/Dodge/Spark.hs 93;" f
randWallReflect src/Dodge/Update.hs 760;" f
randWallReflect src/Dodge/Update.hs 758;" f
randomChallenges src/Dodge/Room/Start.hs 64;" f
randomCompass src/Dodge/Layout.hs 61;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f
@@ -4974,8 +4977,8 @@ scrollAugInvSel src/Dodge/Inventory.hs 269;" f
scrollAugNextInSection src/Dodge/Inventory.hs 284;" f
scrollRBOption src/Dodge/Update/Scroll.hs 140;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 30;" f
scrollTimeBack src/Dodge/Update.hs 246;" f
scrollTimeForward src/Dodge/Update.hs 263;" f
scrollTimeBack src/Dodge/Update.hs 244;" f
scrollTimeForward src/Dodge/Update.hs 261;" f
seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f
seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 644;" f
@@ -5000,7 +5003,7 @@ selSecSelCol src/Dodge/Render/HUD.hs 507;" f
selSecSelSize src/Dodge/SelectionSections.hs 178;" f
selSecYint src/Dodge/SelectionSections.hs 187;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f
selectionSet src/Dodge/Update/Input/InGame.hs 147;" f
selectionSet src/Dodge/Update/Input/InGame.hs 148;" f
semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 68;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 77;" f
@@ -5029,13 +5032,13 @@ setLinkType src/Dodge/RoomLink.hs 79;" f
setLinkTypePD src/Dodge/RoomLink.hs 86;" f
setMusicVolume src/Sound.hs 164;" f
setMvPosToTargetCr src/Dodge/Creature/ReaderUpdate.hs 59;" f
setOldPos src/Dodge/Update.hs 604;" f
setOldPos src/Dodge/Update.hs 602;" f
setOutLinks src/Dodge/RoomLink.hs 49;" f
setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 104;" f
setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 107;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 369;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f
setShaderSource src/Shader/Compile.hs 121;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
@@ -5078,7 +5081,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftChildren src/Dodge/Tree/Compose.hs 45;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f
shiftInBy src/Dodge/PlacementSpot.hs 254;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 335;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 311;" f
shiftInvItemsDown src/Dodge/Inventory.hs 156;" f
shiftInvItemsUp src/Dodge/Inventory.hs 166;" f
shiftLinkBy src/Dodge/Room/Link.hs 89;" f
@@ -5132,7 +5135,7 @@ shufflePair src/RandomHelp.hs 166;" f
shuffleRoomPos src/Dodge/Layout.hs 103;" f
shuffleTail src/RandomHelp.hs 78;" f
sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 996;" f
simpleCrSprings src/Dodge/Update.hs 994;" f
simpleTermMessage src/Dodge/Terminal.hs 275;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 854;" f
@@ -5160,10 +5163,10 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
slideWindow src/ListHelp.hs 81;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f
slimeEatSound src/Dodge/Update.hs 1112;" f
slimeFood src/Dodge/Update.hs 1074;" f
slimeEatSound src/Dodge/Update.hs 1110;" f
slimeFood src/Dodge/Update.hs 1072;" f
slimeOutline src/Dodge/Creature/Slime.hs 9;" f
slimeSuck src/Dodge/Update.hs 1058;" f
slimeSuck src/Dodge/Update.hs 1056;" f
slimeToRad src/Dodge/Data/Creature/Misc.hs 105;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 58;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 358;" f
@@ -5212,7 +5215,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f
spPos src/ShapePicture/Data.hs 11;" f
spaceAction src/Dodge/Update/Input/InGame.hs 598;" f
spaceAction src/Dodge/Update/Input/InGame.hs 546;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f
@@ -5276,7 +5279,7 @@ stackedInventory src/Dodge/Creature.hs 318;" f
startCr src/Dodge/Creature.hs 83;" f
startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 495;" f
startDrag src/Dodge/Update/Input/InGame.hs 321;" f
startDrag src/Dodge/Update/Input/InGame.hs 299;" f
startInvList src/Dodge/Creature.hs 97;" f
startInventory src/Dodge/Creature.hs 100;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f
@@ -5320,7 +5323,7 @@ swapItemWith src/Dodge/Inventory.hs 241;" f
swapSelSet src/Dodge/Inventory.hs 130;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f
symmetricDifference src/Dodge/Update/Input/InGame.hs 213;" f
symmetricDifference src/IntSetHelp.hs 18;" f
t src/ShortShow.hs 48;" f
tEast src/Dodge/Room/Corridor.hs 96;" f
tToBTree src/Dodge/Tree/Compose.hs 93;" f
@@ -5405,7 +5408,7 @@ throwItem src/Dodge/Creature/Action.hs 207;" f
tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 221;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f
timeFlowUpdate src/Dodge/Update.hs 206;" f
timeFlowUpdate src/Dodge/Update.hs 204;" f
timeScroller src/Dodge/Item/Held/Utility.hs 42;" f
timeStopper src/Dodge/Item/Held/Utility.hs 39;" f
tinMag src/Dodge/Item/Ammo.hs 24;" f
@@ -5423,7 +5426,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f
tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f
tmDistributeLines src/Dodge/Room/Room.hs 474;" f
tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f
tmScreenMousePos src/Dodge/Update.hs 470;" f
tmScreenMousePos src/Dodge/Update.hs 468;" f
toBinary src/Dodge/Inventory/SelectionList.hs 153;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f
@@ -5506,14 +5509,14 @@ truncate src/Polyhedra/Geodesic.hs 39;" f
trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 35;" f
tryClickUse src/Dodge/Creature/YourControl.hs 205;" f
tryCombine src/Dodge/Update/Input/InGame.hs 615;" f
tryCombine src/Dodge/Update/Input/InGame.hs 563;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 132;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 133;" f
tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f
tryGetChannel src/Sound.hs 99;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 18;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 154;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 155;" f
tryPlay src/Sound.hs 85;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 61;" f
@@ -5563,20 +5566,20 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f
updateAggroBee src/Dodge/Creature/Update.hs 129;" f
updateAimPos src/Dodge/Update.hs 401;" f
updateAimPos src/Dodge/Update.hs 399;" f
updateAllNodes src/TreeHelp.hs 88;" f
updateArc src/Dodge/Tesla.hs 44;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 510;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 488;" f
updateBarrel src/Dodge/Barreloid.hs 43;" f
updateBarreloid src/Dodge/Barreloid.hs 16;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f
updateBeeCrit src/Dodge/Creature/Update.hs 115;" f
updateBeeFromPheremones src/Dodge/Creature/Update.hs 107;" f
updateBeePheremone src/Dodge/Update.hs 789;" f
updateBeePheremone src/Dodge/Update.hs 787;" f
updateBounds src/Dodge/Update/Camera.hs 263;" f
updateBulVel src/Dodge/Bullet.hs 57;" f
updateBullet src/Dodge/Bullet.hs 22;" f
updateBullets src/Dodge/Update.hs 675;" f
updateBullets src/Dodge/Update.hs 673;" f
updateCalmBee src/Dodge/Creature/Update.hs 170;" f
updateCalmChaseCrit src/Dodge/Creature/Update.hs 422;" f
updateCamera src/Dodge/Update/Camera.hs 34;" f
@@ -5584,87 +5587,87 @@ updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f
updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f
updateChaseCrit src/Dodge/Creature/Update.hs 371;" f
updateCloseObjects src/Dodge/Inventory.hs 99;" f
updateCloud src/Dodge/Update.hs 922;" f
updateClouds src/Dodge/Update.hs 786;" f
updateCloud src/Dodge/Update.hs 920;" f
updateClouds src/Dodge/Update.hs 784;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 42;" f
updateCombineSections src/Dodge/DisplayInventory.hs 49;" f
updateCreature src/Dodge/Creature/Update.hs 50;" f
updateCreatureGroups src/Dodge/Update.hs 647;" f
updateCreatureSoundPositions src/Dodge/Update.hs 626;" f
updateCreatureStride src/Dodge/Update.hs 380;" f
updateCreatureStrides src/Dodge/Update.hs 377;" f
updateDebris src/Dodge/Update.hs 689;" f
updateCreatureGroups src/Dodge/Update.hs 645;" f
updateCreatureSoundPositions src/Dodge/Update.hs 624;" f
updateCreatureStride src/Dodge/Update.hs 378;" f
updateCreatureStrides src/Dodge/Update.hs 375;" f
updateDebris src/Dodge/Update.hs 687;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 104;" f
updateDelayedEvents src/Dodge/Update.hs 1119;" f
updateDelayedEvents src/Dodge/Update.hs 1117;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 117;" f
updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 668;" f
updateDistortions src/Dodge/Update.hs 666;" f
updateDoor src/Dodge/Door.hs 22;" f
updateDoors src/Dodge/Update.hs 406;" f
updateDust src/Dodge/Update.hs 970;" f
updateDusts src/Dodge/Update.hs 797;" f
updateDoors src/Dodge/Update.hs 404;" f
updateDust src/Dodge/Update.hs 968;" f
updateDusts src/Dodge/Update.hs 795;" f
updateEdge src/Dodge/Path.hs 45;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 32;" f
updateEnergyBalls src/Dodge/Update.hs 777;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 555;" f
updateEnergyBalls src/Dodge/Update.hs 775;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 520;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 774;" f
updateFlames src/Dodge/Update.hs 772;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f
updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 387;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 383;" f
updateGas src/Dodge/Update.hs 944;" f
updateGusts src/Dodge/Update.hs 906;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 365;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 361;" f
updateGas src/Dodge/Update.hs 942;" f
updateGusts src/Dodge/Update.hs 904;" f
updateHiveCrit src/Dodge/Creature/Update.hs 82;" f
updateHoverCrit src/Dodge/Humanoid.hs 25;" f
updateIMl src/Dodge/Update.hs 641;" f
updateIMl' src/Dodge/Update.hs 644;" f
updateIMl src/Dodge/Update.hs 639;" f
updateIMl' src/Dodge/Update.hs 642;" f
updateInGameCamera src/Dodge/Update/Camera.hs 87;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 460;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 438;" f
updateInt2Map src/Dodge/Zoning/Base.hs 94;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f
updateItemTargeting src/Dodge/Creature/State.hs 293;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 420;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 454;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 398;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 432;" f
updateKeysInGame src/Dodge/Update/Input/InGame.hs 82;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 406;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 429;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 384;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 407;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 519;" f
updateLasers src/Dodge/Update.hs 517;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 61;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 473;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 409;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 216;" f
updateMouseContext src/Dodge/Update.hs 422;" f
updateMouseContextGame src/Dodge/Update.hs 427;" f
updateMagnets src/Dodge/Update.hs 407;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 219;" f
updateMouseContext src/Dodge/Update.hs 420;" f
updateMouseContextGame src/Dodge/Update.hs 425;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 178;" f
updateObjCatMaybes src/Dodge/Update.hs 659;" f
updateObjMapMaybe src/Dodge/Update.hs 652;" f
updatePastWorlds src/Dodge/Update.hs 508;" f
updatePlasmaBall src/Dodge/Update.hs 533;" f
updatePlasmaBalls src/Dodge/Update.hs 682;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 180;" f
updateObjCatMaybes src/Dodge/Update.hs 657;" f
updateObjMapMaybe src/Dodge/Update.hs 650;" f
updatePastWorlds src/Dodge/Update.hs 506;" f
updatePlasmaBall src/Dodge/Update.hs 531;" f
updatePlasmaBalls src/Dodge/Update.hs 680;" f
updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 549;" f
updatePulseBall src/Dodge/Update.hs 553;" f
updatePulseLaser src/Dodge/Update.hs 729;" f
updatePulseLasers src/Dodge/Update.hs 528;" f
updatePulseBall src/Dodge/Update.hs 551;" f
updatePulseLaser src/Dodge/Update.hs 727;" f
updatePulseLasers src/Dodge/Update.hs 526;" f
updateRBList src/Dodge/Inventory/RBList.hs 22;" f
updateRadarBlip src/Dodge/RadarBlip.hs 11;" f
updateRadarBlips src/Dodge/Update.hs 671;" f
updateRadarBlips src/Dodge/Update.hs 669;" f
updateRadarSweep src/Dodge/RadarSweep.hs 40;" f
updateRadarSweeps src/Dodge/Update.hs 780;" f
updateRadarSweeps src/Dodge/Update.hs 778;" f
updateRandNode src/TreeHelp.hs 111;" f
updateRenderSplit appDodge/Main.hs 104;" f
updateRightParentSF src/Dodge/Item/Grammar.hs 190;" f
@@ -5673,18 +5676,18 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 262;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 242;" f
updateShockwave src/Dodge/Shockwave/Update.hs 8;" f
updateShockwaves src/Dodge/Update.hs 771;" f
updateShockwaves src/Dodge/Update.hs 769;" f
updateSingleNodes src/TreeHelp.hs 100;" f
updateSlimeCrit src/Dodge/Creature/Update.hs 252;" f
updateSound src/Sound.hs 73;" f
updateSounds src/Sound.hs 68;" f
updateSpark src/Dodge/Spark.hs 20;" f
updateSparks src/Dodge/Update.hs 783;" f
updateTerminal src/Dodge/Update.hs 591;" f
updateTeslaArc src/Dodge/Update.hs 699;" f
updateTeslaArcs src/Dodge/Update.hs 696;" f
updateSparks src/Dodge/Update.hs 781;" f
updateTerminal src/Dodge/Update.hs 589;" f
updateTeslaArc src/Dodge/Update.hs 697;" f
updateTeslaArcs src/Dodge/Update.hs 694;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 768;" f
updateTractorBeams src/Dodge/Update.hs 766;" f
updateTurret src/Dodge/Machine/Update.hs 55;" f
updateUniverse src/Dodge/Update.hs 83;" f
updateUniverseFirst src/Dodge/Update.hs 94;" f
@@ -5695,7 +5698,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f
updateVocTimer src/Dodge/Humanoid.hs 39;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 498;" f
updateWheelEvents src/Dodge/Update.hs 496;" f
updateWorldEventFlag src/Dodge/Update.hs 129;" f
updateWorldEventFlags src/Dodge/Update.hs 117;" f
upperBody src/Dodge/Creature/Picture.hs 422;" f
@@ -5879,11 +5882,11 @@ zeroZ src/Geometry/Vector.hs 9;" f
zipArcs src/Dodge/Tesla.hs 52;" f
zipCount src/Dodge/Tree/Shift.hs 142;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f
zoneClouds src/Dodge/Update.hs 580;" f
zoneClouds src/Dodge/Update.hs 578;" f
zoneCreature src/Dodge/Zoning/Creature.hs 56;" f
zoneCreatures src/Dodge/Update.hs 615;" f
zoneCreatures src/Dodge/Update.hs 613;" f
zoneDust src/Dodge/Zoning/Cloud.hs 57;" f
zoneDusts src/Dodge/Update.hs 585;" f
zoneDusts src/Dodge/Update.hs 583;" f
zoneExtract src/Dodge/Zoning/Base.hs 58;" f
zoneGas src/Dodge/Zoning/Cloud.hs 36;" f
zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f