diff --git a/ghcidOutput b/ghcidOutput index 0936fded1..98af96027 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (615 modules, at 18:28:18) +All good (615 modules, at 09:43:40) diff --git a/src/Dodge/Combine.hs b/src/Dodge/Combine.hs index b60ea5a68..99653c891 100644 --- a/src/Dodge/Combine.hs +++ b/src/Dodge/Combine.hs @@ -1,12 +1,8 @@ --{-# LANGUAGE TupleSections #-} module Dodge.Combine ( combineList, - combineList', ) where -import Color ---import Dodge.Data.SelectionList - import Control.Lens import Control.Monad import Data.Bifunctor @@ -28,60 +24,27 @@ import Dodge.Module import qualified IntMapHelp as IM import SimpleTrie ---invertInventory :: IM.IntMap Item -> [(ItemBaseType, ItAmount, Int)] ---invertInventory = --- IM.foldrWithKey --- (\k it -> ((_iyBase $ _itType it, itStackAmount it, k) :)) --- [] - invertInventoryToMap :: IM.IntMap Item -> M.Map ItemBaseType [Int] invertInventoryToMap = IM.foldrWithKey (\k it -> (M.insertWith (++) (_iyBase $ _itType it) [k])) mempty ---splitItAmounts :: [(ItemBaseType, ItAmount, Int)] -> [((ItAmount, ItemBaseType), (ItAmount, Int))] ---splitItAmounts = concatMap f --- where --- f (x, n, y) = [((i, x), (i, y)) | i <- [1 .. n]] - groupSplitItemAmounts :: M.Map ItemBaseType [Int] -> [((ItAmount, ItemBaseType), [Int])] groupSplitItemAmounts = M.foldrWithKey f [] where f ibt is = (++) [((fromIntegral i, ibt), take i is) | i <- [1 .. length is]] ---flatSplitItAmounts :: [(ItemBaseType, ItAmount, Int)] -> [((ItAmount, ItemBaseType), [Int])] ---flatSplitItAmounts = concatMap f --- where --- f (x, n, y) = [((i, x), replicate (fromIntegral i) y) | i <- [1 .. n]] - ---lookupItems :: IM.IntMap Item -> [([(ItAmount, Int)], Item)] ---lookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . splitItAmounts . invertInventory - flatLookupItems :: IM.IntMap Item -> [([[Int]], Item)] flatLookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . groupSplitItemAmounts . invertInventoryToMap ---flatLookupItems :: IM.IntMap Item -> [([[Int]],Item)] ---flatLookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . flatSplitItAmounts --- . invertInventory - combineItemListYouX :: World -> [([Int], Item)] combineItemListYouX = map (first $ concat) . flatLookupItems . yourInv ---combineItemListYouX' :: World -> [([Int], Item)] ---combineItemListYouX' = map (first $ concatMap g) . lookupItems . yourInv --- where --- g (amount, i) = replicate (_getItAmount amount) i - combineList :: World -> [SelectionItem CombinableItem] -combineList w = case combineList' w of - [] -> [SelectionInfo ["No possible combinations"] 1 False white 0] - xs -> xs - -combineList' :: World -> [SelectionItem CombinableItem] -combineList' = map f . combineListInfo +combineList = map f . combineListInfo where f (is, (strs, itm)) = SelectionItem diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index c98cef857..2c37f8676 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -49,7 +49,7 @@ updateCombineSections w cfig sss = where mselpos = sss ^. sssExtra . sssSelPos availablelines = getAvailableListLines secondColumnParams cfig - allcombs = IM.fromAscList $ zip [0 ..] $ combineList' w + allcombs = IM.fromAscList $ zip [0 ..] $ combineList w filtcombs = fromMaybe allcombs $ do str <- mstr invitms <- w ^? hud . hudElement . diSections . sssSections . ix 0 . ssItems @@ -140,7 +140,7 @@ updateDisplaySections w cfig sss = invDimColor :: Color invDimColor = greyN 0.7 --- it is annoying that this is necessary +-- this appears to be only for filtering updateInventorySectionItems :: World -> World updateInventorySectionItems w = w @@ -214,20 +214,15 @@ updateSection sis mcsel availablelines ss = si <- sis ^? ix csel let xselsize = length $ _siPictures si return $ case sum $ fmap (length . _siPictures) . fst . IM.split csel $ sis of - pos - | pos == 0 || length allstrings <= availablelines -> + pos | pos == 0 || length allstrings <= availablelines -> 0 - pos - | pos - 1 < oldoffset -> + pos | pos - 1 < oldoffset -> pos - 1 - pos - | maxcsel == csel -> + pos | maxcsel == csel -> pos - availablelines + xselsize - pos - | pos + 1 + xselsize - availablelines > oldoffset -> + pos | pos + 1 + xselsize - availablelines > oldoffset -> pos - availablelines + 1 + xselsize - _ - | length allstrings - oldoffset < availablelines -> + _ | length allstrings - oldoffset < availablelines -> length allstrings - availablelines _ -> oldoffset tweakfirst (x : xs) @@ -263,7 +258,7 @@ enterCombineInv cfig w = cm' sss where - cm' = IM.fromAscList $ zip [0 ..] $ combineList' w + cm' = IM.fromAscList $ zip [0 ..] $ combineList w cm | null cm' = IM.singleton 0 $ SelectionInfo ["No possible combinations"] 1 False white 0 | otherwise = cm' diff --git a/src/Dodge/Inventory/SelectionList.hs b/src/Dodge/Inventory/SelectionList.hs index 2e4a14dbf..2c9802bf9 100644 --- a/src/Dodge/Inventory/SelectionList.hs +++ b/src/Dodge/Inventory/SelectionList.hs @@ -46,9 +46,7 @@ invSelectionItem cr i (it,indent,_) = anyhotkey = maybe [] ((' ':) .hotkeyToString) (cr ^? crInvHotkeys . ix i) anyequippos = maybe [] (rightPad 8 ' ' . (' ':) . eqPosText) (cr ^? crInvEquipped . ix i) col = itemInvColor it - pics = case _itCurseStatus it of - UndroppableIdentified -> itemDisplay cr it - _ -> itemDisplay cr it + pics = itemDisplay cr it hotkeyToString :: Hotkey -> String hotkeyToString x = case x of diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 8d4386551..c718bc6f5 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -28,7 +28,6 @@ import Geometry import LensHelp import SDL --- might not need the full universe here updateUseInputInGame :: Universe -> Universe updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of DisplayCarte -> over uvWorld updatePressedButtonsCarte u diff --git a/tags b/tags index 88ac25572..0b201a197 100644 --- a/tags +++ b/tags @@ -1352,7 +1352,7 @@ LAUNCHHOME src/Dodge/Data/Item/Combine.hs 218;" C LBlink src/Dodge/Data/Item/HeldUse.hs 63;" C LBoost src/Dodge/Data/Item/HeldUse.hs 65;" C LBranches src/TreeExtra.hs 24;" C -LDT src/Dodge/Data/DoubleTree.hs 31;" C +LDT src/Dodge/Data/DoubleTree.hs 38;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 26;" C LDTComb src/Dodge/Item/Grammar.hs 46;" t LDTCombine src/Dodge/Item/Grammar.hs 44;" t @@ -1389,7 +1389,7 @@ Label src/Dodge/Render/Label.hs 1;" m LabelAction src/Dodge/Data/ActionPlan.hs 79;" C LabelCluster src/Dodge/Data/RoomCluster.hs 14;" C LabelCluster src/Dodge/RoomCluster/Data.hs 12;" C -LabelDoubleTree src/Dodge/Data/DoubleTree.hs 31;" t +LabelDoubleTree src/Dodge/Data/DoubleTree.hs 38;" t LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 21;" t LabelLayer src/Dodge/Picture/Layer/Data.hs 11;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C @@ -3574,9 +3574,9 @@ _ldpPos src/Dodge/Data/SelectionList.hs 19;" f _ldpScale src/Dodge/Data/SelectionList.hs 20;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 21;" f _ldpWidth src/Dodge/Data/SelectionList.hs 23;" f -_ldtLeft src/Dodge/Data/DoubleTree.hs 31;" f -_ldtRight src/Dodge/Data/DoubleTree.hs 32;" f -_ldtValue src/Dodge/Data/DoubleTree.hs 31;" f +_ldtLeft src/Dodge/Data/DoubleTree.hs 38;" f +_ldtRight src/Dodge/Data/DoubleTree.hs 39;" f +_ldtValue src/Dodge/Data/DoubleTree.hs 38;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 150;" f _leftConsumption src/Dodge/Data/Item/Use.hs 44;" f _leftDelay src/Dodge/Data/Item/Use.hs 41;" f @@ -4411,7 +4411,7 @@ amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f anItemFindPulse src/Dodge/Item/Weapon/UseEffect.hs 25;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f -andOrRegex src/Dodge/DisplayInventory.hs 80;" f +andOrRegex src/Dodge/DisplayInventory.hs 79;" f angleBetween src/Geometry.hs 145;" f angleVV src/Geometry/Vector.hs 57;" f angleVV3 src/Geometry/Vector3D.hs 122;" f @@ -4526,9 +4526,9 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 445;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placements/Wall.hs 63;" f baseBlockPane src/Dodge/Room/Placement.hs 93;" f -baseCIS src/Dodge/Item/Grammar.hs 36;" f +baseCIS src/Dodge/Item/Grammar.hs 39;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 251;" f -baseComposedItem' src/Dodge/Item/Grammar.hs 28;" f +baseComposedItem' src/Dodge/Item/Grammar.hs 31;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 38;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 254;" f @@ -4696,7 +4696,7 @@ checkTermDist src/Dodge/Update.hs 281;" 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 -chooseCursorBorders src/Dodge/Render/List.hs 130;" f +chooseCursorBorders src/Dodge/Render/List.hs 126;" 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 @@ -4713,6 +4713,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleLaser src/Dodge/Item/Weapon/BatteryGuns.hs 88;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f +cisToItem src/Dodge/Item/Grammar.hs 22;" f clClSpringVel src/Dodge/Update.hs 630;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f @@ -4738,8 +4739,8 @@ clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 12;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 7;" f closeObjectInfo src/Dodge/Render/HUD.hs 105;" f -closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 49;" f -closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 64;" f +closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 68;" f +closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 83;" f closestCreatureID src/Dodge/Debug.hs 91;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f @@ -4787,7 +4788,6 @@ combineItemListYouX src/Dodge/Combine.hs 70;" f combineList src/Dodge/Combine.hs 78;" f combineList' src/Dodge/Combine.hs 83;" f combineListInfo src/Dodge/Combine.hs 96;" f -combineMaybe src/Dodge/Item/Grammar.hs 40;" f combineModuleMaps src/Dodge/Combine.hs 107;" f combineRooms src/Dodge/Room/Procedural.hs 151;" f combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f @@ -4946,7 +4946,7 @@ cylinderIndices src/Shader/Poke.hs 374;" f cylinderOnSeg src/Geometry.hs 125;" f cylinderPoly src/Shape.hs 85;" f cylinderRoundIndices src/Shader/Poke.hs 381;" f -dShadCol src/Dodge/Render/List.hs 185;" f +dShadCol src/Dodge/Render/List.hs 181;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f damToExpBarrel src/Dodge/Barreloid.hs 57;" f damageBlockWith src/Dodge/WorldEvent/DamageBlock.hs 16;" f @@ -5158,8 +5158,7 @@ displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f displayEnergyBallType src/Dodge/Module/Info.hs 19;" f displayFrameTicks src/Dodge/Render/Picture.hs 27;" f -displayFreeSlots src/Dodge/DisplayInventory.hs 161;" f -displaySelectionSection src/Dodge/DisplayInventory.hs 253;" f +displayFreeSlots src/Dodge/DisplayInventory.hs 159;" f displayTerminal src/Dodge/Render/HUD.hs 210;" f displayTerminalLineString src/Dodge/Update.hs 325;" f dist src/Geometry/Vector.hs 179;" f @@ -5223,7 +5222,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 133;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 134;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -5236,8 +5235,8 @@ doTerminalBootProgram src/Dodge/WorldEffect.hs 98;" f doTerminalCommandEffect src/Dodge/Terminal.hs 133;" f doTerminalEffectLB src/Dodge/Terminal/LeftButton.hs 12;" f doTestDrawing src/Dodge/Render.hs 42;" f -doTextInputOver src/Dodge/Update/Input/Text.hs 12;" f -doTextInputOver' src/Dodge/Update/Input/Text.hs 15;" f +doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f +doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 101;" f doTimeScroll src/Dodge/Update.hs 185;" f doTmTm src/Dodge/TmTm.hs 6;" f @@ -5294,7 +5293,7 @@ drawCreature src/Dodge/Render/ShapePicture.hs 77;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 163;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f -drawCursorAt src/Dodge/Render/List.hs 56;" f +drawCursorAt src/Dodge/Render/List.hs 55;" f drawDDATest src/Dodge/Debug/Picture.hs 254;" f drawDoorPaths src/Dodge/Debug/Picture.hs 215;" f drawDoubleLampCover src/Dodge/LightSources/Lamp.hs 139;" f @@ -5321,10 +5320,10 @@ 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 179;" f -drawListElement src/Dodge/Render/List.hs 159;" f -drawListYgapScaleYoff src/Dodge/Render/List.hs 82;" f -drawListYoff src/Dodge/Render/List.hs 76;" f +drawList src/Dodge/Render/List.hs 175;" f +drawListElement src/Dodge/Render/List.hs 155;" f +drawListYgapScaleYoff src/Dodge/Render/List.hs 78;" f +drawListYoff src/Dodge/Render/List.hs 75;" f drawMachine src/Dodge/Machine/Draw.hs 12;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 47;" f @@ -5345,8 +5344,8 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 123;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 27;" f -drawSelectionCursor src/Dodge/Render/List.hs 41;" f -drawSelectionList src/Dodge/Render/List.hs 29;" f +drawSelectionCursor src/Dodge/Render/List.hs 40;" f +drawSelectionList src/Dodge/Render/List.hs 28;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 10;" f drawSensor src/Dodge/Machine/Draw.hs 19;" f drawShader src/Shader.hs 27;" f @@ -5366,7 +5365,6 @@ drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f drawText src/Picture/Base.hs 220;" f drawTitle src/Dodge/Render/MenuScreen.hs 48;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f -drawTreeYgapScaleYoff src/Dodge/Render/List.hs 79;" f drawTurret src/Dodge/Machine/Draw.hs 58;" f drawTurret src/Dodge/Placements/Turret.hs 82;" f drawVerticalLampCover src/Dodge/LightSources/Lamp.hs 154;" f @@ -5413,7 +5411,7 @@ encircleCloseP src/Dodge/Creature/Boid.hs 35;" f encircleDistP src/Dodge/Creature/Boid.hs 21;" f encircleP src/Dodge/Creature/Boid.hs 27;" f energyBallCraft src/Dodge/Item/Craftable.hs 18;" f -enterCombineInv src/Dodge/DisplayInventory.hs 264;" f +enterCombineInv src/Dodge/DisplayInventory.hs 259;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f @@ -5612,7 +5610,7 @@ getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getItem src/Dodge/Item/Location.hs 12;" f getIthPos src/SelectionIntMap.hs 55;" f getIthYOffset src/SelectionIntMap.hs 58;" f -getLDPWidth src/Dodge/Render/List.hs 71;" f +getLDPWidth src/Dodge/Render/List.hs 70;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getNodePos src/Dodge/Path.hs 31;" f getPretty src/AesonHelp.hs 7;" f @@ -5733,7 +5731,7 @@ holsterWeaponSound src/Dodge/SoundLogic/Synonyms.hs 4;" f homingLaunchers src/Dodge/Combine/Combinations.hs 224;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 55;" f -hotkeyToString src/Dodge/Inventory/SelectionList.hs 34;" f +hotkeyToString src/Dodge/Inventory/SelectionList.hs 53;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f hvBulDams src/Dodge/Particle/Damage.hs 13;" f hvBulHitCr src/Dodge/Particle/Bullet/HitEffect.hs 17;" f @@ -5824,12 +5822,15 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invDimColor src/Dodge/DisplayInventory.hs 142;" f +invDimColor src/Dodge/DisplayInventory.hs 140;" f invDimColor src/Dodge/Inventory/Color.hs 4;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f invHead src/Dodge/Render/HUD.hs 275;" f +invIndentIM src/Dodge/Item/Grammar.hs 90;" f +invIndentIM' src/Dodge/Item/Grammar.hs 87;" f invLDT src/Dodge/Item/Grammar.hs 83;" f -invSelectionItem src/Dodge/Inventory/SelectionList.hs 16;" f +invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f +invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 232;" f invSize src/Dodge/Inventory/CheckSlots.hs 40;" f @@ -6009,9 +6010,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 109;" f +listCursorChooseBorderScale src/Dodge/Render/List.hs 105;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f -listSelectionColorPicture src/Dodge/DisplayInventory.hs 256;" f +listSelectionColorPicture src/Dodge/DisplayInventory.hs 251;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f @@ -6116,7 +6117,7 @@ makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 31;" f makeRect src/Grid.hs 82;" f -makeSelectionListPictures src/Dodge/Render/List.hs 50;" f +makeSelectionListPictures src/Dodge/Render/List.hs 49;" f makeShaderEBO src/Shader/Compile.hs 59;" f makeShaderProgram src/Shader/Compile.hs 287;" f makeShaderUsingVAO src/Shader/Compile.hs 155;" f @@ -6157,7 +6158,7 @@ maybeClearPath src/Dodge/Block.hs 72;" f maybeClearPaths src/Dodge/Block.hs 69;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 258;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 259;" f maybeOpenTerminal src/Dodge/Update.hs 113;" f maybeRateStatus src/Dodge/Item/Display.hs 185;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f @@ -6393,7 +6394,7 @@ optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f optionValueOffset src/Dodge/Menu/Option.hs 106;" f optionsOptions src/Dodge/Menu.hs 108;" f optionsToSelections src/Dodge/Menu/Option.hs 59;" f -orRegex src/Dodge/DisplayInventory.hs 83;" f +orRegex src/Dodge/DisplayInventory.hs 82;" f orange src/Color.hs 25;" f orderAround3 src/Geometry/Vector3D.hs 105;" f orderAroundFirst src/Geometry/Polygon.hs 74;" f @@ -6442,7 +6443,7 @@ parseNum src/Dodge/Debug/Terminal.hs 72;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 212;" f +pauseGame src/Dodge/Update/Input/InGame.hs 213;" f pauseKey src/Dodge/Config/KeyConfig.hs 22;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f @@ -6516,7 +6517,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 78;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 59;" f placeString src/Dodge/Render/MenuScreen.hs 54;" f placeWallPoly src/Dodge/Placement/PlaceSpot.hs 154;" f -plainRegex src/Dodge/DisplayInventory.hs 158;" f +plainRegex src/Dodge/DisplayInventory.hs 156;" f plainShellCollisionCheck src/Dodge/Projectile/Update.hs 45;" f plateCraft src/Dodge/Item/Craftable.hs 47;" f playIfFree src/Sound.hs 136;" f @@ -6630,8 +6631,8 @@ prependTwo src/Geometry.hs 165;" f pressedMBEffects src/Dodge/Update/UsingInput.hs 27;" f pressedMBEffectsNoInventory src/Dodge/Update/UsingInput.hs 40;" f pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 206;" f -prettyDT src/Dodge/Data/DoubleTree.hs 44;" f -prettyLDT src/Dodge/Data/DoubleTree.hs 48;" f +prettyDT src/Dodge/DoubleTree.hs 54;" f +prettyLDT src/Dodge/DoubleTree.hs 58;" f primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f printColumnTitles src/Dodge/Tree/Shift.hs 142;" f printColumns src/Dodge/Tree/Shift.hs 132;" f @@ -6803,7 +6804,7 @@ 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 34;" f -regexCombs src/Dodge/DisplayInventory.hs 70;" f +regexCombs src/Dodge/DisplayInventory.hs 69;" f regexFocus src/Dodge/InputFocus.hs 46;" f regexIn src/Regex.hs 4;" f regexList src/Regex.hs 7;" f @@ -6830,7 +6831,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 15;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 24;" f renderLayer src/Render.hs 233;" f renderLightingNoShadows src/Render.hs 48;" f -renderListAt src/Dodge/Render/List.hs 164;" f +renderListAt src/Dodge/Render/List.hs 160;" f renderShadows src/Render.hs 117;" f repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 650;" f repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 94;" f @@ -7005,7 +7006,7 @@ 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 339;" f -selSecDrawCursor src/Dodge/Render/List.hs 91;" f +selSecDrawCursor src/Dodge/Render/List.hs 87;" f selSecSelCol src/Dodge/Render/HUD.hs 356;" f selSecSelSize src/Dodge/SelectionSections.hs 124;" f selSecYint src/Dodge/SelectionSections.hs 127;" f @@ -7203,8 +7204,8 @@ singleBarrel src/Dodge/Item/Held/SingleBarrel.hs 6;" f singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f singleBlock src/Dodge/Placements/Wall.hs 11;" f singleBlock src/Dodge/Room/Placement.hs 23;" f -singleDT src/Dodge/Item/Grammar.hs 22;" f -singleLDT src/Dodge/Item/Grammar.hs 25;" f +singleDT src/Dodge/Item/Grammar.hs 25;" f +singleLDT src/Dodge/Item/Grammar.hs 28;" f singleton src/DoubleStack.hs 11;" f singletonTrie src/SimpleTrie.hs 14;" f sizeFBOs src/Framebuffer/Update.hs 22;" f @@ -7252,7 +7253,7 @@ soundVolID src/Dodge/SoundLogic/Synonyms.hs 41;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 84;" f -spaceAction src/Dodge/Update/Input/InGame.hs 215;" f +spaceAction src/Dodge/Update/Input/InGame.hs 216;" f spaceActionKey src/Dodge/Config/KeyConfig.hs 28;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f @@ -7312,8 +7313,8 @@ ssScrollUsing src/Dodge/SelectionSections.hs 28;" f ssScrollUsing' src/Dodge/SelectionSections.hs 38;" f ssSetCursor src/Dodge/SelectionSections.hs 52;" f ssfold src/FoldableHelp.hs 104;" f -stackPicturesAt src/Dodge/Render/List.hs 85;" f -stackPicturesAtOff src/Dodge/Render/List.hs 88;" f +stackPicturesAt src/Dodge/Render/List.hs 81;" f +stackPicturesAtOff src/Dodge/Render/List.hs 84;" f stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 269;" f startCr src/Dodge/Creature.hs 91;" f @@ -7483,17 +7484,17 @@ toLabel src/Dodge/UseAll.hs 16;" f toMultiset src/Multiset.hs 58;" f toOnward src/Dodge/Tree/Compose.hs 101;" f toShadNum src/Picture/Data.hs 50;" f -toTopLeft src/Dodge/Render/List.hs 189;" f +toTopLeft src/Dodge/Render/List.hs 185;" 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 33;" f +toggleCombineInv src/Dodge/DisplayInventory.hs 32;" f toggleCommand src/Dodge/Terminal.hs 194;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 59;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 236;" f +toggleMap src/Dodge/Update/Input/InGame.hs 237;" f toggleMapKey src/Dodge/Config/KeyConfig.hs 25;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 243;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 244;" f togglesToEffects src/Dodge/Terminal.hs 244;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 460;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 430;" f @@ -7589,7 +7590,7 @@ trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 86;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f -tryCombine src/Dodge/Update/Input/InGame.hs 251;" f +tryCombine src/Dodge/Update/Input/InGame.hs 252;" f tryGetChannel src/Sound.hs 96;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f tryNextLoadAction src/Dodge/Reloading.hs 36;" f @@ -7644,7 +7645,7 @@ upProjectile src/Dodge/Projectile/Update.hs 54;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f updateAutoRecharge src/Dodge/Creature/State.hs 266;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 158;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBeams src/Dodge/Update.hs 457;" f @@ -7656,19 +7657,19 @@ updateCamera src/Dodge/Update/Camera.hs 32;" f updateCloseObjects src/Dodge/Inventory.hs 166;" f updateCloud src/Dodge/Update.hs 605;" f updateClouds src/Dodge/Update.hs 454;" f -updateCombinePositioning src/Dodge/DisplayInventory.hs 38;" f -updateCombineSections src/Dodge/DisplayInventory.hs 43;" f +updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f +updateCombineSections src/Dodge/DisplayInventory.hs 42;" f updateCreature src/Dodge/Creature/Update.hs 10;" f updateCreatureGroups src/Dodge/Update.hs 391;" f updateCreatureSoundPositions src/Dodge/Update.hs 371;" f updateDebugMessageOffset src/Dodge/Update.hs 91;" f updateDelayedEvents src/Dodge/Update.hs 668;" f -updateDisplaySections src/Dodge/DisplayInventory.hs 93;" f +updateDisplaySections src/Dodge/DisplayInventory.hs 92;" f updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 412;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBalls src/Dodge/Update.hs 442;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 187;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 188;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f @@ -7683,20 +7684,20 @@ updateHumanoid src/Dodge/Humanoid.hs 12;" f updateIMl src/Dodge/Update.hs 385;" f updateIMl' src/Dodge/Update.hs 388;" f updateInGameCamera src/Dodge/Update/Camera.hs 71;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 107;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f updateInstantBullets src/Dodge/Update.hs 531;" f updateInv src/Dodge/Creature/State.hs 224;" f -updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f -updateInventorySectionItems src/Dodge/DisplayInventory.hs 146;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 101;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 90;" f +updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f +updateInventorySectionItems src/Dodge/DisplayInventory.hs 144;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 91;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 10;" f updateLasers src/Dodge/Update.hs 314;" f updateLightSources src/Dodge/Update.hs 415;" f updateLinearShockwave src/Dodge/Item/Weapon/Booster.hs 75;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 127;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f updateMIM src/Dodge/Update.hs 544;" f updateMachine src/Dodge/Machine/Update.hs 16;" f updateMovement src/Dodge/Creature/State.hs 303;" f @@ -7709,8 +7710,8 @@ updatePosEvent src/Dodge/PosEvent.hs 11;" f updatePosEvents src/Dodge/Update.hs 451;" f updatePreload src/Dodge/PreloadData.hs 12;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 65;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 68;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 66;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 69;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f @@ -7723,8 +7724,8 @@ updateRenderSplit appDodge/Main.hs 105;" f updateScopeZoom src/Dodge/Update/Camera.hs 131;" f updateScopeZoom' src/Dodge/Update/Camera.hs 136;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f -updateSection src/Dodge/DisplayInventory.hs 188;" f -updateSectionsPositioning src/Dodge/DisplayInventory.hs 167;" f +updateSection src/Dodge/DisplayInventory.hs 186;" f +updateSectionsPositioning src/Dodge/DisplayInventory.hs 165;" f updateSeenWalls src/Dodge/Update.hs 562;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f updateShockwaves src/Dodge/Update.hs 436;" f