From 58c645041fb4ace07a6dae80e81d242bf339768d Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 25 Aug 2025 13:30:04 +0100 Subject: [PATCH] Allow more drag selection to work --- src/Dodge/Data/CardinalPoint.hs | 3 + src/Dodge/Data/Input.hs | 3 +- src/Dodge/Render/HUD.hs | 3 +- src/Dodge/Update/Input/InGame.hs | 23 +++++--- tags | 97 ++++++++++++++++---------------- 5 files changed, 72 insertions(+), 57 deletions(-) diff --git a/src/Dodge/Data/CardinalPoint.hs b/src/Dodge/Data/CardinalPoint.hs index cfdd12bf7..fbf9d01bb 100644 --- a/src/Dodge/Data/CardinalPoint.hs +++ b/src/Dodge/Data/CardinalPoint.hs @@ -23,3 +23,6 @@ data CardinalCover | NSE | NSW | NS + +data AboveBelow = Above | Below + deriving (Eq, Ord, Show, Bounded, Enum) diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index dff6fdafe..36e0daf3e 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -22,7 +22,8 @@ data MouseContext , _mcoAboveSelect :: Maybe (Int,Int) , _mcoBelowSelect :: Maybe (Int,Int) } - | OverInvDragSelect { _mcoSecSelStart :: (Int,Int), _mcoSelEnd :: Maybe Int } +-- | OverInvDragSelect { _mcoSecSelStart :: (Int,Int), _mcoSelEnd :: Maybe Int } + | OverInvDragSelect { _mcoSecSelStart :: Maybe (Int,Int), _mcoSelEnd :: Maybe Int } | OverInvSelect { _mcoInvSelect :: (Int,Int)} | OverCombFiltInv { _mcoInvFilt :: (Int,Int)} | OverCombSelect { _mcoCombSelect :: (Int,Int)} diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 55c084404..f3ba71bf8 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -148,8 +148,7 @@ drawDragSelected cfig w = do drawDragSelecting :: Configuration -> World -> Maybe Picture drawDragSelecting cfig w = do - OverInvDragSelect (i, j) mselend <- w ^? input . mouseContext - b <- mselend + OverInvDragSelect (Just (i, j)) (Just b) <- w ^? input . mouseContext sss <- w ^? hud . hudElement . diSections let f x = selSecDrawCursorAt invDP BackdropCursor sss (i, x) return . translateScreenPos cfig (invDP ^. ldpPos) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 70ce63ae0..71aca509d 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -100,11 +100,17 @@ updateMouseHeldInGame :: Configuration -> World -> World updateMouseHeldInGame cfig w = case w ^. input . mouseContext of OverInvDragSelect {} | ButtonRight `M.member` (w ^. input . mouseButtons) -> w & input . mouseContext .~ MouseGameRotate - OverInvDragSelect sstart _ -> fromMaybe w $ do + OverInvDragSelect (Just sstart) _ -> fromMaybe w $ do sss <- w ^? hud . hudElement . diSections let msel = inverseSelNumPos cfig invDP sss (w ^. input . mousePos) - guard $ Just (fst sstart) == fmap fst msel || isNothing msel + guard $ Just (fst sstart) == fmap fst msel return $ w & input . mouseContext . mcoSelEnd .~ fmap snd msel + OverInvDragSelect Nothing _ -> fromMaybe w $ do + sss <- w ^? hud . hudElement . diSections + ysel <- inverseSelSecYint + (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 _ -> w @@ -157,7 +163,7 @@ updateMouseReleaseInGame w = case w ^. input . mouseContext of OverInvDrag k mpos _ _ -> input . mouseContext .~ MouseInGame $ fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w - OverInvDragSelect ssel mesel + OverInvDragSelect (Just ssel) mesel | ScancodeLShift `M.member` (w ^. input . pressedKeys) -> w & input . mouseContext .~ MouseInGame & hud . hudElement . diSelection . _Just . _3 @@ -172,9 +178,12 @@ updateMouseReleaseInGame w = case w ^. input . mouseContext of OverInvDragSelect _ Nothing -> w & input . mouseContext .~ MouseInGame & hud . hudElement . diSelection . _Just . _3 %~ const mempty - OverInvDragSelect ssel (Just esel) -> + OverInvDragSelect (Just ssel) (Just esel) -> w & input . mouseContext .~ MouseInGame & invSetSelection (f (fst ssel, esel) (h ssel esel)) + OverInvDragSelect Nothing _ -> + w & input . mouseContext .~ MouseInGame + & hud . hudElement . diSelection . _Just . _3 %~ const mempty _ -> w where getuniques x y = IS.union x y IS.\\ IS.intersection x y @@ -193,12 +202,12 @@ isGroupSelectableSection = \case updateMouseClickInGame :: Configuration -> World -> World updateMouseClickInGame cfig w = case w ^. input . mouseContext of - MouseInGame -> fromMaybe w $ do + MouseInGame -> fromMaybe (w & input . mouseContext .~ OverInvDragSelect Nothing Nothing) $ do sss <- w ^? hud . hudElement . diSections ysel <- inverseSelSecYint (posSelSecYint cfig invDP (w ^. input . mousePos . _y)) sss guard (isGroupSelectableSection $ fst ysel) - return $ w & input . mouseContext .~ OverInvDragSelect ysel Nothing + return $ w & input . mouseContext .~ OverInvDragSelect (Just ysel) Nothing OverInvSelect (-1, _) | selsec == Just (-1) -> w @@ -212,7 +221,7 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of OverInvSelect x | ScancodeLShift `M.member` (w ^. input . pressedKeys) && isGroupSelectableSection (fst x) -> - w & input . mouseContext .~ OverInvDragSelect x (Just $ snd x) + w & input . mouseContext .~ OverInvDragSelect (Just x) (Just $ snd x) OverInvSelect x -> startDrag x cfig w OverTerminal tmid TerminalTextInput{} -> terminalReturnEffect tmid w OverTerminal tmid TerminalPressTo{} -> continueTerminal tmid w diff --git a/tags b/tags index a8f1c6839..6156c12c9 100644 --- a/tags +++ b/tags @@ -35,6 +35,8 @@ 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 @@ -124,6 +126,7 @@ 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 @@ -2825,7 +2828,7 @@ capacitor src/Dodge/Item/Ammo.hs 69;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f -cardinalVectors src/Dodge/FloorItem.hs 28;" f +cardinalVectors src/Dodge/FloorItem.hs 24;" f cartePosToScreen src/Dodge/Base/Coordinate.hs 37;" f cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f cenLasTur src/Dodge/Room/LasTurret.hs 24;" f @@ -2926,7 +2929,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 291;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 290;" 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 @@ -2967,14 +2970,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 283;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 282;" 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 394;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 393;" f convexHull src/Geometry/Polygon.hs 110;" f convexHullSafe src/Geometry/Polygon.hs 117;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f @@ -2982,7 +2985,7 @@ coolMachinePistol src/Dodge/Creature/State.hs 101;" f coolMinigun src/Dodge/Creature/State.hs 94;" f copier src/Dodge/Item/Scope.hs 88;" f copierItemUpdate src/Dodge/Creature/State.hs 130;" f -copyItemToFloor src/Dodge/FloorItem.hs 15;" f +copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 376;" f cornerList src/Preload/Render.hs 198;" f corpseOrGib src/Dodge/Creature/Update.hs 102;" f @@ -3017,7 +3020,7 @@ crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 42;" f crMvType src/Dodge/Creature/MoveType.hs 6;" f crNearPoint src/Dodge/Creature/Test.hs 141;" f -crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 24;" f +crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f crRad src/Dodge/Creature/Radius.hs 7;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f @@ -3040,7 +3043,7 @@ createFlIt src/Dodge/Placement/PlaceSpot.hs 185;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f createHeadLamp src/Dodge/Euse.hs 56;" f -createItemYou src/Dodge/Inventory/Add.hs 113;" f +createItemYou src/Dodge/Inventory/Add.hs 60;" f createLightMap src/Render.hs 26;" f createPathGrid src/Dodge/Room/Path.hs 21;" f createProjectile src/Dodge/HeldUse.hs 1313;" f @@ -3311,7 +3314,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 438;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 437;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -3525,8 +3528,8 @@ 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 263;" f -endRegex src/Dodge/Update/Input/InGame.hs 254;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 262;" f +endRegex src/Dodge/Update/Input/InGame.hs 253;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f epText src/Dodge/Inventory/SelectionList.hs 76;" f @@ -3583,7 +3586,7 @@ findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findIndex src/IntMapHelp.hs 85;" f findReverseEdge src/Polyhedra.hs 50;" f findReverseEdgeList src/Polyhedra.hs 57;" f -findWallFreeDropPoint src/Dodge/FloorItem.hs 31;" f +findWallFreeDropPoint src/Dodge/FloorItem.hs 27;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 123;" f fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 552;" f @@ -3687,7 +3690,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 529;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 528;" f getCommand src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 55;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 46;" f @@ -3887,23 +3890,23 @@ interweave src/Justify.hs 17;" f introScan src/Dodge/Item/Scope.hs 57;" f introScanValue src/Dodge/Inventory/SelectionList.hs 80;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj src/Dodge/Item/Grammar.hs 239;" f +invAdj src/Dodge/Item/Grammar.hs 235;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f 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 -invIMDT src/Dodge/Item/Grammar.hs 249;" f -invIndents src/Dodge/Item/Grammar.hs 256;" 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 invItemLocUpdate src/Dodge/Creature/State.hs 70;" f -invRootMap src/Dodge/Item/Grammar.hs 228;" f +invRootMap src/Dodge/Item/Grammar.hs 226;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSetSelection src/Dodge/Inventory.hs 195;" f invSetSelectionPos src/Dodge/Inventory.hs 203;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f -invSize src/Dodge/Inventory/CheckSlots.hs 32;" f +invSize src/Dodge/Inventory/CheckSlots.hs 33;" f inventoryX src/Dodge/Creature.hs 113;" f inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f inverseSelSecYint src/Dodge/SelectionSections.hs 201;" f @@ -3920,7 +3923,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 189;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 188;" f isInLnk src/Dodge/PlacementSpot.hs 169;" f isJust' src/MaybeHelp.hs 29;" f isLHS src/Geometry/LHS.hs 8;" f @@ -4195,7 +4198,7 @@ mapper src/Dodge/Item/Scope.hs 70;" f materialColor src/Dodge/Material/Color.hs 8;" f maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f maxDamageType src/Dodge/Damage.hs 58;" f -maxInvSlots src/Dodge/Inventory/CheckSlots.hs 29;" f +maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f maxShowX src/Dodge/Combine/Graph.hs 50;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f @@ -4205,7 +4208,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 550;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 549;" f maybeOpenConsole src/Dodge/Update.hs 131;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f @@ -4425,7 +4428,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 515;" f +pauseGame src/Dodge/Update/Input/InGame.hs 514;" f pauseMenu src/Dodge/Menu.hs 56;" f pauseMenuOptions src/Dodge/Menu.hs 61;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -4449,8 +4452,8 @@ pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f picFormat src/Polyhedra.hs 23;" f picMap src/Picture/Base.hs 67;" f -pickUpItem src/Dodge/Inventory/Add.hs 121;" f -pickUpItemAt src/Dodge/Inventory/Add.hs 128;" f +pickUpItem src/Dodge/Inventory/Add.hs 68;" f +pickUpItemAt src/Dodge/Inventory/Add.hs 73;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f pincerP src/Dodge/Creature/Boid.hs 61;" f pincerP' src/Dodge/Creature/Boid.hs 94;" f @@ -4956,7 +4959,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 327;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5010,9 +5013,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 301;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 340;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 334;" 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 shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f @@ -5051,9 +5054,9 @@ showEquipItem src/Dodge/Item/Display.hs 107;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f -showManObj src/Dodge/TestString.hs 74;" f +showManObj src/Dodge/TestString.hs 75;" f showTerminalError src/Dodge/Debug/Terminal.hs 78;" f -showTimeFlow src/Dodge/TestString.hs 97;" f +showTimeFlow src/Dodge/TestString.hs 98;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 142;" f shrinkVert src/Geometry/Polygon.hs 146;" f shuffle src/RandomHelp.hs 49;" f @@ -5112,7 +5115,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 519;" f +spaceAction src/Dodge/Update/Input/InGame.hs 518;" 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 @@ -5168,7 +5171,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 272;" f +startDrag src/Dodge/Update/Input/InGame.hs 271;" f startInvList src/Dodge/Creature.hs 107;" f startInventory src/Dodge/Creature.hs 110;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5324,7 +5327,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f -topTestPart src/Dodge/TestString.hs 70;" f +topTestPart src/Dodge/TestString.hs 71;" f torch src/Dodge/Item/Held/Utility.hs 23;" f torchShape src/Dodge/Item/Draw/SPic.hs 290;" f torqueAmount src/Dodge/HeldUse.hs 573;" f @@ -5384,7 +5387,7 @@ 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 540;" f +tryCombine src/Dodge/Update/Input/InGame.hs 539;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 123;" f tryGetChannel src/Sound.hs 97;" f @@ -5393,8 +5396,8 @@ 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 tryPlay src/Sound.hs 84;" f -tryPutItemInInv src/Dodge/Inventory/Add.hs 23;" f -tryPutItemInInvAt src/Dodge/Inventory/Add.hs 51;" f +tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f +tryPutItemInInvAt src/Dodge/Inventory/Add.hs 52;" f trySeedFromClipboard src/Dodge/Menu.hs 91;" f trySpin src/Dodge/Projectile/Update.hs 170;" f trySynthBullet src/Dodge/Creature/State.hs 166;" f @@ -5442,7 +5445,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 472;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 471;" f updateBarrel src/Dodge/Barreloid.hs 41;" f updateBarreloid src/Dodge/Barreloid.hs 15;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f @@ -5472,42 +5475,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 497;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 496;" 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 357;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 350;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 356;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 349;" 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 419;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 418;" 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 388;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 413;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 375;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 397;" 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 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 432;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 431;" f updateMachine src/Dodge/Machine/Update.hs 20;" f updateMagnets src/Dodge/Update.hs 329;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 195;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 194;" 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 156;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 155;" f updateObjCatMaybes src/Dodge/Update.hs 566;" f updateObjMapMaybe src/Dodge/Update.hs 559;" f updatePastWorlds src/Dodge/Update.hs 438;" f