Extend inv item location information to include "attached" items

This commit is contained in:
2024-09-24 21:26:26 +01:00
parent fbb60bf358
commit fe00af0e73
17 changed files with 184 additions and 131 deletions
+1 -1
View File
@@ -1 +1 @@
All good (620 modules, at 18:25:19)
All good (620 modules, at 21:25:42)
+1 -1
View File
@@ -48,7 +48,7 @@ followImpulse cr w imp = case imp of
TurnTo p -> crup $ creatureTurnTo p cr
ChangePosture post -> crup $ cr & crStance . posture .~ post
UseItem -> (useRootItem $ _crID cr, cr)
SwitchToItem i -> crup $ cr & crManipulation . manObject .~ InInventory (SelectedItem i i)
SwitchToItem i -> crup $ cr & crManipulation . manObject .~ InInventory (SelectedItem i i mempty)
Melee cid' ->
( hitCr cid'
, crMvAbsolute (10 *.* normalizeV (posFromID cid' -.- cpos)) $ cr & crMeleeCooldown .~ 20
+2 -2
View File
@@ -21,11 +21,11 @@ data ItInvEffect
| ChargeIfEquipped
| ChargeIfInInventory
| SetCharge Int
| EffectIfHeld ItInvEffect ItInvEffect
| EffectRootNotroot ItInvEffect ItInvEffect
| CreateHeldLight
| CreateShieldWall
| RemoveShieldWall
| EffectWhileHeld ItInvEffect
| EffectWhileRoot ItInvEffect
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ItFloorEffect = NoFloorEffect
+7 -1
View File
@@ -23,7 +23,13 @@ data CrInt = CrInt
deriving (Eq,Ord,Show,Read)
data ItemLocation
= InInv {_ilCrID :: Int, _ilInvID :: Int, _ilIsRoot :: Bool, _ilIsSelected :: Bool}
= InInv
{ _ilCrID :: Int
, _ilInvID :: Int
, _ilIsRoot :: Bool
, _ilIsSelected :: Bool
, _ilIsAttached :: Bool
}
| OnTurret {_ilTuID :: Int}
| OnFloor {_ilFlID :: NewInt FloorInt}
| InVoid
@@ -5,6 +5,7 @@
module Dodge.Data.Item.Use.Consumption.LoadAction where
import qualified Data.IntSet as IS
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
@@ -30,7 +31,11 @@ data NearbyManipulation
data InventoryManipulation
= SortInventory
| SelectedItem { _imSelectedItem :: Int, _imRootItem :: Int}
| SelectedItem
{ _imSelectedItem :: Int
, _imRootItem :: Int
, _imAttachedItems :: IS.IntSet
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data InvSelAction
+8
View File
@@ -32,6 +32,14 @@ dtToAdjacency f (DT x l r) = IM.insert (f x) (map g l <> map g r)
where
g = f . _dtValue
dtToIntMapWithRoot :: (a -> Int) -> DoubleTree a -> IM.IntMap (Maybe Int, DoubleTree a)
dtToIntMapWithRoot f t@(DT x l r) = IM.insert (f x) (Nothing, t) $
foldMap (dtToRootIntMap' (f x) f) $ l <> r
dtToRootIntMap' :: Int -> (a -> Int) -> DoubleTree a -> IM.IntMap (Maybe Int, DoubleTree a)
dtToRootIntMap' root f t@(DT x l r) = IM.insert (f x) (Just root, t) $
foldMap (dtToRootIntMap' root f) $ l <> r
dtToUpDownAdj :: (a -> Int) -> DoubleTree a -> IM.IntMap ([Int],[Int])
dtToUpDownAdj f (DT x l r) = IM.insert (f x) (map g l , map g r)
. IM.unions $ map (dtToUpDownAdj f) $ l <> r
+8 -1
View File
@@ -47,8 +47,15 @@ tryPutItemInInv cid flit w = case maybeInvSlot of
where
it = _flIt flit
maybeInvSlot = checkInvSlotsYou it w
-- not sure if the following is necessary
updateItLocation invid w' = w' & cWorld . lWorld . itemLocations . ix (_itID it)
.~ InInv cid invid False False
.~ InInv
{_ilCrID = cid
, _ilInvID = invid
, _ilIsRoot = False
, _ilIsSelected = False
, _ilIsAttached = False
}
---- should select the item on the floor if no inventory space?
--createAndSelectItem :: Item -> World -> World
+26 -6
View File
@@ -5,6 +5,8 @@ module Dodge.Inventory.Location
, tryGetRootItemInvID
)
where
import qualified Data.IntSet as IS
import Dodge.Base.You
import Dodge.Data.SelectionList
import Dodge.Data.Item.Use.Consumption.LoadAction
@@ -15,6 +17,15 @@ import Dodge.Item.Grammar
import Data.Maybe
import Control.Applicative
-- assumes all item locations inside the items are correct
tryGetRootAttachedFromInvID :: Int -> IM.IntMap Item -> Maybe (Int, IS.IntSet)
tryGetRootAttachedFromInvID invid im = do
let imroots = invRootMap im
theroot = fromMaybe invid $ imroots ^? ix invid . _1 . _Just
t <- imroots ^? ix theroot . _2
return (theroot, foldMap (IS.singleton . (^?! _1 . itLocation . ilInvID)) t)
-- this assumes the creature inventory is well formed, specifically the
-- location ids
tryGetRootItemInvID :: Int -> Creature -> Maybe Int
@@ -22,8 +33,8 @@ tryGetRootItemInvID i cr = do
let adj = case invAdj' (_crInv cr) of
Left str -> error $ "tryToGetRootItemInvID: "++ str
Right x -> x
thetree <- adj ^? ix i -- to check that the index does point to SOME item in the inventory
thetree ^? _1 . _Just . _1 <|> Just i
theroot <- adj ^? ix i
theroot ^? _1 . _Just . _1 <|> Just i
updateRootItemID :: Creature -> Creature
updateRootItemID cr = fromMaybe cr $ do
@@ -44,8 +55,13 @@ crUpdateInvidLocations mo crid lw invid itm = lw
& itemLocations %~ IM.insert itid newloc
where
itid = itm ^. itID
newloc = InInv crid invid (Just invid == mo ^? inInventory . imSelectedItem)
(Just invid == mo ^? inInventory . imRootItem)
newloc = InInv
{ _ilCrID = crid
, _ilInvID = invid
, _ilIsRoot = Just invid == mo ^? inInventory . imSelectedItem
, _ilIsSelected = Just invid == mo ^? inInventory . imRootItem
, _ilIsAttached = invid `IS.member` (mo ^. inInventory . imAttachedItems)
}
-- this should be looked at, as it is sometimes used in functions that need not
-- concern the player creature
@@ -61,8 +77,12 @@ setInvPosFromSS w =
case i of
(-1) -> Just $ InInventory SortInventory
0 -> do
rootid <- tryGetRootItemInvID j (you w)
return $ InInventory $ SelectedItem j rootid
(rootid,aset) <- tryGetRootAttachedFromInvID j (you w ^. crInv)
return $ InInventory $ SelectedItem
{ _imSelectedItem = j
, _imRootItem = rootid
, _imAttachedItems = aset
}
1 -> Just SelNothing
2 -> Just $ InNearby SortNearby
3 -> Just $ InNearby $ SelCloseObject j
+4 -4
View File
@@ -12,17 +12,17 @@ doInvEffect iie = case iie of
ChargeIfEquipped -> chargeIfEquipped
ChargeIfInInventory -> chargeIfInInventory
SetCharge i -> setItemCharge i
EffectIfHeld f g -> onOffEff f g
EffectRootNotroot f g -> rootNotrootEff f g
CreateHeldLight -> createHeldLight
CreateShieldWall -> createShieldWall
RemoveShieldWall -> removeShieldWall
EffectWhileHeld f -> onOffEff f NoInvEffect
EffectWhileRoot f -> rootNotrootEff f NoInvEffect
doFloorEffect :: ItFloorEffect -> Int -> World -> World
doFloorEffect NoFloorEffect = const id
onOffEff :: ItInvEffect -> ItInvEffect -> Item -> Creature -> World -> World
onOffEff f g it
rootNotrootEff :: ItInvEffect -> ItInvEffect -> Item -> Creature -> World -> World
rootNotrootEff f g it
| it ^? itLocation . ilIsRoot == Just True = doInvEffect f it
| otherwise = doInvEffect g it
+11
View File
@@ -2,6 +2,7 @@ module Dodge.Item.Grammar
(invTrees
, invIndentIM
, invAdj'
, invRootMap
)
where
import Control.Applicative
@@ -101,6 +102,16 @@ invLDT = joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentComb
-- (error ("invAdj item " ++ show (_itID itm) ++ " location:" ++ show (itm ^? itLocation . ilInvID)) )
-- $ itm ^? itLocation . ilInvID
-- this assumes the creature inventory is well formed, specifically the
-- location ids
-- consider explicitly reseting the inventory ids (but this probably really
-- should be done upstream anyway in the actually creature inventory)
invRootMap :: IM.IntMap Item -> IM.IntMap (Maybe Int, DoubleTree ComposedItemStructure)
invRootMap = foldMap (dtToIntMapWithRoot (^?! _1 . itLocation . ilInvID) . ldtToDT) . invLDT
--invRootMap = foldMap (dtToRootIntMap g . ldtToDT) . invLDT
-- where
-- g = _
-- this assumes the creature inventory is well formed, specifically the
-- location ids
-- consider explicitly reseting the inventory ids (but this probably really
+2 -2
View File
@@ -9,7 +9,7 @@ import Dodge.Data.Item
flatShield :: Item
flatShield =
defaultHeldItem
& itEffect . ieInv .~ EffectIfHeld CreateShieldWall RemoveShieldWall
& itEffect . ieInv .~ EffectRootNotroot CreateShieldWall RemoveShieldWall
& itUse . heldAim . aimWeight .~ 5
& itUse . heldAim . aimTurnSpeed .~ 0.5
& itUse . heldAim . aimStance .~ TwoHandFlat
@@ -26,7 +26,7 @@ latchkey _ = defaultHeldItem
torch :: Item
torch =
defaultHeldItem
& itEffect . ieInv .~ EffectWhileHeld CreateHeldLight
& itEffect . ieInv .~ EffectWhileRoot CreateHeldLight
& itType . iyBase .~ HELD TORCH
-- & itUse . heldAim . aimHandlePos .~ 5
& itUse . heldAim . aimMuzzles . ix 0 . mzPos . _x .~ 10
+3 -2
View File
@@ -35,12 +35,13 @@ pointerToItemLocation _ = const pure
pointerYourSelectedItem :: Applicative a => (Item -> a Item) -> World -> a World
pointerYourSelectedItem f w = fromMaybe (pure w) $ do
itinvid <- w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . inInventory . imSelectedItem
Just $ pointerToItemLocation (InInv 0 itinvid True True) f w
Just $ pointerToItemLocation (InInv 0 itinvid True True True) f w
-- note the ilIsRoot/Selected/Attached booleans are irrelevant
pointerYourRootItem :: Applicative a => (Item -> a Item) -> World -> a World
pointerYourRootItem f w = fromMaybe (pure w) $ do
itinvid <- w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . inInventory . imRootItem
Just $ pointerToItemLocation (InInv 0 itinvid True True) f w
Just $ pointerToItemLocation (InInv 0 itinvid True True True) f w
pointerToItem ::
Applicative f =>
+8 -1
View File
@@ -37,13 +37,20 @@ initCrItemLocations w cr = (w', cr & crInv .~ newinv)
where
(w',newinv) = imapAccumR (initCrItemLocation cr) w (_crInv cr)
-- does not worry about creature manipulation for now
initCrItemLocation :: Creature -> Int -> LWorld -> Item -> (LWorld,Item)
initCrItemLocation cr invid w it = (w & itemLocations . at locid ?~ loc
,it & itID .~ locid
& itLocation .~ loc)
where
locid = IM.newKey ( w ^. itemLocations)
loc = InInv (_crID cr) invid False False
loc = InInv
{ _ilCrID = _crID cr
, _ilInvID = invid
, _ilIsRoot = False
, _ilIsSelected = False
, _ilIsAttached = False
}
initFlItemLocation :: LWorld -> FloorItem -> (LWorld, FloorItem)
+1 -1
View File
@@ -8,7 +8,7 @@ import Geometry
setRemoteScope :: Int -> Point2 -> World -> World
setRemoteScope itid pos w = case w ^? cWorld . lWorld . itemLocations . ix itid of
Just (InInv cid' invid _ _) ->
Just (InInv cid' invid _ _ _) ->
w
& cWorld . lWorld . creatures . ix cid' . crInv . ix invid . itScope
. remotePos
+1 -1
View File
@@ -125,7 +125,7 @@ floorItemPickupInfo n itm
-- it is probably desirable for this to crash hard for now
yourAugmentedItem :: (Item -> a) -> a -> (Either FloorItem Button -> a) -> World -> a
yourAugmentedItem f x g w = case you w ^? crManipulation . manObject of
Just (InInventory (SelectedItem i _)) -> f $ yourInv w ^?! ix i
Just (InInventory (SelectedItem i _ _)) -> f $ yourInv w ^?! ix i
Just (InNearby (SelCloseObject i)) -> g $ w ^?! hud . closeObjects . ix i
_ -> x
+3 -2
View File
@@ -25,7 +25,8 @@ testStringInit u = (topTestPart u
(IM.toList . IM.filter (\itloc -> itloc ^? ilCrID == Just 0) $ (u ^. uvWorld . cWorld . lWorld . itemLocations)) <> ( IM.elems $ fmap h (u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crInv))
where
h itm = (_itID itm, _itLocation itm)
showh (x,(InInv a b c d)) = show x ++ "," ++ show a ++ "," ++ show b ++"," ++ show c ++"," ++ show d
showh (x,(InInv a b c d e)) = show x ++ "," ++ show a ++ "," ++ show b ++"," ++ show c ++"," ++ show d
++ "," ++ show e
showh _ = ""
topTestPart :: Universe -> [String]
@@ -35,7 +36,7 @@ topTestPart u = [show $ u ^? uvWorld . hud . hudElement . diSections . sssExtra
showManObj :: ManipulatedObject -> String
showManObj (InInventory SortInventory) = "SortInventory"
showManObj (InInventory (SelectedItem x y)) = "SelItem: "++ show x++ " Root: "++show y
showManObj (InInventory (SelectedItem x y z)) = "SelItem: "++ show x++ " Root: "++show y++" Attached: "++show z
showManObj (SelNothing) = "SelNothing"
showManObj ((InNearby SortNearby)) = "SortNearby"
showManObj (InNearby (SelCloseObject x)) = "Close " ++ show x
+92 -105
View File
@@ -282,7 +282,7 @@ Branch src/Dodge/Room/Branch.hs 4;" m
Breather src/Dodge/Room/Breather.hs 1;" m
BrigSS src/Dodge/Data/Scenario.hs 102;" C
Brute src/Dodge/Data/Creature/Capability.hs 19;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 18;" C
BtNoLabel src/Dodge/Data/Button.hs 63;" C
BtOff src/Dodge/Data/Button.hs 63;" C
BtOn src/Dodge/Data/Button.hs 63;" C
@@ -373,7 +373,7 @@ Carriage src/Dodge/Data/Creature/Stance.hs 20;" t
Carte src/Dodge/Render/HUD/Carte.hs 1;" m
ChainAnos src/Dodge/Layout/Tree/Annotate.hs 28;" C
ChainEffect src/Dodge/ChainEffect.hs 4;" t
ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 84;" t
ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 57;" t
ChainEffect src/Dodge/ChainEffect.hs 1;" m
ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
@@ -823,8 +823,8 @@ EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t
Effect src/Dodge/Data/Item/Effect.hs 6;" m
Effect src/Dodge/Default/Item/Effect.hs 1;" m
EffectArguments src/Dodge/Data/Terminal.hs 92;" t
EffectIfHeld src/Dodge/Data/Item/Effect.hs 24;" C
EffectWhileHeld src/Dodge/Data/Item/Effect.hs 28;" C
EffectRootNotroot src/Dodge/Data/Item/Effect.hs 24;" C
EffectWhileRoot src/Dodge/Data/Item/Effect.hs 28;" C
EighthRes src/Dodge/Data/Config.hs 95;" C
Either src/Dodge/Layout/Tree/Either.hs 4;" m
Eldritch src/Dodge/Data/Scenario.hs 34;" C
@@ -1196,15 +1196,15 @@ InDivineZone src/Dodge/Data/Scenario.hs 22;" C
InDream src/Dodge/Data/Scenario.hs 19;" C
InGame src/Dodge/Update/Input/InGame.hs 1;" m
InInv src/Dodge/Data/Item/Location.hs 26;" C
InInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C
InInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C
InLink src/Dodge/Data/Room.hs 44;" C
InLink src/Dodge/Room/Data.hs 44;" C
InNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C
InNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" C
InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C
InPlacement src/Dodge/Data/GenWorld.hs 133;" t
InRealWorld src/Dodge/Data/Scenario.hs 18;" C
InSimulation src/Dodge/Data/Scenario.hs 20;" C
InVoid src/Dodge/Data/Item/Location.hs 29;" C
InVoid src/Dodge/Data/Item/Location.hs 35;" C
Inanimate src/Dodge/Data/ActionPlan.hs 17;" C
Inanimate src/Dodge/Creature/Inanimate.hs 5;" m
InanimateAI src/Dodge/Data/Creature/Misc.hs 51;" C
@@ -1248,13 +1248,13 @@ InvLayer src/Dodge/Picture/Layer/Data.hs 12;" C
InvSel src/Dodge/Data/Creature/InvSel.hs 13;" t
InvSel src/Dodge/Data/LoadAction.hs 19;" t
InvSel src/Dodge/Data/Creature/InvSel.hs 5;" m
InvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 36;" t
InvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 41;" t
InvSelAction src/Dodge/Data/LoadAction.hs 24;" t
Inventory src/Dodge/Inventory.hs 2;" m
InventoryChange src/Dodge/Data/World.hs 32;" C
InventoryColor src/Dodge/Item/InventoryColor.hs 1;" m
InventoryDisplay src/Dodge/Item/Weapon/InventoryDisplay.hs 4;" m
InventoryManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" t
InventoryManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" t
InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C
Investigate src/Dodge/Data/ActionPlan.hs 184;" C
Invisible src/Dodge/Data/CamouflageStatus.hs 13;" C
@@ -1549,9 +1549,9 @@ Make src/Dodge/Corpse/Make.hs 1;" m
MakeDefaultCorpse src/Dodge/Data/Creature.hs 92;" C
MakeSound src/Dodge/Data/ActionPlan.hs 43;" C
MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 31;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" t
Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 13;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" t
Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" C
MapHelp src/MapHelp.hs 1;" m
Material src/Dodge/Data/Material.hs 11;" t
Material src/Dodge/Data/Material.hs 6;" m
@@ -1683,7 +1683,7 @@ NearCosmicRays src/Dodge/Data/Scenario.hs 84;" C
NearDustBelt src/Dodge/Data/Scenario.hs 85;" C
NearGravityFlux src/Dodge/Data/Scenario.hs 83;" C
NearSolar src/Dodge/Data/Scenario.hs 82;" C
NearbyManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" t
NearbyManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" t
NewID src/Dodge/Base/NewID.hs 1;" m
NewInt src/NewInt.hs 15;" t
NewInt src/NewInt.hs 7;" m
@@ -1719,7 +1719,7 @@ NoHammer src/Dodge/Data/Hammer.hs 13;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoInvEffect src/Dodge/Data/ItEffect.hs 37;" C
NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C
NoInvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 37;" C
NoInvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 42;" C
NoInvSelAction src/Dodge/Data/LoadAction.hs 25;" C
NoItAttachment src/Dodge/Data/Item/Attachment.hs 18;" C
NoItAttachment src/Dodge/Item/Attachment/Data.hs 20;" C
@@ -1817,7 +1817,7 @@ OnBack src/Dodge/Equipment/Data.hs 20;" C
OnChest src/Dodge/Data/Equipment/Misc.hs 22;" C
OnChest src/Dodge/Equipment/Data.hs 19;" C
OnEdge src/Dodge/Data/Room.hs 46;" C
OnFloor src/Dodge/Data/Item/Location.hs 28;" C
OnFloor src/Dodge/Data/Item/Location.hs 34;" C
OnHead src/Dodge/Data/Equipment/Misc.hs 21;" C
OnHead src/Dodge/Equipment/Data.hs 18;" C
OnLeftWrist src/Dodge/Data/Equipment/Misc.hs 24;" C
@@ -1829,7 +1829,7 @@ OnRightWrist src/Dodge/Data/Equipment/Misc.hs 25;" C
OnRightWrist src/Dodge/Equipment/Data.hs 22;" C
OnSpecial src/Dodge/Data/Equipment/Misc.hs 27;" C
OnSpecial src/Dodge/Equipment/Data.hs 24;" C
OnTurret src/Dodge/Data/Item/Location.hs 27;" C
OnTurret src/Dodge/Data/Item/Location.hs 33;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 15;" C
OneArgument src/Dodge/Data/Terminal.hs 94;" C
OneHand src/Dodge/Data/Item/Use.hs 185;" C
@@ -2293,11 +2293,11 @@ SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 49;" t
SeeAbove src/Dodge/Data/Wall.hs 40;" C
SeeThrough src/Dodge/Data/Wall.hs 39;" C
SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C
SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C
SelectUse src/Dodge/SelectUse.hs 1;" m
Select_creature src/Dodge/Data/Config.hs 92;" C
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 34;" C
SelectionInfo src/Dodge/Data/SelectionList.hs 84;" C
SelectionIntMap src/SelectionIntMap.hs 1;" m
SelectionItem src/Dodge/Data/SelectionList.hs 75;" t
@@ -2412,8 +2412,8 @@ SmoothScroll src/Dodge/SmoothScroll.hs 1;" m
SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C
SolarGovernment src/Dodge/Data/Scenario.hs 53;" C
SonicGuns src/Dodge/Item/Weapon/SonicGuns.hs 1;" m
SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" C
SortNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" C
SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C
SortNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
Sound src/Sound/Data.hs 49;" t
Sound src/Dodge/Material/Sound.hs 1;" m
Sound src/Dodge/WorldEvent/Sound.hs 1;" m
@@ -3491,14 +3491,16 @@ _ieMID src/Dodge/Data/ItEffect.hs 27;" f
_ieMID src/Dodge/Data/ItEffect.hs 32;" f
_ieOnDrop src/Dodge/Data/Item/Effect.hs 15;" f
_ieOnInsert src/Dodge/Data/Item/Effect.hs 14;" f
_ilCrID src/Dodge/Data/Item/Location.hs 26;" f
_ilFlID src/Dodge/Data/Item/Location.hs 28;" f
_ilInvID src/Dodge/Data/Item/Location.hs 26;" f
_ilIsRoot src/Dodge/Data/Item/Location.hs 26;" f
_ilIsSelected src/Dodge/Data/Item/Location.hs 26;" f
_ilTuID src/Dodge/Data/Item/Location.hs 27;" f
_imRootItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" f
_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" f
_ilCrID src/Dodge/Data/Item/Location.hs 27;" f
_ilFlID src/Dodge/Data/Item/Location.hs 34;" f
_ilInvID src/Dodge/Data/Item/Location.hs 28;" f
_ilIsAttached src/Dodge/Data/Item/Location.hs 31;" f
_ilIsRoot src/Dodge/Data/Item/Location.hs 29;" f
_ilIsSelected src/Dodge/Data/Item/Location.hs 30;" f
_ilTuID src/Dodge/Data/Item/Location.hs 33;" f
_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 37;" f
_imRootItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 36;" f
_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 35;" f
_immediateEffect src/Loop/Data.hs 9;" f
_immediateUpdate src/Loop/Data.hs 12;" f
_impulseUseAheadPos src/Dodge/Data/ActionPlan.hs 56;" f
@@ -3507,8 +3509,8 @@ _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f
_impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f
_imtBulletTrajectoryType src/Dodge/Data/Item/Combine.hs 210;" f
_imtTargetType src/Dodge/Data/Item/Combine.hs 211;" f
_inInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" f
_inNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f
_inInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" f
_inNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f
_input src/Dodge/Data/World.hs 43;" f
_insertMax src/Dodge/Data/LoadAction.hs 13;" f
_instantBullets src/Dodge/Data/LWorld.hs 106;" f
@@ -3524,7 +3526,7 @@ _iselMItem src/Dodge/Data/Creature/InvSel.hs 16;" f
_iselPos src/Dodge/Data/Creature/Capability.hs 22;" f
_iselPos src/Dodge/Data/Creature/InvSel.hs 14;" f
_iselPos src/Dodge/Data/LoadAction.hs 19;" f
_ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" f
_ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f
_itAttachments src/Dodge/Data/Item.hs 48;" f
_itCurseStatus src/Dodge/Data/Item.hs 44;" f
_itDimension src/Dodge/Data/Item.hs 43;" f
@@ -3622,7 +3624,7 @@ _machines src/Dodge/Data/LWorld.hs 126;" f
_magShieldMgMIX src/Dodge/Data/Item/Params.hs 19;" f
_magnets src/Dodge/Data/LWorld.hs 128;" f
_mainAction src/Dodge/Data/ActionPlan.hs 171;" f
_manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f
_manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f
_matUBO src/Data/Preload/Render.hs 39;" f
_mbAttach src/Dodge/Tree/Compose/Data.hs 10;" f
_mbTree src/Dodge/Tree/Compose/Data.hs 10;" f
@@ -4392,7 +4394,6 @@ advanceScrollAmount src/Dodge/Update.hs 297;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
advanceStepCounter src/Dodge/Creature/Action/Movement.hs 56;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 295;" f
aimDelaySweep src/Dodge/Render/ShapePicture.hs 45;" f
aimStanceInfo src/Dodge/Item/Info.hs 229;" f
aimTurn src/Dodge/Creature/YourControl.hs 189;" f
@@ -4411,7 +4412,7 @@ airlockZ src/Dodge/Room/Airlock.hs 91;" f
allHotkeys src/Dodge/Creature/YourControl.hs 52;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 145;" f
ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 118;" f
ammoComposedItem src/Dodge/Item/Grammar.hs 45;" f
ammoTweakStrings src/Dodge/Render/HUD.hs 288;" f
amr src/Dodge/Item/Held/Rod.hs 46;" f
@@ -4580,7 +4581,7 @@ bezierGun src/Dodge/Item/Weapon/Bezier.hs 24;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 216;" f
bindFBO src/Render.hs 244;" f
blCheck src/Dodge/Item/Weapon/TriggerType.hs 398;" f
blCheck src/Dodge/Item/Weapon/TriggerType.hs 291;" f
black src/Color.hs 27;" f
blank src/Picture/Base.hs 59;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
@@ -4879,9 +4880,9 @@ crSpring src/Dodge/Update.hs 643;" f
crStratConMatches src/Dodge/Creature/Test.hs 72;" f
crToBox' src/Dodge/Creature/ShadowBox.hs 10;" f
crUpdateInvidLocations src/Dodge/Inventory/FindRoot.hs 29;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 39;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 52;" f
crUpdateItemLocations src/Dodge/Inventory/FindRoot.hs 23;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 33;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 46;" f
crZoneOfPoint src/Dodge/Base/Zone.hs 54;" f
crZoneSize src/Dodge/Zoning/Creature.hs 39;" f
craftInfo src/Dodge/Item/Info.hs 154;" f
@@ -4894,7 +4895,7 @@ createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 159;" f
createHeldLight src/Dodge/ItEffect.hs 70;" f
createItemYou src/Dodge/Inventory/Add.hs 67;" f
createItemYou src/Dodge/Inventory/Add.hs 70;" f
createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 76;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
@@ -5398,19 +5399,15 @@ dropItem src/Dodge/Creature/Action.hs 177;" f
dropItemKey src/Dodge/Config/KeyConfig.hs 24;" f
drumMag src/Dodge/Item/Ammo.hs 36;" f
dtIL src/Dodge/DoubleTree.hs 22;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 65;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 71;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 73;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 79;" f
dtToAdjacency src/Dodge/DoubleTree.hs 29;" f
dtToLRAdj src/Dodge/DoubleTree.hs 43;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 53;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 35;" f
dtToIntMapWithRoot src/Dodge/DoubleTree.hs 35;" f
dtToLRAdj src/Dodge/DoubleTree.hs 51;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 61;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 39;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 43;" f
dummyMenuOption src/Dodge/Menu/Option.hs 81;" f
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 742;" f
duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 688;" f
duplicateLoadedBarrels src/Dodge/Item/Weapon/TriggerType.hs 714;" f
duplicateNumBarrels src/Dodge/Item/Weapon/TriggerType.hs 698;" f
duplicateOffsetsFocus src/Dodge/Item/Weapon/TriggerType.hs 723;" f
duplicateOffsetsV2 src/Dodge/Item/Weapon/TriggerType.hs 747;" f
ebFlicker src/Dodge/EnergyBall.hs 94;" f
edgeFormatting src/Dodge/Combine/Graph.hs 119;" f
edgeToPic src/Dodge/Debug/Picture.hs 392;" f
@@ -5689,8 +5686,8 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 37;" f
hammerCheck src/Dodge/Item/Weapon/TriggerType.hs 403;" f
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 414;" f
hammerCheck src/Dodge/Item/Weapon/TriggerType.hs 296;" f
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 307;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 42;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
@@ -5715,7 +5712,7 @@ hatCombinations src/Dodge/Combine/Combinations.hs 33;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 118;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 494;" f
headMap src/Dodge/DoubleTree.hs 109;" f
headMap src/Dodge/DoubleTree.hs 117;" f
heal src/Dodge/Item/Consumable.hs 17;" f
heal25 src/Dodge/Item/Consumable.hs 14;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f
@@ -5839,19 +5836,20 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj' src/Dodge/Item/Grammar.hs 104;" f
invAdj' src/Dodge/Item/Grammar.hs 118;" f
invDimColor src/Dodge/DisplayInventory.hs 140;" f
invDimColor src/Dodge/Inventory/Color.hs 4;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 296;" f
invIndentIM src/Dodge/Item/Grammar.hs 114;" f
invIndentIM src/Dodge/Item/Grammar.hs 128;" f
invLDT src/Dodge/Item/Grammar.hs 91;" f
invRootMap src/Dodge/Item/Grammar.hs 108;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 236;" f
invSize src/Dodge/Inventory/CheckSlots.hs 40;" f
invTrees src/Dodge/Item/Grammar.hs 117;" f
invTrees src/Dodge/Item/Grammar.hs 131;" f
inventoryExtra src/Dodge/Render/HUD.hs 189;" f
inventoryExtraH src/Dodge/Render/HUD.hs 193;" f
inventoryX src/Dodge/Creature.hs 115;" f
@@ -5893,7 +5891,7 @@ itBounds src/Dodge/Item/Module.hs 22;" f
itSlotsTaken src/Dodge/Inventory/ItemSpace.hs 9;" f
itSlotsTaken src/Dodge/Item/SlotsTaken.hs 9;" f
itStackAmount src/Dodge/Item/Amount.hs 7;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 158;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 131;" f
itemBaseName src/Dodge/Item/Display.hs 62;" f
itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f
itemBlips src/Dodge/RadarSweep.hs 75;" f
@@ -5981,7 +5979,7 @@ lasTunnel src/Dodge/Room/LasTurret.hs 124;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
lasTurret src/Dodge/Placements/Turret.hs 29;" f
lastMap src/Dodge/DoubleTree.hs 113;" f
lastMap src/Dodge/DoubleTree.hs 121;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
latchkey src/Dodge/Item/PassKey.hs 14;" f
launcher src/Dodge/Item/Held/Launcher.hs 12;" f
@@ -5992,10 +5990,10 @@ launcherX src/Dodge/Item/Held/Launcher.hs 48;" f
layerNum src/Picture/Data.hs 31;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 90;" f
ldtIL src/Dodge/DoubleTree.hs 88;" f
ldtIL src/Dodge/DoubleTree.hs 96;" f
ldtToDT src/Dodge/DoubleTree.hs 13;" f
ldtToIM src/Dodge/DoubleTree.hs 82;" f
ldtToIndentList src/Dodge/DoubleTree.hs 85;" f
ldtToIM src/Dodge/DoubleTree.hs 90;" f
ldtToIndentList src/Dodge/DoubleTree.hs 93;" f
left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 109;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 57;" f
@@ -6058,7 +6056,7 @@ loadingScreen src/Dodge/Menu/Loading.hs 7;" f
loadme src/Dodge/Debug/Terminal.hs 135;" f
lockAndKeyRoomList src/Dodge/Room/LockAndKeyList.hs 11;" f
lockInv src/Dodge/Inventory/Lock.hs 6;" f
lockInvFor src/Dodge/Item/Weapon/TriggerType.hs 91;" f
lockInvFor src/Dodge/Item/Weapon/TriggerType.hs 64;" f
lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f
lockRoomMultiItems src/Dodge/LockAndKey.hs 14;" f
lockedStart src/Dodge/Room/RunPast.hs 34;" f
@@ -6275,7 +6273,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 154;" f
mntLight src/Dodge/Placements/LightSource.hs 89;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f
mntLightLnkCond src/Dodge/Placements/LightSource.hs 94;" f
modClock src/Dodge/Item/Weapon/TriggerType.hs 473;" f
modClock src/Dodge/Item/Weapon/TriggerType.hs 366;" f
modTo src/Geometry/Zone.hs 10;" f
modifierKey src/Dodge/Config/KeyConfig.hs 34;" f
moduleAttachPosition src/Dodge/Item/Module.hs 6;" f
@@ -6405,7 +6403,6 @@ obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 498;" f
onEquipWristShield src/Dodge/Euse.hs 83;" f
onLayerL src/Dodge/Picture/Layer.hs 16;" f
onOffEff src/Dodge/ItEffect.hs 24;" f
onRemoveWristShield src/Dodge/Euse.hs 92;" f
onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 97;" f
@@ -6494,7 +6491,7 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f
picAtCrPos1 src/Dodge/Render/ShapePicture.hs 100;" f
picFormat src/Polyhedra.hs 22;" f
picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 79;" f
pickUpItem src/Dodge/Inventory/Add.hs 82;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
pickUpSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
picsToSelectable src/Dodge/Render/HUD.hs 349;" f
@@ -6652,8 +6649,8 @@ prependTwo src/Geometry.hs 165;" f
pressedMBEffects src/Dodge/Update/UsingInput.hs 27;" f
pressedMBEffectsNoInventory src/Dodge/Update/UsingInput.hs 40;" f
pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 206;" f
prettyDT src/Dodge/DoubleTree.hs 118;" f
prettyLDT src/Dodge/DoubleTree.hs 122;" f
prettyDT src/Dodge/DoubleTree.hs 126;" f
prettyLDT src/Dodge/DoubleTree.hs 130;" f
primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f
printColumnTitles src/Dodge/Tree/Shift.hs 142;" f
printColumns src/Dodge/Tree/Shift.hs 132;" f
@@ -6852,8 +6849,7 @@ renderLayer src/Render.hs 233;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 160;" f
renderShadows src/Render.hs 117;" f
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 676;" f
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 96;" f
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 69;" f
repeater src/Dodge/Item/Weapon/BulletGun/Cane.hs 89;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
@@ -6929,6 +6925,7 @@ roomThenCorridor src/Dodge/Layout/Tree/Annotate.hs 48;" f
roomTwistCross src/Dodge/Room/Boss.hs 151;" f
roomsContaining src/Dodge/Room/Containing.hs 19;" f
roomsContaining' src/Dodge/Room/Containing.hs 24;" f
rootNotrootEff src/Dodge/ItEffect.hs 24;" f
rose src/Color.hs 20;" f
rotD src/Padding.hs 47;" f
rotListAt src/Padding.hs 52;" f
@@ -7062,7 +7059,7 @@ setHotkey src/Dodge/Hotkey.hs 38;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 50;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 69;" f
setItemCharge src/Dodge/ItEffect.hs 36;" f
setLayer src/Picture/Base.hs 139;" f
setLinkType src/Dodge/RoomLink.hs 60;" f
@@ -7160,7 +7157,7 @@ shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootFlameSpitter src/Dodge/HeldUse/SprayWeapon.hs 9;" f
shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f
shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 428;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 321;" f
shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 77;" f
shootLaser' src/Dodge/HeldUse.hs 242;" f
shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f
@@ -7212,7 +7209,6 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/Dodge/RandomHelp.hs 50;" f
shuffleTail src/RandomHelp.hs 55;" f
sideEffectOnFrame src/Dodge/Item/Weapon/TriggerType.hs 656;" f
sideEffectUpdatePreload src/Dodge/PreloadData.hs 7;" f
sigmoid src/Dodge/Base.hs 129;" f
simpleCrSprings src/Dodge/Update.hs 639;" f
@@ -7593,7 +7589,7 @@ treePost src/TreeHelp.hs 45;" f
triLootRoom src/Dodge/Room/Treasure.hs 22;" f
triangulate src/Shader/Poke/Triangulate.hs 5;" f
triangulateIndices src/Shader/Poke/Triangulate.hs 9;" f
trigDoAlso src/Dodge/Item/Weapon/TriggerType.hs 103;" f
trigDoAlso src/Dodge/Item/Weapon/TriggerType.hs 76;" f
triggerDoorRoom src/Dodge/Room/Door.hs 30;" f
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
triggerSwitch src/Dodge/Placements/Button.hs 35;" f
@@ -7614,8 +7610,9 @@ tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 252;" f
tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
tryGetRootItemInvID src/Dodge/Inventory/FindRoot.hs 10;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 18;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 31;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f
tryNextLoadAction src/Dodge/Reloading.hs 36;" f
tryPlay src/Sound.hs 83;" f
@@ -7747,7 +7744,7 @@ updateRadarSweeps src/Dodge/Update.hs 445;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 105;" f
updateRootItemID src/Dodge/Inventory/FindRoot.hs 16;" f
updateRootItemID src/Dodge/Inventory/Location.hs 26;" f
updateRootItemID src/Dodge/Inventory/Location.hs 39;" f
updateScopeZoom src/Dodge/Update/Camera.hs 129;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 134;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
@@ -7804,8 +7801,6 @@ upperPrismPolySU src/Shape.hs 112;" f
upperPrismPolyTS src/Shape.hs 118;" f
upperRounded src/Shape.hs 181;" f
upsProjectile src/Dodge/Projectile/Update.hs 51;" f
useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 346;" f
useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 364;" f
useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
@@ -7833,7 +7828,7 @@ useRootItem src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useShrinkGun src/Dodge/Luse.hs 59;" f
useStopWatch src/Dodge/Luse.hs 24;" f
useTargetPos src/Dodge/Item/Weapon/Targeting.hs 9;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 378;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 271;" f
useTimeScrollGun src/Dodge/Luse.hs 32;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 214;" f
@@ -7930,33 +7925,25 @@ windowxsize src/LoadConfig.hs 12;" f
windowysize src/LoadConfig.hs 13;" f
withAlpha src/Color.hs 10;" f
withByteString src/Shader/Compile.hs 370;" f
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 511;" f
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 514;" f
withFlare src/Dodge/Item/Weapon/TriggerType.hs 478;" f
withItem src/Dodge/Item/Weapon/TriggerType.hs 451;" f
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 490;" f
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 528;" f
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 568;" f
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 552;" f
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 559;" f
withRandomDirI src/Dodge/Item/Weapon/TriggerType.hs 520;" f
withRandomItem src/Dodge/Item/Weapon/TriggerType.hs 547;" f
withRandomItemParams src/Dodge/Item/Weapon/TriggerType.hs 542;" f
withRandomItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 535;" f
withRandomOffset src/Dodge/Item/Weapon/TriggerType.hs 578;" f
withRecoil src/Dodge/Item/Weapon/TriggerType.hs 304;" f
withSidePushAfterI src/Dodge/Item/Weapon/TriggerType.hs 333;" f
withSidePushI src/Dodge/Item/Weapon/TriggerType.hs 314;" f
withSmoke src/Dodge/Item/Weapon/TriggerType.hs 116;" f
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 257;" f
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 270;" f
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 283;" f
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 228;" f
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 244;" f
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 465;" f
withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 134;" f
withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 125;" f
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 206;" f
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 404;" f
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 407;" f
withFlare src/Dodge/Item/Weapon/TriggerType.hs 371;" f
withItem src/Dodge/Item/Weapon/TriggerType.hs 344;" f
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 383;" f
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 412;" f
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 435;" f
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 419;" f
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 426;" f
withSmoke src/Dodge/Item/Weapon/TriggerType.hs 89;" f
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 230;" f
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 243;" f
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 256;" f
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 201;" f
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 217;" f
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 358;" f
withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 107;" f
withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 98;" f
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 179;" f
wlDustAt src/Dodge/Wall/Dust.hs 10;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f