From 0621709f7b13044ea3d7e05b532aaf23d9b0d44b Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 15 Nov 2024 22:53:33 +0000 Subject: [PATCH] Tweak mouse context/cursors --- ghcidOutput | 52 +++++- src/Dodge/Data/Input.hs | 11 +- src/Dodge/Render/HUD.hs | 11 +- src/Dodge/Render/Picture.hs | 53 ++++-- src/Dodge/Update.hs | 31 +++- src/Dodge/Update/Input/InGame.hs | 26 ++- tags | 309 ++++++++++++++++--------------- 7 files changed, 288 insertions(+), 205 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 6770677a1..638ca846e 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,3 +1,23 @@ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:100:1-19: warning: [-Wunused-top-binds] + Defined but not used: ‘determineTermCursor’ + | +100 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + | ^^^^^^^^^^^^^^^^^^^ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:100:21-24: warning: [-Wunused-matches] + Defined but not used: ‘tmid’ + | +100 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + | ^^^^ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:100:26: warning: [-Wunused-matches] + Defined but not used: ‘u’ + | +100 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + | ^ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:113:1-18: warning: [-Wunused-top-binds] + Defined but not used: ‘drawWireRectCursor’ + | +113 | drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] + | ^^^^^^^^^^^^^^^^^^ /home/justin/Haskell/loop/src/Dodge/Update.hs:306:1-27: warning: [-Wunused-top-binds] Defined but not used: ‘updateMouseInventoryEffects’ | @@ -8,18 +28,30 @@ | 306 | updateMouseInventoryEffects cfig w = w | ^^^^ -/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:106:21-24: warning: [-Wunused-matches] +/home/justin/Haskell/loop/src/Dodge/Update.hs:419:9-12: warning: [-Wunused-matches] Defined but not used: ‘tmid’ | -106 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do - | ^^^^ -/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:106:26: warning: [-Wunused-matches] - Defined but not used: ‘u’ +419 | tmid <- w ^? hud . hudElement . subInventory . termID + | ^^^^ +/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:(121,24)-(128,71): warning: [GHC-62161] [-Wincomplete-patterns] + Pattern match(es) are non-exhaustive + In a case alternative: + Patterns of type ‘MouseContext’ not matched: + NoMouseContext + MouseAiming + OverInvSelect _ + OverInvFilt _ + ... | -106 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do +121 | trydocombination = case w ^. input . mouseContext of + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... +/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:126:26: warning: [-Wunused-matches] + Defined but not used: ‘i’ + | +126 | OverCombCombine (i,j) -> (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ | ^ -/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:113:1-18: warning: [-Wunused-top-binds] - Defined but not used: ‘drawWireRectCursor’ +/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:126:28: warning: [-Wunused-matches] + Defined but not used: ‘j’ | -113 | drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] - | ^^^^^^^^^^^^^^^^^^ +126 | OverCombCombine (i,j) -> (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ + | ^ diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 9fe9b3394..92cb6c9d7 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -18,9 +18,14 @@ data PressType data MouseContext = NoMouseContext - | OverInv { _mcoInv :: (Int,Int)} - | OverCombInv { _mcoCombInv :: (Int,Int)} - | OverTerminalScreen + | MouseAiming + | OverInvSelect { _mcoInvSelect :: (Int,Int)} + | OverInvFilt { _mcoInvFilt :: (Int,Int)} + | OverCombSelect { _mcoCombSelect :: (Int,Int)} + | OverCombCombine { _mcoCombCombine :: (Int,Int)} + | OverCombFilter + | OverTerminalReturn + | OverTerminalEscape data Input = Input { _mousePos :: Point2 -- in pixels, from the center of the screen diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 221c3f00d..cb34aca8c 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -117,7 +117,8 @@ drawMouseOver :: Configuration -> World -> Picture drawMouseOver cfig w = fromMaybe mempty $ invsel <|> combinvsel where invsel = do - (j, i) <- w ^? input . mouseContext . mcoInv + (j, i) <- w ^? input . mouseContext . mcoInvSelect <|> + w ^? input . mouseContext . mcoInvFilt sss <- w ^? hud . hudElement . diSections let idp = invDisplayParams w return . translateScreenPos cfig (invDisplayParams w ^. ldpPos) @@ -125,7 +126,8 @@ drawMouseOver cfig w = fromMaybe mempty $ invsel <|> combinvsel $ selSecDrawCursorAt 15 idp curs sss (j, i) curs = BackdropCursor combinvsel = do - (j, i) <- w ^? input . mouseContext . mcoCombInv + (j, i) <- (w ^? input . mouseContext . mcoCombSelect) + <|> (w ^? input . mouseContext . mcoCombCombine) sss <- w ^? hud . hudElement . subInventory . ciSections let idp = secondColumnParams return . translateScreenPos cfig (idp ^. ldpPos) @@ -179,9 +181,7 @@ drawExamineInventory cfig w = secondColumnParams cfig ( defaultSelectionList & slItems - .~ map -- tweakItems itm - -- ++ - f + .~ map f ( makeParagraph 55 $ yourAugmentedItem itemInfo @@ -191,7 +191,6 @@ drawExamineInventory cfig w = ) ) where - -- itm = yourSelectedItem w f str = SelectionItem { _siPictures = [str] diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 6467c8c44..e06b12d04 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -20,7 +20,6 @@ fixedCoordPictures :: Universe -> Picture fixedCoordPictures u = drawMenuOrHUD cfig u <> drawConcurrentMessage u - <> drawMouseCursor u <> ttl (translate hw 0 $ drawList (map text (_uvTestString u u))) <> ttl ( translate (0.5 * hw) (- hh) @@ -31,6 +30,7 @@ fixedCoordPictures u = ) <> displayFrameTicks u <> aimDelaySweep (u ^. uvWorld) + <> drawMouseCursor u where cfig = _uvConfig u hw = halfWidth cfig @@ -78,23 +78,17 @@ drawMouseCursor u = $ mouseCursorType u mouseCursorType :: Universe -> Picture -mouseCursorType u - | isselect = drawPlus 5 - | Just tmid <- u ^? uvWorld . hud . hudElement . subInventory . termID = determineTermCursor tmid u - | Just csel <- u ^? uvWorld . hud . hudElement . subInventory . ciSelection = - if ( csel == u ^? uvWorld . input . mouseContext . mcoCombInv - || null (u ^? uvWorld . input . mouseContext . mcoCombInv) - ) - && null (u ^? uvWorld . input . mouseContext . mcoInv) - && fmap fst csel /= Just (-1) - && fromMaybe True (u ^? uvWorld . hud . hudElement . subInventory . ciSections . ix 0 . ssItems . ix 0 . siIsSelectable) --HACK to check there is something creatable - then drawGapPlus 5 - else drawPlus 5 - | otherwise = rotate a (drawPlus 5) +mouseCursorType u = case u ^. uvWorld . input . mouseContext of + NoMouseContext -> drawPlus 5 + MouseAiming -> rotate a (drawPlus 5) + OverInvSelect {} -> drawSelect 5 + OverInvFilt {} -> drawCombFilter 5 + OverCombSelect {} -> drawSelect 5 + OverCombFilter {} -> drawCombFilterJump 5 + OverCombCombine {} -> drawGapPlus 5 + OverTerminalReturn -> drawReturn + OverTerminalEscape -> rotate (pi/4) $ drawPlus 5 where - isselect = - not (null $ u ^. uvScreenLayers) - || not (null $ u ^? uvWorld . input . mouseContext . mcoInv) w = u ^. uvWorld a = fromMaybe 0 $ do cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos @@ -107,7 +101,13 @@ determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do return drawReturn drawReturn :: Picture -drawReturn = scale 0.1 0.1 . translate (-50) (-100) $ text [toEnum 153] +drawReturn = fold + [line [V2 0 0, V2 3 3] + ,line [V2 0 0, V2 3 (-3)] + ,line [V2 0 0, V2 6 0] + ,line [V2 6 0, V2 6 10] + ] +--drawReturn = scale 0.1 0.1 . translate (-50) (-100) $ text [toEnum 153] drawWireRectCursor :: Picture drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] @@ -116,6 +116,23 @@ drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] drawPlus :: Float -> Picture drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]] +drawCombFilterJump :: Float -> Picture +drawCombFilterJump x = rotate (0.25*pi) + $ fold [line [V2 0 0, V2 x 0], line [V2 0 0, V2 0 x]] + +drawSelect :: Float -> Picture +drawSelect x = line + [ V2 x x + , V2 0 x + , V2 0 (-x) + , V2 x (-x) + ] <> + line [V2 (-x) 0, V2 0 0] + +drawCombFilter :: Float -> Picture +drawCombFilter x = rotate (0.25*pi) + $ fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 0]] + --drawDoublePlus :: Float -> Picture --drawDoublePlus x = fold [line [V2 (- (1.5*x)) 0, V2 (1.5*x) 0] -- , line [V2 (0.5 * x) (- x), V2 (0.5 * x) x] diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index a5ea4cefe..36435c745 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -389,19 +389,36 @@ shiftInvItemsDown (_, i) x w = fromMaybe w $ do updateMouseContext :: Configuration -> World -> World updateMouseContext cfig w = - w & input . mouseContext .~ fromMaybe NoMouseContext + w & input . mouseContext .~ fromMaybe aimcontext (overinv <|> overcomb <|> overterm) where + aimcontext + | ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming + | otherwise = NoMouseContext overinv = do sss <- w ^? hud . hudElement . diSections - guard $ - ButtonRight `M.notMember` (w ^. input . mouseButtons) - || not (null $ w ^? hud . hudElement . subInventory . ciSelection) - fmap OverInv $ inverseSelNumPos cfig (invDisplayParams w) sss (w ^. input . mousePos) + selpos <- inverseSelNumPos cfig (invDisplayParams w) sss (w ^. input . mousePos) + case w ^? hud . hudElement . subInventory . ciSelection of + Just _ -> return $ OverInvFilt selpos + _ -> do + guard $ ButtonRight `M.notMember` (w ^. input . mouseButtons) + return $ OverInvSelect selpos overcomb = do sss <- w ^? hud . hudElement . subInventory . ciSections - fmap OverCombInv $ inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos) - overterm = Nothing + msel <- w ^? hud . hudElement . subInventory . ciSelection . _Just + let mpossel = inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos) + case mpossel of + Nothing -> usecsel msel + Just (-1,_) -> return OverCombFilter + Just x | x == msel -> return $ OverCombCombine x + Just x -> return $ OverCombSelect x +-- fmap OverCombCombine $ inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos) + usecsel (-1,_) = return OverCombFilter + usecsel x = return $ OverCombCombine x + overterm = do + tmid <- w ^? hud . hudElement . subInventory . termID + guard True + return OverTerminalReturn updateWheelEvents :: World -> World updateWheelEvents w diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 6cd1eec60..635175842 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -108,7 +108,7 @@ updateCombineInvClick :: World -> World updateCombineInvClick msel sss w = fromMaybe trydocombination $ do - (i,j) <- w ^? input . mouseContext . mcoInv + (i,j) <- w ^? input . mouseContext . mcoInvFilt guard $ i == 0 str <- fmap (take 5) $ w ^? hud . hudElement . diSections . ix i . ssItems . ix j . siPictures . ix 0 @@ -118,18 +118,26 @@ updateCombineInvClick msel sss w = fromMaybe trydocombination $ do & hud . hudElement . subInventory . ciFilter .~ Nothing _ -> w & hud . hudElement . subInventory . ciFilter ?~ ("<" ++ str) where - trydocombination = case w ^? input . mouseContext . mcoCombInv of - x@(Just (i,_)) - | x /= msel -> w & hud . hudElement . subInventory . ciSelection .~ x + trydocombination = case w ^. input . mouseContext of + OverCombSelect x -> w & hud . hudElement . subInventory . ciSelection ?~ x & worldEventFlags . at CombineInventoryChange ?~ () - | i == -1 -> w & hud . hudElement . subInventory . ciFilter .~ Nothing + OverCombFilter -> w & hud . hudElement . subInventory . ciFilter .~ Nothing & worldEventFlags . at CombineInventoryChange ?~ () - _ | (w ^? hud . hudElement . subInventory . ciSelection . _Just . _1) == Just (-1) - -> w & hud . hudElement . subInventory . ciFilter .~ Nothing - & worldEventFlags . at CombineInventoryChange ?~ () - _ -> (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ + OverCombCombine (i,j) -> (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ tryCombine sss msel w & worldEventFlags . at CombineInventoryChange ?~ () + +-- x@(Just (i,_)) +-- | x /= msel -> w & hud . hudElement . subInventory . ciSelection .~ x +-- & worldEventFlags . at CombineInventoryChange ?~ () +-- | i == -1 -> w & hud . hudElement . subInventory . ciFilter .~ Nothing +-- & worldEventFlags . at CombineInventoryChange ?~ () +-- _ | (w ^? hud . hudElement . subInventory . ciSelection . _Just . _1) == Just (-1) +-- -> w & hud . hudElement . subInventory . ciFilter .~ Nothing +-- & worldEventFlags . at CombineInventoryChange ?~ () +-- _ -> (worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $ +-- tryCombine sss msel w +-- & worldEventFlags . at CombineInventoryChange ?~ () updatePressedButtonsCarte :: World -> World updatePressedButtonsCarte w = updatePressedButtonsCarte' (_mouseButtons (_input w)) w diff --git a/tags b/tags index fdd781582..ad47d6cdf 100644 --- a/tags +++ b/tags @@ -516,7 +516,7 @@ Display src/Dodge/Item/Display.hs 1;" m DisplayCarte src/Dodge/Data/HUD.hs 25;" C DisplayInventory src/Dodge/Data/HUD.hs 17;" C DisplayInventory src/Dodge/DisplayInventory.hs 2;" m -DisplayTerminal src/Dodge/Data/HUD.hs 45;" C +DisplayTerminal src/Dodge/Data/HUD.hs 44;" C Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 6;" m Distortion src/Dodge/Distortion.hs 1;" m @@ -820,7 +820,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C HOSE src/Dodge/Data/Item/Combine.hs 32;" C -HUD src/Dodge/Data/HUD.hs 47;" t +HUD src/Dodge/Data/HUD.hs 46;" t HUD src/Dodge/Data/HUD.hs 6;" m HUD src/Dodge/Render/HUD.hs 3;" m HUDElement src/Dodge/Data/HUD.hs 16;" t @@ -904,7 +904,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 25;" t +Input src/Dodge/Data/Input.hs 29;" 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 @@ -1079,7 +1079,7 @@ Location src/Dodge/Item/Location.hs 1;" m LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t Lock src/Dodge/Inventory/Lock.hs 1;" m LockAndKey src/Dodge/LockAndKey.hs 1;" m -LockedInventory src/Dodge/Data/HUD.hs 44;" C +LockedInventory src/Dodge/Data/HUD.hs 43;" C LoneWolf src/Dodge/Data/Creature/State.hs 46;" C LongAI src/Dodge/Data/Creature/Misc.hs 60;" C LongDoor src/Dodge/Room/LongDoor.hs 2;" m @@ -1191,6 +1191,7 @@ MountedLS src/Dodge/Data/MountedObject.hs 12;" C MountedObject src/Dodge/Data/MountedObject.hs 11;" t MountedObject src/Dodge/Data/MountedObject.hs 6;" m MountedProp src/Dodge/Data/MountedObject.hs 13;" C +MouseAiming src/Dodge/Data/Input.hs 21;" C MouseContext src/Dodge/Data/Input.hs 19;" t MouseInvDrag src/Dodge/Data/HUD.hs 30;" C MouseInvNothing src/Dodge/Data/HUD.hs 31;" C @@ -1353,9 +1354,12 @@ 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 -OverCombInv src/Dodge/Data/Input.hs 22;" C -OverInv src/Dodge/Data/Input.hs 21;" C -OverTerminalScreen src/Dodge/Data/Input.hs 23;" C +OverCombCombine src/Dodge/Data/Input.hs 24;" C +OverCombFilter src/Dodge/Data/Input.hs 25;" C +OverCombSelect src/Dodge/Data/Input.hs 23;" C +OverInv src/Dodge/Data/Input.hs 22;" C +OverTerminalEscape src/Dodge/Data/Input.hs 27;" C +OverTerminalReturn src/Dodge/Data/Input.hs 26;" 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 @@ -1847,15 +1851,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 45;" C -TSdelete src/Dodge/Data/Input.hs 46;" C -TSdown src/Dodge/Data/Input.hs 51;" C -TSescape src/Dodge/Data/Input.hs 43;" C -TSleft src/Dodge/Data/Input.hs 48;" C -TSreturn src/Dodge/Data/Input.hs 44;" C -TSright src/Dodge/Data/Input.hs 49;" C -TStab src/Dodge/Data/Input.hs 47;" C -TSup src/Dodge/Data/Input.hs 50;" C +TSbackspace src/Dodge/Data/Input.hs 49;" C +TSdelete src/Dodge/Data/Input.hs 50;" C +TSdown src/Dodge/Data/Input.hs 55;" C +TSescape src/Dodge/Data/Input.hs 47;" C +TSleft src/Dodge/Data/Input.hs 52;" C +TSreturn src/Dodge/Data/Input.hs 48;" C +TSright src/Dodge/Data/Input.hs 53;" C +TStab src/Dodge/Data/Input.hs 51;" C +TSup src/Dodge/Data/Input.hs 54;" 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 @@ -1869,7 +1873,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 42;" t +TermSignal src/Dodge/Data/Input.hs 46;" t Terminal src/Dodge/Data/Terminal.hs 32;" t Terminal src/Dodge/Data/Terminal.hs 6;" m Terminal src/Dodge/Debug/Terminal.hs 3;" m @@ -2284,16 +2288,15 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f _camZoom src/Dodge/Data/Camera.hs 26;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f -_carteCenter src/Dodge/Data/HUD.hs 49;" f -_carteRot src/Dodge/Data/HUD.hs 51;" f -_carteZoom src/Dodge/Data/HUD.hs 50;" f +_carteCenter src/Dodge/Data/HUD.hs 48;" f +_carteRot src/Dodge/Data/HUD.hs 50;" f +_carteZoom src/Dodge/Data/HUD.hs 49;" f _ceSideEffect src/Dodge/Data/Universe.hs 62;" f _ceString src/Dodge/Data/Universe.hs 63;" f _ciFilter src/Dodge/Data/HUD.hs 41;" f _ciInfo src/Dodge/Data/Combine.hs 8;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciItem src/Dodge/Data/Combine.hs 7;" f -_ciMouseOver src/Dodge/Data/HUD.hs 42;" f _ciSections src/Dodge/Data/HUD.hs 39;" f _ciSelection src/Dodge/Data/HUD.hs 40;" f _cigType src/Dodge/Data/Camera.hs 19;" f @@ -2317,9 +2320,9 @@ _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 33;" f -_clickWorldPos src/Dodge/Data/Input.hs 35;" f -_closeObjects src/Dodge/Data/HUD.hs 52;" f +_clickPos src/Dodge/Data/Input.hs 37;" f +_clickWorldPos src/Dodge/Data/Input.hs 39;" 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 _cloudVBO src/Data/Preload/Render.hs 47;" f @@ -2598,11 +2601,11 @@ _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 34;" f +_heldPos src/Dodge/Data/Input.hs 38;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f -_heldWorldPos src/Dodge/Data/Input.hs 36;" f +_heldWorldPos src/Dodge/Data/Input.hs 40;" f _hud src/Dodge/Data/World.hs 47;" f -_hudElement src/Dodge/Data/HUD.hs 48;" f +_hudElement src/Dodge/Data/HUD.hs 47;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f @@ -2740,8 +2743,9 @@ _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 -_mcoCombInv src/Dodge/Data/Input.hs 22;" f -_mcoInv src/Dodge/Data/Input.hs 21;" f +_mcoCombCombine src/Dodge/Data/Input.hs 24;" f +_mcoCombSelect src/Dodge/Data/Input.hs 23;" f +_mcoInv src/Dodge/Data/Input.hs 22;" 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 @@ -2767,10 +2771,10 @@ _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 30;" f -_mouseContext src/Dodge/Data/Input.hs 27;" f -_mouseMoving src/Dodge/Data/Input.hs 28;" f -_mousePos src/Dodge/Data/Input.hs 26;" f +_mouseButtons src/Dodge/Data/Input.hs 34;" f +_mouseContext src/Dodge/Data/Input.hs 31;" f +_mouseMoving src/Dodge/Data/Input.hs 32;" f +_mousePos src/Dodge/Data/Input.hs 30;" 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 @@ -2875,7 +2879,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 29;" f +_pressedKeys src/Dodge/Data/Input.hs 33;" 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 @@ -2997,14 +3001,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 31;" f +_scrollAmount src/Dodge/Data/Input.hs 35;" 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 38;" f -_scrollTestInt src/Dodge/Data/Input.hs 39;" f +_scrollTestFloat src/Dodge/Data/Input.hs 42;" f +_scrollTestInt src/Dodge/Data/Input.hs 43;" f _scurColor src/Dodge/Data/SelectionList.hs 32;" f _scurPos src/Dodge/Data/SelectionList.hs 30;" f _scurSize src/Dodge/Data/SelectionList.hs 31;" f @@ -3060,7 +3064,7 @@ _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f _slItems src/Dodge/Data/SelectionList.hs 25;" f _slSelPos src/Dodge/Data/SelectionList.hs 26;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 32;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 36;" f _soundAngDist src/Sound/Data.hs 53;" f _soundChannel src/Sound/Data.hs 52;" f _soundChunkID src/Sound/Data.hs 57;" f @@ -3111,11 +3115,11 @@ _tcEffect src/Dodge/Data/Terminal.hs 122;" f _tcHelp src/Dodge/Data/Terminal.hs 121;" f _tcString src/Dodge/Data/Terminal.hs 119;" f _tempLightSources src/Dodge/Data/LWorld.hs 137;" f -_termID src/Dodge/Data/HUD.hs 45;" f +_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 37;" f +_textInput src/Dodge/Data/Input.hs 41;" f _textureObject src/Shader/Data.hs 95;" f _tiFocus src/Dodge/Data/Terminal.hs 21;" f _tiSel src/Dodge/Data/Terminal.hs 22;" f @@ -3336,10 +3340,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 416;" f +advanceScrollAmount src/Dodge/Update.hs 428;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 134;" f +aimDelaySweep src/Dodge/Render/Picture.hs 151;" 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 @@ -3581,7 +3585,7 @@ 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 703;" f +checkEndGame src/Dodge/Update.hs 715;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3608,7 +3612,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 756;" f +clClSpringVel src/Dodge/Update.hs 768;" 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 @@ -3628,14 +3632,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 199;" f +closeObjectInfo src/Dodge/Render/HUD.hs 203;" 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 726;" f +cloudEffect src/Dodge/Update.hs 738;" 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 @@ -3664,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 309;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 313;" f combineItemListYouX src/Dodge/Combine.hs 33;" f combineList src/Dodge/Combine.hs 20;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f @@ -3706,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 774;" f +crCrSpring src/Dodge/Update.hs 786;" 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 @@ -3727,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 769;" f +crSpring src/Dodge/Update.hs 781;" 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 @@ -3963,7 +3967,7 @@ detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 190;" f determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 56;" f determineProjectileTracking src/Dodge/HeldUse.hs 485;" f -determineTermCursor src/Dodge/Render/Picture.hs 105;" f +determineTermCursor src/Dodge/Render/Picture.hs 98;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diffAngles src/Geometry.hs 196;" f difference src/Geometry.hs 130;" f @@ -3980,7 +3984,7 @@ displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 40;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f -displayTerminalLineString src/Dodge/Update.hs 445;" f +displayTerminalLineString src/Dodge/Update.hs 457;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4020,7 +4024,7 @@ doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" 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 189;" f +doItemTimeScroll src/Dodge/Update.hs 190;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f @@ -4037,7 +4041,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 197;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 205;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4054,7 +4058,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 194;" f +doTimeScroll src/Dodge/Update.hs 195;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 108;" f doWallRotate src/Dodge/Update/Camera.hs 188;" f @@ -4064,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 427;" f +doWorldEvents src/Dodge/Update.hs 439;" 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 @@ -4087,12 +4091,13 @@ drawBlock src/Dodge/Block/Draw.hs 7;" f drawBoundingBox src/Dodge/Debug/Picture.hs 301;" f drawBul src/Dodge/Bullet/Draw.hs 9;" f drawButton src/Dodge/Button/Draw.hs 9;" f -drawCIMouseOver src/Dodge/Render/HUD.hs 116;" f 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 -drawCombineInventory src/Dodge/Render/HUD.hs 151;" f +drawCombFilter src/Dodge/Render/Picture.hs 132;" f +drawCombFilterJump src/Dodge/Render/Picture.hs 118;" f +drawCombineInventory src/Dodge/Render/HUD.hs 162;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 63;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f @@ -4102,27 +4107,26 @@ drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 66;" f drawDDATest src/Dodge/Debug/Picture.hs 256;" f -drawDIMouseOver src/Dodge/Render/HUD.hs 107;" f -drawDISelections src/Dodge/Render/HUD.hs 134;" f +drawDISelections src/Dodge/Render/HUD.hs 145;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f -drawExamineInventory src/Dodge/Render/HUD.hs 169;" f +drawExamineInventory src/Dodge/Render/HUD.hs 176;" 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 65;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 125;" f +drawGapPlus src/Dodge/Render/Picture.hs 142;" f drawGib src/Dodge/Prop/Draw.hs 28;" f -drawHP src/Dodge/Render/HUD.hs 55;" f -drawHUD src/Dodge/Render/HUD.hs 47;" f +drawHP src/Dodge/Render/HUD.hs 56;" f +drawHUD src/Dodge/Render/HUD.hs 48;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 18;" f drawInspectWall src/Dodge/Debug/Picture.hs 209;" f drawInspectWalls src/Dodge/Debug/Picture.hs 197;" f -drawInventory src/Dodge/Render/HUD.hs 64;" f +drawInventory src/Dodge/Render/HUD.hs 65;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLampCover src/Dodge/Prop/Draw.hs 44;" f drawLaser src/Dodge/Laser/Draw.hs 6;" f @@ -4137,6 +4141,7 @@ drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 58;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f drawMouseCursor src/Dodge/Render/Picture.hs 74;" f +drawMouseOver src/Dodge/Render/HUD.hs 116;" f drawMousePosition src/Dodge/Debug/Picture.hs 319;" f drawMovingShape src/Dodge/Prop/Draw.hs 67;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f @@ -4145,18 +4150,19 @@ drawOptions src/Dodge/Render/MenuScreen.hs 32;" 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 116;" f +drawPlus src/Dodge/Render/Picture.hs 115;" 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 217;" f +drawRBOptions src/Dodge/Render/HUD.hs 221;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f -drawReturn src/Dodge/Render/Picture.hs 109;" f -drawRootCursor src/Dodge/Render/HUD.hs 82;" f +drawReturn src/Dodge/Render/Picture.hs 102;" f +drawRootCursor src/Dodge/Render/HUD.hs 84;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f +drawSelect src/Dodge/Render/Picture.hs 122;" f drawSelectionList src/Dodge/Render/List.hs 33;" f drawSelectionListBackground src/Dodge/Render/List.hs 52;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f @@ -4168,13 +4174,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 143;" f -drawSweep src/Dodge/Render/Picture.hs 141;" f +drawSubInventory src/Dodge/Render/HUD.hs 154;" f +drawSweep src/Dodge/Render/Picture.hs 158;" 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 346;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 350;" f drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f drawText src/Picture/Base.hs 220;" f drawTitle src/Dodge/Render/MenuScreen.hs 48;" f @@ -4188,7 +4194,7 @@ drawWallSearchRays src/Dodge/Debug/Picture.hs 265;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 189;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 180;" f drawWeapon src/Dodge/Creature/Volition.hs 14;" f -drawWireRectCursor src/Dodge/Render/Picture.hs 112;" f +drawWireRectCursor src/Dodge/Render/Picture.hs 111;" f drawWlIDs src/Dodge/Debug/Picture.hs 329;" f drawZoneCol src/Dodge/Debug/Picture.hs 117;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f @@ -4223,7 +4229,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 275;" f +equipAllocString src/Dodge/Render/HUD.hs 279;" 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 @@ -4316,7 +4322,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 204;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 208;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f @@ -4349,7 +4355,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 240;" f +functionalUpdate src/Dodge/Update.hs 241;" f fuseFunc src/Dodge/Path.hs 150;" f fusePairs src/Dodge/Path.hs 153;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f @@ -4395,12 +4401,12 @@ 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 125;" f +getMouseInvSel src/Dodge/Render/HUD.hs 136;" f getNodePos src/Dodge/Path.hs 31;" f getPretty src/AesonHelp.hs 7;" f getPrettyShort src/AesonHelp.hs 10;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f -getRootItemBounds src/Dodge/Render/HUD.hs 98;" f +getRootItemBounds src/Dodge/Render/HUD.hs 107;" f getSensor src/Dodge/Terminal.hs 190;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f getSplitString src/Dodge/Debug/Terminal.hs 123;" f @@ -4427,7 +4433,7 @@ glassWallDamage src/Dodge/Wall/DamageEffect.hs 48;" f glushortSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 136;" f -gotoTerminal src/Dodge/Update.hs 125;" f +gotoTerminal src/Dodge/Update.hs 126;" f grahamEliminate src/Geometry/Polygon.hs 125;" f grahamScan src/Geometry/Polygon.hs 116;" f grapeCannon src/Dodge/Item/Held/Cone.hs 38;" f @@ -4587,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 385;" f +invHead src/Dodge/Render/HUD.hs 389;" 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 @@ -4598,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 284;" f -inventoryExtraH src/Dodge/Render/HUD.hs 295;" f +inventoryExtra src/Dodge/Render/HUD.hs 288;" f +inventoryExtraH src/Dodge/Render/HUD.hs 299;" f inventoryX src/Dodge/Creature.hs 115;" f inverseSelBoundaryDown src/Dodge/SelectionSections.hs 256;" f inverseSelBoundaryUp src/Dodge/SelectionSections.hs 243;" f @@ -4765,7 +4771,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 374;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 378;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f @@ -4886,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 688;" f +markWallSeen src/Dodge/Update.hs 700;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4897,8 +4903,8 @@ 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 359;" f -maybeOpenTerminal src/Dodge/Update.hs 120;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 367;" f +maybeOpenTerminal src/Dodge/Update.hs 121;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f maybeWarmupStatus src/Dodge/Item/Display.hs 119;" f @@ -5017,7 +5023,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 717;" f +mvGust src/Dodge/Update.hs 729;" 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 @@ -5126,11 +5132,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 294;" f +pauseGame src/Dodge/Update/Input/InGame.hs 302;" 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 180;" f +pauseTime src/Dodge/Update.hs 181;" 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 @@ -5285,7 +5291,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 680;" f +ppEvents src/Dodge/Update.hs 692;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5413,7 +5419,7 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 34;" f regexCombs src/Dodge/DisplayInventory.hs 67;" f regexIn src/Regex.hs 4;" f -regexList src/Dodge/DisplayInventory.hs 325;" f +regexList src/Dodge/DisplayInventory.hs 324;" f regexList src/Regex.hs 7;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f reloadLevelStart src/Dodge/Save.hs 71;" f @@ -5570,8 +5576,8 @@ scrollCommands src/Dodge/Update/Scroll.hs 134;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f scrollRBOption src/Dodge/Update/Scroll.hs 111;" f scrollSelectionSections src/Dodge/SelectionSections.hs 30;" f -scrollTimeBack src/Dodge/Update.hs 204;" f -scrollTimeForward src/Dodge/Update.hs 224;" f +scrollTimeBack src/Dodge/Update.hs 205;" f +scrollTimeForward src/Dodge/Update.hs 225;" 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 @@ -5587,11 +5593,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 445;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 468;" f +selNumPos src/Dodge/Render/HUD.hs 449;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 472;" f selSecDrawCursor src/Dodge/Render/List.hs 125;" f selSecDrawCursorAt src/Dodge/Render/List.hs 103;" f -selSecSelCol src/Dodge/Render/HUD.hs 491;" f +selSecSelCol src/Dodge/Render/HUD.hs 495;" f selSecSelSize src/Dodge/SelectionSections.hs 182;" f selSecYint src/Dodge/SelectionSections.hs 191;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f @@ -5609,7 +5615,7 @@ sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f setChannelPos src/Sound.hs 149;" f -setClickWorldPos src/Dodge/Update.hs 95;" f +setClickWorldPos src/Dodge/Update.hs 96;" f setClusterID src/Dodge/Combine/Graph.hs 103;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -5627,7 +5633,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 469;" f +setOldPos src/Dodge/Update.hs 481;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5734,7 +5740,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 765;" f +simpleCrSprings src/Dodge/Update.hs 777;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5783,7 +5789,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 297;" f +spaceAction src/Dodge/Update/Input/InGame.hs 305;" 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 @@ -5952,7 +5958,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 167;" f +timeFlowUpdate src/Dodge/Update.hs 168;" 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 @@ -5961,7 +5967,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 449;" f +tmUpdate src/Dodge/Update.hs 461;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5979,8 +5985,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 31;" f toggleCommand src/Dodge/Terminal.hs 197;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 321;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 336;" f +toggleMap src/Dodge/Update/Input/InGame.hs 329;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 344;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -6051,7 +6057,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 345;" f +tryCombine src/Dodge/Update/Input/InGame.hs 353;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f @@ -6097,83 +6103,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 232;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 240;" 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 546;" f +updateBullets src/Dodge/Update.hs 558;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 731;" f -updateClouds src/Dodge/Update.hs 575;" f +updateCloud src/Dodge/Update.hs 743;" f +updateClouds src/Dodge/Update.hs 587;" f updateCombineInvClick src/Dodge/Update/Input/InGame.hs 105;" 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 515;" f -updateCreatureSoundPositions src/Dodge/Update.hs 491;" f -updateDebugMessageOffset src/Dodge/Update.hs 89;" f -updateDelayedEvents src/Dodge/Update.hs 794;" f +updateCreatureGroups src/Dodge/Update.hs 527;" f +updateCreatureSoundPositions src/Dodge/Update.hs 503;" f +updateDebugMessageOffset src/Dodge/Update.hs 90;" f +updateDelayedEvents src/Dodge/Update.hs 806;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 536;" f +updateDistortions src/Dodge/Update.hs 548;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 563;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 273;" f +updateEnergyBalls src/Dodge/Update.hs 575;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 281;" 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 560;" f +updateFlames src/Dodge/Update.hs 572;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 95;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 91;" f -updateGusts src/Dodge/Update.hs 714;" f +updateGusts src/Dodge/Update.hs 726;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 505;" f -updateIMl' src/Dodge/Update.hs 510;" f +updateIMl src/Dodge/Update.hs 517;" f +updateIMl' src/Dodge/Update.hs 522;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 176;" f -updateInstantBullets src/Dodge/Update.hs 652;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 184;" f +updateInstantBullets src/Dodge/Update.hs 664;" 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 170;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 159;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 178;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 167;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 434;" f -updateLightSources src/Dodge/Update.hs 539;" f +updateLasers src/Dodge/Update.hs 446;" f +updateLightSources src/Dodge/Update.hs 551;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 191;" f -updateMIM src/Dodge/Update.hs 665;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 199;" f +updateMIM src/Dodge/Update.hs 677;" f updateMachine src/Dodge/Machine/Update.hs 18;" f +updateMouseContext src/Dodge/Update.hs 390;" f updateMouseInventoryEffects src/Dodge/Update.hs 305;" f updateMouseInventorySelection src/Dodge/Update.hs 308;" f updateMouseInventorySelection' src/Dodge/Update.hs 313;" f -updateMouseOverCombineInventory src/Dodge/Update.hs 401;" f -updateMouseOverInventory src/Dodge/Update.hs 390;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 527;" f -updateObjMapMaybe src/Dodge/Update.hs 520;" f -updatePastWorlds src/Dodge/Update.hs 422;" f +updateObjCatMaybes src/Dodge/Update.hs 539;" f +updateObjMapMaybe src/Dodge/Update.hs 532;" f +updatePastWorlds src/Dodge/Update.hs 434;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 572;" f +updatePosEvents src/Dodge/Update.hs 584;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 134;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 137;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 142;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 145;" 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 542;" f +updateRadarBlips src/Dodge/Update.hs 554;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 566;" f +updateRadarSweeps src/Dodge/Update.hs 578;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6182,32 +6187,32 @@ 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 683;" f +updateSeenWalls src/Dodge/Update.hs 695;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 557;" f +updateShockwaves src/Dodge/Update.hs 569;" 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 569;" f +updateSparks src/Dodge/Update.hs 581;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 551;" f +updateTeslaArcs src/Dodge/Update.hs 563;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 554;" f +updateTractorBeams src/Dodge/Update.hs 566;" f updateTurret src/Dodge/Machine/Update.hs 47;" f -updateUniverse src/Dodge/Update.hs 69;" f -updateUniverseFirst src/Dodge/Update.hs 80;" f -updateUniverseLast src/Dodge/Update.hs 130;" f -updateUniverseMid src/Dodge/Update.hs 151;" f +updateUniverse src/Dodge/Update.hs 70;" f +updateUniverseFirst src/Dodge/Update.hs 81;" f +updateUniverseLast src/Dodge/Update.hs 131;" f +updateUniverseMid src/Dodge/Update.hs 152;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 34;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f -updateWheelEvents src/Dodge/Update.hs 409;" f -updateWorldEventFlag src/Dodge/Update.hs 114;" f -updateWorldEventFlags src/Dodge/Update.hs 102;" f +updateWheelEvents src/Dodge/Update.hs 421;" f +updateWorldEventFlag src/Dodge/Update.hs 115;" f +updateWorldEventFlags src/Dodge/Update.hs 103;" f upperBody src/Dodge/Creature/Picture.hs 133;" f upperBox src/Shape.hs 154;" f upperBoxHalf src/Shape.hs 220;" f @@ -6359,7 +6364,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 211;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 215;" 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 @@ -6377,9 +6382,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 442;" f +zoneClouds src/Dodge/Update.hs 454;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 486;" f +zoneCreatures src/Dodge/Update.hs 498;" 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