Work on refactoring positioning relative to creature body

This commit is contained in:
2025-08-27 12:11:01 +01:00
parent 2e6b7a1b41
commit 9d2a2e6730
8 changed files with 168 additions and 148 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+59 -37
View File
@@ -13,9 +13,10 @@ module Dodge.Creature.HandPos (
translateToRightHand,
backPQ,
headPQ,
translateToES,
) where
--import Dodge.Data.Equipment.Misc
import Dodge.Data.Equipment.Misc
import qualified Data.IntMap.Strict as IM
import qualified Quaternion as Q
import Control.Lens
@@ -24,8 +25,24 @@ import Dodge.Data.Creature
import Geometry
import ShapePicture
translatePointToRightHand :: IM.IntMap Item -> Creature -> Point3 -> Point3
translatePointToRightHand m cr p = fst (rightHandPQ m cr `Q.comp` (p,Q.qID))
translateToES :: Creature -> EquipSite -> Point3 -> Point3
translateToES cr es p = fst (equipSitePQ es cr `Q.comp` (p,Q.qID))
equipSitePQ :: EquipSite -> Creature -> Point3Q
equipSitePQ = \case
OnLeftWrist -> leftWristPQ
OnRightWrist -> rightWristPQ
OnHead -> headPQ
OnChest -> chestPQ
OnBack -> backPQ
OnLegs -> legsPQ
legsPQ :: a
legsPQ = undefined
translatePointToRightHand :: Creature -> Point3 -> Point3
translatePointToRightHand cr p = fst (rightHandPQ cr `Q.comp` (p,Q.qID))
--equipSitePQ :: EquipSite -> IM.IntMap Item -> Creature -> Point3Q
--equipSitePQ = \case
@@ -35,11 +52,11 @@ translatePointToRightHand m cr p = fst (rightHandPQ m cr `Q.comp` (p,Q.qID))
-- OnChest -> chestPQ
-- _ -> undefined
rightHandPQ :: IM.IntMap Item -> Creature -> Point3Q
rightHandPQ m cr
| oneH m cr = (V3 11 (-3) 20, Q.qID)
| twists m cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0,Q.qID)
| twoFlat m cr = (V3 4 (-8) 10, Q.qID)
rightHandPQ :: Creature -> Point3Q
rightHandPQ cr
| oneH cr = (V3 11 (-3) 20, Q.qID)
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0,Q.qID)
| twoFlat cr = (V3 4 (-8) 10, Q.qID)
| otherwise = case cr ^? crStance . carriage of
Just (Walking sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID)
Just (Walking sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID)
@@ -50,18 +67,21 @@ rightHandPQ m cr
f i = negate 2 + negate 6 * (sLen - i) / sLen
g i = negate 2 + negate 6 * i / sLen
translateToRightHand :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToRightHand m = overPosSP . translatePointToRightHand m
translateToRightHand :: Creature -> SPic -> SPic
translateToRightHand = overPosSP . translatePointToRightHand
translateToRightWrist :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToRightWrist m cr = overPosSP
(\p -> fst $ rightHandPQ m cr `Q.comp` (V3 0 (-4) (-4)+p, Q.qID))
translateToRightWrist :: Creature -> SPic -> SPic
translateToRightWrist cr = overPosSP
(\p -> fst $ rightHandPQ cr `Q.comp` (V3 0 (-4) (-4)+p, Q.qID))
leftHandPQ :: IM.IntMap Item -> Creature -> Point3Q
leftHandPQ m cr
| oneH m cr = (V3 0 off 10, Q.qz 0.4)
| twists m cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, Q.qz 0.4)
| twoFlat m cr = (V3 4 8 10, Q.qID)
rightWristPQ :: Creature -> Point3Q
rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qID)
leftHandPQ :: Creature -> Point3Q
leftHandPQ cr
| oneH cr = (V3 0 off 10, Q.qz 0.4)
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, Q.qz 0.4)
| twoFlat cr = (V3 4 8 10, Q.qID)
| otherwise = case cr ^? crStance . carriage of
Just (Walking sa RightForward) -> (V3 (- f sa) off 10 , Q.qID)
Just (Walking sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID)
@@ -72,15 +92,17 @@ leftHandPQ m cr
f i = negate 2 + negate 6 * (sLen - i) / sLen
g i = negate 2 + negate 6 * i / sLen
translatePointToLeftHand :: IM.IntMap Item -> Creature -> Point3 -> Point3
translatePointToLeftHand m cr p = fst (leftHandPQ m cr `Q.comp` (p,Q.qID))
translatePointToLeftHand :: Creature -> Point3 -> Point3
translatePointToLeftHand cr p = fst (leftHandPQ cr `Q.comp` (p,Q.qID))
translateToLeftHand :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToLeftHand m = overPosSP . translatePointToLeftHand m
translateToLeftHand m = overPosSP . translatePointToLeftHand
translateToLeftWrist :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToLeftWrist m cr = overPosSP
(\p -> fst $ leftHandPQ m cr `Q.comp` (V3 0 4 (-4)+p, Q.qID))
translateToLeftWrist :: Creature -> SPic -> SPic
translateToLeftWrist cr = overPosSP
(\p -> fst $ leftHandPQ cr `Q.comp` (V3 0 4 (-4)+p, Q.qID))
leftWristPQ cr = leftHandPQ cr `Q.comp` (V3 0 4 (-4), Q.qID)
leftLegPQ :: Creature -> Point3Q
leftLegPQ cr = Q.comp (0,Q.qz (_crMvDir cr - _crDir cr))
@@ -114,25 +136,25 @@ translateToRightLeg :: Creature -> SPic -> SPic
translateToRightLeg cr = overPosSP (\p -> fst (rightLegPQ cr `Q.comp` (p,Q.qID)))
translateToHead :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToHead m cr = overPosSP (\p -> fst (headPQ m cr `Q.comp` (p,Q.qID)))
translateToHead m cr = overPosSP (\p -> fst (headPQ cr `Q.comp` (p,Q.qID)))
headPQ :: IM.IntMap Item -> Creature -> Point3Q
headPQ m cr
| twists m cr = (V3 0 2 20, Q.qz (-1)) `Q.comp` (V3 (negate 2.5) 0.25 0, Q.qz 1)
| oneH m cr = (V3 0 0 20, Q.qz 0.5) `Q.comp` (V3 2.5 0 0, Q.qz (-0.5))
headPQ :: Creature -> Point3Q
headPQ cr
| twists cr = (V3 0 2 20, Q.qz (-1)) `Q.comp` (V3 (negate 2.5) 0.25 0, Q.qz 1)
| oneH cr = (V3 0 0 20, Q.qz 0.5) `Q.comp` (V3 2.5 0 0, Q.qz (-0.5))
| otherwise = (V3 2.5 0 20, Q.qID)
translatePointToHead :: IM.IntMap Item -> Creature -> Point3 -> Point3
translatePointToHead m cr p = fst (headPQ m cr `Q.comp` (p,Q.qID))
translatePointToHead m cr p = fst (headPQ cr `Q.comp` (p,Q.qID))
chestPQ :: IM.IntMap Item -> Creature -> Point3Q
chestPQ m cr = backPQ m cr `Q.comp` (0,Q.qz pi)
chestPQ :: Creature -> Point3Q
chestPQ cr = backPQ cr `Q.comp` (0,Q.qz pi)
translateToChest :: IM.IntMap Item -> Creature -> SPic -> SPic
translateToChest m cr = overPosSP (\p -> fst $ chestPQ m cr `Q.comp` (p,Q.qID))
translateToChest m cr = overPosSP (\p -> fst $ chestPQ cr `Q.comp` (p,Q.qID))
backPQ :: IM.IntMap Item -> Creature -> Point3Q
backPQ m cr
| oneH m cr = (V3 0 0 10, Q.qz 0.5)
| twists m cr = (V3 0 3 10, Q.qz (-1.5))
backPQ :: Creature -> Point3Q
backPQ cr
| oneH cr = (V3 0 0 10, Q.qz 0.5)
| twists cr = (V3 0 3 10, Q.qz (-1.5))
| otherwise = (V3 0 0 10, Q.qz 0)
+5 -5
View File
@@ -72,7 +72,7 @@ arms :: IM.IntMap Item -> Creature -> Shape
{-# INLINE arms #-}
arms m cr =
(^. _1) $
translateToRightHand m cr aHand
translateToRightHand cr aHand
<> translateToLeftHand m cr aHand
where
aHand = noPic $ translateSHz (-4) . upperPrismPolyHalfST 4 $ polyCirc 3 4
@@ -91,16 +91,16 @@ deadRot cr = overPosSH (Q.rotateToZ d)
scalp :: IM.IntMap Item -> Creature -> Shape
{-# INLINE scalp #-}
scalp m cr = overPosSH (\p -> fst (headPQ m cr `Q.comp` (p,Q.qID))) fhead
scalp m cr = overPosSH (\p -> fst (headPQ cr `Q.comp` (p,Q.qID))) fhead
-- | twists cr = translateSHxy 0 5 . rotateSH (-1) $ translateSHxy (negate 2.5) 0.25 fhead
-- | oneH cr = rotateSH 0.5 $ translateSHxy 2.5 0 fhead
-- | otherwise = translateSHxy 2.5 0 fhead
where
fhead = colorSH (greyN 0.9) . upperPrismPolyHalfST 5 $ polyCirc 3 5
torso :: IM.IntMap Item -> Creature -> Shape
torso :: Creature -> Shape
{-# INLINE torso #-}
torso m cr = overPosSH (\p -> fst (backPQ m cr `Q.comp` (p,Q.qID))) tsh
torso cr = overPosSH (\p -> fst (backPQ cr `Q.comp` (p,Q.qID))) tsh
-- | oneH cr = rotateSH 0.5 tsh
-- | twists cr =
-- translateSHxy 0 3 . rotateSH (-1.3) $ tsh
@@ -126,7 +126,7 @@ baseShoulder = translateSHz (-20) . scaleSH (V3 0.5 1 1) . upperPrismPolyHalfMI
upperBody :: IM.IntMap Item -> Creature -> Shape
{-# INLINE upperBody #-}
upperBody m cr = arms m cr <> shoulderSH (torso m cr)
upperBody m cr = arms m cr <> shoulderSH (torso cr)
shoulderSH :: Shape -> Shape
shoulderSH = translateSHz 20
+9 -17
View File
@@ -92,24 +92,17 @@ crAwayFromPost cr = case find sentinelGoal . _apGoal $ _crActionPlan cr of
--crCanShoot :: Creature -> Bool
--crCanShoot cr = crIsAiming cr && crWeaponReady cr
crInAimStance :: AimStance -> IM.IntMap Item -> Creature -> Bool
crInAimStance as m cr = crIsAiming cr && mitstance == Just as
where
mitstance = do
i <- cr ^? crManipulation . manObject . imRootSelectedItem
--itm <- invRootTrees' (cr ^. crInv) ^? ix i
itm <- fmap (fmap (\(a,b,_) -> (a,b))) $ invIMDT (fmap (\k -> m ^?! ix k) (cr ^. crInv)) ^? ix (_unNInt i)
return $ itemAimStance itm
--cr ^? crInv . ix i . itUse . heldAim . aimStance
crInAimStance :: AimStance -> Creature -> Bool
crInAimStance as cr = cr ^? crStance . posture . aimStance == Just as
oneH :: IM.IntMap Item -> Creature -> Bool
oneH :: Creature -> Bool
oneH = crInAimStance OneHand
twoFlat :: IM.IntMap Item -> Creature -> Bool
twoFlat :: Creature -> Bool
twoFlat = crInAimStance TwoHandFlat
twists :: IM.IntMap Item -> Creature -> Bool
twists m cr = crInAimStance TwoHandUnder m cr || crInAimStance TwoHandOver m cr
twists :: Creature -> Bool
twists cr = crInAimStance TwoHandUnder cr || crInAimStance TwoHandOver cr
-- the use of crOldPos is because the damage position is calculated on the
-- previous frame
@@ -124,11 +117,10 @@ crIsArmouredFrom m p cr = fromMaybe False $ do
&& angleVV (unitVectorAtAngle (_crDir cr + frontarmdirection)) (p -.- _crOldPos cr) < pi / 2
where
-- even though angleVV can generate NaN, the comparison seems to deal with it
frontarmdirection
| crInAimStance OneHand m cr = 0.5
| crInAimStance TwoHandUnder m cr = negate 1
| crInAimStance TwoHandOver m cr = negate 1
| crInAimStance OneHand cr = 0.5
| crInAimStance TwoHandUnder cr = negate 1
| crInAimStance TwoHandOver cr = negate 1
| otherwise = 0
--crOnSeg :: Point2 -> Point2 -> Creature -> Bool
+3 -3
View File
@@ -54,9 +54,9 @@ setWristShieldPos itm cr w = w & moveWallIDUnsafe i wlline
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
invid = _ilInvID (_itLocation itm)
handtrans = case cr ^? crInv . ix invid >>= \k -> w ^? cWorld . lWorld . items . ix k . itLocation . ilEquipSite . _Just of
Just OnLeftWrist -> \cr' -> translatePointToLeftHand m cr' . g
_ -> translatePointToRightHand m
Just OnLeftWrist -> \cr' -> translatePointToLeftHand cr' . g
_ -> translatePointToRightHand
g
| twists m cr = (+.+.+ V3 (-5) 10 0)
| twists cr = (+.+.+ V3 (-5) 10 0)
| otherwise = id
f = (+.+ _crPos cr) . stripZ . rotate3 (_crDir cr) . handtrans cr
+3 -3
View File
@@ -39,10 +39,10 @@ setWristShieldPos itm cr x w = moveWallIDUnsafe i wlline w
i = _itParamID $ _itParams itm
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
handtrans = case x of
OnLeftWrist -> \cr' -> translatePointToLeftHand m cr' . g
_ -> translatePointToRightHand m
OnLeftWrist -> \cr' -> translatePointToLeftHand cr' . g
_ -> translatePointToRightHand
g
| twists m cr = (+.+.+ V3 (-5) 10 0)
| twists cr = (+.+.+ V3 (-5) 10 0)
| otherwise = id
f = (+.+ _crPos cr) . stripZ . rotate3 (_crDir cr) . handtrans cr
+3 -3
View File
@@ -40,13 +40,13 @@ equipAttachPos = \case
equipPosition :: EquipSite -> IM.IntMap Item -> Creature -> Point3 -> SPic -> SPic
equipPosition epos m cr p sh = case epos of
OnLeftWrist -> translateToLeftWrist m cr sh
OnRightWrist -> translateToRightWrist m cr sh
OnLeftWrist -> translateToLeftWrist cr sh
OnRightWrist -> translateToRightWrist cr sh
OnLegs ->
translateToLeftLeg cr sh
<> translateToRightLeg cr sh-- (mirrorSPxz sh)
OnHead -> translateToHead m cr sh
OnChest -> translateToChest m cr sh
--OnBack -> translateToBack cr p sh
OnBack -> overPosSP (\x -> fst $ backPQ m cr `Q.comp` (p + x,Q.qID)) sh
OnBack -> overPosSP (\x -> fst $ backPQ cr `Q.comp` (p + x,Q.qID)) sh
-- OnSpecial -> sh
+85 -79
View File
@@ -41,8 +41,8 @@ ActionNothing src/Dodge/Data/ActionPlan.hs 83;" C
ActionPlan src/Dodge/Data/ActionPlan.hs 16;" t
AddGoal src/Dodge/Data/ActionPlan.hs 45;" C
AimAt src/Dodge/Data/ActionPlan.hs 84;" C
AimStance src/Dodge/Data/AimStance.hs 5;" t
Aiming src/Dodge/Data/Creature/Stance.hs 35;" C
AimStance src/Dodge/Data/AimStance.hs 11;" t
Aiming src/Dodge/Data/Creature/Stance.hs 39;" C
AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C
AlienContact src/Dodge/Data/Scenario.hs 30;" C
AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C
@@ -71,7 +71,7 @@ Arcing src/Dodge/Data/Item/Params.hs 17;" C
ArmourySS src/Dodge/Data/Scenario.hs 112;" C
Asleep src/Dodge/Data/Creature/Perception.hs 54;" C
AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C
AtEase src/Dodge/Data/Creature/Stance.hs 36;" C
AtEase src/Dodge/Data/Creature/Stance.hs 40;" C
AtomicWaste src/Dodge/Data/Scenario.hs 26;" C
AttachParams src/Dodge/Data/Item/Use.hs 45;" t
AttachType src/Dodge/Data/Item/Combine.hs 92;" t
@@ -149,7 +149,7 @@ BlockedLink src/Dodge/Data/Room.hs 48;" C
BloomLayer src/Picture/Data.hs 25;" C
BloomNoZWrite src/Picture/Data.hs 26;" C
Blunt src/Dodge/Data/Damage.hs 21;" C
Boosting src/Dodge/Data/Creature/Stance.hs 28;" C
Boosting src/Dodge/Data/Creature/Stance.hs 32;" C
BottomEscapeMenuOption src/Dodge/Data/Universe.hs 77;" C
BounceBullet src/Dodge/Data/Bullet.hs 30;" C
Bound_box_screen src/Dodge/Data/Config.hs 81;" C
@@ -210,7 +210,7 @@ CapacitorSelf src/Dodge/Data/Muzzle.hs 24;" C
CardinalCover src/Dodge/Data/CardinalPoint.hs 23;" t
CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 12;" t
CardinalPoint src/Dodge/Data/CardinalPoint.hs 5;" t
Carriage src/Dodge/Data/Creature/Stance.hs 20;" t
Carriage src/Dodge/Data/Creature/Stance.hs 24;" t
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C
ChaseAI src/Dodge/Data/Creature/Misc.hs 40;" C
@@ -468,13 +468,13 @@ FloatFOV src/Dodge/Data/FloatFunction.hs 13;" C
FloatFloat src/Dodge/Data/FloatFunction.hs 11;" t
FloatID src/Dodge/Data/FloatFunction.hs 12;" C
FloatLessCheck src/Dodge/Data/FloatFunction.hs 14;" C
Floating src/Dodge/Data/Creature/Stance.hs 26;" C
Floating src/Dodge/Data/Creature/Stance.hs 30;" C
FlockArmourChaseAI src/Dodge/Data/Creature/Misc.hs 48;" C
Floor src/Data/Tile.hs 11;" t
FloorItem src/Dodge/Data/FloorItem.hs 15;" t
Flying src/Dodge/Data/Creature/Stance.hs 27;" C
Flying src/Dodge/Data/Creature/Stance.hs 31;" C
FollowImpulses src/Dodge/Data/ActionPlan.hs 182;" C
FootForward src/Dodge/Data/Creature/Stance.hs 31;" t
FootForward src/Dodge/Data/Creature/Stance.hs 35;" t
FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
@@ -680,7 +680,7 @@ LayVars src/Dodge/Annotation/Data.hs 14;" C
Layer src/Picture/Data.hs 22;" t
LayoutVars src/Dodge/Annotation/Data.hs 14;" t
LeadTarget src/Dodge/Data/ActionPlan.hs 149;" C
LeftForward src/Dodge/Data/Creature/Stance.hs 31;" C
LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C
LeftwardDT src/Dodge/Data/DoubleTree.hs 86;" C
LeftwardLDT src/Dodge/Data/DoubleTree.hs 44;" C
Lethargic src/Dodge/Data/Creature/Perception.hs 55;" C
@@ -942,7 +942,7 @@ OnLegs src/Dodge/Data/Equipment/Misc.hs 27;" C
OnRightWrist src/Dodge/Data/Equipment/Misc.hs 26;" C
OnTurret src/Dodge/Data/Item/Location.hs 35;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C
OneHand src/Dodge/Data/AimStance.hs 9;" C
OneHand src/Dodge/Data/AimStance.hs 15;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C
OnwardList src/Dodge/Annotation/Data.hs 20;" C
Opacity src/Dodge/Data/Wall.hs 40;" t
@@ -1025,7 +1025,7 @@ Polyhedra src/Polyhedra/Data.hs 13;" t
Polyhedron src/Polyhedra/Data.hs 13;" C
PosInf src/Dodge/Data/CardinalPoint.hs 29;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 34;" t
Posture src/Dodge/Data/Creature/Stance.hs 38;" t
PrWdLsId src/Dodge/Data/Prop.hs 83;" C
PrWdLsLs src/Dodge/Data/Prop.hs 82;" t
PrWdLsSetColor src/Dodge/Data/Prop.hs 85;" C
@@ -1148,7 +1148,7 @@ Revenge src/Dodge/Data/Scenario.hs 6;" C
RewindLeftClick src/Dodge/Data/World.hs 73;" C
RezBaySS src/Dodge/Data/Scenario.hs 105;" C
RightButtonState src/Dodge/Data/RightButtonOptions.hs 15;" t
RightForward src/Dodge/Data/Creature/Stance.hs 31;" C
RightForward src/Dodge/Data/Creature/Stance.hs 35;" C
RightwardDT src/Dodge/Data/DoubleTree.hs 93;" C
RightwardLDT src/Dodge/Data/DoubleTree.hs 52;" C
Rocket src/Dodge/Data/Projectile.hs 34;" C
@@ -1286,9 +1286,9 @@ SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C
SpreadGunAI src/Dodge/Data/Creature/Misc.hs 42;" C
StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C
StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C
Stance src/Dodge/Data/Creature/Stance.hs 13;" t
Stance src/Dodge/Data/Creature/Stance.hs 17;" t
StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C
Standing src/Dodge/Data/Creature/Stance.hs 25;" C
Standing src/Dodge/Data/Creature/Stance.hs 29;" C
StartSentinelPost src/Dodge/Data/ActionPlan.hs 153;" C
StayInArea src/Dodge/Data/Scenario.hs 13;" C
Stone src/Dodge/Data/Material.hs 11;" C
@@ -1405,9 +1405,9 @@ TurnTowardCr src/Dodge/Data/CreatureEffect.hs 25;" C
Turret src/Dodge/Data/Machine.hs 57;" t
TurretInt src/Dodge/Data/Item/Location.hs 19;" t
TwistGoal src/Dodge/Data/Scenario.hs 15;" C
TwoHandFlat src/Dodge/Data/AimStance.hs 8;" C
TwoHandOver src/Dodge/Data/AimStance.hs 7;" C
TwoHandUnder src/Dodge/Data/AimStance.hs 6;" C
TwoHandFlat src/Dodge/Data/AimStance.hs 14;" C
TwoHandOver src/Dodge/Data/AimStance.hs 13;" C
TwoHandUnder src/Dodge/Data/AimStance.hs 12;" C
Typical src/Shape/Data.hs 36;" C
UNDERBARRELSLOT src/Dodge/Data/Item/Combine.hs 99;" C
UNIGATE src/Dodge/Data/Item/Combine.hs 31;" C
@@ -1471,7 +1471,7 @@ WIRE src/Dodge/Data/Item/Combine.hs 87;" C
WRISTARMOUR src/Dodge/Data/Item/Combine.hs 125;" C
WRIST_ECG src/Dodge/Data/Item/Combine.hs 137;" C
WaitThen src/Dodge/Data/ActionPlan.hs 103;" C
Walking src/Dodge/Data/Creature/Stance.hs 21;" C
Walking src/Dodge/Data/Creature/Stance.hs 25;" C
Wall src/Dodge/Data/Wall.hs 20;" t
WallArcNode src/Dodge/Data/LWorld.hs 165;" C
WallDraw src/Dodge/Data/Wall.hs 47;" t
@@ -1528,6 +1528,7 @@ ZombieFaction src/Dodge/Data/Creature/State.hs 16;" C
__Just' src/MaybeHelp.hs 13;" f
_actAction src/Dodge/Data/ActionPlan.hs 81;" f
_actLabel src/Dodge/Data/ActionPlan.hs 80;" f
_aimStance src/Dodge/Data/Creature/Stance.hs 39;" f
_allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f
_allocNewPos src/Dodge/Data/RightButtonOptions.hs 27;" f
_allocNewPos src/Dodge/Data/RightButtonOptions.hs 32;" f
@@ -1635,7 +1636,7 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f
_camViewFrom src/Dodge/Data/Camera.hs 29;" f
_camZoom src/Dodge/Data/Camera.hs 26;" f
_canID src/Dodge/Data/LWorld.hs 170;" f
_carriage src/Dodge/Data/Creature/Stance.hs 14;" f
_carriage src/Dodge/Data/Creature/Stance.hs 18;" f
_carteCenter src/Dodge/Data/HUD.hs 37;" f
_carteRot src/Dodge/Data/HUD.hs 39;" f
_carteZoom src/Dodge/Data/HUD.hs 38;" f
@@ -1739,7 +1740,7 @@ _creatureGroups src/Dodge/Data/LWorld.hs 101;" f
_creatures src/Dodge/Data/LWorld.hs 100;" f
_csLinks src/Dodge/Data/RoomCluster.hs 10;" f
_currentArc src/Dodge/Data/Item/Params.hs 17;" f
_currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f
_currentFoot src/Dodge/Data/Creature/Stance.hs 27;" f
_cursSides src/Dodge/Data/SelectionList.hs 20;" f
_cwGen src/Dodge/Data/CWorld.hs 25;" f
_cwTiles src/Dodge/Data/CWorld.hs 27;" f
@@ -2153,7 +2154,7 @@ _plType src/Dodge/Data/GenWorld.hs 85;" f
_playStatus src/Sound/Data.hs 17;" f
_playingSounds src/Dodge/Data/World.hs 41;" f
_pnZoning src/Dodge/Data/World.hs 51;" f
_posture src/Dodge/Data/Creature/Stance.hs 15;" f
_posture src/Dodge/Data/Creature/Stance.hs 19;" f
_ppEvent src/Dodge/Data/PressPlate.hs 23;" f
_ppID src/Dodge/Data/PressPlate.hs 24;" f
_ppPict src/Dodge/Data/PressPlate.hs 20;" f
@@ -2373,8 +2374,8 @@ _ssItems src/Dodge/Data/SelectionList.hs 30;" f
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f
_ssShownItems src/Dodge/Data/SelectionList.hs 32;" f
_ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
_strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f
_strideLength src/Dodge/Data/Creature/Stance.hs 16;" f
_strideAmount src/Dodge/Data/Creature/Stance.hs 26;" f
_strideLength src/Dodge/Data/Creature/Stance.hs 20;" f
_stuckCrID src/Dodge/Data/Projectile.hs 50;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 50;" f
@@ -2613,9 +2614,8 @@ advanceScrollAmount src/Dodge/Update.hs 427;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
aimDelaySweep src/Dodge/Render/Picture.hs 288;" f
aimStance src/Dodge/Item/AimStance.hs 10;" f
aimStanceInfo src/Dodge/Item/Info.hs 244;" f
aimTurn src/Dodge/Creature/YourControl.hs 174;" f
aimTurn src/Dodge/Creature/YourControl.hs 180;" f
airlock src/Dodge/Room/Airlock.hs 21;" f
airlock0 src/Dodge/Room/Airlock.hs 50;" f
airlock90 src/Dodge/Room/Airlock.hs 147;" f
@@ -2709,7 +2709,7 @@ axisInt src/Geometry/Intersect.hs 257;" f
azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
backPQ src/Dodge/Creature/HandPos.hs 134;" f
backPQ src/Dodge/Creature/HandPos.hs 153;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 200;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
@@ -2868,7 +2868,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f
chestPQ src/Dodge/Creature/HandPos.hs 128;" f
chestPQ src/Dodge/Creature/HandPos.hs 147;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 34;" f
@@ -3000,8 +3000,8 @@ crBlips src/Dodge/RadarSweep.hs 87;" f
crCamouflage src/Dodge/Creature/Picture.hs 32;" f
crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
crCrSpring src/Dodge/Update.hs 886;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 58;" f
crDexterity src/Dodge/Creature/Statistics.hs 15;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 60;" f
crDexterity src/Dodge/Creature/Statistics.hs 17;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f
crHasTarget src/Dodge/Creature/Test.hs 66;" f
@@ -3010,9 +3010,9 @@ crHit src/Dodge/WorldEvent/ThingsHit.hs 86;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
crInAimStance src/Dodge/Creature/Test.hs 95;" f
crIntelligence src/Dodge/Creature/Statistics.hs 35;" f
crIntelligence src/Dodge/Creature/Statistics.hs 37;" f
crIsAiming src/Dodge/Creature/Test.hs 61;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 117;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 110;" f
crMass src/Dodge/Creature/Mass.hs 5;" f
crMaterial src/Dodge/Creature/Material.hs 8;" f
crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f
@@ -3020,7 +3020,7 @@ crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 28;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 42;" f
crMvType src/Dodge/Creature/MoveType.hs 6;" f
crNearPoint src/Dodge/Creature/Test.hs 140;" f
crNearPoint src/Dodge/Creature/Test.hs 132;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
@@ -3029,7 +3029,7 @@ crSetRoots src/Dodge/Inventory/Location.hs 55;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 881;" f
crStratConMatches src/Dodge/Creature/Test.hs 79;" f
crStrength src/Dodge/Creature/Statistics.hs 25;" f
crStrength src/Dodge/Creature/Statistics.hs 27;" f
crUpdate' src/Dodge/Creature/Update.hs 57;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f
@@ -3258,7 +3258,7 @@ divideLineOddNumPoints src/Geometry.hs 264;" f
dmType src/Dodge/Damage.hs 38;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 148;" f
doAimTwist src/Dodge/Creature/YourControl.hs 153;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 140;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 214;" f
@@ -3479,7 +3479,7 @@ drawWallSearchRays src/Dodge/Debug/Picture.hs 300;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 221;" f
drawWallsNearSegment src/Dodge/Debug/Picture.hs 128;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 212;" f
drawWeapon src/Dodge/Creature/Volition.hs 14;" f
drawWeapon src/Dodge/Creature/Volition.hs 15;" f
drawWlIDs src/Dodge/Debug/Picture.hs 372;" f
drawZoneCol src/Dodge/Debug/Picture.hs 147;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f
@@ -3543,9 +3543,10 @@ equipInfo src/Dodge/Item/Info.hs 141;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 171;" f
equipPosition src/Dodge/Item/Draw.hs 41;" f
equipSiteInfo src/Dodge/Item/Info.hs 254;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 30;" f
equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 54;" f
errorAngleVV src/Geometry.hs 60;" f
errorClosestPointOnLine src/Geometry.hs 72;" f
errorClosestPointOnLineParam src/Geometry.hs 78;" f
@@ -3694,7 +3695,7 @@ getBulletType src/Dodge/HeldUse.hs 933;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 531;" f
getCommand src/Dodge/Terminal.hs 58;" f
getCommands src/Dodge/Terminal.hs 55;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 46;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 48;" f
getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1301;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3765,8 +3766,8 @@ halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 62;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 61;" f
handOrient src/Dodge/Item/HeldOffset.hs 37;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 62;" f
handOrient src/Dodge/Item/HeldOffset.hs 38;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
@@ -3774,7 +3775,7 @@ handleMouseButtonEvent src/Dodge/Event/Input.hs 61;" f
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
handleMouseWheelEvent src/Dodge/Event/Input.hs 56;" f
handleOrient src/Dodge/Item/HeldOffset.hs 31;" f
handlePos src/Dodge/Item/HeldOffset.hs 83;" f
handlePos src/Dodge/Item/HeldOffset.hs 84;" f
handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 19;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
@@ -3788,7 +3789,7 @@ head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 455;" f
headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 119;" f
headPQ src/Dodge/Creature/HandPos.hs 138;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 75;" f
healthTest src/Dodge/Room/LasTurret.hs 96;" f
@@ -3797,16 +3798,16 @@ heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 147;" f
heldEffect src/Dodge/HeldUse.hs 59;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 130;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 90;" f
heldInfo src/Dodge/Item/Info.hs 92;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 19;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 187;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 193;" f
heldItemInvLock src/Dodge/HeldUse.hs 434;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1030;" f
heldItemMuzzles src/Dodge/HeldUse.hs 182;" f
heldItemRifling src/Dodge/HeldUse.hs 1073;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 247;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 76;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 78;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 578;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
@@ -3821,7 +3822,7 @@ hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 580;" f
hitEffFromBul src/Dodge/Bullet.hs 153;" f
hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 534;" f
holdForm src/Dodge/Creature/Boid.hs 137;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
holsterWeapon src/Dodge/Creature/Volition.hs 15;" f
homingModule src/Dodge/Item/Scope.hs 48;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 188;" f
@@ -3920,7 +3921,7 @@ invertInventoryToMap src/Dodge/Combine.hs 56;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 710;" f
isAnimate src/Dodge/Creature/Test.hs 143;" f
isAnimate src/Dodge/Creature/Test.hs 135;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 76;" f
isElectrical src/Dodge/Machine/Update.hs 80;" f
@@ -3952,12 +3953,13 @@ itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 64;" f
itInvHeight src/Dodge/Item/InvSize.hs 11;" f
itUseCondition src/Dodge/ItemUseCondition.hs 6;" f
itemAboveAttachables src/Dodge/Item/Grammar.hs 37;" f
itemAimStance src/Dodge/Item/AimStance.hs 10;" f
itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f
itemBaseName src/Dodge/Item/Display.hs 60;" f
itemBaseStance src/Dodge/Item/AimStance.hs 18;" f
itemBelowAttachables src/Dodge/Item/Grammar.hs 50;" f
itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 181;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 187;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 764;" f
@@ -3986,7 +3988,7 @@ itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 107;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f
itemWeight src/Dodge/Creature/Statistics.hs 70;" f
itemWeight src/Dodge/Creature/Statistics.hs 72;" f
iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 30;" f
@@ -4045,11 +4047,13 @@ ldtToIndentList src/Dodge/DoubleTree.hs 222;" f
ldtToLoc src/Dodge/DoubleTree.hs 268;" f
left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 185;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 60;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 77;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 163;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 85;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 104;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 102;" f
legsPQ src/Dodge/Creature/HandPos.hs 39;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
@@ -4101,7 +4105,7 @@ locGoRight src/Dodge/DoubleTree.hs 324;" f
locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f
locLeftmost src/Dodge/DoubleTree.hs 306;" f
locMuzzles src/Dodge/HeldUse.hs 144;" f
locOrient src/Dodge/Item/HeldOffset.hs 56;" f
locOrient src/Dodge/Item/HeldOffset.hs 57;" f
locRightmost src/Dodge/DoubleTree.hs 309;" f
locToTop src/Dodge/DoubleTree.hs 301;" f
locUp src/Dodge/DoubleTree.hs 272;" f
@@ -4378,7 +4382,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f
onRemoveWristShield src/Dodge/Equipment.hs 24;" f
onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 105;" f
oneH src/Dodge/Creature/Test.hs 98;" f
openConsole src/Dodge/Update.hs 136;" f
optionMenu src/Dodge/Menu.hs 108;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f
@@ -4747,7 +4751,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 600;" f
rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 156;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 158;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 922;" f
removeDot src/ShortShow.hs 40;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
@@ -4795,11 +4799,12 @@ rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 191;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 38;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 53;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 174;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 101;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 120;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 75;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 409;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
@@ -4939,7 +4944,7 @@ sensorTypeDamages src/Dodge/Machine/Update.hs 180;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f
setAimPosture src/Dodge/Creature/YourControl.hs 145;" f
setAimPosture src/Dodge/Creature/YourControl.hs 144;" f
setChannelPos src/Sound.hs 150;" f
setClickWorldPos src/Dodge/Update.hs 106;" f
setClusterID src/Dodge/Combine/Graph.hs 116;" f
@@ -5033,13 +5038,13 @@ shineTargetLaser src/Dodge/Creature/State.hs 200;" f
shineTorch src/Dodge/Creature/State.hs 237;" f
shootBullet src/Dodge/HeldUse.hs 996;" f
shootBullets src/Dodge/HeldUse.hs 986;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f
shootLaser src/Dodge/HeldUse.hs 839;" f
shootPulseBall src/Dodge/HeldUse.hs 907;" f
shootPulseLaser src/Dodge/HeldUse.hs 880;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1216;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 795;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f
@@ -5048,7 +5053,7 @@ shootingRange src/Dodge/Room/Room.hs 332;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 68;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 69;" f
shoulderSH src/Dodge/Creature/Picture.hs 131;" f
showAttachItem src/Dodge/Item/Display.hs 92;" f
showEquipItem src/Dodge/Item/Display.hs 107;" f
@@ -5190,11 +5195,11 @@ stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 197;" f
stopPushing src/Dodge/Block.hs 105;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 49;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 63;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 51;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 65;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 36;" f
strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 71;" f
strideRot src/Dodge/Item/HeldOffset.hs 72;" f
stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
@@ -5349,9 +5354,10 @@ translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 46;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 63;" f
translateH src/Picture/Base.hs 112;" f
translatePointToHead src/Dodge/Creature/HandPos.hs 125;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 27;" f
translatePointToEquipSite src/Dodge/Creature/HandPos.hs 27;" f
translatePointToHead src/Dodge/Creature/HandPos.hs 144;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 92;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 42;" f
translateSH src/Shape.hs 245;" f
translateSHxy src/Shape.hs 249;" f
translateSHz src/Shape.hs 253;" f
@@ -5359,14 +5365,14 @@ translateSP src/ShapePicture.hs 53;" f
translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f
translateScreenPos src/Dodge/ScreenPos.hs 12;" f
translateToChest src/Dodge/Creature/HandPos.hs 131;" f
translateToHead src/Dodge/Creature/HandPos.hs 116;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 78;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 98;" f
translateToLeftWrist src/Dodge/Creature/HandPos.hs 81;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 53;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 113;" f
translateToRightWrist src/Dodge/Creature/HandPos.hs 56;" f
translateToChest src/Dodge/Creature/HandPos.hs 150;" f
translateToHead src/Dodge/Creature/HandPos.hs 135;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 95;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 117;" f
translateToLeftWrist src/Dodge/Creature/HandPos.hs 98;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 68;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 132;" f
translateToRightWrist src/Dodge/Creature/HandPos.hs 71;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 24;" f
@@ -5387,7 +5393,7 @@ truncFaces src/Polyhedra/Geodesic.hs 53;" f
truncate src/Polyhedra/Geodesic.hs 38;" f
trunkDepth src/TreeHelp.hs 161;" f
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 230;" f
tryClickUse src/Dodge/Creature/YourControl.hs 236;" f
tryCombine src/Dodge/Update/Input/InGame.hs 542;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 137;" f
@@ -5415,10 +5421,10 @@ tutorialMessage1 src/Dodge/Room/Tutorial.hs 95;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 111;" f
twoFlat src/Dodge/Creature/Test.hs 108;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 80;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 159;" f
twists src/Dodge/Creature/Test.hs 104;" f
twoFlat src/Dodge/Creature/Test.hs 101;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 165;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 154;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 544;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 596;" f
@@ -5639,7 +5645,7 @@ warningRooms src/Dodge/Room/Warning.hs 26;" f
wasdAim src/Dodge/Creature/YourControl.hs 132;" f
wasdDir src/Dodge/WASD.hs 17;" f
wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 162;" f
wasdMovement src/Dodge/Creature/YourControl.hs 168;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 125;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 179;" f