Rewrite of item color in inventory, runs slowly

This commit is contained in:
2024-10-06 12:55:18 +01:00
parent 9860a88c0c
commit 597e8dd89d
8 changed files with 139 additions and 98 deletions
+10 -1
View File
@@ -1 +1,10 @@
All good (598 modules, at 11:19:05)
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:12:1-30: warning: [-Wunused-imports]
The import of Dodge.Data.ComposedItem is redundant
|
12 | import Dodge.Data.ComposedItem
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/InventoryColor.hs:7:1-22: warning: [-Wunused-imports]
The import of Dodge.Data.Item is redundant
|
7 | import Dodge.Data.Item
| ^^^^^^^^^^^^^^^^^^^^^^
+2 -1
View File
@@ -3,6 +3,7 @@ module Dodge.Combine (
combineList,
) where
import Dodge.Item.Grammar
import Data.Bifunctor
import Data.Foldable
import Data.List (sort, sortOn)
@@ -24,7 +25,7 @@ combineList = map f . combineItemListYouX
{ _siPictures = basicItemDisplay itm
, _siHeight = _itInvSize itm
, _siIsSelectable = True
, _siColor = itemInvColor itm
, _siColor = itemInvColor . pciToCI $ basePCI itm
, _siOffX = 0
, _siPayload = CombinableItem is itm []
}
+9 -5
View File
@@ -9,6 +9,8 @@ module Dodge.DisplayInventory (
updateCombinePositioning,
) where
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Control.Lens
import Dodge.Inventory.SelectionList
import Control.Monad
@@ -113,11 +115,10 @@ updateDisplaySections w cfig sss =
coitems' =
IM.fromDistinctAscList . zip [0 ..] $
map closeObjectToSelectionItem (w ^. hud . closeObjects)
invitems' = IM.mapWithKey (\k (x,y,_) -> invSelectionItem cr k x y) inv
invitems' = IM.mapWithKey (\k (y,x) -> invSelectionItem cr k (x ^. locLDT . ldtValue) y)
invlocs
cr = you w
inv = invIndentIM $ _crInv (you w)
--indents = indentInv inv
--inv = indentInv $ _crInv (you w)
invlocs = invTrees'' $ _crInv (you w)
nfreeslots = crNumFreeSlots cr
filtpair i itms filtdescription =
( (i, filtsis)
@@ -147,7 +148,10 @@ updateInventorySectionItems w =
where
f olditems = fromMaybe olditems $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
invitms <- IM.mapWithKey (invSelectionItem' cr) <$> cr ^? crInv
--invitms <- IM.mapWithKey (invSelectionItem' cr) <$> cr ^? crInv
let invitms = IM.mapWithKey (invSelectionItem' cr)
$ fmap (^. _2 . locLDT . ldtValue)
$ invTrees'' $ cr ^. crInv
return $ case w ^? hud . hudElement . diSections . sssExtra . sssFilters . ix (-1) . _Just of
Just str -> IM.filter (plainRegex str) invitms
_ -> invitms
+10 -7
View File
@@ -4,6 +4,8 @@ module Dodge.Inventory.SelectionList (
closeObjectToSelectionItem,
) where
import Dodge.Item.Grammar
import Dodge.Data.ComposedItem
import Padding
import Dodge.Equipment.Text
import Dodge.Data.SelectionList
@@ -13,7 +15,7 @@ import Dodge.Item.InventoryColor
import LensHelp
import Picture.Base
invSelectionItem' :: Creature -> Int -> Item -> SelectionItem ()
invSelectionItem' :: Creature -> Int -> ComposedItem -> SelectionItem ()
invSelectionItem' cr i it = invSelectionItem cr i it 0
-- SelectionItem
-- { _siPictures = pics & ix 0 %~ (++ anyequippos ++ anyhotkey)
@@ -31,21 +33,22 @@ invSelectionItem' cr i it = invSelectionItem cr i it 0
-- UndroppableIdentified -> itemDisplay cr it
-- _ -> itemDisplay cr it
invSelectionItem :: Creature -> Int -> Item -> Int -> SelectionItem ()
invSelectionItem cr i it indent =
invSelectionItem :: Creature -> Int -> ComposedItem -> Int -> SelectionItem ()
invSelectionItem cr i ci indent =
SelectionItem
{ _siPictures = pics & ix 0 %~ (++ anyequippos ++ anyhotkey)
, _siHeight = _itInvSize it
, _siHeight = _itInvSize itm
, _siIsSelectable = True
, _siColor = col
, _siOffX = indent
, _siPayload = ()
}
where
itm = _cItem ci
anyhotkey = maybe [] ((' ':) .hotkeyToString) (cr ^? crInvHotkeys . ix i)
anyequippos = maybe [] (rightPad 8 ' ' . (' ':) . eqPosText) (cr ^? crInvEquipped . ix i)
col = itemInvColor it
pics = itemDisplay cr it
col = itemInvColor ci
pics = itemDisplay cr ci
hotkeyToString :: Hotkey -> String
hotkeyToString x = case x of
@@ -79,5 +82,5 @@ closeObjectToSelectionItem e =
--
closeObjectToTextPictures :: Either FloorItem Button -> ([String], Color)
closeObjectToTextPictures e = case e of
Left flit -> let it = _flIt flit in (basicItemDisplay it, itemInvColor it)
Left flit -> let it = _flIt flit in (basicItemDisplay it, itemInvColor . pciToCI $ basePCI it)
Right bt -> ([_btText bt], yellow)
+5 -2
View File
@@ -5,15 +5,18 @@ module Dodge.Item.Display (
basicItemDisplay,
) where
import Dodge.Data.ComposedItem
import ShortShow
import Data.Maybe
import Dodge.Data.Creature
import LensHelp
import Padding
itemDisplay :: Creature -> Item -> [String]
itemDisplay cr itm =
itemDisplay :: Creature -> ComposedItem -> [String]
itemDisplay cr ci =
zipWithDefaults id (leftPad 15 ' ') itemDisplayPad (basicItemDisplay itm) (itemNumberDisplay cr itm)
where
itm = _cItem ci
zipWithDefaults :: (a -> c) -> (b -> c) -> (a -> b -> c) -> [a] -> [b] -> [c]
zipWithDefaults f g h = go
+19 -3
View File
@@ -5,6 +5,9 @@ module Dodge.Item.Grammar (
invAdj,
invRootMap,
invRootTrees,
pciToCI,
basePCI,
invTrees'',
) where
import Control.Applicative
@@ -80,8 +83,11 @@ itemToFunction itm = case itm ^. itType of
TARGETING{} -> WeaponTargetingSF
_ -> UncomposableIsolateSF
simplePCI :: Item -> PartiallyComposedItem
simplePCI itm = case _itType itm of
pciToCI :: PartiallyComposedItem -> ComposedItem
pciToCI (x,y,_) = CItem x y
basePCI :: Item -> PartiallyComposedItem
basePCI itm = case _itType itm of
HELD LASGUN -> (itm, WeaponScopeSF, laserLinkTest itm)
_ -> (itm, itemToFunction itm, uncurry useBreakL $ itemToBreakLists itm)
@@ -149,7 +155,7 @@ joinItemsInList f xs = snd $ h (xs, [])
invLDT :: IM.IntMap Item -> [LabelDoubleTree ItemLink PartiallyComposedItem]
invLDT =
joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems
. fmap (singleLDT . simplePCI)
. fmap (singleLDT . basePCI)
-- this assumes the creature inventory is well formed, specifically the
-- location ids
@@ -193,6 +199,16 @@ invTrees' = IM.unions . map (ldtToIM getindex . fmap (^. _1)) . map (fmap (\(x,
fromMaybe (error "in invTrees try to get non-inventory item tree") $
i ^? itLocation . ilInvID
-- returns an intmap with trees for all items
--invTrees'' :: IM.IntMap Item -> [LocationLDT ItemLink ComposedItem]
invTrees'' :: IM.IntMap Item -> IM.IntMap (Int,LocationLDT ItemLink ComposedItem)
invTrees'' = IM.unions . map (f . LocLDT TopLDT) . IM.elems . invRootTrees
--invTrees'' = map (LocLDT TopLDT) . IM.elems . invRootTrees
where
f t = cldtPropagateFold h h g 0 t mempty
h x _ _ _ = x + 1
g x ldt = IM.insert (ldt ^?! locLDT . ldtValue . cItem . itLocation . ilInvID) (x,ldt)
-- returns an intmap with trees for root items, indexed by inventory position
invRootTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ItemLink ComposedItem)
invRootTrees = IM.fromAscList . reverse . map (getid . fmap (\(x, y, _) -> CItem x y)) . invLDT
+14 -11
View File
@@ -2,18 +2,21 @@ module Dodge.Item.InventoryColor
( itemInvColor
) where
import Dodge.Data.ComposedItem
import Color
import Dodge.Data.Item
import Control.Lens
itemInvColor :: Item -> Color
itemInvColor itm = case itm ^. itType of
HELD {} -> white
LEFT {} -> cyan
EQUIP {} -> yellow
CONSUMABLE {} -> blue
CRAFT {} -> green
ATTACH {} -> orange
TARGETING {} -> chartreuse
AMMOMAG {} -> greyN 0.8
BULLETMOD {} -> rose
itemInvColor :: ComposedItem -> Color
itemInvColor ci = case ci ^. cItemFunction of
WeaponPlatformSF -> white
_ -> greyN 0.8
-- HELD {} -> white
-- LEFT {} -> cyan
-- EQUIP {} -> yellow
-- CONSUMABLE {} -> blue
-- CRAFT {} -> green
-- ATTACH {} -> orange
-- TARGETING {} -> chartreuse
-- AMMOMAG {} -> greyN 0.8
-- BULLETMOD {} -> rose
+70 -68
View File
@@ -969,7 +969,7 @@ LBlink src/Dodge/Data/Item/HeldUse.hs 53;" C
LBoost src/Dodge/Data/Item/HeldUse.hs 55;" C
LDT src/Dodge/Data/DoubleTree.hs 39;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTComb src/Dodge/Item/Grammar.hs 108;" t
LDTComb src/Dodge/Item/Grammar.hs 114;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C
@@ -3384,7 +3384,7 @@ argumentHelp src/Dodge/Terminal.hs 149;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 38;" f
armouredChasers src/Dodge/Room/Boss.hs 62;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 72;" f
arms src/Dodge/Creature/Picture.hs 73;" f
arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/Hotkey.hs 26;" f
@@ -3434,20 +3434,21 @@ baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 255;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f
basePCI src/Dodge/Item/Grammar.hs 89;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 258;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 342;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 325;" f
baseShoulder src/Dodge/Creature/Picture.hs 128;" f
baseShoulder src/Dodge/Creature/Picture.hs 129;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 232;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 227;" f
baseStickSpread src/Dodge/Item/Held/Stick.hs 32;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f
basicBulDams src/Dodge/Item/Weapon/Bullet.hs 26;" f
basicCrPict src/Dodge/Creature/Picture.hs 26;" f
basicCrShape src/Dodge/Creature/Picture.hs 31;" f
basicCrPict src/Dodge/Creature/Picture.hs 27;" f
basicCrShape src/Dodge/Creature/Picture.hs 32;" f
basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 30;" f
basicItemDisplay src/Dodge/Item/Display.hs 33;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 196;" f
@@ -3599,8 +3600,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 114;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 65;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 80;" 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
@@ -3631,12 +3632,12 @@ colorSH src/Shape.hs 235;" f
combinationsDotGraph src/Dodge/Combine/Graph.hs 85;" f
combinationsGraph src/Dodge/Combine/Graph.hs 66;" f
combinationsOf src/Multiset.hs 40;" f
combinationsTrie src/Dodge/Combine.hs 40;" f
combinationsTrie src/Dodge/Combine.hs 41;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 171;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 203;" f
combineItemListYouX src/Dodge/Combine.hs 32;" f
combineList src/Dodge/Combine.hs 19;" f
combineItemListYouX src/Dodge/Combine.hs 33;" f
combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 151;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f
combineTree src/Dodge/Tree/Compose.hs 66;" f
@@ -3794,10 +3795,10 @@ dbArgChain src/Dodge/Base.hs 148;" f
deZoneIX src/Dodge/Zoning/Base.hs 86;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 237;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
deadUpperBody src/Dodge/Creature/Picture.hs 125;" f
deadFeet src/Dodge/Creature/Picture.hs 69;" f
deadRot src/Dodge/Creature/Picture.hs 85;" f
deadScalp src/Dodge/Creature/Picture.hs 82;" f
deadUpperBody src/Dodge/Creature/Picture.hs 126;" f
debrisSize src/Dodge/Block/Debris.hs 111;" f
debugDraw src/Dodge/Debug/Picture.hs 122;" f
debugDraw' src/Dodge/Debug/Picture.hs 133;" f
@@ -3947,7 +3948,7 @@ disconnectTerminal src/Dodge/Terminal.hs 215;" f
displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 33;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 158;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 156;" f
displayTerminal src/Dodge/Render/HUD.hs 230;" f
displayTerminalLineString src/Dodge/Update.hs 325;" f
dist src/Geometry/Vector.hs 179;" f
@@ -4072,7 +4073,7 @@ drawDDATest src/Dodge/Debug/Picture.hs 254;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 215;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 139;" f
drawEquipment src/Dodge/Creature/Picture.hs 140;" f
drawExamineInventory src/Dodge/Render/HUD.hs 84;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 232;" f
drawFlame src/Dodge/Flame/Draw.hs 7;" f
@@ -4176,7 +4177,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 253;" f
enterCombineInv src/Dodge/DisplayInventory.hs 251;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 175;" f
@@ -4222,7 +4223,7 @@ fallSmallBounce' src/Dodge/Prop/Moving.hs 33;" f
fallSmallBounceDamage src/Dodge/Prop/Moving.hs 11;" f
farWallDistDirection src/Dodge/Update/Camera.hs 226;" f
fdiv src/ShortShow.hs 27;" f
feet src/Dodge/Creature/Picture.hs 50;" f
feet src/Dodge/Creature/Picture.hs 51;" f
ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f
findBlips src/Dodge/RadarSweep.hs 44;" f
@@ -4253,7 +4254,7 @@ flamerPic src/Dodge/Item/Draw/SPic.hs 328;" f
flareCircleAt src/Dodge/HeldUse.hs 178;" f
flareCircleAt src/Dodge/WorldEvent/Flash.hs 46;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 49;" f
flatLookupItems src/Dodge/Combine.hs 35;" f
flatLookupItems src/Dodge/Combine.hs 36;" f
flatShield src/Dodge/Item/Held/Utility.hs 9;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 378;" f
fleeFrom src/Dodge/CreatureEffect.hs 120;" f
@@ -4329,7 +4330,7 @@ geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 62;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 65;" f
getArguments src/Dodge/Update/Scroll.hs 151;" f
getArguments' src/Dodge/Update/Scroll.hs 139;" f
getAvailableListLines src/Dodge/SelectionList.hs 11;" f
@@ -4394,7 +4395,7 @@ gridPoints src/Grid.hs 67;" f
gridPoints' src/Grid.hs 79;" f
gridPoints'' src/Grid.hs 74;" f
gridPointsOff src/Grid.hs 62;" f
groupSplitItemAmounts src/Dodge/Combine.hs 48;" f
groupSplitItemAmounts src/Dodge/Combine.hs 49;" f
gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
guardDisconnectedID src/Dodge/Update/Scroll.hs 71;" f
gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f
@@ -4458,7 +4459,7 @@ homingDrawType src/Dodge/Projectile/Create.hs 12;" f
homingModule src/Dodge/Item/Scope.hs 43;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 54;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 50;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 53;" f
humanoidAIList src/Dodge/Humanoid.hs 181;" f
hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 31;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f
@@ -4534,21 +4535,22 @@ 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
invAdj src/Dodge/Item/Grammar.hs 165;" f
invDimColor src/Dodge/DisplayInventory.hs 139;" f
invAdj src/Dodge/Item/Grammar.hs 171;" f
invDimColor src/Dodge/DisplayInventory.hs 137;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 266;" f
invIndentIM src/Dodge/Item/Grammar.hs 177;" f
invLDT src/Dodge/Item/Grammar.hs 149;" f
invRootMap src/Dodge/Item/Grammar.hs 158;" f
invRootTrees src/Dodge/Item/Grammar.hs 197;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f
invIndentIM src/Dodge/Item/Grammar.hs 183;" f
invLDT src/Dodge/Item/Grammar.hs 155;" f
invRootMap src/Dodge/Item/Grammar.hs 164;" f
invRootTrees src/Dodge/Item/Grammar.hs 213;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 36;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 18;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 161;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 185;" f
invTrees' src/Dodge/Item/Grammar.hs 189;" f
invTrees src/Dodge/Item/Grammar.hs 191;" f
invTrees' src/Dodge/Item/Grammar.hs 195;" f
invTrees'' src/Dodge/Item/Grammar.hs 204;" f
inventoryExtra src/Dodge/Render/HUD.hs 184;" f
inventoryExtraH src/Dodge/Render/HUD.hs 195;" f
inventoryX src/Dodge/Creature.hs 115;" f
@@ -4556,7 +4558,7 @@ inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
invertIntMap src/IntMapHelp.hs 101;" f
invertIntMap src/Multiset.hs 61;" f
invertInventoryToMap src/Dodge/Combine.hs 53;" f
invertInventoryToMap src/Dodge/Combine.hs 54;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 203;" f
@@ -4584,13 +4586,13 @@ isWalkable src/Dodge/Base/Collide.hs 221;" f
isoMatrix src/MatrixHelper.hs 30;" f
isotriBWH src/Geometry/Polygon.hs 20;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 82;" f
itemBaseName src/Dodge/Item/Display.hs 41;" f
itemBaseName src/Dodge/Item/Display.hs 44;" f
itemBlips src/Dodge/RadarSweep.hs 75;" f
itemCombinations src/Dodge/Combine/Combinations.hs 54;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 54;" f
itemDetectorEffect src/Dodge/HeldUse.hs 228;" f
itemDisplay src/Dodge/Item/Display.hs 14;" f
itemDisplayPad src/Dodge/Item/Display.hs 25;" f
itemDisplay src/Dodge/Item/Display.hs 15;" f
itemDisplayPad src/Dodge/Item/Display.hs 28;" f
itemEquipPict src/Dodge/Item/Draw.hs 17;" f
itemFromAmmoMag src/Dodge/Item.hs 33;" f
itemFromAttachType src/Dodge/Item.hs 42;" f
@@ -4600,14 +4602,14 @@ itemFromEquipType src/Dodge/Item.hs 56;" f
itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemFromLeftType src/Dodge/Item.hs 76;" f
itemInfo src/Dodge/Item/Info.hs 12;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemNumberDisplay src/Dodge/Item/Display.hs 92;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 10;" f
itemNumberDisplay src/Dodge/Item/Display.hs 95;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
itemString src/Dodge/Item/Display.hs 38;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 41;" f
itemToFunction src/Dodge/Item/Grammar.hs 67;" f
itemString src/Dodge/Item/Display.hs 41;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 44;" f
itemToFunction src/Dodge/Item/Grammar.hs 70;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f
itemUpdate src/Dodge/Creature/State.hs 310;" f
itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 56;" f
@@ -4620,7 +4622,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 17;" f
itmUsageInfo src/Dodge/Item/Info.hs 200;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 140;" f
joinItemsInList src/Dodge/Item/Grammar.hs 146;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
@@ -4653,7 +4655,7 @@ lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f
lasTunnel src/Dodge/Room/LasTurret.hs 124;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
laserLinkTest src/Dodge/Item/Grammar.hs 88;" f
laserLinkTest src/Dodge/Item/Grammar.hs 94;" f
lastMap src/Dodge/DoubleTree.hs 174;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
launcher src/Dodge/Item/Held/Launcher.hs 12;" f
@@ -4673,10 +4675,10 @@ ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f
left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 96;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 110;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 116;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f
leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 124;" f
leftRightCombine src/Dodge/Item/Grammar.hs 130;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
light src/Color.hs 104;" f
@@ -4703,10 +4705,10 @@ listConfig src/Dodge/Menu.hs 199;" f
listControls src/Dodge/Menu.hs 212;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 105;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 245;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 243;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 91;" f
llright src/Dodge/Item/Grammar.hs 94;" f
llleft src/Dodge/Item/Grammar.hs 97;" f
llright src/Dodge/Item/Grammar.hs 100;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 255;" f
@@ -4840,7 +4842,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 259;" f
maybeOpenTerminal src/Dodge/Update.hs 113;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 107;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 117;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 120;" f
mcApplyDamage src/Dodge/Machine/Update.hs 90;" f
mcKillBut src/Dodge/Machine/Destroy.hs 34;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
@@ -5070,6 +5072,7 @@ pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f
pauseSound src/Dodge/SoundLogic.hs 41;" f
pauseTime src/Dodge/Update.hs 171;" f
pciToCI src/Dodge/Item/Grammar.hs 86;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f
pedestalRoom src/Dodge/Room/Containing.hs 49;" f
penThing src/Dodge/Bullet.hs 224;" f
@@ -5121,7 +5124,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 79;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 60;" f
placeString src/Dodge/Render/MenuScreen.hs 54;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 156;" f
plainRegex src/Dodge/DisplayInventory.hs 155;" f
plainRegex src/Dodge/DisplayInventory.hs 153;" f
plateCraft src/Dodge/Item/Craftable.hs 46;" f
playIfFree src/Sound.hs 136;" f
playPositionalSoundQueue src/Sound.hs 144;" f
@@ -5402,7 +5405,7 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 71;" f
rifle src/Dodge/Item/Held/Cane.hs 51;" f
right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 117;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 123;" f
rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5491,7 +5494,7 @@ scale3 src/Picture/Base.hs 145;" f
scaleMat src/MatrixHelper.hs 59;" f
scaleMatrix src/MatrixHelper.hs 56;" f
scaleSH src/Shape.hs 267;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scalp src/Dodge/Creature/Picture.hs 94;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 69;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 101;" f
@@ -5648,12 +5651,12 @@ shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 10;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 508;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 61;" f
shoulderSH src/Dodge/Creature/Picture.hs 136;" f
shoulderSH src/Dodge/Creature/Picture.hs 137;" f
shoulderSP src/Dodge/Creature/HandPos.hs 196;" f
showAttachItem src/Dodge/Item/Display.hs 57;" f
showAutoRechargeProgress src/Dodge/Item/Display.hs 71;" f
showEquipItem src/Dodge/Item/Display.hs 66;" f
showEquipmentNumber src/Dodge/Item/Display.hs 108;" f
showAttachItem src/Dodge/Item/Display.hs 60;" f
showAutoRechargeProgress src/Dodge/Item/Display.hs 74;" f
showEquipItem src/Dodge/Item/Display.hs 69;" f
showEquipmentNumber src/Dodge/Item/Display.hs 111;" f
showInt src/Dodge/Item/Info.hs 31;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showManObj src/Dodge/TestString.hs 40;" f
@@ -5669,7 +5672,6 @@ shuffleTail src/RandomHelp.hs 55;" f
sigmoid src/Dodge/Base.hs 129;" f
simpleCrSprings src/Dodge/Update.hs 641;" f
simpleDamFL src/Dodge/Flame.hs 41;" f
simplePCI src/Dodge/Item/Grammar.hs 83;" f
simpleTermMessage src/Dodge/Terminal.hs 249;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 340;" f
@@ -5894,7 +5896,7 @@ toColor8 src/Color.hs 148;" f
toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f
toFloatVAs src/Shader/Compile.hs 211;" f
toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 99;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 105;" f
toMultiset src/Multiset.hs 58;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 185;" f
@@ -5918,7 +5920,7 @@ topTestPart src/Dodge/TestString.hs 35;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 213;" f
torqueCr src/Dodge/WorldEffect.hs 70;" f
torso src/Dodge/Creature/Picture.hs 102;" f
torso src/Dodge/Creature/Picture.hs 103;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 265;" f
@@ -6064,7 +6066,7 @@ updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f
updateInstantBullets src/Dodge/Update.hs 530;" f
updateInv src/Dodge/Creature/State.hs 151;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateInventorySectionItems src/Dodge/DisplayInventory.hs 143;" f
updateInventorySectionItems src/Dodge/DisplayInventory.hs 141;" f
updateItemTargeting src/Dodge/Creature/State.hs 264;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 193;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f
@@ -6099,8 +6101,8 @@ updateRootItemID src/Dodge/Inventory/Location.hs 41;" 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 185;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 164;" f
updateSection src/Dodge/DisplayInventory.hs 183;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 162;" f
updateSeenWalls src/Dodge/Update.hs 561;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 435;" f
@@ -6127,7 +6129,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f
updateWheelEvents src/Dodge/Update.hs 290;" f
updateWorldEventFlag src/Dodge/Update.hs 108;" f
updateWorldEventFlags src/Dodge/Update.hs 102;" f
upperBody src/Dodge/Creature/Picture.hs 132;" f
upperBody src/Dodge/Creature/Picture.hs 133;" f
upperBox src/Shape.hs 154;" f
upperBoxHalf src/Shape.hs 220;" f
upperBoxMT src/Shape.hs 145;" f
@@ -6145,8 +6147,8 @@ upperPrismPolyST src/Shape.hs 107;" f
upperPrismPolySU src/Shape.hs 113;" f
upperPrismPolyTS src/Shape.hs 119;" f
upperRounded src/Shape.hs 183;" f
useBreakL src/Dodge/Item/Grammar.hs 22;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 28;" f
useBreakL src/Dodge/Item/Grammar.hs 25;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 31;" f
useBulletPayload src/Dodge/Bullet.hs 105;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
@@ -6293,7 +6295,7 @@ zeroZ src/Geometry/Vector.hs 8;" f
zipArcs src/Dodge/Tesla/Arc.hs 96;" f
zipCount src/Dodge/Tree/Shift.hs 129;" f
zipCountDown src/Dodge/Room/Procedural.hs 117;" f
zipWithDefaults src/Dodge/Item/Display.hs 18;" f
zipWithDefaults src/Dodge/Item/Display.hs 21;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 322;" f
zoneCreature src/Dodge/Zoning/Creature.hs 52;" f