Display root+tree selection when aiming

This commit is contained in:
2024-10-28 14:26:09 +00:00
parent 53557965d0
commit 97c3f1262b
6 changed files with 130 additions and 82 deletions
+1 -1
View File
@@ -1 +1 @@
All good (594 modules, at 15:02:57)
All good (594 modules, at 14:23:55)
+10
View File
@@ -195,6 +195,16 @@ locUp (LocLDT c@LeftwardLDT{} t) = Just $ LocLDT (_cldtUp c)
locUp (LocLDT c@RightwardLDT{} t) = Just $ LocLDT (_cldtUp c)
(LDT (_cldtParent c) (_cldtFarLeft c) (_cldtCloseLeft c ++ ((_cldtLink c,t):_cldtCloseRight c)))
locToTop :: LocationLDT b a -> LocationLDT b a
locToTop loc = maybe loc locToTop $ locUp loc
--locToTop = fix $ \x -> fromMaybe x $ locUp x
locLeftmost :: LocationLDT b a -> LocationLDT b a
locLeftmost loc = maybe loc locLeftmost $ alaf Last foldMap Just $ locGoLeft loc
locRightmost :: LocationLDT b a -> LocationLDT b a
locRightmost loc = maybe loc locRightmost $ alaf First foldMap Just $ locGoRight loc
-- should probably do tests for these
locGoLeft :: LocationLDT b a -> [LocationLDT b a]
locGoLeft (LocLDT c (LDT v l r)) =
+8 -4
View File
@@ -48,7 +48,7 @@ itemToBreakLists ::
ComposedItem ->
([(ItemStructuralFunction, ComposeLinkType)], [(ItemStructuralFunction, ComposeLinkType)])
itemToBreakLists ci = case (itm ^. itType, ci ^. cItemFunction) of
(HELD TORCH,_) -> (getAmmoLinks itm,[])
(HELD TORCH, _) -> (getAmmoLinks itm, [])
(_, WeaponPlatformSF) ->
( getAmmoLinks itm
, [(WeaponTargetingSF, WeaponTargetingLink), (WeaponScopeSF, WeaponScopeLink)]
@@ -103,8 +103,11 @@ laserLinkTest :: Item -> LinkTest
laserLinkTest itm = LTest (llleft itm) (llright itm)
llleft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
llleft itm = _tryLeftLink
. uncurry useBreakL . itemToBreakLists $ CItem itm WeaponTargetingSF
llleft itm =
_tryLeftLink
. uncurry useBreakL
. itemToBreakLists
$ CItem itm WeaponTargetingSF
llright :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
llright itm pci = case pci ^. _1 . itType of
@@ -179,8 +182,9 @@ invRootMap = foldMap (dtToIntMapWithRoot (^?! itLocation . ilInvID) . fmap (^. _
-- location ids
-- consider explicitly reseting the inventory ids (but this probably really
-- should be done upstream anyway in the actually creature inventory)
-- The first Int in the maybe is the root, the second the parent
invAdj :: IM.IntMap Item -> IM.IntMap (Maybe (Int, Int), [Int], [Int])
invAdj im = IM.unions . map g $ invLDT im
invAdj = IM.unions . map g . invLDT
where
g = dtToLRAdj getid . ldtToDT
getid (itm, _, _) =
+32 -2
View File
@@ -6,6 +6,10 @@ module Dodge.Render.HUD (
selNumPosCardinal, -- this shoud probably be pushed back here
) where
import Dodge.Creature.Test
import Dodge.DoubleTree
import Dodge.Data.DoubleTree
import Dodge.Data.ComposedItem
import Control.Lens
import Control.Monad
import qualified Data.Map.Strict as M
@@ -59,6 +63,7 @@ drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Configuration -> Pi
drawInventory sss w cfig =
drawSelectionSections sss ldp cfig
<> drawSSCursor sss (w ^? hud . hudElement . diSelection . _Just) ldp curs cfig
<> drawRootCursor w sss (w ^? hud . hudElement . diSelection . _Just) ldp cfig
-- <> drawSSMultiCursor sss (w ^? hud . hudElement . diSelection . _Just)
-- (w ^? hud . hudElement . diSelectionExtra)
-- ldp curs cfig
@@ -72,8 +77,33 @@ drawInventory sss w cfig =
curs = invCursorParams w
iextra = fromMaybe mempty $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
let x = invAdj inv
return $ inventoryExtra sss cfig w x
return . inventoryExtra sss cfig w $ invAdj inv
drawRootCursor :: World
-> IM.IntMap (SelectionSection ())
-> Maybe (Int,Int)
-> ListDisplayParams
-> Configuration
-> Picture
drawRootCursor w sss msel ldp cfig = fromMaybe mempty $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
guard $ crIsAiming cr
(i,j) <- msel
guard $ i == 0
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
(x,y) <- getRootItemBounds j $ inv
return $ drawSSMultiCursor sss (Just (0,x)) (Just (y- x)) ldp
(BoundaryCursor [minBound .. maxBound]) cfig
getRootItemBounds :: Int -> IM.IntMap Item -> Maybe (Int,Int)
getRootItemBounds i inv = do
let ia = allInvLocs inv
itm <- ia ^? ix i . _2
let root = locToTop itm
x <- locRightmost root ^? locLDT . ldtValue . cItem . itLocation . ilInvID
y <- locLeftmost root ^? locLDT . ldtValue . cItem . itLocation . ilInvID
return (x,y)
drawDIMouseOver :: World -> Picture
drawDIMouseOver w = fromMaybe mempty $ do
+2 -1
View File
@@ -58,7 +58,8 @@ drawSSMultiCursor sss msel mextra ldp curs cfig = translateScreenPos cfig (ldp ^
ysize = sum . fmap _siHeight $ selitms
maxoff = maximum . fmap _siOffX $ selitms
minoff = minimum . fmap _siOffX $ selitms
col <- fmap (_siColor . fst) $ IM.minView selitms
let col = white
-- col <- fmap (_siColor . fst) $ IM.minView selitms
return $
listCursorChooseBorderScale
(ldp ^. ldpVerticalGap)
+77 -74
View File
@@ -974,7 +974,7 @@ LBlink src/Dodge/Data/Item/HeldUse.hs 43;" C
LBoost src/Dodge/Data/Item/HeldUse.hs 45;" C
LDT src/Dodge/Data/DoubleTree.hs 39;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTComb src/Dodge/Item/Grammar.hs 125;" t
LDTComb src/Dodge/Item/Grammar.hs 128;" 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
@@ -3339,7 +3339,7 @@ airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f
allHotkeys src/Dodge/Creature/YourControl.hs 51;" f
allInvLocs src/Dodge/Item/Grammar.hs 214;" f
allInvLocs src/Dodge/Item/Grammar.hs 215;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f
@@ -3591,7 +3591,7 @@ clClSpringVel src/Dodge/Update.hs 737;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 166;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 220;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 232;" f
cleanUpPreload src/Preload.hs 11;" f
cleanUpRenderPreload src/Preload/Render.hs 216;" f
cleanUpSoundPreload src/Preload.hs 16;" f
@@ -3607,7 +3607,7 @@ clipZoom src/Dodge/Update/Camera.hs 215;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f
closeObjectInfo src/Dodge/Render/HUD.hs 171;" f
closeObjectInfo src/Dodge/Render/HUD.hs 180;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 68;" f
closestCreatureID src/Dodge/Debug.hs 92;" f
@@ -3643,7 +3643,7 @@ combinationsOf src/Multiset.hs 46;" f
combinationsTrie src/Dodge/Combine.hs 41;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 172;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 281;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 290;" f
combineItemListYouX src/Dodge/Combine.hs 33;" f
combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 152;" f
@@ -3707,8 +3707,8 @@ crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f
crSpring src/Dodge/Update.hs 750;" f
crStratConMatches src/Dodge/Creature/Test.hs 72;" f
crUpdate src/Dodge/Creature/State.hs 62;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 49;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 43;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 47;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 41;" f
crZoneSize src/Dodge/Zoning/Creature.hs 39;" f
craftInfo src/Dodge/Item/Info.hs 135;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f
@@ -3955,7 +3955,7 @@ displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 39;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 169;" f
displayTerminal src/Dodge/Render/HUD.hs 318;" f
displayTerminal src/Dodge/Render/HUD.hs 327;" f
displayTerminalLineString src/Dodge/Update.hs 426;" f
dist src/Geometry/Vector.hs 179;" f
dist3 src/Geometry/Vector3D.hs 101;" f
@@ -4051,7 +4051,7 @@ doubleCorridorBarrels src/Dodge/Room/Room.hs 265;" f
doubleLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 28;" f
doublePair src/Geometry.hs 149;" f
doublePairSet src/Geometry.hs 153;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 74;" f
doubleV2 src/Geometry.hs 156;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 210;" f
@@ -4066,7 +4066,7 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f
drawCircFlare src/Dodge/Flare.hs 25;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombineInventory src/Dodge/Render/HUD.hs 127;" f
drawCombineInventory src/Dodge/Render/HUD.hs 136;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 342;" f
@@ -4076,14 +4076,13 @@ drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 49;" f
drawDDATest src/Dodge/Debug/Picture.hs 256;" f
drawDIMouseOver src/Dodge/Render/HUD.hs 82;" f
drawDISelections src/Dodge/Render/HUD.hs 102;" f
drawDISelections' src/Dodge/Render/HUD.hs 110;" f
drawDIMouseOver src/Dodge/Render/HUD.hs 102;" f
drawDISelections src/Dodge/Render/HUD.hs 120;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 140;" f
drawExamineInventory src/Dodge/Render/HUD.hs 141;" f
drawExamineInventory src/Dodge/Render/HUD.hs 150;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f
drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f
@@ -4091,12 +4090,12 @@ drawFlare src/Dodge/Flare.hs 12;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 65;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGib src/Dodge/Prop/Draw.hs 28;" f
drawHP src/Dodge/Render/HUD.hs 50;" f
drawHUD src/Dodge/Render/HUD.hs 42;" f
drawHP src/Dodge/Render/HUD.hs 49;" f
drawHUD src/Dodge/Render/HUD.hs 41;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 18;" f
drawInspectWall src/Dodge/Debug/Picture.hs 209;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 197;" f
drawInventory src/Dodge/Render/HUD.hs 59;" f
drawInventory src/Dodge/Render/HUD.hs 58;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/Prop/Draw.hs 44;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f
@@ -4124,9 +4123,10 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 15;" f
drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 189;" f
drawRBOptions src/Dodge/Render/HUD.hs 198;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f
drawRootCursor src/Dodge/Render/HUD.hs 78;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f
drawSelectionList src/Dodge/Render/List.hs 30;" f
@@ -4139,7 +4139,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 6;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f
drawSubInventory src/Dodge/Render/HUD.hs 119;" f
drawSubInventory src/Dodge/Render/HUD.hs 128;" f
drawSweep src/Dodge/Render/Picture.hs 101;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
@@ -4165,15 +4165,15 @@ dropByState src/Dodge/Creature/State.hs 118;" f
dropExcept src/Dodge/Creature/Action.hs 172;" f
dropItem src/Dodge/Creature/Action.hs 177;" f
drumMag src/Dodge/Item/Ammo.hs 48;" f
dtIL src/Dodge/DoubleTree.hs 75;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 126;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 132;" f
dtToAdjacency src/Dodge/DoubleTree.hs 82;" f
dtToIntMapWithRoot src/Dodge/DoubleTree.hs 88;" f
dtToLRAdj src/Dodge/DoubleTree.hs 104;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 114;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
dtIL src/Dodge/DoubleTree.hs 77;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 128;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 134;" f
dtToAdjacency src/Dodge/DoubleTree.hs 84;" f
dtToIntMapWithRoot src/Dodge/DoubleTree.hs 90;" f
dtToLRAdj src/Dodge/DoubleTree.hs 106;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 116;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 94;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 98;" f
dummyMenuOption src/Dodge/Menu/Option.hs 81;" f
ebFlicker src/Dodge/EnergyBall.hs 94;" f
edgeFormatting src/Dodge/Combine/Graph.hs 118;" f
@@ -4191,7 +4191,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 269;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 247;" f
equipAllocString src/Dodge/Render/HUD.hs 256;" f
equipInfo src/Dodge/Item/Info.hs 103;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f
equipPosition src/Dodge/Item/Draw.hs 29;" f
@@ -4284,7 +4284,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f
flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 176;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 185;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f
@@ -4362,11 +4362,11 @@ getLaserColor src/Dodge/HeldUse.hs 196;" f
getLaserDamage src/Dodge/HeldUse.hs 193;" f
getLaserPhaseV src/Dodge/HeldUse.hs 190;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMouseInvSel src/Dodge/Render/HUD.hs 91;" f
getMouseInvSel' src/Dodge/Render/HUD.hs 96;" f
getMouseInvSel src/Dodge/Render/HUD.hs 111;" f
getNodePos src/Dodge/Path.hs 31;" f
getPretty src/AesonHelp.hs 7;" f
getPrettyShort src/AesonHelp.hs 10;" f
getRootItemBounds src/Dodge/Render/HUD.hs 92;" f
getSensor src/Dodge/Terminal.hs 187;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f
getSplitString src/Dodge/Debug/Terminal.hs 123;" f
@@ -4441,7 +4441,7 @@ hat src/Dodge/Item/Equipment.hs 94;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 100;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 381;" f
headMap src/Dodge/DoubleTree.hs 170;" f
headMap src/Dodge/DoubleTree.hs 172;" 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
@@ -4479,7 +4479,7 @@ iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
ifConfigWallRotate src/Dodge/Update/Camera.hs 171;" f
ildtPropagate src/Dodge/DoubleTree.hs 57;" f
ildtPropagate src/Dodge/DoubleTree.hs 59;" f
impulsiveAIBefore src/Dodge/Creature/Impulse.hs 22;" f
inCloseRegex src/Dodge/InputFocus.hs 94;" f
inInputFocus src/Dodge/InputFocus.hs 59;" f
@@ -4548,23 +4548,23 @@ 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 182;" f
invAdj src/Dodge/Item/Grammar.hs 186;" f
invCursorParams src/Dodge/ListDisplayParams.hs 38;" f
invDimColor src/Dodge/DisplayInventory.hs 163;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f
invHead src/Dodge/Render/HUD.hs 354;" f
invLDT src/Dodge/Item/Grammar.hs 166;" f
invRootMap src/Dodge/Item/Grammar.hs 175;" f
invRootTrees src/Dodge/Item/Grammar.hs 207;" f
invHead src/Dodge/Render/HUD.hs 363;" f
invLDT src/Dodge/Item/Grammar.hs 169;" f
invRootMap src/Dodge/Item/Grammar.hs 178;" f
invRootTrees src/Dodge/Item/Grammar.hs 208;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 23;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 20;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 195;" f
invTrees' src/Dodge/Item/Grammar.hs 199;" f
inventoryExtra src/Dodge/Render/HUD.hs 256;" f
inventoryExtraH src/Dodge/Render/HUD.hs 267;" f
invTrees src/Dodge/Item/Grammar.hs 196;" f
invTrees' src/Dodge/Item/Grammar.hs 200;" f
inventoryExtra src/Dodge/Render/HUD.hs 265;" f
inventoryExtraH src/Dodge/Render/HUD.hs 276;" f
inventoryX src/Dodge/Creature.hs 115;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 227;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 214;" f
@@ -4639,7 +4639,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 17;" f
itmUsageInfo src/Dodge/Item/Info.hs 196;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 157;" f
joinItemsInList src/Dodge/Item/Grammar.hs 160;" 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
@@ -4673,7 +4673,7 @@ lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 40;" f
laserLinkTest src/Dodge/Item/Grammar.hs 102;" f
lastMap src/Dodge/DoubleTree.hs 174;" f
lastMap src/Dodge/DoubleTree.hs 176;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
launcher src/Dodge/Item/Held/Launcher.hs 12;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
@@ -4681,21 +4681,21 @@ launcherPic src/Dodge/Item/Draw/SPic.hs 331;" f
launcherX src/Dodge/Item/Held/Launcher.hs 32;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 90;" f
ldtIL src/Dodge/DoubleTree.hs 149;" f
ldtPropagate src/Dodge/DoubleTree.hs 20;" f
ldtPropagateFold src/Dodge/DoubleTree.hs 29;" f
ldtPropagateFoldTree src/Dodge/DoubleTree.hs 45;" f
ldtPropagateIndices src/Dodge/DoubleTree.hs 64;" f
ldtToDT src/Dodge/DoubleTree.hs 15;" f
ldtToIM src/Dodge/DoubleTree.hs 143;" f
ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f
ldtIL src/Dodge/DoubleTree.hs 151;" f
ldtPropagate src/Dodge/DoubleTree.hs 22;" f
ldtPropagateFold src/Dodge/DoubleTree.hs 31;" f
ldtPropagateFoldTree src/Dodge/DoubleTree.hs 47;" f
ldtPropagateIndices src/Dodge/DoubleTree.hs 66;" f
ldtToDT src/Dodge/DoubleTree.hs 17;" f
ldtToIM src/Dodge/DoubleTree.hs 145;" f
ldtToIndentList src/Dodge/DoubleTree.hs 148;" f
ldtToLoc src/Dodge/DoubleTree.hs 189;" f
left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 93;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 127;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 130;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f
leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 141;" f
leftRightCombine src/Dodge/Item/Grammar.hs 144;" 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
@@ -4725,10 +4725,10 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 261;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 105;" f
llright src/Dodge/Item/Grammar.hs 109;" f
llright src/Dodge/Item/Grammar.hs 112;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 343;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 352;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
@@ -4739,10 +4739,13 @@ loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
loadSounds src/Dodge/SoundLogic/LoadSound.hs 16;" f
loadingScreen src/Dodge/Menu/Loading.hs 7;" f
loadme src/Dodge/Debug/Terminal.hs 136;" f
locGoHelp src/Dodge/DoubleTree.hs 210;" f
locGoLeft src/Dodge/DoubleTree.hs 199;" f
locGoRight src/Dodge/DoubleTree.hs 204;" f
locUp src/Dodge/DoubleTree.hs 191;" f
locGoHelp src/Dodge/DoubleTree.hs 222;" f
locGoLeft src/Dodge/DoubleTree.hs 211;" f
locGoRight src/Dodge/DoubleTree.hs 216;" f
locLeftmost src/Dodge/DoubleTree.hs 204;" f
locRightmost src/Dodge/DoubleTree.hs 207;" f
locToTop src/Dodge/DoubleTree.hs 200;" f
locUp src/Dodge/DoubleTree.hs 193;" f
lockInv src/Dodge/Inventory/Lock.hs 6;" f
lockInvFor src/Dodge/Item/Weapon/TriggerType.hs 50;" f
lockRoomKeyItems src/Dodge/LockAndKey.hs 26;" f
@@ -5248,8 +5251,8 @@ preloadRender src/Preload/Render.hs 30;" f
premapMaybe src/FoldlHelp.hs 24;" f
prependTwo src/Geometry.hs 165;" f
pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 163;" f
prettyDT src/Dodge/DoubleTree.hs 179;" f
prettyLDT src/Dodge/DoubleTree.hs 183;" f
prettyDT src/Dodge/DoubleTree.hs 181;" f
prettyLDT src/Dodge/DoubleTree.hs 185;" 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
@@ -5421,7 +5424,7 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 51;" f
right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 134;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 137;" f
rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5541,11 +5544,11 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f
seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f
selNumPos src/Dodge/Render/HUD.hs 414;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 437;" f
selNumPos src/Dodge/Render/HUD.hs 423;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 446;" f
selSecDrawCursor src/Dodge/Render/List.hs 108;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 86;" f
selSecSelCol src/Dodge/Render/HUD.hs 460;" f
selSecSelCol src/Dodge/Render/HUD.hs 469;" f
selSecSelSize src/Dodge/SelectionSections.hs 152;" f
selSecYint src/Dodge/SelectionSections.hs 161;" f
selectCreatureDebugItem src/Dodge/Debug.hs 39;" f
@@ -5573,7 +5576,7 @@ setHotkey src/Dodge/Hotkey.hs 38;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 68;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 66;" f
setItemCharge src/Dodge/ItEffect.hs 39;" f
setLayer src/Picture/Base.hs 139;" f
setLinkType src/Dodge/RoomLink.hs 60;" f
@@ -5695,8 +5698,8 @@ sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 340;" f
singleAmmo src/Dodge/Default/Item.hs 44;" f
singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f
singleDT src/Dodge/DoubleTree.hs 9;" f
singleLDT src/Dodge/DoubleTree.hs 12;" f
singleDT src/Dodge/DoubleTree.hs 11;" f
singleLDT src/Dodge/DoubleTree.hs 14;" f
singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 19;" f
sizeFBOs src/Framebuffer/Update.hs 22;" f
@@ -5916,7 +5919,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 114;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 117;" f
toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 200;" f
@@ -6119,7 +6122,7 @@ updateRadarSweep src/Dodge/RadarSweep.hs 25;" f
updateRadarSweeps src/Dodge/Update.hs 547;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 106;" f
updateRootItemID src/Dodge/Inventory/Location.hs 36;" f
updateRootItemID src/Dodge/Inventory/Location.hs 34;" f
updateScopeZoom src/Dodge/Update/Camera.hs 127;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
@@ -6301,7 +6304,7 @@ yV2 src/Geometry/Vector.hs 203;" f
yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 18;" f
youDropItem src/Dodge/Creature/Action.hs 184;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 183;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 192;" f
yourControl src/Dodge/Creature/YourControl.hs 22;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f