Move towards a non-stacking inventory

This commit is contained in:
2024-09-08 20:13:43 +01:00
parent 86795f1a10
commit 3dcf8de3c3
5 changed files with 118 additions and 55 deletions
+25
View File
@@ -1,3 +1,28 @@
/home/justin/Haskell/loop/src/Dodge/Combine.hs:37:1-20: warning: [-Wunused-top-binds]
Defined but not used: invertInventoryToMap
|
37 | invertInventoryToMap =
| ^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Combine.hs:43:1-14: warning: [-Wunused-top-binds]
Defined but not used: splitItAmounts
|
43 | splitItAmounts = concatMap f
| ^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Combine.hs:53:1-11: warning: [-Wunused-top-binds]
Defined but not used: lookupItems
|
53 | lookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . splitItAmounts . invertInventory
| ^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Combine.hs:63:1-20: warning: [-Wunused-top-binds]
Defined but not used: combineItemListYouX'
|
63 | combineItemListYouX' = map (first $ concatMap g) . lookupItems . yourInv
| ^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Combine/Combinations.hs:9:1-21: warning: [-Wunused-imports]
The import of Data.Bifunctor is redundant
|
9 | import Data.Bifunctor
| ^^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:3:1: warning: [-Wunused-imports]
The import of Dodge.Data.Item is redundant
|
+19 -1
View File
@@ -33,16 +33,34 @@ invertInventory =
(\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]]
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 . flatSplitItAmounts
. invertInventory
combineItemListYouX :: World -> [([Int], Item)]
combineItemListYouX = map (first $ concatMap g) . lookupItems . yourInv
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
+7
View File
@@ -2,9 +2,11 @@
module Dodge.Combine.Combinations
( itemCombinations
, flatItemCombinations
, bulletWeapons
) where
import Data.Bifunctor
import Dodge.Item.Ammo
import Dodge.Data.Item
import Dodge.Item
@@ -44,6 +46,11 @@ magazineCombinations =
po xs it = (map o xs, it)
o = (1,)
flatItemCombinations :: [([ItemBaseType], Item)]
flatItemCombinations = map (over _1 (concatMap f)) itemCombinations
where
f (x,it) = replicate (_getItAmount x) it
itemCombinations :: [([(ItAmount, ItemBaseType)], Item)]
itemCombinations =
watchCombinations ++
+7
View File
@@ -7,6 +7,13 @@ import Dodge.Data.Item
import SimpleTrie
import Data.Foldable
flatCombinationsTrie :: Trie ItemBaseType Item
{-# INLINE flatCombinationsTrie #-}
flatCombinationsTrie = foldl'
(flip $ uncurry insertInTrie . first sort)
emptyTrie
flatItemCombinations
combinationsTrie :: Trie (ItAmount, ItemBaseType) Item
{-# INLINE combinationsTrie #-}
combinationsTrie =
+60 -54
View File
@@ -1052,6 +1052,7 @@ GoesOnWrist src/Dodge/Data/Equipment/Misc.hs 15;" C
GoesOnWrist src/Dodge/Equipment/Data.hs 10;" C
Government src/Dodge/Data/Scenario.hs 43;" C
GovernmentScope src/Dodge/Data/Scenario.hs 49;" t
Grammar src/Dodge/Item/Grammar.hs 1;" m
Graph src/Dodge/Combine/Graph.hs 3;" m
Graph src/Dodge/Graph.hs 2;" m
GraphHelp src/GraphHelp.hs 1;" m
@@ -4294,6 +4295,7 @@ aTreeStrut src/Dodge/Tree/GenerateStructure.hs 37;" f
aWallPulse src/Dodge/Item/Weapon/UseEffect.hs 21;" f
accessTerminal src/Dodge/WorldEffect.hs 48;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 48;" f
addAmmoClip src/Dodge/Item/Draw/SPic.hs 22;" f
addArmour src/Dodge/Creature.hs 83;" f
addBlock src/Dodge/LevelGen/Block.hs 20;" f
addBoostShockwave src/Dodge/Item/Weapon/Booster.hs 56;" f
@@ -4336,7 +4338,7 @@ addSideEffect src/Dodge/Concurrent.hs 32;" f
addSouthPillars src/Dodge/Room/LongDoor.hs 87;" f
addTermSignal src/Dodge/Event/Input.hs 34;" f
addTile src/Dodge/Room/AddTile.hs 11;" f
addTinClip src/Dodge/Item/Draw/SPic.hs 292;" f
addTinClip src/Dodge/Item/Draw/SPic.hs 301;" f
addToTrunk src/Dodge/Layout/Tree/Polymorphic.hs 116;" f
addToTrunk src/Dodge/Tree/Polymorphic.hs 129;" f
addToTrunk src/TreeHelp.hs 156;" f
@@ -4469,11 +4471,11 @@ axisInt src/Geometry/Intersect.hs 227;" f
azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 23;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 60;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 24;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 69;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 26;" f
bangCone src/Dodge/Item/Held/Cone.hs 10;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 222;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 231;" f
bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 370;" f
bangRod src/Dodge/Item/Held/Rod.hs 17;" f
bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f
@@ -4484,19 +4486,19 @@ bangStickSoundChoice src/Dodge/HeldUse.hs 488;" f
bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 436;" f
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
baseCaneShape src/Dodge/Item/Draw/SPic.hs 242;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 251;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 245;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 433;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 404;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 254;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 442;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 413;" f
baseShoulder src/Dodge/Creature/Picture.hs 158;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 219;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 214;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 228;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 223;" f
baseStickSpread src/Dodge/Item/Held/Stick.hs 35;" f
baseStickSpread src/Dodge/Item/Weapon/BulletGun/Stick.hs 46;" f
baseWindowPane src/Dodge/Placements/Wall.hs 73;" f
@@ -4518,7 +4520,7 @@ basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f
basicTerminal src/Dodge/Terminal.hs 32;" f
battery src/Dodge/Item/Ammo.hs 61;" f
batteryGuns src/Dodge/Combine/Combinations.hs 220;" f
batteryGuns src/Dodge/Combine/Combinations.hs 226;" f
batteryModules src/Dodge/Item/Held/BatteryGuns.hs 111;" f
batteryPack src/Dodge/Item/Equipment.hs 58;" f
belowNumX src/Dodge/Combine/Graph.hs 77;" f
@@ -4597,10 +4599,10 @@ bulletBeltBracer src/Dodge/Item/Equipment.hs 83;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f
bulletBodyCraft src/Dodge/Item/Craftable.hs 24;" f
bulletCombinations src/Dodge/Combine/Graph.hs 35;" f
bulletMagazines src/Dodge/Combine/Combinations.hs 232;" f
bulletMagazines src/Dodge/Combine/Combinations.hs 238;" f
bulletSpawn src/Dodge/Bullet.hs 91;" f
bulletTypes src/Dodge/TweakBullet.hs 26;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 240;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 246;" f
burstRifle src/Dodge/Item/Held/Cane.hs 86;" f
burstRifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 105;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f
@@ -4712,7 +4714,7 @@ clsNearRect src/Dodge/Zoning/Cloud.hs 15;" f
clsNearSeg src/Dodge/Zoning/Cloud.hs 12;" f
clusterFormatting src/Dodge/Combine/Graph.hs 113;" f
clusterFunc src/Dodge/Combine/Graph.hs 107;" f
cmm src/Dodge/Combine.hs 73;" f
cmm src/Dodge/Combine.hs 79;" f
cogRaised src/Dodge/Creature/Perception.hs 101;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 26;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
@@ -4735,7 +4737,7 @@ colorSH src/Shape.hs 233;" f
combinationsDotGraph src/Dodge/Combine/Graph.hs 86;" f
combinationsGraph src/Dodge/Combine/Graph.hs 67;" f
combinationsOf src/Multiset.hs 40;" f
combinationsTrie src/Dodge/Combine/Trie.hs 10;" f
combinationsTrie src/Dodge/Combine/Trie.hs 17;" f
combineAwareness src/Dodge/Creature/AlertLevel.hs 33;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineBeamBeams src/Dodge/Update.hs 475;" f
@@ -4743,15 +4745,15 @@ combineBeams src/Dodge/Update.hs 466;" f
combineCounts src/Dodge/Render/HUD.hs 236;" f
combineFloors src/Dodge/Room/Procedural.hs 171;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 181;" f
combineItemListYouX src/Dodge/Combine.hs 44;" f
combineList src/Dodge/Combine.hs 49;" f
combineList' src/Dodge/Combine.hs 54;" f
combineListInfo src/Dodge/Combine.hs 67;" f
combineModuleMaps src/Dodge/Combine.hs 78;" f
combineItemListYouX src/Dodge/Combine.hs 50;" f
combineList src/Dodge/Combine.hs 55;" f
combineList' src/Dodge/Combine.hs 60;" f
combineListInfo src/Dodge/Combine.hs 73;" f
combineModuleMaps src/Dodge/Combine.hs 84;" 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
combineTwoModuleMaps src/Dodge/Combine.hs 84;" f
combineTwoModuleMaps src/Dodge/Combine.hs 90;" f
commandColor src/Dodge/Terminal.hs 130;" f
commandFutureLines src/Dodge/Terminal.hs 252;" f
commandsCommand src/Dodge/Terminal.hs 91;" f
@@ -4974,7 +4976,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f
dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 316;" f
defDamageMaterial src/Dodge/Material/Damage.hs 17;" f
defLSPic src/Dodge/LightSource/Draw.hs 11;" f
defSPic src/Dodge/Item/Draw/SPic.hs 228;" f
defSPic src/Dodge/Item/Draw/SPic.hs 237;" f
defaultAimMvType src/Dodge/Default/Creature.hs 122;" f
defaultAimParams src/Dodge/Default/Item/Held/AimParams.hs 4;" f
defaultAimParams src/Dodge/Default/Item/Use/AimParams.hs 6;" f
@@ -5095,7 +5097,7 @@ destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMount src/Dodge/Block.hs 98;" f
destroyMounts src/Dodge/Block.hs 95;" f
detV src/Geometry/Vector.hs 93;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 496;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 505;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 19;" f
detectorInfo src/Dodge/Item/Info.hs 210;" f
determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 54;" f
@@ -5344,7 +5346,7 @@ dropItem src/Dodge/Creature/Action.hs 183;" f
dropItemKey src/Dodge/Config/KeyConfig.hs 24;" f
drumMag src/Dodge/Item/Ammo.hs 31;" f
dualBeam src/Dodge/Item/Held/BatteryGuns.hs 136;" f
dualBeamPic src/Dodge/Item/Draw/SPic.hs 463;" f
dualBeamPic src/Dodge/Item/Draw/SPic.hs 472;" f
dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 144;" f
dummyMenuOption src/Dodge/Menu/Option.hs 81;" f
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 711;" f
@@ -5373,7 +5375,7 @@ eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f
equipInfo src/Dodge/Item/Info.hs 121;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 29;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 38;" f
equipPosition src/Dodge/Item/Draw.hs 26;" f
equipPosition src/Dodge/Item/Equipment/Shape.hs 15;" f
equipSiteInfo src/Dodge/Item/Info.hs 242;" f
@@ -5459,10 +5461,12 @@ flameTorrent src/Dodge/Item/Held/SprayGuns.hs 33;" f
flameTorrent src/Dodge/Item/Weapon/SprayGuns.hs 38;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 49;" f
flameWall src/Dodge/Item/Weapon/SprayGuns.hs 54;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 407;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 416;" f
flareCircleAt src/Dodge/WorldEvent/Flash.hs 46;" f
flatCombinationsTrie src/Dodge/Combine/Trie.hs 10;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 48;" f
flatShield src/Dodge/Item/Held/Utility.hs 9;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 480;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 489;" f
flatV2 src/Picture/Data.hs 65;" f
flatV3 src/Picture/Data.hs 68;" f
flatV4 src/Picture/Data.hs 71;" f
@@ -5524,7 +5528,7 @@ fromV3 src/Geometry/Data.hs 43;" f
frontArmour src/Dodge/Item/Equipment.hs 43;" f
fstV2 src/Geometry/Data.hs 50;" f
fuelPack src/Dodge/Item/Equipment.hs 66;" f
fullModuleName src/Dodge/Combine.hs 103;" f
fullModuleName src/Dodge/Combine.hs 109;" f
functionalUpdate src/Dodge/Update.hs 230;" f
fuseFunc src/Dodge/Path.hs 150;" f
fusePairs src/Dodge/Path.hs 153;" f
@@ -5648,10 +5652,10 @@ hasFrontArmour src/Dodge/Creature/Test.hs 112;" f
hasLOS src/Dodge/Base/Collide.hs 200;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 214;" f
hat src/Dodge/Item/Equipment.hs 105;" f
hatCombinations src/Dodge/Combine/Combinations.hs 31;" f
hatCombinations src/Dodge/Combine/Combinations.hs 32;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 118;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 486;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 495;" f
heal src/Dodge/Item/Consumable.hs 17;" f
heal25 src/Dodge/Item/Consumable.hs 14;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f
@@ -5664,7 +5668,7 @@ heldAimEffects src/Dodge/Creature/State.hs 68;" f
heldBounds src/Dodge/Item/Module.hs 27;" f
heldInfo src/Dodge/Item/Info.hs 61;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 147;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 156;" f
heldPositionInfo src/Dodge/Item/Info.hs 227;" f
helpCommand src/Dodge/Terminal.hs 64;" f
helpPoly3D src/Polyhedra.hs 124;" f
@@ -5680,7 +5684,7 @@ hitSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
holdForm src/Dodge/Creature/Boid.hs 136;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
holsterWeaponSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
homingLaunchers src/Dodge/Combine/Combinations.hs 217;" f
homingLaunchers src/Dodge/Combine/Combinations.hs 223;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 55;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 35;" f
@@ -5787,6 +5791,7 @@ inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
invertIntMap src/Multiset.hs 61;" f
invertInventory src/Dodge/Combine.hs 30;" f
invertInventoryToMap src/Dodge/Combine.hs 36;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAnimate src/Dodge/Creature/Test.hs 138;" f
@@ -5824,7 +5829,7 @@ itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 156;" f
itemBaseName src/Dodge/Item/Display.hs 75;" f
itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f
itemBlips src/Dodge/RadarSweep.hs 74;" f
itemCombinations src/Dodge/Combine/Combinations.hs 47;" f
itemCombinations src/Dodge/Combine/Combinations.hs 53;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 55;" f
itemDisplay src/Dodge/Item/Display.hs 47;" f
itemDisplayOffset src/Dodge/Item/Display.hs 21;" f
@@ -5839,12 +5844,13 @@ itemFromConsumableType src/Dodge/Item.hs 44;" f
itemFromEquipType src/Dodge/Item.hs 49;" f
itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemFromLeftType src/Dodge/Item.hs 71;" f
itemHeldAmmoPic src/Dodge/Item/Draw/SPic.hs 19;" f
itemInfo src/Dodge/Item/Info.hs 10;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 7;" f
itemInvSideEffect src/Dodge/Creature/State.hs 245;" f
itemNumberDisplay src/Dodge/Item/Display.hs 118;" f
itemRooms src/Dodge/LockAndKey.hs 41;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 18;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemString src/Dodge/Item/Display.hs 72;" f
itemUpdate src/Dodge/Creature/State.hs 257;" f
iterateUntil src/MonadHelp.hs 23;" f
@@ -5879,7 +5885,7 @@ keyCard src/Dodge/Item/PassKey.hs 8;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 69;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 57;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 38;" f
keyPic src/Dodge/Item/Draw/SPic.hs 502;" f
keyPic src/Dodge/Item/Draw/SPic.hs 511;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
killBulletUpdate src/Dodge/WorldEvent/HitEffect.hs 30;" f
killParticleUpdate src/Dodge/Particle/Update.hs 9;" f
@@ -5899,7 +5905,7 @@ lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f
lasCircle src/Dodge/Item/Held/BatteryGuns.hs 123;" f
lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f
lasGun src/Dodge/Item/Held/BatteryGuns.hs 36;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 449;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 458;" f
lasGunTweak src/Dodge/Item/Held/BatteryGuns.hs 65;" f
lasRayAt src/Dodge/Beam.hs 62;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f
@@ -5913,7 +5919,7 @@ latchkey src/Dodge/Item/Held/Utility.hs 23;" f
latchkey src/Dodge/Item/PassKey.hs 14;" f
launcher src/Dodge/Item/Held/Launcher.hs 10;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
launcherPic src/Dodge/Item/Draw/SPic.hs 423;" f
launcherPic src/Dodge/Item/Draw/SPic.hs 432;" f
launcherSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
launcherX src/Dodge/Item/Held/Launcher.hs 39;" f
layerNum src/Picture/Data.hs 31;" f
@@ -5921,9 +5927,9 @@ layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 90;" f
left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 110;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 63;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 72;" f
leftPad src/Padding.hs 14;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 520;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 529;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
liShape src/Dodge/Placements/LightSource.hs 55;" f
light src/Color.hs 100;" f
@@ -5990,7 +5996,7 @@ longRoomRunPast src/Dodge/Room/LongRoom.hs 47;" f
longestCommonPrefix src/Dodge/Debug/Terminal.hs 138;" f
lookLookup src/Dodge/Base/Zone.hs 203;" f
lookLookups src/Dodge/Base/Zone.hs 208;" f
lookupItems src/Dodge/Combine.hs 41;" f
lookupItems src/Dodge/Combine.hs 47;" f
lookupTrie src/SimpleTrie.hs 24;" f
loopPairs src/ListHelp.hs 28;" f
lootRoom src/Dodge/Room/Treasure.hs 58;" f
@@ -6013,7 +6019,7 @@ machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magShield src/Dodge/Item/Equipment.hs 29;" f
magV src/Geometry/Vector.hs 160;" f
magV3 src/Geometry/Vector3D.hs 78;" f
magazineCombinations src/Dodge/Combine/Combinations.hs 39;" f
magazineCombinations src/Dodge/Combine/Combinations.hs 40;" f
magenta src/Color.hs 19;" f
main appDodge/Main.hs 37;" f
main appHetris/Hetris.hs 15;" f
@@ -6164,8 +6170,8 @@ miniGunUse src/Dodge/Item/Held/Cane.hs 94;" f
miniGunUse src/Dodge/Item/Weapon/BulletGun/Cane.hs 113;" f
miniGunX src/Dodge/Item/Held/Cane.hs 106;" f
miniGunX src/Dodge/Item/Weapon/BulletGun/Cane.hs 120;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 383;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 377;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 392;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 386;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f
miniTree2 src/Dodge/Room/Room.hs 108;" f
minimumOn src/FoldlHelp.hs 12;" f
@@ -6196,14 +6202,14 @@ modClock src/Dodge/Item/Weapon/TriggerType.hs 447;" f
modTo src/Geometry/Zone.hs 10;" f
modifierKey src/Dodge/Config/KeyConfig.hs 34;" f
moduleAttachPosition src/Dodge/Item/Module.hs 6;" f
moduleCombinations src/Dodge/Combine/Combinations.hs 128;" f
moduleCombinations src/Dodge/Combine/Combinations.hs 134;" f
moduleInfo src/Dodge/Item/Info.hs 273;" f
moduleModification src/Dodge/Combine/Module.hs 10;" f
moduleName src/Dodge/Module.hs 22;" f
moduleSize src/Dodge/Module.hs 14;" f
moduleSizes src/Dodge/Module.hs 11;" f
moduleStrings src/Dodge/Module.hs 19;" f
modulesSPic src/Dodge/Item/Draw/SPic.hs 209;" f
modulesSPic src/Dodge/Item/Draw/SPic.hs 218;" f
mountColLightI src/Dodge/LightSources/Fitting.hs 56;" f
mountLightA src/Dodge/LightSources/Fitting.hs 49;" f
mountLightL src/Dodge/LightSources/Fitting.hs 15;" f
@@ -7039,7 +7045,7 @@ shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f
shardShape src/Dodge/Block/Debris.hs 181;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 7;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 231;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 240;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 31;" f
shellMag src/Dodge/Item/Ammo.hs 43;" f
@@ -7218,7 +7224,7 @@ splinterBlock src/Dodge/Block.hs 25;" f
splitBeamCombine src/Dodge/Beam.hs 38;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f
splitItAmounts src/Dodge/Combine.hs 36;" f
splitItAmounts src/Dodge/Combine.hs 42;" f
splitTrunk src/Dodge/Layout/Tree/Polymorphic.hs 142;" f
splitTrunk src/Dodge/Tree/Polymorphic.hs 149;" f
splitTrunk src/TreeHelp.hs 178;" f
@@ -7353,7 +7359,7 @@ telRoomLev src/Dodge/Room/Teleport.hs 14;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f
teleSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
teleportModule src/Dodge/Item/Craftable.hs 32;" f
teleportableWeapons src/Dodge/Combine/Combinations.hs 229;" f
teleportableWeapons src/Dodge/Combine/Combinations.hs 235;" f
termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f
termSoundLine src/Dodge/Terminal.hs 109;" f
termTextColor src/Dodge/Terminal.hs 112;" f
@@ -7364,7 +7370,7 @@ terminalShape src/Dodge/Machine/Draw.hs 27;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 72;" f
teslaBeamCombine src/Dodge/Beam.hs 48;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 439;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 448;" f
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f
testEvent src/Dodge/Event/Test.hs 10;" f
@@ -7442,7 +7448,7 @@ topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 195;" f
torchShape src/Dodge/Item/Draw/SPic.hs 204;" f
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 560;" f
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 583;" f
torqueCr src/Dodge/WorldEffect.hs 64;" f
@@ -7452,7 +7458,7 @@ tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 160;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 73;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 477;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 486;" f
tractorGunTweak src/Dodge/Item/Held/BatteryGuns.hs 89;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
@@ -7782,7 +7788,7 @@ visionCheck src/Dodge/Creature/Perception.hs 152;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f
volleyGun src/Dodge/Item/Held/Cane.hs 37;" f
volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 365;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 374;" f
waistSP src/Dodge/Creature/HandPos.hs 199;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f
@@ -7809,7 +7815,7 @@ wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 176;" f
wasdTwist src/Dodge/Creature/YourControl.hs 155;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 136;" f
watchCombinations src/Dodge/Combine/Combinations.hs 13;" f
watchCombinations src/Dodge/Combine/Combinations.hs 14;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 177;" f
wdth src/Dodge/Machine/Sensor.hs 54;" f
wdth src/Dodge/Placements/Sensor.hs 53;" f