From b353263b0e732a00048c6c1d3193ff2c828920d6 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 18 May 2026 10:02:24 +0100 Subject: [PATCH] Allow close items to be collected using selection sets --- src/Dodge/Inventory.hs | 6 +- tags | 390 ++++++++++++++++++++--------------------- 2 files changed, 198 insertions(+), 198 deletions(-) diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index 9310e93c8..ba28f4c7f 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -129,7 +129,6 @@ changeSwapSelSet yi w swapSelSet :: (Int -> IS.IntSet -> World -> World) -> World -> World swapSelSet f w = fromMaybe w $ do --- Sel j i is' <- w ^. hud . diSelection Sel j i <- w ^. hud . diSelection is' <- w ^? hud . diSections . ix j . ssSet let is = if IS.null is' @@ -179,13 +178,14 @@ concurrentIS = go . IS.minView collectInvItems :: Int -> IS.IntSet -> World -> World collectInvItems secid is w = fromMaybe w $ do - guard $ secid == 0 + guard $ secid == 0 || secid == 3 (j, js) <- IS.minView is return $ h j js w where h j js w' = fromMaybe w' $ do (k, ks) <- IS.minView js - return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w' +-- return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w' + return . h (j + 1) ks $ swapItemWith (\_ _ -> Just (j + 1)) (secid,k) w' changeSwapSel :: Int -> World -> World changeSwapSel yi w diff --git a/tags b/tags index 7dee51a26..3124b2084 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 35;" t -InputMemory src/Dodge/Data/Input.hs 54;" t +Input src/Dodge/Data/Input.hs 34;" t +InputMemory src/Dodge/Data/Input.hs 53;" 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 31;" C +MouseGameRotate src/Dodge/Data/Input.hs 30;" 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 30;" C +OutsideTerminal src/Dodge/Data/Input.hs 29;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 13;" 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 +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 OverInvDrag src/Dodge/Data/Input.hs 19;" 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 +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 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 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 +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 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 58;" t +TermSignal src/Dodge/Data/Input.hs 57;" 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 55;" C -WasNotMouseGameRotating src/Dodge/Data/Input.hs 56;" C +WasMouseGameRotating src/Dodge/Data/Input.hs 54;" C +WasNotMouseGameRotating src/Dodge/Data/Input.hs 55;" 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 51;" f -_clickPos src/Dodge/Data/Input.hs 44;" f -_clickWorldPos src/Dodge/Data/Input.hs 46;" f +_clickPos src/Dodge/Data/Input.hs 43;" f +_clickWorldPos src/Dodge/Data/Input.hs 45;" f _cliffs src/Dodge/Data/CWorld.hs 34;" f _closeButtons src/Dodge/Data/HUD.hs 37;" f _closeItems src/Dodge/Data/HUD.hs 36;" f @@ -1911,8 +1911,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 45;" f -_heldWorldPos src/Dodge/Data/Input.hs 47;" f +_heldPos src/Dodge/Data/Input.hs 44;" f +_heldWorldPos src/Dodge/Data/Input.hs 46;" f _hiAimStance src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" f _hiAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 18;" f _hiRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f @@ -1947,7 +1947,7 @@ _incGraph src/Dodge/Data/CWorld.hs 29;" f _incNode src/Dodge/Data/CWorld.hs 30;" f _incNodeZoning src/Dodge/Data/World.hs 57;" f _input src/Dodge/Data/World.hs 44;" f -_inputMemory src/Dodge/Data/Input.hs 51;" f +_inputMemory src/Dodge/Data/Input.hs 50;" 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 @@ -2037,19 +2037,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 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 +_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 _mcoDragSection src/Dodge/Data/Input.hs 19;" f -_mcoInvFilt src/Dodge/Data/Input.hs 23;" f -_mcoInvSelect src/Dodge/Data/Input.hs 22;" f +_mcoInvFilt src/Dodge/Data/Input.hs 22;" f +_mcoInvSelect src/Dodge/Data/Input.hs 21;" f _mcoMenuClick src/Dodge/Data/Input.hs 18;" 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 +_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 _mcsAmount src/Dodge/Data/Machine.hs 49;" f _mcsType src/Dodge/Data/Machine.hs 49;" f _mctTurret src/Dodge/Data/Machine.hs 48;" f @@ -2082,11 +2082,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 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 +_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 _mtBranches src/Dodge/Data/MetaTree.hs 13;" f _mtLabel src/Dodge/Data/MetaTree.hs 13;" f _mtTree src/Dodge/Data/MetaTree.hs 13;" f @@ -2174,7 +2174,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 39;" f +_pressedKeys src/Dodge/Data/Input.hs 38;" 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 @@ -2311,14 +2311,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 42;" f +_scrollAmount src/Dodge/Data/Input.hs 41;" f _scrollItemID src/Dodge/Data/World.hs 74;" f _scrollItemID src/Dodge/Data/World.hs 83;" f _scrollItemID src/Dodge/Data/World.hs 87;" f _scrollSmoothing src/Dodge/Data/World.hs 71;" f _scrollSmoothing src/Dodge/Data/World.hs 77;" f -_scrollTestFloat src/Dodge/Data/Input.hs 49;" f -_scrollTestInt src/Dodge/Data/Input.hs 50;" f +_scrollTestFloat src/Dodge/Data/Input.hs 48;" f +_scrollTestInt src/Dodge/Data/Input.hs 49;" 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 @@ -2373,7 +2373,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 43;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f _soundAngDist src/Sound/Data.hs 47;" f _soundChannel src/Sound/Data.hs 46;" f _soundChunkID src/Sound/Data.hs 51;" f @@ -2435,7 +2435,7 @@ _terminals src/Dodge/Data/LWorld.hs 127;" f _teslaArcs src/Dodge/Data/LWorld.hs 115;" f _testFloat src/Dodge/Data/World.hs 45;" f _testString src/Dodge/Data/World.hs 46;" f -_textInput src/Dodge/Data/Input.hs 48;" f +_textInput src/Dodge/Data/Input.hs 47;" 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 @@ -2637,7 +2637,7 @@ addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 90;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 501;" f +advanceScrollAmount src/Dodge/Update.hs 500;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f aimDelaySweep src/Dodge/Render/Picture.hs 296;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f @@ -2858,7 +2858,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f canSee src/Dodge/Base/Collide.hs 333;" f canSeeIndirect src/Dodge/Base/Collide.hs 340;" f -canSpring src/Dodge/Update.hs 1005;" f +canSpring src/Dodge/Update.hs 1004;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 26;" f capacitor src/Dodge/Item/Ammo.hs 67;" f card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f @@ -2877,10 +2877,10 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 271;" f centroid src/Geometry/Polygon.hs 192;" f centroidNum src/Geometry/Polygon.hs 195;" f chainPairs src/Geometry.hs 360;" f -changeSwapOther src/Dodge/Inventory.hs 221;" f -changeSwapSel src/Dodge/Inventory.hs 190;" f +changeSwapOther src/Dodge/Inventory.hs 220;" f +changeSwapSel src/Dodge/Inventory.hs 189;" f changeSwapSelSet src/Dodge/Inventory.hs 125;" f -changeSwapWith src/Dodge/Inventory.hs 252;" f +changeSwapWith src/Dodge/Inventory.hs 251;" f charToTuple src/Picture/Base.hs 312;" f charToTupleGrad src/Picture/Text.hs 18;" f chartreuse src/Color.hs 51;" f @@ -2894,10 +2894,10 @@ chasmSpitTerminal src/Dodge/Room/Tutorial.hs 348;" f chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 102;" f -checkConnection src/Dodge/Inventory/Swap.hs 74;" f +checkConnection src/Dodge/Inventory/Swap.hs 63;" f checkDeath src/Dodge/Creature/Update.hs 461;" f checkDeath' src/Dodge/Creature/Update.hs 464;" f -checkEndGame src/Dodge/Update.hs 891;" f +checkEndGame src/Dodge/Update.hs 890;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -2963,7 +2963,7 @@ cognizantVoc src/Dodge/Creature/Perception.hs 68;" f colCrWall src/Dodge/WallCreatureCollisions.hs 27;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f collectDamageTypes src/Dodge/Damage.hs 54;" f -collectInvItems src/Dodge/Inventory.hs 180;" f +collectInvItems src/Dodge/Inventory.hs 179;" f collide3 src/Dodge/Base/Collide.hs 142;" f collide3Chasm src/Dodge/Base/Collide.hs 126;" f collide3Chasms src/Dodge/Base/Collide.hs 118;" f @@ -3005,12 +3005,12 @@ compressionScale src/Dodge/Creature/State/WalkCycle.hs 69;" f compressor src/Dodge/Item/Ammo.hs 74;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f conEffects src/Dodge/Concurrent.hs 12;" f -concurrentIS src/Dodge/Inventory.hs 172;" f +concurrentIS src/Dodge/Inventory.hs 171;" f 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 399;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 397;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -3031,7 +3031,7 @@ crAdd src/Dodge/Room/RezBox.hs 116;" f crAwayFromPost src/Dodge/Creature/Test.hs 82;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCanSeeCr src/Dodge/Creature/Test.hs 49;" f -crCrSpring src/Dodge/Update.hs 1012;" f +crCrSpring src/Dodge/Update.hs 1011;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f crDeathEffects src/Dodge/Creature/Update.hs 483;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f @@ -3070,7 +3070,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 1000;" f +crSpring src/Dodge/Update.hs 999;" f crStratConMatches src/Dodge/Creature/Test.hs 77;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f crUpdate src/Dodge/Creature/Update.hs 454;" f @@ -3096,7 +3096,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 10;" f createHeadLamp src/Dodge/Euse.hs 64;" f -createItemYou src/Dodge/Inventory/Add.hs 69;" f +createItemYou src/Dodge/Inventory/Add.hs 72;" f createLightMap src/Render.hs 26;" f createProjectile src/Dodge/HeldUse.hs 1305;" f createProjectileR src/Dodge/HeldUse.hs 1254;" f @@ -3311,7 +3311,7 @@ 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 191;" f -displayTerminalLineString src/Dodge/Update.hs 586;" f +displayTerminalLineString src/Dodge/Update.hs 585;" f dist src/Geometry/Vector.hs 193;" f dist3 src/Geometry/Vector3D.hs 102;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f @@ -3351,8 +3351,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 121;" f -doDragSelect src/Dodge/Update/Input/InGame.hs 193;" f +doDrag src/Dodge/Update/Input/InGame.hs 119;" f +doDragSelect src/Dodge/Update/Input/InGame.hs 191;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3371,7 +3371,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 452;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 450;" f doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f @@ -3390,7 +3390,7 @@ doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 35;" f -doWorldEvents src/Dodge/Update.hs 510;" f +doWorldEvents src/Dodge/Update.hs 509;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f @@ -3583,8 +3583,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 288;" f -endRegex src/Dodge/Update/Input/InGame.hs 282;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 286;" f +endRegex src/Dodge/Update/Input/InGame.hs 280;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3631,7 +3631,7 @@ faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 246;" f fdiv src/ShortShow.hs 41;" f -feedSlime src/Dodge/Update.hs 1080;" f +feedSlime src/Dodge/Update.hs 1079;" f feet src/Dodge/Creature/Picture.hs 226;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 161;" f @@ -3710,7 +3710,7 @@ fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 277;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f -fuseSlimes src/Dodge/Update.hs 1094;" f +fuseSlimes src/Dodge/Update.hs 1093;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f @@ -3723,7 +3723,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 170;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f -gasEffect src/Dodge/Update.hs 916;" f +gasEffect src/Dodge/Update.hs 915;" f gasType src/Dodge/HeldUse.hs 1144;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3749,7 +3749,7 @@ getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 628;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 615;" f -getDebugMouseOver src/Dodge/Update.hs 476;" f +getDebugMouseOver src/Dodge/Update.hs 475;" f getDistortions src/Dodge/Render.hs 448;" f getEdgesCrossing src/Dodge/Path.hs 39;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1293;" f @@ -3759,7 +3759,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 488;" f +getMenuMouseContext src/Dodge/Update.hs 487;" f getNodePos src/Dodge/Path.hs 36;" f getPJStabiliser src/Dodge/HeldUse.hs 1280;" f getPretty src/AesonHelp.hs 8;" f @@ -3767,7 +3767,7 @@ getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 611;" f getRootItemBounds src/Dodge/Render/HUD.hs 101;" f -getSelectedCloseObj src/Dodge/SelectedClose.hs 20;" f +getSelectedCloseObj src/Dodge/SelectedClose.hs 26;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSplitString src/Dodge/Debug/Terminal.hs 129;" f getTiles src/Dodge/Layout.hs 224;" f @@ -3927,7 +3927,7 @@ insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 131;" f insertWithNewKeys src/IntMapHelp.hs 71;" f intAnno src/Dodge/Floor.hs 110;" f -interactWithCloseObj src/Dodge/SelectedClose.hs 11;" f +interactWithCloseObj src/Dodge/SelectedClose.hs 13;" f interpWith src/Dodge/Creature/Boid.hs 13;" f intersectCircLine src/Geometry/Intersect.hs 368;" f intersectCircLineAlong src/Geometry/Intersect.hs 359;" f @@ -3970,16 +3970,16 @@ invItemEffs src/Dodge/Creature/State.hs 92;" f invItemLocUpdate src/Dodge/Creature/State.hs 100;" f invRootMap src/Dodge/Item/Grammar.hs 237;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 33;" f -invSetSelection src/Dodge/Inventory.hs 257;" f -invSetSelectionPos src/Dodge/Inventory.hs 266;" f +invSetSelection src/Dodge/Inventory.hs 256;" f +invSetSelectionPos src/Dodge/Inventory.hs 265;" 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 243;" f -inverseSelNumPosFixedWidth src/Dodge/SelectionSections.hs 247;" f -inverseSelSecYint src/Dodge/SelectionSections.hs 183;" f -inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 196;" f -inverseSelSecYintXPosCheckFixedWidth src/Dodge/SelectionSections.hs 215;" 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 inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 44;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f invertIntMap src/IntMapHelp.hs 100;" f @@ -3992,7 +3992,7 @@ isAmmoIntLink src/Dodge/HeldUse.hs 738;" f isAnimate src/Dodge/Creature/Test.hs 128;" f isBee src/Dodge/TestString.hs 45;" f isCognizant src/Dodge/Creature/Perception.hs 115;" f -isConnected src/Dodge/Inventory/Swap.hs 85;" f +isConnected src/Dodge/Inventory/Swap.hs 74;" f isCornerLink src/Dodge/RoomLink.hs 66;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 232;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f @@ -4379,9 +4379,9 @@ 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 204;" f -mouseInvPos src/Dodge/Update/Input/InGame.hs 212;" f -mouseInvPosFixWidth src/Dodge/SelectionSections.hs 235;" 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 mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f moveBullet src/Dodge/Bullet.hs 200;" f @@ -4405,8 +4405,8 @@ multGunCrit src/Dodge/Creature.hs 68;" f multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f -multiSelScroll src/Dodge/Inventory.hs 197;" f -multiSelScroll' src/Dodge/Inventory.hs 204;" f +multiSelScroll src/Dodge/Inventory.hs 196;" f +multiSelScroll' src/Dodge/Inventory.hs 203;" f muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 702;" f muzzlePos src/Dodge/HeldUse.hs 787;" f @@ -4415,7 +4415,7 @@ muzzleWallCheck src/Dodge/Update.hs 350;" f mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f -mvGust src/Dodge/Update.hs 907;" f +mvGust src/Dodge/Update.hs 906;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4528,12 +4528,12 @@ 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 538;" f +pauseGame src/Dodge/Update/Input/InGame.hs 534;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 218;" f -pbFlicker src/Dodge/Update.hs 571;" f +pbFlicker src/Dodge/Update.hs 570;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 144;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4546,8 +4546,8 @@ performAimAt src/Dodge/Creature/Action.hs 111;" f performPathTo src/Dodge/Creature/Action.hs 132;" f performTurnToA src/Dodge/Creature/Action.hs 152;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f -pickUpItem src/Dodge/Inventory/Add.hs 77;" f -pickUpItemAt src/Dodge/Inventory/Add.hs 82;" f +pickUpItem src/Dodge/Inventory/Add.hs 80;" f +pickUpItemAt src/Dodge/Inventory/Add.hs 85;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 830;" f pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f @@ -4658,7 +4658,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 165;" f +posSelSecYint src/Dodge/SelectionSections.hs 158;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 36;" f postGenerationProcessing src/Dodge/LevelGen.hs 31;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f @@ -4753,7 +4753,7 @@ rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToCompass src/Dodge/Inventory/SelectionList.hs 110;" f radToDeg src/Geometry/Vector.hs 131;" f -radiusSpring src/Dodge/Update.hs 989;" f +radiusSpring src/Dodge/Update.hs 988;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 58;" f @@ -4775,7 +4775,7 @@ randPeakedParam src/RandomHelp.hs 149;" f randProb src/RandomHelp.hs 87;" f randSpark src/Dodge/Spark.hs 70;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f -randWallReflect src/Dodge/Update.hs 758;" f +randWallReflect src/Dodge/Update.hs 757;" f randomChallenges src/Dodge/Room/Start.hs 64;" f randomCompass src/Dodge/Layout.hs 61;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f @@ -4976,8 +4976,8 @@ screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f screenPosAbs src/Dodge/ScreenPos.hs 16;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f -scrollAugInvSel src/Dodge/Inventory.hs 269;" f -scrollAugNextInSection src/Dodge/Inventory.hs 284;" f +scrollAugInvSel src/Dodge/Inventory.hs 268;" f +scrollAugNextInSection src/Dodge/Inventory.hs 283;" f scrollRBOption src/Dodge/Update/Scroll.hs 140;" f scrollSelectionSections src/Dodge/SelectionSections.hs 31;" f scrollTimeBack src/Dodge/Update.hs 244;" f @@ -5002,12 +5002,12 @@ segmentArea src/Dodge/Creature/Update.hs 355;" f selNumPos src/Dodge/Render/HUD.hs 479;" f selNumPosCardinal src/Dodge/Render/HUD.hs 496;" f selSecDrawCursor src/Dodge/Render/List.hs 102;" f -selSecDrawCursor' src/Dodge/Render/List.hs 120;" f +selSecDrawCursorFixWidth src/Dodge/Render/List.hs 120;" f selSecSelCol src/Dodge/Render/HUD.hs 516;" f -selSecSelSize src/Dodge/SelectionSections.hs 161;" f -selSecYint src/Dodge/SelectionSections.hs 170;" f +selSecSelSize src/Dodge/SelectionSections.hs 154;" f +selSecYint src/Dodge/SelectionSections.hs 163;" f selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f -selectionSet src/Dodge/Update/Input/InGame.hs 149;" f +selectionSet src/Dodge/Update/Input/InGame.hs 147;" 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 @@ -5036,13 +5036,13 @@ setLinkType src/Dodge/RoomLink.hs 79;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f setMusicVolume src/Sound.hs 164;" f setMvPosToTargetCr src/Dodge/Creature/ReaderUpdate.hs 59;" f -setOldPos src/Dodge/Update.hs 602;" f +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 108;" f +setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 106;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 340;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5085,9 +5085,9 @@ 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 309;" f -shiftInvItemsDown src/Dodge/Inventory.hs 156;" f -shiftInvItemsUp src/Dodge/Inventory.hs 166;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 307;" f +shiftInvItemsDown src/Dodge/Inventory.hs 155;" f +shiftInvItemsUp src/Dodge/Inventory.hs 165;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 94;" f @@ -5099,8 +5099,8 @@ shiftRelativeToPS src/Dodge/Placement/Shift.hs 18;" f shiftRoomBy src/Dodge/Room/Link.hs 38;" f shiftRoomShiftBy src/Dodge/Room/Link.hs 83;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 74;" f -shiftSetDown src/Dodge/Inventory.hs 149;" f -shiftSetUp src/Dodge/Inventory.hs 143;" f +shiftSetDown src/Dodge/Inventory.hs 148;" f +shiftSetUp src/Dodge/Inventory.hs 142;" f shiftTile src/Dodge/Room/Link.hs 49;" f shineTargetLaser src/Dodge/Creature/State.hs 234;" f shineTorch src/Dodge/Creature/State.hs 271;" f @@ -5139,7 +5139,7 @@ shufflePair src/RandomHelp.hs 166;" f shuffleRoomPos src/Dodge/Layout.hs 103;" f shuffleTail src/RandomHelp.hs 78;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 994;" f +simpleCrSprings src/Dodge/Update.hs 993;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 854;" f @@ -5167,10 +5167,10 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f -slimeEatSound src/Dodge/Update.hs 1110;" f -slimeFood src/Dodge/Update.hs 1072;" f +slimeEatSound src/Dodge/Update.hs 1109;" f +slimeFood src/Dodge/Update.hs 1071;" f slimeOutline src/Dodge/Creature/Slime.hs 9;" f -slimeSuck src/Dodge/Update.hs 1056;" f +slimeSuck src/Dodge/Update.hs 1055;" f slimeToRad src/Dodge/Data/Creature/Misc.hs 105;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 58;" f slinkCritUpdate src/Dodge/Creature/Update.hs 358;" f @@ -5219,7 +5219,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 541;" f +spaceAction src/Dodge/Update/Input/InGame.hs 537;" 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 @@ -5257,25 +5257,25 @@ 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 84;" f -ssLookupGE src/Dodge/SelectionSections.hs 138;" f -ssLookupGE' src/Dodge/SelectionSections.hs 154;" f -ssLookupGT src/Dodge/SelectionSections.hs 125;" f -ssLookupGT' src/Dodge/SelectionSections.hs 131;" f -ssLookupLE src/Dodge/SelectionSections.hs 146;" f -ssLookupLE' src/Dodge/SelectionSections.hs 113;" f -ssLookupLT src/Dodge/SelectionSections.hs 100;" f -ssLookupLT' src/Dodge/SelectionSections.hs 106;" f -ssLookupMax src/Dodge/SelectionSections.hs 74;" f -ssLookupMaxInSection src/Dodge/SelectionSections.hs 94;" f -ssLookupMin src/Dodge/SelectionSections.hs 120;" f -ssLookupNextMax src/Dodge/SelectionSections.hs 89;" f -ssLookupUp src/Dodge/SelectionSections.hs 79;" 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 ssfold src/FoldableHelp.hs 105;" f -sssSelectionSlice src/Dodge/SelectionSections.hs 251;" f +sssSelectionSlice src/Dodge/SelectionSections.hs 244;" f stackPicturesAt src/Dodge/Render/List.hs 96;" f stackPicturesAtOff src/Dodge/Render/List.hs 99;" f stackText src/Picture/Base.hs 180;" f @@ -5283,7 +5283,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 297;" f +startDrag src/Dodge/Update/Input/InGame.hs 295;" f startInvList src/Dodge/Creature.hs 97;" f startInventory src/Dodge/Creature.hs 100;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f @@ -5319,11 +5319,11 @@ subMap src/TreeHelp.hs 121;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f subtree src/TreeHelp.hs 72;" f succB src/Dodge/Debug.hs 174;" f -swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f +swapInIntSet src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 99;" f swapIndices src/ListHelp.hs 50;" f swapInvItems src/Dodge/Inventory/Swap.hs 23;" f -swapItemWith src/Dodge/Inventory.hs 241;" f +swapItemWith src/Dodge/Inventory.hs 240;" f swapSelSet src/Dodge/Inventory.hs 130;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f @@ -5430,7 +5430,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 474;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f -tmScreenMousePos src/Dodge/Update.hs 468;" f +tmScreenMousePos src/Dodge/Update.hs 467;" f toBinary src/Dodge/Inventory/SelectionList.hs 153;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5515,15 +5515,15 @@ tryAttachItems src/Dodge/Item/Grammar.hs 35;" f tryClickUse src/Dodge/Creature/YourControl.hs 205;" f tryCombine src/Dodge/Update/Input/InGame.hs 558;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 134;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 132;" 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 156;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 154;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f -tryPutItemInInvAt src/Dodge/Inventory/Add.hs 61;" f +tryPutItemInInvAt src/Dodge/Inventory/Add.hs 64;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySpin src/Dodge/Projectile/Update.hs 120;" f trySynthBullet src/Dodge/Creature/State.hs 200;" f @@ -5573,17 +5573,17 @@ 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 483;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 479;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBeeCrit src/Dodge/Creature/Update.hs 115;" f updateBeeFromPheremones src/Dodge/Creature/Update.hs 107;" f -updateBeePheremone src/Dodge/Update.hs 787;" f +updateBeePheremone src/Dodge/Update.hs 786;" f updateBounds src/Dodge/Update/Camera.hs 263;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 673;" f +updateBullets src/Dodge/Update.hs 672;" f updateCalmBee src/Dodge/Creature/Update.hs 170;" f updateCalmChaseCrit src/Dodge/Creature/Update.hs 422;" f updateCamera src/Dodge/Update/Camera.hs 34;" f @@ -5591,87 +5591,87 @@ updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f updateChaseCrit src/Dodge/Creature/Update.hs 371;" f updateCloseObjects src/Dodge/Inventory.hs 99;" f -updateCloud src/Dodge/Update.hs 920;" f -updateClouds src/Dodge/Update.hs 784;" f +updateCloud src/Dodge/Update.hs 919;" f +updateClouds src/Dodge/Update.hs 783;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 42;" f updateCombineSections src/Dodge/DisplayInventory.hs 49;" f updateCreature src/Dodge/Creature/Update.hs 50;" f -updateCreatureGroups src/Dodge/Update.hs 645;" f -updateCreatureSoundPositions src/Dodge/Update.hs 624;" f +updateCreatureGroups src/Dodge/Update.hs 644;" f +updateCreatureSoundPositions src/Dodge/Update.hs 623;" f updateCreatureStride src/Dodge/Update.hs 378;" f updateCreatureStrides src/Dodge/Update.hs 375;" f -updateDebris src/Dodge/Update.hs 687;" f +updateDebris src/Dodge/Update.hs 686;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f -updateDelayedEvents src/Dodge/Update.hs 1117;" f +updateDelayedEvents src/Dodge/Update.hs 1116;" f updateDisplaySections src/Dodge/DisplayInventory.hs 117;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 666;" f +updateDistortions src/Dodge/Update.hs 665;" f updateDoor src/Dodge/Door.hs 22;" f updateDoors src/Dodge/Update.hs 404;" f -updateDust src/Dodge/Update.hs 968;" f -updateDusts src/Dodge/Update.hs 795;" f +updateDust src/Dodge/Update.hs 967;" f +updateDusts src/Dodge/Update.hs 794;" f updateEdge src/Dodge/Path.hs 45;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f 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 775;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 515;" f +updateEnergyBalls src/Dodge/Update.hs 774;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 511;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 772;" 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 360;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 356;" f -updateGas src/Dodge/Update.hs 942;" f -updateGusts src/Dodge/Update.hs 904;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 358;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 354;" f +updateGas src/Dodge/Update.hs 941;" f +updateGusts src/Dodge/Update.hs 903;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f updateHoverCrit src/Dodge/Humanoid.hs 25;" f -updateIMl src/Dodge/Update.hs 639;" f -updateIMl' src/Dodge/Update.hs 642;" 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 433;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 431;" 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 393;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 427;" f -updateKeysInGame src/Dodge/Update/Input/InGame.hs 82;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 379;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 402;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 391;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 425;" f +updateKeysInGame src/Dodge/Update/Input/InGame.hs 80;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 377;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 400;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f -updateLasers src/Dodge/Update.hs 517;" 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 446;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 444;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 407;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 219;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 217;" f updateMouseContext src/Dodge/Update.hs 420;" f updateMouseContextGame src/Dodge/Update.hs 425;" 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 657;" f -updateObjMapMaybe src/Dodge/Update.hs 650;" f -updatePastWorlds src/Dodge/Update.hs 506;" f -updatePlasmaBall src/Dodge/Update.hs 531;" f -updatePlasmaBalls src/Dodge/Update.hs 680;" 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 +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 updatePulse src/Dodge/Creature/Update.hs 549;" f -updatePulseBall src/Dodge/Update.hs 551;" f -updatePulseLaser src/Dodge/Update.hs 727;" f -updatePulseLasers src/Dodge/Update.hs 526;" f +updatePulseBall src/Dodge/Update.hs 550;" f +updatePulseLaser src/Dodge/Update.hs 726;" f +updatePulseLasers src/Dodge/Update.hs 525;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 669;" f +updateRadarBlips src/Dodge/Update.hs 668;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 778;" f +updateRadarSweeps src/Dodge/Update.hs 777;" f updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 190;" f @@ -5680,18 +5680,18 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 242;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 769;" f +updateShockwaves src/Dodge/Update.hs 768;" f updateSingleNodes src/TreeHelp.hs 100;" f updateSlimeCrit src/Dodge/Creature/Update.hs 252;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f -updateSparks src/Dodge/Update.hs 781;" f -updateTerminal src/Dodge/Update.hs 589;" f -updateTeslaArc src/Dodge/Update.hs 697;" f -updateTeslaArcs src/Dodge/Update.hs 694;" f +updateSparks src/Dodge/Update.hs 780;" f +updateTerminal src/Dodge/Update.hs 588;" f +updateTeslaArc src/Dodge/Update.hs 696;" f +updateTeslaArcs src/Dodge/Update.hs 693;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 766;" f +updateTractorBeams src/Dodge/Update.hs 765;" f updateTurret src/Dodge/Machine/Update.hs 55;" f updateUniverse src/Dodge/Update.hs 83;" f updateUniverseFirst src/Dodge/Update.hs 94;" f @@ -5702,7 +5702,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateVocTimer src/Dodge/Humanoid.hs 39;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 496;" f +updateWheelEvents src/Dodge/Update.hs 495;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f upperBody src/Dodge/Creature/Picture.hs 422;" f @@ -5886,11 +5886,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 142;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 578;" f +zoneClouds src/Dodge/Update.hs 577;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 613;" f +zoneCreatures src/Dodge/Update.hs 612;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 583;" f +zoneDusts src/Dodge/Update.hs 582;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f