From 9fb5a4e0bed069217de3c8a852b8b441f3d34afd Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 18 May 2026 13:58:00 +0100 Subject: [PATCH] Tab scrolls through inventory sections --- src/Dodge/Creature.hs | 2 - src/Dodge/Creature/Volition.hs | 38 ------ src/Dodge/Render/Picture.hs | 8 +- src/Dodge/SelectionSections.hs | 29 +++-- src/Dodge/Update/Input/InGame.hs | 39 +++++++ tags | 193 +++++++++++++++---------------- 6 files changed, 158 insertions(+), 151 deletions(-) delete mode 100644 src/Dodge/Creature/Volition.hs diff --git a/src/Dodge/Creature.hs b/src/Dodge/Creature.hs index 138416953..3f5e9a0b7 100644 --- a/src/Dodge/Creature.hs +++ b/src/Dodge/Creature.hs @@ -13,7 +13,6 @@ module Dodge.Creature ( module Dodge.Creature.ReaderUpdate, module Dodge.Creature.State, module Dodge.Creature.Test, - module Dodge.Creature.Volition, module Dodge.Creature.YourControl, ) where @@ -35,7 +34,6 @@ import Dodge.Creature.ReaderUpdate import Dodge.Creature.SpreadGunCrit import Dodge.Creature.State import Dodge.Creature.Test -import Dodge.Creature.Volition import Dodge.Creature.YourControl import Dodge.Data.Creature import Dodge.Default diff --git a/src/Dodge/Creature/Volition.hs b/src/Dodge/Creature/Volition.hs deleted file mode 100644 index fb275db96..000000000 --- a/src/Dodge/Creature/Volition.hs +++ /dev/null @@ -1,38 +0,0 @@ --- | Not a good name, perhaps: internal creature actions. -module Dodge.Creature.Volition ( - holsterWeapon, - drawWeapon, --- shootTillEmpty, - shootFirstMiss, -) where - -import Dodge.Data.Creature ---import Dodge.Data.CreatureEffect -import Dodge.SoundLogic.LoadSound -import Geometry - -holsterWeapon, drawWeapon :: Action -holsterWeapon = DoImpulses [ChangePosture AtEase, MakeSound whiteNoiseFadeOutS] -drawWeapon = DoImpulses [ChangePosture Aiming, MakeSound whiteNoiseFadeInS] - ---shootTillEmpty :: Action -----shootTillEmpty = (crCanShoot `DoActionWhile` DoImpulses [UseItem]) ---shootTillEmpty = --- (WdCrBlfromCrBl CrCanShoot `DoActionWhile` DoImpulses [UseItem]) --- `DoActionThen` 20 `WaitThen` holsterWeapon - ---advanceShoot :: Int -> Action ---advanceShoot tcid = lostest `DoActionWhile` --- advanceShoot' `DoActionThen` --- 75 `DoReplicate` --- advanceShoot' --- where --- lostest (w,cr) = canSee (_crID cr) tcid w --- advanceShoot' = ImpulsesList [[UseItem, MoveForward 3]] - -shootFirstMiss :: Action -shootFirstMiss = - LeadTarget (V2 30 50) - `DoActionThen` DoImpulses [UseItem] --- `DoActionThen` (WdCrBlfromCrBl CrCanShoot `DoActionWhile` DoActions [LeadTarget (V2 0 0), DoImpulses [UseItem]]) - `DoActionThen` 20 `WaitThen` holsterWeapon diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 48d24ebe1..b44c02e4c 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -23,7 +23,7 @@ import Picture fixedCoordPictures :: Universe -> Picture fixedCoordPictures u = aimDelaySweep u - <> drawMenuOrHUD cfig u + <> drawMenuOrHUD u <> drawConcurrentMessage u <> toTopLeft cfig (translate (hw - 100) 0 $ drawList (map text (_uvTestString u u))) <> toTopLeft cfig @@ -68,10 +68,10 @@ fpsText x = scale 0.2 0.2 . color col . text $ "ms/frame " ++ show x | otherwise = red -- why config and universe here? -drawMenuOrHUD :: Config -> Universe -> Picture -drawMenuOrHUD cf u = case u ^. uvScreenLayers of +drawMenuOrHUD :: Universe -> Picture +drawMenuOrHUD u = case u ^. uvScreenLayers of [] -> drawHUD u - (x : _) -> drawMenuScreen (u ^? uvWorld . input . mouseContext . mcoMenuClick . _Just) x cf + (x : _) -> drawMenuScreen (u ^? uvWorld . input . mouseContext . mcoMenuClick . _Just) x (u ^. uvConfig) drawConcurrentMessage :: Universe -> Picture drawConcurrentMessage u = diff --git a/src/Dodge/SelectionSections.hs b/src/Dodge/SelectionSections.hs index 18d891be9..6666bea26 100644 --- a/src/Dodge/SelectionSections.hs +++ b/src/Dodge/SelectionSections.hs @@ -13,6 +13,9 @@ module Dodge.SelectionSections ( ssLookupGE, ssLookupLE, sssSelectionSlice, + ssScrollUsing, + ssLookupSecGTLoop, + ssLookupSecLTLoop, ) where import Dodge.ListDisplayParams @@ -91,24 +94,27 @@ ssLookupMaxInSection i sss = do return (i, j, s) ssLookupLT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) -ssLookupLT i j sss = fromMaybe (ssLookupLT' i sss) $ do +ssLookupLT i j sss = fromMaybe (ssLookupSecLT i sss) $ do ss <- sss ^? ix i (j', si) <- IM.lookupLT j (ss ^. ssItems) return $ Just (i, j', si) -ssLookupLT' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) -ssLookupLT' i sss = do +ssLookupSecLTLoop :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) +ssLookupSecLTLoop i sss = ssLookupSecLT i sss <|> ssLookupMax sss + +ssLookupSecLT :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) +ssLookupSecLT i sss = do (i', ss) <- IM.lookupLT i sss case IM.lookupMax (ss ^. ssItems) of Just (j', si) -> return (i', j', si) - Nothing -> ssLookupLT' i' sss + Nothing -> ssLookupSecLT i' sss ssLookupLE' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupLE' i sss = do (i', ss) <- IM.lookupLE i sss case IM.lookupMax (ss ^. ssItems) of Just (j', si) -> return (i', j', si) - Nothing -> ssLookupLT' i' sss + Nothing -> ssLookupSecLT i' sss ssLookupMin :: IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupMin sss = do @@ -116,17 +122,20 @@ ssLookupMin sss = do ssLookupGE' i sss ssLookupGT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) -ssLookupGT i j sss = fromMaybe (ssLookupGT' i sss) $ do +ssLookupGT i j sss = fromMaybe (ssLookupSecGT i sss) $ do ss <- sss ^? ix i (j', si) <- IM.lookupGT j (ss ^. ssItems) return $ Just (i, j', si) -ssLookupGT' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) -ssLookupGT' i sss = do +ssLookupSecGT :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) +ssLookupSecGT i sss = do (i', ss) <- IM.lookupGT i sss case IM.lookupMin (ss ^. ssItems) of Just (j', si) -> return (i', j', si) - Nothing -> ssLookupGT' i' sss + Nothing -> ssLookupSecGT i' sss + +ssLookupSecGTLoop :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) +ssLookupSecGTLoop i sss = ssLookupSecGT i sss <|> ssLookupMin sss ssLookupGE :: XInfinity (Int,Int) -> IMSS a -> Maybe (Int,Int,SelectionItem a) ssLookupGE x sss = case x of @@ -149,7 +158,7 @@ ssLookupGE' i sss = do (i', ss) <- IM.lookupGE i sss case IM.lookupMin (ss ^. ssItems) of Just (j', si) -> return (i', j', si) - Nothing -> ssLookupGT' i' sss + Nothing -> ssLookupSecGT i' sss selSecSelSize :: Int -> Int -> IMSS a -> Maybe Int selSecSelSize i j = (^? ix i . ssItems . ix j . siHeight) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 9d3214e5b..d2e423812 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -53,6 +53,8 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . subInven u & uvWorld . hud . subInventory %~ docombineregexinput sss msel & uvWorld . worldEventFlags . at CombineInventoryChange ?~ () + NoSubInventory | Just 0 <- u ^. uvWorld . input . pressedKeys . at ScancodeTab + -> tabSections u _ | Just (-1) <- disel -> f diInvFilter diInvFilter (-1) _ | Just 2 <- disel -> f diCloseFilter diCloseFilter 2 _ -> updateKeysInGame u @@ -444,8 +446,45 @@ updateInitialPressInGame uv = \case -- the following should be put in a more sensible place ScancodeSlash -> uv & uvWorld %~ updateEnterRegex ScancodeBackspace -> uv & uvWorld %~ updateBackspaceRegex +-- ScancodeTab | NoSubInventory <- uv ^. uvWorld . hud . subInventory +-- -> uv & uvWorld %~ tabSections _ -> uv +tabSections :: Universe -> Universe +tabSections u = u + & uvWorld .hud . diInvFilter %~ (<|> Just "") + & uvWorld .hud . diCloseFilter %~ (<|> Just "") + & updateInventoryPositioning + & h + & f + & g + & updateInventoryPositioning + where + scroll + | ScancodeLShift `M.member` (u ^. uvWorld . input . pressedKeys) + || ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) + = ssLookupSecLTLoop + | otherwise = ssLookupSecGTLoop + h u' = u' & uvWorld.hud . diSelection %~ ssScrollUsing (\i _ -> scroll i) (u' ^. uvWorld . hud . diSections) + f u' = fromMaybe u' $ do + i <- u' ^? uvWorld . hud . diSelection . _Just . slSec + guard $ Just "" == (u' ^. uvWorld . hud . diInvFilter) && (-1) /= i + return $ u' & uvWorld . hud . diInvFilter .~ Nothing + g u' = fromMaybe u' $ do + i <- u' ^? uvWorld . hud . diSelection . _Just . slSec + guard $ Just "" == (u' ^.uvWorld . hud . diCloseFilter) && (2) /= i + return $ u' & uvWorld . hud . diCloseFilter .~ Nothing + +-- | Just (-1) <- ssec = w & scrollAugInvSel 1 & hud . diInvFilter %~ mclose +-- | Just 0 <- ssec = w & hud . diSelection ?~ Sel 2 0 & hud . diCloseFilter %~ (<|> Just "") +-- | Just 1 <- ssec = w & hud . diSelection ?~ Sel 2 0 & hud . diCloseFilter %~ (<|> Just "") +-- | Just 2 <- ssec = w & hud . diCloseFilter %~ mclose & scrollAugInvSel 1 +-- | otherwise = w +-- where +-- mclose (Just "") = Nothing +-- mclose x = x +-- ssec = w ^? hud . diSelection . _Just . slSec + updateLongPressInGame :: Universe -> Scancode -> Universe updateLongPressInGame uv = \case ScancodeF -> over uvWorld youDropItem uv diff --git a/tags b/tags index b4fa807b2..e9d5af220 100644 --- a/tags +++ b/tags @@ -2606,7 +2606,7 @@ aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 64;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 69;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f -addArmour src/Dodge/Creature.hs 75;" f +addArmour src/Dodge/Creature.hs 73;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f @@ -2679,7 +2679,7 @@ applyCME src/Dodge/HeldUse.hs 397;" f applyClip src/Dodge/Debug.hs 191;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f applyEventIO src/Loop.hs 90;" f -applyGravityPU src/Dodge/Projectile/Update.hs 41;" f +applyGravityPU src/Dodge/Projectile/Update.hs 42;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 18;" f applyInvLock src/Dodge/HeldUse.hs 455;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f @@ -2825,7 +2825,7 @@ bossKeyItems src/Dodge/LockAndKey.hs 13;" f bossRoom src/Dodge/Room/Boss.hs 55;" f bounceDir src/Dodge/Bullet.hs 111;" f bouncePoint src/Dodge/Base/Collide.hs 100;" f -bounceSound src/Dodge/Projectile/Update.hs 74;" f +bounceSound src/Dodge/Projectile/Update.hs 75;" f boundPoints src/Bound.hs 9;" f boundPointsRect src/Bound.hs 23;" f boundedGrid src/Grid.hs 17;" f @@ -3016,7 +3016,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 404;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -3296,7 +3296,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 27;" f destroyMount src/Dodge/Wall/Damage.hs 167;" f destroyMounts src/Dodge/Wall/Damage.hs 164;" f -destroyProjectile src/Dodge/Projectile/Update.hs 122;" f +destroyProjectile src/Dodge/Projectile/Update.hs 131;" f detV src/Geometry/Vector.hs 102;" f detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 436;" f @@ -3333,7 +3333,7 @@ dmType src/Dodge/Damage.hs 38;" f doAimTwist src/Dodge/Creature/YourControl.hs 130;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 174;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f -doBarrelSpin src/Dodge/Projectile/Update.hs 179;" f +doBarrelSpin src/Dodge/Projectile/Update.hs 188;" f doBlBl src/Dodge/BlBl.hs 5;" f doBounce src/Dodge/Base/Collide.hs 81;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f @@ -3357,13 +3357,13 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f doDoorMount src/Dodge/Door.hs 32;" f -doDrag src/Dodge/Update/Input/InGame.hs 119;" f -doDragSelect src/Dodge/Update/Input/InGame.hs 191;" f +doDrag src/Dodge/Update/Input/InGame.hs 121;" f +doDragSelect src/Dodge/Update/Input/InGame.hs 193;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f doGenFloat src/Dodge/HeldUse.hs 1186;" f -doGravityPU src/Dodge/Projectile/Update.hs 35;" f +doGravityPU src/Dodge/Projectile/Update.hs 36;" f doHeldUseEffect src/Dodge/HeldUse.hs 379;" f doInPlacements src/Dodge/Layout.hs 106;" f doIndividualPlacements src/Dodge/Layout.hs 118;" f @@ -3377,7 +3377,7 @@ doPreload appDodge/Main.hs 133;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 455;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 473;" f doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f @@ -3388,7 +3388,7 @@ doTabComplete src/Dodge/Terminal.hs 241;" f doTestDrawing src/Dodge/Render.hs 40;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f -doThrust src/Dodge/Projectile/Update.hs 142;" f +doThrust src/Dodge/Projectile/Update.hs 151;" f doTimeScroll src/Dodge/Update.hs 234;" f doTmWdWd src/Dodge/WorldEffect.hs 102;" f doWallRotate src/Dodge/Update/Camera.hs 232;" f @@ -3541,7 +3541,6 @@ drawWallSearchRays src/Dodge/Debug/Picture.hs 323;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 233;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f -drawWeapon src/Dodge/Creature/Volition.hs 14;" f drawWlIDs src/Dodge/Debug/Picture.hs 404;" f drawZone src/Dodge/Debug/Picture.hs 152;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f @@ -3589,8 +3588,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f encircleDistP src/Dodge/Creature/Boid.hs 24;" f encircleP src/Dodge/Creature/Boid.hs 30;" f endArcPos src/Dodge/Tesla.hs 87;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 291;" f -endRegex src/Dodge/Update/Input/InGame.hs 285;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 293;" f +endRegex src/Dodge/Update/Input/InGame.hs 287;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3624,7 +3623,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 191;" f -explodeShell src/Dodge/Projectile/Update.hs 269;" f +explodeShell src/Dodge/Projectile/Update.hs 278;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f @@ -3749,7 +3748,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 175;" f getBulletType src/Dodge/HeldUse.hs 945;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 544;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 562;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f @@ -3887,7 +3886,6 @@ hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 812;" f hiveCrit src/Dodge/Creature/ChaseCrit.hs 101;" f hivePainEffect src/Dodge/Creature/State.hs 66;" f holdForm src/Dodge/Creature/Boid.hs 139;" f -holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 50;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 200;" f @@ -3980,12 +3978,12 @@ invSetSelection src/Dodge/Inventory.hs 255;" f invSetSelectionPos src/Dodge/Inventory.hs 264;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f -inventoryX src/Dodge/Creature.hs 103;" f -inverseSelNumPos src/Dodge/SelectionSections.hs 236;" f -inverseSelNumPosFixedWidth src/Dodge/SelectionSections.hs 240;" f -inverseSelSecYint src/Dodge/SelectionSections.hs 176;" f -inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 189;" f -inverseSelSecYintXPosCheckFixedWidth src/Dodge/SelectionSections.hs 208;" f +inventoryX src/Dodge/Creature.hs 101;" f +inverseSelNumPos src/Dodge/SelectionSections.hs 238;" f +inverseSelNumPosFixedWidth src/Dodge/SelectionSections.hs 242;" f +inverseSelSecYint src/Dodge/SelectionSections.hs 178;" f +inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 191;" f +inverseSelSecYintXPosCheckFixedWidth src/Dodge/SelectionSections.hs 210;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 44;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f invertIntMap src/IntMapHelp.hs 100;" f @@ -4191,7 +4189,7 @@ logMenu src/Dodge/Menu.hs 125;" f logOptions src/Dodge/Menu.hs 140;" f logistic src/Dodge/Base.hs 98;" f longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f -longCrit src/Dodge/Creature.hs 61;" f +longCrit src/Dodge/Creature.hs 59;" f longRoom src/Dodge/Room/LongRoom.hs 22;" f longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f longestCommonPrefix src/Dodge/Debug/Terminal.hs 145;" f @@ -4289,7 +4287,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 566;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 584;" f maybeOpenConsole src/Dodge/Update.hs 136;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f @@ -4354,7 +4352,7 @@ minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 49;" f minOn src/FoldableHelp.hs 35;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f -miniGunCrit src/Dodge/Creature.hs 54;" f +miniGunCrit src/Dodge/Creature.hs 52;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 376;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 368;" f @@ -4385,19 +4383,19 @@ moPos src/Dodge/Data/MountedObject.hs 18;" f modTo src/Geometry/Zone.hs 18;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f mouseCursorType src/Dodge/Render/Picture.hs 94;" f -mouseInvHeight src/Dodge/Update/Input/InGame.hs 202;" f -mouseInvPos src/Dodge/Update/Input/InGame.hs 210;" f -mouseInvPosFixWidth src/Dodge/SelectionSections.hs 228;" f +mouseInvHeight src/Dodge/Update/Input/InGame.hs 204;" f +mouseInvPos src/Dodge/Update/Input/InGame.hs 212;" f +mouseInvPosFixWidth src/Dodge/SelectionSections.hs 230;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f moveBullet src/Dodge/Bullet.hs 200;" f moveCombineSel src/Dodge/Update/Scroll.hs 120;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f movePenBullet src/Dodge/Bullet.hs 206;" f -moveProjectile src/Dodge/Projectile/Update.hs 250;" f +moveProjectile src/Dodge/Projectile/Update.hs 259;" f moveRoomBy src/Dodge/Room/Link.hs 57;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f -moveStuckGrenade src/Dodge/Projectile/Update.hs 229;" f +moveStuckGrenade src/Dodge/Projectile/Update.hs 238;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 106;" f moveWall src/Dodge/Wall/Move.hs 23;" f moveWallID src/Dodge/Wall/Move.hs 18;" f @@ -4407,7 +4405,7 @@ mtTopLabels src/Dodge/Tree/Compose.hs 51;" f mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f muin src/Dodge/RoomLink.hs 147;" f -multGunCrit src/Dodge/Creature.hs 68;" f +multGunCrit src/Dodge/Creature.hs 66;" f multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f @@ -4446,7 +4444,7 @@ newSounds src/Dodge/Creature/Perception.hs 175;" f newSoundsToPlay src/Dodge/SoundSelection.hs 8;" f newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f nextArc src/Dodge/Tesla.hs 61;" f -nextInSectionSS src/Dodge/SelectionSections.hs 37;" f +nextInSectionSS src/Dodge/SelectionSections.hs 39;" f nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f noPic src/ShapePicture.hs 25;" f noShape src/ShapePicture.hs 29;" f @@ -4534,7 +4532,7 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 536;" f +pauseGame src/Dodge/Update/Input/InGame.hs 554;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -4562,7 +4560,7 @@ pincerP''' src/Dodge/Creature/Boid.hs 77;" f pipe src/Dodge/Item/Craftable.hs 29;" f pistol src/Dodge/Item/Held/Stick.hs 18;" f pistolerRoom src/Dodge/Room/Room.hs 351;" f -pjRemoteSetDirection src/Dodge/Projectile/Update.hs 207;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 216;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f @@ -4664,7 +4662,7 @@ pop3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 838;" f popS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f popScreen src/Dodge/Menu/PushPop.hs 6;" f posRms src/Dodge/Tree/Shift.hs 46;" f -posSelSecYint src/Dodge/SelectionSections.hs 158;" f +posSelSecYint src/Dodge/SelectionSections.hs 160;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 36;" f postGenerationProcessing src/Dodge/LevelGen.hs 31;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f @@ -4985,7 +4983,7 @@ screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f scrollAugInvSel src/Dodge/Inventory.hs 267;" f scrollAugNextInSection src/Dodge/Inventory.hs 282;" f scrollRBOption src/Dodge/Update/Scroll.hs 140;" f -scrollSelectionSections src/Dodge/SelectionSections.hs 31;" f +scrollSelectionSections src/Dodge/SelectionSections.hs 33;" f scrollTimeBack src/Dodge/Update.hs 244;" f scrollTimeForward src/Dodge/Update.hs 261;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f @@ -5010,10 +5008,10 @@ selNumPosCardinal src/Dodge/Render/HUD.hs 493;" f selSecDrawCursor src/Dodge/Render/List.hs 102;" f selSecDrawCursorFixWidth src/Dodge/Render/List.hs 120;" f selSecSelCol src/Dodge/Render/HUD.hs 513;" f -selSecSelSize src/Dodge/SelectionSections.hs 154;" f -selSecYint src/Dodge/SelectionSections.hs 163;" f +selSecSelSize src/Dodge/SelectionSections.hs 156;" f +selSecYint src/Dodge/SelectionSections.hs 165;" f selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f -selectionSet src/Dodge/Update/Input/InGame.hs 147;" f +selectionSet src/Dodge/Update/Input/InGame.hs 149;" f semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 68;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 77;" f @@ -5046,9 +5044,9 @@ setOldPos src/Dodge/Update.hs 601;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f -setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 106;" f +setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 108;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 345;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5079,10 +5077,10 @@ shapePoints src/Dodge/Room/Foreground.hs 144;" f shapeVerxSize src/Shape/Parameters.hs 5;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 314;" f -shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f -shellHitCreature src/Dodge/Projectile/Update.hs 90;" f -shellHitFloor src/Dodge/Projectile/Update.hs 108;" f -shellHitWall src/Dodge/Projectile/Update.hs 60;" f +shellExplosionCheck src/Dodge/Projectile/Update.hs 51;" f +shellHitCreature src/Dodge/Projectile/Update.hs 91;" f +shellHitFloor src/Dodge/Projectile/Update.hs 117;" f +shellHitWall src/Dodge/Projectile/Update.hs 61;" f shellMag src/Dodge/Item/Ammo.hs 47;" f shellModule src/Dodge/Item/Scope.hs 128;" f shellShape src/Dodge/Projectile/Draw.hs 35;" f @@ -5091,7 +5089,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 312;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 314;" f shiftInvItemsDown src/Dodge/Inventory.hs 155;" f shiftInvItemsUp src/Dodge/Inventory.hs 165;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f @@ -5112,7 +5110,6 @@ shineTargetLaser src/Dodge/Creature/State.hs 234;" f shineTorch src/Dodge/Creature/State.hs 271;" f shootBullet src/Dodge/HeldUse.hs 1004;" f shootBullets src/Dodge/HeldUse.hs 997;" f -shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootLaser src/Dodge/HeldUse.hs 870;" f shootPlasmaBall src/Dodge/HeldUse.hs 913;" f shootPulseBall src/Dodge/HeldUse.hs 926;" f @@ -5172,8 +5169,9 @@ slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 804;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f +slimeBulge src/Dodge/Projectile/Update.hs 110;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f -slimeEatSound src/Dodge/Projectile/Update.hs 84;" f +slimeEatSound src/Dodge/Projectile/Update.hs 85;" f slimeFood src/Dodge/Update.hs 1071;" f slimeOutline src/Dodge/Creature/Slime.hs 9;" f slimeSuck src/Dodge/Update.hs 1055;" f @@ -5225,7 +5223,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f spPos src/ShapePicture/Data.hs 11;" f -spaceAction src/Dodge/Update/Input/InGame.hs 539;" f +spaceAction src/Dodge/Update/Input/InGame.hs 557;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f @@ -5236,7 +5234,7 @@ sparkDam src/Dodge/Spark.hs 37;" f sparkRandDir src/Dodge/Spark.hs 117;" f sparkToDamage src/Dodge/Spark.hs 40;" f spawnAt src/Dodge/SpawnAt.hs 14;" f -spawnerCrit src/Dodge/Creature.hs 47;" f +spawnerCrit src/Dodge/Creature.hs 45;" f spawnerRoom src/Dodge/Room/Room.hs 390;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f spiderJoint src/Dodge/Creature/Picture.hs 278;" f @@ -5263,42 +5261,42 @@ square src/Geometry/Polygon.hs 56;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f squashNormalizeV src/Geometry/Vector.hs 166;" f -ssLookupDown src/Dodge/SelectionSections.hs 77;" f -ssLookupGE src/Dodge/SelectionSections.hs 131;" f -ssLookupGE' src/Dodge/SelectionSections.hs 147;" f -ssLookupGT src/Dodge/SelectionSections.hs 118;" f -ssLookupGT' src/Dodge/SelectionSections.hs 124;" f -ssLookupLE src/Dodge/SelectionSections.hs 139;" f -ssLookupLE' src/Dodge/SelectionSections.hs 106;" f -ssLookupLT src/Dodge/SelectionSections.hs 93;" f -ssLookupLT' src/Dodge/SelectionSections.hs 99;" f -ssLookupMax src/Dodge/SelectionSections.hs 67;" f -ssLookupMaxInSection src/Dodge/SelectionSections.hs 87;" f -ssLookupMin src/Dodge/SelectionSections.hs 113;" f -ssLookupNextMax src/Dodge/SelectionSections.hs 82;" f -ssLookupUp src/Dodge/SelectionSections.hs 72;" f -ssScrollMinOnFail src/Dodge/SelectionSections.hs 47;" f -ssScrollUsing src/Dodge/SelectionSections.hs 40;" f -ssSetCursor src/Dodge/SelectionSections.hs 58;" f +ssLookupDown src/Dodge/SelectionSections.hs 79;" f +ssLookupGE src/Dodge/SelectionSections.hs 133;" f +ssLookupGE' src/Dodge/SelectionSections.hs 149;" f +ssLookupGT src/Dodge/SelectionSections.hs 120;" f +ssLookupGT' src/Dodge/SelectionSections.hs 126;" f +ssLookupLE src/Dodge/SelectionSections.hs 141;" f +ssLookupLE' src/Dodge/SelectionSections.hs 108;" f +ssLookupLT src/Dodge/SelectionSections.hs 95;" f +ssLookupLT' src/Dodge/SelectionSections.hs 101;" f +ssLookupMax src/Dodge/SelectionSections.hs 69;" f +ssLookupMaxInSection src/Dodge/SelectionSections.hs 89;" f +ssLookupMin src/Dodge/SelectionSections.hs 115;" f +ssLookupNextMax src/Dodge/SelectionSections.hs 84;" f +ssLookupUp src/Dodge/SelectionSections.hs 74;" f +ssScrollMinOnFail src/Dodge/SelectionSections.hs 49;" f +ssScrollUsing src/Dodge/SelectionSections.hs 42;" f +ssSetCursor src/Dodge/SelectionSections.hs 60;" f ssfold src/FoldableHelp.hs 105;" f -sssSelectionSlice src/Dodge/SelectionSections.hs 244;" f +sssSelectionSlice src/Dodge/SelectionSections.hs 246;" f stackPicturesAt src/Dodge/Render/List.hs 96;" f stackPicturesAtOff src/Dodge/Render/List.hs 99;" f stackText src/Picture/Base.hs 180;" f -stackedInventory src/Dodge/Creature.hs 318;" f -startCr src/Dodge/Creature.hs 83;" f +stackedInventory src/Dodge/Creature.hs 316;" f +startCr src/Dodge/Creature.hs 81;" f startCrafts src/Dodge/Room/Start.hs 94;" f startDeathTimer src/Dodge/Creature/Update.hs 495;" f -startDrag src/Dodge/Update/Input/InGame.hs 300;" f -startInvList src/Dodge/Creature.hs 97;" f -startInventory src/Dodge/Creature.hs 100;" f +startDrag src/Dodge/Update/Input/InGame.hs 302;" f +startInvList src/Dodge/Creature.hs 95;" f +startInventory src/Dodge/Creature.hs 98;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f startPara src/Dodge/StartNewGame.hs 29;" f startRoom src/Dodge/Room/Start.hs 53;" f startSeedGame src/Dodge/StartNewGame.hs 21;" f startSeedGameConc src/Dodge/StartNewGame.hs 46;" f statsModifier src/Dodge/Creature/Info.hs 16;" f -stickHitSound src/Dodge/Projectile/Update.hs 77;" f +stickHitSound src/Dodge/Projectile/Update.hs 78;" f stickyMod src/Dodge/Item/Scope.hs 56;" f stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 826;" f @@ -5338,6 +5336,7 @@ t src/ShortShow.hs 48;" f tEast src/Dodge/Room/Corridor.hs 96;" f tToBTree src/Dodge/Tree/Compose.hs 93;" f tWest src/Dodge/Room/Corridor.hs 121;" f +tabSections src/Dodge/Update/Input/InGame.hs 453;" f takeN src/RandomHelp.hs 63;" f takeNMore src/RandomHelp.hs 60;" f takeOne src/RandomHelp.hs 24;" f @@ -5380,7 +5379,7 @@ teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 414;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" f testEvent src/Dodge/Event/Test.hs 11;" f -testInventory src/Dodge/Creature.hs 299;" f +testInventory src/Dodge/Creature.hs 297;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f testStringInit src/Dodge/TestString.hs 60;" f @@ -5519,21 +5518,21 @@ truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 35;" f tryClickUse src/Dodge/Creature/YourControl.hs 205;" f -tryCombine src/Dodge/Update/Input/InGame.hs 556;" f +tryCombine src/Dodge/Update/Input/InGame.hs 574;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 132;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 134;" f tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 18;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 154;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 156;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 64;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f -trySpin src/Dodge/Projectile/Update.hs 130;" f +trySpin src/Dodge/Projectile/Update.hs 139;" f trySynthBullet src/Dodge/Creature/State.hs 200;" f -tryThrust src/Dodge/Projectile/Update.hs 136;" f +tryThrust src/Dodge/Projectile/Update.hs 145;" f tryUseParent src/Dodge/Creature/State.hs 178;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f @@ -5579,7 +5578,7 @@ updateAggroBee src/Dodge/Creature/Update.hs 129;" f updateAimPos src/Dodge/Update.hs 399;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 44;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 502;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f @@ -5623,14 +5622,14 @@ updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 32;" f updateEnergyBalls src/Dodge/Update.hs 774;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 515;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 533;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 771;" f updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 365;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 361;" f updateGas src/Dodge/Update.hs 941;" f updateGusts src/Dodge/Update.hs 903;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f @@ -5638,37 +5637,37 @@ updateHoverCrit src/Dodge/Humanoid.hs 25;" f updateIMl src/Dodge/Update.hs 638;" f updateIMl' src/Dodge/Update.hs 641;" f updateInGameCamera src/Dodge/Update/Camera.hs 87;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 436;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 438;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 293;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 430;" f -updateKeysInGame src/Dodge/Update/Input/InGame.hs 80;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 398;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 432;" f +updateKeysInGame src/Dodge/Update/Input/InGame.hs 82;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 384;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 407;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 516;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 61;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 449;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 467;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 407;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 217;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 219;" f updateMouseContext src/Dodge/Update.hs 420;" f updateMouseContextGame src/Dodge/Update.hs 425;" f -updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 93;" f -updateMouseInGame src/Dodge/Update/Input/InGame.hs 83;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 180;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 182;" f updateObjCatMaybes src/Dodge/Update.hs 656;" f updateObjMapMaybe src/Dodge/Update.hs 649;" f updatePastWorlds src/Dodge/Update.hs 505;" f updatePlasmaBall src/Dodge/Update.hs 530;" f updatePlasmaBalls src/Dodge/Update.hs 679;" f updatePreload src/Preload/Update.hs 21;" f -updateProjectile src/Dodge/Projectile/Update.hs 26;" f +updateProjectile src/Dodge/Projectile/Update.hs 27;" f updatePulse src/Dodge/Creature/Update.hs 549;" f updatePulseBall src/Dodge/Update.hs 550;" f updatePulseLaser src/Dodge/Update.hs 726;" f