diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 929bd0d05..16e2fe759 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -313,14 +313,23 @@ endCombineRegex w = ssSetCursor (ssLookupDown 0 j) sss return (k - 1) startDrag :: (Int, Int) -> World -> World -startDrag (a, b) w = setcontext $ fromMaybe (invSetSelection (Sel a b) w & hud.diSections.ix a.ssSet.~ mempty) $ do - i <- w ^? hud . diSelection . _Just . slSec - xs <- w ^? hud . diSections . ix a . ssSet - guard $ i == a && b `IS.member` xs - return w +startDrag (a, b) w = w + & input . mouseContext .~ OverInvDrag a + & invSetSelectionPos a b + & f where - --setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) - setcontext = input . mouseContext .~ OverInvDrag a + f = fromMaybe id $ do + is <- w ^? hud . diSections . ix a . ssSet + guard $ not $ b `IS.member` is + return $ hud . diSections . ix a . ssSet .~ mempty +-- setcontext $ fromMaybe (invSetSelection (Sel a b) w & hud.diSections.ix a.ssSet.~ mempty) $ do +-- i <- w ^? hud . diSelection . _Just . slSec +-- xs <- w ^? hud . diSections . ix a . ssSet +-- guard $ i == a && b `IS.member` xs +-- return w +-- where +-- --setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) +-- setcontext = input . mouseContext .~ OverInvDrag a shiftInvItems :: Config -> diff --git a/tags b/tags index 588adecb9..864a4d8b3 100644 --- a/tags +++ b/tags @@ -588,8 +588,8 @@ Inanimate src/Dodge/Data/ActionPlan.hs 15;" C IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 11;" C Inertial src/Dodge/Data/Damage.hs 28;" C InheritFloor src/Data/Tile.hs 12;" C -Input src/Dodge/Data/Input.hs 34;" t -InputMemory src/Dodge/Data/Input.hs 53;" t +Input src/Dodge/Data/Input.hs 35;" t +InputMemory src/Dodge/Data/Input.hs 54;" t InputScreen src/Dodge/Data/Universe.hs 92;" C Inspect_wall src/Dodge/Data/Config.hs 106;" C Institution src/Dodge/Data/Scenario.hs 42;" t @@ -778,7 +778,7 @@ MountedObject src/Dodge/Data/MountedObject.hs 13;" t MountedSPic src/Dodge/Data/MountedObject.hs 15;" C MouseAiming src/Dodge/Data/Input.hs 16;" C MouseContext src/Dodge/Data/Input.hs 14;" t -MouseGameRotate src/Dodge/Data/Input.hs 30;" C +MouseGameRotate src/Dodge/Data/Input.hs 31;" C MouseInGame src/Dodge/Data/Input.hs 17;" C MouseMenu src/Dodge/Data/Input.hs 18;" C Mouse_position src/Dodge/Data/Config.hs 86;" C @@ -948,19 +948,19 @@ OpticScope src/Dodge/Data/Item/Scope.hs 12;" C OptionScreen src/Dodge/Data/Universe.hs 82;" C OptionScreenFlag src/Dodge/Data/Universe.hs 70;" t OutLink src/Dodge/Data/Room.hs 48;" C -OutsideTerminal src/Dodge/Data/Input.hs 29;" C +OutsideTerminal src/Dodge/Data/Input.hs 30;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 13;" C -OverCombCombine src/Dodge/Data/Input.hs 24;" C -OverCombEscape src/Dodge/Data/Input.hs 26;" C -OverCombFiltInv src/Dodge/Data/Input.hs 22;" C -OverCombFilter src/Dodge/Data/Input.hs 25;" C -OverCombSelect src/Dodge/Data/Input.hs 23;" C -OverDebug src/Dodge/Data/Input.hs 31;" C +OverCombCombine src/Dodge/Data/Input.hs 25;" C +OverCombEscape src/Dodge/Data/Input.hs 27;" C +OverCombFiltInv src/Dodge/Data/Input.hs 23;" C +OverCombFilter src/Dodge/Data/Input.hs 26;" C +OverCombSelect src/Dodge/Data/Input.hs 24;" C +OverDebug src/Dodge/Data/Input.hs 32;" C OverInvDrag src/Dodge/Data/Input.hs 19;" C -OverInvDragSelect src/Dodge/Data/Input.hs 20;" C -OverInvSelect src/Dodge/Data/Input.hs 21;" C -OverTerminal src/Dodge/Data/Input.hs 27;" C -OverTerminalBar src/Dodge/Data/Input.hs 28;" C +OverInvDragSelect src/Dodge/Data/Input.hs 21;" C +OverInvSelect src/Dodge/Data/Input.hs 22;" C +OverTerminal src/Dodge/Data/Input.hs 28;" C +OverTerminalBar src/Dodge/Data/Input.hs 29;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 55;" C PBSound src/Dodge/Data/SoundOrigin.hs 43;" C @@ -1309,15 +1309,15 @@ TO src/Shader/Data.hs 59;" t 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 72;" C -TSbackspace src/Dodge/Data/Input.hs 60;" C -TSdelete src/Dodge/Data/Input.hs 61;" C -TSdown src/Dodge/Data/Input.hs 66;" C -TSescape src/Dodge/Data/Input.hs 58;" C -TSleft src/Dodge/Data/Input.hs 63;" C -TSreturn src/Dodge/Data/Input.hs 59;" C -TSright src/Dodge/Data/Input.hs 64;" C -TStab src/Dodge/Data/Input.hs 62;" C -TSup src/Dodge/Data/Input.hs 65;" C +TSbackspace src/Dodge/Data/Input.hs 61;" C +TSdelete src/Dodge/Data/Input.hs 62;" C +TSdown src/Dodge/Data/Input.hs 67;" C +TSescape src/Dodge/Data/Input.hs 59;" C +TSleft src/Dodge/Data/Input.hs 64;" C +TSreturn src/Dodge/Data/Input.hs 60;" C +TSright src/Dodge/Data/Input.hs 65;" C +TStab src/Dodge/Data/Input.hs 63;" C +TSup src/Dodge/Data/Input.hs 66;" C TUBE src/Dodge/Data/Item/Combine.hs 52;" C TabComplete src/Dodge/Terminal.hs 160;" C TabCompletion src/Dodge/Terminal.hs 158;" t @@ -1331,7 +1331,7 @@ TargetRBPress src/Dodge/Data/Item/Targeting.hs 10;" C TargetingLaser src/Dodge/Data/Laser.hs 17;" C TargetingType src/Dodge/Data/Item/Targeting.hs 9;" t TeleSound src/Dodge/Data/SoundOrigin.hs 37;" C -TermSignal src/Dodge/Data/Input.hs 57;" t +TermSignal src/Dodge/Data/Input.hs 58;" t Terminal src/Dodge/Data/Terminal.hs 19;" t TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C TerminalLine src/Dodge/Data/Terminal.hs 36;" t @@ -1490,8 +1490,8 @@ WarmTime src/Dodge/Data/Item/Params.hs 19;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C WarningCry src/Dodge/Data/ActionPlan.hs 145;" C -WasMouseGameRotating src/Dodge/Data/Input.hs 54;" C -WasNotMouseGameRotating src/Dodge/Data/Input.hs 55;" C +WasMouseGameRotating src/Dodge/Data/Input.hs 55;" C +WasNotMouseGameRotating src/Dodge/Data/Input.hs 56;" C WatchAndWait src/Dodge/Data/ActionPlan.hs 143;" C WdBl src/Dodge/Data/WorldEffect.hs 56;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 62;" C @@ -1676,8 +1676,8 @@ _clTimer src/Dodge/Data/Cloud.hs 16;" f _clType src/Dodge/Data/Cloud.hs 17;" f _clVel src/Dodge/Data/Cloud.hs 15;" f _clZoning src/Dodge/Data/World.hs 50;" f -_clickPos src/Dodge/Data/Input.hs 43;" f -_clickWorldPos src/Dodge/Data/Input.hs 45;" f +_clickPos src/Dodge/Data/Input.hs 44;" f +_clickWorldPos src/Dodge/Data/Input.hs 46;" f _cliffs src/Dodge/Data/CWorld.hs 34;" f _closeButtons src/Dodge/Data/HUD.hs 36;" f _closeItems src/Dodge/Data/HUD.hs 35;" f @@ -1910,8 +1910,8 @@ _guVel src/Dodge/Data/Gust.hs 14;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f _harvestTarget src/Dodge/Data/ActionPlan.hs 153;" f -_heldPos src/Dodge/Data/Input.hs 44;" f -_heldWorldPos src/Dodge/Data/Input.hs 46;" f +_heldPos src/Dodge/Data/Input.hs 45;" f +_heldWorldPos src/Dodge/Data/Input.hs 47;" f _hiAimStance src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _hiAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f _hiRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" f @@ -1949,7 +1949,7 @@ _incGraph src/Dodge/Data/CWorld.hs 29;" f _incNode src/Dodge/Data/CWorld.hs 30;" f _incNodeZoning src/Dodge/Data/World.hs 56;" f _input src/Dodge/Data/World.hs 44;" f -_inputMemory src/Dodge/Data/Input.hs 50;" f +_inputMemory src/Dodge/Data/Input.hs 51;" f _isWarming src/Dodge/Data/Item/Params.hs 21;" f _itConsumables src/Dodge/Data/Item.hs 28;" f _itID src/Dodge/Data/Item.hs 30;" f @@ -2039,20 +2039,19 @@ _mcSkin src/Dodge/Data/Machine.hs 34;" f _mcTriggerID src/Dodge/Data/Machine.hs 51;" f _mcType src/Dodge/Data/Machine.hs 40;" f _mcdStorageMachine src/Dodge/Data/Machine.hs 50;" f -_mcoBarOffset src/Dodge/Data/Input.hs 28;" f -_mcoCombCombine src/Dodge/Data/Input.hs 24;" f -_mcoCombSelect src/Dodge/Data/Input.hs 23;" f -_mcoDBBool src/Dodge/Data/Input.hs 31;" f -_mcoDBInt src/Dodge/Data/Input.hs 31;" f +_mcoBarOffset src/Dodge/Data/Input.hs 29;" f +_mcoCombCombine src/Dodge/Data/Input.hs 25;" f +_mcoCombSelect src/Dodge/Data/Input.hs 24;" f +_mcoDBBool src/Dodge/Data/Input.hs 32;" f +_mcoDBInt src/Dodge/Data/Input.hs 32;" f _mcoDragSection src/Dodge/Data/Input.hs 19;" f -_mcoInvFilt src/Dodge/Data/Input.hs 22;" f -_mcoInvSelect src/Dodge/Data/Input.hs 21;" f -_mcoMaybeSelect src/Dodge/Data/Input.hs 19;" f +_mcoInvFilt src/Dodge/Data/Input.hs 23;" f +_mcoInvSelect src/Dodge/Data/Input.hs 22;" f _mcoMenuClick src/Dodge/Data/Input.hs 18;" f -_mcoRotateDist src/Dodge/Data/Input.hs 30;" f -_mcoSecSelStart src/Dodge/Data/Input.hs 20;" f -_mcoTermID src/Dodge/Data/Input.hs 27;" f -_mcoTermStatus src/Dodge/Data/Input.hs 27;" f +_mcoRotateDist src/Dodge/Data/Input.hs 31;" f +_mcoSecSelStart src/Dodge/Data/Input.hs 21;" f +_mcoTermID src/Dodge/Data/Input.hs 28;" f +_mcoTermStatus src/Dodge/Data/Input.hs 28;" f _mcsAmount src/Dodge/Data/Machine.hs 49;" f _mcsType src/Dodge/Data/Machine.hs 49;" f _mctTurret src/Dodge/Data/Machine.hs 48;" f @@ -2085,11 +2084,11 @@ _modString src/Dodge/Data/Universe.hs 105;" f _modifications src/Dodge/Data/LWorld.hs 133;" f _mountID src/Dodge/Data/Creature/Stance.hs 32;" f _mountPos src/Dodge/Data/Creature/Stance.hs 32;" f -_mouseButtons src/Dodge/Data/Input.hs 39;" f -_mouseButtonsReleased src/Dodge/Data/Input.hs 40;" f -_mouseContext src/Dodge/Data/Input.hs 36;" f -_mouseMoving src/Dodge/Data/Input.hs 37;" f -_mousePos src/Dodge/Data/Input.hs 35;" f +_mouseButtons src/Dodge/Data/Input.hs 40;" f +_mouseButtonsReleased src/Dodge/Data/Input.hs 41;" f +_mouseContext src/Dodge/Data/Input.hs 37;" f +_mouseMoving src/Dodge/Data/Input.hs 38;" f +_mousePos src/Dodge/Data/Input.hs 36;" f _mtBranches src/Dodge/Data/MetaTree.hs 13;" f _mtLabel src/Dodge/Data/MetaTree.hs 13;" f _mtTree src/Dodge/Data/MetaTree.hs 13;" f @@ -2177,7 +2176,7 @@ _prPos src/Dodge/Data/Prop.hs 15;" f _prRooms src/Dodge/Tree/Shift.hs 31;" f _prRot src/Dodge/Data/Prop.hs 18;" f _preloadData src/Dodge/Data/Universe.hs 30;" f -_pressedKeys src/Dodge/Data/Input.hs 38;" f +_pressedKeys src/Dodge/Data/Input.hs 39;" f _projectiles src/Dodge/Data/LWorld.hs 105;" f _props src/Dodge/Data/LWorld.hs 103;" f _proxReqDead src/Dodge/Data/Machine/Sensor.hs 36;" f @@ -2314,14 +2313,14 @@ _scPara src/Dodge/Data/Universe.hs 94;" f _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f -_scrollAmount src/Dodge/Data/Input.hs 41;" f +_scrollAmount src/Dodge/Data/Input.hs 42;" f _scrollItemID src/Dodge/Data/World.hs 73;" f _scrollItemID src/Dodge/Data/World.hs 82;" f _scrollItemID src/Dodge/Data/World.hs 86;" f _scrollSmoothing src/Dodge/Data/World.hs 70;" f _scrollSmoothing src/Dodge/Data/World.hs 76;" f -_scrollTestFloat src/Dodge/Data/Input.hs 48;" f -_scrollTestInt src/Dodge/Data/Input.hs 49;" f +_scrollTestFloat src/Dodge/Data/Input.hs 49;" f +_scrollTestInt src/Dodge/Data/Input.hs 50;" f _scurColor src/Dodge/Data/SelectionList.hs 29;" f _scurPos src/Dodge/Data/SelectionList.hs 27;" f _scurSize src/Dodge/Data/SelectionList.hs 28;" f @@ -2376,7 +2375,7 @@ _slimeSlimeChange src/Dodge/Data/Creature/Misc.hs 78;" f _slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 81;" f _slinkHeadPos src/Dodge/Data/Creature/Misc.hs 74;" f _slinkSpine src/Dodge/Data/Creature/Misc.hs 73;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 43;" f _soundAngDist src/Sound/Data.hs 47;" f _soundChannel src/Sound/Data.hs 46;" f _soundChunkID src/Sound/Data.hs 51;" f @@ -2437,7 +2436,7 @@ _termID src/Dodge/Data/HUD.hs 27;" f _terminals src/Dodge/Data/LWorld.hs 127;" f _teslaArcs src/Dodge/Data/LWorld.hs 115;" f _testFloat src/Dodge/Data/World.hs 45;" f -_textInput src/Dodge/Data/Input.hs 47;" f +_textInput src/Dodge/Data/Input.hs 48;" f _textureAntiaShader src/Data/Preload/Render.hs 24;" f _textureObject src/Shader/Data.hs 103;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f @@ -2641,7 +2640,7 @@ addZ src/Geometry/Vector3D.hs 90;" f adjustIMZone src/Dodge/Base.hs 81;" f advanceScrollAmount src/Dodge/Update.hs 502;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f -aimDelaySweep src/Dodge/Render/Picture.hs 291;" f +aimDelaySweep src/Dodge/Render/Picture.hs 295;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 150;" f airlock src/Dodge/Room/Airlock.hs 28;" f @@ -3013,7 +3012,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 400;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 416;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -3312,7 +3311,7 @@ dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 848;" f displayConfig src/Dodge/Menu.hs 223;" f displayControls src/Dodge/Menu.hs 239;" f -displayFrameTicks src/Dodge/Render/Picture.hs 50;" f +displayFrameTicks src/Dodge/Render/Picture.hs 53;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f displayIndents src/Dodge/DisplayInventory.hs 111;" f displayPulse src/Dodge/Inventory/SelectionList.hs 192;" f @@ -3356,8 +3355,8 @@ 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 136;" f -doDragSelect src/Dodge/Update/Input/InGame.hs 215;" f +doDrag src/Dodge/Update/Input/InGame.hs 139;" f +doDragSelect src/Dodge/Update/Input/InGame.hs 227;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3376,7 +3375,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 453;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 469;" f doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f @@ -3410,10 +3409,10 @@ doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f doubleV2 src/Geometry.hs 169;" f drawARHUD src/Dodge/Creature/State.hs 221;" f -drawAimSweep src/Dodge/Render/Picture.hs 298;" f +drawAimSweep src/Dodge/Render/Picture.hs 302;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAnySelectionBox src/Dodge/Render/Picture.hs 132;" f -drawArrowDown src/Dodge/Render/Picture.hs 225;" f +drawAnySelectionBox src/Dodge/Render/Picture.hs 136;" f +drawArrowDown src/Dodge/Render/Picture.hs 229;" f drawBaseMachine src/Dodge/Machine/Draw.hs 70;" f drawBeeCrit src/Dodge/Creature/Picture.hs 116;" f drawBlip src/Dodge/RadarBlip.hs 16;" f @@ -3426,9 +3425,9 @@ drawChaseCrit src/Dodge/Creature/Picture.hs 142;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 273;" f +drawCombFilter src/Dodge/Render/Picture.hs 277;" f drawCombineInventory src/Dodge/Render/HUD.hs 183;" f -drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f +drawConcurrentMessage src/Dodge/Render/Picture.hs 75;" f drawCoord src/Dodge/Debug/Picture.hs 396;" f drawCountMod src/Render.hs 231;" f drawCrInfo src/Dodge/Debug.hs 230;" f @@ -3440,18 +3439,18 @@ drawCreatureRad src/Dodge/Debug.hs 314;" f drawCross src/Dodge/Render/Label.hs 25;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 73;" f -drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f +drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 143;" f drawDDATest src/Dodge/Debug/Picture.hs 304;" f drawDamSensor src/Dodge/Machine/Draw.hs 38;" f drawDebug src/Dodge/Debug.hs 268;" f -drawDrag src/Dodge/Render/Picture.hs 204;" f -drawDragDrop src/Dodge/Render/Picture.hs 233;" f -drawDragPickup src/Dodge/Render/Picture.hs 242;" f -drawDragSelect src/Dodge/Render/Picture.hs 197;" f +drawDrag src/Dodge/Render/Picture.hs 208;" f +drawDragDrop src/Dodge/Render/Picture.hs 237;" f +drawDragPickup src/Dodge/Render/Picture.hs 246;" f +drawDragSelect src/Dodge/Render/Picture.hs 201;" f drawDragSelected src/Dodge/Render/HUD.hs 134;" f drawDragSelecting src/Dodge/Render/HUD.hs 151;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f -drawEmptySet src/Dodge/Render/Picture.hs 153;" f +drawEmptySet src/Dodge/Render/Picture.hs 157;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 426;" f drawExamineInventory src/Dodge/Render/HUD.hs 192;" f @@ -3460,7 +3459,7 @@ drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 34;" f drawForceField src/Dodge/Wall/Draw.hs 15;" f -drawGapPlus src/Dodge/Render/Picture.hs 284;" f +drawGapPlus src/Dodge/Render/Picture.hs 288;" f drawGib src/Dodge/Prop/Draw.hs 31;" f drawHUD src/Dodge/Render/HUD.hs 53;" f drawHive src/Dodge/Creature/Picture.hs 113;" f @@ -3471,7 +3470,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInventory src/Dodge/Render/HUD.hs 60;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 328;" f drawItemConnections src/Dodge/Render/HUD.hs 321;" f -drawJumpDown src/Dodge/Render/Picture.hs 192;" f +drawJumpDown src/Dodge/Render/Picture.hs 196;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 198;" f drawLaser src/Dodge/Laser/Update.hs 30;" f @@ -3485,11 +3484,11 @@ drawLoadingScreen src/Dodge/Render/MenuScreen.hs 24;" f drawMachine src/Dodge/Machine/Draw.hs 18;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f drawMapperInventory src/Dodge/Render/HUD.hs 174;" f -drawMenuClick src/Dodge/Render/Picture.hs 168;" f -drawMenuCursor src/Dodge/Render/Picture.hs 180;" f -drawMenuOrHUD src/Dodge/Render/Picture.hs 67;" f +drawMenuClick src/Dodge/Render/Picture.hs 172;" f +drawMenuCursor src/Dodge/Render/Picture.hs 184;" f +drawMenuOrHUD src/Dodge/Render/Picture.hs 70;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 18;" f -drawMouseCursor src/Dodge/Render/Picture.hs 83;" f +drawMouseCursor src/Dodge/Render/Picture.hs 86;" f drawMouseOver src/Dodge/Render/HUD.hs 107;" f drawMousePosition src/Dodge/Debug/Picture.hs 386;" f drawOptions src/Dodge/Render/MenuScreen.hs 36;" f @@ -3497,20 +3496,20 @@ drawPathBetween src/Dodge/Debug/Picture.hs 202;" f drawPathEdge src/Dodge/Debug/Picture.hs 261;" f drawPathing src/Dodge/Debug/Picture.hs 417;" f drawPlasmaBall src/Dodge/Render/ShapePicture.hs 103;" f -drawPlus src/Dodge/Render/Picture.hs 165;" f +drawPlus src/Dodge/Render/Picture.hs 169;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 95;" f drawPulseLaser src/Dodge/Laser/Update.hs 42;" f -drawQuitTerminal src/Dodge/Render/Picture.hs 147;" f +drawQuitTerminal src/Dodge/Render/Picture.hs 151;" f drawRBOptions src/Dodge/Render/HUD.hs 257;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f -drawReturn src/Dodge/Render/Picture.hs 156;" f +drawReturn src/Dodge/Render/Picture.hs 160;" f drawRootCursor src/Dodge/Render/HUD.hs 81;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 32;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 37;" f -drawSelect src/Dodge/Render/Picture.hs 261;" f +drawSelect src/Dodge/Render/Picture.hs 265;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f drawShaderLay src/Render.hs 218;" f @@ -3533,7 +3532,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 49;" f drawTitleBackground src/Dodge/Render/List.hs 60;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 84;" f -drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 216;" f +drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 220;" f drawWall src/Dodge/Wall/Draw.hs 11;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 323;" f @@ -3588,8 +3587,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 294;" f -endRegex src/Dodge/Update/Input/InGame.hs 288;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 306;" f +endRegex src/Dodge/Update/Input/InGame.hs 300;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3656,7 +3655,7 @@ fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 762;" f firstBreather src/Dodge/Room/Breather.hs 9;" f firstTrie src/SimpleTrie.hs 51;" f firstWorldLoad appDodge/Main.hs 68;" f -fixedCoordPictures src/Dodge/Render/Picture.hs 20;" f +fixedCoordPictures src/Dodge/Render/Picture.hs 23;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flFlicker src/Dodge/Flame.hs 39;" f flameMuzzles src/Dodge/HeldUse.hs 352;" f @@ -3702,7 +3701,7 @@ forceField src/Dodge/Wall/ForceField.hs 6;" f forceFoldable src/StrictHelp.hs 7;" f forceSpine src/StrictHelp.hs 4;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 37;" f -fpsText src/Dodge/Render/Picture.hs 57;" f +fpsText src/Dodge/Render/Picture.hs 60;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 148;" f frag src/Shader/Data.hs 110;" f fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f @@ -3748,7 +3747,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 563;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 579;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f @@ -4286,7 +4285,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 599;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 615;" f maybeOpenConsole src/Dodge/Update.hs 136;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f @@ -4381,7 +4380,7 @@ mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 134;" f 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 90;" f +mouseCursorType src/Dodge/Render/Picture.hs 93;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f moveBullet src/Dodge/Bullet.hs 200;" f @@ -4528,7 +4527,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 555;" f +pauseGame src/Dodge/Update/Input/InGame.hs 571;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -5006,7 +5005,7 @@ selSecSelCol src/Dodge/Render/HUD.hs 507;" f selSecSelSize src/Dodge/SelectionSections.hs 178;" f selSecYint src/Dodge/SelectionSections.hs 187;" f selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f -selectionSet src/Dodge/Update/Input/InGame.hs 162;" f +selectionSet src/Dodge/Update/Input/InGame.hs 169;" 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 @@ -5039,9 +5038,9 @@ setOldPos src/Dodge/Update.hs 603;" 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 123;" f +setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 124;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 318;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 344;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 359;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5084,7 +5083,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 325;" f shiftInvItemsDown src/Dodge/Inventory.hs 168;" f shiftInvItemsUp src/Dodge/Inventory.hs 178;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f @@ -5218,7 +5217,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 558;" f +spaceAction src/Dodge/Update/Input/InGame.hs 574;" 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 @@ -5282,7 +5281,7 @@ stackedInventory src/Dodge/Creature.hs 318;" f startCr src/Dodge/Creature.hs 83;" f startCrafts src/Dodge/Room/Start.hs 94;" f startDeathTimer src/Dodge/Creature/Update.hs 495;" f -startDrag src/Dodge/Update/Input/InGame.hs 303;" f +startDrag src/Dodge/Update/Input/InGame.hs 315;" f startInvList src/Dodge/Creature.hs 97;" f startInventory src/Dodge/Creature.hs 100;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f @@ -5326,7 +5325,7 @@ swapItemWith src/Dodge/Inventory.hs 253;" f swapSelSet src/Dodge/Inventory.hs 142;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f -symmetricDifference src/Dodge/Update/Input/InGame.hs 227;" f +symmetricDifference src/Dodge/Update/Input/InGame.hs 239;" f t src/ShortShow.hs 48;" f tEast src/Dodge/Room/Corridor.hs 96;" f tToBTree src/Dodge/Tree/Compose.hs 93;" f @@ -5512,14 +5511,14 @@ 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 575;" f +tryCombine src/Dodge/Update/Input/InGame.hs 591;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 179;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 147;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 154;" f tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 21;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 174;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 181;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 67;" f @@ -5572,7 +5571,7 @@ updateAggroBee src/Dodge/Creature/Update.hs 129;" f updateAimPos src/Dodge/Update.hs 401;" 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 500;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f @@ -5616,14 +5615,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 776;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 519;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 535;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 773;" f updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 361;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 357;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 377;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 373;" f updateGas src/Dodge/Update.hs 943;" f updateGusts src/Dodge/Update.hs 905;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f @@ -5631,30 +5630,30 @@ updateHoverCrit src/Dodge/Humanoid.hs 25;" f updateIMl src/Dodge/Update.hs 640;" f updateIMl' src/Dodge/Update.hs 643;" f updateInGameCamera src/Dodge/Update/Camera.hs 87;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 434;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 450;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 288;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 394;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 428;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 410;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 444;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 81;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 380;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 403;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 396;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 419;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 518;" 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 447;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 463;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 409;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 230;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 242;" f updateMouseContext src/Dodge/Update.hs 422;" f updateMouseContextGame src/Dodge/Update.hs 427;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 94;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 84;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 199;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 206;" f updateObjCatMaybes src/Dodge/Update.hs 658;" f updateObjMapMaybe src/Dodge/Update.hs 651;" f updatePastWorlds src/Dodge/Update.hs 507;" f