Continue to refactor body/equipment positionings

This commit is contained in:
2025-08-27 14:40:13 +01:00
parent 9d2a2e6730
commit 86696deb56
14 changed files with 151 additions and 189 deletions
+4 -5
View File
@@ -9,10 +9,9 @@ import Dodge.Data.Creature
import Geometry
import Shape
import ShapePicture
import qualified Data.IntMap.Strict as IM
makeCorpse :: IM.IntMap Item -> Creature -> Corpse
makeCorpse m cr =
makeCorpse :: Creature -> Corpse
makeCorpse cr =
defaultCorpse
& cpPos .~ _crPos cr
& cpDir .~ _crDir cr
@@ -20,8 +19,8 @@ makeCorpse m cr =
.~ noPic
( scaleSH (V3 crsize crsize crsize) $
mconcat
[ colorSH (_skinHead cskin) $ deadScalp m cr
, colorSH (_skinUpper cskin) $ deadUpperBody m cr
[ colorSH (_skinHead cskin) $ deadScalp cr
, colorSH (_skinUpper cskin) $ deadUpperBody cr
, rotmdir $ colorSH (_skinLower cskin) $ deadFeet cr
]
)
+8 -29
View File
@@ -1,14 +1,10 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Creature.HandPos (
equipSitePQ,
translatePointToLeftHand,
translatePointToRightHand,
translatePointToHead,
translateToLeftWrist,
translateToRightWrist,
translateToLeftLeg,
translateToRightLeg,
translateToHead,
translateToChest,
translateToLeftHand,
translateToRightHand,
backPQ,
@@ -17,7 +13,6 @@ module Dodge.Creature.HandPos (
) where
import Dodge.Data.Equipment.Misc
import qualified Data.IntMap.Strict as IM
import qualified Quaternion as Q
import Control.Lens
import Dodge.Creature.Test
@@ -35,11 +30,8 @@ equipSitePQ = \case
OnHead -> headPQ
OnChest -> chestPQ
OnBack -> backPQ
OnLegs -> legsPQ
legsPQ :: a
legsPQ = undefined
OnLeftLeg -> leftLegPQ
OnRightLeg -> rightLegPQ
translatePointToRightHand :: Creature -> Point3 -> Point3
translatePointToRightHand cr p = fst (rightHandPQ cr `Q.comp` (p,Q.qID))
@@ -70,10 +62,6 @@ rightHandPQ cr
translateToRightHand :: Creature -> SPic -> SPic
translateToRightHand = overPosSP . translatePointToRightHand
translateToRightWrist :: Creature -> SPic -> SPic
translateToRightWrist cr = overPosSP
(\p -> fst $ rightHandPQ cr `Q.comp` (V3 0 (-4) (-4)+p, Q.qID))
rightWristPQ :: Creature -> Point3Q
rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qID)
@@ -95,13 +83,10 @@ leftHandPQ cr
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
translateToLeftWrist :: Creature -> SPic -> SPic
translateToLeftWrist cr = overPosSP
(\p -> fst $ leftHandPQ cr `Q.comp` (V3 0 4 (-4)+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)
leftLegPQ :: Creature -> Point3Q
@@ -135,24 +120,18 @@ rightLegPQ cr = Q.comp (0,Q.qz (_crMvDir cr - _crDir cr))
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 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)
translatePointToHead :: IM.IntMap Item -> Creature -> Point3 -> Point3
translatePointToHead m cr p = fst (headPQ cr `Q.comp` (p,Q.qID))
--translatePointToHead :: IM.IntMap Item -> Creature -> Point3 -> Point3
--translatePointToHead m cr p = fst (headPQ cr `Q.comp` (p,Q.qID))
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 cr `Q.comp` (p,Q.qID))
backPQ :: Creature -> Point3Q
backPQ cr
| oneH cr = (V3 0 0 10, Q.qz 0.5)
+19 -26
View File
@@ -9,6 +9,7 @@ module Dodge.Creature.Picture (
deadFeet,
) where
import Dodge.Data.Equipment.Misc
import Dodge.Creature.HandPos
import qualified Data.IntMap.Strict as IM
import Control.Lens
@@ -27,19 +28,19 @@ import Shape
import ShapePicture
basicCrPict :: IM.IntMap Item -> Creature -> SPic
basicCrPict m cr = drawEquipment m cr <> noPic (basicCrShape m cr)
basicCrPict m cr = drawEquipment m cr <> noPic (basicCrShape cr)
crCamouflage :: Creature -> CamouflageStatus
crCamouflage _ = FullyVisible
basicCrShape :: IM.IntMap Item -> Creature -> Shape
basicCrShape m cr
basicCrShape :: Creature -> Shape
basicCrShape cr
| crCamouflage cr == Invisible = mempty
| otherwise =
scaleSH (V3 crsize crsize crsize) $
mconcat
[ colorSH (_skinHead cskin) $ scalp m cr
, colorSH (_skinUpper cskin) $ upperBody m cr
[ colorSH (_skinHead cskin) $ scalp cr
, colorSH (_skinUpper cskin) $ upperBody cr
, rotmdir $ colorSH (_skinLower cskin) $ feet cr
]
where
@@ -68,17 +69,17 @@ deadFeet :: Creature -> Shape
{-# INLINE deadFeet #-}
deadFeet = feet
arms :: IM.IntMap Item -> Creature -> Shape
arms :: Creature -> Shape
{-# INLINE arms #-}
arms m cr =
arms cr =
(^. _1) $
translateToRightHand cr aHand
<> translateToLeftHand m cr aHand
<> translateToLeftHand cr aHand
where
aHand = noPic $ translateSHz (-4) . upperPrismPolyHalfST 4 $ polyCirc 3 4
deadScalp :: IM.IntMap Item -> Creature -> Shape
deadScalp m cr = deadRot cr . translateSHz 10 . scalp m $ cr
deadScalp :: Creature -> Shape
deadScalp cr = deadRot cr . translateSHz 10 . scalp $ cr
deadRot :: Creature -> Shape -> Shape
deadRot cr = overPosSH (Q.rotateToZ d)
@@ -89,9 +90,9 @@ deadRot cr = overPosSH (Q.rotateToZ d)
(addZ 0 . unitVectorAtAngle . subtract (_crDir cr + pi))
(damageDirection $ _crDamage cr)
scalp :: IM.IntMap Item -> Creature -> Shape
scalp :: Creature -> Shape
{-# INLINE scalp #-}
scalp m cr = overPosSH (\p -> fst (headPQ cr `Q.comp` (p,Q.qID))) fhead
scalp cr = overPosSH (translateToES cr OnHead) 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
@@ -100,15 +101,7 @@ scalp m cr = overPosSH (\p -> fst (headPQ cr `Q.comp` (p,Q.qID))) fhead
torso :: Creature -> Shape
{-# INLINE torso #-}
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
---- mconcat
---- [ rotateSH (negate 0.2) . translateSHxy 2 3 . rotateSH (negate 0.4) $ aShoulder
---- , rotateSH (negate 0.2) . translateSHxy 0 (negate 3) . rotateSH 0.2 $ aShoulder
---- ]
-- | otherwise = tsh
torso cr = overPosSH (translateToES cr OnBack) tsh
where
tsh =
mconcat
@@ -117,20 +110,20 @@ torso cr = overPosSH (\p -> fst (backPQ cr `Q.comp` (p,Q.qID))) tsh
]
aShoulder = scaleSH (V3 10 10 1) baseShoulder
deadUpperBody :: IM.IntMap Item -> Creature -> Shape
deadUpperBody m cr = deadRot cr . translateSHz (negate 10) . upperBody m $ cr
deadUpperBody :: Creature -> Shape
deadUpperBody cr = deadRot cr . translateSHz (negate 10) . upperBody $ cr
baseShoulder :: Shape
{-# INLINE baseShoulder #-}
baseShoulder = translateSHz (-20) . scaleSH (V3 0.5 1 1) . upperPrismPolyHalfMI 10 $ polyCirc 3 1
upperBody :: IM.IntMap Item -> Creature -> Shape
upperBody :: Creature -> Shape
{-# INLINE upperBody #-}
upperBody m cr = arms m cr <> shoulderSH (torso cr)
upperBody cr = arms cr <> shoulderSH (torso cr)
shoulderSH :: Shape -> Shape
shoulderSH = translateSHz 20
drawEquipment :: IM.IntMap Item -> Creature -> SPic
{-# INLINE drawEquipment #-}
drawEquipment m cr = foldMap (itemEquipPict m cr) (invDT . fmap (\i -> m ^?! ix i) $ _crInv cr)
drawEquipment m cr = foldMap (itemEquipPict cr) (invDT . fmap (\i -> m ^?! ix i) $ _crInv cr)
-2
View File
@@ -26,11 +26,9 @@ module Dodge.Creature.Test (
import NewInt
import qualified Data.IntMap.Strict as IM
import Dodge.Item.Grammar
import Dodge.Creature.Radius
import Dodge.Data.Equipment.Misc
import Dodge.Data.AimStance
import Dodge.Item.AimStance
import Control.Lens
import Data.List (find)
import Data.Maybe
+1 -1
View File
@@ -107,7 +107,7 @@ corpseOrGib cr w = w & case cr ^? crDamage . to maxDamageType . _Just . _1 of
_ -> addcorpse thecorpse
where
addcorpse ctype = plNew (cWorld . lWorld . corpses) cpID ctype
thecorpse = makeCorpse (w ^. cWorld . lWorld . items) cr
thecorpse = makeCorpse cr
scorchSPic :: SPic -> SPic
scorchSPic = _1 %~ overColSH (mixColors 0.9 0.1 black . normalizeColor)
+3 -3
View File
@@ -22,9 +22,9 @@ eitType = \case
BRAINHAT -> GoesOnHead
HAT -> GoesOnHead
HEADLAMP -> GoesOnHead
POWERLEGS -> GoesOnLegs
SPEEDLEGS -> GoesOnLegs
JUMPLEGS -> GoesOnLegs
POWERLEGS -> GoesOnLeg
SPEEDLEGS -> GoesOnLeg
JUMPLEGS -> GoesOnLeg
FUELPACK -> GoesOnBack
BULLETBELTPACK -> GoesOnBack
BULLETBELTBRACER -> GoesOnWrist
+3 -2
View File
@@ -13,7 +13,7 @@ data EquipType
| GoesOnChest
| GoesOnBack
| GoesOnWrist
| GoesOnLegs
| GoesOnLeg
deriving (Eq, Ord, Show, Read)
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
@@ -24,7 +24,8 @@ data EquipSite
| OnBack
| OnLeftWrist
| OnRightWrist
| OnLegs
| OnLeftLeg
| OnRightLeg
-- | OnSpecial
deriving (Eq, Ord, Show, Read)
+6 -9
View File
@@ -6,8 +6,6 @@ module Dodge.Equipment (
import Control.Lens
import Data.Maybe
import Dodge.Creature.HandPos
import Dodge.Creature.Test
import Dodge.Data.Equipment.Misc
import Dodge.Data.World
import Dodge.Item.Location
import Dodge.Wall.Delete
@@ -50,13 +48,12 @@ setWristShieldPos :: Item -> Creature -> World -> World
setWristShieldPos itm cr w = w & moveWallIDUnsafe i wlline
where
i = _itParamID $ _itParams itm
m = w ^. cWorld . lWorld . items
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 cr' . g
_ -> translatePointToRightHand
g
| twists cr = (+.+.+ V3 (-5) 10 0)
| otherwise = id
f = (+.+ _crPos cr) . stripZ . rotate3 (_crDir cr) . handtrans cr
Just x -> translateToES cr x -- . g
_ -> undefined
-- g
-- | twists cr = (+.+.+ V3 (-5) 10 0)
-- | otherwise = id
f = (+.+ _crPos cr) . stripZ . rotate3 (_crDir cr) . handtrans
+2 -3
View File
@@ -9,6 +9,5 @@ eqPosText ep = case ep of
OnBack -> "BACK"
OnLeftWrist -> "L.WRIST"
OnRightWrist -> "R.WRIST"
OnLegs -> "LEGS"
-- OnSpecial -> "EQUIPPED"
OnLeftLeg -> "L.LEG"
OnRightLeg -> "R.LEG"
+1 -2
View File
@@ -35,7 +35,6 @@ useMagShield mt _ cr w =
setWristShieldPos :: Item -> Creature -> EquipSite -> World -> World
setWristShieldPos itm cr x w = moveWallIDUnsafe i wlline w
where
m = w ^. cWorld . lWorld . items
i = _itParamID $ _itParams itm
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
handtrans = case x of
@@ -58,6 +57,6 @@ createHeadLamp _ cr w = w &
cWorld . lWorld . lights
.:~ LSParam
((_crPos cr `v2z` 0) +.+.+ rotate3 (_crDir cr)
(translatePointToHead (w ^. cWorld . lWorld . items) cr (V3 5 0 3)))
(translateToES cr OnHead (V3 5 0 3)))
200
0.7
+1 -1
View File
@@ -80,4 +80,4 @@ eqTypeToSites es = case es of
GoesOnChest -> [OnChest]
GoesOnBack -> [OnBack]
GoesOnWrist -> [OnLeftWrist, OnRightWrist]
GoesOnLegs -> [OnLegs]
GoesOnLeg -> [OnLeftLeg,OnRightLeg]
+23 -22
View File
@@ -4,7 +4,6 @@ module Dodge.Item.Draw (
itemEquipPict,
) where
import qualified Data.IntMap.Strict as IM
import qualified Quaternion as Q
import Dodge.Data.Equipment.Misc
import Dodge.Data.ComposedItem
@@ -17,12 +16,12 @@ import Dodge.Item.Draw.SPic
import Dodge.Item.HeldOffset
import ShapePicture
itemEquipPict :: IM.IntMap Item -> Creature -> DTree CItem -> SPic
itemEquipPict m cr itmtree
itemEquipPict :: Creature -> DTree CItem -> SPic
itemEquipPict cr itmtree
| --Just i <- itm ^? itLocation . ilInvID
Just esite <- itm ^? itLocation . ilEquipSite . _Just
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip
= equipPosition esite m cr attachpos (itemSPic itm)
= equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
= overPosSP (Q.prePos $ handHandleOrient loc cr) (itemTreeSPic itmtree)
| otherwise = mempty
@@ -30,23 +29,25 @@ itemEquipPict m cr itmtree
itm = itmtree ^. dtValue . _1
loc = LocDT TopDT itmtree
equipAttachPos :: EquipItemType -> Point3
equipAttachPos :: EquipItemType -> Point3Q
equipAttachPos = \case
BATTERYPACK -> V3 (-8) 0 10
FUELPACK -> V3 (-9) 0 10
BULLETBELTPACK -> V3 (-9) 0 10
BULLETBELTBRACER -> V3 (-9) 0 10
_ -> 0
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 -> IM.IntMap Item -> Creature -> Point3 -> SPic -> SPic
equipPosition epos m cr p sh = case epos of
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 cr `Q.comp` (p + x,Q.qID)) sh
-- OnSpecial -> sh
equipPosition :: EquipSite -> Creature -> Point3Q -> SPic -> SPic
equipPosition es cr q = overPosSP
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x,Q.qID))
-- case epos of
-- --OnLeftWrist -> translateToLeftWrist cr
-- --OnRightWrist -> translateToRightWrist cr
-- OnLeftWrist -> overPosSP (translateToES cr OnLeftWrist)
-- OnRightWrist -> overPosSP (translateToES cr OnRightWrist)
-- OnLegs ->
-- translateToLeftLeg cr
-- <> translateToRightLeg cr-- (mirrorSPxz sh)
-- OnHead -> overPosSP (translateToES cr OnHead)
-- OnChest -> overPosSP (translateToES cr OnChest)
-- OnBack -> overPosSP (\x -> fst $ backPQ cr `Q.comp` (p + x,Q.qID))
+1 -1
View File
@@ -257,7 +257,7 @@ equipSiteInfo es = case es of
GoesOnChest -> " on the chest"
GoesOnBack -> " on the back"
GoesOnWrist -> " on a wrist"
GoesOnLegs -> " on both legs"
GoesOnLeg -> " on a leg"
--makeCommaList :: [String] -> String
--makeCommaList [] = ""
+79 -83
View File
@@ -517,7 +517,7 @@ Goal src/Dodge/Data/ActionPlan.hs 196;" t
GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C
GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C
GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C
GoesOnLegs src/Dodge/Data/Equipment/Misc.hs 16;" C
GoesOnLeg src/Dodge/Data/Equipment/Misc.hs 16;" C
GoesOnWrist src/Dodge/Data/Equipment/Misc.hs 15;" C
Government src/Dodge/Data/Scenario.hs 43;" C
GovernmentScope src/Dodge/Data/Scenario.hs 49;" t
@@ -546,24 +546,24 @@ HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
Hotkey src/Dodge/Data/Equipment/Misc.hs 32;" t
Hotkey0 src/Dodge/Data/Equipment/Misc.hs 49;" C
Hotkey1 src/Dodge/Data/Equipment/Misc.hs 40;" C
Hotkey2 src/Dodge/Data/Equipment/Misc.hs 41;" C
Hotkey3 src/Dodge/Data/Equipment/Misc.hs 42;" C
Hotkey4 src/Dodge/Data/Equipment/Misc.hs 43;" C
Hotkey5 src/Dodge/Data/Equipment/Misc.hs 44;" C
Hotkey6 src/Dodge/Data/Equipment/Misc.hs 45;" C
Hotkey7 src/Dodge/Data/Equipment/Misc.hs 46;" C
Hotkey8 src/Dodge/Data/Equipment/Misc.hs 47;" C
Hotkey9 src/Dodge/Data/Equipment/Misc.hs 48;" C
HotkeyC src/Dodge/Data/Equipment/Misc.hs 38;" C
HotkeyE src/Dodge/Data/Equipment/Misc.hs 34;" C
HotkeyQ src/Dodge/Data/Equipment/Misc.hs 33;" C
HotkeyR src/Dodge/Data/Equipment/Misc.hs 35;" C
HotkeyV src/Dodge/Data/Equipment/Misc.hs 39;" C
HotkeyX src/Dodge/Data/Equipment/Misc.hs 37;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 36;" C
Hotkey src/Dodge/Data/Equipment/Misc.hs 33;" t
Hotkey0 src/Dodge/Data/Equipment/Misc.hs 50;" C
Hotkey1 src/Dodge/Data/Equipment/Misc.hs 41;" C
Hotkey2 src/Dodge/Data/Equipment/Misc.hs 42;" C
Hotkey3 src/Dodge/Data/Equipment/Misc.hs 43;" C
Hotkey4 src/Dodge/Data/Equipment/Misc.hs 44;" C
Hotkey5 src/Dodge/Data/Equipment/Misc.hs 45;" C
Hotkey6 src/Dodge/Data/Equipment/Misc.hs 46;" C
Hotkey7 src/Dodge/Data/Equipment/Misc.hs 47;" C
Hotkey8 src/Dodge/Data/Equipment/Misc.hs 48;" C
Hotkey9 src/Dodge/Data/Equipment/Misc.hs 49;" C
HotkeyC src/Dodge/Data/Equipment/Misc.hs 39;" C
HotkeyE src/Dodge/Data/Equipment/Misc.hs 35;" C
HotkeyQ src/Dodge/Data/Equipment/Misc.hs 34;" C
HotkeyR src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyV src/Dodge/Data/Equipment/Misc.hs 40;" C
HotkeyX src/Dodge/Data/Equipment/Misc.hs 38;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 37;" C
Huge src/Shape/Data.hs 28;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 77;" C
HumanoidAI src/Dodge/Data/Creature/Misc.hs 39;" t
@@ -937,8 +937,9 @@ OnChest src/Dodge/Data/Equipment/Misc.hs 23;" C
OnEdge src/Dodge/Data/Room.hs 46;" C
OnFloor src/Dodge/Data/Item/Location.hs 36;" C
OnHead src/Dodge/Data/Equipment/Misc.hs 22;" C
OnLeftLeg src/Dodge/Data/Equipment/Misc.hs 27;" C
OnLeftWrist src/Dodge/Data/Equipment/Misc.hs 25;" C
OnLegs src/Dodge/Data/Equipment/Misc.hs 27;" C
OnRightLeg src/Dodge/Data/Equipment/Misc.hs 28;" 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
@@ -2679,7 +2680,7 @@ argV src/Geometry/Vector.hs 80;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 35;" f
armouredChasers src/Dodge/Room/Boss.hs 63;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 71;" f
arms src/Dodge/Creature/Picture.hs 72;" f
arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f
@@ -2709,7 +2710,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 153;" f
backPQ src/Dodge/Creature/HandPos.hs 138;" 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
@@ -2731,14 +2732,14 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 338;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 415;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 403;" f
baseShoulder src/Dodge/Creature/Picture.hs 123;" f
baseShoulder src/Dodge/Creature/Picture.hs 116;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 312;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 304;" f
baseStickSpread src/Dodge/HeldUse.hs 311;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
basicCrPict src/Dodge/Creature/Picture.hs 29;" f
basicCrShape src/Dodge/Creature/Picture.hs 35;" f
basicCrPict src/Dodge/Creature/Picture.hs 30;" f
basicCrShape src/Dodge/Creature/Picture.hs 36;" f
basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
@@ -2868,7 +2869,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 147;" f
chestPQ src/Dodge/Creature/HandPos.hs 135;" 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
@@ -2995,24 +2996,24 @@ corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f
corridorWallN src/Dodge/Room/Corridor.hs 71;" f
crAdd src/Dodge/Room/RezBox.hs 115;" f
crAwayFromPost src/Dodge/Creature/Test.hs 84;" f
crAwayFromPost src/Dodge/Creature/Test.hs 82;" f
crBlips src/Dodge/RadarSweep.hs 87;" f
crCamouflage src/Dodge/Creature/Picture.hs 32;" f
crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
crCamouflage src/Dodge/Creature/Picture.hs 33;" f
crCanSeeCr src/Dodge/Creature/Test.hs 51;" f
crCrSpring src/Dodge/Update.hs 886;" 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
crHasTargetLOS src/Dodge/Creature/Test.hs 69;" f
crHasTarget src/Dodge/Creature/Test.hs 64;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 67;" f
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
crInAimStance src/Dodge/Creature/Test.hs 93;" 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 59;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 108;" 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,15 +3021,15 @@ 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 132;" f
crNearPoint src/Dodge/Creature/Test.hs 130;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 72;" f
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
crStratConMatches src/Dodge/Creature/Test.hs 77;" 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
@@ -3043,7 +3044,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 185;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 56;" f
createHeadLamp src/Dodge/Euse.hs 55;" f
createItemYou src/Dodge/Inventory/Add.hs 61;" f
createLightMap src/Render.hs 26;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
@@ -3122,10 +3123,10 @@ dbwMuzzles src/Dodge/HeldUse.hs 314;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f
deadFeet src/Dodge/Creature/Picture.hs 67;" f
deadRot src/Dodge/Creature/Picture.hs 83;" f
deadScalp src/Dodge/Creature/Picture.hs 80;" f
deadUpperBody src/Dodge/Creature/Picture.hs 120;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 77;" f
@@ -3169,7 +3170,7 @@ defaultCWorld src/Dodge/Default/World.hs 81;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultClusterStatus src/Dodge/Default/Room.hs 38;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f
defaultCorpse src/Dodge/Corpse/Make.hs 33;" f
defaultCorpse src/Dodge/Corpse/Make.hs 32;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
@@ -3392,7 +3393,7 @@ drawDragSelected src/Dodge/Render/HUD.hs 132;" f
drawDragSelecting src/Dodge/Render/HUD.hs 149;" f
drawEmptySet src/Dodge/Render/Picture.hs 140;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 134;" f
drawEquipment src/Dodge/Creature/Picture.hs 127;" f
drawExamineInventory src/Dodge/Render/HUD.hs 194;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f
@@ -3515,8 +3516,8 @@ ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 436;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f
effectOnRemove src/Dodge/Equipment.hs 19;" f
effectOnEquip src/Dodge/Equipment.hs 30;" f
effectOnRemove src/Dodge/Equipment.hs 17;" f
eitType src/Dodge/Data/EquipType.hs 15;" f
ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 656;" f
elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 508;" f
@@ -3537,13 +3538,13 @@ eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
equipAllocString src/Dodge/Render/HUD.hs 306;" f
equipAttachPos src/Dodge/Item/Draw.hs 33;" f
equipAttachPos src/Dodge/Item/Draw.hs 32;" f
equipBackgroundEffect src/Dodge/Euse.hs 15;" f
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
equipPosition src/Dodge/Item/Draw.hs 40;" f
equipSiteInfo src/Dodge/Item/Info.hs 254;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 30;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 25;" f
equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 54;" f
@@ -3577,7 +3578,7 @@ faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f
farWallDistDirection src/Dodge/Update/Camera.hs 239;" f
fdiv src/ShortShow.hs 37;" f
feet src/Dodge/Creature/Picture.hs 50;" f
feet src/Dodge/Creature/Picture.hs 51;" f
ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 165;" f
@@ -3789,7 +3790,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 138;" f
headPQ src/Dodge/Creature/HandPos.hs 126;" 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
@@ -3921,7 +3922,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 135;" f
isAnimate src/Dodge/Creature/Test.hs 133;" 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
@@ -3964,7 +3965,7 @@ itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 764;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 20;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
itemFromAmmoMag src/Dodge/Item.hs 42;" f
itemFromAttachType src/Dodge/Item.hs 51;" f
@@ -4047,13 +4048,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 77;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 71;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 163;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 104;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 95;" 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
leftWristPQ src/Dodge/Creature/HandPos.hs 92;" f
legsPQ src/Dodge/Creature/HandPos.hs 35;" 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
@@ -4158,7 +4159,7 @@ makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 134;" f
makeColorTermPara src/Dodge/Terminal.hs 131;" f
makeCorpse src/Dodge/Corpse/Make.hs 14;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 45;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f
makeDoorDebris src/Dodge/Block/Debris.hs 24;" f
@@ -4379,10 +4380,10 @@ numTraversable src/TreeHelp.hs 183;" f
obstacleColor src/Dodge/Debug/Picture.hs 262;" f
obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f
onRemoveWristShield src/Dodge/Equipment.hs 24;" f
onEquipWristShield src/Dodge/Equipment.hs 35;" f
onRemoveWristShield src/Dodge/Equipment.hs 22;" f
onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 98;" f
oneH src/Dodge/Creature/Test.hs 96;" f
openConsole src/Dodge/Update.hs 136;" f
optionMenu src/Dodge/Menu.hs 108;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f
@@ -4799,12 +4800,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 53;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 50;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 174;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 120;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 111;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 75;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 68;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 409;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
@@ -4891,7 +4892,7 @@ scale3 src/Picture/Base.hs 145;" f
scaleMat src/MatrixHelper.hs 59;" f
scaleMatrix src/MatrixHelper.hs 56;" f
scaleSH src/Shape.hs 269;" f
scalp src/Dodge/Creature/Picture.hs 92;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 101;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 112;" f
@@ -4978,7 +4979,7 @@ setViewDistance src/Dodge/Update/Camera.hs 234;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f
setVol src/Dodge/Config/Update.hs 30;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f
setWristShieldPos src/Dodge/Equipment.hs 47;" f
setWristShieldPos src/Dodge/Euse.hs 35;" f
setupConLoop src/Loop.hs 102;" f
setupConLoop' src/Loop.hs 192;" f
@@ -5054,7 +5055,7 @@ 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 69;" f
shoulderSH src/Dodge/Creature/Picture.hs 131;" f
shoulderSH src/Dodge/Creature/Picture.hs 124;" f
showAttachItem src/Dodge/Item/Display.hs 92;" f
showEquipItem src/Dodge/Item/Display.hs 107;" f
showInt src/Dodge/Item/Info.hs 75;" f
@@ -5338,7 +5339,7 @@ torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 290;" f
torqueAmount src/Dodge/HeldUse.hs 573;" f
torqueCr src/Dodge/WorldEffect.hs 71;" f
torso src/Dodge/Creature/Picture.hs 101;" f
torso src/Dodge/Creature/Picture.hs 102;" f
tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/HeldUse.hs 807;" f
@@ -5354,10 +5355,8 @@ 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
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
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 86;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 39;" f
translateSH src/Shape.hs 245;" f
translateSHxy src/Shape.hs 249;" f
translateSHz src/Shape.hs 253;" f
@@ -5365,14 +5364,11 @@ 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 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
translateToES src/Dodge/Creature/HandPos.hs 22;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 89;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 108;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 65;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 123;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 24;" f
@@ -5421,8 +5417,8 @@ 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 104;" f
twoFlat src/Dodge/Creature/Test.hs 101;" f
twists src/Dodge/Creature/Test.hs 102;" f
twoFlat src/Dodge/Creature/Test.hs 99;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 165;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 154;" f
@@ -5564,7 +5560,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f
updateWheelEvents src/Dodge/Update.hs 422;" f
updateWorldEventFlag src/Dodge/Update.hs 125;" f
updateWorldEventFlags src/Dodge/Update.hs 113;" f
upperBody src/Dodge/Creature/Picture.hs 127;" f
upperBody src/Dodge/Creature/Picture.hs 120;" f
upperBox src/Shape.hs 156;" f
upperBoxHalf src/Shape.hs 222;" f
upperBoxMT src/Shape.hs 147;" f