Continue removing LDTs

This commit is contained in:
2025-07-12 14:01:44 +01:00
parent 8ff607675b
commit f47f99eac4
15 changed files with 359 additions and 257 deletions
+16 -16
View File
@@ -18,25 +18,25 @@ import qualified IntMapHelp as IM
useItem :: Int -> PressType -> World -> Maybe World useItem :: Int -> PressType -> World -> Maybe World
useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
itmloc <- allInvLocs (_crInv cr) ^? ix invid . _2 itmloc <- invIndents (_crInv cr) ^? ix invid . _2
useItemLoc cr itmloc pt w useItemLoc cr (itmloc) pt w
useItemLoc :: Creature -> LocationLDT ItemLink OItem -> PressType -> World -> Maybe World useItemLoc :: Creature -> LocationDT OItem -> PressType -> World -> Maybe World
useItemLoc cr loc pt w useItemLoc cr loc pt w
| HeldPlatformSF <- sf | HeldPlatformSF <- sf
, fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsAttached , fromMaybe False $ loc ^? locDT . dtValue . _1 . itLocation . ilIsAttached
, Aiming{} <- cr ^. crStance . posture = , Aiming{} <- cr ^. crStance . posture =
return $ gadgetEffect pt (locLDTToLocDT loc) cr w return $ gadgetEffect pt loc cr w
| LaserWeaponSF <- sf | LaserWeaponSF <- sf
, fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsAttached , fromMaybe False $ loc ^? locDT . dtValue . _1 . itLocation . ilIsAttached
, Aiming{} <- cr ^. crStance . posture = , Aiming{} <- cr ^. crStance . posture =
return $ gadgetEffect pt (locLDTToLocDT loc) cr w return $ gadgetEffect pt (loc) cr w
| GadgetPlatformSF <- sf = | GadgetPlatformSF <- sf =
return $ gadgetEffect pt (locLDTToLocDT loc) cr w return $ gadgetEffect pt (loc) cr w
| UnderBarrelPlatformSF <- sf | UnderBarrelPlatformSF <- sf
, fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsAttached , fromMaybe False $ loc ^? locDT . dtValue . _1 . itLocation . ilIsAttached
, Aiming{} <- cr ^. crStance . posture = , Aiming{} <- cr ^. crStance . posture =
return $ gadgetEffect pt (locLDTToLocDT loc) cr w return $ gadgetEffect pt (loc) cr w
| RemoteDetonatorSF <- sf | RemoteDetonatorSF <- sf
, pt == InitialPress = , pt == InitialPress =
return $ activateDetonator ldt w return $ activateDetonator ldt w
@@ -53,12 +53,12 @@ useItemLoc cr loc pt w
, pt == InitialPress , pt == InitialPress
, Just invid' <- itm ^? itLocation . ilInvID = , Just invid' <- itm ^? itLocation . ilInvID =
return $ toggleEquipmentAt invid' cr w return $ toggleEquipmentAt invid' cr w
| otherwise = (\loc' -> useItemLoc cr loc' pt w) =<< locUp loc | otherwise = (\loc' -> useItemLoc cr loc' pt w) =<< locUp' loc
-- ie try location above -- ie try location above
where where
sf = loc ^. locLDT . ldtValue . _2 sf = loc ^. locDT . dtValue . _2
ldt = loc ^. locLDT ldt = loc ^. locDT
itm = ldt ^. ldtValue . _1 itm = ldt ^. dtValue . _1
--chooseUseLocation :: LocationLDT ItemLink OItem -> LocationLDT ItemLink OItem --chooseUseLocation :: LocationLDT ItemLink OItem -> LocationLDT ItemLink OItem
--chooseUseLocation loc --chooseUseLocation loc
@@ -78,9 +78,9 @@ useItemLoc cr loc pt w
-- MapperSF -> True -- MapperSF -> True
-- _ -> False -- _ -> False
activateDetonator :: LDTree ItemLink OItem -> World -> World activateDetonator :: DTree OItem -> World -> World
activateDetonator det = fromMaybe id $ do activateDetonator det = fromMaybe id $ do
pjid <- det ^? ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 pjid <- det ^? dtValue . _1 . itUse . uaParams . apProjectiles . ix 0
return $ cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 0 return $ cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 0
toggleEquipmentAt :: Int -> Creature -> World -> World toggleEquipmentAt :: Int -> Creature -> World -> World
+28 -28
View File
@@ -147,18 +147,18 @@ invRootItemEffs :: Creature -> World -> World
invRootItemEffs cr = invRootItemEffs cr =
appEndo $ appEndo $
foldMap foldMap
(reduceLocLDT (Endo . invItemLocUpdate cr) . LocLDT TopLDT) (reduceLocDT (Endo . invItemLocUpdate cr) . LocDT TopDT)
(invLDT' (_crInv cr)) (invDT' (_crInv cr))
invItemLocUpdate :: Creature -> LocationLDT ItemLink OItem -> World -> World invItemLocUpdate :: Creature -> LocationDT OItem -> World -> World
invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
ATTACH BULLETSYNTH -> trySynthBullet loc w ATTACH BULLETSYNTH -> trySynthBullet loc w
EQUIP WRIST_ECG | haspulse -> tryUseParent (locLDTToLocDT loc) w EQUIP WRIST_ECG | haspulse -> tryUseParent (loc) w
COPIER _ -> copierItemUpdate itm cr w COPIER _ -> copierItemUpdate itm cr w
HELD FLATSHIELD -> rootNotrootEff createShieldWall removeShieldWall itm cr w HELD FLATSHIELD -> rootNotrootEff createShieldWall removeShieldWall itm cr w
HELD MINIGUNX{} -> coolMinigun itm w HELD MINIGUNX{} -> coolMinigun itm w
HELD MACHINEPISTOL{} -> coolMachinePistol cr itm w HELD MACHINEPISTOL{} -> coolMachinePistol cr itm w
HELD LASER | loc ^. locLDT . ldtValue . _2 == WeaponTargetingSF HELD LASER | loc ^. locDT . dtValue . _2 == WeaponTargetingSF
, itm ^? itLocation . ilIsAttached == Just True -> shineTargetLaser cr loc w , itm ^? itLocation . ilIsAttached == Just True -> shineTargetLaser cr loc w
HELD TORCH HELD TORCH
| itm ^? itLocation . ilIsAttached == Just True -> shineTorch cr loc w | itm ^? itLocation . ilIsAttached == Just True -> shineTorch cr loc w
@@ -171,7 +171,7 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
haspulse = haspulse =
w ^? cWorld . lWorld . creatures . ix 0 . crType . avatarPulse . pulseProgress w ^? cWorld . lWorld . creatures . ix 0 . crType . avatarPulse . pulseProgress
== Just 0 == Just 0
itm = loc ^. locLDT . ldtValue . _1 itm = loc ^. locDT . dtValue . _1
coolMinigun :: Item -> World -> World coolMinigun :: Item -> World -> World
coolMinigun itm coolMinigun itm
@@ -219,9 +219,9 @@ copierItemUpdate itm cr w = fromMaybe w $ do
v <- getItemValue itm' w cr v <- getItemValue itm' w cr
return $ w & pointerToItem itm . itUse . uValue .~ v return $ w & pointerToItem itm . itUse . uValue .~ v
doAnyEquipmentEffect :: LocationLDT ItemLink OItem -> Creature -> World -> World doAnyEquipmentEffect :: LocationDT OItem -> Creature -> World -> World
doAnyEquipmentEffect loc cr = maybe id (equipBackgroundEffect loc cr) doAnyEquipmentEffect loc cr = maybe id (equipBackgroundEffect loc cr)
$ loc ^? locLDT . ldtValue . _1 . itLocation . ilEquipSite . _Just $ loc ^? locDT . dtValue . _1 . itLocation . ilEquipSite . _Just
tryUseParent :: LocationDT OItem -> World -> World tryUseParent :: LocationDT OItem -> World -> World
tryUseParent loc w = fromMaybe w $ do tryUseParent loc w = fromMaybe w $ do
@@ -229,13 +229,13 @@ tryUseParent loc w = fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
return $ gadgetEffect InitialPress t cr w return $ gadgetEffect InitialPress t cr w
trySynthBullet :: LocationLDT ItemLink OItem -> World -> World trySynthBullet :: LocationDT OItem -> World -> World
trySynthBullet loc w = fromMaybe w $ do trySynthBullet loc w = fromMaybe w $ do
i <- itm ^? itLocation . ilInvID i <- itm ^? itLocation . ilInvID
x <- itm ^? itUse . uaParams . apInt x <- itm ^? itUse . uaParams . apInt
if x < 100 if x < 100
then do then do
bat <- loc ^? locLDT . ldtLeft . ix 0 . _2 . ldtValue . _1 bat <- loc ^? locDT . dtLeft . ix 0 . dtValue . _1
j <- bat ^? itLocation . ilInvID j <- bat ^? itLocation . ilInvID
y <- bat ^. itConsumables y <- bat ^. itConsumables
guard $ y > 0 guard $ y > 0
@@ -257,7 +257,7 @@ trySynthBullet loc w = fromMaybe w $ do
. _Just . _Just
-~ 1 -~ 1
else do else do
mag <- loc ^? locLdtContext . cldtParent . _1 mag <- loc ^? locDtContext . cdtParent . _1
j <- mag ^? itLocation . ilInvID j <- mag ^? itLocation . ilInvID
y <- mag ^. itConsumables y <- mag ^. itConsumables
ymax <- maxAmmo mag ymax <- maxAmmo mag
@@ -280,24 +280,24 @@ trySynthBullet loc w = fromMaybe w $ do
. _Just . _Just
+~ 1 +~ 1
where where
itm = loc ^. locLDT . ldtValue . _1 itm = loc ^. locDT . dtValue . _1
drawARHUD :: LocationLDT ItemLink OItem -> World -> World drawARHUD :: LocationDT OItem -> World -> World
drawARHUD (LocLDT con _) w = fromMaybe w $ do drawARHUD (LocDT con _) w = fromMaybe w $ do
itm <- con ^? cldtParent . _1 itm <- con ^? cdtParent . _1
return $ return $
w & cWorld . lWorld . flares w & cWorld . lWorld . flares
<>~ fold <>~ fold
(drawTargetingAR itm w <|> drawMapperAR itm w) (drawTargetingAR itm w <|> drawMapperAR itm w)
shineTargetLaser :: Creature -> LocationLDT ItemLink OItem -> World -> World shineTargetLaser :: Creature -> LocationDT OItem -> World -> World
shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ do shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ do
guard (crIsAiming cr) guard (crIsAiming cr)
-- (_, mag) <- find (isammolink . fst) (itmtree ^. ldtLeft) -- (_, mag) <- find (isammolink . fst) (itmtree ^. ldtLeft)
(_, mag) <- find (isammolink . (^. _2 . ldtValue . _2)) (itmtree ^. ldtLeft) ( mag) <- find (isammolink . (^. dtValue . _2)) (itmtree ^. dtLeft)
i <- mag ^. ldtValue . _1 . itConsumables i <- mag ^. dtValue . _1 . itConsumables
guard $ i >= x guard $ i >= x
maginvid <- mag ^? ldtValue . _1 . itLocation . ilInvID maginvid <- mag ^? dtValue . _1 . itLocation . ilInvID
return $ return $
w w
& worldEventFlags . at InventoryChange ?~ () & worldEventFlags . at InventoryChange ?~ ()
@@ -316,33 +316,33 @@ shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ d
, _lpType = TargetingLaser (_itID itm) , _lpType = TargetingLaser (_itID itm)
} }
where where
o = locOrient (locLDTToLocDT loc) cr o = locOrient (loc) cr
itmtree = loc ^. locLDT itmtree = loc ^. locDT
(p, q) = o `Q.comp` (V3 5 0 0, Q.qID) (p, q) = o `Q.comp` (V3 5 0 0, Q.qID)
x = 1 x = 1
isammolink AmmoMagSF{} = True isammolink AmmoMagSF{} = True
isammolink _ = False isammolink _ = False
pos = _crPos cr + xyV3 (rotate3 cdir p) pos = _crPos cr + xyV3 (rotate3 cdir p)
cdir = _crDir cr cdir = _crDir cr
itm = itmtree ^. ldtValue . _1 itm = itmtree ^. dtValue . _1
pointittarg = cWorld . lWorld . creatures . ix cid . crInv . ix invid . itTargeting pointittarg = cWorld . lWorld . creatures . ix cid . crInv . ix invid . itTargeting
cid = _crID cr cid = _crID cr
invid = _ilInvID $ _itLocation itm invid = _ilInvID $ _itLocation itm
col = blue -- mixColors reloadFrac (1-reloadFrac) blue red col = blue -- mixColors reloadFrac (1-reloadFrac) blue red
shineTorch :: Creature -> LocationLDT ItemLink OItem -> World -> World shineTorch :: Creature -> LocationDT OItem -> World -> World
shineTorch cr loc = fromMaybe id $ do shineTorch cr loc = fromMaybe id $ do
(_, mag) <- find (isammolink . (^. _2 . ldtValue . _2)) (itmtree ^. ldtLeft) ( mag) <- find (isammolink . (^. dtValue . _2)) (itmtree ^. dtLeft)
i <- mag ^. ldtValue . _1 . itConsumables i <- mag ^. dtValue . _1 . itConsumables
guard $ crIsAiming cr guard $ crIsAiming cr
guard $ i >= x guard $ i >= x
invid <- mag ^? ldtValue . _1 . itLocation . ilInvID invid <- mag ^? dtValue . _1 . itLocation . ilInvID
return $ return $
(cWorld . lWorld . lights .:~ LSParam pos 250 0.7) (cWorld . lWorld . lights .:~ LSParam pos 250 0.7)
. (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itConsumables . _Just -~ x) . (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itConsumables . _Just -~ x)
where where
itmtree = loc ^. locLDT itmtree = loc ^. locDT
(p, q) = locOrient (locLDTToLocDT loc) cr (p, q) = locOrient (loc) cr
x = 10 x = 10
isammolink AmmoMagSF{} = True isammolink AmmoMagSF{} = True
isammolink _ = False isammolink _ = False
+2 -3
View File
@@ -24,7 +24,6 @@ module Dodge.Creature.Test (
crSafeDistFromTarg, crSafeDistFromTarg,
) where ) where
import Dodge.DoubleTree
import Dodge.Item.Grammar import Dodge.Item.Grammar
import Dodge.Creature.Radius import Dodge.Creature.Radius
import Dodge.Data.Equipment.Misc import Dodge.Data.Equipment.Misc
@@ -97,8 +96,8 @@ crInAimStance as cr = crIsAiming cr && mitstance == Just as
mitstance = do mitstance = do
i <- cr ^? crManipulation . manObject . imRootSelectedItem i <- cr ^? crManipulation . manObject . imRootSelectedItem
--itm <- invRootTrees' (cr ^. crInv) ^? ix i --itm <- invRootTrees' (cr ^. crInv) ^? ix i
itm <- fmap (fmap (\(a,b,_) -> (a,b))) $ invRootTrees (cr ^. crInv) ^? ix i itm <- fmap (fmap (\(a,b,_) -> (a,b))) $ invIMDT (cr ^. crInv) ^? ix i
return $ aimStance $ ldtToDT itm return $ aimStance $ itm
--cr ^? crInv . ix i . itUse . heldAim . aimStance --cr ^? crInv . ix i . itUse . heldAim . aimStance
oneH :: Creature -> Bool oneH :: Creature -> Bool
+1 -1
View File
@@ -162,7 +162,7 @@ updateDisplaySections w cfig =
invitems = invitems =
IM.map IM.map
(uncurry (invSelectionItem w)) (uncurry (invSelectionItem w))
(allInvLocs' $ _crInv cr) (invIndents $ _crInv cr)
filterSectionsPair :: filterSectionsPair ::
Bool -> -- check for whether filter is in focus, changes string at the end Bool -> -- check for whether filter is in focus, changes string at the end
+68
View File
@@ -309,6 +309,12 @@ locLeftmost loc = maybe loc locLeftmost $ alaf First foldMap Just $ locGoLeft lo
locRightmost :: LocationLDT b a -> LocationLDT b a locRightmost :: LocationLDT b a -> LocationLDT b a
locRightmost loc = maybe loc locRightmost $ alaf Last foldMap Just $ locGoRight loc locRightmost loc = maybe loc locRightmost $ alaf Last foldMap Just $ locGoRight loc
locDTLeftmost :: LocationDT a -> LocationDT a
locDTLeftmost loc = maybe loc locDTLeftmost $ alaf First foldMap Just $ locDTGoLeft loc
locDTRightmost :: LocationDT a -> LocationDT a
locDTRightmost loc = maybe loc locDTRightmost $ alaf Last foldMap Just $ locDTGoRight loc
-- should probably do tests for these -- should probably do tests for these
locGoLeft :: LocationLDT b a -> [LocationLDT b a] locGoLeft :: LocationLDT b a -> [LocationLDT b a]
locGoLeft (LocLDT c (LDT v l r)) = locGoLeft (LocLDT c (LDT v l r)) =
@@ -319,6 +325,16 @@ locGoRight :: LocationLDT b a -> [LocationLDT b a]
locGoRight (LocLDT c (LDT v l r)) = locGoRight (LocLDT c (LDT v l r)) =
[LocLDT (RightwardLDT c l closel v link closer) t | (closel, (link, t), closer) <- locGoHelp id r] [LocLDT (RightwardLDT c l closel v link closer) t | (closel, (link, t), closer) <- locGoHelp id r]
-- should probably do tests for these
locDTGoLeft :: LocationDT a -> [LocationDT a]
locDTGoLeft (LocDT c (DT v l r)) =
[LocDT (LeftwardDT c closel v closer r) t | (closel, t, closer) <- locDTGoHelp id l]
-- should probably do tests for these
locDTGoRight :: LocationDT a -> [LocationDT a]
locDTGoRight (LocDT c (DT v l r)) =
[LocDT (RightwardDT c l closel v closer) t | (closel, ( t), closer) <- locDTGoHelp id r]
-- this seems like it might be very inefficient for large lists -- this seems like it might be very inefficient for large lists
-- difference lists? -- difference lists?
locGoHelp :: (a -> b) -> [a] -> [([a], b, [a])] locGoHelp :: (a -> b) -> [a] -> [([a], b, [a])]
@@ -327,6 +343,14 @@ locGoHelp f = go []
go cleft (y : ys) = (cleft, f y, ys) : go (cleft <> [y]) ys go cleft (y : ys) = (cleft, f y, ys) : go (cleft <> [y]) ys
go _ [] = [] go _ [] = []
-- this seems like it might be very inefficient for large lists
-- difference lists?
locDTGoHelp :: (a -> b) -> [a] -> [([a], b, [a])]
locDTGoHelp f = go []
where
go cleft (y : ys) = (cleft, f y, ys) : go (cleft <> [y]) ys
go _ [] = []
-- Propgates a value (of type c) down the branches of the ContextLDT. -- Propgates a value (of type c) down the branches of the ContextLDT.
-- The value is updated according a "left" or "right" function (lf or rf), -- The value is updated according a "left" or "right" function (lf or rf),
-- that acts on the parent value, the link, and the child value. -- that acts on the parent value, the link, and the child value.
@@ -370,3 +394,47 @@ reduceLocLDT :: Monoid m => (LocationLDT b a -> m) -> LocationLDT b a -> m
reduceLocLDT f x = reduceLocLDT f x =
foldMap (reduceLocLDT f) (locGoLeft x) <> f x foldMap (reduceLocLDT f) (locGoLeft x) <> f x
<> foldMap (reduceLocLDT f) (locGoRight x) <> foldMap (reduceLocLDT f) (locGoRight x)
reduceLocDT :: Monoid m => (LocationDT a -> m) -> LocationDT a -> m
reduceLocDT f x =
foldMap (reduceLocDT f) (locDTGoLeft x) <> f x
<> foldMap (reduceLocDT f) (locDTGoRight x)
-- Propgates a value (of type c) down the branches of the ContextLDT.
-- The value is updated according a "left" or "right" function (lf or rf),
-- that acts on the parent value and the child value.
-- For each context node, the updated value is used to update a final value (of type d).
cdtPropagateFold ::
(c -> a -> a -> c) ->
(c -> a -> a -> c) ->
(c -> LocationDT a -> d -> d) ->
c ->
LocationDT a ->
d ->
d
cdtPropagateFold lf rf up x loc =
alaf
Endo
foldMap
( \(LocDT con' t') ->
cdtPropagateFold
lf
rf
up
(lf x (_cdtParent con') (_dtValue t'))
(LocDT con' t')
)
(locDTGoLeft loc)
. alaf
Endo
foldMap
( \(LocDT con' t') ->
cdtPropagateFold
lf
rf
up
(rf x (_cdtParent con') (_dtValue t'))
(LocDT con' t')
)
(locDTGoRight loc)
. up x loc
+2 -2
View File
@@ -12,7 +12,7 @@ import Dodge.Wall.Move
import Geometry import Geometry
import LensHelp import LensHelp
equipBackgroundEffect :: LocationLDT ItemLink OItem -> Creature -> EquipSite equipBackgroundEffect :: LocationDT OItem -> Creature -> EquipSite
-> World -> World -> World -> World
equipBackgroundEffect loc cr = case eo of equipBackgroundEffect loc cr = case eo of
EQUIP (MAGSHIELD mt) -> const $ useMagShield mt itm cr EQUIP (MAGSHIELD mt) -> const $ useMagShield mt itm cr
@@ -20,7 +20,7 @@ equipBackgroundEffect loc cr = case eo of
EQUIP HEADLAMP -> const $ createHeadLamp itm cr EQUIP HEADLAMP -> const $ createHeadLamp itm cr
_ -> const id _ -> const id
where where
itm = loc ^. locLDT . ldtValue . _1 itm = loc ^. locDT . dtValue . _1
eo = itm ^. itType eo = itm ^. itType
-- this should probably drain energy -- this should probably drain energy
-1
View File
@@ -107,7 +107,6 @@ hammerCheck f pt loc cr w = case itemTriggerType loc of
NoTrigger -> f loc cr w NoTrigger -> f loc cr w
_ -> w _ -> w
where where
tree = loc ^. locDT
it = loc ^. locDT . dtValue . _1 it = loc ^. locDT . dtValue . _1
cid = _crID cr cid = _crID cr
-- the following is unsafe, but if ilInvID isn't correctly set we probably -- the following is unsafe, but if ilInvID isn't correctly set we probably
+1 -1
View File
@@ -54,7 +54,7 @@ crSetRoots cid w = fromMaybe w $ do
dropMissing dropMissing
preserveMissing preserveMissing
(zipWithMatched f) (zipWithMatched f)
(invRootTrees inv) (invIMDT inv)
where where
f _ _ = itLocation . ilIsRoot .~ True f _ _ = itLocation . ilIsRoot .~ True
+3 -2
View File
@@ -29,7 +29,7 @@ import NewInt
import Padding import Padding
import Picture.Base import Picture.Base
invSelectionItem :: World -> Int -> LocationLDT ItemLink CItem -> SelectionItem () invSelectionItem :: World -> Int -> LocationDT OItem -> SelectionItem ()
invSelectionItem w indent loc = invSelectionItem w indent loc =
SelectionItem SelectionItem
{ _siPictures = itemDisplay w cr ci { _siPictures = itemDisplay w cr ci
@@ -41,7 +41,8 @@ invSelectionItem w indent loc =
, _siPayload = () , _siPayload = ()
} }
where where
ci = loc ^. locLDT . ldtValue ci = (a,b)
(a,b,_) = loc ^. locDT . dtValue
cr = w ^?! cWorld . lWorld . creatures . ix 0 cr = w ^?! cWorld . lWorld . creatures . ix 0
-- note the convoluted display of the hotkey/equipment, this was done to avoid a -- note the convoluted display of the hotkey/equipment, this was done to avoid a
+6 -6
View File
@@ -65,15 +65,15 @@ checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World
checkConnection so s i j w = fromMaybe w $ do checkConnection so s i j w = fromMaybe w $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos
let locs = allInvLocs inv let locs = invIndents inv -- why indents?
iit <- locs ^? ix i . _2 iit <- locs ^? ix i . _2
jit <- locs ^? ix j . _2 jit <- locs ^? ix j . _2
guard $ isConnected iit || isConnected jit guard $ isConnected iit || isConnected jit
return $ soundStart so cpos s Nothing w return $ soundStart so cpos s Nothing w
isConnected :: LocationLDT b a -> Bool isConnected :: LocationDT a -> Bool
isConnected x = case x ^. locLdtContext of isConnected x = case x ^. locDtContext of
TopLDT -> TopDT ->
not (null $ x ^. locLDT . ldtRight) not (null $ x ^. locDT . dtRight)
|| not (null $ x ^. locLDT . ldtLeft) || not (null $ x ^. locDT . dtLeft)
_ -> True _ -> True
+78 -48
View File
@@ -2,14 +2,14 @@
module Dodge.Item.Grammar ( module Dodge.Item.Grammar (
invDT, invDT,
invLDT, invLDT,
invLDT', invDT',
invAdj, invAdj,
invRootMap, invRootMap,
invRootTrees, -- invRootTrees,
invRootTrees', invIMDT,
baseCI, baseCI,
allInvLocs, invIndents,
allInvLocs', -- allInvLocs,
) where ) where
import Dodge.Item.Orientation import Dodge.Item.Orientation
@@ -256,8 +256,11 @@ invDT = fmap ldtToDT .
joinItemsInList tryAttachItems . IM.elems joinItemsInList tryAttachItems . IM.elems
. fmap (singleLDT . baseCI) . fmap (singleLDT . baseCI)
invLDT' :: IM.IntMap Item -> [LDTree ItemLink OItem] --invLDT' :: IM.IntMap Item -> [LDTree ItemLink OItem]
invLDT' = fmap propagateOrientation . invLDT --invLDT' = fmap propagateOrientation . invLDT
invDT' :: IM.IntMap Item -> [DTree OItem]
invDT' = fmap propagateOrientation' . invDT
-- this assumes the creature inventory is well formed, specifically the -- this assumes the creature inventory is well formed, specifically the
-- location ids -- location ids
@@ -283,57 +286,84 @@ invAdj = IM.unions . map g . invLDT
(error ("invAdj item " ++ show (_itID itm) ++ " location: " ++ show (itm ^? itLocation))) (error ("invAdj item " ++ show (_itID itm) ++ " location: " ++ show (itm ^? itLocation)))
$ itm ^? itLocation . ilInvID $ itm ^? itLocation . ilInvID
-- returns an intmap with trees for (only!) root items, indexed by inventory position ---- returns an intmap with trees for (only!) root items, indexed by inventory position
invRootTrees :: IM.IntMap Item -> IM.IntMap (LDTree ItemLink OItem) --invRootTrees :: IM.IntMap Item -> IM.IntMap (LDTree ItemLink OItem)
invRootTrees = fmap propagateOrientation . IM.fromDistinctAscList . reverse . map getid . invLDT --invRootTrees = fmap propagateOrientation . IM.fromDistinctAscList . reverse . map getid . invLDT
where -- where
getid :: LDTree ItemLink CItem -> (Int, LDTree ItemLink CItem) -- getid :: LDTree ItemLink CItem -> (Int, LDTree ItemLink CItem)
getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t) -- getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t)
invRootTrees' :: IM.IntMap Item -> IM.IntMap (LDTree ItemLink CItem) invIMDT :: IM.IntMap Item -> IM.IntMap (DTree OItem)
invRootTrees' = IM.fromDistinctAscList . reverse . map getid . invLDT invIMDT = fmap propagateOrientation' . IM.fromDistinctAscList . reverse . map getid . invDT
where where
getid :: LDTree ItemLink CItem -> (Int, LDTree ItemLink CItem) getid :: DTree CItem -> (Int, DTree CItem)
getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t) getid t = (t ^?! dtValue . _1 . itLocation . ilInvID, t)
-- returns an intmap with indents and locations for all items --invRootTrees' :: IM.IntMap Item -> IM.IntMap (LDTree ItemLink CItem)
allInvLocs :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink OItem) --invRootTrees' = IM.fromDistinctAscList . reverse . map getid . invLDT
allInvLocs inv = foldMap (f . LocLDT TopLDT) (IM.elems (invRootTrees inv)) mempty -- where
-- getid :: LDTree ItemLink CItem -> (Int, LDTree ItemLink CItem)
-- getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t)
invIndents :: IM.IntMap Item -> IM.IntMap (Int, LocationDT OItem)
invIndents inv = foldMap (f . LocDT TopDT) (IM.elems (invIMDT inv)) mempty
where where
f t = cldtPropagateFold h h g 0 t id f t = cdtPropagateFold h h g 0 t id
h x _ _ _ = x + 1 h x _ _ = x + 1
g :: g ::
Int -> Int ->
LocationLDT ItemLink OItem -> LocationDT OItem ->
( IM.IntMap (Int, LocationLDT ItemLink OItem) -> ( IM.IntMap (Int, LocationDT OItem) ->
IM.IntMap (Int, LocationLDT ItemLink OItem) IM.IntMap (Int, LocationDT OItem)
) -> ) ->
IM.IntMap (Int, LocationLDT ItemLink OItem) -> IM.IntMap (Int, LocationDT OItem) ->
IM.IntMap (Int, LocationLDT ItemLink OItem) IM.IntMap (Int, LocationDT OItem)
g x ldt = g x ldt =
(.) (.)
( IM.insert ( IM.insert
(ldt ^?! locLDT . ldtValue . _1 . itLocation . ilInvID) (ldt ^?! locDT . dtValue . _1 . itLocation . ilInvID)
(x, ldt) (x, ldt)
) )
-- returns an intmap with indents and locations for all items
allInvLocs' :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink CItem) ---- returns an intmap with indents and locations for all items
allInvLocs' inv = foldMap (f . LocLDT TopLDT) (IM.elems (invRootTrees' inv)) mempty --allInvLocs :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink OItem)
where --allInvLocs inv = foldMap (f . LocLDT TopLDT) (IM.elems (invRootTrees inv)) mempty
f t = cldtPropagateFold h h g 0 t id -- where
h x _ _ _ = x + 1 -- f t = cldtPropagateFold h h g 0 t id
g :: -- h x _ _ _ = x + 1
Int -> -- g ::
LocationLDT ItemLink CItem -> -- Int ->
( IM.IntMap (Int, LocationLDT ItemLink CItem) -> -- LocationLDT ItemLink OItem ->
IM.IntMap (Int, LocationLDT ItemLink CItem) -- ( IM.IntMap (Int, LocationLDT ItemLink OItem) ->
) -> -- IM.IntMap (Int, LocationLDT ItemLink OItem)
IM.IntMap (Int, LocationLDT ItemLink CItem) -> -- ) ->
IM.IntMap (Int, LocationLDT ItemLink CItem) -- IM.IntMap (Int, LocationLDT ItemLink OItem) ->
g x ldt = -- IM.IntMap (Int, LocationLDT ItemLink OItem)
(.) -- g x ldt =
( IM.insert -- (.)
(ldt ^?! locLDT . ldtValue . _1 . itLocation . ilInvID) -- ( IM.insert
(x, ldt) -- (ldt ^?! locLDT . ldtValue . _1 . itLocation . ilInvID)
) -- (x, ldt)
-- )
---- returns an intmap with indents and locations for all items
--allInvLocs' :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink CItem)
--allInvLocs' inv = foldMap (f . LocLDT TopLDT) (IM.elems (invRootTrees' inv)) mempty
-- where
-- f t = cldtPropagateFold h h g 0 t id
-- h x _ _ _ = x + 1
-- g ::
-- Int ->
-- LocationLDT ItemLink CItem ->
-- ( IM.IntMap (Int, LocationLDT ItemLink CItem) ->
-- IM.IntMap (Int, LocationLDT ItemLink CItem)
-- ) ->
-- IM.IntMap (Int, LocationLDT ItemLink CItem) ->
-- IM.IntMap (Int, LocationLDT ItemLink CItem)
-- g x ldt =
-- (.)
-- ( IM.insert
-- (ldt ^?! locLDT . ldtValue . _1 . itLocation . ilInvID)
-- (x, ldt)
-- )
+1
View File
@@ -1,6 +1,7 @@
module Dodge.Item.Orientation ( module Dodge.Item.Orientation (
orientAttachment, orientAttachment,
propagateOrientation, propagateOrientation,
propagateOrientation',
) where ) where
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
+4 -4
View File
@@ -94,11 +94,11 @@ drawRootCursor w sss msel ldp cfig = fromMaybe mempty $ do
getRootItemBounds :: Int -> IM.IntMap Item -> Maybe (Int, Int) getRootItemBounds :: Int -> IM.IntMap Item -> Maybe (Int, Int)
getRootItemBounds i inv = do getRootItemBounds i inv = do
let ia = allInvLocs inv let ia = invIndents inv -- why indents? why OItem?
itm <- ia ^? ix i . _2 itm <- ia ^? ix i . _2
let root = locToTop itm let root = locToTop' itm
x <- locRightmost root ^? locLDT . ldtValue . _1 . itLocation . ilInvID x <- locDTRightmost root ^? locDT . dtValue . _1 . itLocation . ilInvID
y <- locLeftmost root ^? locLDT . ldtValue . _1 . itLocation . ilInvID y <- locDTLeftmost root ^? locDT . dtValue . _1 . itLocation . ilInvID
return (x, y) return (x, y)
drawMouseOver :: Configuration -> World -> Picture drawMouseOver :: Configuration -> World -> Picture
+3 -3
View File
@@ -5,7 +5,7 @@ module Dodge.WorldEffect (
lineOutputTerminal, lineOutputTerminal,
) where ) where
import Dodge.DoubleTree --import Dodge.DoubleTree
import Dodge.Item.Grammar import Dodge.Item.Grammar
import Dodge.Creature.Impulse.UseItem import Dodge.Creature.Impulse.UseItem
import Dodge.BlBl import Dodge.BlBl
@@ -46,8 +46,8 @@ doWdWd we = case we of
WdWdBurstFireRepetition cid invid -> \w -> fromMaybe w $ do WdWdBurstFireRepetition cid invid -> \w -> fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix cid cr <- w ^? cWorld . lWorld . creatures . ix cid
--itree <- allInvLocs (cr ^. crInv) ^? ix invid . _2 . locLDT --itree <- allInvLocs (cr ^. crInv) ^? ix invid . _2 . locLDT
loc <- allInvLocs (cr ^. crInv) ^? ix invid . _2 loc <- invIndents (cr ^. crInv) ^? ix invid . _2
return $ heldEffectMuzzles (locLDTToLocDT loc) cr w return $ heldEffectMuzzles (loc) cr w
accessTerminal :: Maybe Int -> World -> World accessTerminal :: Maybe Int -> World -> World
accessTerminal mtmid w = fromMaybe w $ do accessTerminal mtmid w = fromMaybe w $ do
+146 -142
View File
@@ -969,7 +969,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 34;" C LDT src/Dodge/Data/DoubleTree.hs 34;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C
LDTComb src/Dodge/Item/Grammar.hs 197;" t LDTComb src/Dodge/Item/Grammar.hs 196;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 27;" C LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 28;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 28;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 25;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 25;" C
@@ -3293,7 +3293,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 51;" f accessTerminal src/Dodge/WorldEffect.hs 52;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 81;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 81;" 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
@@ -3348,8 +3348,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 300;" f allInvLocs src/Dodge/Item/Grammar.hs 329;" f
allInvLocs' src/Dodge/Item/Grammar.hs 321;" 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
@@ -3365,21 +3364,21 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
applyCME src/Dodge/HeldUse.hs 397;" f applyCME src/Dodge/HeldUse.hs 395;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 464;" f applyInvLock src/Dodge/HeldUse.hs 462;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 132;" f applyPastDamages src/Dodge/Creature/State.hs 132;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 496;" f applyRecoil src/Dodge/HeldUse.hs 494;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 598;" f applySidePush src/Dodge/HeldUse.hs 596;" f
applySoundCME src/Dodge/HeldUse.hs 486;" f applySoundCME src/Dodge/HeldUse.hs 484;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -3387,7 +3386,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 609;" f applyTorqueCME src/Dodge/HeldUse.hs 607;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -3450,7 +3449,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 405;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 405;" 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 194;" f baseCI src/Dodge/Item/Grammar.hs 193;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 311;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 311;" 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
@@ -3461,7 +3460,7 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 382;" f
baseShoulder src/Dodge/Creature/Picture.hs 125;" f baseShoulder src/Dodge/Creature/Picture.hs 125;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 288;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 288;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 281;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 281;" f
baseStickSpread src/Dodge/HeldUse.hs 292;" f baseStickSpread src/Dodge/HeldUse.hs 290;" f
baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
@@ -3471,7 +3470,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 750;" f basicMuzFlare src/Dodge/HeldUse.hs 746;" f
basicTerminal src/Dodge/Terminal.hs 35;" f basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3479,8 +3478,8 @@ belowNumX src/Dodge/Combine/Graph.hs 86;" f
beltMag src/Dodge/Item/Ammo.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsNodePoints src/Dodge/Path.hs 58;" f bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 114;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 552;" f bgunSound src/Dodge/HeldUse.hs 550;" f
bindFBO src/Render.hs 244;" f bindFBO src/Render.hs 244;" f
bingate src/Dodge/Item/Scope.hs 109;" f bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f black src/Color.hs 27;" f
@@ -3536,7 +3535,7 @@ branchWith src/Dodge/Room/Room.hs 67;" f
bright src/Color.hs 120;" f bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 106;" f btSPic src/Dodge/Render/ShapePicture.hs 106;" f
btText src/Dodge/Inventory/SelectionList.hs 233;" f btText src/Dodge/Inventory/SelectionList.hs 234;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 36;" f bufferShaderLayers src/Shader/Bind.hs 36;" f
@@ -3622,7 +3621,7 @@ clampPath src/Dodge/Room/Procedural.hs 166;" f
clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f
clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 334;" f cldtPropagateFold src/Dodge/DoubleTree.hs 352;" f
cleanUpPreload src/Preload.hs 10;" f cleanUpPreload src/Preload.hs 10;" f
cleanUpRenderPreload src/Preload/Render.hs 217;" f cleanUpRenderPreload src/Preload/Render.hs 217;" f
cleanUpSoundPreload src/Preload.hs 15;" f cleanUpSoundPreload src/Preload.hs 15;" f
@@ -3636,9 +3635,9 @@ clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 47;" f clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 222;" f clipZoom src/Dodge/Update/Camera.hs 222;" f
clockCycle src/Dodge/Clock.hs 9;" f clockCycle src/Dodge/Clock.hs 9;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 219;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 220;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 204;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 239;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 240;" f
closeObjectInfo src/Dodge/Render/HUD.hs 224;" f closeObjectInfo src/Dodge/Render/HUD.hs 224;" f
closestCreatureID src/Dodge/Debug.hs 116;" f closestCreatureID src/Dodge/Debug.hs 116;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f
@@ -3716,24 +3715,24 @@ corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f corridorN src/Dodge/Room/Corridor.hs 52;" f
corridorWallN src/Dodge/Room/Corridor.hs 71;" f corridorWallN src/Dodge/Room/Corridor.hs 71;" f
crAdd src/Dodge/Room/RezBox.hs 104;" f crAdd src/Dodge/Room/RezBox.hs 104;" f
crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crAwayFromPost src/Dodge/Creature/Test.hs 82;" f
crBlips src/Dodge/RadarSweep.hs 87;" f crBlips src/Dodge/RadarSweep.hs 87;" f
crCamouflage src/Dodge/Creature/Picture.hs 31;" f crCamouflage src/Dodge/Creature/Picture.hs 31;" f
crCanSeeCr src/Dodge/Creature/Test.hs 52;" f crCanSeeCr src/Dodge/Creature/Test.hs 51;" f
crCrSpring src/Dodge/Update.hs 814;" f crCrSpring src/Dodge/Update.hs 814;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 57;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 57;" f
crDexterity src/Dodge/Creature/Statistics.hs 14;" f crDexterity src/Dodge/Creature/Statistics.hs 14;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f
crHasTarget src/Dodge/Creature/Test.hs 65;" f crHasTarget src/Dodge/Creature/Test.hs 64;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 68;" f crHasTargetLOS src/Dodge/Creature/Test.hs 67;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 64;" f crHit src/Dodge/WorldEvent/ThingsHit.hs 64;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
crInAimStance src/Dodge/Creature/Test.hs 94;" f crInAimStance src/Dodge/Creature/Test.hs 93;" f
crIntelligence src/Dodge/Creature/Statistics.hs 34;" f crIntelligence src/Dodge/Creature/Statistics.hs 34;" f
crIsAiming src/Dodge/Creature/Test.hs 60;" f crIsAiming src/Dodge/Creature/Test.hs 59;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 116;" f crIsArmouredFrom src/Dodge/Creature/Test.hs 115;" f
crMass src/Dodge/Creature/Mass.hs 5;" f crMass src/Dodge/Creature/Mass.hs 5;" f
crMaterial src/Dodge/Creature/Material.hs 8;" f crMaterial src/Dodge/Creature/Material.hs 8;" f
crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f
@@ -3741,15 +3740,15 @@ crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 27;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 41;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 41;" f
crMvType src/Dodge/Creature/MoveType.hs 6;" f crMvType src/Dodge/Creature/MoveType.hs 6;" f
crNearPoint src/Dodge/Creature/Test.hs 142;" f crNearPoint src/Dodge/Creature/Test.hs 141;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 23;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 23;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f
crRad src/Dodge/Creature/Radius.hs 7;" f crRad src/Dodge/Creature/Radius.hs 7;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 73;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 72;" f
crSetRoots src/Dodge/Inventory/Location.hs 48;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f
crShape src/Dodge/Creature/Shape.hs 8;" f crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 809;" f crSpring src/Dodge/Update.hs 809;" f
crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 24;" f crStrength src/Dodge/Creature/Statistics.hs 24;" f
crUpdate src/Dodge/Creature/State.hs 64;" f crUpdate src/Dodge/Creature/State.hs 64;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
@@ -3769,14 +3768,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 90;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1322;" f createProjectile src/Dodge/HeldUse.hs 1317;" f
createProjectileR src/Dodge/HeldUse.hs 1271;" f createProjectileR src/Dodge/HeldUse.hs 1266;" f
createShell src/Dodge/Projectile/Create.hs 22;" f createShell src/Dodge/Projectile/Create.hs 22;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 868;" f creatureShootLaser src/Dodge/HeldUse.hs 864;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3847,7 +3846,7 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 295;" f dbwMuzzles src/Dodge/HeldUse.hs 293;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f deadEndRoom src/Dodge/Room/Room.hs 235;" f
@@ -3965,7 +3964,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1240;" f determineProjectileTracking src/Dodge/HeldUse.hs 1236;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f diffAngles src/Geometry.hs 204;" f
@@ -3984,7 +3983,7 @@ displayControls src/Dodge/Menu.hs 223;" f
displayFrameTicks src/Dodge/Render/Picture.hs 45;" f displayFrameTicks src/Dodge/Render/Picture.hs 45;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 175;" f displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f
displayTerminalLineString src/Dodge/Update.hs 452;" f displayTerminalLineString src/Dodge/Update.hs 452;" f
dist src/Geometry/Vector.hs 190;" f dist src/Geometry/Vector.hs 190;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
@@ -4015,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 128;" f doDamage src/Dodge/Creature/State.hs 128;" f
doDeathToggle src/Dodge/WorldEffect.hs 90;" f doDeathToggle src/Dodge/WorldEffect.hs 91;" f
doDeathTriggers src/Dodge/WorldEffect.hs 85;" 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
@@ -4030,9 +4029,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1191;" f doGenFloat src/Dodge/HeldUse.hs 1187;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 326;" f doHeldUseEffect src/Dodge/HeldUse.hs 324;" f
doInPlacements src/Dodge/Layout.hs 92;" f doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -4066,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 93;" 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
@@ -4074,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 98;" 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 26;" 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
@@ -4224,7 +4223,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 125;" f dropAll src/Dodge/Creature/State.hs 125;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1415;" f dropInventoryPath src/Dodge/HeldUse.hs 1410;" f
dropItem src/Dodge/Creature/Action.hs 172;" f dropItem src/Dodge/Creature/Action.hs 172;" f
dropper src/Dodge/Item/Scope.hs 76;" f dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 33;" f drumMag src/Dodge/Item/Ammo.hs 33;" f
@@ -4272,7 +4271,7 @@ endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f
endRegex src/Dodge/Update/Input/InGame.hs 254;" f endRegex src/Dodge/Update/Input/InGame.hs 254;" f
energyBallAt src/Dodge/EnergyBall.hs 64;" f energyBallAt src/Dodge/EnergyBall.hs 64;" f
enterCombineInv src/Dodge/DisplayInventory.hs 323;" f enterCombineInv src/Dodge/DisplayInventory.hs 323;" f
epText src/Dodge/Inventory/SelectionList.hs 75;" f epText src/Dodge/Inventory/SelectionList.hs 76;" f
eqConstr src/SameConstr.hs 17;" f eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f eqSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
@@ -4308,8 +4307,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 126;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 125;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 135;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 134;" 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
@@ -4341,7 +4340,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 298;" f flameMuzzles src/Dodge/HeldUse.hs 296;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f flameSize src/Dodge/Flame/Size.hs 5;" f
flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
@@ -4349,7 +4348,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 385;" f flamerPic src/Dodge/Item/Draw/SPic.hs 385;" f
flareCircleAt src/Dodge/HeldUse.hs 731;" f flareCircleAt src/Dodge/HeldUse.hs 727;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -4409,14 +4408,14 @@ fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 33;" f g src/ShortShow.hs 33;" f
gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 46;" f gadgetEffect src/Dodge/HeldUse.hs 45;" f
gameOverMenu src/Dodge/Menu.hs 187;" f gameOverMenu src/Dodge/Menu.hs 187;" f
gameRoomFromRoom src/Dodge/Layout.hs 161;" f gameRoomFromRoom src/Dodge/Layout.hs 161;" f
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1147;" f gasType src/Dodge/HeldUse.hs 1143;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4428,14 +4427,14 @@ 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 142;" f getAmmoLinks src/Dodge/Item/Grammar.hs 141;" 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 803;" f getAttachedSFLink src/Dodge/HeldUse.hs 799;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 121;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 120;" 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 931;" f getBulletType src/Dodge/HeldUse.hs 927;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4443,17 +4442,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 411;" f getDistortions src/Dodge/Render.hs 411;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1310;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1305;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f
getLaserColor src/Dodge/HeldUse.hs 747;" f getLaserColor src/Dodge/HeldUse.hs 743;" f
getLaserDamage src/Dodge/HeldUse.hs 744;" f getLaserDamage src/Dodge/HeldUse.hs 740;" f
getLaserPhaseV src/Dodge/HeldUse.hs 741;" f getLaserPhaseV src/Dodge/HeldUse.hs 737;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 392;" f getMenuMouseContext src/Dodge/Update.hs 392;" f
getNodePos src/Dodge/Path.hs 31;" f getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1297;" f getPJStabiliser src/Dodge/HeldUse.hs 1292;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -4463,7 +4462,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f getTiles src/Dodge/Layout.hs 208;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 123;" f getVolleyBurst src/Dodge/HeldUse.hs 121;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f gimbal src/Dodge/Item/Scope.hs 153;" f
@@ -4513,7 +4512,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 64;" f hammerCheck src/Dodge/HeldUse.hs 63;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 62;" f handHandleOrient src/Dodge/Item/HeldOffset.hs 62;" f
handOrient src/Dodge/Item/HeldOffset.hs 38;" f handOrient src/Dodge/Item/HeldOffset.hs 38;" f
handleEvent src/Dodge/Event.hs 27;" f handleEvent src/Dodge/Event.hs 27;" f
@@ -4530,7 +4529,7 @@ handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 32;" f hardQuit src/Dodge/Concurrent.hs 32;" f
hasButtonLOS src/Dodge/Base/Collide.hs 211;" f hasButtonLOS src/Dodge/Base/Collide.hs 211;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasFrontArmour src/Dodge/Creature/Test.hs 119;" f hasFrontArmour src/Dodge/Creature/Test.hs 118;" f
hasLOS src/Dodge/Base/Collide.hs 204;" f hasLOS src/Dodge/Base/Collide.hs 204;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 219;" f hasLOSIndirect src/Dodge/Base/Collide.hs 219;" f
hat src/Dodge/Item/Equipment.hs 76;" f hat src/Dodge/Item/Equipment.hs 76;" f
@@ -4546,20 +4545,20 @@ healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 23;" f heldAimStance src/Dodge/Item/AimStance.hs 23;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 61;" f heldEffect src/Dodge/HeldUse.hs 60;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 128;" f heldEffectMuzzles src/Dodge/HeldUse.hs 126;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f
heldInfo src/Dodge/Item/Info.hs 90;" f heldInfo src/Dodge/Item/Info.hs 90;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f
heldItemInvLock src/Dodge/HeldUse.hs 479;" f heldItemInvLock src/Dodge/HeldUse.hs 477;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1028;" f heldItemMuzVel src/Dodge/HeldUse.hs 1024;" f
heldItemMuzzles src/Dodge/HeldUse.hs 157;" f heldItemMuzzles src/Dodge/HeldUse.hs 155;" f
heldItemRifling src/Dodge/HeldUse.hs 1072;" f heldItemRifling src/Dodge/HeldUse.hs 1068;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 625;" f heldTorqueAmount src/Dodge/HeldUse.hs 623;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 23;" f heldTriggerType src/Dodge/BaseTriggerType.hs 23;" f
helpCommand src/Dodge/Terminal.hs 66;" f helpCommand src/Dodge/Terminal.hs 66;" f
helpPoly3D src/Polyhedra.hs 125;" f helpPoly3D src/Polyhedra.hs 125;" f
@@ -4575,9 +4574,9 @@ holdForm src/Dodge/Creature/Boid.hs 137;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
homingModule src/Dodge/Item/Scope.hs 48;" f homingModule src/Dodge/Item/Scope.hs 48;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 184;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 75;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 75;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 181;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
humanoidAIList src/Dodge/Humanoid.hs 182;" f humanoidAIList src/Dodge/Humanoid.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
@@ -4645,21 +4644,22 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 311;" f intervalList src/Geometry.hs 311;" f
interweave src/Justify.hs 17;" f 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 80;" 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 277;" f invAdj src/Dodge/Item/Grammar.hs 279;" 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
invDT src/Dodge/Item/Grammar.hs 254;" f invDT src/Dodge/Item/Grammar.hs 253;" f
invDT' src/Dodge/Item/Grammar.hs 261;" 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
invIMDT src/Dodge/Item/Grammar.hs 295;" f
invIndents src/Dodge/Item/Grammar.hs 307;" f
invItemLocUpdate src/Dodge/Creature/State.hs 153;" f invItemLocUpdate src/Dodge/Creature/State.hs 153;" f
invLDT src/Dodge/Item/Grammar.hs 249;" f invLDT src/Dodge/Item/Grammar.hs 248;" f
invLDT' src/Dodge/Item/Grammar.hs 259;" f
invRootItemEffs src/Dodge/Creature/State.hs 146;" f invRootItemEffs src/Dodge/Creature/State.hs 146;" f
invRootMap src/Dodge/Item/Grammar.hs 266;" f invRootMap src/Dodge/Item/Grammar.hs 268;" f
invRootTrees src/Dodge/Item/Grammar.hs 287;" f invRootTrees src/Dodge/Item/Grammar.hs 289;" f
invRootTrees' src/Dodge/Item/Grammar.hs 293;" 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
@@ -4676,8 +4676,8 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 757;" f isAmmoIntLink src/Dodge/HeldUse.hs 753;" f
isAnimate src/Dodge/Creature/Test.hs 145;" f isAnimate src/Dodge/Creature/Test.hs 144;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f isConnected src/Dodge/Inventory/Swap.hs 74;" f
isElectrical src/Dodge/Machine/Update.hs 80;" f isElectrical src/Dodge/Machine/Update.hs 80;" f
@@ -4713,10 +4713,10 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 812;" f itemDetectorEffect src/Dodge/HeldUse.hs 808;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
itemFromAmmoMag src/Dodge/Item.hs 41;" f itemFromAmmoMag src/Dodge/Item.hs 41;" f
itemFromAttachType src/Dodge/Item.hs 50;" f itemFromAttachType src/Dodge/Item.hs 50;" f
itemFromBase src/Dodge/Item.hs 18;" f itemFromBase src/Dodge/Item.hs 18;" f
@@ -4725,20 +4725,20 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 34;" f itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 474;" f itemInvLock src/Dodge/HeldUse.hs 472;" f
itemMuzzles src/Dodge/HeldUse.hs 142;" f itemMuzzles src/Dodge/HeldUse.hs 140;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
itemScan src/Dodge/Item/Scope.hs 63;" f itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f
itemSidePush src/Dodge/HeldUse.hs 420;" f itemSidePush src/Dodge/HeldUse.hs 418;" f
itemString src/Dodge/Item/Display.hs 56;" f itemString src/Dodge/Item/Display.hs 56;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 56;" f itemToBreakLists src/Dodge/Item/Grammar.hs 55;" f
itemToBreakLists' src/Dodge/Item/Grammar.hs 65;" f itemToBreakLists' src/Dodge/Item/Grammar.hs 64;" f
itemToFunction src/Dodge/Item/Grammar.hs 148;" f itemToFunction src/Dodge/Item/Grammar.hs 147;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 15;" f itemTriggerType src/Dodge/BaseTriggerType.hs 15;" f
itemWeight src/Dodge/Creature/Statistics.hs 66;" f itemWeight src/Dodge/Creature/Statistics.hs 66;" f
@@ -4750,7 +4750,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 239;" f joinItemsInList src/Dodge/Item/Grammar.hs 238;" 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
@@ -4800,10 +4800,10 @@ ldtToIM src/Dodge/DoubleTree.hs 219;" f
ldtToIndentList src/Dodge/DoubleTree.hs 222;" f ldtToIndentList src/Dodge/DoubleTree.hs 222;" f
ldtToLoc src/Dodge/DoubleTree.hs 268;" f ldtToLoc src/Dodge/DoubleTree.hs 268;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 213;" f leftChildList src/Dodge/Item/Grammar.hs 212;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 199;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 198;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 225;" f leftRightCombine src/Dodge/Item/Grammar.hs 224;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 475;" f legsSPic src/Dodge/Item/Draw/SPic.hs 475;" 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
@@ -4818,7 +4818,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 73;" 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
@@ -4837,7 +4837,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 670;" f loadMuzzle src/Dodge/HeldUse.hs 667;" f
loadSaveSlot src/Dodge/Save.hs 74;" f loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4845,7 +4845,10 @@ loadSounds src/Dodge/SoundLogic/LoadSound.hs 18;" f
loadingScreen src/Dodge/Concurrent.hs 56;" f loadingScreen src/Dodge/Concurrent.hs 56;" f
loadingScreen src/Dodge/Menu/Loading.hs 8;" f loadingScreen src/Dodge/Menu/Loading.hs 8;" f
loadme src/Dodge/Debug/Terminal.hs 139;" f loadme src/Dodge/Debug/Terminal.hs 139;" f
locGoHelp src/Dodge/DoubleTree.hs 324;" f locDTGoHelp src/Dodge/DoubleTree.hs 342;" f
locDTGoLeft src/Dodge/DoubleTree.hs 323;" f
locDTGoRight src/Dodge/DoubleTree.hs 328;" f
locGoHelp src/Dodge/DoubleTree.hs 334;" f
locGoLeft src/Dodge/DoubleTree.hs 313;" f locGoLeft src/Dodge/DoubleTree.hs 313;" f
locGoRight src/Dodge/DoubleTree.hs 318;" f locGoRight src/Dodge/DoubleTree.hs 318;" f
locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f
@@ -4884,7 +4887,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 952;" f magAmmoParams src/Dodge/HeldUse.hs 948;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f magV src/Geometry/Vector.hs 171;" f
@@ -4899,7 +4902,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1009;" f makeBullet src/Dodge/HeldUse.hs 1005;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4925,7 +4928,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 691;" f makeMuzzleFlare src/Dodge/HeldUse.hs 687;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4980,11 +4983,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 111;" f mcSPic src/Dodge/Render/ShapePicture.hs 111;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1202;" f mcShootAuto src/Dodge/HeldUse.hs 1198;" f
mcShootLaser src/Dodge/HeldUse.hs 1195;" f mcShootLaser src/Dodge/HeldUse.hs 1191;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1116;" f mcUseHeld src/Dodge/HeldUse.hs 1112;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f mcUseItem src/Dodge/Machine/Update.hs 85;" f
medkit src/Dodge/Item/Consumable.hs 8;" f medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f megaBattery src/Dodge/Item/Ammo.hs 54;" f
@@ -5077,7 +5080,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 717;" f muzFlareAt src/Dodge/HeldUse.hs 713;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
@@ -5138,7 +5141,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 683;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f
onRemoveWristShield src/Dodge/Equipment.hs 24;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f
onXY src/Geometry/Vector3D.hs 130;" f onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 104;" f oneH src/Dodge/Creature/Test.hs 103;" f
openConsole src/Dodge/Update.hs 131;" f openConsole src/Dodge/Update.hs 131;" f
optionMenu src/Dodge/Menu.hs 108;" f optionMenu src/Dodge/Menu.hs 108;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f
@@ -5153,9 +5156,9 @@ orderAroundFirst src/Geometry/Polygon.hs 82;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 78;" f orderAroundFirstReverse src/Geometry/Polygon.hs 78;" f
orderPolygon src/Geometry/Polygon.hs 87;" f orderPolygon src/Geometry/Polygon.hs 87;" f
orderPolygonAround src/Geometry/Polygon.hs 70;" f orderPolygonAround src/Geometry/Polygon.hs 70;" f
orientAttachment src/Dodge/Item/Orientation.hs 31;" f orientAttachment src/Dodge/Item/Orientation.hs 32;" f
orientByParentChSF src/Dodge/Item/Orientation.hs 24;" f orientByParentChSF src/Dodge/Item/Orientation.hs 25;" f
orientChild src/Dodge/Item/Orientation.hs 13;" f orientChild src/Dodge/Item/Orientation.hs 14;" f
orthogonalPointOnSeg src/Geometry/Intersect.hs 291;" f orthogonalPointOnSeg src/Geometry/Intersect.hs 291;" f
outLink src/Dodge/RoomLink.hs 105;" f outLink src/Dodge/RoomLink.hs 105;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
@@ -5376,8 +5379,8 @@ propSPic src/Dodge/Prop/Draw.hs 15;" f
propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f
propUpdateIf src/Dodge/Prop/Update.hs 25;" f propUpdateIf src/Dodge/Prop/Update.hs 25;" f
propUpdatePosition src/Dodge/Prop/Update.hs 30;" f propUpdatePosition src/Dodge/Prop/Update.hs 30;" f
propagateOrientation src/Dodge/Item/Orientation.hs 42;" f propagateOrientation src/Dodge/Item/Orientation.hs 43;" f
propagateOrientation' src/Dodge/Item/Orientation.hs 48;" f propagateOrientation' src/Dodge/Item/Orientation.hs 49;" f
ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f
@@ -5473,7 +5476,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
readSaveSlot src/Dodge/Save.hs 45;" f readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 504;" f recoilAmount src/Dodge/HeldUse.hs 502;" f
rectNSWE src/Geometry/Polygon.hs 13;" f rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f rectWH src/Geometry/Polygon.hs 17;" f
@@ -5481,7 +5484,8 @@ rectXH src/Geometry/Polygon.hs 32;" f
rectXY src/Geometry/Polygon.hs 35;" f rectXY src/Geometry/Polygon.hs 35;" f
rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f
red src/Color.hs 14;" f red src/Color.hs 14;" f
reduceLocLDT src/Dodge/DoubleTree.hs 369;" f reduceLocDT src/Dodge/DoubleTree.hs 392;" f
reduceLocLDT src/Dodge/DoubleTree.hs 387;" f
reflDirWall src/Dodge/Base/Wall.hs 16;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f
reflVelWall src/Dodge/Base/Wall.hs 24;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f
reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f
@@ -5500,7 +5504,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 919;" f removeAmmoFromMag src/Dodge/HeldUse.hs 915;" f
removeDot src/ShortShow.hs 29;" f removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5545,8 +5549,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
rightChildList src/Dodge/Item/Grammar.hs 219;" f rightChildList src/Dodge/Item/Grammar.hs 218;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 206;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 205;" 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
@@ -5781,15 +5785,15 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 293;" f shineTargetLaser src/Dodge/Creature/State.hs 293;" f
shineTorch src/Dodge/Creature/State.hs 333;" f shineTorch src/Dodge/Creature/State.hs 333;" f
shootBullet src/Dodge/HeldUse.hs 994;" f shootBullet src/Dodge/HeldUse.hs 990;" f
shootBullets src/Dodge/HeldUse.hs 984;" f shootBullets src/Dodge/HeldUse.hs 980;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 898;" f shootLaser src/Dodge/HeldUse.hs 894;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1221;" f shootTeslaArc src/Dodge/HeldUse.hs 1217;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 845;" f shootTractorBeam src/Dodge/HeldUse.hs 841;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -6056,7 +6060,7 @@ tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 555;" f
titleOptionsMenu src/Dodge/Menu.hs 102;" f titleOptionsMenu src/Dodge/Menu.hs 102;" f
titleOptionsNoWrite src/Dodge/Menu.hs 105;" f titleOptionsNoWrite src/Dodge/Menu.hs 105;" f
tmUpdate src/Dodge/Update.hs 455;" f tmUpdate src/Dodge/Update.hs 455;" f
toBinary src/Dodge/Inventory/SelectionList.hs 137;" f toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f toBothLnk src/Dodge/RoomLink.hs 121;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f toColor8 src/Color.hs 148;" f
@@ -6086,12 +6090,12 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 57;" f topTestPart src/Dodge/TestString.hs 57;" 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 267;" f torchShape src/Dodge/Item/Draw/SPic.hs 267;" f
torqueAmount src/Dodge/HeldUse.hs 620;" f torqueAmount src/Dodge/HeldUse.hs 618;" f
torqueCr src/Dodge/WorldEffect.hs 66;" 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
tractorBeamAt src/Dodge/HeldUse.hs 857;" f tractorBeamAt src/Dodge/HeldUse.hs 853;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
@@ -6136,7 +6140,7 @@ treeMaxDepthFromTrunk src/Dodge/Layout/Generate.hs 21;" f
treePath src/Dodge/Tree/GenerateStructure.hs 13;" f treePath src/Dodge/Tree/GenerateStructure.hs 13;" f
treePaths src/TreeHelp.hs 138;" f treePaths src/TreeHelp.hs 138;" f
treePost src/TreeHelp.hs 45;" f treePost src/TreeHelp.hs 45;" f
treeToPotentialFunction src/Dodge/Item/Grammar.hs 182;" f treeToPotentialFunction src/Dodge/Item/Grammar.hs 181;" f
triLootRoom src/Dodge/Room/Treasure.hs 22;" f triLootRoom src/Dodge/Room/Treasure.hs 22;" f
triggerDoorRoom src/Dodge/Room/Door.hs 30;" f triggerDoorRoom src/Dodge/Room/Door.hs 30;" f
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
@@ -6145,7 +6149,7 @@ triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 31;" f
truncFaces src/Polyhedra/Geodesic.hs 53;" f truncFaces src/Polyhedra/Geodesic.hs 53;" f
truncate src/Polyhedra/Geodesic.hs 38;" f truncate src/Polyhedra/Geodesic.hs 38;" f
trunkDepth src/TreeHelp.hs 161;" f trunkDepth src/TreeHelp.hs 161;" f
tryAttachItems src/Dodge/Item/Grammar.hs 36;" f tryAttachItems src/Dodge/Item/Grammar.hs 35;" f
tryClickUse src/Dodge/Creature/YourControl.hs 221;" f tryClickUse src/Dodge/Creature/YourControl.hs 221;" f
tryCombine src/Dodge/Update/Input/InGame.hs 526;" f tryCombine src/Dodge/Update/Input/InGame.hs 526;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 125;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 125;" f
@@ -6169,8 +6173,8 @@ turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
tweenAngles src/Geometry/Vector.hs 195;" f tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 110;" f twists src/Dodge/Creature/Test.hs 109;" f
twoFlat src/Dodge/Creature/Test.hs 107;" f twoFlat src/Dodge/Creature/Test.hs 106;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
@@ -6178,7 +6182,7 @@ twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f
twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f
ubyteSize src/Shader/Parameters.hs 13;" f ubyteSize src/Shader/Parameters.hs 13;" f
ugateCalc src/Dodge/Inventory/SelectionList.hs 108;" f ugateCalc src/Dodge/Inventory/SelectionList.hs 109;" f
uncurryV src/Geometry/Data.hs 66;" f uncurryV src/Geometry/Data.hs 66;" f
underBarrelSlot src/Dodge/Item/Scope.hs 159;" f underBarrelSlot src/Dodge/Item/Scope.hs 159;" f
unfoldrMID src/MonadHelp.hs 33;" f unfoldrMID src/MonadHelp.hs 33;" f
@@ -6329,24 +6333,24 @@ upperRounded src/Shape.hs 185;" 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
useGasParams src/Dodge/HeldUse.hs 1121;" f useGasParams src/Dodge/HeldUse.hs 1117;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1446;" f useInventoryPath src/Dodge/HeldUse.hs 1441;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 761;" f useLoadedAmmo src/Dodge/HeldUse.hs 757;" f
useMagShield src/Dodge/Euse.hs 27;" f useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1406;" f useRewindGun src/Dodge/HeldUse.hs 1401;" f
useRewindGun src/Dodge/Luse.hs 40;" f useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1387;" f useStopWatch src/Dodge/HeldUse.hs 1382;" f
useStopWatch src/Dodge/Luse.hs 21;" f useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1395;" f useTimeScrollGun src/Dodge/HeldUse.hs 1390;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6370,7 +6374,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 315;" f vgunMuzzles src/Dodge/HeldUse.hs 313;" f
viewBoundaries src/Dodge/Debug/Picture.hs 304;" f viewBoundaries src/Dodge/Debug/Picture.hs 304;" f
viewClipBounds src/Dodge/Debug/Picture.hs 313;" f viewClipBounds src/Dodge/Debug/Picture.hs 313;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
@@ -6382,7 +6386,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 827;" f walkNozzle src/Dodge/HeldUse.hs 823;" f
walkableNodeNear src/Dodge/Path.hs 48;" f walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6390,7 +6394,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1440;" f warmupSound src/Dodge/HeldUse.hs 1435;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f wasdDir src/Dodge/WASD.hs 17;" f