Improve hand positioning

This commit is contained in:
2026-03-29 12:03:12 +01:00
parent 38e2bd222e
commit 7b9635fe53
3 changed files with 56 additions and 64 deletions
+21 -25
View File
@@ -37,22 +37,28 @@ equipSitePQ = \case
translatePointToRightHand :: Creature -> Point3 -> Point3 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
Walking sa ff ->
let slen = cr ^. crStance . strideLength
f i | ff == b = 8 * (slen - i) / slen
| otherwise = 8 * i / slen
in V3 (f sa) off 12
Falling sa ff ->
let slen = cr ^. crStance . strideLength
f i | ff == b = 8 * (slen - i) / slen
| otherwise = 8 * i / slen
in V3 (f sa) off 20
Floating -> V3 0 off 12
Flying -> V3 0 off 12
Boosting _ -> V3 0 off 12
rightHandPQ :: Creature -> Point3Q rightHandPQ :: Creature -> Point3Q
rightHandPQ cr 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.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) | twoFlat cr = (V3 4 (-8) 12, Q.qID)
| otherwise = case cr ^? crStance . carriage of | otherwise = (handWalkingPos LeftForward (-8) cr, Q.qID)
Just (Walking sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID)
Just (Walking sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID)
Just (Falling sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID)
Just (Falling sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID)
_ -> (V3 0 (- off) 10, Q.qID)
where
off = 8
sLen = _strideLength $ _crStance cr
f i = negate 2 + negate 6 * (sLen - i) / sLen
g i = negate 2 + negate 6 * i / sLen
translateToRightHand :: Creature -> SPic -> SPic translateToRightHand :: Creature -> SPic -> SPic
translateToRightHand = overPosSP . translatePointToRightHand translateToRightHand = overPosSP . translatePointToRightHand
@@ -62,20 +68,10 @@ rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qID)
leftHandPQ :: Creature -> Point3Q leftHandPQ :: Creature -> Point3Q
leftHandPQ cr leftHandPQ cr
| oneH cr = (V3 0 off 10, Q.qz 0.4) | oneH cr = (V3 0 8 10, Q.qz 0.4)
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, 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) | twoFlat cr = (V3 4 8 12, Q.qID)
| otherwise = case cr ^? crStance . carriage of | otherwise = (handWalkingPos RightForward 8 cr, Q.qID)
Just (Walking sa RightForward) -> (V3 (- f sa) off 10 , Q.qID)
Just (Walking sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID)
Just (Falling sa RightForward) -> (V3 (- f sa) off 10 , Q.qID)
Just (Falling sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID)
_ -> (V3 0 off 10, Q.qID)
where
off = 8
sLen = _strideLength $ _crStance cr
f i = negate 2 + negate 6 * (sLen - i) / sLen
g i = negate 2 + negate 6 * i / sLen
translatePointToLeftHand :: Creature -> Point3 -> Point3 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))
+3 -7
View File
@@ -73,7 +73,7 @@ arms cr =
translateToRightHand cr aHand translateToRightHand cr aHand
<> translateToLeftHand cr aHand <> translateToLeftHand cr aHand
where where
aHand = noPic $ translateSHz (-4) . upperPrismPolyHalfST 4 $ polyCirc 3 4 aHand = noPic $ translateSHz (-2) . upperPrismPolyHalfST 2 $ polyCirc 3 4
deadScalp :: Creature -> Shape deadScalp :: Creature -> Shape
--deadScalp cr = deadRot cr . translateSHz 5 . scalp $ cr --deadScalp cr = deadRot cr . translateSHz 5 . scalp $ cr
@@ -98,12 +98,8 @@ torso :: Creature -> Shape
{-# INLINE torso #-} {-# INLINE torso #-}
torso cr = overPosSH (translateToES cr OnBack) tsh torso cr = overPosSH (translateToES cr OnBack) tsh
where where
tsh = tsh = ashoulder 3 (-0.2) <> ashoulder (-3) 0.2
mconcat ashoulder y a = translateSHxy 0 y . rotateSH a $ scaleSH (V3 10 10 1) baseShoulder
[ translateSHxy 0 3 . rotateSH (negate 0.2) $ aShoulder
, translateSHxy 0 (negate 3) . rotateSH 0.2 $ aShoulder
]
aShoulder = scaleSH (V3 10 10 1) baseShoulder
deadUpperBody :: Creature -> Shape deadUpperBody :: Creature -> Shape
deadUpperBody cr = deadRot cr . translateSHz (negate 10) . upperBody $ cr deadUpperBody cr = deadRot cr . translateSHz (negate 10) . upperBody $ cr
+32 -32
View File
@@ -2534,7 +2534,7 @@ activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 63;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 82;" f addArmour src/Dodge/Creature.hs 82;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 97;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 98;" f
addCrGibs src/Dodge/Prop/Gib.hs 17;" f addCrGibs src/Dodge/Prop/Gib.hs 17;" f
addDepth src/Picture/Base.hs 125;" f addDepth src/Picture/Base.hs 125;" f
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 43;" f addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 43;" f
@@ -2639,7 +2639,7 @@ argV src/Geometry/Vector.hs 81;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f
armouredChasers src/Dodge/Room/Boss.hs 58;" f armouredChasers src/Dodge/Room/Boss.hs 58;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 72;" f arms src/Dodge/Creature/Picture.hs 69;" f
arrow src/Picture/Composite.hs 19;" f arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f
@@ -2669,7 +2669,7 @@ axisInt src/Geometry/Intersect.hs 246;" f
azure src/Color.hs 49;" f azure src/Color.hs 49;" f
bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f bQuadToLine src/Geometry/Bezier.hs 30;" f
backPQ src/Dodge/Creature/HandPos.hs 136;" f backPQ src/Dodge/Creature/HandPos.hs 126;" f
backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 729;" f backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 729;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 188;" f backpackShape src/Dodge/Item/Draw/SPic.hs 188;" f
@@ -2691,7 +2691,7 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 405;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 405;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f
baseShoulder src/Dodge/Creature/Picture.hs 114;" f baseShoulder src/Dodge/Creature/Picture.hs 107;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 346;" f baseStickSpread src/Dodge/HeldUse.hs 346;" f
@@ -2834,7 +2834,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f
chestPQ src/Dodge/Creature/HandPos.hs 133;" f chestPQ src/Dodge/Creature/HandPos.hs 123;" f
chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
@@ -3090,10 +3090,10 @@ dbwMuzzles src/Dodge/HeldUse.hs 349;" f
deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 69;" f deZoneWall src/Dodge/Zoning/Wall.hs 69;" f
deadEndRoom src/Dodge/Room/Room.hs 261;" f deadEndRoom src/Dodge/Room/Room.hs 261;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f deadFeet src/Dodge/Creature/Picture.hs 65;" f
deadRot src/Dodge/Creature/Picture.hs 86;" f deadRot src/Dodge/Creature/Picture.hs 83;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f deadScalp src/Dodge/Creature/Picture.hs 78;" f
deadUpperBody src/Dodge/Creature/Picture.hs 111;" f deadUpperBody src/Dodge/Creature/Picture.hs 104;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f
debrisSPic src/Dodge/Prop/Draw.hs 16;" f debrisSPic src/Dodge/Prop/Draw.hs 16;" f
debrisSize src/Dodge/Block/Debris.hs 89;" f debrisSize src/Dodge/Block/Debris.hs 89;" f
@@ -3344,7 +3344,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f
drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f
drawEmptySet src/Dodge/Render/Picture.hs 151;" f drawEmptySet src/Dodge/Render/Picture.hs 151;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 125;" f drawEquipment src/Dodge/Creature/Picture.hs 116;" f
drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f
@@ -3491,7 +3491,7 @@ equipInfo src/Dodge/Item/Info.hs 140;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 159;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 159;" f
equipPosition src/Dodge/Item/Draw.hs 38;" f equipPosition src/Dodge/Item/Draw.hs 38;" f
equipSiteInfo src/Dodge/Item/Info.hs 253;" f equipSiteInfo src/Dodge/Item/Info.hs 253;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 27;" f equipSitePQ src/Dodge/Creature/HandPos.hs 28;" f
equipType src/Dodge/Data/EquipType.hs 10;" f equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 56;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 56;" f
@@ -3714,6 +3714,7 @@ haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 67;" f hammerCheck src/Dodge/HeldUse.hs 67;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 58;" f handHandleOrient src/Dodge/Item/HeldOffset.hs 58;" f
handOrient src/Dodge/Item/HeldOffset.hs 40;" f handOrient src/Dodge/Item/HeldOffset.hs 40;" f
handWalkingPos src/Dodge/Creature/HandPos.hs 41;" f
handleEvent src/Dodge/Event.hs 27;" f handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 46;" f handleHotkeys src/Dodge/Creature/YourControl.hs 46;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
@@ -3736,7 +3737,7 @@ head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 68;" f headLamp src/Dodge/Item/Equipment.hs 68;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f
headMap src/Dodge/DoubleTree.hs 118;" f headMap src/Dodge/DoubleTree.hs 118;" f
headPQ src/Dodge/Creature/HandPos.hs 124;" f headPQ src/Dodge/Creature/HandPos.hs 114;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 108;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 108;" f
healthTest src/Dodge/Room/LasTurret.hs 130;" f healthTest src/Dodge/Room/LasTurret.hs 130;" f
@@ -4001,10 +4002,10 @@ left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 193;" f leftChildList src/Dodge/Item/Grammar.hs 193;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 63;" f leftHandPQ src/Dodge/Creature/HandPos.hs 63;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 170;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 170;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 89;" f leftLegPQ src/Dodge/Creature/HandPos.hs 79;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 205;" f leftRightCombine src/Dodge/Item/Grammar.hs 205;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 86;" f leftWristPQ src/Dodge/Creature/HandPos.hs 76;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 85;" f liShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
@@ -4103,7 +4104,7 @@ makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 48;" f makeDebris src/Dodge/Block/Debris.hs 48;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f
makeDoorDebris src/Dodge/Block/Debris.hs 26;" f makeDoorDebris src/Dodge/Block/Debris.hs 26;" f
makeDumbSwitch src/Dodge/Room/LongDoor.hs 141;" f makeDumbSwitch src/Dodge/Room/LongDoor.hs 142;" f
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 68;" f makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 68;" f
makeFlak src/Dodge/Bullet.hs 146;" f makeFlak src/Dodge/Bullet.hs 146;" f
@@ -4555,7 +4556,7 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 84;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f
pushCaverns src/Dodge/Room/LongDoor.hs 188;" f pushCaverns src/Dodge/Room/LongDoor.hs 189;" f
pushCr src/Dodge/WallCreatureCollisions.hs 43;" f pushCr src/Dodge/WallCreatureCollisions.hs 43;" f
pushL src/DoubleStack.hs 20;" f pushL src/DoubleStack.hs 20;" f
pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 116;" f pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 116;" f
@@ -4723,9 +4724,9 @@ rhombus src/Polyhedra.hs 69;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 199;" f rightChildList src/Dodge/Item/Grammar.hs 199;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 40;" f rightHandPQ src/Dodge/Creature/HandPos.hs 50;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 181;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 181;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 107;" f rightLegPQ src/Dodge/Creature/HandPos.hs 97;" f
rightPad src/Padding.hs 19;" f rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 60;" f rightWristPQ src/Dodge/Creature/HandPos.hs 60;" f
@@ -4814,7 +4815,7 @@ scale3 src/Picture/Base.hs 137;" f
scaleMat src/MatrixHelper.hs 71;" f scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 266;" f scaleSH src/Shape.hs 266;" f
scalp src/Dodge/Creature/Picture.hs 95;" f scalp src/Dodge/Creature/Picture.hs 92;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 127;" f scorchSPic src/Dodge/Creature/Update.hs 127;" f
@@ -4968,7 +4969,6 @@ shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 64;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 64;" f
shoulderSH src/Dodge/Creature/Picture.hs 122;" f
showAttachItem src/Dodge/Item/Display.hs 92;" f showAttachItem src/Dodge/Item/Display.hs 92;" f
showEquipItem src/Dodge/Item/Display.hs 108;" f showEquipItem src/Dodge/Item/Display.hs 108;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
@@ -5013,10 +5013,10 @@ slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 747;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f
slideWindow src/ListHelp.hs 81;" f slideWindow src/ListHelp.hs 81;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 224;" f slowCrush90 src/Dodge/Room/LongDoor.hs 229;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 144;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 145;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 270;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 275;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 287;" f slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 292;" f
smallBattery src/Dodge/Item/Ammo.hs 57;" f smallBattery src/Dodge/Item/Ammo.hs 57;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
@@ -5283,7 +5283,7 @@ topTestPart src/Dodge/TestString.hs 71;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 84;" f torqueCr src/Dodge/WorldEffect.hs 84;" f
torso src/Dodge/Creature/Picture.hs 100;" f torso src/Dodge/Creature/Picture.hs 97;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 850;" f tractorBeamAt src/Dodge/HeldUse.hs 850;" f
@@ -5299,8 +5299,8 @@ translate3 src/Picture/Base.hs 112;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 50;" f translateFloatingCamera src/Dodge/Update/Camera.hs 50;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 68;" f translateFloatingCameraKeys src/Dodge/Update/Camera.hs 68;" f
translateH src/Picture/Base.hs 104;" f translateH src/Picture/Base.hs 104;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 80;" f translatePointToLeftHand src/Dodge/Creature/HandPos.hs 70;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 37;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 38;" f
translateSH src/Shape.hs 242;" f translateSH src/Shape.hs 242;" f
translateSHxy src/Shape.hs 246;" f translateSHxy src/Shape.hs 246;" f
translateSHz src/Shape.hs 250;" f translateSHz src/Shape.hs 250;" f
@@ -5308,11 +5308,11 @@ translateSP src/ShapePicture.hs 53;" f
translateSPxy src/ShapePicture.hs 45;" f translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f translateSPz src/ShapePicture.hs 49;" f
translateScreenPos src/Dodge/ScreenPos.hs 12;" f translateScreenPos src/Dodge/ScreenPos.hs 12;" f
translateToES src/Dodge/Creature/HandPos.hs 24;" f translateToES src/Dodge/Creature/HandPos.hs 25;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 83;" f translateToLeftHand src/Dodge/Creature/HandPos.hs 73;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 104;" f translateToLeftLeg src/Dodge/Creature/HandPos.hs 94;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 57;" f translateToRightHand src/Dodge/Creature/HandPos.hs 57;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 121;" f translateToRightLeg src/Dodge/Creature/HandPos.hs 111;" f
translateXY src/Polyhedra.hs 23;" f translateXY src/Polyhedra.hs 23;" f
trapTBH src/Geometry/Polygon.hs 22;" f trapTBH src/Geometry/Polygon.hs 22;" f
trapezionBWHW src/Geometry/Polygon.hs 34;" f trapezionBWHW src/Geometry/Polygon.hs 34;" f
@@ -5512,7 +5512,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 473;" f updateWheelEvents src/Dodge/Update.hs 473;" f
updateWorldEventFlag src/Dodge/Update.hs 127;" f updateWorldEventFlag src/Dodge/Update.hs 127;" f
updateWorldEventFlags src/Dodge/Update.hs 115;" f updateWorldEventFlags src/Dodge/Update.hs 115;" f
upperBody src/Dodge/Creature/Picture.hs 118;" f upperBody src/Dodge/Creature/Picture.hs 112;" f
upperBox src/Shape.hs 153;" f upperBox src/Shape.hs 153;" f
upperBoxHalf src/Shape.hs 219;" f upperBoxHalf src/Shape.hs 219;" f
upperBoxMT src/Shape.hs 144;" f upperBoxMT src/Shape.hs 144;" f