From 2299ec374c1d9f0d26d45a963f645c53ee18ce3b Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 25 Nov 2024 10:03:19 +0000 Subject: [PATCH] Improve x position check over selection items --- ghcidOutput | 2 +- src/Dodge/Inventory.hs | 8 -- src/Dodge/SelectionSections.hs | 61 +++---------- tags | 152 ++++++++++++++++----------------- 4 files changed, 85 insertions(+), 138 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index a32bf4a86..09d0284b5 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (593 modules, at 23:30:12) +All good (593 modules, at 10:03:17) diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index ba07613b9..525cd164b 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -303,11 +303,3 @@ scrollAugNextInSection w = doscroll he = fromMaybe he $ do sss <- he ^? diSections return $ he & diSelection %~ nextInSectionSS sss - ---selectedCloseItem :: World -> Maybe FloorItem ---selectedCloseItem w = do --- i <- --- you w ^? crManipulation . manObject . ispCloseItem --- <|> fmap fst (IM.lookupMin =<< w ^? hud . hudElement . diSections . ix 3 . ssItems) --- flitid <- w ^? hud . closeItems . ix i . unNInt --- w ^? cWorld . lWorld . floorItems . unNIntMap . ix flitid diff --git a/src/Dodge/SelectionSections.hs b/src/Dodge/SelectionSections.hs index 912d9c9cd..6f0992af2 100644 --- a/src/Dodge/SelectionSections.hs +++ b/src/Dodge/SelectionSections.hs @@ -2,17 +2,12 @@ module Dodge.SelectionSections ( scrollSelectionSections, nextInSectionSS, ssLookupDown, - ssLookupGT, - ssTryLookup, ssSetCursor, - -- setFirstPosSelectionSections, selSecYint, selSecSelSize, inverseSelSecYint, posSelSecYint, inverseSelNumPos, - inverseSelBoundaryUp, - inverseSelBoundaryDown, ) where import Control.Applicative @@ -78,12 +73,6 @@ ssSetCursor f sss msel = fromMaybe msel $ do (i, j, _) <- f sss return $ Just (i, j) -ssTryLookup :: Maybe (Int,Int) -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a) -ssTryLookup msel sss = fromMaybe (ssLookupMin sss) $ do - (i,j) <- msel - itm <- sss ^? ix i . ssItems . ix j - return $ Just (i,j,itm) - ssLookupMax :: IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a) ssLookupMax sss = do (i, _) <- IM.lookupMax sss @@ -211,25 +200,21 @@ inverseSelSecYint yint sss = do (j,_) <- L.fold (L.find (\(_,x) -> x - _ssOffset ss > yint)) $ IM.toList ls return (i, j) -inverseSelSecYintXPosCheck :: +inverseSelSecYintXPosCheck :: Configuration -> ListDisplayParams -> Float -> Int -> IM.IntMap (SelectionSection a) -> - Maybe (Int, Int) -inverseSelSecYintXPosCheck cfig ldp x yint sss = do - ((i, ss), othersss) <- IM.minViewWithKey sss - let l = length $ _ssShownItems ss - V2 x0 _ = screenPosAbs cfig (ldp ^. ldpPos) - guard (x - x0 < 150) -- HACK, should determine selection item width and offset below - guard (x > x0) - if l <= yint - then inverseSelSecYint (yint - l) othersss - else do - let ls = L.postscan (L.premap _siHeight L.sum) (_ssItems ss) - j <- L.fold (L.findIndex (\val -> val - _ssOffset ss > yint)) ls - return (i, j) + Maybe (Int,Int) +inverseSelSecYintXPosCheck cfig ldp x yint sss = do + (i,j) <- inverseSelSecYint yint sss + let V2 x0 _ = screenPosAbs cfig (ldp ^. ldpPos) + sindent <- sss ^? ix i . ssIndent + itindent <- sss ^? ix i . ssItems . ix j . siOffX + let x1 = x0 + _ldpScale ldp * 10 * fromIntegral (sindent + itindent) + guard $ x - x1 < 150 && x > x1 + return (i,j) inverseSelNumPos :: Configuration -> @@ -240,31 +225,5 @@ inverseSelNumPos :: inverseSelNumPos cfig ldp sss (V2 x y) = inverseSelSecYintXPosCheck cfig ldp x (posSelSecYint cfig ldp y) sss -inverseSelBoundaryUp :: - Configuration -> - ListDisplayParams -> - IM.IntMap (SelectionSection a) -> - Point2 -> - Maybe (Int, Int) -inverseSelBoundaryUp cfig ldp sss (V2 _ y) = do - sel <- inverseSelSecYint (posSelSecYint cfig ldp y) sss - let mselup = inverseSelSecYint (posSelSecYint cfig ldp y - 1) sss - if Just sel == mselup - then return $ sel & _2 +~ 1 - else return sel - -inverseSelBoundaryDown :: - Configuration -> - ListDisplayParams -> - IM.IntMap (SelectionSection a) -> - Point2 -> - Maybe (Int, Int) -inverseSelBoundaryDown cfig ldp sss (V2 _ y) = do - sel <- inverseSelSecYint (posSelSecYint cfig ldp y) sss - let mseldown = inverseSelSecYint (posSelSecYint cfig ldp y + 1) sss - if Just sel == mseldown - then return $ sel & _2 -~ 1 - else return sel - --getIthPos :: Int -> IM.IntMap (SelectionItem a) -> Int --getIthPos i sm = sum . fmap _siHeight . fst $ IM.split i sm diff --git a/tags b/tags index 266a4423d..4c03e4e35 100644 --- a/tags +++ b/tags @@ -2326,7 +2326,7 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f _clickPos src/Dodge/Data/Input.hs 46;" f _clickWorldPos src/Dodge/Data/Input.hs 48;" f -_closeInterfaces src/Dodge/Data/HUD.hs 54;" f +_closeButtons src/Dodge/Data/HUD.hs 54;" f _closeItems src/Dodge/Data/HUD.hs 53;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f @@ -3436,7 +3436,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attribSize src/Shader/Compile.hs 306;" f -augInvDirectSelect src/Dodge/Inventory.hs 277;" f +augInvDirectSelect src/Dodge/Inventory.hs 275;" f augmentedHUD src/Dodge/Item/Scope.hs 47;" f autoAmr src/Dodge/Item/Held/Rod.hs 51;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f @@ -3573,9 +3573,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainPairs src/Geometry.hs 363;" f -changeSwapOther src/Dodge/Inventory.hs 158;" f -changeSwapSel src/Dodge/Inventory.hs 150;" f -changeSwapWith src/Dodge/Inventory.hs 270;" f +changeSwapOther src/Dodge/Inventory.hs 156;" f +changeSwapSel src/Dodge/Inventory.hs 148;" f +changeSwapWith src/Dodge/Inventory.hs 268;" f charToTuple src/Picture/Base.hs 317;" f charToTupleGrad src/Picture/Text.hs 18;" f chargeIfEquipped src/Dodge/ItEffect.hs 54;" f @@ -3587,7 +3587,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 101;" f -checkConnection src/Dodge/Inventory.hs 242;" f +checkConnection src/Dodge/Inventory.hs 240;" f checkDeath src/Dodge/Creature/State.hs 75;" f checkEndGame src/Dodge/Update.hs 680;" f checkErrorGL src/Shader/Compile.hs 255;" f @@ -3634,9 +3634,9 @@ clickGetCreature src/Dodge/Debug.hs 83;" f clipV src/Geometry/Vector.hs 47;" f clipZoom src/Dodge/Update/Camera.hs 215;" f clockCycle src/Dodge/Clock.hs 9;" f -closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 69;" f -closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 56;" f -closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 81;" f +closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 66;" f +closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 52;" f +closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 79;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f closeObjectInfo src/Dodge/Render/HUD.hs 206;" f @@ -3658,7 +3658,7 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f colSpark src/Dodge/Spark.hs 47;" f colSparkRandDir src/Dodge/Spark.hs 101;" f collectDamageTypes src/Dodge/Damage.hs 32;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 227;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 221;" f collideCircWalls src/Dodge/Base/Collide.hs 149;" f collidePoint src/Dodge/Base/Collide.hs 48;" f collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f @@ -3692,7 +3692,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f conEffects src/Dodge/Concurrent.hs 13;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f -concurrentIS src/Dodge/Update/Input/InGame.hs 219;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 213;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f @@ -3951,7 +3951,7 @@ denormalEdges src/Polyhedra.hs 136;" f destroyAt src/Dodge/Bullet.hs 201;" f destroyBlock src/Dodge/Block.hs 56;" f destroyDoor src/Dodge/Block.hs 85;" f -destroyInvItem src/Dodge/Inventory.hs 50;" f +destroyInvItem src/Dodge/Inventory.hs 48;" f destroyLS src/Dodge/LightSource.hs 91;" f destroyLSFlashAt src/Dodge/LightSource.hs 101;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f @@ -4041,7 +4041,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 354;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 348;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4516,7 +4516,7 @@ homingDrawType src/Dodge/Projectile/Create.hs 12;" f homingModule src/Dodge/Item/Scope.hs 32;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 54;" f -hotkeyToString src/Dodge/Inventory/SelectionList.hs 41;" f +hotkeyToString src/Dodge/Inventory/SelectionList.hs 37;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 31;" f iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f @@ -4599,8 +4599,7 @@ invHead src/Dodge/Render/HUD.hs 388;" f invLDT src/Dodge/Item/Grammar.hs 171;" f invRootMap src/Dodge/Item/Grammar.hs 180;" f invRootTrees src/Dodge/Item/Grammar.hs 210;" f -invSelectionItem src/Dodge/Inventory/SelectionList.hs 25;" f -invSelectionItem' src/Dodge/Inventory/SelectionList.hs 22;" f +invSelectionItem src/Dodge/Inventory/SelectionList.hs 21;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 162;" f invSize src/Dodge/Inventory/CheckSlots.hs 30;" f @@ -4609,11 +4608,9 @@ invTrees' src/Dodge/Item/Grammar.hs 202;" f inventoryExtra src/Dodge/Render/HUD.hs 299;" f inventoryExtraH src/Dodge/Render/HUD.hs 310;" f inventoryX src/Dodge/Creature.hs 115;" f -inverseSelBoundaryDown src/Dodge/SelectionSections.hs 256;" f -inverseSelBoundaryUp src/Dodge/SelectionSections.hs 243;" f -inverseSelNumPos src/Dodge/SelectionSections.hs 234;" f -inverseSelSecYint src/Dodge/SelectionSections.hs 203;" f -inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 214;" f +inverseSelNumPos src/Dodge/SelectionSections.hs 223;" f +inverseSelSecYint src/Dodge/SelectionSections.hs 192;" f +inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 203;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f invertIntMap src/IntMapHelp.hs 99;" f @@ -4624,7 +4621,7 @@ invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f isAmmoIntLink src/Dodge/HeldUse.hs 206;" f isAnimate src/Dodge/Creature/Test.hs 136;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f -isConnected src/Dodge/Inventory.hs 252;" f +isConnected src/Dodge/Inventory.hs 250;" f isElectrical src/Dodge/Data/Damage.hs 42;" f isFrictionless src/Dodge/Creature/State.hs 341;" f isGas src/Dodge/Euse.hs 64;" f @@ -4904,7 +4901,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f maybeClearPaths src/Dodge/Block.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 514;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 524;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f @@ -5045,7 +5042,7 @@ newHotkey src/Dodge/Hotkey.hs 18;" f newKey src/IntMapHelp.hs 60;" f newSounds src/Dodge/Creature/Perception.hs 170;" f newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f -nextInSectionSS src/Dodge/SelectionSections.hs 40;" f +nextInSectionSS src/Dodge/SelectionSections.hs 35;" f noPic src/ShapePicture.hs 25;" f noShape src/ShapePicture.hs 29;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 20;" f @@ -5129,7 +5126,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 450;" f +pauseGame src/Dodge/Update/Input/InGame.hs 444;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f @@ -5275,7 +5272,7 @@ polysToPic src/Polyhedra.hs 130;" f popScreen src/Dodge/Menu/PushPop.hs 6;" f posEventEffect src/Dodge/PosEvent.hs 16;" f posRms src/Dodge/Tree/Shift.hs 44;" f -posSelSecYint src/Dodge/SelectionSections.hs 186;" f +posSelSecYint src/Dodge/SelectionSections.hs 175;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f postGenerationProcessing src/Dodge/LevelGen.hs 33;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f @@ -5473,7 +5470,7 @@ rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f rmInLinks src/Dodge/RoomLink.hs 138;" f -rmInvItem src/Dodge/Inventory.hs 63;" f +rmInvItem src/Dodge/Inventory.hs 61;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f roomC src/Dodge/Room/Room.hs 38;" f @@ -5566,13 +5563,13 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f -scrollAugInvSel src/Dodge/Inventory.hs 285;" f -scrollAugNextInSection src/Dodge/Inventory.hs 298;" f +scrollAugInvSel src/Dodge/Inventory.hs 283;" f +scrollAugNextInSection src/Dodge/Inventory.hs 296;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f scrollCommands src/Dodge/Update/Scroll.hs 132;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f scrollRBOption src/Dodge/Update/Scroll.hs 109;" f -scrollSelectionSections src/Dodge/SelectionSections.hs 30;" f +scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f scrollTimeBack src/Dodge/Update.hs 209;" f scrollTimeForward src/Dodge/Update.hs 229;" f scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f @@ -5592,16 +5589,16 @@ sectionsSizes src/Dodge/DisplayInventory.hs 223;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f +selCloseObj src/Dodge/Update/Input/InGame.hs 467;" f selNumPos src/Dodge/Render/HUD.hs 437;" f selNumPosCardinal src/Dodge/Render/HUD.hs 460;" f selSecDrawCursor src/Dodge/Render/List.hs 130;" f selSecDrawCursorAt src/Dodge/Render/List.hs 108;" f selSecSelCol src/Dodge/Render/HUD.hs 485;" f -selSecSelSize src/Dodge/SelectionSections.hs 182;" f -selSecYint src/Dodge/SelectionSections.hs 191;" f +selSecSelSize src/Dodge/SelectionSections.hs 171;" f +selSecYint src/Dodge/SelectionSections.hs 180;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f selectUse src/Dodge/SelectUse.hs 10;" f -selectedCloseItem src/Dodge/Inventory.hs 309;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 152;" f @@ -5687,9 +5684,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 236;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 263;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 257;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 230;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 257;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 251;" 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 @@ -5788,7 +5785,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 453;" f +spaceAction src/Dodge/Update/Input/InGame.hs 447;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f @@ -5822,22 +5819,21 @@ square src/Geometry/Polygon.hs 46;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 110;" f squashNormalizeV src/Geometry/Vector.hs 146;" f -ssLookupDown src/Dodge/SelectionSections.hs 101;" f -ssLookupGE' src/Dodge/SelectionSections.hs 175;" f -ssLookupGT src/Dodge/SelectionSections.hs 158;" f -ssLookupGT' src/Dodge/SelectionSections.hs 168;" f -ssLookupLE' src/Dodge/SelectionSections.hs 146;" f -ssLookupLT src/Dodge/SelectionSections.hs 126;" f -ssLookupLT' src/Dodge/SelectionSections.hs 136;" f -ssLookupMax src/Dodge/SelectionSections.hs 87;" f -ssLookupMaxInSection src/Dodge/SelectionSections.hs 119;" f -ssLookupMin src/Dodge/SelectionSections.hs 153;" f -ssLookupNextMax src/Dodge/SelectionSections.hs 110;" f -ssLookupUp src/Dodge/SelectionSections.hs 92;" f -ssScrollMinOnFail src/Dodge/SelectionSections.hs 61;" f -ssScrollUsing src/Dodge/SelectionSections.hs 51;" f -ssSetCursor src/Dodge/SelectionSections.hs 72;" f -ssTryLookup src/Dodge/SelectionSections.hs 81;" f +ssLookupDown src/Dodge/SelectionSections.hs 90;" f +ssLookupGE' src/Dodge/SelectionSections.hs 164;" f +ssLookupGT src/Dodge/SelectionSections.hs 147;" f +ssLookupGT' src/Dodge/SelectionSections.hs 157;" f +ssLookupLE' src/Dodge/SelectionSections.hs 135;" f +ssLookupLT src/Dodge/SelectionSections.hs 115;" f +ssLookupLT' src/Dodge/SelectionSections.hs 125;" f +ssLookupMax src/Dodge/SelectionSections.hs 76;" f +ssLookupMaxInSection src/Dodge/SelectionSections.hs 108;" f +ssLookupMin src/Dodge/SelectionSections.hs 142;" f +ssLookupNextMax src/Dodge/SelectionSections.hs 99;" f +ssLookupUp src/Dodge/SelectionSections.hs 81;" f +ssScrollMinOnFail src/Dodge/SelectionSections.hs 56;" f +ssScrollUsing src/Dodge/SelectionSections.hs 46;" f +ssSetCursor src/Dodge/SelectionSections.hs 67;" f ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 102;" f stackPicturesAtOff src/Dodge/Render/List.hs 105;" f @@ -5845,7 +5841,7 @@ stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 281;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f -startDrag src/Dodge/Update/Input/InGame.hs 207;" f +startDrag src/Dodge/Update/Input/InGame.hs 201;" f startInvList src/Dodge/Creature.hs 109;" f startInventory src/Dodge/Creature.hs 112;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5875,11 +5871,11 @@ stripZ src/Geometry/Vector3D.hs 97;" f subInvX src/Dodge/ListDisplayParams.hs 50;" f subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f -swapAnyExtraSelection src/Dodge/Inventory.hs 233;" f +swapAnyExtraSelection src/Dodge/Inventory.hs 231;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapIndices src/ListHelp.hs 50;" f -swapInvItems src/Dodge/Inventory.hs 182;" f -swapItemWith src/Dodge/Inventory.hs 259;" f +swapInvItems src/Dodge/Inventory.hs 180;" f +swapItemWith src/Dodge/Inventory.hs 257;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f @@ -5986,8 +5982,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f toggleCommand src/Dodge/Terminal.hs 196;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 477;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 491;" f +toggleMap src/Dodge/Update/Input/InGame.hs 487;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 501;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -6058,13 +6054,13 @@ trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f -tryCombine src/Dodge/Update/Input/InGame.hs 500;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 115;" f +tryCombine src/Dodge/Update/Input/InGame.hs 510;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 109;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 123;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 117;" f tryPlay src/Sound.hs 83;" f tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f @@ -6106,7 +6102,7 @@ updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f updateAttachedItems src/Dodge/Creature/State.hs 173;" f updateAutoRecharge src/Dodge/Creature/State.hs 324;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 388;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 382;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f @@ -6114,7 +6110,7 @@ updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f updateBullets src/Dodge/Update.hs 523;" f updateCamera src/Dodge/Update/Camera.hs 31;" f -updateCloseObjects src/Dodge/Inventory.hs 121;" f +updateCloseObjects src/Dodge/Inventory.hs 119;" f updateCloud src/Dodge/Update.hs 708;" f updateClouds src/Dodge/Update.hs 552;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f @@ -6129,7 +6125,7 @@ updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 513;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBalls src/Dodge/Update.hs 540;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 429;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 423;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f @@ -6137,35 +6133,35 @@ updateFlame src/Dodge/Flame.hs 71;" f updateFlames src/Dodge/Update.hs 537;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 280;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 273;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 274;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 267;" f updateGusts src/Dodge/Update.hs 691;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f updateIMl src/Dodge/Update.hs 482;" f updateIMl' src/Dodge/Update.hs 487;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 333;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 327;" f updateInstantBullets src/Dodge/Update.hs 629;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 327;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 315;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 321;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 309;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f updateLasers src/Dodge/Update.hs 411;" f updateLightSources src/Dodge/Update.hs 516;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 348;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 342;" f updateMIM src/Dodge/Update.hs 642;" f updateMachine src/Dodge/Machine/Update.hs 19;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 154;" f updateMouseContext src/Dodge/Update.hs 307;" f -updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f -updateMouseInGame src/Dodge/Update/Input/InGame.hs 87;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 134;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 89;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 81;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 128;" f updateMovement src/Dodge/Creature/State.hs 331;" f updateObjCatMaybes src/Dodge/Update.hs 504;" f updateObjMapMaybe src/Dodge/Update.hs 497;" f @@ -6173,8 +6169,8 @@ updatePastWorlds src/Dodge/Update.hs 399;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f updatePosEvents src/Dodge/Update.hs 549;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 290;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 293;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 284;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 287;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f @@ -6208,7 +6204,7 @@ updateUniverse src/Dodge/Update.hs 71;" f updateUniverseFirst src/Dodge/Update.hs 83;" f updateUniverseLast src/Dodge/Update.hs 133;" f updateUniverseMid src/Dodge/Update.hs 155;" f -updateUseInputInGame src/Dodge/Update/Input/InGame.hs 37;" f +updateUseInputInGame src/Dodge/Update/Input/InGame.hs 38;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 21;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f