From 004c4d1950265be2cde38bfd010f3287c982c99f Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 26 Aug 2025 11:27:04 +0100 Subject: [PATCH] Commit before removing "above/below" checks on inventory dragging I don't think these actually do anything EDIT: they are actually necessary --- src/Dodge/Data/Input.hs | 5 +- src/Dodge/Render/Picture.hs | 18 +-- src/Dodge/Update.hs | 12 +- src/Dodge/Update/Input/InGame.hs | 34 +++-- tags | 233 ++++++++++++++++--------------- 5 files changed, 147 insertions(+), 155 deletions(-) diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 36e0daf3e..289173228 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -19,10 +19,9 @@ data MouseContext | MouseMenuCursor | OverInvDrag {_mcoDragSection :: Int , _mcoMaybeSelect :: Maybe (Int,Int) - , _mcoAboveSelect :: Maybe (Int,Int) - , _mcoBelowSelect :: Maybe (Int,Int) +-- , _mcoAboveSelect :: Maybe (Int,Int) +-- , _mcoBelowSelect :: Maybe (Int,Int) } --- | OverInvDragSelect { _mcoSecSelStart :: (Int,Int), _mcoSelEnd :: Maybe Int } | OverInvDragSelect { _mcoSecSelStart :: Maybe (Int,Int), _mcoSelEnd :: Maybe Int } | OverInvSelect { _mcoInvSelect :: (Int,Int)} | OverCombFiltInv { _mcoInvFilt :: (Int,Int)} diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 9bbae2892..d5eac96c0 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -91,15 +91,15 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of MouseMenuClick{} -> drawMenuClick 5 MouseMenuCursor -> drawMenuCursor 5 MouseInGame -> drawPlus 5 - OverInvDrag 0 (Just (3, _)) _ _ -> drawDragDrop 5 - OverInvDrag 0 Nothing _ _ -> drawDragDrop 5 - OverInvDrag 0 (Just (0, _)) _ _ -> drawDrag 5 - OverInvDrag 0 _ _ _ -> drawEmptySet 5 - OverInvDrag 3 (Just (3, _)) _ _ -> drawDrag 5 - OverInvDrag 3 (Just (0, _)) _ _ -> drawDragPickup 5 - OverInvDrag 3 (Just (1, _)) _ _ -> drawDragPickup 5 - OverInvDrag 3 Nothing _ _ -> drawDragPickup 5 - OverInvDrag 3 _ _ _ -> drawEmptySet 5 + OverInvDrag 0 (Just (3, _)) -> drawDragDrop 5 + OverInvDrag 0 Nothing -> drawDragDrop 5 + OverInvDrag 0 (Just (0, _)) -> drawDrag 5 + OverInvDrag 0 _ -> drawEmptySet 5 + OverInvDrag 3 (Just (3, _)) -> drawDrag 5 + OverInvDrag 3 (Just (0, _)) -> drawDragPickup 5 + OverInvDrag 3 (Just (1, _)) -> drawDragPickup 5 + OverInvDrag 3 Nothing -> drawDragPickup 5 + OverInvDrag 3 _ -> drawEmptySet 5 OverInvDrag{} -> drawEmptySet 5 OverInvDragSelect{} -> drawDragSelect 5 OverInvSelect (-1, _) | selsec == Just (-1) -> drawJumpDown 5 diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index cd4e2c18f..d3a8a3a33 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -346,7 +346,7 @@ updateMouseContext cfig u = case u ^? uvScreenLayers . ix 0 of updateMouseContextGame :: Configuration -> Universe -> Universe updateMouseContextGame cfig u = case u ^. uvWorld . input . mouseContext of - OverInvDrag i _ _ _ -> u & uvWorld . input . mouseContext .~ invdrag i + OverInvDrag i _ -> u & uvWorld . input . mouseContext .~ invdrag i OverInvDragSelect{} -> u _ -> u & uvWorld . input . mouseContext @@ -359,19 +359,13 @@ updateMouseContextGame cfig u = case u ^. uvWorld . input . mouseContext of guard $ t1 > t2 return MouseGameRotate aimcontext - -- | Just t1 <- w ^. input . mouseButtons . at ButtonLeft - -- , Just t2 <- w ^. input . mouseButtons . at ButtonRight - -- , t1 > t2 = MouseGameRotate | ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming | otherwise = MouseInGame mpos = w ^. input . mousePos - invdrag i' = fromMaybe (OverInvDrag i' Nothing Nothing Nothing) $ do + invdrag i' = fromMaybe (OverInvDrag i' Nothing) $ do sss <- w ^? hud . hudElement . diSections - let yint = posSelSecYint cfig invDP (mpos ^. _y) (i, j) <- inverseSelNumPos cfig invDP sss mpos - let above = inverseSelSecYint (yint - 1) sss - bneath = inverseSelSecYint (yint + 1) sss - return $ OverInvDrag i' (Just (i, j)) above bneath + return $ OverInvDrag i' (Just (i, j)) overinv = do sss <- w ^? hud . hudElement . diSections selpos@(i, j) <- inverseSelNumPos cfig invDP sss mpos diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 71aca509d..8efcf3a15 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -111,19 +111,18 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of (posSelSecYint cfig invDP (w ^. input . mousePos . _y)) sss guard (isGroupSelectableSection $ fst ysel) return $ w & input . mouseContext .~ OverInvDragSelect (Just ysel) Nothing - OverInvDrag k mmouseover ab bn -> doDrag 30 k mmouseover ab bn w + OverInvDrag k mmouseover -> doDrag cfig 30 k mmouseover w _ -> w -doDrag :: Int -> Int -> Maybe (Int, Int) -> Maybe (Int, Int) -> Maybe (Int, Int) -> World -> World ---doDrag 0 _ _ _ _ w = w -doDrag n k mmouseover ab bn w = fromMaybe w $ do +doDrag :: Configuration -> Int -> Int -> Maybe (Int, Int) -> World -> World +doDrag cfig n k mmouseover w = fromMaybe w $ do guard (n /= 0) -- > 0 ? ss <- w ^? hud . hudElement . diSections . ix k . ssItems x <- mmouseover is <- w ^? hud . hudElement . diSelection . _Just . _3 return $ if concurrentIS is - then shiftInvItems n k x ab bn is ss w + then shiftInvItems cfig n k x is ss w else collectInvItems k is w tryDropSelected :: Maybe (Int, Int) -> World -> Maybe World @@ -160,7 +159,7 @@ tryPickupSelected k mpos w = do updateMouseReleaseInGame :: World -> World updateMouseReleaseInGame w = case w ^. input . mouseContext of - OverInvDrag k mpos _ _ -> + OverInvDrag k mpos -> input . mouseContext .~ MouseInGame $ fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w OverInvDragSelect (Just ssel) mesel @@ -222,7 +221,7 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of | ScancodeLShift `M.member` (w ^. input . pressedKeys) && isGroupSelectableSection (fst x) -> w & input . mouseContext .~ OverInvDragSelect (Just x) (Just $ snd x) - OverInvSelect x -> startDrag x cfig w + OverInvSelect x -> startDrag x w OverTerminal tmid TerminalTextInput{} -> terminalReturnEffect tmid w OverTerminal tmid TerminalPressTo{} -> continueTerminal tmid w OutsideTerminal -> w & hud . hudElement . subInventory .~ NoSubInventory @@ -277,16 +276,13 @@ endCombineRegex w = fromMaybe id $ do return (k -1) return $ ssSetCursor (ssLookupDown 0 j) sss -startDrag :: (Int, Int) -> Configuration -> World -> World -startDrag (a, b) cfig w = setcontext +startDrag :: (Int, Int) -> World -> World +startDrag (a, b) w = setcontext $ case w ^? hud . hudElement . diSelection . _Just of Just (i,_,xs) | i == a && b `IS.member` xs -> w _ -> invSetSelection (a, b, IS.singleton b) w where - setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath - above = inverseSelSecYint (yint - 1) =<< w ^? hud . hudElement . diSections - bneath = inverseSelSecYint (yint + 1) =<< w ^? hud . hudElement . diSections - yint = posSelSecYint cfig invDP (w ^. input . mousePos . _y) + setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) concurrentIS :: IS.IntSet -> Bool concurrentIS = go . IS.minView @@ -307,17 +303,19 @@ collectInvItems secid is w = fromMaybe w $ do return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w' shiftInvItems :: + Configuration -> Int -> -- recurse limit Int -> -- section where drag started (Int, Int) -> -- selection item mouse is over - Maybe (Int, Int) -> -- selection item "above" mouse position (can be same as over) - Maybe (Int, Int) -> -- selection item "below" mouse position (can be same as over) IS.IntSet -> IM.IntMap (SelectionItem a) -> World -> World -shiftInvItems n k x ab bn xs ss w = setSelWhileDragging . fromMaybe w $ do +shiftInvItems cfig n k x xs ss w = setSelWhileDragging . fromMaybe w $ do let xk = fst x + let yint = posSelSecYint cfig invDP (w ^. input . mousePos . _y) + bn = inverseSelSecYint (yint + 1) =<< w ^? hud . hudElement . diSections + ab = inverseSelSecYint (yint - 1) =<< w ^? hud . hudElement . diSections guard $ xk == k || xk + 1 == k || xk -1 == k (maxi, _) <- IS.maxView xs (mini, _) <- IS.minView xs @@ -325,11 +323,11 @@ shiftInvItems n k x ab bn xs ss w = setSelWhileDragging . fromMaybe w $ do _ | x < (k, mini) -> do guard $ not . null . fst $ IM.split mini ss guard $ Just (k, mini -1) /= ab - return . doDrag (n -1) k (Just x) ab bn $ shiftInvItemsUp k xs w + return . doDrag cfig (n -1) k (Just x) $ shiftInvItemsUp k xs w _ | x > (k, maxi) -> do guard $ not . null . snd $ IM.split maxi ss guard $ Just (k, maxi + 1) /= bn - return . doDrag (n -1) k (Just x) ab bn $ shiftInvItemsDown k xs w + return . doDrag cfig (n -1) k (Just x) $ shiftInvItemsDown k xs w _ -> Nothing setSelWhileDragging :: World -> World diff --git a/tags b/tags index 6156c12c9..e1bc48727 100644 --- a/tags +++ b/tags @@ -35,8 +35,6 @@ AUTOAMR src/Dodge/Data/Item/Combine.hs 161;" C AUTOPISTOL src/Dodge/Data/Item/Combine.hs 147;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 156;" C AZURE src/Color/Data.hs 23;" C -Above src/Dodge/Data/CardinalPoint.hs 27;" C -AboveBelow src/Dodge/Data/CardinalPoint.hs 27;" t AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C Action src/Dodge/Data/ActionPlan.hs 78;" t ActionNothing src/Dodge/Data/ActionPlan.hs 83;" C @@ -126,7 +124,6 @@ BeamDrawColor src/Dodge/Data/Beam.hs 35;" C BeamSimple src/Dodge/Data/Beam.hs 50;" C BeamType src/Dodge/Data/Beam.hs 46;" t BecomePowerful src/Dodge/Data/Scenario.hs 9;" C -Below src/Dodge/Data/CardinalPoint.hs 27;" C BeltBulletAmmo src/Dodge/Data/AmmoType.hs 8;" C BezierTrajectory src/Dodge/Data/Bullet.hs 44;" C BezierTrajectoryType src/Dodge/Data/Bullet.hs 51;" C @@ -210,9 +207,9 @@ CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 5;" t CapacitorBelow src/Dodge/Data/Muzzle.hs 23;" C CapacitorSF src/Dodge/Data/ComposedItem.hs 42;" C CapacitorSelf src/Dodge/Data/Muzzle.hs 24;" C -CardinalCover src/Dodge/Data/CardinalPoint.hs 21;" t -CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 10;" t -CardinalPoint src/Dodge/Data/CardinalPoint.hs 3;" t +CardinalCover src/Dodge/Data/CardinalPoint.hs 23;" t +CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 12;" t +CardinalPoint src/Dodge/Data/CardinalPoint.hs 5;" t Carriage src/Dodge/Data/Creature/Stance.hs 20;" t ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C @@ -392,8 +389,8 @@ ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 159;" C EQUIP src/Dodge/Data/Item/Combine.hs 18;" C EXPLOSIVES src/Dodge/Data/Item/Combine.hs 118;" C Ears src/Dodge/Data/Creature/Perception.hs 47;" C -East src/Dodge/Data/CardinalPoint.hs 5;" C -East8 src/Dodge/Data/CardinalPoint.hs 13;" C +East src/Dodge/Data/CardinalPoint.hs 7;" C +East8 src/Dodge/Data/CardinalPoint.hs 15;" C EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t EighthRes src/Dodge/Data/Config.hs 97;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C @@ -600,7 +597,7 @@ Inanimate src/Dodge/Data/ActionPlan.hs 17;" C InanimateAI src/Dodge/Data/Creature/Misc.hs 41;" C IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 13;" C InheritFloor src/Data/Tile.hs 12;" C -Input src/Dodge/Data/Input.hs 37;" t +Input src/Dodge/Data/Input.hs 38;" t InputScreen src/Dodge/Data/Universe.hs 92;" C Inspect_wall src/Dodge/Data/Config.hs 91;" C Institution src/Dodge/Data/Scenario.hs 42;" t @@ -796,7 +793,7 @@ MountedObject src/Dodge/Data/MountedObject.hs 11;" t MountedProp src/Dodge/Data/MountedObject.hs 13;" C MouseAiming src/Dodge/Data/Input.hs 16;" C MouseContext src/Dodge/Data/Input.hs 14;" t -MouseGameRotate src/Dodge/Data/Input.hs 34;" C +MouseGameRotate src/Dodge/Data/Input.hs 35;" C MouseInGame src/Dodge/Data/Input.hs 17;" C MouseMenuClick src/Dodge/Data/Input.hs 18;" C MouseMenuCursor src/Dodge/Data/Input.hs 19;" C @@ -831,15 +828,16 @@ NAILBOX src/Dodge/Data/Item/Combine.hs 79;" C NInt src/NewInt.hs 17;" C NIntMap src/NewInt.hs 23;" C NIntSet src/NewInt.hs 20;" C -NS src/Dodge/Data/CardinalPoint.hs 25;" C -NSE src/Dodge/Data/CardinalPoint.hs 23;" C -NSEW src/Dodge/Data/CardinalPoint.hs 22;" C -NSW src/Dodge/Data/CardinalPoint.hs 24;" C +NS src/Dodge/Data/CardinalPoint.hs 27;" C +NSE src/Dodge/Data/CardinalPoint.hs 25;" C +NSEW src/Dodge/Data/CardinalPoint.hs 24;" C +NSW src/Dodge/Data/CardinalPoint.hs 26;" C NULGATE src/Dodge/Data/Item/Combine.hs 30;" C NearCosmicRays src/Dodge/Data/Scenario.hs 84;" C NearDustBelt src/Dodge/Data/Scenario.hs 85;" C NearGravityFlux src/Dodge/Data/Scenario.hs 83;" C NearSolar src/Dodge/Data/Scenario.hs 82;" C +NegInf src/Dodge/Data/CardinalPoint.hs 29;" C NeverUsable src/Dodge/Data/UseCondition.hs 8;" C NewInt src/NewInt.hs 17;" t NewIntMap src/NewInt.hs 23;" t @@ -879,13 +877,14 @@ Noclip src/Dodge/Data/Config.hs 70;" C NodeMTree src/Dodge/Data/MetaTree.hs 14;" C NodeTree src/Dodge/Data/MetaTree.hs 13;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C +NonInf src/Dodge/Data/CardinalPoint.hs 29;" C NormalOptions src/Dodge/Data/Universe.hs 72;" C NormalSpark src/Dodge/Data/Spark.hs 22;" C NormalTimeFlow src/Dodge/Data/World.hs 61;" C -North src/Dodge/Data/CardinalPoint.hs 4;" C -North8 src/Dodge/Data/CardinalPoint.hs 11;" C -NorthEast8 src/Dodge/Data/CardinalPoint.hs 12;" C -NorthWest8 src/Dodge/Data/CardinalPoint.hs 18;" C +North src/Dodge/Data/CardinalPoint.hs 6;" C +North8 src/Dodge/Data/CardinalPoint.hs 13;" C +NorthEast8 src/Dodge/Data/CardinalPoint.hs 14;" C +NorthWest8 src/Dodge/Data/CardinalPoint.hs 20;" C NotClose src/Dodge/Data/Machine/Sensor.hs 43;" C NotLink src/Dodge/Data/Room.hs 66;" C NotPushed src/Dodge/Data/Door.hs 30;" C @@ -955,17 +954,17 @@ OptionScreen src/Dodge/Data/Universe.hs 82;" C OptionScreenFlag src/Dodge/Data/Universe.hs 72;" t OutAction src/Dodge/Creature/Action.hs 46;" t OutLink src/Dodge/Data/Room.hs 43;" C -OutsideTerminal src/Dodge/Data/Input.hs 33;" C +OutsideTerminal src/Dodge/Data/Input.hs 34;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C -OverCombCombine src/Dodge/Data/Input.hs 29;" C -OverCombEscape src/Dodge/Data/Input.hs 31;" C -OverCombFiltInv src/Dodge/Data/Input.hs 27;" C -OverCombFilter src/Dodge/Data/Input.hs 30;" C -OverCombSelect src/Dodge/Data/Input.hs 28;" C +OverCombCombine src/Dodge/Data/Input.hs 30;" C +OverCombEscape src/Dodge/Data/Input.hs 32;" C +OverCombFiltInv src/Dodge/Data/Input.hs 28;" C +OverCombFilter src/Dodge/Data/Input.hs 31;" C +OverCombSelect src/Dodge/Data/Input.hs 29;" C OverInvDrag src/Dodge/Data/Input.hs 20;" C -OverInvDragSelect src/Dodge/Data/Input.hs 25;" C -OverInvSelect src/Dodge/Data/Input.hs 26;" C -OverTerminal src/Dodge/Data/Input.hs 32;" C +OverInvDragSelect src/Dodge/Data/Input.hs 26;" C +OverInvSelect src/Dodge/Data/Input.hs 27;" C +OverTerminal 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 @@ -1026,6 +1025,7 @@ PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C PolyShad src/Picture/Data.hs 36;" C Polyhedra src/Polyhedra/Data.hs 13;" t Polyhedron src/Polyhedra/Data.hs 13;" C +PosInf src/Dodge/Data/CardinalPoint.hs 29;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t Posture src/Dodge/Data/Creature/Stance.hs 34;" t PrWdLsId src/Dodge/Data/Prop.hs 83;" C @@ -1266,10 +1266,10 @@ SoundID src/Sound/Data.hs 32;" t SoundOrigin src/Dodge/Data/SoundOrigin.hs 12;" t SoundStart src/Dodge/Data/WorldEffect.hs 29;" C SoundStatus src/Sound/Data.hs 16;" t -South src/Dodge/Data/CardinalPoint.hs 6;" C -South8 src/Dodge/Data/CardinalPoint.hs 15;" C -SouthEast8 src/Dodge/Data/CardinalPoint.hs 14;" C -SouthWest8 src/Dodge/Data/CardinalPoint.hs 16;" C +South src/Dodge/Data/CardinalPoint.hs 8;" C +South8 src/Dodge/Data/CardinalPoint.hs 17;" C +SouthEast8 src/Dodge/Data/CardinalPoint.hs 16;" C +SouthWest8 src/Dodge/Data/CardinalPoint.hs 18;" C SpaceCity src/Dodge/Data/Scenario.hs 60;" C SpaceColoniser src/Dodge/Data/Scenario.hs 59;" C SpacePort src/Dodge/Data/Scenario.hs 58;" C @@ -1325,15 +1325,15 @@ TORCH src/Dodge/Data/Item/Combine.hs 176;" C TRACTORGUN src/Dodge/Data/Item/Combine.hs 170;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 65;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 71;" 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 +TSbackspace src/Dodge/Data/Input.hs 59;" C +TSdelete src/Dodge/Data/Input.hs 60;" C +TSdown src/Dodge/Data/Input.hs 65;" C +TSescape src/Dodge/Data/Input.hs 57;" C +TSleft src/Dodge/Data/Input.hs 62;" C +TSreturn src/Dodge/Data/Input.hs 58;" C +TSright src/Dodge/Data/Input.hs 63;" C +TStab src/Dodge/Data/Input.hs 61;" C +TSup src/Dodge/Data/Input.hs 64;" C TUBE src/Dodge/Data/Item/Combine.hs 52;" C Tap src/Dodge/Data/SoundOrigin.hs 39;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 14;" C @@ -1342,7 +1342,7 @@ TargetRBPress src/Dodge/Data/Item/Targeting.hs 12;" C TargetingLaser src/Dodge/Data/Laser.hs 18;" C TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t TeleSound src/Dodge/Data/SoundOrigin.hs 36;" C -TermSignal src/Dodge/Data/Input.hs 55;" t +TermSignal src/Dodge/Data/Input.hs 56;" t Terminal src/Dodge/Data/Terminal.hs 21;" t TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C TerminalLine src/Dodge/Data/Terminal.hs 38;" t @@ -1513,14 +1513,15 @@ WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 32;" C WdYouPos src/Dodge/Data/WorldEffect.hs 42;" C WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C -West src/Dodge/Data/CardinalPoint.hs 7;" C -West8 src/Dodge/Data/CardinalPoint.hs 17;" C +West src/Dodge/Data/CardinalPoint.hs 9;" C +West8 src/Dodge/Data/CardinalPoint.hs 19;" C WlID src/Dodge/Data/CrWlID.hs 12;" C Wood src/Dodge/Data/Material.hs 11;" C World src/Dodge/Data/World.hs 35;" t WorldEffects src/Dodge/Data/WorldEffect.hs 25;" C WorldEventFlag src/Dodge/Data/World.hs 30;" t WorldGovernment src/Dodge/Data/Scenario.hs 52;" C +XInfinity src/Dodge/Data/CardinalPoint.hs 29;" t YELLOW src/Color/Data.hs 18;" C ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 93;" C ZombieFaction src/Dodge/Data/Creature/State.hs 16;" C @@ -1677,8 +1678,8 @@ _cldtParent src/Dodge/Data/DoubleTree.hs 47;" f _cldtParent src/Dodge/Data/DoubleTree.hs 56;" f _cldtUp src/Dodge/Data/DoubleTree.hs 45;" f _cldtUp src/Dodge/Data/DoubleTree.hs 53;" f -_clickPos src/Dodge/Data/Input.hs 46;" f -_clickWorldPos src/Dodge/Data/Input.hs 48;" f +_clickPos src/Dodge/Data/Input.hs 47;" f +_clickWorldPos src/Dodge/Data/Input.hs 49;" f _closeButtons src/Dodge/Data/HUD.hs 48;" f _closeItems src/Dodge/Data/HUD.hs 47;" f _cloudEBO src/Data/Preload/Render.hs 51;" f @@ -1907,8 +1908,8 @@ _guTime src/Dodge/Data/Gust.hs 17;" f _guVel src/Dodge/Data/Gust.hs 16;" f _gusts src/Dodge/Data/LWorld.hs 105;" f _gwWorld src/Dodge/Data/GenWorld.hs 24;" f -_heldPos src/Dodge/Data/Input.hs 47;" f -_heldWorldPos src/Dodge/Data/Input.hs 49;" f +_heldPos src/Dodge/Data/Input.hs 48;" f +_heldWorldPos src/Dodge/Data/Input.hs 50;" f _hotkeys src/Dodge/Data/LWorld.hs 150;" f _hud src/Dodge/Data/World.hs 45;" f _hudElement src/Dodge/Data/HUD.hs 43;" f @@ -2039,17 +2040,17 @@ _mcWallIDs src/Dodge/Data/Machine.hs 33;" f _mcWidth src/Dodge/Data/Machine.hs 44;" f _mcoAboveSelect src/Dodge/Data/Input.hs 22;" f _mcoBelowSelect src/Dodge/Data/Input.hs 23;" f -_mcoCombCombine src/Dodge/Data/Input.hs 29;" f -_mcoCombSelect src/Dodge/Data/Input.hs 28;" f +_mcoCombCombine src/Dodge/Data/Input.hs 30;" f +_mcoCombSelect src/Dodge/Data/Input.hs 29;" f _mcoDragSection src/Dodge/Data/Input.hs 20;" f -_mcoInvFilt src/Dodge/Data/Input.hs 27;" f -_mcoInvSelect src/Dodge/Data/Input.hs 26;" f +_mcoInvFilt src/Dodge/Data/Input.hs 28;" f +_mcoInvSelect src/Dodge/Data/Input.hs 27;" f _mcoMaybeSelect src/Dodge/Data/Input.hs 21;" f _mcoMenuClick src/Dodge/Data/Input.hs 18;" f -_mcoSecSelStart src/Dodge/Data/Input.hs 25;" f -_mcoSelEnd src/Dodge/Data/Input.hs 25;" f -_mcoTermID src/Dodge/Data/Input.hs 32;" f -_mcoTermStatus src/Dodge/Data/Input.hs 32;" f +_mcoSecSelStart src/Dodge/Data/Input.hs 26;" f +_mcoSelEnd src/Dodge/Data/Input.hs 26;" f +_mcoTermID src/Dodge/Data/Input.hs 33;" f +_mcoTermStatus src/Dodge/Data/Input.hs 33;" f _mctTurret src/Dodge/Data/Machine.hs 53;" f _mdBool src/Dodge/Data/Modification.hs 21;" f _mdExternalID src/Dodge/Data/Modification.hs 17;" f @@ -2073,11 +2074,11 @@ _moString src/Dodge/Data/Universe.hs 110;" f _modOption src/Dodge/Data/Universe.hs 100;" f _modString src/Dodge/Data/Universe.hs 98;" f _modifications src/Dodge/Data/LWorld.hs 135;" 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 +_mouseButtons src/Dodge/Data/Input.hs 43;" f +_mouseButtonsReleased src/Dodge/Data/Input.hs 44;" f +_mouseContext src/Dodge/Data/Input.hs 40;" f +_mouseMoving src/Dodge/Data/Input.hs 41;" f +_mousePos src/Dodge/Data/Input.hs 39;" f _mtBranches src/Dodge/Data/MetaTree.hs 10;" f _mtLabel src/Dodge/Data/MetaTree.hs 10;" f _mtTree src/Dodge/Data/MetaTree.hs 10;" f @@ -2183,7 +2184,7 @@ _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 33;" f _pressPlates src/Dodge/Data/LWorld.hs 138;" f -_pressedKeys src/Dodge/Data/Input.hs 41;" f +_pressedKeys src/Dodge/Data/Input.hs 42;" f _projectiles src/Dodge/Data/LWorld.hs 108;" f _props src/Dodge/Data/LWorld.hs 106;" f _proxDist src/Dodge/Data/Machine/Sensor.hs 29;" f @@ -2299,14 +2300,14 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f _screenTextureVAO src/Data/Preload/Render.hs 52;" f -_scrollAmount src/Dodge/Data/Input.hs 44;" f +_scrollAmount src/Dodge/Data/Input.hs 45;" 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 51;" f -_scrollTestInt src/Dodge/Data/Input.hs 52;" f +_scrollTestFloat src/Dodge/Data/Input.hs 52;" f +_scrollTestInt src/Dodge/Data/Input.hs 53;" f _scurColor src/Dodge/Data/SelectionList.hs 26;" f _scurPos src/Dodge/Data/SelectionList.hs 24;" f _scurSize src/Dodge/Data/SelectionList.hs 25;" f @@ -2351,7 +2352,7 @@ _skVel src/Dodge/Data/Spark.hs 15;" f _skinHead src/Dodge/Data/Creature/Misc.hs 78;" f _skinLower src/Dodge/Data/Creature/Misc.hs 80;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 79;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 45;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 46;" f _soundAngDist src/Sound/Data.hs 49;" f _soundChannel src/Sound/Data.hs 48;" f _soundChunkID src/Sound/Data.hs 53;" f @@ -2403,7 +2404,7 @@ _termID src/Dodge/Data/HUD.hs 40;" f _terminals src/Dodge/Data/LWorld.hs 128;" f _teslaArcs src/Dodge/Data/LWorld.hs 116;" f _testFloat src/Dodge/Data/World.hs 43;" f -_textInput src/Dodge/Data/Input.hs 50;" f +_textInput src/Dodge/Data/Input.hs 51;" f _textureObject src/Shader/Data.hs 95;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f _tileArrayZ src/Data/Tile.hs 24;" f @@ -2912,7 +2913,7 @@ clockCycle src/Dodge/Clock.hs 9;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 223;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 208;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f -closeObjectInfo src/Dodge/Render/HUD.hs 223;" f +closeObjectInfo src/Dodge/Render/HUD.hs 222;" f closestCreatureID src/Dodge/Debug.hs 116;" f closestPointOnLine src/Geometry/Intersect.hs 281;" f closestPointOnLineParam src/Geometry/Intersect.hs 297;" f @@ -2929,7 +2930,7 @@ cogRaised src/Dodge/Creature/Perception.hs 102;" f colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f collectDamageTypes src/Dodge/Damage.hs 53;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 290;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 299;" f collide3 src/Dodge/Base/Collide.hs 119;" f collide3Chasm src/Dodge/Base/Collide.hs 103;" f collide3Chasms src/Dodge/Base/Collide.hs 96;" f @@ -2952,7 +2953,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 43;" f combineAwareness src/Dodge/Creature/Perception.hs 110;" f combineFloors src/Dodge/Room/Procedural.hs 172;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 339;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 338;" f combineItemListYouX src/Dodge/Combine.hs 35;" f combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f @@ -2970,14 +2971,14 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f conEffects src/Dodge/Concurrent.hs 12;" f conLDTToConDT src/Dodge/DoubleTree.hs 22;" f -concurrentIS src/Dodge/Update/Input/InGame.hs 282;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 291;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f connectionBlurb src/Dodge/Terminal.hs 46;" f connectionBlurbLines src/Dodge/Terminal.hs 38;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 393;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f convexHull src/Geometry/Polygon.hs 110;" f convexHullSafe src/Geometry/Polygon.hs 117;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f @@ -3287,7 +3288,7 @@ doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 40;" f doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 48;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 56;" f doDrWdWd src/Dodge/DrWdWd.hs 16;" f -doDrag src/Dodge/Update/Input/InGame.hs 111;" f +doDrag src/Dodge/Update/Input/InGame.hs 117;" f doDrawing src/Dodge/Render.hs 34;" f doDrawing' src/Dodge/Render.hs 45;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3314,7 +3315,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 34;" 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 437;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 446;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -3370,7 +3371,7 @@ drawCircCollisionTest src/Dodge/Debug/Picture.hs 116;" f drawCliff src/Dodge/Render/ShapePicture.hs 47;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 268;" f -drawCombineInventory src/Dodge/Render/HUD.hs 179;" f +drawCombineInventory src/Dodge/Render/HUD.hs 178;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f drawCoord src/Dodge/Debug/Picture.hs 364;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f @@ -3393,7 +3394,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 149;" f drawEmptySet src/Dodge/Render/Picture.hs 140;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 134;" f -drawExamineInventory src/Dodge/Render/HUD.hs 195;" f +drawExamineInventory src/Dodge/Render/HUD.hs 194;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f @@ -3407,8 +3408,8 @@ drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f drawInspectWall src/Dodge/Debug/Picture.hs 244;" f drawInspectWalls src/Dodge/Debug/Picture.hs 232;" f drawInventory src/Dodge/Render/HUD.hs 55;" f -drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f -drawItemConnections src/Dodge/Render/HUD.hs 316;" f +drawItemChildrenConnect src/Dodge/Render/HUD.hs 325;" f +drawItemConnections src/Dodge/Render/HUD.hs 315;" f drawJumpDown src/Dodge/Render/Picture.hs 191;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLampCover src/Dodge/Prop/Draw.hs 55;" f @@ -3421,7 +3422,7 @@ drawListYgapScaleYoff src/Dodge/Render/List.hs 95;" f drawListYoff src/Dodge/Render/List.hs 92;" f drawMachine src/Dodge/Machine/Draw.hs 15;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f -drawMapperInventory src/Dodge/Render/HUD.hs 170;" f +drawMapperInventory src/Dodge/Render/HUD.hs 169;" f drawMenuClick src/Dodge/Render/Picture.hs 163;" f drawMenuCursor src/Dodge/Render/Picture.hs 177;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 64;" f @@ -3441,7 +3442,7 @@ drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 26;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 53;" f drawQuitTerminal src/Dodge/Render/Picture.hs 133;" f -drawRBOptions src/Dodge/Render/HUD.hs 248;" f +drawRBOptions src/Dodge/Render/HUD.hs 247;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawReturn src/Dodge/Render/Picture.hs 147;" f @@ -3460,11 +3461,11 @@ drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f -drawSubInventory src/Dodge/Render/HUD.hs 160;" f +drawSubInventory src/Dodge/Render/HUD.hs 159;" f drawSwitch src/Dodge/Button/Draw.hs 16;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalDisplay src/Dodge/Render/HUD.hs 362;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 361;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 220;" f drawTitle src/Dodge/Render/MenuScreen.hs 55;" f @@ -3528,15 +3529,15 @@ encircleCloseP src/Dodge/Creature/Boid.hs 36;" f encircleDistP src/Dodge/Creature/Boid.hs 22;" f encircleP src/Dodge/Creature/Boid.hs 28;" f endArcPos src/Dodge/Tesla.hs 87;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 262;" f -endRegex src/Dodge/Update/Input/InGame.hs 253;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 271;" f +endRegex src/Dodge/Update/Input/InGame.hs 262;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f epText src/Dodge/Inventory/SelectionList.hs 76;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqSiteToPositions src/Dodge/Inventory/RBList.hs 80;" f -equipAllocString src/Dodge/Render/HUD.hs 307;" f +equipAllocString src/Dodge/Render/HUD.hs 306;" f equipAttachPos src/Dodge/Item/Draw.hs 33;" f equipBackgroundEffect src/Dodge/Euse.hs 15;" f equipInfo src/Dodge/Item/Info.hs 141;" f @@ -3625,7 +3626,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 200;" f flockPointTargetR src/Dodge/Creature/Boid.hs 267;" f flockToPointUsing src/Dodge/Creature/Boid.hs 215;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 228;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 227;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 121;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f @@ -3690,7 +3691,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 170;" f getBulletType src/Dodge/HeldUse.hs 933;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 528;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 537;" f getCommand src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 55;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 46;" f @@ -3896,7 +3897,7 @@ invDP src/Dodge/ListDisplayParams.hs 30;" f invDT src/Dodge/Item/Grammar.hs 216;" f invDT' src/Dodge/Item/Grammar.hs 221;" f invDimColor src/Dodge/DisplayInventory.hs 191;" f -invHead src/Dodge/Render/HUD.hs 402;" f +invHead src/Dodge/Render/HUD.hs 401;" f invIMDT src/Dodge/Item/Grammar.hs 245;" f invIndents src/Dodge/Item/Grammar.hs 252;" f invItemEffs src/Dodge/Creature/State.hs 62;" f @@ -3923,7 +3924,7 @@ isAnimate src/Dodge/Creature/Test.hs 144;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f isConnected src/Dodge/Inventory/Swap.hs 76;" f isElectrical src/Dodge/Machine/Update.hs 80;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 188;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f isInLnk src/Dodge/PlacementSpot.hs 169;" f isJust' src/MaybeHelp.hs 29;" f isLHS src/Geometry/LHS.hs 8;" f @@ -4078,7 +4079,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 307;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 391;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 390;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f @@ -4208,7 +4209,7 @@ maybeClearPath src/Dodge/Block.hs 72;" f maybeClearPaths src/Dodge/Block.hs 69;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 37;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 549;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 558;" f maybeOpenConsole src/Dodge/Update.hs 131;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f @@ -4428,7 +4429,7 @@ parseNum src/Dodge/Debug/Terminal.hs 75;" 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 514;" f +pauseGame src/Dodge/Update/Input/InGame.hs 523;" f pauseMenu src/Dodge/Menu.hs 56;" f pauseMenuOptions src/Dodge/Menu.hs 61;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -4917,11 +4918,11 @@ sectionsSizes src/Dodge/DisplayInventory.hs 206;" f seedStartMenu src/Dodge/Menu.hs 82;" f seedStartOptions src/Dodge/Menu.hs 85;" f segOnCirc src/Geometry.hs 114;" f -selNumPos src/Dodge/Render/HUD.hs 451;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 474;" f +selNumPos src/Dodge/Render/HUD.hs 450;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 473;" f selSecDrawCursor src/Dodge/Render/List.hs 126;" f selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f -selSecSelCol src/Dodge/Render/HUD.hs 505;" f +selSecSelCol src/Dodge/Render/HUD.hs 504;" f selSecSelSize src/Dodge/SelectionSections.hs 180;" f selSecYint src/Dodge/SelectionSections.hs 189;" f selectCreatureDebugItem src/Dodge/Debug.hs 55;" f @@ -4959,7 +4960,7 @@ setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 335;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5013,9 +5014,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 78;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 84;" f shiftInBy src/Dodge/PlacementSpot.hs 251;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 300;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 339;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 333;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 309;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 348;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 342;" 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 @@ -5115,7 +5116,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 86;" f -spaceAction src/Dodge/Update/Input/InGame.hs 518;" f +spaceAction src/Dodge/Update/Input/InGame.hs 527;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 190;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f @@ -5171,7 +5172,7 @@ stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 310;" f startCr src/Dodge/Creature.hs 92;" f startCrafts src/Dodge/Room/Start.hs 93;" f -startDrag src/Dodge/Update/Input/InGame.hs 271;" f +startDrag src/Dodge/Update/Input/InGame.hs 280;" f startInvList src/Dodge/Creature.hs 107;" f startInventory src/Dodge/Creature.hs 110;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5387,14 +5388,14 @@ truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 225;" f -tryCombine src/Dodge/Update/Input/InGame.hs 539;" f +tryCombine src/Dodge/Update/Input/InGame.hs 548;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 123;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 129;" f tryGetChannel src/Sound.hs 97;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 35;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 38;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 130;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 136;" f tryPlay src/Sound.hs 84;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 52;" f @@ -5445,7 +5446,7 @@ unusedSpotNearInLink src/Dodge/PlacementSpot.hs 201;" f updateAimPos src/Dodge/Update.hs 321;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 44;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 471;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 480;" f updateBarrel src/Dodge/Barreloid.hs 41;" f updateBarreloid src/Dodge/Barreloid.hs 15;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f @@ -5475,42 +5476,42 @@ updateDust src/Dodge/Update.hs 844;" f updateDusts src/Dodge/Update.hs 691;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBalls src/Dodge/Update.hs 679;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 496;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 20;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 676;" f updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 356;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 349;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 365;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 358;" f updateGusts src/Dodge/Update.hs 803;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 544;" f updateIMl' src/Dodge/Update.hs 549;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 418;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 427;" f updateInt2Map src/Dodge/Zoning/Base.hs 92;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 258;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 387;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 412;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 374;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 396;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 421;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 383;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 11;" f updateLasers src/Dodge/Update.hs 450;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 431;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 440;" f updateMachine src/Dodge/Machine/Update.hs 20;" f updateMagnets src/Dodge/Update.hs 329;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 194;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f updateMouseContext src/Dodge/Update.hs 342;" f updateMouseContextGame src/Dodge/Update.hs 347;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 99;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 89;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 155;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 161;" f updateObjCatMaybes src/Dodge/Update.hs 566;" f updateObjMapMaybe src/Dodge/Update.hs 559;" f updatePastWorlds src/Dodge/Update.hs 438;" f @@ -5713,7 +5714,7 @@ yV2 src/Geometry/Vector.hs 210;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 13;" f youDropItem src/Dodge/Creature/Action.hs 195;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 235;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 234;" f yourControl src/Dodge/Creature/YourControl.hs 29;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 110;" f yourInfo src/Dodge/Creature/Info.hs 10;" f