Work on chase crit shape

This commit is contained in:
2026-04-01 13:46:27 +01:00
parent 5f886106e2
commit 6d1cdcc9f3
11 changed files with 154 additions and 128 deletions
+3 -3
View File
@@ -88,7 +88,7 @@ makeDebrisDirectedZ arcrad dir z dt bm p w =
{ _dbPos = p `v2z` z
, _dbType = dt
, _dbVel = v `v2z` 0
, _dbRot = Q.qID
, _dbRot = Q.qid
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) spinspeed
}
@@ -109,7 +109,7 @@ makeDebrisDirected arcrad dir dt bm p w =
{ _dbPos = p `v2z` h
, _dbType = dt
, _dbVel = v `v2z` 0
, _dbRot = Q.qID
, _dbRot = Q.qid
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) spinspeed
}
@@ -118,7 +118,7 @@ makeDebrisDirected arcrad dir dt bm p w =
-- & prPos .~ p
-- & prVel .~ v
-- & prQuatSpin .~ Q.axisAngle (vNormal v `v2z` 0) spinspeed
-- & prQuat .~ Q.qID
-- & prQuat .~ Q.qid
-- & prVelZ .~ 0
-- & prPosZ .~ h
+20 -20
View File
@@ -27,7 +27,7 @@ import qualified Quaternion as Q
import ShapePicture
translateToES :: Creature -> EquipSite -> Point3 -> Point3
translateToES cr es p = fst (equipSitePQ es cr `Q.comp` (p, Q.qID))
translateToES cr es p = fst (equipSitePQ es cr `Q.comp` (p, Q.qid))
equipSitePQ :: EquipSite -> Creature -> Point3Q
equipSitePQ = \case
@@ -40,7 +40,7 @@ equipSitePQ = \case
OnRightLeg -> legPQ RightForward
translatePointToRightHand :: Creature -> Point3 -> Point3
translatePointToRightHand cr p = fst (rightHandPQ cr `Q.comp` (p, Q.qID))
translatePointToRightHand cr p = fst (rightHandPQ cr `Q.comp` (p, Q.qid))
handWalkingPos :: FootForward -> Float -> Creature -> Point3
handWalkingPos b off cr = case cr ^. crStance . carriage of
@@ -65,15 +65,15 @@ zeroOneSmooth x = (1 - cos (pi * x)) / 2
rightHandPQ :: Creature -> Point3Q
rightHandPQ cr
| oneH cr = (V3 11 (-3) 20, Q.qID)
| oneH cr = (V3 11 (-3) 20, Q.qid)
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0, Q.qz 1)
| twoFlat cr = (V3 8 (-8) 12, Q.qID)
| twoFlat cr = (V3 8 (-8) 12, Q.qid)
| Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance
= (V3 6 (-6) 10, Q.qID)
= (V3 6 (-6) 10, Q.qid)
| Just TwoHandFlat <- cr ^? crManipulation . manObject . imAimStance
= (V3 (8 - twoHandOffY cr) (-8) 12, Q.qID)
| Just p <- crRightHandWall cr = (20 & _xy .~ p, Q.qID)
| otherwise = (handWalkingPos LeftForward (-8) cr, Q.qID)
= (V3 (8 - twoHandOffY cr) (-8) 12, Q.qid)
| Just p <- crRightHandWall cr = (20 & _xy .~ p, Q.qid)
| otherwise = (handWalkingPos LeftForward (-8) cr, Q.qid)
crRightHandWall :: Creature -> Maybe Point2
crRightHandWall cr = do
@@ -115,19 +115,19 @@ translateToRightHand :: Creature -> SPic -> SPic
translateToRightHand = overPosSP . translatePointToRightHand
rightWristPQ :: Creature -> Point3Q
rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qID)
rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qid)
leftHandPQ :: Creature -> Point3Q
leftHandPQ cr
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, Q.qz 0.4)
| twoFlat cr = (V3 8 8 12, Q.qID)
| twoFlat cr = (V3 8 8 12, Q.qid)
| Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance
= (V3 (10 + twoHandOffY cr) 6 20, Q.qID)
= (V3 (10 + twoHandOffY cr) 6 20, Q.qid)
| Just TwoHandFlat <- cr ^? crManipulation . manObject . imAimStance
= (V3 (8 + twoHandOffY cr) 6 12, Q.qID)
| Just p <- crLeftHandWall cr = (20 & _xy .~ p, Q.qID)
= (V3 (8 + twoHandOffY cr) 6 12, Q.qid)
| Just p <- crLeftHandWall cr = (20 & _xy .~ p, Q.qid)
| oneH cr = (V3 0 8 10, Q.qz 0.4)
| otherwise = (handWalkingPos RightForward 8 cr, Q.qID)
| otherwise = (handWalkingPos RightForward 8 cr, Q.qid)
twoHandOffY :: Creature -> Float
twoHandOffY cr = zeroOneSmooth $ case cr ^. crStance . carriage of
@@ -146,16 +146,16 @@ twoHandOffY cr = zeroOneSmooth $ case cr ^. crStance . carriage of
_ -> 0
translatePointToLeftHand :: Creature -> Point3 -> Point3
translatePointToLeftHand cr p = fst (leftHandPQ cr `Q.comp` (p, Q.qID))
translatePointToLeftHand cr p = fst (leftHandPQ cr `Q.comp` (p, Q.qid))
translateToLeftHand :: Creature -> SPic -> SPic
translateToLeftHand = overPosSP . translatePointToLeftHand
leftWristPQ :: Creature -> Point3Q
leftWristPQ cr = leftHandPQ cr `Q.comp` (V3 0 4 (-4), Q.qID)
leftWristPQ cr = leftHandPQ cr `Q.comp` (V3 0 4 (-4), Q.qid)
translateToLeftLeg :: Creature -> SPic -> SPic
translateToLeftLeg cr = overPosSP (\p -> fst (legPQ LeftForward cr `Q.comp` (p, Q.qID)))
translateToLeftLeg cr = overPosSP (\p -> fst (legPQ LeftForward cr `Q.comp` (p, Q.qid)))
legPQ :: FootForward -> Creature -> Point3Q
legPQ ff = case ff of
@@ -166,7 +166,7 @@ legPQ' :: (Float -> Float) -> Creature -> Point3Q
legPQ' g cr =
Q.comp
(0, Q.qz (_crMvDir cr - _crDir cr))
(V3 x (g off) 0, Q.qID)
(V3 x (g off) 0, Q.qid)
where
x = case cr ^? crStance . carriage of
Just (Walking sa LeftForward) -> -f sa
@@ -179,13 +179,13 @@ legPQ' g cr =
f i = g 8 * (sLen - i) / sLen
translateToRightLeg :: Creature -> SPic -> SPic
translateToRightLeg cr = overPosSP (\p -> fst (legPQ RightForward cr `Q.comp` (p, Q.qID)))
translateToRightLeg cr = overPosSP (\p -> fst (legPQ RightForward cr `Q.comp` (p, Q.qid)))
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)
| otherwise = (V3 2.5 0 20, Q.qid)
chestPQ :: Creature -> Point3Q
chestPQ cr = backPQ cr `Q.comp` (0, Q.qz pi)
+1 -1
View File
@@ -26,6 +26,6 @@ defaultChaseMvType =
CrMvType
{ _mvSpeed = 2
, _mvTurnRad = FloatAbsCheckGreaterLess (pi / 4) 0.2 0.05
, _mvTurnJit = 0.2
, _mvTurnJit = 0.05
, _mvAimSpeed = FloatAbsCheckGreaterLess (pi / 8) 0.2 0.01
}
+23 -1
View File
@@ -10,6 +10,7 @@ module Dodge.Creature.Picture (
drawChaseCrit,
) where
import Linear
import Dodge.Data.Equipment.Misc
import Dodge.Creature.HandPos
import qualified Data.IntMap.Strict as IM
@@ -50,12 +51,33 @@ basicCrShape cr
rotmdir = rotateSH (_crMvDir cr - _crDir cr)
drawChaseCrit :: Creature -> Shape
drawChaseCrit cr = rotmdir $ colorSH (_skinLower cskin) $ feet cr
drawChaseCrit cr = mconcat
[ chaseUpperBody cr
, rotmdir $ colorSH (_skinLower cskin) $ feet cr
]
where
cskin = crShape $ _crType cr
crsize = 0.1 * crRad (cr ^. crType)
rotmdir = rotateSH (_crMvDir cr - _crDir cr)
chaseUpperBody :: Creature -> Shape
chaseUpperBody cr = colorSH (_skinUpper cskin)
(overPosSH (Q.apply torsoq) (upperPrismPolyHalfMI tz $ polyCirc 3 12
& each %~ vNormal
& each . _y *~ 0.6)
<> overPosSH (Q.apply neckq) (upperPrismPolyHalfMI 3 $ (+ V2 8 0) . vNormal <$> trapTBH 2 5 8)
)
<> colorSH (_skinHead cskin)
(overPosSH (Q.apply headq) (upperBox Medium Important 2 [V2 0 (-4), V2 9 0, V2 0 4]))
where
tz = 4
cskin = crShape $ _crType cr
torsoq = (V3 0 0 (10 + tz),Q.qid)
mcool = 1 - min 10 (fromIntegral . _meleeCooldown $ _crType cr) / 10
neckq = torsoq `Q.comp` (V3 6 0 0,Q.axisAngle (V3 0 1 0) (-1.8*mcool))
headq = neckq `Q.comp` (V3 16 0 0, Q.axisAngle (V3 0 1 0) (2*mcool))
oneSmooth :: Float -> Float
oneSmooth x = sin (pi * x * 0.5)
+1 -1
View File
@@ -224,7 +224,7 @@ shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ d
where
o = locOrient loc cr
itmtree = loc ^. locDT
(p, q) = o `Q.comp` (V3 5 0 0, Q.qID)
(p, q) = o `Q.comp` (V3 5 0 0, Q.qid)
x = 1
isammolink AmmoMagSF{} = True
isammolink _ = False
+1
View File
@@ -96,6 +96,7 @@ makeLenses ''BarrelType
makeLenses ''Vocalization
makeLenses ''CrMvType
makeLenses ''CreatureType
makeLenses ''CreatureShape
deriveJSON defaultOptions ''Pulse
--deriveJSON defaultOptions ''CreatureStatistics
+7 -7
View File
@@ -21,7 +21,7 @@ itemEquipPict cr itmtree
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip =
equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem =
overPosSP (Q.prePos $ handHandleOrient loc cr) (itemTreeSPic itmtree)
overPosSP (Q.apply $ handHandleOrient loc cr) (itemTreeSPic itmtree)
| otherwise = mempty
where
itm = itmtree ^. dtValue . _1
@@ -29,13 +29,13 @@ itemEquipPict cr itmtree
equipAttachPos :: EquipItemType -> Point3Q
equipAttachPos = \case
BATTERYPACK -> (V3 (-8) 0 10, Q.qID)
FUELPACK -> (V3 (-9) 0 10, Q.qID)
BULLETBELTPACK -> (V3 (-9) 0 10, Q.qID)
BULLETBELTBRACER -> (V3 (-9) 0 10, Q.qID)
_ -> (0, Q.qID)
BATTERYPACK -> (V3 (-8) 0 10, Q.qid)
FUELPACK -> (V3 (-9) 0 10, Q.qid)
BULLETBELTPACK -> (V3 (-9) 0 10, Q.qid)
BULLETBELTBRACER -> (V3 (-9) 0 10, Q.qid)
_ -> (0, Q.qid)
equipPosition :: EquipSite -> Creature -> Point3Q -> SPic -> SPic
equipPosition es cr q =
overPosSP
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x, Q.qID))
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x, Q.qid))
+6 -6
View File
@@ -31,18 +31,18 @@ transToHandle itm = (-.-.- (0 & _xy .~ handlePos itm))
handleOrient :: LocationDT CItem -> Point3Q
handleOrient loc = case loc ^. locDT . dtValue . _1 . itType of
HELD FLAMETHROWER -> (V3 (-1) 0 0, Q.qID)
_ -> (V3 (-3) 0 0, Q.qID)
HELD FLAMETHROWER -> (V3 (-1) 0 0, Q.qid)
_ -> (V3 (-3) 0 0, Q.qid)
---- note this is relative to the creature
---- the aimstance here should match any aimstance in Aiming
--handOrient :: Creature -> AimStance -> Point3Q
--handOrient cr = case cr ^. crStance . posture of
-- Aiming {} -> \case
-- TwoHandUnder -> (V3 (-3) 0 shoulderHeight, Q.qID)
-- TwoHandOver -> (V3 0 0 shoulderHeight, Q.qID)
-- OneHand -> (V3 13 (-2) shoulderHeight, Q.qID)
-- TwoHandFlat -> (V3 13 0 shoulderHeight, Q.qID)
-- TwoHandUnder -> (V3 (-3) 0 shoulderHeight, Q.qid)
-- TwoHandOver -> (V3 0 0 shoulderHeight, Q.qid)
-- OneHand -> (V3 13 (-2) shoulderHeight, Q.qid)
-- TwoHandFlat -> (V3 13 0 shoulderHeight, Q.qid)
-- AtEase -> \case
-- OneHand -> rightHandPQ cr
-- TwoHandFlat -> (V3 10 0 15, Q.axisAngle (V3 0 0 1) $ twoFlatHRot cr)
+19 -19
View File
@@ -18,31 +18,31 @@ import qualified Quaternion as Q
orientChild :: Item -> Point3Q
orientChild itm = case _itType itm of
--HELD LED -> (V3 0 5 0, Q.qID)
HELD LED -> (V3 (-x) 0 0, Q.qID)
AMMOMAG BATTERY -> (V3 0 0 1, Q.qID)
AMMOMAG {} -> (V3 0 (2-itemShapeMax _y itm) 0, Q.qID)
--HELD LASER -> (V3 15 (-5) 0, Q.qID)
LASER -> (V3 15 (-5) 0, Q.qID)
--HELD LED -> (V3 0 5 0, Q.qid)
HELD LED -> (V3 (-x) 0 0, Q.qid)
AMMOMAG BATTERY -> (V3 0 0 1, Q.qid)
AMMOMAG {} -> (V3 0 (2-itemShapeMax _y itm) 0, Q.qid)
--HELD LASER -> (V3 15 (-5) 0, Q.qid)
LASER -> (V3 15 (-5) 0, Q.qid)
ATTACH UNDERBARRELSLOT -> (V3 10 (-8) 0, r)
_ -> (0, Q.qID)
_ -> (0, Q.qid)
where
--r = Q.axisAngle (V3 0 0 1) (-pi/4)
r = Q.qID
r = Q.qid
-- y = itemShapeMin _y itm
x = itemShapeMaxX itm
orientByParentChSF :: Item -> ItemSF -> Point3Q
orientByParentChSF itm lt = case (_itType itm, lt) of
(HELD FLAMETHROWER, AmmoMagSF{}) -> (V3 4 (-6) 0, Q.qID)
(HELD FLAMETHROWER, AmmoMagSF{}) -> (V3 4 (-6) 0, Q.qid)
(HELD (VOLLEYGUN n), AmmoMagSF i _)
-> (V3 2 (2.5 + fromIntegral i * 5 - (0.5 * 5 * fromIntegral n)) 3, Q.qz (pi/2))
(HELD ALTERIFLE, AmmoMagSF i _) -> alteRifleAmmoOrient itm i
(HELD _, AmmoMagSF{_amsfType = ElectricalAmmo}) -> (V3 0 0 z, Q.qID)
(HELD _, AmmoMagSF{}) -> (V3 7 (itemShapeMin _y itm) 0, Q.qID)
(HELD _, WeaponScopeSF) -> (V3 5 0 5, Q.qID)
(HELD _, TorchSF) -> (V3 x y 0, Q.qID)
_ -> (0, Q.qID)
(HELD _, AmmoMagSF{_amsfType = ElectricalAmmo}) -> (V3 0 0 z, Q.qid)
(HELD _, AmmoMagSF{}) -> (V3 7 (itemShapeMin _y itm) 0, Q.qid)
(HELD _, WeaponScopeSF) -> (V3 5 0 5, Q.qid)
(HELD _, TorchSF) -> (V3 x y 0, Q.qid)
_ -> (0, Q.qid)
where
x = itemShapeMaxX itm
y = itemShapeMaxY itm
@@ -50,7 +50,7 @@ orientByParentChSF itm lt = case (_itType itm, lt) of
alteRifleAmmoOrient :: Item -> Int -> Point3Q
alteRifleAmmoOrient itm = \case
1 -> (V3 18 (itemShapeMin _y itm + s + 1) 0, Q.qID)
1 -> (V3 18 (itemShapeMin _y itm + s + 1) 0, Q.qid)
_ -> (V3 18 (itemShapeMax _y itm + s - 1) 0, Q.qz pi)
where
s | itm ^? itParams . alteRifleSwitch == Just 0 = 1
@@ -79,9 +79,9 @@ itemShapeMin g = f . (^. _1) . itemSPic
orientAttachment :: Item -> CItem -> Point3Q
orientAttachment par (ch,chsf) = case (_itType par, chsf) of
(ATTACH UNDERBARRELSLOT, _) -> (V3 (-5) (-8) 0, Q.qID)
(_,LaserWeaponXSF {}) -> (V3 2 8 0, Q.qID)
-- (_,TorchSF) -> (V3 2 8 0, Q.qID)
(ATTACH UNDERBARRELSLOT, _) -> (V3 (-5) (-8) 0, Q.qid)
(_,LaserWeaponXSF {}) -> (V3 2 8 0, Q.qid)
-- (_,TorchSF) -> (V3 2 8 0, Q.qid)
-- (HELD BURSTRIFLE, _, HELD TORCH) -> (V3 20 0 0, Q.axisAngle (V3 0 0 1) (pi/2))
-- (HELD LAUNCHER, _, HELD TORCH) -> (V3 0 20 0, Q.axisAngle (V3 0 0 1) (pi/4))
_ -> (t1 + Q.rotate q1 t2, q1 * q2)
@@ -92,5 +92,5 @@ orientAttachment par (ch,chsf) = case (_itType par, chsf) of
propagateOrientation :: DTree CItem -> DTree OItem
propagateOrientation = dtStartPropagate g f
where
g (x,y) = (x,y,(V3 0 0 0,Q.qID))
g (x,y) = (x,y,(V3 0 0 0,Q.qid))
f (x,_,pq) (y,y1) = (y,y1,Q.comp pq $ orientAttachment x (y,y1))
+6 -6
View File
@@ -6,7 +6,7 @@ WARNING: orphan instances concerning Aeson classes and Linear.Quaternion datatyp
The warnings have been disabled.
-}
module Quaternion (
qID,
qid,
qz,
qToV3,
qToV2,
@@ -14,7 +14,7 @@ module Quaternion (
rotateToZ,
vToQuat,
comp,
prePos,
apply,
module Linear.Quaternion,
qNoRoll,
) where
@@ -69,14 +69,14 @@ qToV2 = (\(V3 x y _) -> V2 x y) . qToV3
qToAng :: Quaternion Float -> Float
qToAng = argV . qToV2
qID :: Q.Quaternion Float
qID = Q.axisAngle (V3 1 0 0) 0
qid :: Q.Quaternion Float
qid = Q.axisAngle (V3 1 0 0) 0
comp :: Point3Q -> Point3Q -> Point3Q
comp (p,q) (p1,q1) = (p + Q.rotate q p1, q * q1)
prePos :: Point3Q -> Point3 -> Point3
prePos (p,q) p1 = p + Q.rotate q p1
apply :: Point3Q -> Point3 -> Point3
apply (p,q) p1 = p + Q.rotate q p1
qz :: Float -> Q.Quaternion Float
qz = Q.axisAngle (V3 0 0 1)
+67 -64
View File
@@ -2576,7 +2576,7 @@ advanceScrollAmount src/Dodge/Update.hs 479;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
aimDelaySweep src/Dodge/Render/Picture.hs 285;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 161;" f
aimTurn src/Dodge/Creature/YourControl.hs 157;" f
airlock src/Dodge/Room/Airlock.hs 28;" f
airlock0 src/Dodge/Room/Airlock.hs 78;" f
airlock90 src/Dodge/Room/Airlock.hs 201;" f
@@ -2602,6 +2602,7 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
angleVVTests test/Spec.hs 67;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f
anythingHitCirc src/Dodge/Base/Collide.hs 335;" f
apply src/Quaternion.hs 78;" f
applyCME src/Dodge/HeldUse.hs 397;" f
applyClip src/Dodge/Debug.hs 176;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
@@ -2641,7 +2642,7 @@ argV src/Geometry/Vector.hs 83;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f
armouredChasers src/Dodge/Room/Boss.hs 58;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 69;" f
arms src/Dodge/Creature/Picture.hs 100;" f
arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f
@@ -2684,7 +2685,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 827;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 120;" f
barrelShape src/Dodge/Render/ShapePicture.hs 121;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 165;" f
@@ -2693,14 +2694,14 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f
baseShoulder src/Dodge/Creature/Picture.hs 107;" f
baseShoulder src/Dodge/Creature/Picture.hs 138;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 346;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f
basicCrPict src/Dodge/Creature/Picture.hs 30;" f
basicCrShape src/Dodge/Creature/Picture.hs 36;" f
basicCrPict src/Dodge/Creature/Picture.hs 32;" f
basicCrShape src/Dodge/Creature/Picture.hs 38;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMuzFlare src/Dodge/HeldUse.hs 731;" f
@@ -2764,7 +2765,7 @@ branchRectWith src/Dodge/Room/Branch.hs 16;" f
branchWith src/Dodge/Room/Room.hs 81;" f
bright src/Color.hs 147;" f
brightX src/Color.hs 143;" f
btSPic src/Dodge/Render/ShapePicture.hs 169;" f
btSPic src/Dodge/Render/ShapePicture.hs 170;" f
btText src/Dodge/Inventory/SelectionList.hs 236;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 431;" f
@@ -2818,6 +2819,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 122;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 63;" f
chasmRotate src/Dodge/Creature/Update.hs 177;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 371;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 305;" f
@@ -2954,26 +2956,26 @@ corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f
corridorWallN src/Dodge/Room/Corridor.hs 77;" f
crAdd src/Dodge/Room/RezBox.hs 116;" f
crAwayFromPost src/Dodge/Creature/Test.hs 86;" f
crAwayFromPost src/Dodge/Creature/Test.hs 83;" f
crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 33;" f
crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
crCamouflage src/Dodge/Creature/Picture.hs 35;" f
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
crCrSpring src/Dodge/Update.hs 978;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 59;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 43;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f
crHasTarget src/Dodge/Creature/Test.hs 66;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 69;" f
crHasTarget src/Dodge/Creature/Test.hs 63;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f
crHeight src/Dodge/Base/Collide.hs 175;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 136;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f
crInAimStance src/Dodge/Creature/Test.hs 94;" f
crInAimStance src/Dodge/Creature/Test.hs 91;" f
crIntelligence src/Dodge/Creature/Statistics.hs 37;" f
crIsAiming src/Dodge/Creature/Test.hs 61;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 110;" f
crIsAiming src/Dodge/Creature/Test.hs 58;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 107;" f
crLeftHandWall src/Dodge/Creature/HandPos.hs 96;" f
crMass src/Dodge/Creature/Mass.hs 5;" f
crMaterial src/Dodge/Creature/Material.hs 8;" f
@@ -2984,15 +2986,15 @@ crMvBy src/Dodge/Creature/Impulse/Movement.hs 22;" f
crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 30;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 57;" f
crMvType src/Dodge/Creature/MoveType.hs 6;" f
crNearPoint src/Dodge/Creature/Test.hs 132;" f
crNearPoint src/Dodge/Creature/Test.hs 129;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 78;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 75;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 72;" f
crSetRoots src/Dodge/Inventory/Location.hs 56;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 965;" f
crStratConMatches src/Dodge/Creature/Test.hs 81;" f
crStratConMatches src/Dodge/Creature/Test.hs 78;" f
crStrength src/Dodge/Creature/Statistics.hs 28;" f
crUpdate src/Dodge/Creature/Update.hs 70;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
@@ -3039,7 +3041,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 40;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 156;" f
cullPoint src/Dodge/Render/ShapePicture.hs 136;" f
cullPoint src/Dodge/Render/ShapePicture.hs 137;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3097,10 +3099,10 @@ dbwMuzzles src/Dodge/HeldUse.hs 349;" f
deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 69;" f
deadEndRoom src/Dodge/Room/Room.hs 262;" f
deadFeet src/Dodge/Creature/Picture.hs 65;" f
deadRot src/Dodge/Creature/Picture.hs 83;" f
deadScalp src/Dodge/Creature/Picture.hs 78;" f
deadUpperBody src/Dodge/Creature/Picture.hs 104;" f
deadFeet src/Dodge/Creature/Picture.hs 96;" f
deadRot src/Dodge/Creature/Picture.hs 114;" f
deadScalp src/Dodge/Creature/Picture.hs 109;" f
deadUpperBody src/Dodge/Creature/Picture.hs 135;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f
debrisSPic src/Dodge/Prop/Draw.hs 17;" f
debrisSize src/Dodge/Block/Debris.hs 125;" f
@@ -3230,7 +3232,7 @@ divideLine src/Geometry.hs 248;" f
divideLineExact src/Geometry.hs 276;" f
divideLineOddNumPoints src/Geometry.hs 261;" f
dmType src/Dodge/Damage.hs 38;" f
doAimTwist src/Dodge/Creature/YourControl.hs 135;" f
doAimTwist src/Dodge/Creature/YourControl.hs 131;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f
@@ -3320,9 +3322,10 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 74;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Render/ShapePicture.hs 81;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 368;" f
drawBullet src/Dodge/Render/ShapePicture.hs 175;" f
drawBullet src/Dodge/Render/ShapePicture.hs 176;" f
drawButton src/Dodge/Button/Draw.hs 11;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChaseCrit src/Dodge/Creature/Picture.hs 53;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 87;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
@@ -3351,7 +3354,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f
drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f
drawEmptySet src/Dodge/Render/Picture.hs 151;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 116;" f
drawEquipment src/Dodge/Creature/Picture.hs 147;" f
drawExamineInventory src/Dodge/Render/HUD.hs 199;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f
@@ -3522,7 +3525,7 @@ explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 141;" f
extraPics src/Dodge/Render/ShapePicture.hs 142;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 94;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 103;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3530,7 +3533,7 @@ faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 245;" f
fdiv src/ShortShow.hs 41;" f
feet src/Dodge/Creature/Picture.hs 51;" f
feet src/Dodge/Creature/Picture.hs 82;" f
filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f
findBlips src/Dodge/RadarSweep.hs 63;" f
@@ -3574,7 +3577,7 @@ flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f
flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f
flockPointTarget src/Dodge/Creature/Boid.hs 204;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 233;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 162;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 163;" f
floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f
@@ -3641,8 +3644,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 509;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 47;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 567;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 554;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 570;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 557;" f
getDebugMouseOver src/Dodge/Update.hs 449;" f
getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3659,7 +3662,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1271;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomFromID src/Dodge/Room/Modify.hs 31;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 550;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 553;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3723,7 +3726,7 @@ handHandleOrient src/Dodge/Item/HeldOffset.hs 71;" f
handOrient src/Dodge/Item/HeldOffset.hs 52;" f
handWalkingPos src/Dodge/Creature/HandPos.hs 45;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 41;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 37;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
handleMouseButtonEvent src/Dodge/Event/Input.hs 59;" f
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
@@ -3734,7 +3737,7 @@ handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 19;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 32;" f
hasAutoDoorBody src/Dodge/Creature/Test.hs 141;" f
hasAutoDoorBody src/Dodge/Creature/Test.hs 138;" f
hasButtonLOS src/Dodge/Base/Collide.hs 304;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasLOS src/Dodge/Base/Collide.hs 297;" f
@@ -3756,7 +3759,7 @@ heldEffectMuzzles src/Dodge/HeldUse.hs 135;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 100;" f
heldInfo src/Dodge/Item/Info.hs 92;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 174;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 170;" f
heldItemInvLock src/Dodge/HeldUse.hs 469;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1022;" f
heldItemMuzzles src/Dodge/HeldUse.hs 198;" f
@@ -3779,7 +3782,7 @@ holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
homingModule src/Dodge/Item/Scope.hs 50;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 66;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 58;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
@@ -3874,7 +3877,7 @@ invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f
isAmmoIntLink src/Dodge/HeldUse.hs 738;" f
isAnimate src/Dodge/Creature/Test.hs 135;" f
isAnimate src/Dodge/Creature/Test.hs 132;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 66;" f
@@ -3915,7 +3918,7 @@ itemBaseName src/Dodge/Item/Display.hs 60;" f
itemBaseStance src/Dodge/Item/AimStance.hs 22;" f
itemBelowAttachables src/Dodge/Item/Grammar.hs 53;" f
itemBlips src/Dodge/RadarSweep.hs 94;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 168;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 164;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemDetectorEffect src/Dodge/HeldUse.hs 811;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f
@@ -3980,7 +3983,7 @@ lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 126;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f
@@ -4182,7 +4185,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 122;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 165;" f
mcProxTest src/Dodge/Machine/Update.hs 246;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 207;" f
mcSPic src/Dodge/Render/ShapePicture.hs 172;" f
mcSPic src/Dodge/Render/ShapePicture.hs 173;" f
mcShootAuto src/Dodge/HeldUse.hs 1189;" f
mcShootLaser src/Dodge/HeldUse.hs 1181;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f
@@ -4346,7 +4349,8 @@ obstructPathsCrossing src/Dodge/Path.hs 120;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f
onEquipWristShield src/Dodge/Euse.hs 89;" f
onRemoveWristShield src/Dodge/Euse.hs 79;" f
oneH src/Dodge/Creature/Test.hs 98;" f
oneH src/Dodge/Creature/Test.hs 95;" f
oneSmooth src/Dodge/Creature/Picture.hs 79;" f
openConsole src/Dodge/Update.hs 138;" f
optionMenu src/Dodge/Menu.hs 110;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f
@@ -4395,7 +4399,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 632;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 635;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 66;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4534,7 +4538,6 @@ powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f
preCritStart src/Dodge/Room/Start.hs 84;" f
prePos src/Quaternion.hs 78;" f
preloadRender src/Preload/Render.hs 29;" f
premapMaybe src/FoldlHelp.hs 26;" f
prependTwo src/Geometry.hs 177;" f
@@ -4592,7 +4595,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f
putShape src/Dodge/Room/Foreground.hs 134;" f
putSingleLight src/Dodge/Room/Tutorial.hs 450;" f
putSingleLight src/Dodge/Room/Tutorial.hs 453;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f
@@ -4600,13 +4603,13 @@ putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 21;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 16;" f
putWireEnd src/Dodge/Wire.hs 29;" f
putWireStart src/Dodge/Wire.hs 32;" f
qID src/Quaternion.hs 72;" f
qNoRoll src/Quaternion.hs 52;" f
qNoRoll1 src/Quaternion.hs 57;" f
qNoRoll2 src/Quaternion.hs 60;" f
qToAng src/Quaternion.hs 69;" f
qToV2 src/Quaternion.hs 66;" f
qToV3 src/Quaternion.hs 63;" f
qid src/Quaternion.hs 72;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 194;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 158;" f
quitCommand src/Dodge/Terminal.hs 106;" f
@@ -4689,7 +4692,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f
rememberSounds src/Dodge/Creature/Perception.hs 176;" f
remoteDetonator src/Dodge/Item/Scope.hs 152;" f
remoteScreen src/Dodge/Item/Scope.hs 146;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 140;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 136;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 933;" f
removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
@@ -4830,8 +4833,8 @@ scale3 src/Picture/Base.hs 137;" f
scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 266;" f
scalp src/Dodge/Creature/Picture.hs 92;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 86;" f
scalp src/Dodge/Creature/Picture.hs 123;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 126;" f
screenBox src/Dodge/Base/Window.hs 54;" f
@@ -4877,13 +4880,13 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f
sensorSPic src/Dodge/Machine/Draw.hs 97;" f
sensorTut src/Dodge/Room/Tutorial.hs 576;" f
sensorTut src/Dodge/Room/Tutorial.hs 579;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f
setAimPosture src/Dodge/Creature/YourControl.hs 129;" f
setAimPosture src/Dodge/Creature/YourControl.hs 125;" f
setChannelPos src/Sound.hs 152;" f
setClickWorldPos src/Dodge/Update.hs 108;" f
setClip src/Dodge/Debug.hs 239;" f
@@ -4945,7 +4948,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 91;" f
shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftChildren src/Dodge/Tree/Compose.hs 45;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 130;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 131;" f
shiftInBy src/Dodge/PlacementSpot.hs 254;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 294;" f
shiftInvItemsDown src/Dodge/Inventory.hs 181;" f
@@ -5300,7 +5303,7 @@ topTestPart src/Dodge/TestString.hs 71;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 85;" f
torso src/Dodge/Creature/Picture.hs 97;" f
torso src/Dodge/Creature/Picture.hs 128;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 850;" f
@@ -5349,7 +5352,7 @@ truncFaces src/Polyhedra/Geodesic.hs 54;" f
truncate src/Polyhedra/Geodesic.hs 39;" f
trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 216;" f
tryClickUse src/Dodge/Creature/YourControl.hs 212;" f
tryCombine src/Dodge/Update/Input/InGame.hs 521;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f
@@ -5369,19 +5372,19 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f
tutDrop src/Dodge/Room/Tutorial.hs 101;" f
tutHub src/Dodge/Room/Tutorial.hs 474;" f
tutHub src/Dodge/Room/Tutorial.hs 477;" f
tutLight src/Dodge/Room/Tutorial.hs 393;" f
tutRezBox src/Dodge/Room/Tutorial.hs 587;" f
tutRezBox src/Dodge/Room/Tutorial.hs 590;" f
tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 612;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 615;" f
tweenAngles src/Geometry/Vector.hs 192;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f
twists src/Dodge/Creature/Test.hs 104;" f
twoFlat src/Dodge/Creature/Test.hs 101;" f
twists src/Dodge/Creature/Test.hs 101;" f
twoFlat src/Dodge/Creature/Test.hs 98;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 91;" f
twoHandOffY src/Dodge/Creature/HandPos.hs 132;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 146;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 142;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f
@@ -5530,7 +5533,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 474;" f
updateWorldEventFlag src/Dodge/Update.hs 127;" f
updateWorldEventFlags src/Dodge/Update.hs 115;" f
upperBody src/Dodge/Creature/Picture.hs 112;" f
upperBody src/Dodge/Creature/Picture.hs 143;" f
upperBox src/Shape.hs 153;" f
upperBoxHalf src/Shape.hs 219;" f
upperBoxMT src/Shape.hs 144;" f
@@ -5550,7 +5553,7 @@ upperPrismPolyTS src/Shape.hs 116;" f
upperRounded src/Shape.hs 182;" f
useBulletPayload src/Dodge/Bullet.hs 117;" f
useGasParams src/Dodge/HeldUse.hs 1111;" f
useHotkey src/Dodge/Creature/YourControl.hs 61;" f
useHotkey src/Dodge/Creature/YourControl.hs 57;" f
useInventoryPath src/Dodge/HeldUse.hs 1402;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
@@ -5609,11 +5612,11 @@ wallsToDraw src/Dodge/Render/Walls.hs 18;" f
warmupSound src/Dodge/HeldUse.hs 1396;" f
warningRooms src/Dodge/Room/Warning.hs 34;" f
warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f
wasdAim src/Dodge/Creature/YourControl.hs 117;" f
wasdAim src/Dodge/Creature/YourControl.hs 113;" f
wasdDir src/Dodge/WASD.hs 17;" f
wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 149;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 110;" f
wasdMovement src/Dodge/Creature/YourControl.hs 145;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 106;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 186;" f
weaponBehindPillar src/Dodge/Room/Room.hs 198;" f