Move towards externalizing item attachment updates

This commit is contained in:
2025-06-26 23:36:59 +01:00
parent 377900662a
commit 4710dd7631
2 changed files with 57 additions and 44 deletions
+22 -11
View File
@@ -37,15 +37,7 @@ useBreakL ::
[(ItemStructuralFunction, ItemLink)] -> [(ItemStructuralFunction, ItemLink)] ->
[(ItemStructuralFunction, ItemLink)] -> [(ItemStructuralFunction, ItemLink)] ->
LinkTest LinkTest
useBreakL x y = useBreakListsLinkTest (map (uncurry noa) x) (map (uncurry noa) y) useBreakL llist rlist = LTest ltest rtest
where
noa a b = (a, b)
useBreakListsLinkTest ::
[(ItemStructuralFunction, ItemLink)] ->
[(ItemStructuralFunction, ItemLink)] ->
LinkTest
useBreakListsLinkTest llist rlist = LTest ltest rtest
where where
ltest ldt = do ltest ldt = do
let xs = let xs =
@@ -53,7 +45,7 @@ useBreakListsLinkTest llist rlist = LTest ltest rtest
((\s -> not $ S.member s (structureToPotentialFunction ldt)) . fst) ((\s -> not $ S.member s (structureToPotentialFunction ldt)) . fst)
llist llist
(sf, linktype) <- safeHead xs (sf, linktype) <- safeHead xs
return $ LUpdate linktype (set _3 (useBreakListsLinkTest (tail xs) rlist)) return $ LUpdate linktype (set _3 (useBreakL (tail xs) rlist))
(_2 .~ sf) (_2 .~ sf)
rtest ldt = do rtest ldt = do
let xs = let xs =
@@ -61,7 +53,7 @@ useBreakListsLinkTest llist rlist = LTest ltest rtest
((\s -> not $ S.member s (structureToPotentialFunction ldt)) . fst) ((\s -> not $ S.member s (structureToPotentialFunction ldt)) . fst)
rlist rlist
(sf, linktype) <- safeHead xs (sf, linktype) <- safeHead xs
return $ LUpdate linktype (set _3 (useBreakListsLinkTest llist (tail xs))) return $ LUpdate linktype (set _3 (useBreakL llist (tail xs)))
(_2 .~ sf) (_2 .~ sf)
itemToBreakLists :: itemToBreakLists ::
@@ -78,6 +70,8 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
<> getAutoSpringLinks itm <> getAutoSpringLinks itm
<> extraWeaponLinks itm <> extraWeaponLinks itm
) )
(_, UnderBarrelPlatformSF) ->
( getAmmoLinks itm,[])
(DETECTOR {}, _) -> (DETECTOR {}, _) ->
( getAmmoLinks itm ( getAmmoLinks itm
, [(ARHUDSF,SFLink ARHUDSF),(TriggerSF, TriggerLink),(MapperSF,SFLink MapperSF)] , [(ARHUDSF,SFLink ARHUDSF),(TriggerSF, TriggerLink),(MapperSF,SFLink MapperSF)]
@@ -237,6 +231,9 @@ springLinkTest = LTest (const Nothing) $
type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a) type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a)
leftIsParentCombine' :: LDTComb CItem ItemLink
leftIsParentCombine' ltree rtree = Nothing
leftIsParentCombine :: LDTComb CItem ItemLink leftIsParentCombine :: LDTComb CItem ItemLink
leftIsParentCombine ltree rtree = do leftIsParentCombine ltree rtree = do
lu <- (ltree ^. ldtValue . _3 . tryRightLink) rtree --(rtree ^. ldtValue) lu <- (ltree ^. ldtValue . _3 . tryRightLink) rtree --(rtree ^. ldtValue)
@@ -246,6 +243,20 @@ leftIsParentCombine ltree rtree = do
rightIsParentCombine :: LDTComb CItem ItemLink rightIsParentCombine :: LDTComb CItem ItemLink
rightIsParentCombine ltree rtree = do rightIsParentCombine ltree rtree = do
let l = leftChildList rtree
xs = dropWhile ((\s -> not $ S.member s (structureToPotentialFunction ltree)) . fst) l
(sf,linktype) <- safeHead xs
return $
rtree & ldtLeft .:~ (linktype, ltree & ldtValue . _2 .~ sf)
leftChildList :: LabelDoubleTree ItemLink CItem -> [(ItemStructuralFunction, ItemLink)]
leftChildList t = foldl' f l (reverse $ t ^.. ldtLeft . each . _1)
where
l = fst $ itemToBreakLists (t ^. ldtValue . _1) (t ^. ldtValue . _2)
f x y = tail $ dropWhile ((/=y) . snd) x
rightIsParentCombine' :: LDTComb CItem ItemLink
rightIsParentCombine' ltree rtree = do
lu <- (rtree ^. ldtValue . _3 . tryLeftLink) ltree -- (ltree ^. ldtValue) lu <- (rtree ^. ldtValue . _3 . tryLeftLink) ltree -- (ltree ^. ldtValue)
return $ return $
rtree & ldtValue %~ (lu ^. luParentUpdate) rtree & ldtValue %~ (lu ^. luParentUpdate)
+35 -33
View File
@@ -978,7 +978,7 @@ Kill src/Dodge/Data/ActionPlan.hs 198;" C
LASER src/Dodge/Data/Item/Combine.hs 168;" C LASER src/Dodge/Data/Item/Combine.hs 168;" C
LDT src/Dodge/Data/DoubleTree.hs 40;" C LDT src/Dodge/Data/DoubleTree.hs 40;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C
LDTComb src/Dodge/Item/Grammar.hs 238;" t LDTComb src/Dodge/Item/Grammar.hs 230;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 26;" C LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 27;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 24;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 24;" C
@@ -3295,7 +3295,7 @@ aRadarPulse src/Dodge/RadarSweep.hs 19;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f
aSound src/Dodge/SoundLogic.hs 74;" f aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 54;" f accessTerminal src/Dodge/WorldEffect.hs 52;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 83;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 83;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 85;" f addArmour src/Dodge/Creature.hs 85;" f
@@ -3352,7 +3352,7 @@ airlockDoor src/Dodge/Room/Airlock.hs 51;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f
allInvLocs src/Dodge/Item/Grammar.hs 317;" f allInvLocs src/Dodge/Item/Grammar.hs 323;" f
allVisibleWalls src/Dodge/Base/Collide.hs 132;" f allVisibleWalls src/Dodge/Base/Collide.hs 132;" f
alongSegBy src/Geometry.hs 40;" f alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -3453,7 +3453,7 @@ barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 46;" f barrelShape src/Dodge/Render/ShapePicture.hs 46;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 192;" f baseCI src/Dodge/Item/Grammar.hs 184;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 313;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 313;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 45;" f baseFloorTileSize src/Tile.hs 45;" f
@@ -4014,8 +4014,8 @@ doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
doDamage src/Dodge/Creature/State.hs 129;" f doDamage src/Dodge/Creature/State.hs 129;" f
doDeathToggle src/Dodge/WorldEffect.hs 93;" f doDeathToggle src/Dodge/WorldEffect.hs 91;" f
doDeathTriggers src/Dodge/WorldEffect.hs 88;" f doDeathTriggers src/Dodge/WorldEffect.hs 86;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f
@@ -4065,7 +4065,7 @@ doSectionSize src/Dodge/DisplayInventory.hs 217;" f
doSideEffects appDodge/Main.hs 120;" f doSideEffects appDodge/Main.hs 120;" f
doStep src/Dodge/ArcStep.hs 9;" f doStep src/Dodge/ArcStep.hs 9;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 166;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 166;" f
doTerminalBootProgram src/Dodge/WorldEffect.hs 96;" f doTerminalBootProgram src/Dodge/WorldEffect.hs 94;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
@@ -4073,13 +4073,13 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 149;" f doThrust src/Dodge/Projectile/Update.hs 149;" f
doTimeScroll src/Dodge/Update.hs 202;" f doTimeScroll src/Dodge/Update.hs 202;" f
doTmTm src/Dodge/TmTm.hs 6;" f doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 101;" f doTmWdWd src/Dodge/WorldEffect.hs 99;" f
doWallRotate src/Dodge/Update/Camera.hs 212;" f doWallRotate src/Dodge/Update/Camera.hs 212;" f
doWdBl src/Dodge/WorldBool.hs 10;" f doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f
doWdWd src/Dodge/WorldEffect.hs 29;" f doWdWd src/Dodge/WorldEffect.hs 27;" f
doWorldEvents src/Dodge/Update.hs 432;" f doWorldEvents src/Dodge/Update.hs 432;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f door src/Dodge/Room/Door.hs 13;" f
@@ -4305,8 +4305,8 @@ extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 73;" f extraPics src/Dodge/Render/ShapePicture.hs 73;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 125;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 117;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 134;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 126;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 65;" f faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f facesToVF src/Polyhedra/Geodesic.hs 69;" f
@@ -4425,11 +4425,11 @@ geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 135;" f getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 141;" f getAmmoLinks src/Dodge/Item/Grammar.hs 133;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 809;" f getAttachedSFLink src/Dodge/HeldUse.hs 809;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 120;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 112;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 928;" f getBulletType src/Dodge/HeldUse.hs 928;" f
@@ -4646,16 +4646,16 @@ interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 79;" f introScanValue src/Dodge/Inventory/SelectionList.hs 79;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 298;" f invAdj src/Dodge/Item/Grammar.hs 304;" f
invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 192;" f invDimColor src/Dodge/DisplayInventory.hs 192;" f
invHead src/Dodge/Render/HUD.hs 405;" f invHead src/Dodge/Render/HUD.hs 405;" f
invItemLocUpdate src/Dodge/Creature/State.hs 154;" f invItemLocUpdate src/Dodge/Creature/State.hs 154;" f
invLDT src/Dodge/Item/Grammar.hs 278;" f invLDT src/Dodge/Item/Grammar.hs 284;" f
invRootItemEffs src/Dodge/Creature/State.hs 147;" f invRootItemEffs src/Dodge/Creature/State.hs 147;" f
invRootMap src/Dodge/Item/Grammar.hs 287;" f invRootMap src/Dodge/Item/Grammar.hs 293;" f
invRootTrees src/Dodge/Item/Grammar.hs 308;" f invRootTrees src/Dodge/Item/Grammar.hs 314;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 185;" f invSetSelection src/Dodge/Inventory.hs 185;" f
invSetSelectionPos src/Dodge/Inventory.hs 193;" f invSetSelectionPos src/Dodge/Inventory.hs 193;" f
@@ -4703,7 +4703,7 @@ itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 64;" f
itInvHeight src/Dodge/Item/InvSize.hs 11;" f itInvHeight src/Dodge/Item/InvSize.hs 11;" f
itUseCondition src/Dodge/ItemUseCondition.hs 6;" f itUseCondition src/Dodge/ItemUseCondition.hs 6;" f
itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f
itemBaseConnections src/Dodge/Item/Grammar.hs 195;" f itemBaseConnections src/Dodge/Item/Grammar.hs 187;" f
itemBaseName src/Dodge/Item/Display.hs 59;" f itemBaseName src/Dodge/Item/Display.hs 59;" f
itemBaseStance src/Dodge/Item/AimStance.hs 17;" f itemBaseStance src/Dodge/Item/AimStance.hs 17;" f
itemBlips src/Dodge/RadarSweep.hs 93;" f itemBlips src/Dodge/RadarSweep.hs 93;" f
@@ -4734,8 +4734,8 @@ itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f
itemSidePush src/Dodge/HeldUse.hs 432;" f itemSidePush src/Dodge/HeldUse.hs 432;" f
itemString src/Dodge/Item/Display.hs 55;" f itemString src/Dodge/Item/Display.hs 55;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 67;" f itemToBreakLists src/Dodge/Item/Grammar.hs 59;" f
itemToFunction src/Dodge/Item/Grammar.hs 147;" f itemToFunction src/Dodge/Item/Grammar.hs 139;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 12;" f itemTriggerType src/Dodge/BaseTriggerType.hs 12;" f
itemWeight src/Dodge/Creature/Statistics.hs 66;" f itemWeight src/Dodge/Creature/Statistics.hs 66;" f
@@ -4747,7 +4747,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 230;" f itmUsageInfo src/Dodge/Item/Info.hs 230;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 268;" f joinItemsInList src/Dodge/Item/Grammar.hs 274;" f
joystick src/Dodge/Item/Scope.hs 149;" f joystick src/Dodge/Item/Scope.hs 149;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
@@ -4781,7 +4781,7 @@ lasTunnel src/Dodge/Room/LasTurret.hs 126;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 167;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 167;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 41;" f laser src/Dodge/Item/Held/BatteryGuns.hs 41;" f
laserLinkTest src/Dodge/Item/Grammar.hs 201;" f laserLinkTest src/Dodge/Item/Grammar.hs 193;" f
lastMap src/Dodge/DoubleTree.hs 174;" f lastMap src/Dodge/DoubleTree.hs 174;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
@@ -4796,9 +4796,11 @@ ldtToIM src/Dodge/DoubleTree.hs 143;" f
ldtToIndentList src/Dodge/DoubleTree.hs 146;" f ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f ldtToLoc src/Dodge/DoubleTree.hs 187;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 240;" f leftChildList src/Dodge/Item/Grammar.hs 250;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 235;" f
leftIsParentCombine' src/Dodge/Item/Grammar.hs 232;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 254;" f leftRightCombine src/Dodge/Item/Grammar.hs 260;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 477;" f legsSPic src/Dodge/Item/Draw/SPic.hs 477;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
@@ -4813,7 +4815,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/WorldEffect.hs 76;" f lineOutputTerminal src/Dodge/WorldEffect.hs 74;" f
lineSplit src/Justify.hs 26;" f lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4826,8 +4828,8 @@ listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 190;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 190;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 308;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 308;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 204;" f llleft src/Dodge/Item/Grammar.hs 196;" f
llright src/Dodge/Item/Grammar.hs 210;" f llright src/Dodge/Item/Grammar.hs 202;" f
lmt src/MatrixHelper.hs 43;" f lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
@@ -5535,7 +5537,8 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 247;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 242;" f
rightIsParentCombine' src/Dodge/Item/Grammar.hs 253;" f
rightPad src/Padding.hs 19;" f rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5883,7 +5886,7 @@ spreadCenter src/Dodge/Base.hs 187;" f
spreadFromCenter src/Dodge/Base.hs 176;" f spreadFromCenter src/Dodge/Base.hs 176;" f
spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 12;" f spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 12;" f
spreadOut src/Dodge/Creature/Boid.hs 158;" f spreadOut src/Dodge/Creature/Boid.hs 158;" f
springLinkTest src/Dodge/Item/Grammar.hs 222;" f springLinkTest src/Dodge/Item/Grammar.hs 214;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
square src/Geometry/Polygon.hs 46;" f square src/Geometry/Polygon.hs 46;" f
@@ -5940,7 +5943,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 78;" f
stringToList src/Picture/Base.hs 313;" f stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f stripZ src/Geometry/Vector3D.hs 97;" f
structureToPotentialFunction src/Dodge/Item/Grammar.hs 182;" f structureToPotentialFunction src/Dodge/Item/Grammar.hs 174;" f
structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 75;" f structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 75;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f subInvX src/Dodge/ListDisplayParams.hs 48;" f
subMap src/TreeHelp.hs 118;" f subMap src/TreeHelp.hs 118;" f
@@ -6053,7 +6056,7 @@ toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f toColor8 src/Color.hs 148;" f
toFloatVAs src/Shader/Compile.hs 211;" f toFloatVAs src/Shader/Compile.hs 211;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 215;" f toLasgunUpdate src/Dodge/Item/Grammar.hs 207;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 219;" f toTopLeft src/Dodge/Render/List.hs 219;" f
@@ -6079,7 +6082,7 @@ topTestPart src/Dodge/TestString.hs 58;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 269;" f torchShape src/Dodge/Item/Draw/SPic.hs 269;" f
torqueAmount src/Dodge/HeldUse.hs 629;" f torqueAmount src/Dodge/HeldUse.hs 629;" f
torqueCr src/Dodge/WorldEffect.hs 69;" f torqueCr src/Dodge/WorldEffect.hs 67;" f
torso src/Dodge/Creature/Picture.hs 99;" f torso src/Dodge/Creature/Picture.hs 99;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
@@ -6321,7 +6324,6 @@ upperPrismPolySU src/Shape.hs 114;" f
upperPrismPolyTS src/Shape.hs 120;" f upperPrismPolyTS src/Shape.hs 120;" f
upperRounded src/Shape.hs 185;" f upperRounded src/Shape.hs 185;" f
useBreakL src/Dodge/Item/Grammar.hs 36;" f useBreakL src/Dodge/Item/Grammar.hs 36;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 44;" f
useBulletPayload src/Dodge/Bullet.hs 113;" f useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f useC' src/Dodge/Cuse.hs 13;" f