Make lasGun have multiple functions when attached differently

This commit is contained in:
2024-10-06 11:19:19 +01:00
parent 3b54f00cc7
commit 9860a88c0c
11 changed files with 155 additions and 112 deletions
+1 -15
View File
@@ -1,15 +1 @@
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:88:1-16: warning: [-Wunused-top-binds] All good (598 modules, at 11:19:05)
Defined but not used: itemLinkTestLeft
|
88 | itemLinkTestLeft itm pci = Nothing
| ^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:88:18-20: warning: [-Wunused-matches]
Defined but not used: itm
|
88 | itemLinkTestLeft itm pci = Nothing
| ^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:88:22-24: warning: [-Wunused-matches]
Defined but not used: pci
|
88 | itemLinkTestLeft itm pci = Nothing
| ^^^
+3 -2
View File
@@ -282,12 +282,14 @@ testInventory =
stackedInventory :: [Item] stackedInventory :: [Item]
stackedInventory = stackedInventory =
[ torch [ torch
, torch , battery
, remoteScreen , remoteScreen
, megaShellMag , megaShellMag
, targetingScope TARGETLASER , targetingScope TARGETLASER
, burstRifle , burstRifle
, megaTinMag 100 , megaTinMag 100
, lasGun
, makeTypeCraft TRANSFORMER
, teslaGun , teslaGun
, megaBattery , megaBattery
, flameThrower , flameThrower
@@ -315,7 +317,6 @@ stackedInventory =
, boosterGun , boosterGun
, flatShield , flatShield
, spawnGun (lamp 5) , spawnGun (lamp 5)
, lasGun
-- , lasWide 20 -- , lasWide 20
, poisonSprayer , poisonSprayer
, bulletBeltPack , bulletBeltPack
+24 -3
View File
@@ -26,11 +26,33 @@ useRootItem :: Int -> World -> World
useRootItem crid w = fromMaybe w $ do useRootItem crid w = fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix crid cr <- w ^? cWorld . lWorld . creatures . ix crid
itRef <- cr ^? crManipulation . manObject . imRootItem itRef <- cr ^? crManipulation . manObject . imRootItem
it <- invTrees (_crInv cr) ^? ix itRef it <- invRootTrees (_crInv cr) ^? ix itRef
return $ return $
itemUseEffect cr it w itemUseEffect' cr it w
& worldEventFlags . at InventoryChange ?~ () & worldEventFlags . at InventoryChange ?~ ()
itemUseEffect' :: Creature -> LabelDoubleTree ItemLink ComposedItem -> World -> World
itemUseEffect' cr itmtree w = case itmtree ^. ldtValue . cItemFunction of
WeaponPlatformSF -> heldEffect (bimap _iatType _cItem itmtree) cr w
& pointerToItem itm . itUse . heldHammer .~ HammerDown
_ -> w
-- UseHotkey{} -> doequipmentchange
-- UseEquip{} -> doequipmentchange
-- (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w
-- UseCraft{} -> w
-- UseAttach{} -> selectUse itmtree cr w
-- UseAmmoMag{} -> w
-- UseScope{} -> w
-- UseBulletMod{} -> w
where
itm :: Item
itm = itmtree ^. ldtValue . cItem
-- doequipmentchange = fromMaybe w $ do
-- guard (_crHammerPosition cr == HammerUp)
-- invid <- itm ^? itLocation . ilInvID
-- return $ toggleEquipmentAt invid cr w
itemUseEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World itemUseEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World
itemUseEffect cr itmtree w = case itmtree ^. ldtValue . itUse of itemUseEffect cr itmtree w = case itmtree ^. ldtValue . itUse of
UseHeld{} -> heldEffect itmtree cr w UseHeld{} -> heldEffect itmtree cr w
@@ -40,7 +62,6 @@ itemUseEffect cr itmtree w = case itmtree ^. ldtValue . itUse of
(UseConsume eff) -> useC eff (_ldtValue itmtree) cr w (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w
UseCraft{} -> w UseCraft{} -> w
UseAttach{} -> selectUse itmtree cr w UseAttach{} -> selectUse itmtree cr w
-- UseTargeting {} -> w
UseAmmoMag{} -> w UseAmmoMag{} -> w
UseScope{} -> w UseScope{} -> w
UseBulletMod{} -> w UseBulletMod{} -> w
+2 -1
View File
@@ -9,6 +9,7 @@ module Dodge.Creature.Picture (
deadFeet, deadFeet,
) where ) where
import Dodge.Data.ComposedItem
import Control.Lens import Control.Lens
import Dodge.Creature.HandPos (translateToLeftHand, translateToRightHand) import Dodge.Creature.HandPos (translateToLeftHand, translateToRightHand)
import Dodge.Creature.Test import Dodge.Creature.Test
@@ -138,4 +139,4 @@ shoulderSH = translateSHz 20
drawEquipment :: Creature -> SPic drawEquipment :: Creature -> SPic
{-# INLINE drawEquipment #-} {-# INLINE drawEquipment #-}
drawEquipment cr = foldMap (itemEquipPict cr . fmap (\(a, b, _) -> (a, b))) (invLDT $ _crInv cr) drawEquipment cr = foldMap (itemEquipPict cr . fmap (\(a, b, _) -> CItem a b)) (invLDT $ _crInv cr)
+9 -9
View File
@@ -175,7 +175,7 @@ updateAttachedItems itmtree cr =
chainLinkOrientation chainLinkOrientation
chainLinkOrientation chainLinkOrientation
(updateItemWithOrientation cr) (updateItemWithOrientation cr)
(heldItemRelativeOrient (fst $ _ldtValue itmtree) cr (0, Q.qID)) (heldItemRelativeOrient (_cItem $ _ldtValue itmtree) cr (0, Q.qID))
(LocLDT TopLDT itmtree) (LocLDT TopLDT itmtree)
-- need to check rotation -- need to check rotation
@@ -185,7 +185,7 @@ chainLinkOrientation ::
ItemLink -> ItemLink ->
ComposedItem -> ComposedItem ->
(Point3, Q.Quaternion Float) (Point3, Q.Quaternion Float)
chainLinkOrientation mo (par,_) (ILink lt f) (child,_) = (p + Q.rotate q p1, q * q1) chainLinkOrientation mo (CItem par _) (ILink lt f) (CItem child _) = (p + Q.rotate q p1, q * q1)
where where
(p, q) = mo (p, q) = mo
(p1, q1) = f par lt child (p1, q1) = f par lt child
@@ -203,11 +203,11 @@ updateItemWithOrientation cr m loc@(LocLDT _ itmtree) = case _itType itm of
ATTACH AUGMENTEDHUD -> drawAugmentedHUD loc ATTACH AUGMENTEDHUD -> drawAugmentedHUD loc
_ -> id _ -> id
where where
itm = itmtree ^. ldtValue . _1 itm = itmtree ^. ldtValue . cItem
drawAugmentedHUD :: LocationLDT ItemLink ComposedItem -> World -> World drawAugmentedHUD :: LocationLDT ItemLink ComposedItem -> World -> World
drawAugmentedHUD (LocLDT con _) w = fromMaybe w $ do drawAugmentedHUD (LocLDT con _) w = fromMaybe w $ do
itm <- con ^? cldtParent . _1 itm <- con ^? cldtParent . cItem
return $ w & cWorld . lWorld . flares <>~ drawTargeting itm w return $ w & cWorld . lWorld . flares <>~ drawTargeting itm w
shineTargetLaser :: Creature -> LabelDoubleTree ItemLink ComposedItem -> (Point3, Q.Quaternion Float) shineTargetLaser :: Creature -> LabelDoubleTree ItemLink ComposedItem -> (Point3, Q.Quaternion Float)
@@ -215,9 +215,9 @@ shineTargetLaser :: Creature -> LabelDoubleTree ItemLink ComposedItem -> (Point3
shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ do shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ do
guard (crIsAiming cr) guard (crIsAiming cr)
(_, mag) <- find (isammolink . _iatType . fst) (itmtree ^. ldtLeft) (_, mag) <- find (isammolink . _iatType . fst) (itmtree ^. ldtLeft)
i <- mag ^? ldtValue . _1 . itUse . amagLoadStatus . iaLoaded i <- mag ^? ldtValue . cItem . itUse . amagLoadStatus . iaLoaded
guard $ i >= x guard $ i >= x
maginvid <- mag ^? ldtValue . _1 . itLocation . ilInvID maginvid <- mag ^? ldtValue . cItem . itLocation . ilInvID
return $ w return $ w
& cWorld . lWorld . creatures . ix (_crID cr) & cWorld . lWorld . creatures . ix (_crID cr)
. crInv . ix maginvid . itUse . amagLoadStatus . iaLoaded -~ x . crInv . ix maginvid . itUse . amagLoadStatus . iaLoaded -~ x
@@ -234,7 +234,7 @@ shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ No
isammolink _ = False isammolink _ = False
pos = _crPos cr + xyV3 (rotate3 cdir (p + V3 5 0 0)) pos = _crPos cr + xyV3 (rotate3 cdir (p + V3 5 0 0))
cdir = _crDir cr cdir = _crDir cr
itm = itmtree ^. ldtValue . _1 itm = itmtree ^. ldtValue . cItem
--pointItUse = cWorld . lWorld . creatures . ix cid . crInv . ix invid . itUse --pointItUse = cWorld . lWorld . creatures . ix cid . crInv . ix invid . itUse
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
@@ -244,9 +244,9 @@ shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ No
shineTorch :: Creature -> LabelDoubleTree ItemLink ComposedItem -> (Point3, Q.Quaternion Float) -> World -> World shineTorch :: Creature -> LabelDoubleTree ItemLink ComposedItem -> (Point3, Q.Quaternion Float) -> World -> World
shineTorch cr itmtree (p, q) = fromMaybe id $ do shineTorch cr itmtree (p, q) = fromMaybe id $ do
(_, mag) <- find (isammolink . _iatType . fst) (itmtree ^. ldtLeft) (_, mag) <- find (isammolink . _iatType . fst) (itmtree ^. ldtLeft)
i <- mag ^? ldtValue . _1 . itUse . amagLoadStatus . iaLoaded i <- mag ^? ldtValue . cItem . itUse . amagLoadStatus . iaLoaded
guard $ i >= x guard $ i >= x
invid <- mag ^? ldtValue . _1 . itLocation . ilInvID invid <- mag ^? ldtValue . cItem . itLocation . ilInvID
return $ return $
(cWorld . lWorld . tempLightSources .:~ tlsTimeRadColPos 1 250 0.7 pos'') (cWorld . lWorld . tempLightSources .:~ tlsTimeRadColPos 1 250 0.7 pos'')
. (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itUse . amagLoadStatus . iaLoaded -~ x) . (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itUse . amagLoadStatus . iaLoaded -~ x)
+18 -9
View File
@@ -23,6 +23,7 @@ data ComposeLinkType
| WeaponTargetingLink | WeaponTargetingLink
| RemoteScreenLink | RemoteScreenLink
| AugmentedHUDLink | AugmentedHUDLink
| FunctionChangeLink
deriving (Eq, Ord, Show, Read) deriving (Eq, Ord, Show, Read)
data ItemStructuralFunction data ItemStructuralFunction
@@ -37,28 +38,36 @@ data ItemStructuralFunction
| AmmoTargetingSF AmmoType | AmmoTargetingSF AmmoType
| AmmoPayloadSF AmmoType | AmmoPayloadSF AmmoType
| AmmoEffectSF AmmoType | AmmoEffectSF AmmoType
| FunctionChangeSF
deriving (Eq, Ord, Show, Read) deriving (Eq, Ord, Show, Read)
type PartiallyComposedItem lt = (Item, ItemStructuralFunction, LinkTest lt) type PartiallyComposedItem = (Item, ItemStructuralFunction, LinkTest)
type ComposedItem = (Item, ItemStructuralFunction)
data ComposedItem = CItem
{ _cItem :: Item
, _cItemFunction :: ItemStructuralFunction
}
data ItemLink = ILink data ItemLink = ILink
{ _iatType :: ComposeLinkType { _iatType :: ComposeLinkType
, _iatOrient :: Item -> ComposeLinkType -> Item -> (Point3, Quaternion Float) , _iatOrient :: Item -> ComposeLinkType -> Item -> (Point3, Quaternion Float)
} }
data LinkTest lt = LTest data LinkTest = LTest
{ _tryLeftLink :: PartiallyComposedItem lt -> Maybe (LinkUpdate lt) { _tryLeftLink :: PartiallyComposedItem -> Maybe LinkUpdate
, _tryRightLink :: PartiallyComposedItem lt -> Maybe (LinkUpdate lt) , _tryRightLink :: PartiallyComposedItem -> Maybe LinkUpdate
} }
data LinkUpdate lt = LUpdate data LinkUpdate = LUpdate
{ _luLinkType :: lt { _luLinkType :: ItemLink
, _luParentUpdate :: PartiallyComposedItem lt -> PartiallyComposedItem lt , _luParentUpdate :: PartiallyComposedItem -> PartiallyComposedItem
, _luChildUpdate :: PartiallyComposedItem lt -> PartiallyComposedItem lt , _luChildUpdate :: PartiallyComposedItem -> PartiallyComposedItem
} }
makeLenses ''ComposedItem
makeLenses ''ItemLink makeLenses ''ItemLink
makeLenses ''LinkTest makeLenses ''LinkTest
makeLenses ''LinkUpdate makeLenses ''LinkUpdate
deriveJSON defaultOptions ''ItemStructuralFunction
deriveJSON defaultOptions ''ComposedItem
deriveJSON defaultOptions ''ComposeLinkType deriveJSON defaultOptions ''ComposeLinkType
+1 -1
View File
@@ -2,7 +2,7 @@ module Dodge.Inventory.Location
(updateRootItemID (updateRootItemID
, crUpdateItemLocations , crUpdateItemLocations
, setInvPosFromSS , setInvPosFromSS
, tryGetRootItemInvID -- , tryGetRootItemInvID
) )
where where
+1 -1
View File
@@ -24,7 +24,7 @@ itemEquipPict cr itmtree = case itm ^. itUse of
epos <- cr ^? crInvEquipped . ix i epos <- cr ^? crInvEquipped . ix i
return $ equipPosition epos cr attachpos (itemSPic itm) return $ equipPosition epos cr attachpos (itemSPic itm)
where where
itm = itmtree ^. ldtValue . _1 itm = itmtree ^. ldtValue . cItem
equipPosition :: EquipPosition -> Creature -> Point3 -> SPic -> SPic equipPosition :: EquipPosition -> Creature -> Point3 -> SPic -> SPic
equipPosition epos cr p sh = case epos of equipPosition epos cr p sh = case epos of
+2 -2
View File
@@ -20,7 +20,7 @@ import Shape
import ShapePicture import ShapePicture
itemTreeSPic :: LabelDoubleTree ItemLink ComposedItem -> SPic itemTreeSPic :: LabelDoubleTree ItemLink ComposedItem -> SPic
itemTreeSPic (LDT (itm, _) l r) = itemTreeSPic (LDT (CItem itm _) l r) =
itemSPic itm itemSPic itm
<> foldMap (itemRotTreeSPic itm) (l <> r) <> foldMap (itemRotTreeSPic itm) (l <> r)
@@ -28,7 +28,7 @@ itemRotTreeSPic :: Item -> (ItemLink, LabelDoubleTree ItemLink ComposedItem) ->
itemRotTreeSPic par (il, t) = translateSP p . overPosSP (Q.rotate q) $ itemTreeSPic t itemRotTreeSPic par (il, t) = translateSP p . overPosSP (Q.rotate q) $ itemTreeSPic t
where where
(p, q) = _iatOrient il par (_iatType il) itm (p, q) = _iatOrient il par (_iatType il) itm
itm = t ^. ldtValue . _1 itm = t ^. ldtValue . cItem
itemSPic :: Item -> SPic itemSPic :: Item -> SPic
itemSPic it = case it ^. itType of itemSPic it = case it ^. itType of
+32 -17
View File
@@ -19,13 +19,14 @@ import Dodge.Item.Orientation
import LensHelp import LensHelp
import ListHelp import ListHelp
useBreakL' :: [(ItemStructuralFunction, ComposeLinkType)] -> [(ItemStructuralFunction, ComposeLinkType)] useBreakL :: [(ItemStructuralFunction, ComposeLinkType)] -> [(ItemStructuralFunction, ComposeLinkType)]
-> LinkTest ItemLink -> LinkTest
useBreakL' x y = useBreakListsLinkTest (map (uncurry noa) x) (map (uncurry noa) y) useBreakL x y = useBreakListsLinkTest (map (uncurry noa) x) (map (uncurry noa) y)
where where
noa a b = (a, ILink b orientAttachment) noa a b = (a, ILink b orientAttachment)
useBreakListsLinkTest :: [(ItemStructuralFunction, a)] -> [(ItemStructuralFunction, a)] -> LinkTest a useBreakListsLinkTest :: [(ItemStructuralFunction, ItemLink)]
-> [(ItemStructuralFunction, ItemLink)] -> LinkTest
useBreakListsLinkTest llist rlist = LTest ltest rtest useBreakListsLinkTest llist rlist = LTest ltest rtest
where where
ltest (_, sf, _) = do ltest (_, sf, _) = do
@@ -79,27 +80,41 @@ itemToFunction itm = case itm ^. itType of
TARGETING{} -> WeaponTargetingSF TARGETING{} -> WeaponTargetingSF
_ -> UncomposableIsolateSF _ -> UncomposableIsolateSF
simplePCI :: Item -> PartiallyComposedItem ItemLink simplePCI :: Item -> PartiallyComposedItem
simplePCI itm = case _itType itm of simplePCI itm = case _itType itm of
HELD LASGUN -> (itm, WeaponScopeSF, uncurry useBreakL' $ itemToBreakLists itm) HELD LASGUN -> (itm, WeaponScopeSF, laserLinkTest itm)
_ -> (itm, itemToFunction itm, uncurry useBreakL' $ itemToBreakLists itm) _ -> (itm, itemToFunction itm, uncurry useBreakL $ itemToBreakLists itm)
itemLinkTestLeft :: Item -> PartiallyComposedItem (LinkTest ItemLink) -> Maybe (LinkUpdate ItemLink) laserLinkTest :: Item -> LinkTest
itemLinkTestLeft itm pci = Nothing laserLinkTest itm = LTest (llleft itm) (llright itm)
basePartiallyComposedItem' :: Item -> PartiallyComposedItem ItemLink llleft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
basePartiallyComposedItem' itm = simplePCI itm llleft itm pci = _tryLeftLink (uncurry useBreakL $ itemToBreakLists itm) pci
llright :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
llright itm pci = case pci ^. _1 . itType of
CRAFT TRANSFORMER -> Just (toLasgunUpdate itm)
_ -> _tryRightLink (uncurry useBreakL $ itemToBreakLists itm) pci
toLasgunUpdate :: Item -> LinkUpdate
toLasgunUpdate itm = LUpdate (ILink FunctionChangeLink orientAttachment)
(\(par,_,_) -> (par,WeaponPlatformSF,uncurry useBreakL $ itemToBreakLists itm))
(\(chi,_,up) -> (chi,FunctionChangeSF,up))
--itemLinkTestLeft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
--itemLinkTestLeft itm = _tryLeftLink $
-- uncurry useBreakL $ itemToBreakLists itm
type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a) type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a)
leftIsParentCombine :: LDTComb (PartiallyComposedItem a) a leftIsParentCombine :: LDTComb PartiallyComposedItem ItemLink
leftIsParentCombine ltree rtree = do leftIsParentCombine ltree rtree = do
lu <- (ltree ^. ldtValue . _3 . tryRightLink) (rtree ^. ldtValue) lu <- (ltree ^. ldtValue . _3 . tryRightLink) (rtree ^. ldtValue)
return $ return $
ltree & ldtValue %~ (lu ^. luParentUpdate) ltree & ldtValue %~ (lu ^. luParentUpdate)
& ldtRight %~ (++ [(lu ^. luLinkType, rtree & ldtValue %~ (lu ^. luChildUpdate))]) & ldtRight %~ (++ [(lu ^. luLinkType, rtree & ldtValue %~ (lu ^. luChildUpdate))])
rightIsParentCombine :: LDTComb (PartiallyComposedItem a) a rightIsParentCombine :: LDTComb PartiallyComposedItem ItemLink
rightIsParentCombine ltree rtree = do rightIsParentCombine ltree rtree = do
lu <- (rtree ^. ldtValue . _3 . tryLeftLink) (ltree ^. ldtValue) lu <- (rtree ^. ldtValue . _3 . tryLeftLink) (ltree ^. ldtValue)
return $ return $
@@ -131,10 +146,10 @@ joinItemsInList f xs = snd $ h (xs, [])
Nothing -> h (ys, y : z : zs) Nothing -> h (ys, y : z : zs)
Just w -> h (w : ys, zs) Just w -> h (w : ys, zs)
invLDT :: IM.IntMap Item -> [LabelDoubleTree ItemLink (PartiallyComposedItem ItemLink)] invLDT :: IM.IntMap Item -> [LabelDoubleTree ItemLink PartiallyComposedItem]
invLDT = invLDT =
joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems
. fmap (singleLDT . basePartiallyComposedItem') . fmap (singleLDT . simplePCI)
-- this assumes the creature inventory is well formed, specifically the -- this assumes the creature inventory is well formed, specifically the
-- location ids -- location ids
@@ -180,7 +195,7 @@ invTrees' = IM.unions . map (ldtToIM getindex . fmap (^. _1)) . map (fmap (\(x,
-- returns an intmap with trees for root items, indexed by inventory position -- returns an intmap with trees for root items, indexed by inventory position
invRootTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ItemLink ComposedItem) invRootTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ItemLink ComposedItem)
invRootTrees = IM.fromAscList . reverse . map (getid . fmap (\(x, y, _) -> (x, y))) . invLDT invRootTrees = IM.fromAscList . reverse . map (getid . fmap (\(x, y, _) -> CItem x y)) . invLDT
where where
getid :: LabelDoubleTree ItemLink ComposedItem -> (Int,LabelDoubleTree ItemLink ComposedItem) getid :: LabelDoubleTree ItemLink ComposedItem -> (Int,LabelDoubleTree ItemLink ComposedItem)
getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t) getid t = (t ^?! ldtValue . cItem . itLocation . ilInvID, t)
+62 -52
View File
@@ -56,17 +56,17 @@ Ambush src/Dodge/Data/ActionPlan.hs 178;" C
Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m
Ammo src/Dodge/Item/Ammo.hs 1;" m Ammo src/Dodge/Item/Ammo.hs 1;" m
AmmoEffectLink src/Dodge/Data/ComposedItem.hs 21;" C AmmoEffectLink src/Dodge/Data/ComposedItem.hs 21;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 39;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 40;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 17;" C AmmoInLink src/Dodge/Data/ComposedItem.hs 17;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoMagSF src/Dodge/Data/ComposedItem.hs 34;" C
AmmoMagType src/Dodge/Data/Item/Combine.hs 86;" t AmmoMagType src/Dodge/Data/Item/Combine.hs 86;" t
AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 36;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 37;" C
AmmoParams src/Dodge/Data/Item/Use.hs 113;" t AmmoParams src/Dodge/Data/Item/Use.hs 113;" t
AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 38;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 39;" C
AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 37;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 38;" C
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t
AnRoom src/Dodge/Annotation/Data.hs 17;" C AnRoom src/Dodge/Annotation/Data.hs 17;" C
AnTree src/Dodge/Annotation/Data.hs 18;" C AnTree src/Dodge/Annotation/Data.hs 18;" C
@@ -98,7 +98,7 @@ Attention src/Dodge/Data/Creature/Perception.hs 60;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C
Audition src/Dodge/Data/Creature/Perception.hs 47;" t Audition src/Dodge/Data/Creature/Perception.hs 47;" t
AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 25;" C AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 25;" C
AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 32;" C AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 33;" C
AutoAI src/Dodge/Data/Creature/Misc.hs 57;" C AutoAI src/Dodge/Data/Creature/Misc.hs 57;" C
AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
@@ -245,6 +245,7 @@ CHARTREUSE src/Color/Data.hs 25;" C
CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 92;" C CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 92;" C
CHeal src/Dodge/Data/Item/HeldUse.hs 26;" C CHeal src/Dodge/Data/Item/HeldUse.hs 26;" C
CIRCLE src/Dodge/Data/GenParams.hs 20;" C CIRCLE src/Dodge/Data/GenParams.hs 20;" C
CItem src/Dodge/Data/ComposedItem.hs 46;" C
CME src/Dodge/Data/MuzzleEffect.hs 11;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C
CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C
CONSUMABLE src/Dodge/Data/Item/Combine.hs 19;" C CONSUMABLE src/Dodge/Data/Item/Combine.hs 19;" C
@@ -337,7 +338,7 @@ Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m Compile src/Shader/Compile.hs 1;" m
Compose src/Dodge/Tree/Compose.hs 4;" m Compose src/Dodge/Tree/Compose.hs 4;" m
ComposeLinkType src/Dodge/Data/ComposedItem.hs 16;" t ComposeLinkType src/Dodge/Data/ComposedItem.hs 16;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 43;" t ComposedItem src/Dodge/Data/ComposedItem.hs 46;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
Composite src/Picture/Composite.hs 1;" m Composite src/Picture/Composite.hs 1;" m
ComsSS src/Dodge/Data/Scenario.hs 98;" C ComsSS src/Dodge/Data/Scenario.hs 98;" C
@@ -746,6 +747,8 @@ FullRes src/Dodge/Data/Config.hs 95;" C
FullShadowFidelity src/Shape/Data.hs 24;" C FullShadowFidelity src/Shape/Data.hs 24;" C
FullSize src/Dodge/Data/Item/Params.hs 31;" C FullSize src/Dodge/Data/Item/Params.hs 31;" C
FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C
FunctionChangeLink src/Dodge/Data/ComposedItem.hs 26;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 41;" C
GASINJECTOR src/Dodge/Data/Item/Combine.hs 69;" C GASINJECTOR src/Dodge/Data/Item/Combine.hs 69;" C
GEqC src/SameConstr.hs 20;" c GEqC src/SameConstr.hs 20;" c
GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C
@@ -858,7 +861,7 @@ Huge src/Shape/Data.hs 28;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 65;" C Humanoid src/Dodge/Data/Creature/Misc.hs 65;" C
Humanoid src/Dodge/Humanoid.hs 1;" m Humanoid src/Dodge/Humanoid.hs 1;" m
HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t
ILink src/Dodge/Data/ComposedItem.hs 45;" C ILink src/Dodge/Data/ComposedItem.hs 51;" C
INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 105;" C INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 105;" C
IRONBAR src/Dodge/Data/Item/Combine.hs 57;" C IRONBAR src/Dodge/Data/Item/Combine.hs 57;" C
ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 170;" C ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 170;" C
@@ -932,7 +935,7 @@ ItEffect src/Dodge/Data/Item/Effect.hs 12;" t
ItEffect src/Dodge/ItEffect.hs 1;" m ItEffect src/Dodge/ItEffect.hs 1;" m
ItID src/Dodge/Data/Item.hs 31;" t ItID src/Dodge/Data/Item.hs 31;" t
ItInvEffect src/Dodge/Data/Item/Effect.hs 19;" t ItInvEffect src/Dodge/Data/Item/Effect.hs 19;" t
ItTargeting src/Dodge/Data/Item.hs 47;" C ItTargeting src/Dodge/Data/Item.hs 48;" C
ItZoom src/Dodge/Data/Item/Use.hs 181;" t ItZoom src/Dodge/Data/Item/Use.hs 181;" t
Item src/Dodge/Data/Item.hs 33;" t Item src/Dodge/Data/Item.hs 33;" t
Item src/Dodge/Data/Item.hs 4;" m Item src/Dodge/Data/Item.hs 4;" m
@@ -940,12 +943,12 @@ Item src/Dodge/Default/Item.hs 1;" m
Item src/Dodge/Item.hs 3;" m Item src/Dodge/Item.hs 3;" m
ItemClust src/Dodge/Combine/Graph.hs 17;" C ItemClust src/Dodge/Combine/Graph.hs 17;" C
ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t
ItemLink src/Dodge/Data/ComposedItem.hs 45;" t ItemLink src/Dodge/Data/ComposedItem.hs 51;" t
ItemLocation src/Dodge/Data/Item/Location.hs 27;" t ItemLocation src/Dodge/Data/Item/Location.hs 27;" t
ItemParams src/Dodge/Data/Item/Params.hs 13;" t ItemParams src/Dodge/Data/Item/Params.hs 13;" t
ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m
ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 28;" t ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 29;" t
ItemTargeting src/Dodge/Data/Item.hs 47;" t ItemTargeting src/Dodge/Data/Item.hs 47;" t
ItemType src/Dodge/Data/Item/Combine.hs 15;" t ItemType src/Dodge/Data/Item/Combine.hs 15;" t
ItemUse src/Dodge/Data/Item/Use.hs 35;" t ItemUse src/Dodge/Data/Item/Use.hs 35;" t
@@ -966,7 +969,7 @@ LBlink src/Dodge/Data/Item/HeldUse.hs 53;" C
LBoost src/Dodge/Data/Item/HeldUse.hs 55;" C LBoost src/Dodge/Data/Item/HeldUse.hs 55;" C
LDT src/Dodge/Data/DoubleTree.hs 39;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTComb src/Dodge/Item/Grammar.hs 89;" t LDTComb src/Dodge/Item/Grammar.hs 108;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C
@@ -981,11 +984,11 @@ LRewind src/Dodge/Data/Item/HeldUse.hs 49;" C
LS src/Dodge/Data/LightSource.hs 34;" C LS src/Dodge/Data/LightSource.hs 34;" C
LSParam src/Dodge/Data/LightSource.hs 27;" t LSParam src/Dodge/Data/LightSource.hs 27;" t
LShrink src/Dodge/Data/Item/HeldUse.hs 52;" C LShrink src/Dodge/Data/Item/HeldUse.hs 52;" C
LTest src/Dodge/Data/ComposedItem.hs 50;" C LTest src/Dodge/Data/ComposedItem.hs 56;" C
LTimePause src/Dodge/Data/Item/HeldUse.hs 50;" C LTimePause src/Dodge/Data/Item/HeldUse.hs 50;" C
LTimeScroll src/Dodge/Data/Item/HeldUse.hs 51;" C LTimeScroll src/Dodge/Data/Item/HeldUse.hs 51;" C
LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 54;" C LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 54;" C
LUpdate src/Dodge/Data/ComposedItem.hs 55;" C LUpdate src/Dodge/Data/ComposedItem.hs 61;" C
LWorld src/Dodge/Data/LWorld.hs 96;" t LWorld src/Dodge/Data/LWorld.hs 96;" t
LWorld src/Dodge/Data/LWorld.hs 6;" m LWorld src/Dodge/Data/LWorld.hs 6;" m
LabLink src/Dodge/Data/Room.hs 45;" C LabLink src/Dodge/Data/Room.hs 45;" C
@@ -1044,8 +1047,8 @@ LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
LinearShockwave src/Dodge/Data/LinearShockwave.hs 6;" m LinearShockwave src/Dodge/Data/LinearShockwave.hs 6;" m
Link src/Dodge/Room/Link.hs 6;" m Link src/Dodge/Room/Link.hs 6;" m
LinkDecoration src/Dodge/Debug/LinkDecoration.hs 1;" m LinkDecoration src/Dodge/Debug/LinkDecoration.hs 1;" m
LinkTest src/Dodge/Data/ComposedItem.hs 50;" t LinkTest src/Dodge/Data/ComposedItem.hs 56;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 55;" t LinkUpdate src/Dodge/Data/ComposedItem.hs 61;" t
List src/Dodge/Combine/List.hs 1;" m List src/Dodge/Combine/List.hs 1;" m
List src/Dodge/Render/List.hs 1;" m List src/Dodge/Render/List.hs 1;" m
ListDisplayParams src/Dodge/Data/SelectionList.hs 18;" t ListDisplayParams src/Dodge/Data/SelectionList.hs 18;" t
@@ -1243,6 +1246,7 @@ NoHammer src/Dodge/Data/Hammer.hs 13;" C
NoHoming src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" C NoHoming src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 47;" C
NoLighting src/Dodge/Data/Config.hs 102;" C NoLighting src/Dodge/Data/Config.hs 102;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C
NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m
@@ -1363,7 +1367,7 @@ ParamMID src/Dodge/Data/Item/Params.hs 28;" C
Parameters src/Shader/Parameters.hs 1;" m Parameters src/Shader/Parameters.hs 1;" m
Parameters src/Shape/Parameters.hs 1;" m Parameters src/Shape/Parameters.hs 1;" m
Params src/Dodge/Data/Item/Params.hs 6;" m Params src/Dodge/Data/Item/Params.hs 6;" m
PartiallyComposedItem src/Dodge/Data/ComposedItem.hs 42;" t PartiallyComposedItem src/Dodge/Data/ComposedItem.hs 44;" t
PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 19;" C PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 19;" C
Path src/Dodge/Path.hs 2;" m Path src/Dodge/Path.hs 2;" m
Path src/Dodge/Room/Path.hs 1;" m Path src/Dodge/Room/Path.hs 1;" m
@@ -1553,7 +1557,7 @@ Reload src/Dodge/Data/ActionPlan.hs 190;" C
ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t
RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 24;" C RemoteScreenLink src/Dodge/Data/ComposedItem.hs 24;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 34;" C RemoteScreenSF src/Dodge/Data/ComposedItem.hs 35;" C
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
RemoveShieldWall src/Dodge/Data/Item/Effect.hs 26;" C RemoveShieldWall src/Dodge/Data/Item/Effect.hs 26;" C
Remove_LOS src/Dodge/Data/Config.hs 77;" C Remove_LOS src/Dodge/Data/Config.hs 77;" C
@@ -1965,7 +1969,7 @@ TwoHandOver src/Dodge/Data/Item/Use.hs 176;" C
TwoHandUnder src/Dodge/Data/Item/Use.hs 175;" C TwoHandUnder src/Dodge/Data/Item/Use.hs 175;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m Type src/Dodge/Data/Damage/Type.hs 6;" m
Typical src/Shape/Data.hs 36;" C Typical src/Shape/Data.hs 36;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 35;" C UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 36;" C
Uncursed src/Dodge/Data/Item/CurseStatus.hs 12;" C Uncursed src/Dodge/Data/Item/CurseStatus.hs 12;" C
UnderGround src/Dodge/Data/Scenario.hs 78;" C UnderGround src/Dodge/Data/Scenario.hs 78;" C
UnderRoof src/Dodge/Data/Scenario.hs 79;" C UnderRoof src/Dodge/Data/Scenario.hs 79;" C
@@ -2096,11 +2100,11 @@ WdWdFromItixCrixWdWd src/Dodge/Data/WorldEffect.hs 34;" C
WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 33;" C WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 33;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 41;" C WdYouPos src/Dodge/Data/WorldEffect.hs 41;" C
Weapon src/Dodge/Item/Weapon.hs 2;" m Weapon src/Dodge/Item/Weapon.hs 2;" m
WeaponPlatformSF src/Dodge/Data/ComposedItem.hs 29;" C WeaponPlatformSF src/Dodge/Data/ComposedItem.hs 30;" C
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 22;" C WeaponScopeLink src/Dodge/Data/ComposedItem.hs 22;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 30;" C WeaponScopeSF src/Dodge/Data/ComposedItem.hs 31;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 23;" C WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 23;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 32;" C
Weapons src/Dodge/Item/Held/Weapons.hs 1;" m Weapons src/Dodge/Item/Held/Weapons.hs 1;" m
West src/Dodge/Data/CardinalPoint.hs 7;" C West src/Dodge/Data/CardinalPoint.hs 7;" C
Window src/Dodge/Base/Window.hs 2;" m Window src/Dodge/Base/Window.hs 2;" m
@@ -2244,6 +2248,8 @@ _bulGunSound src/Dodge/Data/Item/Use.hs 105;" f
_bullets src/Dodge/Data/LWorld.hs 105;" f _bullets src/Dodge/Data/LWorld.hs 105;" f
_buttons src/Dodge/Data/LWorld.hs 133;" f _buttons src/Dodge/Data/LWorld.hs 133;" f
_cClock src/Dodge/Data/CWorld.hs 28;" f _cClock src/Dodge/Data/CWorld.hs 28;" f
_cItem src/Dodge/Data/ComposedItem.hs 47;" f
_cItemFunction src/Dodge/Data/ComposedItem.hs 48;" f
_cUse src/Dodge/Data/Item/Use.hs 51;" f _cUse src/Dodge/Data/Item/Use.hs 51;" f
_cWorld src/Dodge/Data/World.hs 38;" f _cWorld src/Dodge/Data/World.hs 38;" f
_camBoundBox src/Dodge/Data/Camera.hs 31;" f _camBoundBox src/Dodge/Data/Camera.hs 31;" f
@@ -2573,8 +2579,8 @@ _hudElement src/Dodge/Data/HUD.hs 36;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
_iatOrient src/Dodge/Data/ComposedItem.hs 47;" f _iatOrient src/Dodge/Data/ComposedItem.hs 53;" f
_iatType src/Dodge/Data/ComposedItem.hs 46;" f _iatType src/Dodge/Data/ComposedItem.hs 52;" f
_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 22;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 22;" f
_ibtAttach src/Dodge/Data/Item/Combine.hs 21;" f _ibtAttach src/Dodge/Data/Item/Combine.hs 21;" f
_ibtBulletMod src/Dodge/Data/Item/Combine.hs 24;" f _ibtBulletMod src/Dodge/Data/Item/Combine.hs 24;" f
@@ -2619,9 +2625,9 @@ _itInvSize src/Dodge/Data/Item.hs 41;" f
_itLocation src/Dodge/Data/Item.hs 37;" f _itLocation src/Dodge/Data/Item.hs 37;" f
_itParams src/Dodge/Data/Item.hs 44;" f _itParams src/Dodge/Data/Item.hs 44;" f
_itTargeting src/Dodge/Data/Item.hs 39;" f _itTargeting src/Dodge/Data/Item.hs 39;" f
_itTgActive src/Dodge/Data/Item.hs 50;" f _itTgActive src/Dodge/Data/Item.hs 51;" f
_itTgID src/Dodge/Data/Item.hs 49;" f _itTgID src/Dodge/Data/Item.hs 50;" f
_itTgPos src/Dodge/Data/Item.hs 48;" f _itTgPos src/Dodge/Data/Item.hs 49;" f
_itType src/Dodge/Data/Item.hs 35;" f _itType src/Dodge/Data/Item.hs 35;" f
_itUse src/Dodge/Data/Item.hs 34;" f _itUse src/Dodge/Data/Item.hs 34;" f
_itemLocations src/Dodge/Data/LWorld.hs 99;" f _itemLocations src/Dodge/Data/LWorld.hs 99;" f
@@ -2678,9 +2684,9 @@ _lsParam src/Dodge/Data/LightSource.hs 36;" f
_lsPict src/Dodge/Data/LightSource.hs 38;" f _lsPict src/Dodge/Data/LightSource.hs 38;" f
_lsPos src/Dodge/Data/LightSource.hs 28;" f _lsPos src/Dodge/Data/LightSource.hs 28;" f
_lsRad src/Dodge/Data/LightSource.hs 29;" f _lsRad src/Dodge/Data/LightSource.hs 29;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 58;" f _luChildUpdate src/Dodge/Data/ComposedItem.hs 64;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 56;" f _luLinkType src/Dodge/Data/ComposedItem.hs 62;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 57;" f _luParentUpdate src/Dodge/Data/ComposedItem.hs 63;" f
_lwID src/Dodge/Data/LinearShockwave.hs 15;" f _lwID src/Dodge/Data/LinearShockwave.hs 15;" f
_lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f _lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f _lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
@@ -3138,8 +3144,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 118;" f
_trieChildren src/SimpleTrie.hs 10;" f _trieChildren src/SimpleTrie.hs 10;" f
_trieMVal src/SimpleTrie.hs 9;" f _trieMVal src/SimpleTrie.hs 9;" f
_triggers src/Dodge/Data/LWorld.hs 127;" f _triggers src/Dodge/Data/LWorld.hs 127;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 51;" f _tryLeftLink src/Dodge/Data/ComposedItem.hs 57;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 52;" f _tryRightLink src/Dodge/Data/ComposedItem.hs 58;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 81;" f _ttTriggerID src/Dodge/Data/Terminal.hs 81;" f
_tuDir src/Dodge/Data/Machine.hs 61;" f _tuDir src/Dodge/Data/Machine.hs 61;" f
@@ -3428,7 +3434,6 @@ baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 255;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 255;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f baseFloorTileSize src/Tile.hs 38;" f
basePartiallyComposedItem' src/Dodge/Item/Grammar.hs 86;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 258;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 258;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 342;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 342;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 325;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 325;" f
@@ -4529,21 +4534,21 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 315;" f intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f interweave src/Justify.hs 17;" 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 146;" f invAdj src/Dodge/Item/Grammar.hs 165;" f
invDimColor src/Dodge/DisplayInventory.hs 139;" f invDimColor src/Dodge/DisplayInventory.hs 139;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 266;" f invHead src/Dodge/Render/HUD.hs 266;" f
invIndentIM src/Dodge/Item/Grammar.hs 158;" f invIndentIM src/Dodge/Item/Grammar.hs 177;" f
invLDT src/Dodge/Item/Grammar.hs 130;" f invLDT src/Dodge/Item/Grammar.hs 149;" f
invRootMap src/Dodge/Item/Grammar.hs 139;" f invRootMap src/Dodge/Item/Grammar.hs 158;" f
invRootTrees src/Dodge/Item/Grammar.hs 178;" f invRootTrees src/Dodge/Item/Grammar.hs 197;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 161;" f invSideEff src/Dodge/Creature/State.hs 161;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 166;" f invTrees src/Dodge/Item/Grammar.hs 185;" f
invTrees' src/Dodge/Item/Grammar.hs 170;" f invTrees' src/Dodge/Item/Grammar.hs 189;" f
inventoryExtra src/Dodge/Render/HUD.hs 184;" f inventoryExtra src/Dodge/Render/HUD.hs 184;" f
inventoryExtraH src/Dodge/Render/HUD.hs 195;" f inventoryExtraH src/Dodge/Render/HUD.hs 195;" f
inventoryX src/Dodge/Creature.hs 115;" f inventoryX src/Dodge/Creature.hs 115;" f
@@ -4605,7 +4610,8 @@ itemToBreakLists src/Dodge/Item/Grammar.hs 41;" f
itemToFunction src/Dodge/Item/Grammar.hs 67;" f itemToFunction src/Dodge/Item/Grammar.hs 67;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f
itemUpdate src/Dodge/Creature/State.hs 310;" f itemUpdate src/Dodge/Creature/State.hs 310;" f
itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 34;" f itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 56;" f
itemUseEffect' src/Dodge/Creature/Impulse/UseItem.hs 34;" f
iterateUntil src/MonadHelp.hs 23;" f iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 22;" f itmBaseInfo src/Dodge/Item/Info.hs 22;" f
@@ -4614,7 +4620,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 17;" f
itmUsageInfo src/Dodge/Item/Info.hs 200;" f itmUsageInfo src/Dodge/Item/Info.hs 200;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 121;" f joinItemsInList src/Dodge/Item/Grammar.hs 140;" 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
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
@@ -4647,6 +4653,7 @@ lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f
lasTunnel src/Dodge/Room/LasTurret.hs 124;" f lasTunnel src/Dodge/Room/LasTurret.hs 124;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
laserLinkTest src/Dodge/Item/Grammar.hs 88;" f
lastMap src/Dodge/DoubleTree.hs 174;" f lastMap src/Dodge/DoubleTree.hs 174;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f latchkey src/Dodge/Item/Held/Utility.hs 23;" f
launcher src/Dodge/Item/Held/Launcher.hs 12;" f launcher src/Dodge/Item/Held/Launcher.hs 12;" f
@@ -4666,10 +4673,10 @@ ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f ldtToLoc src/Dodge/DoubleTree.hs 187;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 96;" f leftInfo src/Dodge/Item/Info.hs 96;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 91;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 110;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f
leftPad src/Padding.hs 14;" f leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 105;" f leftRightCombine src/Dodge/Item/Grammar.hs 124;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
@@ -4698,6 +4705,8 @@ listCursorChooseBorderScale src/Dodge/Render/List.hs 105;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 245;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 245;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 91;" f
llright src/Dodge/Item/Grammar.hs 94;" f
lmt src/MatrixHelper.hs 43;" f lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 255;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 255;" f
@@ -5393,7 +5402,7 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 71;" f rhombus src/Polyhedra.hs 71;" f
rifle src/Dodge/Item/Held/Cane.hs 51;" f rifle src/Dodge/Item/Held/Cane.hs 51;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 98;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 117;" f
rightPad src/Padding.hs 22;" f rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5885,6 +5894,7 @@ toColor8 src/Color.hs 148;" f
toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f
toFloatVAs src/Shader/Compile.hs 211;" f toFloatVAs src/Shader/Compile.hs 211;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 99;" f
toMultiset src/Multiset.hs 58;" f toMultiset src/Multiset.hs 58;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 185;" f toTopLeft src/Dodge/Render/List.hs 185;" f
@@ -5893,7 +5903,7 @@ toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f toV4 src/Geometry/Data.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 32;" f toggleCombineInv src/Dodge/DisplayInventory.hs 32;" f
toggleCommand src/Dodge/Terminal.hs 194;" f toggleCommand src/Dodge/Terminal.hs 194;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 54;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 75;" f
toggleJust src/MaybeHelp.hs 41;" f toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 237;" f toggleMap src/Dodge/Update/Input/InGame.hs 237;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 244;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 244;" f
@@ -5912,7 +5922,7 @@ torso src/Dodge/Creature/Picture.hs 102;" 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 265;" f tractorBeamAt src/Dodge/HeldUse.hs 265;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 67;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 64;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 375;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 375;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
@@ -6135,8 +6145,8 @@ upperPrismPolyST src/Shape.hs 107;" f
upperPrismPolySU src/Shape.hs 113;" f upperPrismPolySU src/Shape.hs 113;" f
upperPrismPolyTS src/Shape.hs 119;" f upperPrismPolyTS src/Shape.hs 119;" f
upperRounded src/Shape.hs 183;" f upperRounded src/Shape.hs 183;" f
useBreakL' src/Dodge/Item/Grammar.hs 23;" f useBreakL src/Dodge/Item/Grammar.hs 22;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 29;" f useBreakListsLinkTest src/Dodge/Item/Grammar.hs 28;" f
useBulletPayload src/Dodge/Bullet.hs 105;" f useBulletPayload src/Dodge/Bullet.hs 105;" 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
@@ -6144,9 +6154,9 @@ useE src/Dodge/Euse.hs 24;" f
useEquipment src/Dodge/Creature/State.hs 145;" f useEquipment src/Dodge/Creature/State.hs 145;" f
useGasParams src/Dodge/HeldUse.hs 412;" f useGasParams src/Dodge/HeldUse.hs 412;" f
useHotKey src/Dodge/Creature/YourControl.hs 48;" f useHotKey src/Dodge/Creature/YourControl.hs 48;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 145;" f
useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 99;" f useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 120;" f
useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 112;" f useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 133;" f
useL src/Dodge/Luse.hs 13;" f useL src/Dodge/Luse.hs 13;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 207;" f useLoadedAmmo src/Dodge/HeldUse.hs 207;" f