Partial implementation of more sensible muzzle position determination

This commit is contained in:
2024-11-28 21:15:22 +00:00
parent 0d5e578f07
commit 3763ff2c8a
6 changed files with 188 additions and 133 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ import ShapePicture
-- the position of a weapon handle -- the position of a weapon handle
aimingWeaponHandlePos :: Creature -> Item -> Point2 aimingWeaponHandlePos :: Creature -> Item -> Point2
aimingWeaponHandlePos _ it = case it ^? itUse . heldAim . aimStance of aimingWeaponHandlePos _ it = case it ^? itUse . heldAim . aimStance of
Just TwoHandUnder -> 0 Just TwoHandUnder -> V2 (-2) 0
Just TwoHandOver -> V2 (-7) 0 Just TwoHandOver -> V2 (-7) 0
Just OneHand -> V2 10 (-2) Just OneHand -> V2 10 (-2)
Just TwoHandFlat -> V2 10 0 Just TwoHandFlat -> V2 10 0
+22 -29
View File
@@ -23,38 +23,31 @@ import Dodge.SelectUse
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
useRootItem :: Int -> World -> World useRootItem :: Int -> World -> World
useRootItem crid w = fromMaybe w $ do useRootItem crid w = (worldEventFlags . at InventoryChange ?~ ()) . fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix crid cr <- w ^? cWorld . lWorld . creatures . ix crid
itRef <- cr ^? crManipulation . manObject . imRootSelectedItem itRef <- cr ^? crManipulation . manObject . imRootSelectedItem
it <- invRootTrees (_crInv cr) ^? ix itRef itmtree <- invRootTrees (_crInv cr) ^? ix itRef
return $ let itm = itmtree ^. ldtValue . cItem
itemUseEffect' cr it w case itmtree ^. ldtValue . cItemFunction of
& worldEventFlags . at InventoryChange ?~ () WeaponPlatformSF ->
return $
heldEffect (bimap _iatType _cItem itmtree) cr w
& pointerToItem itm . itUse . heldHammer .~ HammerDown
EquipmentPlatformSF -> do
guard (_crHammerPosition cr == HammerUp)
invid <- itm ^? itLocation . ilInvID
return $ toggleEquipmentAt invid cr w
_ -> Nothing
itemUseEffect' :: Creature -> LabelDoubleTree ItemLink ComposedItem -> World -> World -- where
itemUseEffect' cr itmtree w = case itmtree ^. ldtValue . cItemFunction of -- UseHotkey{} -> doequipmentchange
WeaponPlatformSF -> -- UseEquip{} -> doequipmentchange
heldEffect (bimap _iatType _cItem itmtree) cr w -- (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w
& pointerToItem itm . itUse . heldHammer .~ HammerDown -- UseCraft{} -> w
EquipmentPlatformSF -> doequipmentchange -- UseAttach{} -> selectUse itmtree cr w
_ -> w -- UseAmmoMag{} -> w
where -- UseScope{} -> w
-- UseHotkey{} -> doequipmentchange -- UseBulletMod{} -> w
-- UseEquip{} -> doequipmentchange
-- (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w
-- UseCraft{} -> w
-- UseAttach{} -> selectUse itmtree cr w
-- UseAmmoMag{} -> w
-- UseScope{} -> w
-- UseBulletMod{} -> w
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
+105 -54
View File
@@ -4,8 +4,6 @@ module Dodge.Creature.State (
) where ) where
import Control.Monad import Control.Monad
import Dodge.Targeting.Draw
import Dodge.Data.DoubleTree
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import Data.Monoid import Data.Monoid
@@ -18,6 +16,7 @@ import Dodge.Creature.State.WalkCycle
import Dodge.Creature.Test import Dodge.Creature.Test
import Dodge.Damage import Dodge.Damage
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.World import Dodge.Data.World
import Dodge.DoubleTree import Dodge.DoubleTree
import Dodge.Euse import Dodge.Euse
@@ -27,6 +26,7 @@ import Dodge.Item.Grammar
import Dodge.Item.HeldOffset import Dodge.Item.HeldOffset
import Dodge.Prop.Gib import Dodge.Prop.Gib
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.Targeting.Draw
import Dodge.Zoning.Creature import Dodge.Zoning.Creature
import FoldableHelp import FoldableHelp
import Geometry import Geometry
@@ -74,13 +74,15 @@ crUpdate f =
checkDeath :: Creature -> World -> World checkDeath :: Creature -> World -> World
checkDeath cr w checkDeath cr w
| _crHP cr > 0 = w | _crHP cr > 0 =
& cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .~ [] w
| otherwise = w & cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .~ []
& dropByState cr -- the order of | otherwise =
& removecr -- these is important w
& stopSoundFrom (CrWeaponSound (_crID cr) 0) & dropByState cr -- the order of
& corpseOrGib cr & removecr -- these is important
& stopSoundFrom (CrWeaponSound (_crID cr) 0)
& corpseOrGib cr
where where
removecr removecr
| _crID cr == 0 = | _crID cr == 0 =
@@ -166,8 +168,11 @@ invSideEff cr = alaf Endo foldMap f (_crInv cr) . updateHeldRootItem cr
-- a loop going over all root inventory items -- a loop going over all root inventory items
invRootItemEffs :: Creature -> World -> World invRootItemEffs :: Creature -> World -> World
invRootItemEffs cr = appEndo $ foldMap (reduceLocLDT (Endo . invItemLocUpdate) . LocLDT TopLDT) invRootItemEffs cr =
(invLDT (_crInv cr)) appEndo $
foldMap
(reduceLocLDT (Endo . invItemLocUpdate) . LocLDT TopLDT)
(invLDT (_crInv cr))
invItemLocUpdate :: LocationLDT ItemLink PartiallyComposedItem -> World -> World invItemLocUpdate :: LocationLDT ItemLink PartiallyComposedItem -> World -> World
invItemLocUpdate loc w = case itm ^. itType of invItemLocUpdate loc w = case itm ^. itType of
@@ -176,24 +181,52 @@ invItemLocUpdate loc w = case itm ^. itType of
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 ^? locLDT . ldtLeft . ix 0 . _2 . ldtValue . _1
j <- bat ^? itLocation . ilInvID j <- bat ^? itLocation . ilInvID
y <- bat ^? itUse . amagLoadStatus . iaLoaded y <- bat ^? itUse . amagLoadStatus . iaLoaded
guard $ y > 0 guard $ y > 0
return $ w & cWorld . lWorld . creatures return $
. ix 0 . crInv . ix i . itUse . uaParams . apInt +~ 1 w
& cWorld . lWorld . creatures & cWorld . lWorld . creatures
. ix 0 . crInv . ix j . itUse . amagLoadStatus . iaLoaded -~ 1 . ix 0
. crInv
. ix i
. itUse
. uaParams
. apInt
+~ 1
& cWorld . lWorld . creatures
. ix 0
. crInv
. ix j
. itUse
. amagLoadStatus
. iaLoaded
-~ 1
else do else do
mag <- loc ^? locLdtContext . cldtParent . _1 mag <- loc ^? locLdtContext . cldtParent . _1
j <- mag ^? itLocation . ilInvID j <- mag ^? itLocation . ilInvID
y <- mag ^? itUse . amagLoadStatus . iaLoaded y <- mag ^? itUse . amagLoadStatus . iaLoaded
ymax <- mag ^? itUse . amagLoadStatus . iaMax ymax <- mag ^? itUse . amagLoadStatus . iaMax
guard $ y < ymax guard $ y < ymax
return $ w & cWorld . lWorld . creatures return $
. ix 0 . crInv . ix i . itUse . uaParams . apInt .~ 0 w
& cWorld . lWorld . creatures & cWorld . lWorld . creatures
. ix 0 . crInv . ix j . itUse . amagLoadStatus . iaLoaded +~ 1 . ix 0
. crInv
. ix i
. itUse
. uaParams
. apInt
.~ 0
& cWorld . lWorld . creatures
. ix 0
. crInv
. ix j
. itUse
. amagLoadStatus
. iaLoaded
+~ 1
_ -> w _ -> w
where where
itm = loc ^. locLDT . ldtValue . _1 itm = loc ^. locLDT . ldtValue . _1
@@ -220,7 +253,8 @@ chainLinkOrientation ::
ItemLink -> ItemLink ->
ComposedItem -> ComposedItem ->
(Point3, Q.Quaternion Float) (Point3, Q.Quaternion Float)
chainLinkOrientation mo (CItem par _) (ILink lt f) (CItem 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
@@ -246,25 +280,36 @@ drawAugmentedHUD (LocLDT con _) w = fromMaybe w $ do
itm <- con ^? cldtParent . cItem 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 ::
-> World -> World Creature ->
shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ do LabelDoubleTree ItemLink ComposedItem ->
(Point3, Q.Quaternion Float) ->
World ->
World
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 . cItem . itUse . amagLoadStatus . iaLoaded i <- mag ^? ldtValue . cItem . itUse . amagLoadStatus . iaLoaded
guard $ i >= x guard $ i >= x
maginvid <- mag ^? ldtValue . cItem . itLocation . ilInvID maginvid <- mag ^? ldtValue . cItem . itLocation . ilInvID
return $ w return $
& worldEventFlags . at InventoryChange ?~ () w
& cWorld . lWorld . creatures . ix (_crID cr) & worldEventFlags . at InventoryChange ?~ ()
. crInv . ix maginvid . itUse . amagLoadStatus . iaLoaded -~ x & cWorld . lWorld . creatures . ix (_crID cr)
& cWorld . lWorld . lasers .:~ LaserStart . crInv
{ _lpPhaseV = 1 . ix maginvid
, _lpDir = _crDir cr + argV (Q.qToV2 q) . itUse
, _lpPos = pos . amagLoadStatus
, _lpColor = col . iaLoaded
, _lpType = TargetingLaser (_itID itm) -~ x
} & cWorld . lWorld . lasers
.:~ LaserStart
{ _lpPhaseV = 1
, _lpDir = _crDir cr + argV (Q.qToV2 q)
, _lpPos = pos
, _lpColor = col
, _lpType = TargetingLaser (_itID itm)
}
where where
x = 1 x = 1
isammolink AmmoInLink{} = True isammolink AmmoInLink{} = True
@@ -272,7 +317,6 @@ shineTargetLaser cr itmtree (p,q) w = fromMaybe (w & pointittarg . itTgPos .~ No
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 . cItem itm = itmtree ^. ldtValue . cItem
--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
invid = _ilInvID $ _itLocation itm invid = _ilInvID $ _itLocation itm
@@ -302,21 +346,28 @@ shineTorch cr itmtree (p, q) = fromMaybe id $ do
-- does this need to be updated if it is not attached to the used root item? -- does this need to be updated if it is not attached to the used root item?
updateItemTargeting :: TargetingType -> Creature -> Item -> World -> World updateItemTargeting :: TargetingType -> Creature -> Item -> World -> World
updateItemTargeting tt cr itm w = case tt of updateItemTargeting tt cr itm w = case tt of
_ | not isattached -> w _
& pointittarg .itTgPos .~ Nothing | not isattached ->
& pointittarg .itTgActive .~ False w
TargetRBPress | rbpressed -> w & pointittarg . itTgPos .~ Nothing
& pointittarg .itTgPos %~ maybe (Just $ mouseWorldPos (w ^. input) (w ^. wCam)) Just & pointittarg . itTgActive .~ False
& pointittarg .itTgActive .~ True TargetRBPress
TargetRBPress -> w | rbpressed ->
& pointittarg .itTgPos .~ Nothing w
& pointittarg .itTgActive .~ False & pointittarg . itTgPos %~ maybe (Just $ mouseWorldPos (w ^. input) (w ^. wCam)) Just
& pointittarg . itTgActive .~ True
TargetRBPress ->
w
& pointittarg . itTgPos .~ Nothing
& pointittarg . itTgActive .~ False
TargetRBCreature -> w & pointittarg %~ setRBCreatureTargeting cr w TargetRBCreature -> w & pointittarg %~ setRBCreatureTargeting cr w
TargetCursor -> w TargetCursor ->
& pointittarg .~ ItTargeting w
(Just (mouseWorldPos (w ^. input) (w ^. wCam))) & pointittarg
Nothing .~ ItTargeting
True (Just (mouseWorldPos (w ^. input) (w ^. wCam)))
Nothing
True
where where
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
@@ -326,10 +377,10 @@ updateItemTargeting tt cr itm w = case tt of
setRBCreatureTargeting :: Creature -> World -> ItemTargeting -> ItemTargeting setRBCreatureTargeting :: Creature -> World -> ItemTargeting -> ItemTargeting
setRBCreatureTargeting cr w ituse setRBCreatureTargeting cr w ituse
| SDL.ButtonRight `M.member` _mouseButtons (_input w) && isJust (ituse ^?itTgID . _Just) | SDL.ButtonRight `M.member` _mouseButtons (_input w) && isJust (ituse ^? itTgID . _Just)
&& canSeeTarget = && canSeeTarget =
ituse & updatePos &itTgActive .~ True ituse & updatePos & itTgActive .~ True
| otherwise = ituse &itTgID .~ fmap _crID newtarg & updatePos &itTgActive .~ False | otherwise = ituse & itTgID .~ fmap _crID newtarg & updatePos & itTgActive .~ False
where where
newtarg = newtarg =
safeMinimumOn (dist mwp . _crPos) safeMinimumOn (dist mwp . _crPos)
@@ -341,7 +392,7 @@ setRBCreatureTargeting cr w ituse
posFromMaybeID Nothing = Nothing posFromMaybeID Nothing = Nothing
posFromMaybeID (Just i) = w ^? cWorld . lWorld . creatures . ix i . crPos posFromMaybeID (Just i) = w ^? cWorld . lWorld . creatures . ix i . crPos
canSeeTarget = fromMaybe False $ do canSeeTarget = fromMaybe False $ do
cid <- ituse ^?itTgID . _Just cid <- ituse ^? itTgID . _Just
cpos <- w ^? cWorld . lWorld . creatures . ix cid . crPos cpos <- w ^? cWorld . lWorld . creatures . ix cid . crPos
Just $ hasLOS cpos (_crPos cr) w Just $ hasLOS cpos (_crPos cr) w
+6 -2
View File
@@ -6,6 +6,7 @@ module Dodge.HeldUse (
mcUseHeld, mcUseHeld,
) where ) where
import Dodge.Item.HeldOffset
import Color import Color
import Control.Monad import Control.Monad
import Data.Maybe import Data.Maybe
@@ -391,7 +392,10 @@ makeBullet thebullet itm cr mz w =
& buDrag *~ drag & buDrag *~ drag
) )
where where
bulpos = _crPos cr + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm + V2 0 offset) -- bulpos = _crPos cr
-- + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm + V2 0 offset)
(moff,mrot) = heldItemOrient2D itm cr (_mzPos mz + V2 0 offset) (_mzRot mz)
bulpos = _crPos cr + rotateV (_crDir cr) moff
(a, g'') = randomR (- inacc, inacc) $ _randGen w (a, g'') = randomR (- inacc, inacc) $ _randGen w
inacc = _mzInaccuracy mz inacc = _mzInaccuracy mz
(drag, g') = case _rifling (_heldParams $ _itUse itm) of (drag, g') = case _rifling (_heldParams $ _itUse itm) of
@@ -400,7 +404,7 @@ makeBullet thebullet itm cr mz w =
(muzvel, g) = case _muzVel $ _heldParams $ _itUse itm of (muzvel, g) = case _muzVel $ _heldParams $ _itUse itm of
ConstFloat x -> (x, g') ConstFloat x -> (x, g')
UniRandFloat x y -> randomR (x, y) g' UniRandFloat x y -> randomR (x, y) g'
dir = _crDir cr + _mzRot mz + a dir = _crDir cr + mrot + a
offset = case itm ^? itUse . heldParams . randomOffset of offset = case itm ^? itUse . heldParams . randomOffset of
Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w
_ -> 0 _ -> 0
+6
View File
@@ -3,6 +3,7 @@ module Dodge.Item.HeldOffset (
twoFlatHRot, twoFlatHRot,
heldItemOffset, heldItemOffset,
heldItemRelativeOrient, heldItemRelativeOrient,
heldItemOrient2D,
) where ) where
import qualified Quaternion as Q import qualified Quaternion as Q
@@ -23,6 +24,11 @@ transToHandle itm = fromMaybe id $ do
V2 x y <- itm ^? itUse . heldAim . aimHandlePos V2 x y <- itm ^? itUse . heldAim . aimHandlePos
return (-.-.- V3 x y 0) return (-.-.- V3 x y 0)
heldItemOrient2D :: Item -> Creature -> Point2 -> Float -> (Point2, Float)
heldItemOrient2D itm cr p a = (V2 x y, argV . Q.qToV2 $ q )
where
(V3 x y _,q) = heldItemRelativeOrient itm cr (p `v2z` 0, Q.axisAngle (V3 0 0 1) a)
heldItemRelativeOrient :: Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float) heldItemRelativeOrient :: Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
heldItemRelativeOrient itm cr (p,q) heldItemRelativeOrient itm cr (p,q)
| _posture (_crStance cr) == Aiming = | _posture (_crStance cr) == Aiming =
+48 -47
View File
@@ -3344,7 +3344,7 @@ applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 74;" f applyInvLock src/Dodge/HeldUse.hs 74;" f
applyMagnetsToBul src/Dodge/Bullet.hs 46;" f applyMagnetsToBul src/Dodge/Bullet.hs 46;" f
applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 130;" f applyPastDamages src/Dodge/Creature/State.hs 132;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
applyPosition src/Sound.hs 110;" f applyPosition src/Sound.hs 110;" f
applyRecoil src/Dodge/HeldUse.hs 93;" f applyRecoil src/Dodge/HeldUse.hs 93;" f
@@ -3528,7 +3528,7 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 289;" f
centroid src/Geometry/Polygon.hs 130;" f centroid src/Geometry/Polygon.hs 130;" f
centroidNum src/Geometry/Polygon.hs 133;" f centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 189;" f chainLinkOrientation src/Dodge/Creature/State.hs 250;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 150;" f changeSwapOther src/Dodge/Inventory.hs 150;" f
changeSwapSel src/Dodge/Inventory.hs 142;" f changeSwapSel src/Dodge/Inventory.hs 142;" f
@@ -3662,7 +3662,7 @@ copyItemToFloor src/Dodge/FloorItem.hs 18;" f
copyItemToFloorID src/Dodge/FloorItem.hs 22;" f copyItemToFloorID src/Dodge/FloorItem.hs 22;" f
corDoor src/Dodge/Room/Room.hs 376;" f corDoor src/Dodge/Room/Room.hs 376;" f
cornerList src/Preload/Render.hs 195;" f cornerList src/Preload/Render.hs 195;" f
corpseOrGib src/Dodge/Creature/State.hs 92;" f corpseOrGib src/Dodge/Creature/State.hs 94;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 134;" f corridorBoss src/Dodge/LockAndKey.hs 134;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3710,7 +3710,7 @@ createItemYou src/Dodge/Inventory/Add.hs 94;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 76;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 500;" f createProjectile src/Dodge/HeldUse.hs 503;" f
createShell src/Dodge/Projectile/Create.hs 19;" f createShell src/Dodge/Projectile/Create.hs 19;" f
createShieldWall src/Dodge/Euse.hs 133;" f createShieldWall src/Dodge/Euse.hs 133;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
@@ -3913,7 +3913,7 @@ detV src/Geometry/Vector.hs 93;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 391;" f detectorColor src/Dodge/Item/Draw/SPic.hs 391;" 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 191;" f detectorInfo src/Dodge/Item/Info.hs 191;" f
determineProjectileTracking src/Dodge/HeldUse.hs 489;" f determineProjectileTracking src/Dodge/HeldUse.hs 492;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 53;" f did src/Dodge/Item/InvSize.hs 53;" f
diffAngles src/Geometry.hs 196;" f diffAngles src/Geometry.hs 196;" f
@@ -3958,7 +3958,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f
doCrWdAc src/Dodge/CreatureEffect.hs 77;" f 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 124;" f doDamage src/Dodge/Creature/State.hs 126;" f
doDamagesFL src/Dodge/Flame.hs 57;" f doDamagesFL src/Dodge/Flame.hs 57;" f
doDeathToggle src/Dodge/WorldEffect.hs 96;" f doDeathToggle src/Dodge/WorldEffect.hs 96;" f
doDeathTriggers src/Dodge/WorldEffect.hs 91;" f doDeathTriggers src/Dodge/WorldEffect.hs 91;" f
@@ -3967,7 +3967,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 98;" 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 445;" f doGenFloat src/Dodge/HeldUse.hs 448;" 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 26;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 26;" f
@@ -4032,7 +4032,7 @@ doublePairSet src/Geometry.hs 153;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 156;" f doubleV2 src/Geometry.hs 156;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 216;" f drawAugmentedHUD src/Dodge/Creature/State.hs 278;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f
drawBlip src/Dodge/RadarBlip.hs 13;" f drawBlip src/Dodge/RadarBlip.hs 13;" f
@@ -4152,7 +4152,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 329;" f
drawZoneCol src/Dodge/Debug/Picture.hs 117;" f drawZoneCol src/Dodge/Debug/Picture.hs 117;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 118;" f dropByState src/Dodge/Creature/State.hs 120;" f
dropExcept src/Dodge/Creature/Action.hs 171;" f dropExcept src/Dodge/Creature/Action.hs 171;" f
dropItem src/Dodge/Creature/Action.hs 177;" f dropItem src/Dodge/Creature/Action.hs 177;" f
drumMag src/Dodge/Item/Ammo.hs 48;" f drumMag src/Dodge/Item/Ammo.hs 48;" f
@@ -4191,7 +4191,7 @@ equipPosition src/Dodge/Item/Draw.hs 30;" f
equipSiteInfo src/Dodge/Item/Info.hs 221;" f equipSiteInfo src/Dodge/Item/Info.hs 221;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f
equipmentEffects src/Dodge/Creature/State.hs 157;" f equipmentEffects src/Dodge/Creature/State.hs 159;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f
errorAngleVV src/Geometry.hs 62;" f errorAngleVV src/Geometry.hs 62;" f
errorClosestPointOnLine src/Geometry.hs 74;" f errorClosestPointOnLine src/Geometry.hs 74;" f
@@ -4321,7 +4321,7 @@ 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 131;" f gameplayMenu src/Dodge/Menu.hs 131;" f
gameplayMenuOptions src/Dodge/Menu.hs 134;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f
gasCreate src/Dodge/HeldUse.hs 442;" f gasCreate src/Dodge/HeldUse.hs 445;" 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
@@ -4444,8 +4444,9 @@ heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldEffect src/Dodge/HeldUse.hs 34;" f heldEffect src/Dodge/HeldUse.hs 34;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 44;" f heldEffectMuzzles src/Dodge/HeldUse.hs 44;" f
heldInfo src/Dodge/Item/Info.hs 49;" f heldInfo src/Dodge/Item/Info.hs 49;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 58;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 64;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 26;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 27;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 32;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 173;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 173;" f
heldPositionInfo src/Dodge/Item/Info.hs 208;" f heldPositionInfo src/Dodge/Item/Info.hs 208;" f
helpCommand src/Dodge/Terminal.hs 66;" f helpCommand src/Dodge/Terminal.hs 66;" f
@@ -4514,7 +4515,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 70;" f insertWithNewKeys src/IntMapHelp.hs 70;" f
internalCreatureUpdate src/Dodge/Creature/State.hs 108;" f internalCreatureUpdate src/Dodge/Creature/State.hs 110;" f
interpWith src/Dodge/Creature/Boid.hs 10;" f interpWith src/Dodge/Creature/Boid.hs 10;" f
intersectCircSeg src/Geometry/Intersect.hs 303;" f intersectCircSeg src/Geometry/Intersect.hs 303;" f
intersectCircSegFirst src/Geometry/Intersect.hs 314;" f intersectCircSegFirst src/Geometry/Intersect.hs 314;" f
@@ -4539,13 +4540,14 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 219;" f invDimColor src/Dodge/DisplayInventory.hs 219;" f
invHead src/Dodge/Render/HUD.hs 392;" f invHead src/Dodge/Render/HUD.hs 392;" f
invItemLocUpdate src/Dodge/Creature/State.hs 177;" f
invLDT src/Dodge/Item/Grammar.hs 185;" f invLDT src/Dodge/Item/Grammar.hs 185;" f
invRootItemEffs src/Dodge/Creature/State.hs 168;" f invRootItemEffs src/Dodge/Creature/State.hs 170;" f
invRootMap src/Dodge/Item/Grammar.hs 194;" f invRootMap src/Dodge/Item/Grammar.hs 194;" f
invRootTrees src/Dodge/Item/Grammar.hs 224;" f invRootTrees src/Dodge/Item/Grammar.hs 224;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 162;" f invSideEff src/Dodge/Creature/State.hs 164;" f
invSize src/Dodge/Inventory/CheckSlots.hs 31;" f invSize src/Dodge/Inventory/CheckSlots.hs 31;" f
invTrees src/Dodge/Item/Grammar.hs 212;" f invTrees src/Dodge/Item/Grammar.hs 212;" f
invTrees' src/Dodge/Item/Grammar.hs 216;" f invTrees' src/Dodge/Item/Grammar.hs 216;" f
@@ -4565,7 +4567,7 @@ isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 90;" f isConnected src/Dodge/Inventory/Swap.hs 90;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/Damage.hs 42;" f
isFrictionless src/Dodge/Creature/State.hs 348;" f isFrictionless src/Dodge/Creature/State.hs 427;" f
isGas src/Dodge/Euse.hs 63;" f isGas src/Dodge/Euse.hs 63;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 169;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 169;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f
@@ -4616,9 +4618,8 @@ itemString src/Dodge/Item/Display.hs 42;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 53;" f itemToBreakLists src/Dodge/Item/Grammar.hs 53;" f
itemToFunction src/Dodge/Item/Grammar.hs 87;" f itemToFunction src/Dodge/Item/Grammar.hs 87;" 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 320;" f itemUpdate src/Dodge/Creature/State.hs 399;" f
itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 59;" f itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 52;" 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 23;" f itmBaseInfo src/Dodge/Item/Info.hs 23;" f
@@ -4855,10 +4856,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 124;" f
mcSPic src/Dodge/Render/ShapePicture.hs 131;" f mcSPic src/Dodge/Render/ShapePicture.hs 131;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f
mcShootLaser src/Dodge/HeldUse.hs 469;" f mcShootLaser src/Dodge/HeldUse.hs 472;" f
mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f
mcUseHeld src/Dodge/HeldUse.hs 408;" f mcUseHeld src/Dodge/HeldUse.hs 411;" f
mcUseItem src/Dodge/Machine/Update.hs 79;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f
medkit src/Dodge/Item/Consumable.hs 8;" f medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 84;" f megaBattery src/Dodge/Item/Ammo.hs 84;" f
@@ -5160,7 +5161,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 25;" f
pointerYourRootItem src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 42;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 36;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 36;" f
pointsToPoly src/Geometry/ConvexPoly.hs 39;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f
poisonSPic src/Dodge/Creature/State.hs 105;" f poisonSPic src/Dodge/Creature/State.hs 107;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 516;" f poke34 src/Shader/Poke.hs 516;" f
pokeArrayOff src/Shader/Poke.hs 527;" f pokeArrayOff src/Shader/Poke.hs 527;" f
@@ -5493,7 +5494,7 @@ scaleSH src/Shape.hs 267;" f
scalp src/Dodge/Creature/Picture.hs 94;" f scalp src/Dodge/Creature/Picture.hs 94;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 69;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 69;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 102;" f scorchSPic src/Dodge/Creature/State.hs 104;" f
screenBox src/Dodge/Base/Window.hs 53;" f screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5569,7 +5570,7 @@ setOldPos src/Dodge/Update.hs 462;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 299;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 378;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 316;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 316;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f
setShaderSource src/Shader/Compile.hs 290;" f setShaderSource src/Shader/Compile.hs 290;" f
@@ -5636,15 +5637,15 @@ shiftRoomBy src/Dodge/Room/Link.hs 37;" f
shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f 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 221;" f shineTargetLaser src/Dodge/Creature/State.hs 283;" f
shineTorch src/Dodge/Creature/State.hs 253;" f shineTorch src/Dodge/Creature/State.hs 325;" f
shootBullet src/Dodge/HeldUse.hs 370;" f shootBullet src/Dodge/HeldUse.hs 370;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 165;" f shootL src/Dodge/Item/Weapon/TriggerType.hs 165;" f
shootLaser src/Dodge/HeldUse.hs 283;" f shootLaser src/Dodge/HeldUse.hs 283;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 478;" f shootTeslaArc src/Dodge/HeldUse.hs 481;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 262;" f shootTractorBeam src/Dodge/HeldUse.hs 262;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f shootersRoom src/Dodge/Room/Room.hs 315;" f
@@ -5654,7 +5655,7 @@ shootingRange src/Dodge/Room/Room.hs 332;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 10;" f shortShow src/ShortShow.hs 10;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 61;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 67;" f
shoulderSH src/Dodge/Creature/Picture.hs 137;" f shoulderSH src/Dodge/Creature/Picture.hs 137;" f
shoulderSP src/Dodge/Creature/HandPos.hs 196;" f shoulderSP src/Dodge/Creature/HandPos.hs 196;" f
showAttachItem src/Dodge/Item/Display.hs 61;" f showAttachItem src/Dodge/Item/Display.hs 61;" f
@@ -5801,7 +5802,7 @@ strFromEquipment src/Dodge/Creature/Statistics.hs 19;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 37;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 37;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 32;" f strengthFactor src/Dodge/Creature/Impulse/Movement.hs 32;" f
strictify src/MaybeHelp.hs 37;" f strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 64;" f strideRot src/Dodge/Item/HeldOffset.hs 70;" f
stringToList src/Picture/Base.hs 313;" f stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f stripZ src/Geometry/Vector3D.hs 97;" f
@@ -5914,7 +5915,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 35;" f toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f
toggleCommand src/Dodge/Terminal.hs 196;" f toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 72;" f
toggleJust src/MaybeHelp.hs 41;" f toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 547;" f toggleMap src/Dodge/Update/Input/InGame.hs 547;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 560;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 560;" f
@@ -5939,7 +5940,7 @@ tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f tranRot src/Picture/Base.hs 124;" f
transMat src/MatrixHelper.hs 73;" f transMat src/MatrixHelper.hs 73;" f
transToHandle src/Dodge/Item/HeldOffset.hs 21;" f transToHandle src/Dodge/Item/HeldOffset.hs 22;" f
translate src/Picture/Base.hs 116;" f translate src/Picture/Base.hs 116;" f
translate3 src/Picture/Base.hs 120;" f translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 47;" f translateFloatingCamera src/Dodge/Update/Camera.hs 47;" f
@@ -6005,13 +6006,13 @@ trySiphonFuel src/Dodge/Euse.hs 45;" f
trySpinByCID src/Dodge/Projectile/Update.hs 95;" f trySpinByCID src/Dodge/Projectile/Update.hs 95;" f
turnTo src/Dodge/Movement/Turn.hs 4;" f turnTo src/Dodge/Movement/Turn.hs 4;" f
turnToAmount src/Dodge/Movement/Turn.hs 15;" f turnToAmount src/Dodge/Movement/Turn.hs 15;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 16;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 17;" f
tweenAngles src/Geometry/Vector.hs 184;" f tweenAngles src/Geometry/Vector.hs 184;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 101;" f twists src/Dodge/Creature/Test.hs 101;" f
twoFlat src/Dodge/Creature/Test.hs 98;" f twoFlat src/Dodge/Creature/Test.hs 98;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 73;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 79;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 400;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 400;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 438;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 438;" f
@@ -6036,8 +6037,8 @@ upHammer src/Dodge/Default.hs 75;" f
upProjectile src/Dodge/Projectile/Update.hs 26;" f upProjectile src/Dodge/Projectile/Update.hs 26;" f
updateAllNodes src/TreeHelp.hs 85;" f updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAttachedItems src/Dodge/Creature/State.hs 179;" f updateAttachedItems src/Dodge/Creature/State.hs 240;" f
updateAutoRecharge src/Dodge/Creature/State.hs 331;" f updateAutoRecharge src/Dodge/Creature/State.hs 410;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f
@@ -6071,17 +6072,17 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 346;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 346;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 339;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 339;" f
updateGusts src/Dodge/Update.hs 704;" f updateGusts src/Dodge/Update.hs 704;" f
updateHeldRootItem src/Dodge/Creature/State.hs 173;" f updateHeldRootItem src/Dodge/Creature/State.hs 234;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 498;" f updateIMl src/Dodge/Update.hs 498;" f
updateIMl' src/Dodge/Update.hs 503;" f updateIMl' src/Dodge/Update.hs 503;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f
updateInstantBullets src/Dodge/Update.hs 642;" f updateInstantBullets src/Dodge/Update.hs 642;" f
updateInv src/Dodge/Creature/State.hs 152;" f updateInv src/Dodge/Creature/State.hs 154;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f
updateItemTargeting src/Dodge/Creature/State.hs 275;" f updateItemTargeting src/Dodge/Creature/State.hs 347;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 200;" f updateItemWithOrientation src/Dodge/Creature/State.hs 262;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 393;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 393;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f updateLampoid src/Dodge/Lampoid.hs 12;" f
@@ -6097,7 +6098,7 @@ updateMouseContextGame src/Dodge/Update.hs 315;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 87;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 87;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 79;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 79;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 142;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 142;" f
updateMovement src/Dodge/Creature/State.hs 338;" f updateMovement src/Dodge/Creature/State.hs 417;" f
updateObjCatMaybes src/Dodge/Update.hs 520;" f updateObjCatMaybes src/Dodge/Update.hs 520;" f
updateObjMapMaybe src/Dodge/Update.hs 513;" f updateObjMapMaybe src/Dodge/Update.hs 513;" f
updatePastWorlds src/Dodge/Update.hs 415;" f updatePastWorlds src/Dodge/Update.hs 415;" f
@@ -6171,12 +6172,12 @@ 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
useE src/Dodge/Euse.hs 23;" f useE src/Dodge/Euse.hs 23;" f
useEquipment src/Dodge/Creature/State.hs 146;" f useEquipment src/Dodge/Creature/State.hs 148;" f
useGasParams src/Dodge/HeldUse.hs 419;" f useGasParams src/Dodge/HeldUse.hs 422;" f
useHotKey src/Dodge/Creature/YourControl.hs 48;" f useHotKey src/Dodge/Creature/YourControl.hs 48;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 150;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 143;" f
useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 124;" f useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 117;" f
useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 137;" f useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 130;" f
useL src/Dodge/Luse.hs 11;" f useL src/Dodge/Luse.hs 11;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 214;" f useLoadedAmmo src/Dodge/HeldUse.hs 214;" f
@@ -6191,7 +6192,7 @@ 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/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
useUpdate src/Dodge/Creature/State.hs 323;" f useUpdate src/Dodge/Creature/State.hs 402;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
v2z src/Geometry/Vector3D.hs 93;" f v2z src/Geometry/Vector3D.hs 93;" f