From b750fe4186ba016ee32c90d36dcf1a66579e5576 Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 20 Nov 2024 17:24:05 +0000 Subject: [PATCH] Cleanup --- ghcidOutput | 2 +- src/Dodge/Data/Input.hs | 2 - src/Dodge/Render/Picture.hs | 31 +--- src/Dodge/Update.hs | 8 +- src/Dodge/Update/Input/InGame.hs | 95 +++++----- tags | 291 +++++++++++++++---------------- 6 files changed, 200 insertions(+), 229 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index b0ffe0a97..d953b4ed1 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (594 modules, at 16:52:02) +All good (594 modules, at 17:18:47) diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index d8797fd1f..b1d6c848a 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -23,8 +23,6 @@ data MouseContext | MouseMenuClick {_mcoMenuClick :: Int} | MouseMenuCursor | OverInvDrag {_mcoDragPos :: Maybe Int} - | OverInvFiltDrag - | OverInvFiltDragDrop | OverInvDragSelect { _mcoSelStart :: (Int,Int), _mcoSelEnd :: Maybe (Int,Int) } | OverInvSelect { _mcoInvSelect :: (Int,Int)} | OverInvFilt { _mcoInvFilt :: (Int,Int)} diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 6ed0a45fa..7fa15f84f 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -86,8 +86,6 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of MouseInGame -> drawPlus 5 OverInvDrag (Just _) -> drawDrag 5 OverInvDrag Nothing -> drawDragDrop 5 - OverInvFiltDrag -> drawFiltDrag 5 - OverInvFiltDragDrop -> drawFiltDragDrop 5 OverInvDragSelect {} -> drawDragSelect 5 OverInvSelect {} -> drawSelect 5 OverInvFilt {} -> drawCombFilter 5 @@ -177,26 +175,15 @@ drawDragDrop x = z = 1.5 * x y = 0.7 * x -drawFiltDrag :: Float -> Picture -drawFiltDrag x = polygonWire - [ V2 0 y - , V2 x y - , V2 0 (-y) - , V2 (-x) (-y) - ] - where - y = 0.5 * x - -drawFiltDragDrop :: Float -> Picture -drawFiltDragDrop x = polygonWire - [ V2 0 y - , V2 x y - , V2 0 (-y) - , V2 (-x) (-y) - ] <> line [V2 (-x) x,V2 0 x,V2 0 (-x)] - <> line [V2 (-y) (y-x), V2 0 (-x), V2 y (y-x)] - where - y = 0.5 * x +--drawFiltDrag :: Float -> Picture +--drawFiltDrag x = polygonWire +-- [ V2 0 y +-- , V2 x y +-- , V2 0 (-y) +-- , V2 (-x) (-y) +-- ] +-- where +-- y = 0.5 * x drawSelect :: Float -> Picture drawSelect x = polygonWire $ rectWH (0.5 * x) (0.5 * x) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index cd0227699..055ab1936 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -306,8 +306,6 @@ checkTermDist w = fromMaybe w $ do updateMouseContext :: Configuration -> Universe -> Universe updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of - OverInvFiltDrag -> u & uvWorld . input . mouseContext .~ invfiltdrag - OverInvFiltDragDrop -> u & uvWorld . input . mouseContext .~ invfiltdrag OverInvDrag {} -> u & uvWorld . input . mouseContext .~ invdrag OverInvDragSelect{} -> u _ -> u & uvWorld . input . mouseContext @@ -341,10 +339,6 @@ updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of sss <- w ^? hud . hudElement . diSections (0,j) <- inverseSelNumPos cfig (invDisplayParams w) sss mpos return $ OverInvDrag $ Just j - invfiltdrag = fromMaybe OverInvFiltDragDrop $ do - sss <- w ^? hud . hudElement . diSections - (0,_) <- inverseSelNumPos cfig (invDisplayParams w) sss mpos - return $ OverInvFiltDrag overinv = do sss <- w ^? hud . hudElement . diSections selpos <- inverseSelNumPos cfig (invDisplayParams w) sss mpos @@ -359,7 +353,7 @@ updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of let mpossel = inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos) return $ case mpossel of Nothing -> OverCombEscape - Just (-1, _) -> OverCombFilter + Just (-1, i) | (-1,i) == msel -> OverCombFilter Just x | x == msel -> OverCombCombine x Just x -> OverCombSelect x overterm = do diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index ef7781bb4..aeb64a66b 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -3,11 +3,10 @@ module Dodge.Update.Input.InGame ( updateMouseInGame, ) where -import qualified Data.IntSet as IS -import Dodge.ListDisplayParams import Control.Applicative import Control.Monad import qualified Data.IntMap.Strict as IM +import qualified Data.IntSet as IS import Data.List (sort) import qualified Data.Map.Strict as M import Data.Maybe @@ -23,6 +22,7 @@ import Dodge.Event.Test import Dodge.InputFocus import Dodge.Inventory import Dodge.Inventory.Add +import Dodge.ListDisplayParams import Dodge.Menu import Dodge.Save import Dodge.SelectionSections @@ -99,10 +99,10 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of let msel = inverseSelNumPos cfig ldp sss (w ^. input . mousePos) return $ w & input . mouseContext . mcoSelEnd .~ msel OverInvDrag Nothing -> w - OverInvDrag {} -> fromMaybe w $ do + OverInvDrag{} -> fromMaybe w $ do sss <- w ^? hud . hudElement . diSections let mpos = w ^. input . mousePos - (0,i) <- w ^? hud . hudElement . diSelection . _Just + (0, i) <- w ^? hud . hudElement . diSelection . _Just x <- w ^? hud . hudElement . diSelectionExtra return $ w & dragInvItems (IS.insert i x) cfig mpos ldp sss _ -> w @@ -112,49 +112,50 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of dropSelected :: World -> World dropSelected w = fromMaybe w $ do cr <- w ^? cWorld . lWorld . creatures . ix 0 - (0,j) <- w ^? hud . hudElement . diSelection . _Just + (0, j) <- w ^? hud . hudElement . diSelection . _Just xs <- w ^? hud . hudElement . diSelectionExtra return $ IS.foldr (dropItem cr) w (IS.insert j xs) updateMouseReleaseInGame :: World -> World -updateMouseReleaseInGame w = case w ^. input . mouseContext of - OverInvFiltDrag -> w & input . mouseContext .~ MouseInGame - OverInvFiltDragDrop -> w & input . mouseContext .~ MouseInGame +updateMouseReleaseInGame w = case w ^. input . mouseContext of OverInvDrag mpos -> fromMaybe (dropSelected w & input . mouseContext .~ MouseInGame) $ do - j <- mpos - return $ w & input . mouseContext .~ OverInvSelect (0,j) + j <- mpos + return $ w & input . mouseContext .~ OverInvSelect (0, j) OverInvDragSelect _ Nothing -> - w & input . mouseContext .~ MouseInGame - & hud . hudElement . diSelectionExtra .~ mempty + w & input . mouseContext .~ MouseInGame + & hud . hudElement . diSelectionExtra .~ mempty OverInvDragSelect ssel (Just esel) -> - w & input . mouseContext .~ MouseInGame - & hud . hudElement . diSelectionExtra - .~ IS.fromAscList [min (snd ssel) (snd esel) + 1 .. max (snd ssel) (snd esel)] - & augInvDirectSelect (min ssel esel) + w & input . mouseContext .~ MouseInGame + & hud . hudElement . diSelectionExtra + .~ IS.fromAscList [min (snd ssel) (snd esel) + 1 .. max (snd ssel) (snd esel)] + & augInvDirectSelect (min ssel esel) _ -> w updateMouseClickInGame :: Configuration -> World -> World updateMouseClickInGame cfig w = case w ^. input . mouseContext of MouseInGame -> fromMaybe w $ do - sss <- w ^? hud . hudElement . diSections - ysel <- inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss - return $ - w & input . mouseContext - .~ OverInvDragSelect ysel Nothing + sss <- w ^? hud . hudElement . diSections + ysel <- inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss + return $ + w & input . mouseContext + .~ OverInvDragSelect ysel Nothing OverInvSelect x -> startDrag x w OverTerminalReturn tmid -> terminalReturnEffect tmid w - OverTerminalEscape -> w - & hud . hudElement . subInventory .~ NoSubInventory --MouseInvNothing + OverTerminalEscape -> + w + & hud . hudElement . subInventory .~ NoSubInventory --MouseInvNothing OverCombSelect x -> w & hud . hudElement . subInventory . ciSelection ?~ x & worldEventFlags . at CombineInventoryChange ?~ () OverCombFilter -> w & hud . hudElement . subInventory . ciFilter .~ Nothing & worldEventFlags . at CombineInventoryChange ?~ () - OverCombCombine (i, j) -> - (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ - tryCombine (i, j) w - & worldEventFlags . at CombineInventoryChange ?~ () + OverCombCombine x -> + w + & tryCombine x + & worldEventFlags . at CombineInventoryChange ?~ () + & worldEventFlags . at InventoryChange ?~ () + & maybeExitCombine OverCombEscape -> w & worldEventFlags . at InventoryChange ?~ () @@ -178,13 +179,11 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of mpos = w ^. input . mousePos startDrag :: (Int, Int) -> World -> World -startDrag (a, b) w = case w ^? hud . hudElement . diInvFilter . _Just of - Just {} -> w & input . mouseContext .~ OverInvFiltDrag - _ -> fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do - (i, j) <- w ^? hud . hudElement . diSelection . _Just - xs <- w ^? hud . hudElement . diSelectionExtra - guard $ i == a && b `IS.member` (IS.insert j xs) - return $ setmichosen xs w +startDrag (a, b) w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do + (i, j) <- w ^? hud . hudElement . diSelection . _Just + xs <- w ^? hud . hudElement . diSelectionExtra + guard $ i == a && b `IS.member` (IS.insert j xs) + return $ setmichosen xs w where setmichosen x = (input . mouseContext .~ OverInvDrag (Just b)) @@ -198,7 +197,7 @@ dragInvItems :: IM.IntMap (SelectionSection a) -> World -> World -dragInvItems is cfig mpos ldp sss w +dragInvItems is cfig mpos ldp sss w | nonconcurrent = collectInvItems is w | otherwise = shiftInvItems is cfig mpos ldp sss w where @@ -208,19 +207,18 @@ concurrentIS :: IS.IntSet -> Bool concurrentIS = go . IS.minView where go Nothing = True - go (Just (i,is)) = fromMaybe True $ do - (j,js) <- IS.minView is - return $ i + 1 == j && go (Just (j,js)) + go (Just (i, is)) = fromMaybe True $ do + (j, js) <- IS.minView is + return $ i + 1 == j && go (Just (j, js)) collectInvItems :: IS.IntSet -> World -> World collectInvItems is w = fromMaybe w $ do - (j,js) <- IS.minView is + (j, js) <- IS.minView is return $ h j js w where h j js w' = fromMaybe w' $ do - (k,ks) <- IS.minView js - return . h (j+1) ks $ swapInvItems (\_ _ -> Just (j+1)) k w' - + (k, ks) <- IS.minView js + return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w' shiftInvItems :: IS.IntSet -> @@ -231,9 +229,9 @@ shiftInvItems :: World -> World shiftInvItems xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of - Just p | p < (0,IS.findMin xs) -> shiftInvItemsUp xs w + Just p | p < (0, IS.findMin xs) -> shiftInvItemsUp xs w _ -> case inverseSelBoundaryDown cfig ldp sss mpos of - Just p | p > (0,IS.findMax xs) -> shiftInvItemsDown xs w + Just p | p > (0, IS.findMax xs) -> shiftInvItemsDown xs w _ -> w shiftInvItemsUp :: IS.IntSet -> World -> World @@ -252,7 +250,6 @@ shiftInvItemsDown is w = fromMaybe w $ do f i' w' = swapInvItems g i' w' g i' m = fst <$> IM.lookupGT i' m - updateFunctionKeys :: Universe -> Universe updateFunctionKeys u = M.foldlWithKey' @@ -342,7 +339,7 @@ doRegexInput :: (IM.IntMap (SelectionSection a), Maybe (Int, Int), Maybe String) doRegexInput inp i sss msel filts | backspacetonothing || escapekey = endregex i 0 - | endkeys || endmouse = endregex (i + 1) (j -1) + | endkeys = endregex (i + 1) (j -1) | otherwise = ( sss , msel @@ -362,7 +359,6 @@ doRegexInput inp i sss msel filts any ((== Just InitialPress) . (`M.lookup` pkeys)) [ScancodeReturn, ScancodeSlash] - endmouse = (Just 0 ==) $ inp ^? mouseButtons . ix ButtonLeft backspacetonothing = filts == Just "" && ScancodeBackspace `M.lookup` pkeys == Just InitialPress @@ -481,7 +477,7 @@ toggleTweakInv w = case w ^? hud . hudElement . subInventory of thepointer = hud . hudElement . subInventory tryCombine :: --- IM.IntMap (SelectionSection CombinableItem) -> + -- IM.IntMap (SelectionSection CombinableItem) -> (Int, Int) -> World -> World @@ -498,5 +494,4 @@ maybeExitCombine :: World -> World maybeExitCombine w | ButtonRight `M.member` (w ^. input . mouseButtons) = w | otherwise = - w & hud . hudElement . subInventory - .~ NoSubInventory --MouseInvNothing + w & hud . hudElement . subInventory .~ NoSubInventory diff --git a/tags b/tags index f24deea6b..94f7a013d 100644 --- a/tags +++ b/tags @@ -905,7 +905,7 @@ InheritFloor src/Data/Tile.hs 11;" C InitialPress src/Dodge/Data/Input.hs 14;" C Initialisation src/Dodge/Initialisation.hs 1;" m Initialize src/Dodge/Item/Location/Initialize.hs 1;" m -Input src/Dodge/Data/Input.hs 39;" t +Input src/Dodge/Data/Input.hs 37;" t Input src/Dodge/Data/Input.hs 6;" m Input src/Dodge/Event/Input.hs 3;" m Input src/Dodge/Update/Input.hs 1;" m @@ -1354,18 +1354,16 @@ OutLink src/Dodge/Data/Room.hs 43;" C OutPlacement src/Dodge/Data/GenWorld.hs 126;" t Outline src/Dodge/Render/Outline.hs 1;" m OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C -OverCombCombine src/Dodge/Data/Input.hs 32;" C -OverCombEscape src/Dodge/Data/Input.hs 34;" C -OverCombFilter src/Dodge/Data/Input.hs 33;" C -OverCombSelect src/Dodge/Data/Input.hs 31;" C +OverCombCombine src/Dodge/Data/Input.hs 30;" C +OverCombEscape src/Dodge/Data/Input.hs 32;" C +OverCombFilter src/Dodge/Data/Input.hs 31;" C +OverCombSelect src/Dodge/Data/Input.hs 29;" C OverInvDrag src/Dodge/Data/Input.hs 25;" C -OverInvDragSelect src/Dodge/Data/Input.hs 28;" C -OverInvFilt src/Dodge/Data/Input.hs 30;" C -OverInvFiltDrag src/Dodge/Data/Input.hs 26;" C -OverInvFiltDragDrop src/Dodge/Data/Input.hs 27;" C -OverInvSelect src/Dodge/Data/Input.hs 29;" C -OverTerminalEscape src/Dodge/Data/Input.hs 36;" C -OverTerminalReturn src/Dodge/Data/Input.hs 35;" C +OverInvDragSelect src/Dodge/Data/Input.hs 26;" C +OverInvFilt src/Dodge/Data/Input.hs 28;" C +OverInvSelect src/Dodge/Data/Input.hs 27;" C +OverTerminalEscape src/Dodge/Data/Input.hs 34;" C +OverTerminalReturn src/Dodge/Data/Input.hs 33;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 57;" C P2Ac src/Dodge/Data/CreatureEffect.hs 53;" t @@ -1856,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 60;" C -TSdelete src/Dodge/Data/Input.hs 61;" C -TSdown src/Dodge/Data/Input.hs 66;" C -TSescape src/Dodge/Data/Input.hs 58;" C -TSleft src/Dodge/Data/Input.hs 63;" C -TSreturn src/Dodge/Data/Input.hs 59;" C -TSright src/Dodge/Data/Input.hs 64;" C -TStab src/Dodge/Data/Input.hs 62;" C -TSup src/Dodge/Data/Input.hs 65;" 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 @@ -1878,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 57;" 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 @@ -2325,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 48;" f -_clickWorldPos src/Dodge/Data/Input.hs 50;" f +_clickPos src/Dodge/Data/Input.hs 46;" f +_clickWorldPos src/Dodge/Data/Input.hs 48;" f _closeObjects src/Dodge/Data/HUD.hs 52;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f @@ -2606,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 49;" f +_heldPos src/Dodge/Data/Input.hs 47;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f -_heldWorldPos src/Dodge/Data/Input.hs 51;" f +_heldWorldPos src/Dodge/Data/Input.hs 49;" f _hud src/Dodge/Data/World.hs 47;" f _hudElement src/Dodge/Data/HUD.hs 48;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f @@ -2748,15 +2746,15 @@ _mcPos src/Dodge/Data/Machine.hs 35;" f _mcType src/Dodge/Data/Machine.hs 40;" f _mcWallIDs src/Dodge/Data/Machine.hs 33;" f _mcWidth src/Dodge/Data/Machine.hs 44;" f -_mcoCombCombine src/Dodge/Data/Input.hs 32;" f -_mcoCombSelect src/Dodge/Data/Input.hs 31;" f +_mcoCombCombine src/Dodge/Data/Input.hs 30;" f +_mcoCombSelect src/Dodge/Data/Input.hs 29;" f _mcoDragPos src/Dodge/Data/Input.hs 25;" f -_mcoInvFilt src/Dodge/Data/Input.hs 30;" f -_mcoInvSelect src/Dodge/Data/Input.hs 29;" f +_mcoInvFilt src/Dodge/Data/Input.hs 28;" f +_mcoInvSelect src/Dodge/Data/Input.hs 27;" f _mcoMenuClick src/Dodge/Data/Input.hs 23;" f -_mcoSelEnd src/Dodge/Data/Input.hs 28;" f -_mcoSelStart src/Dodge/Data/Input.hs 28;" f -_mcoTermID src/Dodge/Data/Input.hs 35;" f +_mcoSelEnd src/Dodge/Data/Input.hs 26;" f +_mcoSelStart src/Dodge/Data/Input.hs 26;" f +_mcoTermID src/Dodge/Data/Input.hs 33;" f _mdBool src/Dodge/Data/Modification.hs 21;" f _mdExternalID src/Dodge/Data/Modification.hs 17;" f _mdExternalID1 src/Dodge/Data/Modification.hs 25;" f @@ -2780,11 +2778,11 @@ _moString src/Dodge/Data/Universe.hs 107;" f _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 44;" f -_mouseButtonsReleased src/Dodge/Data/Input.hs 45;" f -_mouseContext src/Dodge/Data/Input.hs 41;" f -_mouseMoving src/Dodge/Data/Input.hs 42;" f -_mousePos src/Dodge/Data/Input.hs 40;" 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 _mtBranches src/Dodge/Tree/Compose/Data.hs 8;" f _mtLabel src/Dodge/Tree/Compose/Data.hs 8;" f _mtTree src/Dodge/Tree/Compose/Data.hs 8;" f @@ -2888,7 +2886,7 @@ _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 32;" f _pressPlates src/Dodge/Data/LWorld.hs 132;" f -_pressedKeys src/Dodge/Data/Input.hs 43;" f +_pressedKeys src/Dodge/Data/Input.hs 41;" f _previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f _prjAcc src/Dodge/Data/Projectile.hs 19;" f _prjDir src/Dodge/Data/Projectile.hs 20;" f @@ -3010,14 +3008,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 46;" 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 53;" f -_scrollTestInt src/Dodge/Data/Input.hs 54;" 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 @@ -3071,7 +3069,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 47;" 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 @@ -3126,7 +3124,7 @@ _termID src/Dodge/Data/HUD.hs 45;" 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 52;" 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 @@ -3345,10 +3343,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 399;" f +advanceScrollAmount src/Dodge/Update.hs 393;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 231;" f +aimDelaySweep src/Dodge/Render/Picture.hs 218;" 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 @@ -3436,7 +3434,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attribSize src/Shader/Compile.hs 306;" f -augInvDirectSelect src/Dodge/Inventory.hs 255;" f +augInvDirectSelect src/Dodge/Inventory.hs 264;" f augmentedHUD src/Dodge/Item/Scope.hs 47;" f autoAmr src/Dodge/Item/Held/Rod.hs 51;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f @@ -3573,9 +3571,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainPairs src/Geometry.hs 363;" f -changeSwapClose src/Dodge/Inventory.hs 166;" f -changeSwapSel src/Dodge/Inventory.hs 158;" f -changeSwapWith src/Dodge/Inventory.hs 249;" f +changeSwapClose src/Dodge/Inventory.hs 167;" f +changeSwapSel src/Dodge/Inventory.hs 159;" f +changeSwapWith src/Dodge/Inventory.hs 258;" f charToTuple src/Picture/Base.hs 317;" f charToTupleGrad src/Picture/Text.hs 18;" f chargeIfEquipped src/Dodge/ItEffect.hs 54;" f @@ -3587,9 +3585,9 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f -checkConnection src/Dodge/Inventory.hs 233;" f +checkConnection src/Dodge/Inventory.hs 242;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 686;" f +checkEndGame src/Dodge/Update.hs 680;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3616,7 +3614,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 739;" f +clClSpringVel src/Dodge/Update.hs 733;" 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 @@ -3643,7 +3641,7 @@ closestCreatureID src/Dodge/Debug.hs 92;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 709;" f +cloudEffect src/Dodge/Update.hs 703;" 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 @@ -3657,7 +3655,7 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f colSpark src/Dodge/Spark.hs 47;" f colSparkRandDir src/Dodge/Spark.hs 101;" f collectDamageTypes src/Dodge/Damage.hs 32;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 214;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 215;" f collideCircWalls src/Dodge/Base/Collide.hs 149;" f collidePoint src/Dodge/Base/Collide.hs 48;" f collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f @@ -3691,7 +3689,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f conEffects src/Dodge/Concurrent.hs 13;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f -concurrentIS src/Dodge/Update/Input/InGame.hs 206;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 207;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f @@ -3715,7 +3713,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 757;" f +crCrSpring src/Dodge/Update.hs 751;" 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 @@ -3736,7 +3734,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 752;" f +crSpring src/Dodge/Update.hs 746;" 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 @@ -3956,7 +3954,7 @@ denormalEdges src/Polyhedra.hs 136;" f destroyAt src/Dodge/Bullet.hs 201;" f destroyBlock src/Dodge/Block.hs 56;" f destroyDoor src/Dodge/Block.hs 85;" f -destroyInvItem src/Dodge/Inventory.hs 50;" f +destroyInvItem src/Dodge/Inventory.hs 51;" f destroyLS src/Dodge/LightSource.hs 91;" f destroyLSFlashAt src/Dodge/LightSource.hs 101;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f @@ -3987,7 +3985,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 428;" f +displayTerminalLineString src/Dodge/Update.hs 422;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4044,7 +4042,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 328;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 336;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4070,7 +4068,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 410;" f +doWorldEvents src/Dodge/Update.hs 404;" 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 @@ -4084,6 +4082,7 @@ doublePair src/Geometry.hs 149;" f doublePairSet src/Geometry.hs 153;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleV2 src/Geometry.hs 156;" f +dragInvItems src/Dodge/Update/Input/InGame.hs 193;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawAugmentedHUD src/Dodge/Creature/State.hs 210;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f @@ -4097,8 +4096,8 @@ 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 212;" f -drawCombFilterJump src/Dodge/Render/Picture.hs 153;" f +drawCombFilter src/Dodge/Render/Picture.hs 199;" f +drawCombFilterJump src/Dodge/Render/Picture.hs 151;" f drawCombineInventory src/Dodge/Render/HUD.hs 186;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f @@ -4111,24 +4110,22 @@ drawCursorAt src/Dodge/Render/List.hs 70;" f drawDDATest src/Dodge/Debug/Picture.hs 256;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f -drawDrag src/Dodge/Render/Picture.hs 160;" f -drawDragDrop src/Dodge/Render/Picture.hs 171;" f +drawDrag src/Dodge/Render/Picture.hs 158;" f +drawDragDrop src/Dodge/Render/Picture.hs 169;" f drawDragSelect src/Dodge/Render/HUD.hs 160;" f -drawDragSelect src/Dodge/Render/Picture.hs 157;" f +drawDragSelect src/Dodge/Render/Picture.hs 155;" f drawDragSelected src/Dodge/Render/HUD.hs 148;" f -drawEmptySet src/Dodge/Render/Picture.hs 108;" f +drawEmptySet src/Dodge/Render/Picture.hs 106;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f drawExamineInventory src/Dodge/Render/HUD.hs 200;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f -drawFiltDrag src/Dodge/Render/Picture.hs 180;" f -drawFiltDragDrop src/Dodge/Render/Picture.hs 190;" 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 222;" f +drawGapPlus src/Dodge/Render/Picture.hs 209;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHP src/Dodge/Render/HUD.hs 54;" f drawHUD src/Dodge/Render/HUD.hs 46;" f @@ -4147,8 +4144,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 128;" f -drawMenuCursor src/Dodge/Render/Picture.hs 141;" f +drawMenuClick src/Dodge/Render/Picture.hs 126;" f +drawMenuCursor src/Dodge/Render/Picture.hs 139;" 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 @@ -4161,7 +4158,7 @@ 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 125;" f +drawPlus src/Dodge/Render/Picture.hs 123;" 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 @@ -4169,11 +4166,11 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 244;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f -drawReturn src/Dodge/Render/Picture.hs 114;" f +drawReturn src/Dodge/Render/Picture.hs 112;" f drawRootCursor src/Dodge/Render/HUD.hs 78;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f -drawSelect src/Dodge/Render/Picture.hs 201;" f +drawSelect src/Dodge/Render/Picture.hs 188;" 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 @@ -4186,7 +4183,7 @@ 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 178;" f -drawSweep src/Dodge/Render/Picture.hs 238;" f +drawSweep src/Dodge/Render/Picture.hs 225;" 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 @@ -4630,9 +4627,9 @@ invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f isAmmoIntLink src/Dodge/HeldUse.hs 206;" f isAnimate src/Dodge/Creature/Test.hs 136;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f -isConnected src/Dodge/Inventory.hs 243;" f +isConnected src/Dodge/Inventory.hs 252;" f isElectrical src/Dodge/Data/Damage.hs 42;" f -isFilteringInv src/Dodge/Inventory.hs 294;" f +isFilteringInv src/Dodge/Inventory.hs 303;" f isFrictionless src/Dodge/Creature/State.hs 341;" f isGas src/Dodge/Euse.hs 64;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f @@ -4643,7 +4640,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 377;" f +isOverTerminalScreen src/Dodge/Update.hs 371;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f @@ -4900,7 +4897,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 671;" f +markWallSeen src/Dodge/Update.hs 665;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4911,7 +4908,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 489;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 496;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f @@ -5027,7 +5024,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 700;" f +mvGust src/Dodge/Update.hs 694;" 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 @@ -5136,7 +5133,7 @@ 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 425;" f +pauseGame src/Dodge/Update/Input/InGame.hs 432;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f @@ -5295,7 +5292,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 663;" f +ppEvents src/Dodge/Update.hs 657;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5480,7 +5477,7 @@ rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f rmInLinks src/Dodge/RoomLink.hs 138;" f -rmInvItem src/Dodge/Inventory.hs 63;" f +rmInvItem src/Dodge/Inventory.hs 64;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f roomC src/Dodge/Room/Room.hs 38;" f @@ -5573,8 +5570,8 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f -scrollAugInvSel src/Dodge/Inventory.hs 263;" f -scrollAugNextInSection src/Dodge/Inventory.hs 276;" f +scrollAugInvSel src/Dodge/Inventory.hs 272;" f +scrollAugNextInSection src/Dodge/Inventory.hs 285;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f scrollCommands src/Dodge/Update/Scroll.hs 132;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f @@ -5606,7 +5603,7 @@ selSecSelSize src/Dodge/SelectionSections.hs 182;" f selSecYint src/Dodge/SelectionSections.hs 191;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f selectUse src/Dodge/SelectUse.hs 10;" f -selectedCloseObject src/Dodge/Inventory.hs 287;" f +selectedCloseObject src/Dodge/Inventory.hs 296;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 152;" f @@ -5637,7 +5634,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 452;" f +setOldPos src/Dodge/Update.hs 446;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5692,10 +5689,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 190;" f -shiftInvItems' src/Dodge/Update/Input/InGame.hs 217;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 237;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 231;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 225;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 245;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 239;" 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 @@ -5735,9 +5731,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 48;" f +showManObj src/Dodge/TestString.hs 50;" f showTerminalError src/Dodge/Debug/Terminal.hs 76;" f -showTimeFlow src/Dodge/TestString.hs 95;" f +showTimeFlow src/Dodge/TestString.hs 97;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f shrinkVert src/Geometry/Polygon.hs 140;" f shuffle src/RandomHelp.hs 49;" f @@ -5745,7 +5741,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 748;" f +simpleCrSprings src/Dodge/Update.hs 742;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5794,7 +5790,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 428;" f +spaceAction src/Dodge/Update/Input/InGame.hs 435;" 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 @@ -5851,7 +5847,7 @@ stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 281;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f -startDrag src/Dodge/Update/Input/InGame.hs 177;" f +startDrag src/Dodge/Update/Input/InGame.hs 182;" f startInvList src/Dodge/Creature.hs 109;" f startInventory src/Dodge/Creature.hs 112;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5881,9 +5877,10 @@ stripZ src/Geometry/Vector3D.hs 97;" f subInvX src/Dodge/ListDisplayParams.hs 50;" f subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f +swapAnyExtraSelection src/Dodge/Inventory.hs 234;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapIndices src/ListHelp.hs 50;" f -swapInvItems src/Dodge/Inventory.hs 183;" f +swapInvItems src/Dodge/Inventory.hs 184;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f @@ -5973,7 +5970,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 432;" f +tmUpdate src/Dodge/Update.hs 426;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5990,8 +5987,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 452;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 466;" f +toggleMap src/Dodge/Update/Input/InGame.hs 459;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 473;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -5999,7 +5996,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 44;" f +topTestPart src/Dodge/TestString.hs 46;" 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 @@ -6062,7 +6059,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 475;" f +tryCombine src/Dodge/Update/Input/InGame.hs 482;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f @@ -6108,82 +6105,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 363;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 370;" 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 529;" f +updateBullets src/Dodge/Update.hs 523;" f updateCamera src/Dodge/Update/Camera.hs 31;" f -updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 714;" f -updateClouds src/Dodge/Update.hs 558;" f +updateCloseObjects src/Dodge/Inventory.hs 125;" f +updateCloud src/Dodge/Update.hs 708;" f +updateClouds src/Dodge/Update.hs 552;" 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 498;" f -updateCreatureSoundPositions src/Dodge/Update.hs 474;" f +updateCreatureGroups src/Dodge/Update.hs 492;" f +updateCreatureSoundPositions src/Dodge/Update.hs 468;" f updateDebugMessageOffset src/Dodge/Update.hs 92;" f -updateDelayedEvents src/Dodge/Update.hs 777;" f +updateDelayedEvents src/Dodge/Update.hs 771;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 519;" f +updateDistortions src/Dodge/Update.hs 513;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 546;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 404;" f +updateEnergyBalls src/Dodge/Update.hs 540;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 411;" 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 543;" f +updateFlames src/Dodge/Update.hs 537;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 255;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 248;" f -updateGusts src/Dodge/Update.hs 697;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 263;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 256;" f +updateGusts src/Dodge/Update.hs 691;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 488;" f -updateIMl' src/Dodge/Update.hs 493;" f +updateIMl src/Dodge/Update.hs 482;" f +updateIMl' src/Dodge/Update.hs 487;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 307;" f -updateInstantBullets src/Dodge/Update.hs 635;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 315;" f +updateInstantBullets src/Dodge/Update.hs 629;" 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 301;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 290;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 309;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 298;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 417;" f -updateLightSources src/Dodge/Update.hs 522;" f +updateLasers src/Dodge/Update.hs 411;" f +updateLightSources src/Dodge/Update.hs 516;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 322;" f -updateMIM src/Dodge/Update.hs 648;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 330;" f +updateMIM src/Dodge/Update.hs 642;" f updateMachine src/Dodge/Machine/Update.hs 19;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 133;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 134;" f updateMouseContext src/Dodge/Update.hs 307;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 87;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 119;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 510;" f -updateObjMapMaybe src/Dodge/Update.hs 503;" f -updatePastWorlds src/Dodge/Update.hs 405;" f +updateObjCatMaybes src/Dodge/Update.hs 504;" f +updateObjMapMaybe src/Dodge/Update.hs 497;" f +updatePastWorlds src/Dodge/Update.hs 399;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 555;" f +updatePosEvents src/Dodge/Update.hs 549;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 265;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 268;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 273;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 276;" 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 525;" f +updateRadarBlips src/Dodge/Update.hs 519;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 549;" f +updateRadarSweeps src/Dodge/Update.hs 543;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6192,19 +6189,19 @@ 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 666;" f +updateSeenWalls src/Dodge/Update.hs 660;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 540;" f +updateShockwaves src/Dodge/Update.hs 534;" 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 552;" f +updateSparks src/Dodge/Update.hs 546;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 534;" f +updateTeslaArcs src/Dodge/Update.hs 528;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 537;" f +updateTractorBeams src/Dodge/Update.hs 531;" f updateTurret src/Dodge/Machine/Update.hs 47;" f updateUniverse src/Dodge/Update.hs 71;" f updateUniverseFirst src/Dodge/Update.hs 83;" f @@ -6215,7 +6212,7 @@ 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 392;" f +updateWheelEvents src/Dodge/Update.hs 386;" f updateWorldEventFlag src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 105;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6387,9 +6384,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 425;" f +zoneClouds src/Dodge/Update.hs 419;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 469;" f +zoneCreatures src/Dodge/Update.hs 463;" 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