From 13339c9a127387b52a366e3dec835178734d89fe Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 19 Nov 2024 12:51:50 +0000 Subject: [PATCH] Tweak mouse over display --- ghcidOutput | 2 +- src/Dodge/Debug/Picture.hs | 10 +- src/Dodge/DisplayInventory.hs | 2 +- src/Dodge/Render/HUD.hs | 36 +++- src/Dodge/TestString.hs | 3 +- src/Dodge/Update.hs | 115 +++++------- src/Dodge/Update/Input/InGame.hs | 64 ++++++- tags | 302 +++++++++++++++---------------- 8 files changed, 289 insertions(+), 245 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 7fb48250c..98c214d80 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (594 modules, at 11:57:14) +All good (594 modules, at 12:51:42) diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index d99bc3f10..9e0fca199 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -101,7 +101,7 @@ intersectLinefromScreen cfig w a b = $ screenPolygon cfig (w ^. wCam) drawCollisionTest :: World -> Picture -drawCollisionTest w = fromMaybe mempty $ do +drawCollisionTest w = concat $ do a <- w ^. input . heldWorldPos . at ButtonLeft b <- w ^. input . heldWorldPos . at ButtonRight return $ @@ -166,7 +166,7 @@ drawCreatureDisplayTexts :: World -> Picture drawCreatureDisplayTexts w = foldMap (creatureDisplayText w) (w ^. cWorld . lWorld . creatures) drawPathBetween :: World -> Picture -drawPathBetween w = fromMaybe mempty $ do +drawPathBetween w = concat $ do sp <- w ^. input . clickPos . at ButtonLeft ep <- w ^. input . clickPos . at ButtonRight let nodepos = (`getNodePos` w) @@ -178,7 +178,7 @@ drawPathBetween w = fromMaybe mempty $ do <> foldMap (color orange . arrow sp) (pointTowardsImpulse sp ep w) drawWallsNearYou :: World -> Picture -drawWallsNearYou w = fromMaybe mempty $ do +drawWallsNearYou w = concat $ do p <- w ^? cWorld . lWorld . creatures . ix 0 . crPos return $ setLayer DebugLayer $ foldMap f $ wlsNearPoint p w where @@ -195,7 +195,7 @@ drawWallsNearCursor w = (a, b) = _wlLine wl drawInspectWalls :: World -> Picture -drawInspectWalls w = fromMaybe mempty $ do +drawInspectWalls w = concat $ do a <- w ^. input . clickPos . at ButtonLeft b <- w ^. input . heldPos . at ButtonLeft return $ @@ -215,7 +215,7 @@ drawInspectWall w wl = (a, b) = _wlLine wl drawDoorPaths :: World -> Int -> Picture -drawDoorPaths w drid = fromMaybe mempty $ do +drawDoorPaths w drid = concat $ do paths <- w ^? cWorld . lWorld . doors . ix drid . drObstructs return $ foldMap' (drawPathEdge . (^. penPathEdge)) paths diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index e25367874..87bb43007 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -62,7 +62,7 @@ updateCombineSections w cfig = (IM.fromDistinctAscList . zip [0 ..] $ combineList w) "COMBINATIONS" $ w ^? hud . hudElement . subInventory . ciFilter . _Just - invitms = fromMaybe mempty $ w ^? hud . hudElement . diSections . ix 0 . ssItems + invitms = fold $ w ^? hud . hudElement . diSections . ix 0 . ssItems regexCombs :: IM.IntMap (SelectionItem ()) -> SelectionItem CombinableItem -> String -> Bool regexCombs inv ci str = case str of diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index edd05e07f..a06f0aab8 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -66,10 +66,10 @@ drawInventory sss w cfig = <> drawRootCursor w sss (w ^? hud . hudElement . diSelection . _Just) ldp cfig <> iextra <> drawMouseOver cfig w - <> translateScreenPos - cfig - (ldp ^. ldpPos) - (drawDISelections w) +-- <> translateScreenPos +-- cfig +-- (ldp ^. ldpPos) +-- (drawDISelections w) where ldp = invDisplayParams w curs = invCursorParams w @@ -111,7 +111,9 @@ getRootItemBounds i inv = do return (x, y) drawMouseOver :: Configuration -> World -> Picture -drawMouseOver cfig w = fromMaybe mempty $ invsel <|> combinvsel +drawMouseOver cfig w = concat (invsel <|> combinvsel + <|> drawDragSelect cfig w) + <> concat (drawDragSelected cfig w) where invsel = do (j, i) <- w ^? input . mouseContext . mcoInvSelect <|> @@ -140,15 +142,33 @@ drawMouseOver cfig w = fromMaybe mempty $ invsel <|> combinvsel -- return ((i, j), (i, j + x)) -- _ -> Nothing -drawDISelections :: World -> Picture -drawDISelections w = fromMaybe mempty $ do +--drawDISelections :: World -> Picture +--drawDISelections w = fromMaybe mempty $ +-- drawDragSelect w <|> +-- drawDragSelected w + +drawDragSelected :: Configuration -> World -> Maybe Picture +drawDragSelected cfig w = do + y <- w ^? hud . hudElement . diSelectionExtra + guard $ y > 0 + (i,j) <- w ^? hud . hudElement . diSelection . _Just + guard $ i == 0 + sss <- w ^? hud . hudElement . diSections + let idp = invDisplayParams w + let f x = selSecDrawCursorAt 15 idp BackdropCursor sss (0, x) + return . translateScreenPos cfig (invDisplayParams w ^. ldpPos) + . color (withAlpha 0.2 white) . foldMap f $ [j .. j + y] + +drawDragSelect :: Configuration -> World -> Maybe Picture +drawDragSelect cfig w = do OverInvDragSelect (i,j) mselend <- w ^? input . mouseContext (a,b) <- mselend guard $ i == a sss <- w ^? hud . hudElement . diSections let idp = invDisplayParams w let f x = selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) - return . color (withAlpha 0.2 white) . foldMap f $ [min j b .. max j b] + return . translateScreenPos cfig (invDisplayParams w ^. ldpPos) + . color (withAlpha 0.2 white) . foldMap f $ [min j b .. max j b] -- fromMaybe mempty $ do -- ((i, j), (a, b)) <- getMouseInvSel w -- guard $ i == a diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index e1cb4f3b5..2b27c8cbb 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -21,7 +21,8 @@ import Dodge.Data.Universe import qualified IntMapHelp as IM testStringInit :: Universe -> [String] -testStringInit _ = [] +testStringInit u = [show $ + u ^? uvWorld . hud . hudElement . diSelectionExtra] -- fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . ix 0 . crInv . each . itLocation . ilIsRoot -- , show . fmap (fmap _siPictures) $ u ^? uvWorld . hud . hudElement . diSections . ix (-1) . ssItems -- <> [[toEnum (i+j * 32) | i <- [0..31]] | j <- [0..7]] diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index a144ff4d3..a1ae392ac 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -287,7 +287,7 @@ functionalUpdate u = . over uvWorld updateRBList . over uvWorld updateCloseObjects . over uvWorld updateWheelEvents - . over uvWorld (updateMouseInventorySelection (u ^. uvConfig)) +-- . over uvWorld (updateMouseInventorySelection (u ^. uvConfig)) . over uvWorld zoneClouds . over uvWorld zoneCreatures -- . over uvWorld updateInventorySelectionList @@ -308,83 +308,54 @@ checkTermDist w = fromMaybe w $ do --updateMouseInventoryEffects :: Configuration -> World -> World --updateMouseInventoryEffects cfig w = w -updateMouseInventorySelection :: Configuration -> World -> World -updateMouseInventorySelection cfig w = fromMaybe w $ do - sss <- w ^? hud . hudElement . diSections - return $ updateMouseInventorySelection' sss cfig w +--updateMouseInventorySelection :: Configuration -> World -> World +--updateMouseInventorySelection cfig w = fromMaybe w $ do +-- sss <- w ^? hud . hudElement . diSections +-- return $ updateMouseInventorySelection' sss cfig w -updateMouseInventorySelection' :: - IM.IntMap (SelectionSection a) -> - Configuration -> - World -> - World -updateMouseInventorySelection' sss cfig w - | leftclickstart = w --- case msel of --- Nothing -> fromMaybe w $ do --- ysel <- inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss --- return $ --- w & input . mouseContext --- .~ OverInvDragSelect ysel Nothing --- Just p -> w --startDrag p w - | leftclickheld = case w ^? input . mouseContext of - Just OverInvDragSelect{} -> - w & input . mouseContext . mcoSelEnd .~ msel - Just OverInvDrag -> fromMaybe w $ do - sel <- w ^? hud . hudElement . diSelection . _Just - x <- w ^? hud . hudElement . diSelectionExtra - return $ w & shiftInvItems sel x cfig mpos ldp sss - _ -> w - | otherwise = case w ^? input . mouseContext of - Just (OverInvDragSelect ssel (Just esel)) -> - w & input . mouseContext .~ MouseInGame - & hud . hudElement . diSelectionExtra - .~ (max (snd ssel) (snd esel) - min (snd ssel) (snd esel)) - & augInvDirectSelect (min ssel esel) - _ -> w-- & hud . hudElement . subInventory . nsSelected .~ MouseInvNothing - where - leftclickstart = w ^? input . mouseButtons . ix ButtonLeft == Just 0 && nobuttonright - leftclickheld = ButtonLeft `M.member` (w ^. input . mouseButtons) && nobuttonright - nobuttonright = not $ ButtonRight `M.member` (w ^. input . mouseButtons) - mpos = w ^. input . mousePos - ldp = invDisplayParams w - msel = inverseSelNumPos cfig ldp sss (w ^. input . mousePos) +--updateMouseInventorySelection' :: +-- IM.IntMap (SelectionSection a) -> +-- Configuration -> +-- World -> +-- World +--updateMouseInventorySelection' sss cfig w +-- | leftclickstart = w +---- case msel of +---- Nothing -> fromMaybe w $ do +---- ysel <- inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss +---- return $ +---- w & input . mouseContext +---- .~ OverInvDragSelect ysel Nothing +---- Just p -> w --startDrag p w +-- | leftclickheld = case w ^? input . mouseContext of +---- Just OverInvDragSelect{} -> +---- w & input . mouseContext . mcoSelEnd .~ msel +---- Just OverInvDrag -> fromMaybe w $ do +---- sel <- w ^? hud . hudElement . diSelection . _Just +---- x <- w ^? hud . hudElement . diSelectionExtra +---- return $ w & shiftInvItems sel x cfig mpos ldp sss +-- _ -> w +-- | otherwise = w +---- | otherwise = case w ^? input . mouseContext of +---- Just (OverInvDragSelect ssel (Just esel)) -> +---- w & input . mouseContext .~ MouseInGame +---- & hud . hudElement . diSelectionExtra +---- .~ (max (snd ssel) (snd esel) - min (snd ssel) (snd esel)) +---- & augInvDirectSelect (min ssel esel) +---- _ -> w-- & hud . hudElement . subInventory . nsSelected .~ MouseInvNothing +-- where +-- leftclickstart = w ^? input . mouseButtons . ix ButtonLeft == Just 0 && nobuttonright +-- leftclickheld = ButtonLeft `M.member` (w ^. input . mouseButtons) && nobuttonright +-- nobuttonright = not $ ButtonRight `M.member` (w ^. input . mouseButtons) +-- mpos = w ^. input . mousePos +-- ldp = invDisplayParams w +-- msel = inverseSelNumPos cfig ldp sss (w ^. input . mousePos) -shiftInvItems :: - (Int, Int) -> - Int -> - Configuration -> - Point2 -> - ListDisplayParams -> - IM.IntMap (SelectionSection a) -> - World -> - World -shiftInvItems topsel x cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of - Just p | p < topsel -> shiftInvItemsUp topsel x w - _ -> case inverseSelBoundaryDown cfig ldp sss mpos of - Just p | p > (topsel & _2 +~ x) -> shiftInvItemsDown topsel x w - _ -> w - -shiftInvItemsUp :: (Int, Int) -> Int -> World -> World -shiftInvItemsUp (_, i) x w = foldl' f w [i .. i + x] - where - f w' i' = swapInvItems g i' w' - g i' m = fst <$> IM.lookupLT i' m - -shiftInvItemsDown :: (Int, Int) -> Int -> World -> World -shiftInvItemsDown (_, i) x w = fromMaybe w $ do - guard . isJust $ - w ^? hud . hudElement . diSections . ix 0 . ssItems . ix (i + x + 1) - return $ foldl' f w $ reverse [i .. i + x] - where - f w' i' = swapInvItems g i' w' - g i' m = fst <$> IM.lookupGT i' m - updateMouseContext :: Configuration -> Universe -> Universe updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of OverInvDrag | lbheld -> u - OverInvDragSelect{} | lbheld -> u + OverInvDragSelect{} -> u _ -> u & uvWorld . input . mouseContext .~ fromMaybe aimcontext diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 2d08a1338..50a48c345 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -3,6 +3,7 @@ module Dodge.Update.Input.InGame ( updateMouseInGame, ) where +import Data.Foldable import Dodge.ListDisplayParams import Control.Applicative import Control.Monad @@ -91,11 +92,35 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . hudEleme updateMouseInGame :: Configuration -> World -> World updateMouseInGame cfig w = case w ^? input . mouseButtons . ix ButtonLeft of Just 0 -> updateMouseClickInGame cfig w - Just _ -> updateMouseHeldInGame w - Nothing -> w + Just _ -> updateMouseHeldInGame cfig w + Nothing -> case w ^? input . mouseButtonsReleased . ix ButtonLeft of + Just 0 -> updateMouseReleaseInGame w + _ -> w -updateMouseHeldInGame :: World -> World -updateMouseHeldInGame w = w +updateMouseHeldInGame :: Configuration -> World -> World +updateMouseHeldInGame cfig w = case w ^. input . mouseContext of + OverInvDragSelect{} -> fromMaybe w $ do + sss <- w ^? hud . hudElement . diSections + let msel = inverseSelNumPos cfig ldp sss (w ^. input . mousePos) + return $ w & input . mouseContext . mcoSelEnd .~ msel + OverInvDrag -> fromMaybe w $ do + sss <- w ^? hud . hudElement . diSections + let mpos = w ^. input . mousePos + sel <- w ^? hud . hudElement . diSelection . _Just + x <- w ^? hud . hudElement . diSelectionExtra + return $ w & shiftInvItems sel x cfig mpos ldp sss + _ -> w + where + ldp = invDisplayParams w + +updateMouseReleaseInGame :: World -> World +updateMouseReleaseInGame w = case w ^. input . mouseContext of + OverInvDragSelect ssel (Just esel) -> + w & input . mouseContext .~ MouseInGame + & hud . hudElement . diSelectionExtra + .~ (max (snd ssel) (snd esel) - min (snd ssel) (snd esel)) + & augInvDirectSelect (min ssel esel) + _ -> w updateMouseClickInGame :: Configuration -> World -> World updateMouseClickInGame cfig w = case w ^. input . mouseContext of @@ -152,6 +177,37 @@ startDrag (a, b) w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen 0 w) $ d (input . mouseContext .~ OverInvDrag) . (hud . hudElement . diSelectionExtra .~ x) +shiftInvItems :: + (Int, Int) -> + Int -> + Configuration -> + Point2 -> + ListDisplayParams -> + IM.IntMap (SelectionSection a) -> + World -> + World +shiftInvItems topsel x cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of + Just p | p < topsel -> shiftInvItemsUp topsel x w + _ -> case inverseSelBoundaryDown cfig ldp sss mpos of + Just p | p > (topsel & _2 +~ x) -> shiftInvItemsDown topsel x w + _ -> w + +shiftInvItemsUp :: (Int, Int) -> Int -> World -> World +shiftInvItemsUp (_, i) x w = foldl' f w [i .. i + x] + where + f w' i' = swapInvItems g i' w' + g i' m = fst <$> IM.lookupLT i' m + +shiftInvItemsDown :: (Int, Int) -> Int -> World -> World +shiftInvItemsDown (_, i) x w = fromMaybe w $ do + guard . isJust $ + w ^? hud . hudElement . diSections . ix 0 . ssItems . ix (i + x + 1) + return $ foldl' f w $ reverse [i .. i + x] + where + f w' i' = swapInvItems g i' w' + g i' m = fst <$> IM.lookupGT i' m + + updateFunctionKeys :: Universe -> Universe updateFunctionKeys u = M.foldlWithKey' diff --git a/tags b/tags index d2b2369d4..a151c1ae2 100644 --- a/tags +++ b/tags @@ -1195,10 +1195,6 @@ MountedProp src/Dodge/Data/MountedObject.hs 13;" C MouseAiming src/Dodge/Data/Input.hs 21;" C MouseContext src/Dodge/Data/Input.hs 19;" t MouseInGame src/Dodge/Data/Input.hs 22;" C -MouseInvDrag src/Dodge/Data/HUD.hs 30;" C -MouseInvNothing src/Dodge/Data/HUD.hs 31;" C -MouseInvSelect src/Dodge/Data/HUD.hs 28;" C -MouseInventorySelection src/Dodge/Data/HUD.hs 27;" t MouseMenuClick src/Dodge/Data/Input.hs 23;" C MouseMenuCursor src/Dodge/Data/Input.hs 24;" C Mouse_position src/Dodge/Data/Config.hs 73;" C @@ -1858,15 +1854,15 @@ TORCH src/Dodge/Data/Item/Combine.hs 163;" C TRACTORGUN src/Dodge/Data/Item/Combine.hs 156;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 42;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 48;" C -TSbackspace src/Dodge/Data/Input.hs 57;" C -TSdelete src/Dodge/Data/Input.hs 58;" C -TSdown src/Dodge/Data/Input.hs 63;" C -TSescape src/Dodge/Data/Input.hs 55;" C -TSleft src/Dodge/Data/Input.hs 60;" C -TSreturn src/Dodge/Data/Input.hs 56;" C -TSright src/Dodge/Data/Input.hs 61;" C -TStab src/Dodge/Data/Input.hs 59;" C -TSup src/Dodge/Data/Input.hs 62;" C +TSbackspace src/Dodge/Data/Input.hs 58;" C +TSdelete src/Dodge/Data/Input.hs 59;" C +TSdown src/Dodge/Data/Input.hs 64;" C +TSescape src/Dodge/Data/Input.hs 56;" C +TSleft src/Dodge/Data/Input.hs 61;" C +TSreturn src/Dodge/Data/Input.hs 57;" C +TSright src/Dodge/Data/Input.hs 62;" C +TStab src/Dodge/Data/Input.hs 60;" C +TSup src/Dodge/Data/Input.hs 63;" C TUBE src/Dodge/Data/Item/Combine.hs 29;" C Tank src/Dodge/Placement/Instance/Tank.hs 1;" m Tanks src/Dodge/Room/Tanks.hs 1;" m @@ -1880,7 +1876,7 @@ TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t TeleSound src/Dodge/Data/SoundOrigin.hs 35;" C Teleport src/Dodge/Room/Teleport.hs 2;" m TempLightSource src/Dodge/Data/LightSource.hs 42;" t -TermSignal src/Dodge/Data/Input.hs 54;" t +TermSignal src/Dodge/Data/Input.hs 55;" t Terminal src/Dodge/Data/Terminal.hs 31;" t Terminal src/Dodge/Data/Terminal.hs 6;" m Terminal src/Dodge/Debug/Terminal.hs 3;" m @@ -2327,8 +2323,8 @@ _cldtParent src/Dodge/Data/DoubleTree.hs 48;" f _cldtParent src/Dodge/Data/DoubleTree.hs 57;" f _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f -_clickPos src/Dodge/Data/Input.hs 45;" f -_clickWorldPos src/Dodge/Data/Input.hs 47;" f +_clickPos src/Dodge/Data/Input.hs 46;" f +_clickWorldPos src/Dodge/Data/Input.hs 48;" f _closeObjects src/Dodge/Data/HUD.hs 51;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f @@ -2608,9 +2604,9 @@ _heldAim src/Dodge/Data/Item/Use.hs 39;" f _heldDelay src/Dodge/Data/Item/Use.hs 37;" f _heldHammer src/Dodge/Data/Item/Use.hs 38;" f _heldParams src/Dodge/Data/Item/Use.hs 41;" f -_heldPos src/Dodge/Data/Input.hs 46;" f +_heldPos src/Dodge/Data/Input.hs 47;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f -_heldWorldPos src/Dodge/Data/Input.hs 48;" f +_heldWorldPos src/Dodge/Data/Input.hs 49;" f _hud src/Dodge/Data/World.hs 47;" f _hudElement src/Dodge/Data/HUD.hs 47;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f @@ -2773,8 +2769,6 @@ _mgField src/Dodge/Data/Magnet.hs 25;" f _mgID src/Dodge/Data/Magnet.hs 22;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f _mgUpdate src/Dodge/Data/Magnet.hs 23;" f -_misMaybeEnd src/Dodge/Data/HUD.hs 29;" f -_misSelStart src/Dodge/Data/HUD.hs 29;" f _moEff src/Dodge/Data/Universe.hs 101;" f _moEff1 src/Dodge/Data/Universe.hs 105;" f _moEff2 src/Dodge/Data/Universe.hs 106;" f @@ -2784,6 +2778,7 @@ _modOption src/Dodge/Data/Universe.hs 97;" f _modString src/Dodge/Data/Universe.hs 95;" f _modifications src/Dodge/Data/LWorld.hs 129;" f _mouseButtons src/Dodge/Data/Input.hs 42;" f +_mouseButtonsReleased src/Dodge/Data/Input.hs 43;" f _mouseContext src/Dodge/Data/Input.hs 39;" f _mouseMoving src/Dodge/Data/Input.hs 40;" f _mousePos src/Dodge/Data/Input.hs 38;" f @@ -2807,7 +2802,6 @@ _newArcStep src/Dodge/Data/Item/Params.hs 25;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f -_nsSelected src/Dodge/Data/HUD.hs 35;" f _numLinkEW src/Dodge/Data/Room.hs 33;" f _numLinkNS src/Dodge/Data/Room.hs 34;" f _numberFloorVerxs src/Dodge/Data/CWorld.hs 32;" f @@ -3013,14 +3007,14 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 82;" f _scSelectionList src/Dodge/Data/Universe.hs 84;" f _scTitle src/Dodge/Data/Universe.hs 79;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f -_scrollAmount src/Dodge/Data/Input.hs 43;" f +_scrollAmount src/Dodge/Data/Input.hs 44;" f _scrollItemID src/Dodge/Data/World.hs 66;" f _scrollItemID src/Dodge/Data/World.hs 75;" f _scrollItemID src/Dodge/Data/World.hs 79;" f _scrollSmoothing src/Dodge/Data/World.hs 63;" f _scrollSmoothing src/Dodge/Data/World.hs 69;" f -_scrollTestFloat src/Dodge/Data/Input.hs 50;" f -_scrollTestInt src/Dodge/Data/Input.hs 51;" f +_scrollTestFloat src/Dodge/Data/Input.hs 51;" f +_scrollTestInt src/Dodge/Data/Input.hs 52;" f _scurColor src/Dodge/Data/SelectionList.hs 27;" f _scurPos src/Dodge/Data/SelectionList.hs 25;" f _scurSize src/Dodge/Data/SelectionList.hs 26;" f @@ -3074,7 +3068,7 @@ _skWidth src/Dodge/Data/Spark.hs 20;" f _skinHead src/Dodge/Data/Creature/Misc.hs 66;" f _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 44;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 45;" f _soundAngDist src/Sound/Data.hs 53;" f _soundChannel src/Sound/Data.hs 52;" f _soundChunkID src/Sound/Data.hs 57;" f @@ -3129,7 +3123,7 @@ _termID src/Dodge/Data/HUD.hs 44;" f _terminals src/Dodge/Data/LWorld.hs 123;" f _teslaArcs src/Dodge/Data/LWorld.hs 113;" f _testFloat src/Dodge/Data/World.hs 45;" f -_textInput src/Dodge/Data/Input.hs 49;" f +_textInput src/Dodge/Data/Input.hs 50;" f _textureObject src/Shader/Data.hs 95;" f _tiSel src/Dodge/Data/Terminal.hs 21;" f _tiText src/Dodge/Data/Terminal.hs 20;" f @@ -3348,10 +3342,10 @@ 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 471;" f +advanceScrollAmount src/Dodge/Update.hs 438;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 186;" f +aimDelaySweep src/Dodge/Render/Picture.hs 190;" f aimStanceInfo src/Dodge/Item/Info.hs 210;" f aimTurn src/Dodge/Creature/YourControl.hs 143;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f @@ -3592,13 +3586,13 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f checkConnection src/Dodge/Inventory.hs 233;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 758;" f +checkEndGame src/Dodge/Update.hs 725;" 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 92;" f -checkTermDist src/Dodge/Update.hs 295;" f +checkTermDist src/Dodge/Update.hs 297;" 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 @@ -3619,7 +3613,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 811;" f +clClSpringVel src/Dodge/Update.hs 778;" 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 @@ -3639,14 +3633,14 @@ clipZoom src/Dodge/Update/Camera.hs 215;" f clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f -closeObjectInfo src/Dodge/Render/HUD.hs 200;" f +closeObjectInfo src/Dodge/Render/HUD.hs 224;" f closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 68;" f 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 781;" f +cloudEffect src/Dodge/Update.hs 748;" 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 @@ -3674,7 +3668,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 41;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineFloors src/Dodge/Room/Procedural.hs 172;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 310;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 334;" f combineItemListYouX src/Dodge/Combine.hs 33;" f combineList src/Dodge/Combine.hs 20;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f @@ -3716,7 +3710,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 829;" f +crCrSpring src/Dodge/Update.hs 796;" 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 @@ -3737,7 +3731,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" 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 824;" f +crSpring src/Dodge/Update.hs 791;" 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 @@ -3879,10 +3873,10 @@ defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultBulletWeapon src/Dodge/Default/Item.hs 47;" f defaultButton src/Dodge/Default.hs 51;" f -defaultCOSection src/Dodge/Default/World.hs 197;" f -defaultCWCam src/Dodge/Default/World.hs 66;" f -defaultCWGen src/Dodge/Default/World.hs 56;" f -defaultCWorld src/Dodge/Default/World.hs 81;" f +defaultCOSection src/Dodge/Default/World.hs 198;" f +defaultCWCam src/Dodge/Default/World.hs 67;" f +defaultCWGen src/Dodge/Default/World.hs 57;" f +defaultCWorld src/Dodge/Default/World.hs 82;" f defaultChaseMvType src/Dodge/Default/Creature.hs 113;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultConfig src/Dodge/Data/Config.hs 125;" f @@ -3896,32 +3890,32 @@ defaultCreatureTargeting src/Dodge/Default/Creature.hs 63;" f defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f defaultDirtBlock src/Dodge/Default/Block.hs 19;" f defaultDirtWall src/Dodge/Default/Wall.hs 61;" f -defaultDisplayInventory src/Dodge/Default/World.hs 161;" f +defaultDisplayInventory src/Dodge/Default/World.hs 162;" f defaultDoor src/Dodge/Default/Door.hs 29;" f defaultDoorWall src/Dodge/Default/Wall.hs 32;" f defaultDrawButton src/Dodge/Button/Draw.hs 28;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f defaultEquipment src/Dodge/Default.hs 27;" f -defaultFiltSection src/Dodge/Default/World.hs 203;" f +defaultFiltSection src/Dodge/Default/World.hs 204;" f defaultFlIt src/Dodge/Default.hs 30;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 151;" f +defaultHUD src/Dodge/Default/World.hs 152;" f defaultHeldItem src/Dodge/Default/Item.hs 24;" f defaultHeldUse src/Dodge/Default/Item/Use.hs 28;" f defaultImpulsive src/Dodge/Humanoid.hs 190;" f defaultInanimate src/Dodge/Default/Creature.hs 69;" f defaultInput src/Dodge/Default/World.hs 14;" f defaultIntention src/Dodge/Default/Creature.hs 105;" f -defaultInvSection src/Dodge/Default/World.hs 210;" f -defaultInvSections src/Dodge/Default/World.hs 174;" f +defaultInvSection src/Dodge/Default/World.hs 211;" f +defaultInvSections src/Dodge/Default/World.hs 175;" f defaultInvSize src/Dodge/Default/Creature.hs 79;" f defaultItEffect src/Dodge/Default/Item.hs 55;" f defaultItEffect src/Dodge/Default/Item/Effect.hs 5;" f defaultItZoom src/Dodge/Default/Item/Use/AimParams.hs 30;" f defaultItemDimension src/Dodge/Default/Item.hs 17;" f defaultLS src/Dodge/Default/LightSource.hs 6;" f -defaultLWorld src/Dodge/Default/World.hs 93;" f +defaultLWorld src/Dodge/Default/World.hs 94;" f defaultLeftItem src/Dodge/Default/Item.hs 38;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f @@ -3933,7 +3927,7 @@ defaultPerceptionState src/Dodge/Default/Creature.hs 82;" f defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProximitySensor src/Dodge/Default.hs 80;" f defaultRoom src/Dodge/Default/Room.hs 9;" f -defaultSS src/Dodge/Default/World.hs 186;" f +defaultSS src/Dodge/Default/World.hs 187;" f defaultSelectionList src/Dodge/Default/SelectionList.hs 5;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f defaultState src/Dodge/Default/Creature.hs 140;" f @@ -3944,8 +3938,8 @@ defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f -defaultWorld src/Dodge/Default/World.hs 33;" f -defaultYouSection src/Dodge/Default/World.hs 215;" f +defaultWorld src/Dodge/Default/World.hs 34;" f +defaultYouSection src/Dodge/Default/World.hs 216;" f defocusTerminalInput src/Dodge/Terminal/LeftButton.hs 21;" f degToRad src/Geometry/Vector.hs 117;" f deleteIMInZone src/Dodge/Base.hs 70;" f @@ -3988,7 +3982,7 @@ 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 197;" f -displayTerminalLineString src/Dodge/Update.hs 500;" f +displayTerminalLineString src/Dodge/Update.hs 467;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4028,7 +4022,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 192;" f +doItemTimeScroll src/Dodge/Update.hs 194;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f @@ -4045,7 +4039,7 @@ 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 211;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 291;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4061,7 +4055,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 197;" f +doTimeScroll src/Dodge/Update.hs 199;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 107;" f doWallRotate src/Dodge/Update/Camera.hs 188;" f @@ -4071,7 +4065,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 482;" f +doWorldEvents src/Dodge/Update.hs 449;" 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 @@ -4098,9 +4092,9 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCircFlare src/Dodge/Flare.hs 25;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 167;" f -drawCombFilterJump src/Dodge/Render/Picture.hs 149;" f -drawCombineInventory src/Dodge/Render/HUD.hs 160;" f +drawCombFilter src/Dodge/Render/Picture.hs 171;" f +drawCombFilterJump src/Dodge/Render/Picture.hs 150;" f +drawCombineInventory src/Dodge/Render/HUD.hs 184;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f @@ -4113,18 +4107,21 @@ drawDDATest src/Dodge/Debug/Picture.hs 256;" f drawDISelections src/Dodge/Render/HUD.hs 143;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f -drawDragSelect src/Dodge/Render/Picture.hs 153;" f -drawEmptySet src/Dodge/Render/Picture.hs 104;" f +drawDrag src/Dodge/Render/Picture.hs 157;" f +drawDragSelect src/Dodge/Render/HUD.hs 159;" f +drawDragSelect src/Dodge/Render/Picture.hs 154;" f +drawDragSelected src/Dodge/Render/HUD.hs 148;" f +drawEmptySet src/Dodge/Render/Picture.hs 105;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f -drawExamineInventory src/Dodge/Render/HUD.hs 174;" f +drawExamineInventory src/Dodge/Render/HUD.hs 198;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f drawFlare src/Dodge/Flare.hs 12;" f drawFooterText src/Dodge/Render/MenuScreen.hs 74;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 177;" f +drawGapPlus src/Dodge/Render/Picture.hs 181;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHP src/Dodge/Render/HUD.hs 53;" f drawHUD src/Dodge/Render/HUD.hs 45;" f @@ -4143,8 +4140,8 @@ drawListYgapScaleYoff src/Dodge/Render/List.hs 98;" f drawListYoff src/Dodge/Render/List.hs 95;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f -drawMenuClick src/Dodge/Render/Picture.hs 124;" f -drawMenuCursor src/Dodge/Render/Picture.hs 137;" f +drawMenuClick src/Dodge/Render/Picture.hs 125;" f +drawMenuCursor src/Dodge/Render/Picture.hs 138;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 15;" f drawMouseCursor src/Dodge/Render/Picture.hs 73;" f @@ -4157,19 +4154,19 @@ drawOptions src/Dodge/Render/MenuScreen.hs 35;" f drawPathBetween src/Dodge/Debug/Picture.hs 168;" f drawPathEdge src/Dodge/Debug/Picture.hs 222;" f drawPathing src/Dodge/Debug/Picture.hs 384;" f -drawPlus src/Dodge/Render/Picture.hs 121;" f +drawPlus src/Dodge/Render/Picture.hs 122;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f -drawRBOptions src/Dodge/Render/HUD.hs 218;" f +drawRBOptions src/Dodge/Render/HUD.hs 242;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f -drawReturn src/Dodge/Render/Picture.hs 110;" f +drawReturn src/Dodge/Render/Picture.hs 111;" f drawRootCursor src/Dodge/Render/HUD.hs 81;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f -drawSelect src/Dodge/Render/Picture.hs 156;" f +drawSelect src/Dodge/Render/Picture.hs 160;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionListBackground src/Dodge/Render/List.hs 51;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f @@ -4181,13 +4178,13 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f -drawSubInventory src/Dodge/Render/HUD.hs 152;" f -drawSweep src/Dodge/Render/Picture.hs 193;" f +drawSubInventory src/Dodge/Render/HUD.hs 176;" f +drawSweep src/Dodge/Render/Picture.hs 197;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f drawTargeting src/Dodge/Targeting/Draw.hs 13;" f -drawTerminalDisplay src/Dodge/Render/HUD.hs 347;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 371;" f drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f drawText src/Picture/Base.hs 220;" f drawTitle src/Dodge/Render/MenuScreen.hs 57;" f @@ -4235,7 +4232,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f enterCombineInv src/Dodge/DisplayInventory.hs 281;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f -equipAllocString src/Dodge/Render/HUD.hs 276;" f +equipAllocString src/Dodge/Render/HUD.hs 300;" f equipInfo src/Dodge/Item/Info.hs 103;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f equipPosition src/Dodge/Item/Draw.hs 30;" f @@ -4328,7 +4325,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 205;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f @@ -4361,7 +4358,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 243;" f +functionalUpdate src/Dodge/Update.hs 245;" f fuseFunc src/Dodge/Path.hs 150;" f fusePairs src/Dodge/Path.hs 153;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f @@ -4407,7 +4404,6 @@ getLaserDamage src/Dodge/HeldUse.hs 193;" f getLaserPhaseV src/Dodge/HeldUse.hs 190;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f -getMouseInvSel src/Dodge/Render/HUD.hs 134;" f getNodePos src/Dodge/Path.hs 31;" f getPretty src/AesonHelp.hs 7;" f getPrettyShort src/AesonHelp.hs 10;" f @@ -4597,7 +4593,7 @@ invAdj src/Dodge/Item/Grammar.hs 188;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f invDimColor src/Dodge/DisplayInventory.hs 191;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f -invHead src/Dodge/Render/HUD.hs 384;" f +invHead src/Dodge/Render/HUD.hs 408;" f invLDT src/Dodge/Item/Grammar.hs 171;" f invRootMap src/Dodge/Item/Grammar.hs 180;" f invRootTrees src/Dodge/Item/Grammar.hs 210;" f @@ -4608,8 +4604,8 @@ invSideEff src/Dodge/Creature/State.hs 162;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invTrees src/Dodge/Item/Grammar.hs 198;" f invTrees' src/Dodge/Item/Grammar.hs 202;" f -inventoryExtra src/Dodge/Render/HUD.hs 285;" f -inventoryExtraH src/Dodge/Render/HUD.hs 296;" f +inventoryExtra src/Dodge/Render/HUD.hs 309;" f +inventoryExtraH src/Dodge/Render/HUD.hs 320;" f inventoryX src/Dodge/Creature.hs 115;" f inverseSelBoundaryDown src/Dodge/SelectionSections.hs 256;" f inverseSelBoundaryUp src/Dodge/SelectionSections.hs 243;" f @@ -4639,7 +4635,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 449;" f +isOverTerminalScreen src/Dodge/Update.hs 416;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f @@ -4776,7 +4772,7 @@ llleft src/Dodge/Item/Grammar.hs 107;" f llright src/Dodge/Item/Grammar.hs 114;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 373;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 397;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f @@ -4896,7 +4892,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 743;" f +markWallSeen src/Dodge/Update.hs 710;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4907,7 +4903,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 373;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 453;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f @@ -5023,7 +5019,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 772;" f +mvGust src/Dodge/Update.hs 739;" 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 @@ -5132,11 +5128,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 308;" f +pauseGame src/Dodge/Update/Input/InGame.hs 388;" 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 183;" f +pauseTime src/Dodge/Update.hs 185;" 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 @@ -5291,7 +5287,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 735;" f +ppEvents src/Dodge/Update.hs 702;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5576,8 +5572,8 @@ 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 30;" f -scrollTimeBack src/Dodge/Update.hs 207;" f -scrollTimeForward src/Dodge/Update.hs 227;" f +scrollTimeBack src/Dodge/Update.hs 209;" f +scrollTimeForward src/Dodge/Update.hs 229;" 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 @@ -5593,11 +5589,11 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selNumPos src/Dodge/Render/HUD.hs 444;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 467;" f +selNumPos src/Dodge/Render/HUD.hs 468;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 491;" f selSecDrawCursor src/Dodge/Render/List.hs 129;" f selSecDrawCursorAt src/Dodge/Render/List.hs 107;" f -selSecSelCol src/Dodge/Render/HUD.hs 490;" f +selSecSelCol src/Dodge/Render/HUD.hs 514;" f selSecSelSize src/Dodge/SelectionSections.hs 182;" f selSecYint src/Dodge/SelectionSections.hs 191;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f @@ -5633,7 +5629,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 524;" f +setOldPos src/Dodge/Update.hs 491;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5688,9 +5684,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.hs 361;" f -shiftInvItemsDown src/Dodge/Update.hs 382;" f -shiftInvItemsUp src/Dodge/Update.hs 376;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 180;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 201;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 195;" 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 @@ -5730,9 +5726,9 @@ showEquipItem src/Dodge/Item/Display.hs 68;" f showEquipmentNumber src/Dodge/Item/Display.hs 110;" f showInt src/Dodge/Item/Info.hs 31;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f -showManObj src/Dodge/TestString.hs 46;" f +showManObj src/Dodge/TestString.hs 47;" f showTerminalError src/Dodge/Debug/Terminal.hs 76;" f -showTimeFlow src/Dodge/TestString.hs 93;" f +showTimeFlow src/Dodge/TestString.hs 94;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f shrinkVert src/Geometry/Polygon.hs 140;" f shuffle src/RandomHelp.hs 49;" f @@ -5740,7 +5736,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 820;" f +simpleCrSprings src/Dodge/Update.hs 787;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5789,7 +5785,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 311;" f +spaceAction src/Dodge/Update/Input/InGame.hs 391;" 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 @@ -5846,7 +5842,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.hs 350;" f +startDrag src/Dodge/Update/Input/InGame.hs 169;" f startInvList src/Dodge/Creature.hs 109;" f startInventory src/Dodge/Creature.hs 112;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5959,7 +5955,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 170;" f +timeFlowUpdate src/Dodge/Update.hs 172;" 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 @@ -5968,7 +5964,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 504;" f +tmUpdate src/Dodge/Update.hs 471;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5985,8 +5981,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 31;" 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 335;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 350;" f +toggleMap src/Dodge/Update/Input/InGame.hs 415;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 430;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -5994,7 +5990,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f topInvW src/Dodge/ListDisplayParams.hs 53;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f -topTestPart src/Dodge/TestString.hs 42;" f +topTestPart src/Dodge/TestString.hs 43;" f torch src/Dodge/Item/Held/Utility.hs 26;" f torchShape src/Dodge/Item/Draw/SPic.hs 213;" f torqueCr src/Dodge/WorldEffect.hs 69;" f @@ -6057,7 +6053,7 @@ 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 359;" f +tryCombine src/Dodge/Update/Input/InGame.hs 439;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f @@ -6103,82 +6099,82 @@ 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 246;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 326;" 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 601;" f +updateBullets src/Dodge/Update.hs 568;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 786;" f -updateClouds src/Dodge/Update.hs 630;" f +updateCloud src/Dodge/Update.hs 753;" f +updateClouds src/Dodge/Update.hs 597;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 38;" f updateCombineSections src/Dodge/DisplayInventory.hs 44;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 570;" f -updateCreatureSoundPositions src/Dodge/Update.hs 546;" f +updateCreatureGroups src/Dodge/Update.hs 537;" f +updateCreatureSoundPositions src/Dodge/Update.hs 513;" f updateDebugMessageOffset src/Dodge/Update.hs 92;" f -updateDelayedEvents src/Dodge/Update.hs 849;" f +updateDelayedEvents src/Dodge/Update.hs 816;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 591;" f +updateDistortions src/Dodge/Update.hs 558;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 618;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 287;" f +updateEnergyBalls src/Dodge/Update.hs 585;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 367;" 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 615;" f +updateFlames src/Dodge/Update.hs 582;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 138;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 131;" f -updateGusts src/Dodge/Update.hs 769;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 218;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 211;" f +updateGusts src/Dodge/Update.hs 736;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 560;" f -updateIMl' src/Dodge/Update.hs 565;" f +updateIMl src/Dodge/Update.hs 527;" f +updateIMl' src/Dodge/Update.hs 532;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 190;" f -updateInstantBullets src/Dodge/Update.hs 707;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 270;" f +updateInstantBullets src/Dodge/Update.hs 674;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 184;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 173;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 264;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 253;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 489;" f -updateLightSources src/Dodge/Update.hs 594;" f +updateLasers src/Dodge/Update.hs 456;" f +updateLightSources src/Dodge/Update.hs 561;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 205;" f -updateMIM src/Dodge/Update.hs 720;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 285;" f +updateMIM src/Dodge/Update.hs 687;" f updateMachine src/Dodge/Machine/Update.hs 19;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 90;" f -updateMouseClickInGame' src/Dodge/Update/Input/InGame.hs 96;" f -updateMouseContext src/Dodge/Update.hs 391;" f -updateMouseInventorySelection src/Dodge/Update.hs 309;" f -updateMouseInventorySelection' src/Dodge/Update.hs 314;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 125;" f +updateMouseContext src/Dodge/Update.hs 355;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 100;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 92;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 116;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 582;" f -updateObjMapMaybe src/Dodge/Update.hs 575;" f -updatePastWorlds src/Dodge/Update.hs 477;" f +updateObjCatMaybes src/Dodge/Update.hs 549;" f +updateObjMapMaybe src/Dodge/Update.hs 542;" f +updatePastWorlds src/Dodge/Update.hs 444;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 627;" f +updatePosEvents src/Dodge/Update.hs 594;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 148;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 151;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 228;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 231;" 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 597;" f +updateRadarBlips src/Dodge/Update.hs 564;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 621;" f +updateRadarSweeps src/Dodge/Update.hs 588;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6187,30 +6183,30 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 224;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 203;" f -updateSeenWalls src/Dodge/Update.hs 738;" f +updateSeenWalls src/Dodge/Update.hs 705;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 612;" f +updateShockwaves src/Dodge/Update.hs 579;" 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 624;" f +updateSparks src/Dodge/Update.hs 591;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 606;" f +updateTeslaArcs src/Dodge/Update.hs 573;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 609;" f +updateTractorBeams src/Dodge/Update.hs 576;" 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 154;" f -updateUseInputInGame src/Dodge/Update/Input/InGame.hs 35;" f +updateUniverseMid src/Dodge/Update.hs 155;" f +updateUseInputInGame src/Dodge/Update/Input/InGame.hs 37;" 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 464;" f +updateWheelEvents src/Dodge/Update.hs 431;" f updateWorldEventFlag src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 105;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6364,7 +6360,7 @@ yV2 src/Geometry/Vector.hs 203;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 18;" f youDropItem src/Dodge/Creature/Action.hs 184;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 212;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 236;" f yourControl src/Dodge/Creature/YourControl.hs 22;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f @@ -6382,9 +6378,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 497;" f +zoneClouds src/Dodge/Update.hs 464;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 541;" f +zoneCreatures src/Dodge/Update.hs 508;" 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