diff --git a/src/Dodge/Creature/Action.hs b/src/Dodge/Creature/Action.hs index 57f717234..90c9e804a 100644 --- a/src/Dodge/Creature/Action.hs +++ b/src/Dodge/Creature/Action.hs @@ -183,9 +183,6 @@ dropItem cr invid w' = . soundStart (CrSound (_crID cr)) (cr ^. crPos . _xy) whiteNoiseFadeOutS Nothing $ w' where - --doanyitemdropeffect = fromMaybe id $ do - -- rmf <- itm ^? itEffect . ieOnDrop - -- return $ doInvEffect rmf itm cr doanyitemdropeffect = itEffectOnDrop itm cr itm = fromMaybe (error "dropItem cannot find item") $ do itid <- cr ^? crInv . ix (NInt invid) diff --git a/src/Dodge/Data/SelectionList.hs b/src/Dodge/Data/SelectionList.hs index 0749ed8e6..85455cb55 100644 --- a/src/Dodge/Data/SelectionList.hs +++ b/src/Dodge/Data/SelectionList.hs @@ -10,6 +10,7 @@ import Dodge.Data.CardinalPoint import Dodge.Data.ScreenPos import Picture.Data import Linear +import qualified Data.IntSet as IS data LDParams = LDP -- List display parameters { _ldpPos :: ScreenPos @@ -34,6 +35,7 @@ data SelSection a = SelSection , _ssShownItems :: [Picture] , _ssShownLength :: Int , _ssIndent :: Int + , _ssSet :: IS.IntSet } type IMSS a = IntMap (SelSection a) diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index 7f64914b5..e86bdfb82 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -267,6 +267,7 @@ updateSection indent mcsel sis availablelines oldoffset = , _ssShownItems = shownitems , _ssShownLength = min aslength availablelines , _ssIndent = indent + , _ssSet = mempty } where shownitems = tweakfirst . tweaklast $ take availablelines shownstrings diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index b2a4edf92..3bf17a460 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -95,8 +95,11 @@ rmInvItem cid invid w = where pointcid = cWorld . lWorld . creatures . ix cid updateselectionextra - | cid == 0 = hud . diSelection . _Just . slSet %~ const mempty + | cid == 0 = hud . diSelection . _Just . slSet %~ IS.foldl' h mempty | otherwise = id + h x i | i > _unNInt invid = IS.insert (i-1) x + | i < _unNInt invid = IS.insert i x + | otherwise = x updateselection | cid == 0 && cr ^? crManipulation . manObject . imSelectedItem == Just invid = scrollAugInvSel (-1) . scrollAugInvSel 1 diff --git a/tags b/tags index 3617c75f9..081a8de13 100644 --- a/tags +++ b/tags @@ -39,7 +39,7 @@ AccessTerminal src/Dodge/Data/WorldEffect.hs 30;" C Action src/Dodge/Data/ActionPlan.hs 71;" t ActionPlan src/Dodge/Data/ActionPlan.hs 14;" t ActionPlan src/Dodge/Data/ActionPlan.hs 17;" C -ActionUpdate src/Dodge/Creature/Action.hs 51;" t +ActionUpdate src/Dodge/Creature/Action.hs 53;" t AimAt src/Dodge/Data/ActionPlan.hs 72;" C AimStance src/Dodge/Data/AimStance.hs 10;" t Aiming src/Dodge/Data/Creature/Stance.hs 38;" C @@ -101,7 +101,7 @@ BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 135;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 22;" C BULLETSYNTH src/Dodge/Data/Item/Combine.hs 94;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 158;" C -BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C +BackdropCurs src/Dodge/Data/SelectionList.hs 24;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C Bark src/Dodge/Data/ActionPlan.hs 41;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 102;" C @@ -143,7 +143,7 @@ Blunt src/Dodge/Data/Damage.hs 17;" C Boosting src/Dodge/Data/Creature/Stance.hs 28;" C BottomMenuOption src/Dodge/Data/Universe.hs 77;" C BounceBullet src/Dodge/Data/Bullet.hs 29;" C -BoundCurs src/Dodge/Data/SelectionList.hs 22;" C +BoundCurs src/Dodge/Data/SelectionList.hs 23;" C Bound_box_screen src/Dodge/Data/Config.hs 95;" C Bounds src/Dodge/Data/Bounds.hs 10;" t BrigSS src/Dodge/Data/Scenario.hs 102;" C @@ -292,7 +292,7 @@ CryoReleaseCloud src/Dodge/Data/Cloud.hs 24;" C CryostatisSS src/Dodge/Data/Scenario.hs 91;" C Crystal src/Dodge/Data/Material.hs 16;" C Cull_more_lights src/Dodge/Data/Config.hs 92;" C -CursorDisplay src/Dodge/Data/SelectionList.hs 21;" t +CursorDisplay src/Dodge/Data/SelectionList.hs 22;" t Cylinder src/Shape/Data.hs 14;" C DETECTOR src/Dodge/Data/Item/Combine.hs 33;" C DROPPER src/Dodge/Data/Item/Combine.hs 26;" C @@ -341,7 +341,6 @@ DivineRetribution src/Dodge/Data/Scenario.hs 35;" C DoActionIf src/Dodge/Data/ActionPlan.hs 95;" C DoActionIfElse src/Dodge/Data/ActionPlan.hs 99;" C DoActionThen src/Dodge/Data/ActionPlan.hs 110;" C -DoActionWhile src/Dodge/Data/ActionPlan.hs 86;" C DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 104;" C DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 90;" C DoImpulses src/Dodge/Data/ActionPlan.hs 81;" C @@ -362,7 +361,7 @@ DrawForceField src/Dodge/Data/Wall.hs 37;" C DrawnWall src/Dodge/Data/Wall.hs 33;" C DroneAmmo src/Dodge/Data/AmmoType.hs 13;" C DropItem src/Dodge/Data/ActionPlan.hs 40;" C -DropShadowSI src/Dodge/Data/SelectionList.hs 59;" C +DropShadowSI src/Dodge/Data/SelectionList.hs 61;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Data/Cloud.hs 27;" t @@ -430,7 +429,7 @@ FilterBySoundOrigin src/Dodge/Data/WorldEffect.hs 22;" C FireSpark src/Dodge/Data/Spark.hs 19;" C Fixated src/Dodge/Data/Creature/Perception.hs 60;" C FixedCoordLayer src/Picture/Data.hs 23;" C -FixedSelectionWidth src/Dodge/Data/SelectionList.hs 43;" C +FixedSelectionWidth src/Dodge/Data/SelectionList.hs 45;" C FlIt src/Dodge/Data/FloorItem.hs 11;" C Flame src/Dodge/Data/Flame.hs 12;" t FlameBeamCombine src/Dodge/Data/Beam.hs 37;" C @@ -536,7 +535,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeldItemType src/Dodge/Data/Item/Combine.hs 141;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C -HighlightSI src/Dodge/Data/SelectionList.hs 58;" C +HighlightSI src/Dodge/Data/SelectionList.hs 60;" C HiveCrit src/Dodge/Data/Creature/Misc.hs 95;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C @@ -562,8 +561,8 @@ HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C HoverCrit src/Dodge/Data/Creature/Misc.hs 70;" C Huge src/Shape/Data.hs 24;" C Humanoid src/Dodge/Data/Creature/Misc.hs 111;" C -IMSI src/Dodge/Data/SelectionList.hs 41;" t -IMSS src/Dodge/Data/SelectionList.hs 39;" t +IMSI src/Dodge/Data/SelectionList.hs 43;" t +IMSS src/Dodge/Data/SelectionList.hs 41;" t INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 127;" C IRONBAR src/Dodge/Data/Item/Combine.hs 80;" C @@ -602,8 +601,8 @@ IntroScanType src/Dodge/Data/Item/Combine.hs 45;" t InvInt src/Dodge/Data/Item/Location.hs 16;" t InventoryChange src/Dodge/Data/World.hs 32;" C InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 12;" C -InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 61;" C -InventoryHeadSI src/Dodge/Data/SelectionList.hs 60;" C +InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 63;" C +InventoryHeadSI src/Dodge/Data/SelectionList.hs 62;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 39;" t InventorySound src/Dodge/Data/SoundOrigin.hs 11;" C Investigate src/Dodge/Data/ActionPlan.hs 144;" C @@ -637,8 +636,8 @@ JustStartedPlaying src/Sound/Data.hs 22;" C KEYCARD src/Dodge/Data/Item/Combine.hs 178;" C Kill src/Dodge/Data/ActionPlan.hs 162;" C LASER src/Dodge/Data/Item/Combine.hs 35;" C -LDP src/Dodge/Data/SelectionList.hs 14;" C -LDParams src/Dodge/Data/SelectionList.hs 14;" t +LDP src/Dodge/Data/SelectionList.hs 15;" C +LDParams src/Dodge/Data/SelectionList.hs 15;" t LED src/Dodge/Data/Item/Combine.hs 176;" C LIGHTER src/Dodge/Data/Item/Combine.hs 68;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 81;" C @@ -852,7 +851,7 @@ NoParams src/Dodge/Data/Item/Params.hs 13;" C NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 125;" C NoSF src/Dodge/Data/ComposedItem.hs 30;" C -NoSIDisplayMod src/Dodge/Data/SelectionList.hs 57;" C +NoSIDisplayMod src/Dodge/Data/SelectionList.hs 59;" C NoShadowFidelity src/Shape/Data.hs 21;" C NoShadows src/Dodge/Data/Config.hs 121;" C NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C @@ -1156,7 +1155,7 @@ SCRAPMETAL src/Dodge/Data/Item/Combine.hs 62;" C SHATTERGUN src/Dodge/Data/Item/Combine.hs 175;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 112;" C SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 103;" C -SIDisplayMod src/Dodge/Data/SelectionList.hs 56;" t +SIDisplayMod src/Dodge/Data/SelectionList.hs 58;" t SMG src/Dodge/Data/Item/Combine.hs 149;" C SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 101;" C SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 163;" C @@ -1179,19 +1178,19 @@ Search src/Dodge/Data/ActionPlan.hs 150;" C SearchForFood src/Dodge/Data/ActionPlan.hs 160;" C SearchTimed src/Dodge/Data/ActionPlan.hs 151;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C -SectionCursor src/Dodge/Data/SelectionList.hs 25;" t +SectionCursor src/Dodge/Data/SelectionList.hs 26;" t SeeAbove src/Dodge/Data/Wall.hs 32;" C SeeThrough src/Dodge/Data/Wall.hs 31;" C Sel src/Dodge/Data/HUD.hs 39;" C SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C -SelItem src/Dodge/Data/SelectionList.hs 45;" C +SelItem src/Dodge/Data/SelectionList.hs 47;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C -SelSection src/Dodge/Data/SelectionList.hs 31;" t +SelSection src/Dodge/Data/SelectionList.hs 32;" t SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C Selection src/Dodge/Data/HUD.hs 39;" t -SelectionItem src/Dodge/Data/SelectionList.hs 45;" t -SelectionWidth src/Dodge/Data/SelectionList.hs 43;" t +SelectionItem src/Dodge/Data/SelectionList.hs 47;" t +SelectionWidth src/Dodge/Data/SelectionList.hs 45;" t SelfTree src/Dodge/Data/MetaTree.hs 21;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 12;" t @@ -1435,7 +1434,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 29;" C UseInt src/Dodge/Data/Item/Use.hs 31;" C UseInvItem src/Dodge/Data/WorldEffect.hs 38;" C UseItem src/Dodge/Data/ActionPlan.hs 38;" C -UseItemWidth src/Dodge/Data/SelectionList.hs 43;" C +UseItemWidth src/Dodge/Data/SelectionList.hs 45;" C UseMapper src/Dodge/Data/Item/Use.hs 37;" C UseNothing src/Dodge/Data/Item/Use.hs 32;" C UseScope src/Dodge/Data/Item/Use.hs 34;" C @@ -1541,6 +1540,7 @@ ZombieFaction src/Dodge/Data/Creature/State.hs 14;" C \: src/Geometry/Polygon.hs 243;" o __Just' src/MaybeHelp.hs 11;" f _acAction src/Dodge/Data/ActionPlan.hs 80;" f +_acTimer src/Dodge/Data/ActionPlan.hs 77;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 19;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 25;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 30;" f @@ -1792,9 +1792,7 @@ _doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 102;" f _doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 100;" f _doActionThenFirst src/Dodge/Data/ActionPlan.hs 111;" f _doActionThenSecond src/Dodge/Data/ActionPlan.hs 112;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 88;" f _doActionWhileAction src/Dodge/Data/ActionPlan.hs 93;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 87;" f _doActionWhileCondition src/Dodge/Data/ActionPlan.hs 92;" f _doActionWhilePartial src/Dodge/Data/ActionPlan.hs 91;" f _doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 106;" f @@ -1997,10 +1995,10 @@ _lasWepXSF src/Dodge/Data/ComposedItem.hs 42;" f _laserEmmiter src/Dodge/Data/Laser.hs 17;" f _laserTypeDamage src/Dodge/Data/Laser.hs 16;" f _lasers src/Dodge/Data/LWorld.hs 118;" f -_ldpPos src/Dodge/Data/SelectionList.hs 15;" f -_ldpScale src/Dodge/Data/SelectionList.hs 16;" f -_ldpSize src/Dodge/Data/SelectionList.hs 18;" f -_ldpVerticalGap src/Dodge/Data/SelectionList.hs 17;" f +_ldpPos src/Dodge/Data/SelectionList.hs 16;" f +_ldpScale src/Dodge/Data/SelectionList.hs 17;" f +_ldpSize src/Dodge/Data/SelectionList.hs 19;" f +_ldpVerticalGap src/Dodge/Data/SelectionList.hs 18;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 123;" f _lightSources src/Dodge/Data/LWorld.hs 138;" f _lightUBO src/Data/Preload/Render.hs 43;" f @@ -2337,9 +2335,9 @@ _scrollSmoothing src/Dodge/Data/World.hs 70;" f _scrollSmoothing src/Dodge/Data/World.hs 76;" f _scrollTestFloat src/Dodge/Data/Input.hs 47;" f _scrollTestInt src/Dodge/Data/Input.hs 48;" f -_scurColor src/Dodge/Data/SelectionList.hs 28;" f -_scurPos src/Dodge/Data/SelectionList.hs 26;" f -_scurSize src/Dodge/Data/SelectionList.hs 27;" 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 _seDist src/Dodge/Data/PathGraph.hs 44;" f _seObstacles src/Dodge/Data/PathGraph.hs 45;" f _searchTimer src/Dodge/Data/ActionPlan.hs 151;" f @@ -2363,14 +2361,14 @@ _shapeHalfSize src/Shape/Data.hs 13;" f _shapeShader src/Data/Preload/Render.hs 28;" f _shellPayload src/Dodge/Data/Item/Combine.hs 103;" f _shockwaves src/Dodge/Data/LWorld.hs 117;" f -_siColor src/Dodge/Data/SelectionList.hs 50;" f -_siDisplayMod src/Dodge/Data/SelectionList.hs 53;" f -_siHeight src/Dodge/Data/SelectionList.hs 47;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 49;" f -_siOffX src/Dodge/Data/SelectionList.hs 51;" f -_siPayload src/Dodge/Data/SelectionList.hs 52;" f -_siPictures src/Dodge/Data/SelectionList.hs 46;" f -_siWidth src/Dodge/Data/SelectionList.hs 48;" f +_siColor src/Dodge/Data/SelectionList.hs 52;" f +_siDisplayMod src/Dodge/Data/SelectionList.hs 55;" f +_siHeight src/Dodge/Data/SelectionList.hs 49;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 51;" f +_siOffX src/Dodge/Data/SelectionList.hs 53;" f +_siPayload src/Dodge/Data/SelectionList.hs 54;" f +_siPictures src/Dodge/Data/SelectionList.hs 48;" f +_siWidth src/Dodge/Data/SelectionList.hs 50;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 130;" f _silhouetteEBO src/Data/Preload/Render.hs 30;" f @@ -2408,11 +2406,12 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f _sparks src/Dodge/Data/LWorld.hs 111;" f _spawnEBT src/Dodge/Data/Bullet.hs 34;" f -_ssIndent src/Dodge/Data/SelectionList.hs 36;" f -_ssItems src/Dodge/Data/SelectionList.hs 32;" f -_ssOffset src/Dodge/Data/SelectionList.hs 33;" f -_ssShownItems src/Dodge/Data/SelectionList.hs 34;" f -_ssShownLength src/Dodge/Data/SelectionList.hs 35;" f +_ssIndent src/Dodge/Data/SelectionList.hs 37;" f +_ssItems src/Dodge/Data/SelectionList.hs 33;" f +_ssOffset src/Dodge/Data/SelectionList.hs 34;" f +_ssSet src/Dodge/Data/SelectionList.hs 38;" f +_ssShownItems src/Dodge/Data/SelectionList.hs 35;" f +_ssShownLength src/Dodge/Data/SelectionList.hs 36;" f _ssboName src/Shader/Data.hs 97;" f _ssboPtr src/Shader/Data.hs 98;" f _startStopMv src/Dodge/Data/Creature/Misc.hs 89;" f @@ -2894,10 +2893,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 243;" f -changeSwapSel src/Dodge/Inventory.hs 215;" f -changeSwapSelSet src/Dodge/Inventory.hs 152;" f -changeSwapWith src/Dodge/Inventory.hs 283;" f +changeSwapOther src/Dodge/Inventory.hs 246;" f +changeSwapSel src/Dodge/Inventory.hs 218;" f +changeSwapSelSet src/Dodge/Inventory.hs 155;" f +changeSwapWith src/Dodge/Inventory.hs 286;" f charToTuple src/Picture/Base.hs 312;" f charToTupleGrad src/Picture/Text.hs 18;" f chartreuse src/Color.hs 51;" f @@ -2963,7 +2962,7 @@ clipZoom src/Dodge/Update/Camera.hs 234;" f clipboardCr src/Dodge/Debug.hs 91;" f clockCycle src/Dodge/Clock.hs 7;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 237;" f -closeItemDist src/Dodge/Inventory.hs 149;" f +closeItemDist src/Dodge/Inventory.hs 152;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 260;" f closeObjectInfo src/Dodge/Render/HUD.hs 228;" f @@ -2981,7 +2980,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 205;" f +collectInvItems src/Dodge/Inventory.hs 208;" 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 @@ -3023,7 +3022,7 @@ 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 197;" f +concurrentIS src/Dodge/Inventory.hs 200;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f @@ -3070,7 +3069,7 @@ crLeftHandWall src/Dodge/Creature/HandPos.hs 94;" f crMass src/Dodge/Creature/Mass.hs 5;" f crMaterial src/Dodge/Creature/Material.hs 8;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f -crMoveImpulses src/Dodge/Creature/Action.hs 144;" f +crMoveImpulses src/Dodge/Creature/Action.hs 140;" f crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 39;" f crMvAbsoluteNoStride src/Dodge/Creature/Impulse/Movement.hs 56;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 28;" f @@ -3083,7 +3082,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 249;" f crOnSeg' src/Dodge/Creature/State/WalkCycle.hs 145;" f crPainEffect src/Dodge/Creature/State.hs 50;" f -crPathing src/Dodge/Creature/Action.hs 128;" f +crPathing src/Dodge/Creature/Action.hs 124;" f crRad src/Dodge/Creature/Radius.hs 7;" f crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f @@ -3561,7 +3560,7 @@ drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f dropAll src/Dodge/Creature/Update.hs 546;" f dropInventoryPath src/Dodge/HeldUse.hs 1380;" f -dropItem src/Dodge/Creature/Action.hs 180;" f +dropItem src/Dodge/Creature/Action.hs 176;" f dropper src/Dodge/Item/Scope.hs 82;" f drumMag src/Dodge/Item/Ammo.hs 31;" f dsZoneSize src/Dodge/Zoning/Cloud.hs 51;" f @@ -3604,7 +3603,7 @@ endArcPos src/Dodge/Tesla.hs 87;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 310;" f endRegex src/Dodge/Update/Input/InGame.hs 304;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f -enterCombineInv src/Dodge/DisplayInventory.hs 321;" f +enterCombineInv src/Dodge/DisplayInventory.hs 322;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f epText src/Dodge/Inventory/SelectionList.hs 74;" f eqConstr src/SameConstr.hs 17;" f @@ -3989,14 +3988,14 @@ invItemEffs src/Dodge/Creature/State.hs 91;" f invItemLocUpdate src/Dodge/Creature/State.hs 99;" f invRootMap src/Dodge/Item/Grammar.hs 237;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 33;" f -invSetSelection src/Dodge/Inventory.hs 288;" f -invSetSelectionPos src/Dodge/Inventory.hs 296;" f +invSetSelection src/Dodge/Inventory.hs 291;" f +invSetSelectionPos src/Dodge/Inventory.hs 299;" 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 211;" f -inverseSelSecYint src/Dodge/SelectionSections.hs 179;" f -inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 192;" f +inverseSelNumPos src/Dodge/SelectionSections.hs 216;" f +inverseSelSecYint src/Dodge/SelectionSections.hs 184;" f +inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 197;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 44;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f invertIntMap src/IntMapHelp.hs 100;" f @@ -4171,7 +4170,7 @@ listConfig src/Dodge/Menu.hs 232;" f listControls src/Dodge/Menu.hs 244;" f listCursor src/Dodge/Render/List.hs 120;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 287;" f -listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f +listSelectionColorPicture src/Dodge/DisplayInventory.hs 300;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f @@ -4420,8 +4419,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 222;" f -multiSelScroll' src/Dodge/Inventory.hs 229;" f +multiSelScroll src/Dodge/Inventory.hs 225;" f +multiSelScroll' src/Dodge/Inventory.hs 232;" f muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 702;" f muzzlePos src/Dodge/HeldUse.hs 787;" f @@ -4455,7 +4454,7 @@ newSounds src/Dodge/Creature/Perception.hs 175;" f newSoundsToPlay src/Dodge/SoundSelection.hs 8;" f newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f nextArc src/Dodge/Tesla.hs 61;" f -nextInSectionSS src/Dodge/SelectionSections.hs 34;" f +nextInSectionSS src/Dodge/SelectionSections.hs 39;" f nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f noPic src/ShapePicture.hs 25;" f noShape src/ShapePicture.hs 29;" f @@ -4555,11 +4554,11 @@ pedestalRoom src/Dodge/Room/Containing.hs 50;" f penThing src/Dodge/Bullet.hs 217;" f perMat src/MatrixHelper.hs 60;" f perceptionUpdate src/Dodge/Creature/Perception.hs 25;" f -performAction src/Dodge/Creature/Action.hs 56;" f +performAction src/Dodge/Creature/Action.hs 58;" f performActions src/Dodge/Creature/Action.hs 41;" f -performAimAt src/Dodge/Creature/Action.hs 112;" f -performPathTo src/Dodge/Creature/Action.hs 133;" f -performTurnToA src/Dodge/Creature/Action.hs 153;" f +performAimAt src/Dodge/Creature/Action.hs 108;" f +performPathTo src/Dodge/Creature/Action.hs 129;" f +performTurnToA src/Dodge/Creature/Action.hs 149;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f pickUpItem src/Dodge/Inventory/Add.hs 70;" f pickUpItemAt src/Dodge/Inventory/Add.hs 75;" f @@ -4673,7 +4672,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 161;" f +posSelSecYint src/Dodge/SelectionSections.hs 166;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 36;" f postGenerationProcessing src/Dodge/LevelGen.hs 31;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f @@ -4834,7 +4833,7 @@ reflectPulseLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 65;" f refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f -regexList src/Dodge/DisplayInventory.hs 312;" f +regexList src/Dodge/DisplayInventory.hs 313;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 754;" f reloadFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 860;" f reloadLevelStart src/Dodge/Save.hs 71;" f @@ -4991,8 +4990,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 299;" f -scrollAugNextInSection src/Dodge/Inventory.hs 313;" f +scrollAugInvSel src/Dodge/Inventory.hs 302;" f +scrollAugNextInSection src/Dodge/Inventory.hs 316;" f scrollRBOption src/Dodge/Update/Scroll.hs 139;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f scrollTimeBack src/Dodge/Update.hs 245;" f @@ -5018,8 +5017,8 @@ selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f selSecSelCol src/Dodge/Render/HUD.hs 512;" f -selSecSelSize src/Dodge/SelectionSections.hs 157;" f -selSecYint src/Dodge/SelectionSections.hs 166;" f +selSecSelSize src/Dodge/SelectionSections.hs 162;" f +selSecYint src/Dodge/SelectionSections.hs 171;" f selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f selectionSet src/Dodge/Update/Input/InGame.hs 171;" f semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f @@ -5100,8 +5099,8 @@ 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 328;" f -shiftInvItemsDown src/Dodge/Inventory.hs 181;" f -shiftInvItemsUp src/Dodge/Inventory.hs 191;" f +shiftInvItemsDown src/Dodge/Inventory.hs 184;" f +shiftInvItemsUp src/Dodge/Inventory.hs 194;" 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 @@ -5113,8 +5112,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 174;" f -shiftSetUp src/Dodge/Inventory.hs 168;" f +shiftSetDown src/Dodge/Inventory.hs 177;" f +shiftSetUp src/Dodge/Inventory.hs 171;" f shiftTile src/Dodge/Room/Link.hs 49;" f shineTargetLaser src/Dodge/Creature/State.hs 229;" f shineTorch src/Dodge/Creature/State.hs 266;" f @@ -5127,7 +5126,6 @@ shootPulseBall src/Dodge/HeldUse.hs 926;" f shootPulseLaser src/Dodge/HeldUse.hs 899;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootTeslaArc src/Dodge/HeldUse.hs 1215;" f -shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTractorBeam src/Dodge/HeldUse.hs 839;" f shootersRoom src/Dodge/Room/Room.hs 345;" f shootersRoom' src/Dodge/Room/Room.hs 312;" f @@ -5272,21 +5270,21 @@ 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 96;" f -ssLookupGE' src/Dodge/SelectionSections.hs 150;" f -ssLookupGT src/Dodge/SelectionSections.hs 137;" f -ssLookupGT' src/Dodge/SelectionSections.hs 143;" f -ssLookupLE' src/Dodge/SelectionSections.hs 125;" f -ssLookupLT src/Dodge/SelectionSections.hs 112;" f -ssLookupLT' src/Dodge/SelectionSections.hs 118;" f -ssLookupMax src/Dodge/SelectionSections.hs 86;" f -ssLookupMaxInSection src/Dodge/SelectionSections.hs 106;" f -ssLookupMin src/Dodge/SelectionSections.hs 132;" f -ssLookupNextMax src/Dodge/SelectionSections.hs 101;" f -ssLookupUp src/Dodge/SelectionSections.hs 91;" f -ssScrollMinOnFail src/Dodge/SelectionSections.hs 45;" f -ssScrollUsing src/Dodge/SelectionSections.hs 37;" f -ssSetCursor src/Dodge/SelectionSections.hs 73;" f +ssLookupDown src/Dodge/SelectionSections.hs 101;" f +ssLookupGE' src/Dodge/SelectionSections.hs 155;" f +ssLookupGT src/Dodge/SelectionSections.hs 142;" f +ssLookupGT' src/Dodge/SelectionSections.hs 148;" f +ssLookupLE' src/Dodge/SelectionSections.hs 130;" f +ssLookupLT src/Dodge/SelectionSections.hs 117;" f +ssLookupLT' src/Dodge/SelectionSections.hs 123;" f +ssLookupMax src/Dodge/SelectionSections.hs 91;" f +ssLookupMaxInSection src/Dodge/SelectionSections.hs 111;" f +ssLookupMin src/Dodge/SelectionSections.hs 137;" f +ssLookupNextMax src/Dodge/SelectionSections.hs 106;" f +ssLookupUp src/Dodge/SelectionSections.hs 96;" f +ssScrollMinOnFail src/Dodge/SelectionSections.hs 50;" f +ssScrollUsing src/Dodge/SelectionSections.hs 42;" f +ssSetCursor src/Dodge/SelectionSections.hs 78;" f ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 95;" f stackPicturesAtOff src/Dodge/Render/List.hs 98;" f @@ -5335,8 +5333,8 @@ swapAnyExtraSelection 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 22;" f -swapItemWith src/Dodge/Inventory.hs 272;" f -swapSelSet src/Dodge/Inventory.hs 157;" f +swapItemWith src/Dodge/Inventory.hs 275;" f +swapSelSet src/Dodge/Inventory.hs 160;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f t src/ShortShow.hs 48;" f @@ -5419,7 +5417,7 @@ thingsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 65;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 862;" f throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 820;" f -throwItem src/Dodge/Creature/Action.hs 216;" f +throwItem src/Dodge/Creature/Action.hs 209;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 221;" f tilesToLine src/Shader/AuxAddition.hs 66;" f @@ -5456,7 +5454,7 @@ toV2 src/Geometry/Data.hs 54;" f toV3 src/Geometry/Data.hs 57;" f toV4 src/Geometry/Data.hs 60;" f tocrs src/Dodge/TestString.hs 40;" f -toggleCombineInv src/Dodge/DisplayInventory.hs 315;" f +toggleCombineInv src/Dodge/DisplayInventory.hs 316;" f toggleCommands src/Dodge/Terminal.hs 86;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 68;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 106;" f @@ -5527,7 +5525,7 @@ tryClickUse src/Dodge/Creature/YourControl.hs 207;" f tryCombine src/Dodge/Update/Input/InGame.hs 555;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 179;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 159;" f -tryEvadeSideways src/Dodge/Creature/Action.hs 105;" f +tryEvadeSideways src/Dodge/Creature/Action.hs 101;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f @@ -5601,7 +5599,7 @@ updateCamera src/Dodge/Update/Camera.hs 33;" f 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 126;" f +updateCloseObjects src/Dodge/Inventory.hs 129;" f updateCloud src/Dodge/Update.hs 919;" f updateClouds src/Dodge/Update.hs 783;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f @@ -5879,7 +5877,7 @@ yIntercepts src/Dodge/Zoning/Base.hs 78;" f yV2 src/Geometry/Vector.hs 213;" f yellow src/Color.hs 44;" f you src/Dodge/Base/You.hs 17;" f -youDropItem src/Dodge/Creature/Action.hs 202;" f +youDropItem src/Dodge/Creature/Action.hs 195;" f yourAugmentedItem src/Dodge/Render/HUD.hs 240;" f yourControl src/Dodge/Creature/YourControl.hs 26;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 109;" f