From 1427efedb2923d6800a5bd5bafcfc98a490e21b1 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 24 Nov 2024 12:25:21 +0000 Subject: [PATCH] Move towards removing some default display sections --- ghcidOutput | 2 +- src/Dodge/Default/World.hs | 3 +- src/Dodge/DisplayInventory.hs | 62 ++++++++--------- tags | 123 +++++++++++++++++----------------- 4 files changed, 96 insertions(+), 94 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index d79c6c46f..a483ac2dc 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (594 modules, at 10:56:37) +All good (594 modules, at 12:24:25) diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index ea5f12370..e632b8bda 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -164,7 +164,8 @@ defaultDisplayInventory :: HUDElement defaultDisplayInventory = DisplayInventory { _subInventory = NoSubInventory - , _diSections = defaultInvSections + --, _diSections = defaultInvSections + , _diSections = mempty , _diSelection = Just (1,0) , _diSelectionExtra = mempty , _diInvFilter = mempty diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index e6c16b445..603e35ca1 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -7,12 +7,13 @@ module Dodge.DisplayInventory ( updateCombinePositioning, ) where +import Data.IntMap.Merge.Strict import Control.Applicative import Control.Lens import Control.Monad import Data.Bifunctor import qualified Data.IntMap.Strict as IM -import qualified Data.List as List +--import qualified Data.List as List import Data.Maybe import Data.Monoid import Dodge.Base.You @@ -29,7 +30,7 @@ import Dodge.Item.Grammar import Dodge.ListDisplayParams import Dodge.SelectionList import Dodge.SelectionSections -import ListHelp +import qualified ListHelp as List import Picture.Base toggleCombineInv :: Universe -> Universe @@ -54,6 +55,7 @@ updateCombineSections w cfig = (w ^? hud . hudElement . subInventory . ciSelection . _Just) (getAvailableListLines secondColumnParams cfig) [(0, sclose), (-1, sfclose)] + (IM.fromAscList [(-1,0),(0,0)]) where filtcurs = w ^? hud . hudElement . subInventory . ciSelection . _Just . _1 == Just (-1) (sfclose, sclose) = @@ -76,7 +78,7 @@ regexCombs inv ci str = case str of return $ regexList str' $ _siPictures si' andOrRegex :: (a -> String -> Bool) -> a -> String -> Bool -andOrRegex f x = all (orRegex f x) . wordsBy '&' +andOrRegex f x = all (orRegex f x) . List.wordsBy '&' orRegex :: (a -> String -> Bool) -> a -> String -> Bool orRegex f x str = case words str of @@ -126,6 +128,7 @@ updateDisplaySections w cfig = mselpos (getAvailableListLines (invDisplayParams w) cfig) [filtinv, filtclose, invx, youx, closex] + (IM.fromAscList [(-1,0),(0,2),(1,0),(2,0),(3,2)]) where mselpos = w ^? hud . hudElement . diSelection . _Just invfiltcurs = mselpos ^? _Just . _1 == Just (-1) @@ -196,9 +199,11 @@ displayFreeSlots x = case x of _ -> show x ++ " FREE SLOTS" sectionsDesiredLines :: - IM.IntMap (SelectionSection a) -> +-- IM.IntMap (SelectionSection a) -> + IM.IntMap (IM.IntMap (SelectionItem a)) -> IM.IntMap Int -sectionsDesiredLines = fmap $ alaf Sum foldMap _siHeight . _ssItems +sectionsDesiredLines = fmap $ alaf Sum foldMap _siHeight +--sectionsDesiredLines = fmap $ alaf Sum foldMap _siHeight . _ssItems sectionsSizes :: Int -> -- total available lines @@ -242,39 +247,44 @@ updateSectionsPositioning :: Maybe (Int, Int) -> Int -> [(Int, IM.IntMap (SelectionItem a))] -> + IM.IntMap Int -> IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) -updateSectionsPositioning f mselpos allavailablelines lsss sss = - IM.intersectionWith updateSection ls mss `h` ssizes `h` sss +updateSectionsPositioning f mselpos allavailablelines lsss indents sss = + IM.intersectionWith updateSection ls mss `h` ssizes `g` offsets `h` indents where - mss = IM.mapWithKey m sss + offsets = fmap _ssOffset sss + mss = IM.mapWithKey m ssizes m k _ = do (k', i) <- mselpos guard $ k == k' return i ls = IM.fromList lsss h = IM.intersectionWith ($) + g = merge (mapMissing (const ($ 0))) dropMissing (zipWithMatched (const ($))) lk = fromMaybe [] $ fmap ((: []) . fst) mselpos ssizes = sectionsSizes allavailablelines f lk - $ sectionsDesiredLines $ IM.intersectionWith (set ssItems) ls sss + $ sectionsDesiredLines ls updateSection :: IM.IntMap (SelectionItem a) -> Maybe Int -> Int -> - SelectionSection a -> + Int -> + Int -> SelectionSection a -updateSection sis mcsel availablelines ss = - ss - & ssItems .~ sis - & ssOffset .~ offset - & ssShownItems .~ tweakfirst shownitems +updateSection sis mcsel availablelines oldoffset indent = + SelectionSection + { _ssItems = sis + , _ssOffset = offset + , _ssShownItems = tweakfirst shownitems + , _ssIndent = indent + } where - oldoffset = ss ^. ssOffset nocursoroffset = if length allstrings - oldoffset <= availablelines then max 0 (length allstrings - availablelines) @@ -297,7 +307,6 @@ updateSection sis mcsel availablelines ss = _ -> oldoffset tweakfirst (x : xs) | offset > 0 = - --color moreupcolor (text (theindent ++ replicate 15 (toEnum 30))) : color moreupcolor (text (replicate 15 (toEnum 30))) : xs | otherwise = x : xs @@ -305,14 +314,12 @@ updateSection sis mcsel availablelines ss = moreupcolor = fromMaybe white $ allstrings ^? ix offset . _1 shownitems | length shownstrings > availablelines = - map h (take (availablelines - 1) shownstrings) --- ++ [color moredowncolor . text $ theindent ++ replicate 15 (toEnum 31)] + map snd (take (availablelines - 1) shownstrings) ++ [color moredowncolor . text $ replicate 15 (toEnum 31)] - | otherwise = map h shownstrings + | otherwise = map snd shownstrings moredowncolor = fromMaybe white $ allstrings ^? ix (offset + availablelines - 1) . _1 allstrings = listSelectionColorPicture sis shownstrings = drop offset allstrings - h (_, str) = str listSelectionColorPicture :: Foldable t => t (SelectionItem a) -> [(Color, Picture)] listSelectionColorPicture = foldMap f @@ -330,8 +337,7 @@ enterCombineInv cfig w = , _ciSelection = selpos , _ciFilter = Nothing } - & hud . hudElement . diInvFilter - .~ Nothing + & hud . hudElement . diInvFilter .~ Nothing where cm' = IM.fromDistinctAscList . zip [0 ..] $ combineList w cm @@ -354,12 +360,8 @@ enterCombineInv cfig w = cm (Just 0) availablelines - SelectionSection - { _ssItems = cm - , _ssOffset = 0 - , _ssShownItems = mempty - , _ssIndent = 0 - } + 0 + 0 regexList :: String -> [String] -> Bool -regexList x = any (isInfixOf x) +regexList x = any (List.isInfixOf x) diff --git a/tags b/tags index b6c98b719..bb19d0b7f 100644 --- a/tags +++ b/tags @@ -516,7 +516,7 @@ DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m DisplayCarte src/Dodge/Data/HUD.hs 27;" C DisplayInventory src/Dodge/Data/HUD.hs 18;" C -DisplayInventory src/Dodge/DisplayInventory.hs 3;" m +DisplayInventory src/Dodge/DisplayInventory.hs 4;" m DisplayTerminal src/Dodge/Data/HUD.hs 46;" C Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 6;" m @@ -695,7 +695,7 @@ FetchItem src/Dodge/Data/Scenario.hs 11;" C Fixated src/Dodge/Data/Creature/Perception.hs 62;" C FixedCoordLayer src/Picture/Data.hs 28;" C FixedRate src/Dodge/Data/Item/HeldDelay.hs 15;" C -FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C +FixedSelectionWidth src/Dodge/Data/SelectionList.hs 40;" C FlIt src/Dodge/Data/FloorItem.hs 16;" C Flame src/Dodge/Data/Flame.hs 14;" t Flame src/Dodge/Data/Flame.hs 6;" m @@ -870,7 +870,7 @@ Humanoid src/Dodge/Data/Creature/Misc.hs 65;" C Humanoid src/Dodge/Humanoid.hs 1;" m HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t ILink src/Dodge/Data/ComposedItem.hs 52;" C -IMSS src/Dodge/Data/SelectionList.hs 39;" t +IMSS src/Dodge/Data/SelectionList.hs 37;" t INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 105;" C IRONBAR src/Dodge/Data/Item/Combine.hs 57;" C ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 169;" C @@ -1685,15 +1685,15 @@ SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C SelectUse src/Dodge/SelectUse.hs 1;" m Select_creature src/Dodge/Data/Config.hs 92;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C -SelectionInfo src/Dodge/Data/SelectionList.hs 55;" C -SelectionItem src/Dodge/Data/SelectionList.hs 46;" t +SelectionInfo src/Dodge/Data/SelectionList.hs 53;" C +SelectionItem src/Dodge/Data/SelectionList.hs 44;" t SelectionList src/Dodge/Data/SelectionList.hs 4;" m SelectionList src/Dodge/Default/SelectionList.hs 1;" m SelectionList src/Dodge/Inventory/SelectionList.hs 3;" m SelectionList src/Dodge/SelectionList.hs 1;" m SelectionSection src/Dodge/Data/SelectionList.hs 30;" t SelectionSections src/Dodge/SelectionSections.hs 1;" m -SelectionWidth src/Dodge/Data/SelectionList.hs 41;" t +SelectionWidth src/Dodge/Data/SelectionList.hs 39;" t SelfTree src/Dodge/Tree/Compose/Data.hs 12;" t Sensor src/Dodge/Data/Machine/Sensor.hs 16;" t Sensor src/Dodge/Data/Machine/Sensor.hs 6;" m @@ -2037,7 +2037,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 36;" C UseHotkey src/Dodge/Data/Item/Use.hs 44;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m -UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 44;" C +UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 42;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C UseScope src/Dodge/Data/Item/Use.hs 60;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C @@ -2051,7 +2051,7 @@ VBO src/Shader/Data.hs 81;" t VF src/Polyhedra/Data.hs 21;" t VIOLET src/Color/Data.hs 22;" C VOLLEYGUN src/Dodge/Data/Item/Combine.hs 139;" C -VariableSelectionWidth src/Dodge/Data/SelectionList.hs 43;" C +VariableSelectionWidth src/Dodge/Data/SelectionList.hs 41;" C Vector src/Geometry/Vector.hs 3;" m Vector3D src/Geometry/Vector3D.hs 2;" m VertexAttribute src/Shader/Data.hs 68;" t @@ -3044,17 +3044,17 @@ _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shockwaves src/Dodge/Data/LWorld.hs 114;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f -_siColor src/Dodge/Data/SelectionList.hs 51;" f -_siColor src/Dodge/Data/SelectionList.hs 59;" f -_siHeight src/Dodge/Data/SelectionList.hs 49;" f -_siHeight src/Dodge/Data/SelectionList.hs 57;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 50;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 58;" f -_siOffX src/Dodge/Data/SelectionList.hs 52;" f -_siOffX src/Dodge/Data/SelectionList.hs 60;" f -_siPayload src/Dodge/Data/SelectionList.hs 53;" f -_siPictures src/Dodge/Data/SelectionList.hs 48;" f -_siPictures src/Dodge/Data/SelectionList.hs 56;" f +_siColor src/Dodge/Data/SelectionList.hs 49;" f +_siColor src/Dodge/Data/SelectionList.hs 57;" f +_siHeight src/Dodge/Data/SelectionList.hs 47;" f +_siHeight src/Dodge/Data/SelectionList.hs 55;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 48;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 56;" f +_siOffX src/Dodge/Data/SelectionList.hs 50;" f +_siOffX src/Dodge/Data/SelectionList.hs 58;" f +_siPayload src/Dodge/Data/SelectionList.hs 51;" f +_siPictures src/Dodge/Data/SelectionList.hs 46;" f +_siPictures src/Dodge/Data/SelectionList.hs 54;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f _sidePush src/Dodge/Data/Item/Use.hs 87;" f @@ -3084,11 +3084,10 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f _sparks src/Dodge/Data/LWorld.hs 110;" f _spawnEBT src/Dodge/Data/Bullet.hs 43;" f -_ssDescriptor src/Dodge/Data/SelectionList.hs 36;" f -_ssIndent src/Dodge/Data/SelectionList.hs 35;" f +_ssIndent src/Dodge/Data/SelectionList.hs 34;" f _ssItems src/Dodge/Data/SelectionList.hs 31;" f -_ssOffset src/Dodge/Data/SelectionList.hs 33;" f -_ssShownItems src/Dodge/Data/SelectionList.hs 34;" f +_ssOffset src/Dodge/Data/SelectionList.hs 32;" f +_ssShownItems src/Dodge/Data/SelectionList.hs 33;" f _strength src/Dodge/Data/Creature/Misc.hs 21;" f _strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f _strideLength src/Dodge/Data/Creature/Stance.hs 16;" f @@ -3368,7 +3367,7 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f amr src/Dodge/Item/Held/Rod.hs 46;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f -andOrRegex src/Dodge/DisplayInventory.hs 81;" f +andOrRegex src/Dodge/DisplayInventory.hs 80;" f angleBetween src/Geometry.hs 145;" f angleVV src/Geometry/Vector.hs 57;" f angleVV3 src/Geometry/Vector3D.hs 122;" f @@ -3583,7 +3582,7 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 69;" f 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 103;" f +checkCombineSelectionExists src/Dodge/DisplayInventory.hs 102;" f checkConnection src/Dodge/Inventory.hs 244;" f checkDeath src/Dodge/Creature/State.hs 75;" f checkEndGame src/Dodge/Update.hs 680;" f @@ -3591,13 +3590,13 @@ checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" f -checkInventorySelectionExists src/Dodge/DisplayInventory.hs 96;" f +checkInventorySelectionExists src/Dodge/DisplayInventory.hs 95;" f checkTermDist src/Dodge/Update.hs 297;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f chemFuelPouch src/Dodge/Item/Ammo.hs 110;" f -chooseCursorBorders src/Dodge/Render/List.hs 160;" f +chooseCursorBorders src/Dodge/Render/List.hs 159;" f chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f @@ -3802,7 +3801,7 @@ cylinderIndices src/Shader/Poke.hs 374;" f cylinderOnSeg src/Geometry.hs 125;" f cylinderPoly src/Shape.hs 86;" f cylinderRoundIndices src/Shader/Poke.hs 381;" f -dShadCol src/Dodge/Render/List.hs 219;" f +dShadCol src/Dodge/Render/List.hs 218;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f damToExpBarrel src/Dodge/Barreloid.hs 57;" f damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f @@ -3875,7 +3874,7 @@ defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultBulletWeapon src/Dodge/Default/Item.hs 47;" f defaultButton src/Dodge/Default.hs 51;" f -defaultCOSection src/Dodge/Default/World.hs 198;" f +defaultCOSection src/Dodge/Default/World.hs 197;" f defaultCWCam src/Dodge/Default/World.hs 68;" f defaultCWGen src/Dodge/Default/World.hs 58;" f defaultCWorld src/Dodge/Default/World.hs 83;" f @@ -3899,7 +3898,7 @@ defaultDrawButton src/Dodge/Button/Draw.hs 28;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f defaultEquipment src/Dodge/Default.hs 27;" f -defaultFiltSection src/Dodge/Default/World.hs 204;" f +defaultFiltSection src/Dodge/Default/World.hs 201;" f defaultFlIt src/Dodge/Default.hs 30;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultHUD src/Dodge/Default/World.hs 153;" f @@ -3909,8 +3908,8 @@ defaultImpulsive src/Dodge/Humanoid.hs 190;" f defaultInanimate src/Dodge/Default/Creature.hs 69;" f defaultInput src/Dodge/Default/World.hs 15;" f defaultIntention src/Dodge/Default/Creature.hs 105;" f -defaultInvSection src/Dodge/Default/World.hs 210;" f -defaultInvSections src/Dodge/Default/World.hs 174;" f +defaultInvSection src/Dodge/Default/World.hs 205;" f +defaultInvSections src/Dodge/Default/World.hs 175;" f defaultInvSize src/Dodge/Default/Creature.hs 79;" f defaultItEffect src/Dodge/Default/Item.hs 55;" f defaultItEffect src/Dodge/Default/Item/Effect.hs 5;" f @@ -3941,7 +3940,7 @@ defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f defaultWorld src/Dodge/Default/World.hs 35;" f -defaultYouSection src/Dodge/Default/World.hs 215;" f +defaultYouSection src/Dodge/Default/World.hs 209;" f defocusTerminalInput src/Dodge/Terminal/LeftButton.hs 21;" f degToRad src/Geometry/Vector.hs 117;" f deleteIMInZone src/Dodge/Base.hs 70;" f @@ -3983,8 +3982,8 @@ disconnectTerminal src/Dodge/Terminal.hs 217;" f displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f -displayFreeSlots src/Dodge/DisplayInventory.hs 200;" f -displaySectionsSizes src/Dodge/DisplayInventory.hs 116;" f +displayFreeSlots src/Dodge/DisplayInventory.hs 195;" f +displaySectionsSizes src/Dodge/DisplayInventory.hs 115;" f displayTerminalLineString src/Dodge/Update.hs 422;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f @@ -4048,7 +4047,7 @@ doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f doRoomShift src/Dodge/Room/Link.hs 33;" f doScopeZoom src/Dodge/Update/Camera.hs 141;" f -doSectionSize src/Dodge/DisplayInventory.hs 222;" f +doSectionSize src/Dodge/DisplayInventory.hs 217;" f doSideEffects appDodge/Main.hs 118;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f @@ -4139,8 +4138,8 @@ drawLampCover src/Dodge/Prop/Draw.hs 44;" f drawLaser src/Dodge/Laser/Draw.hs 6;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f -drawList src/Dodge/Render/List.hs 213;" f -drawListElement src/Dodge/Render/List.hs 191;" f +drawList src/Dodge/Render/List.hs 212;" f +drawListElement src/Dodge/Render/List.hs 190;" f drawListYgapScaleYoff src/Dodge/Render/List.hs 98;" f drawListYoff src/Dodge/Render/List.hs 95;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f @@ -4234,7 +4233,7 @@ encircle src/Dodge/Creature/Boid.hs 115;" f encircleCloseP src/Dodge/Creature/Boid.hs 35;" f encircleDistP src/Dodge/Creature/Boid.hs 21;" f encircleP src/Dodge/Creature/Boid.hs 27;" f -enterCombineInv src/Dodge/DisplayInventory.hs 324;" f +enterCombineInv src/Dodge/DisplayInventory.hs 330;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f equipAllocString src/Dodge/Render/HUD.hs 280;" f @@ -4283,7 +4282,7 @@ fdiv src/ShortShow.hs 27;" f feet src/Dodge/Creature/Picture.hs 51;" f ffoldM src/Framebuffer/Update.hs 79;" f filter3 src/FoldableHelp.hs 76;" f -filterSectionsPair src/Dodge/DisplayInventory.hs 166;" f +filterSectionsPair src/Dodge/DisplayInventory.hs 162;" f findBlips src/Dodge/RadarSweep.hs 44;" f findBoundDists src/Dodge/Update/Camera.hs 235;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f @@ -4595,7 +4594,7 @@ interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 188;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f -invDimColor src/Dodge/DisplayInventory.hs 194;" f +invDimColor src/Dodge/DisplayInventory.hs 189;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f invHead src/Dodge/Render/HUD.hs 377;" f invLDT src/Dodge/Item/Grammar.hs 171;" f @@ -4768,9 +4767,9 @@ linksAndPath' src/Dodge/Room/Path.hs 44;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 7;" f listConfig src/Dodge/Menu.hs 199;" f listControls src/Dodge/Menu.hs 212;" f -listCursorChooseBorderScale src/Dodge/Render/List.hs 139;" f +listCursorChooseBorderScale src/Dodge/Render/List.hs 138;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f -listSelectionColorPicture src/Dodge/DisplayInventory.hs 316;" f +listSelectionColorPicture src/Dodge/DisplayInventory.hs 322;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f llleft src/Dodge/Item/Grammar.hs 107;" f llright src/Dodge/Item/Grammar.hs 114;" f @@ -4937,7 +4936,7 @@ memoCylinderIndices src/Shader/Poke.hs 315;" f memoFlatIndices src/Shader/Poke.hs 303;" f memoTopPrismEdgeIndices src/Shader/Poke.hs 321;" f memoTopPrismIndices src/Shader/Poke.hs 309;" f -menuOptionToSelectionItem src/Dodge/Menu/Option.hs 105;" f +menuOptionToSelectionItem src/Dodge/Menu/Option.hs 94;" f merge src/ListHelp.hs 83;" f mergeBy src/ListHelp.hs 86;" f mergeOn src/ListHelp.hs 93;" f @@ -5083,10 +5082,10 @@ optionListDisplayParams src/Dodge/ListDisplayParams.hs 69;" f optionMenu src/Dodge/Menu.hs 105;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 50;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 41;" f -optionValueOffset src/Dodge/Menu/Option.hs 100;" f +optionValueOffset src/Dodge/Menu/Option.hs 89;" f optionsOptions src/Dodge/Menu.hs 108;" f optionsToSelections src/Dodge/Menu/Option.hs 51;" f -orRegex src/Dodge/DisplayInventory.hs 84;" f +orRegex src/Dodge/DisplayInventory.hs 83;" f orange src/Color.hs 25;" f orderAround3 src/Geometry/Vector3D.hs 105;" f orderAroundFirst src/Geometry/Polygon.hs 82;" f @@ -5189,7 +5188,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 70;" f placeString src/Dodge/Render/MenuScreen.hs 63;" f placeWallPoly src/Dodge/Placement/PlaceSpot.hs 162;" f -plainRegex src/Dodge/DisplayInventory.hs 197;" f +plainRegex src/Dodge/DisplayInventory.hs 192;" f plateCraft src/Dodge/Item/Craftable.hs 45;" f playIfFree src/Sound.hs 136;" f playPositionalSoundQueue src/Sound.hs 144;" f @@ -5417,9 +5416,9 @@ reflectInParam src/Geometry.hs 233;" f reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 39;" f -regexCombs src/Dodge/DisplayInventory.hs 71;" f +regexCombs src/Dodge/DisplayInventory.hs 70;" f regexIn src/Regex.hs 4;" f -regexList src/Dodge/DisplayInventory.hs 367;" f +regexList src/Dodge/DisplayInventory.hs 364;" f regexList src/Regex.hs 7;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f reloadLevelStart src/Dodge/Save.hs 71;" f @@ -5439,7 +5438,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f renderLayer src/Render.hs 233;" f renderLightingNoShadows src/Render.hs 48;" f -renderListAt src/Dodge/Render/List.hs 196;" f +renderListAt src/Dodge/Render/List.hs 195;" f renderShadows src/Render.hs 117;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f @@ -5590,16 +5589,16 @@ seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 372;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f -sectionsDesiredLines src/Dodge/DisplayInventory.hs 206;" f -sectionsSizes src/Dodge/DisplayInventory.hs 211;" f +sectionsDesiredLines src/Dodge/DisplayInventory.hs 201;" f +sectionsSizes src/Dodge/DisplayInventory.hs 206;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selNumPos src/Dodge/Render/HUD.hs 437;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 460;" f -selSecDrawCursor src/Dodge/Render/List.hs 129;" f +selNumPos src/Dodge/Render/HUD.hs 426;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 449;" f +selSecDrawCursor src/Dodge/Render/List.hs 128;" f selSecDrawCursorAt src/Dodge/Render/List.hs 107;" f -selSecSelCol src/Dodge/Render/HUD.hs 483;" f +selSecSelCol src/Dodge/Render/HUD.hs 472;" f selSecSelSize src/Dodge/SelectionSections.hs 182;" f selSecYint src/Dodge/SelectionSections.hs 191;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f @@ -5981,11 +5980,11 @@ toLabel src/Dodge/Cleat.hs 16;" f toLasgunUpdate src/Dodge/Item/Grammar.hs 119;" f toMultiset src/Multiset.hs 64;" f toOnward src/Dodge/Tree/Compose.hs 101;" f -toTopLeft src/Dodge/Render/List.hs 223;" f +toTopLeft src/Dodge/Render/List.hs 222;" f toV2 src/Geometry/Data.hs 36;" f toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f -toggleCombineInv src/Dodge/DisplayInventory.hs 34;" f +toggleCombineInv src/Dodge/DisplayInventory.hs 36;" f toggleCommand src/Dodge/Terminal.hs 196;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleJust src/MaybeHelp.hs 41;" f @@ -6127,7 +6126,7 @@ updateCreatureGroups src/Dodge/Update.hs 492;" f updateCreatureSoundPositions src/Dodge/Update.hs 468;" f updateDebugMessageOffset src/Dodge/Update.hs 92;" f updateDelayedEvents src/Dodge/Update.hs 771;" f -updateDisplaySections src/Dodge/DisplayInventory.hs 121;" f +updateDisplaySections src/Dodge/DisplayInventory.hs 120;" f updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 513;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f @@ -6151,7 +6150,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 334;" f updateInstantBullets src/Dodge/Update.hs 629;" f updateInv src/Dodge/Creature/State.hs 152;" f -updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f +updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 328;" f @@ -6191,8 +6190,8 @@ updateRootItemID src/Dodge/Inventory/Location.hs 35;" f updateScopeZoom src/Dodge/Update/Camera.hs 127;" f updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f -updateSection src/Dodge/DisplayInventory.hs 267;" f -updateSectionsPositioning src/Dodge/DisplayInventory.hs 246;" f +updateSection src/Dodge/DisplayInventory.hs 271;" f +updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f updateSeenWalls src/Dodge/Update.hs 660;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f updateShockwaves src/Dodge/Update.hs 534;" f