Tweak led attachment orientation

This commit is contained in:
2025-10-07 14:21:40 +01:00
parent 709195ed6a
commit 477bb8b4b2
4 changed files with 102 additions and 95 deletions
+1
View File
@@ -2,6 +2,7 @@
module Dodge.Item.Draw (itemEquipPict) where module Dodge.Item.Draw (itemEquipPict) where
import Dodge.Item.Draw.SPicTree
import Control.Lens import Control.Lens
import Dodge.Creature.HandPos import Dodge.Creature.HandPos
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
+1 -17
View File
@@ -1,34 +1,18 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Item.Draw.SPic ( module Dodge.Item.Draw.SPic (itemSPic) where
itemSPic,
itemTreeSPic,
) where
import Color import Color
import Data.Maybe import Data.Maybe
import Data.Strict.Tuple import Data.Strict.Tuple
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.Item import Dodge.Data.Item
import Dodge.Item.MaxAmmo import Dodge.Item.MaxAmmo
import Dodge.Item.Orientation
import Geometry import Geometry
import LensHelp import LensHelp
import qualified Linear.Quaternion as Q
--import qualified Linear.Quaternion as Q
import Picture import Picture
import Shape import Shape
import ShapePicture import ShapePicture
itemTreeSPic :: DTree CItem -> SPic
itemTreeSPic (DT (itm, _) l r) = itemSPic itm <> foldMap (itemRotTreeSPic itm) (l <> r)
itemRotTreeSPic :: Item -> DTree CItem -> SPic
itemRotTreeSPic par t = translateSP p . overPosSP (Q.rotate q) $ itemTreeSPic t
where
(p, q) = orientAttachment par itm
itm = t ^. dtValue
itemSPic :: Item -> SPic itemSPic :: Item -> SPic
itemSPic it = case it ^. itType of itemSPic it = case it ^. itType of
+23 -1
View File
@@ -3,6 +3,10 @@ module Dodge.Item.Orientation (
propagateOrientation, propagateOrientation,
) where ) where
import Shape.Data
import Control.Lens
import Linear
import Dodge.Item.Draw.SPic
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree import Dodge.Data.DoubleTree
import Dodge.Data.Item import Dodge.Data.Item
@@ -12,7 +16,8 @@ import qualified Quaternion as Q
orientChild :: Item -> Point3Q orientChild :: Item -> Point3Q
orientChild itm = case _itType itm of orientChild itm = case _itType itm of
HELD LED -> (V3 0 5 0, Q.qID) --HELD LED -> (V3 0 5 0, Q.qID)
HELD LED -> (V3 (-x) (y-1) 0, Q.qID)
--HELD LASER -> (V3 15 (-5) 0, Q.qID) --HELD LASER -> (V3 15 (-5) 0, Q.qID)
LASER -> (V3 15 (-5) 0, Q.qID) LASER -> (V3 15 (-5) 0, Q.qID)
ATTACH UNDERBARRELSLOT -> (V3 10 (-8) 0, r) ATTACH UNDERBARRELSLOT -> (V3 10 (-8) 0, r)
@@ -20,18 +25,35 @@ orientChild itm = case _itType itm of
where where
--r = Q.axisAngle (V3 0 0 1) (-pi/4) --r = Q.axisAngle (V3 0 0 1) (-pi/4)
r = Q.qID r = Q.qID
y = itemShapeY itm
x = itemShapeX itm
orientByParentChSF :: Item -> ItemSF -> Point3Q orientByParentChSF :: Item -> ItemSF -> Point3Q
orientByParentChSF itm lt = case (_itType itm, lt) of 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 _, AmmoMagSF{}) -> (V3 7 (-4) 0, Q.qID) (HELD _, AmmoMagSF{}) -> (V3 7 (-4) 0, Q.qID)
(HELD _, WeaponScopeSF) -> (V3 5 0 5, Q.qID) (HELD _, WeaponScopeSF) -> (V3 5 0 5, Q.qID)
(HELD _, TorchSF) -> (V3 x y 5, Q.qID)
_ -> (0, Q.qID) _ -> (0, Q.qID)
where
x = itemShapeX itm
y = itemShapeY itm
itemShapeX :: Item -> Float
itemShapeX = f . (^. _1) . itemSPic
where
f = maximum . fmap (\sf -> maximum $ fmap (^. _1) (sf ^. sfVs))
itemShapeY :: Item -> Float
itemShapeY = f . (^. _1) . itemSPic
where
f = maximum . fmap (\sf -> maximum $ fmap (^. _2) (sf ^. sfVs))
orientAttachment :: Item -> CItem -> Point3Q orientAttachment :: Item -> CItem -> Point3Q
orientAttachment par (ch,chsf) = case (_itType par, chsf) of orientAttachment par (ch,chsf) = case (_itType par, chsf) of
(ATTACH UNDERBARRELSLOT, _) -> (V3 (-5) (-8) 0, Q.qID) (ATTACH UNDERBARRELSLOT, _) -> (V3 (-5) (-8) 0, Q.qID)
(_,LaserWeaponSF) -> (V3 2 8 0, Q.qID) (_,LaserWeaponSF) -> (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 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)) -- (HELD LAUNCHER, _, HELD TORCH) -> (V3 0 20 0, Q.axisAngle (V3 0 0 1) (pi/4))
_ -> (t1 + Q.rotate q1 t2, q1 * q2) _ -> (t1 + Q.rotate q1 t2, q1 * q2)
+77 -77
View File
@@ -2617,7 +2617,7 @@ allVisibleWalls src/Dodge/Base/Collide.hs 215;" f
alongSegBy src/Geometry.hs 41;" f alongSegBy src/Geometry.hs 41;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
ammoMagInfo src/Dodge/Item/Info.hs 49;" f ammoMagInfo src/Dodge/Item/Info.hs 49;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 144;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 128;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 117;" f anRoom src/Dodge/Floor.hs 117;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
@@ -2702,10 +2702,10 @@ 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 127;" f backPQ src/Dodge/Creature/HandPos.hs 127;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 202;" f backpackShape src/Dodge/Item/Draw/SPic.hs 186;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
bangCone src/Dodge/Item/Held/Cone.hs 11;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 319;" f bangConeShape src/Dodge/Item/Draw/SPic.hs 303;" f
bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f
bangRod src/Dodge/Item/Held/Rod.hs 18;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
@@ -2713,18 +2713,18 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 70;" f barrelShape src/Dodge/Render/ShapePicture.hs 70;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 422;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f baseCI src/Dodge/Item/Grammar.hs 158;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 339;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 323;" f
baseFloorTileSize src/Tile.hs 45;" f baseFloorTileSize src/Tile.hs 45;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 342;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 326;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 419;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 403;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 407;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 391;" f
baseShoulder src/Dodge/Creature/Picture.hs 116;" f baseShoulder src/Dodge/Creature/Picture.hs 116;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 316;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 300;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 308;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 292;" f
baseStickSpread src/Dodge/HeldUse.hs 311;" f baseStickSpread src/Dodge/HeldUse.hs 311;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
@@ -2809,7 +2809,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f
cChasm src/Dodge/Room/Tutorial.hs 124;" f cChasm src/Dodge/Room/Tutorial.hs 108;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2843,7 +2843,7 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 191;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 175;" f
chasmTest src/Dodge/Creature/Update.hs 131;" f chasmTest src/Dodge/Creature/Update.hs 131;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -3028,7 +3028,7 @@ crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f
crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 41;" f crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 41;" f
crZoneSize src/Dodge/Zoning/Creature.hs 41;" f crZoneSize src/Dodge/Zoning/Creature.hs 41;" f
craftInfo src/Dodge/Item/Info.hs 169;" f craftInfo src/Dodge/Item/Info.hs 169;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 56;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f
createForceField src/Dodge/ForceField.hs 7;" f createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f createGas src/Dodge/Gas.hs 8;" f
@@ -3143,7 +3143,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f
dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
defDamageMaterial src/Dodge/Material/Damage.hs 22;" f defDamageMaterial src/Dodge/Material/Damage.hs 22;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 325;" f defSPic src/Dodge/Item/Draw/SPic.hs 309;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 107;" f defaultAimingCrit src/Dodge/Default/Creature.hs 107;" f
defaultAudition src/Dodge/Default/Creature.hs 92;" f defaultAudition src/Dodge/Default/Creature.hs 92;" f
@@ -3214,7 +3214,7 @@ destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 160;" f destroyProjectile src/Dodge/Projectile/Update.hs 160;" f
detV src/Geometry/Vector.hs 93;" f detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 469;" f detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1228;" f determineProjectileTracking src/Dodge/HeldUse.hs 1228;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
@@ -3279,8 +3279,8 @@ doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1184;" f doGenFloat src/Dodge/HeldUse.hs 1184;" f
doGravityPU src/Dodge/Projectile/Update.hs 36;" f doGravityPU src/Dodge/Projectile/Update.hs 36;" f
doHeldUseEffect src/Dodge/HeldUse.hs 343;" f doHeldUseEffect src/Dodge/HeldUse.hs 343;" f
doInPlacements src/Dodge/Layout.hs 81;" f doInPlacements src/Dodge/Layout.hs 82;" f
doIndividualPlacements src/Dodge/Layout.hs 95;" f doIndividualPlacements src/Dodge/Layout.hs 96;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
doIntImp src/Dodge/CreatureEffect.hs 24;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f
doItemTimeScroll src/Dodge/Update.hs 191;" f doItemTimeScroll src/Dodge/Update.hs 191;" f
@@ -3299,7 +3299,7 @@ doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f
doRoomPlacements src/Dodge/Layout.hs 98;" f doRoomPlacements src/Dodge/Layout.hs 99;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
doSectionSize src/Dodge/DisplayInventory.hs 211;" f doSectionSize src/Dodge/DisplayInventory.hs 211;" f
@@ -3519,11 +3519,11 @@ eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
equipAllocString src/Dodge/Render/HUD.hs 310;" f equipAllocString src/Dodge/Render/HUD.hs 310;" f
equipAttachPos src/Dodge/Item/Draw.hs 29;" f equipAttachPos src/Dodge/Item/Draw.hs 30;" f
equipBackgroundEffect src/Dodge/Euse.hs 15;" f equipBackgroundEffect src/Dodge/Euse.hs 15;" f
equipInfo src/Dodge/Item/Info.hs 141;" f equipInfo src/Dodge/Item/Info.hs 141;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 173;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 157;" f
equipPosition src/Dodge/Item/Draw.hs 37;" 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 26;" f equipSitePQ src/Dodge/Creature/HandPos.hs 26;" f
equipType src/Dodge/Data/EquipType.hs 10;" f equipType src/Dodge/Data/EquipType.hs 10;" f
@@ -3587,12 +3587,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 410;" f flamerPic src/Dodge/Item/Draw/SPic.hs 394;" f
flareCircleAt src/Dodge/HeldUse.hs 687;" f flareCircleAt src/Dodge/HeldUse.hs 687;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 456;" f flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 440;" f
fleeFrom src/Dodge/CreatureEffect.hs 120;" f fleeFrom src/Dodge/CreatureEffect.hs 120;" f
fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
@@ -3612,7 +3612,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 117;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
foldMTRS src/Dodge/Room/Tutorial.hs 69;" f foldMTRS src/Dodge/Room/Tutorial.hs 53;" f
foldPairs src/ListHelp.hs 37;" f foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 39;" f followImpulse src/Dodge/Creature/Impulse.hs 39;" f
@@ -3627,7 +3627,7 @@ forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 53;" f fpsText src/Dodge/Render/Picture.hs 53;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 161;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
frag src/Shader/Data.hs 102;" f frag src/Shader/Data.hs 102;" f
freeShaderPointers' src/Shader.hs 37;" f freeShaderPointers' src/Shader.hs 37;" f
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
@@ -3650,16 +3650,16 @@ gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 46;" f gadgetEffect src/Dodge/HeldUse.hs 46;" f
gameOverMenu src/Dodge/Menu.hs 208;" f gameOverMenu src/Dodge/Menu.hs 208;" f
gameRoomFromRoom src/Dodge/Layout.hs 146;" f gameRoomFromRoom src/Dodge/Layout.hs 147;" f
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 143;" f gameRoomsFromRooms src/Dodge/Layout.hs 144;" f
gameplayMenu src/Dodge/Menu.hs 155;" f gameplayMenu src/Dodge/Menu.hs 155;" f
gameplayMenuOptions src/Dodge/Menu.hs 158;" f gameplayMenuOptions src/Dodge/Menu.hs 158;" f
gasType src/Dodge/HeldUse.hs 1141;" f gasType src/Dodge/HeldUse.hs 1141;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
generateGraphs src/Dodge/Menu.hs 149;" f generateGraphs src/Dodge/Menu.hs 149;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
generateLevelFromRoomList src/Dodge/Layout.hs 33;" f generateLevelFromRoomList src/Dodge/Layout.hs 34;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f
geom src/Shader/Data.hs 102;" f geom src/Shader/Data.hs 102;" f
geometryQuickCheckTests test/Spec.hs 55;" f geometryQuickCheckTests test/Spec.hs 55;" f
@@ -3677,8 +3677,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 335;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 321;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 322;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 308;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3693,13 +3693,13 @@ getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1283;" f getPJStabiliser src/Dodge/HeldUse.hs 1283;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 318;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 304;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 129;" f getSplitString src/Dodge/Debug/Terminal.hs 129;" f
getTiles src/Dodge/Layout.hs 193;" f getTiles src/Dodge/Layout.hs 194;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 125;" f getVolleyBurst src/Dodge/HeldUse.hs 125;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f
@@ -3718,7 +3718,7 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f
glassSwitchBack src/Dodge/Room/Room.hs 72;" f glassSwitchBack src/Dodge/Room/Room.hs 72;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 416;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 400;" f
glushortSize src/Shader/Parameters.hs 25;" f glushortSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 138;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 138;" f
@@ -3771,7 +3771,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 310;" f
hat src/Dodge/Item/Equipment.hs 76;" f hat src/Dodge/Item/Equipment.hs 76;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 459;" f headLampShape src/Dodge/Item/Draw/SPic.hs 443;" f
headMap src/Dodge/DoubleTree.hs 249;" f headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 115;" f headPQ src/Dodge/Creature/HandPos.hs 115;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
@@ -3790,7 +3790,7 @@ heldItemInvLock src/Dodge/HeldUse.hs 434;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1021;" f heldItemMuzVel src/Dodge/HeldUse.hs 1021;" f
heldItemMuzzles src/Dodge/HeldUse.hs 175;" f heldItemMuzzles src/Dodge/HeldUse.hs 175;" f
heldItemRifling src/Dodge/HeldUse.hs 1064;" f heldItemRifling src/Dodge/HeldUse.hs 1064;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 249;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 233;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 578;" f heldTorqueAmount src/Dodge/HeldUse.hs 578;" f
@@ -3949,7 +3949,7 @@ itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 767;" f itemDetectorEffect src/Dodge/HeldUse.hs 767;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 17;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
itemFromAmmoMag src/Dodge/Item.hs 42;" f itemFromAmmoMag src/Dodge/Item.hs 42;" f
itemFromAttachType src/Dodge/Item.hs 51;" f itemFromAttachType src/Dodge/Item.hs 51;" f
@@ -3962,16 +3962,17 @@ itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 429;" f itemInvLock src/Dodge/HeldUse.hs 429;" f
itemMuzzles src/Dodge/HeldUse.hs 161;" f itemMuzzles src/Dodge/HeldUse.hs 161;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
itemScan src/Dodge/Item/Scope.hs 63;" f itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 57;" f itemScroll src/Dodge/Update/Scroll.hs 57;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 124;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 124;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 151;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 151;" f
itemShapeX src/Dodge/Item/Orientation.hs 39;" f
itemSidePush src/Dodge/HeldUse.hs 377;" f itemSidePush src/Dodge/HeldUse.hs 377;" f
itemString src/Dodge/Item/Display.hs 56;" f itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 107;" f itemToFunction src/Dodge/Item/Grammar.hs 107;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f
itemWeight src/Dodge/Creature/Statistics.hs 74;" f itemWeight src/Dodge/Creature/Statistics.hs 74;" f
iterateUntil src/MonadHelp.hs 23;" f iterateUntil src/MonadHelp.hs 23;" f
@@ -3997,10 +3998,10 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 78;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 78;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 66;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 66;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 475;" f keyPic src/Dodge/Item/Draw/SPic.hs 459;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
lChasm src/Dodge/Room/Tutorial.hs 133;" f lChasm src/Dodge/Room/Tutorial.hs 117;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f
@@ -4009,7 +4010,7 @@ lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 75;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 75;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 428;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 412;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 134;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 134;" f
lasTunnel src/Dodge/Room/LasTurret.hs 153;" f lasTunnel src/Dodge/Room/LasTurret.hs 153;" f
@@ -4041,7 +4042,7 @@ leftLegPQ src/Dodge/Creature/HandPos.hs 84;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 197;" f leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 484;" f legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 112;" f liShape src/Dodge/Placement/Instance/LightSource.hs 112;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f
@@ -4251,7 +4252,7 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f midBounds src/Dodge/Room/Foreground.hs 151;" f
midChasm src/Dodge/Room/Tutorial.hs 154;" f midChasm src/Dodge/Room/Tutorial.hs 138;" f
midPad src/Padding.hs 27;" f midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 84;" f midPoint src/Geometry.hs 84;" f
@@ -4262,8 +4263,8 @@ minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 452;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 452;" f
miniGunCrit src/Dodge/Creature.hs 63;" f miniGunCrit src/Dodge/Creature.hs 63;" f
miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 388;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 372;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 385;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 369;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
miniTree2 src/Dodge/Room/Room.hs 113;" f miniTree2 src/Dodge/Room/Room.hs 113;" f
minimumOn src/FoldlHelp.hs 14;" f minimumOn src/FoldlHelp.hs 14;" f
@@ -4387,9 +4388,9 @@ orderAroundFirst src/Geometry/Polygon.hs 119;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 115;" f orderAroundFirstReverse src/Geometry/Polygon.hs 115;" f
orderPolygon src/Geometry/Polygon.hs 124;" f orderPolygon src/Geometry/Polygon.hs 124;" f
orderPolygonAround src/Geometry/Polygon.hs 107;" f orderPolygonAround src/Geometry/Polygon.hs 107;" f
orientAttachment src/Dodge/Item/Orientation.hs 31;" f orientAttachment src/Dodge/Item/Orientation.hs 44;" f
orientByParentChSF src/Dodge/Item/Orientation.hs 24;" f orientByParentChSF src/Dodge/Item/Orientation.hs 29;" f
orientChild src/Dodge/Item/Orientation.hs 13;" f orientChild src/Dodge/Item/Orientation.hs 17;" f
orthogonalPointOnSeg src/Geometry/Intersect.hs 326;" f orthogonalPointOnSeg src/Geometry/Intersect.hs 326;" f
outLink src/Dodge/RoomLink.hs 120;" f outLink src/Dodge/RoomLink.hs 120;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 43;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 43;" f
@@ -4552,8 +4553,8 @@ pokeWall src/Shader/Poke.hs 78;" f
pokeWallsWindows src/Shader/Poke.hs 50;" f pokeWallsWindows src/Shader/Poke.hs 50;" f
poly3 src/Picture/Base.hs 84;" f poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 175;" f polyChasm src/Dodge/Room/Tutorial.hs 159;" f
polyChasmC src/Dodge/Room/Tutorial.hs 184;" f polyChasmC src/Dodge/Room/Tutorial.hs 168;" f
polyCirc src/Shape.hs 46;" f polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 60;" f polyCornerDist src/Geometry/Polygon.hs 60;" f
@@ -4613,7 +4614,7 @@ propSPic src/Dodge/Prop/Draw.hs 17;" f
propSetToggleAnd src/Dodge/Prop/Update.hs 39;" f propSetToggleAnd src/Dodge/Prop/Update.hs 39;" f
propUpdateIf src/Dodge/Prop/Update.hs 23;" f propUpdateIf src/Dodge/Prop/Update.hs 23;" f
propUpdatePosition src/Dodge/Prop/Update.hs 28;" f propUpdatePosition src/Dodge/Prop/Update.hs 28;" f
propagateOrientation src/Dodge/Item/Orientation.hs 42;" f propagateOrientation src/Dodge/Item/Orientation.hs 56;" f
ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f
@@ -4696,7 +4697,7 @@ randSpark src/Dodge/Spark.hs 69;" f
randSparkExtraVel src/Dodge/Spark.hs 92;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 626;" f randWallReflect src/Dodge/Update.hs 626;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 57;" f randomCompass src/Dodge/Layout.hs 58;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 280;" f randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 280;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
@@ -4744,7 +4745,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 158;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 920;" f removeAmmoFromMag src/Dodge/HeldUse.hs 920;" f
removeDot src/ShortShow.hs 40;" f removeDot src/ShortShow.hs 40;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 236;" f removeLights src/Dodge/Room/Tutorial.hs 222;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f
@@ -4796,7 +4797,7 @@ rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 57;" f rightWristPQ src/Dodge/Creature/HandPos.hs 57;" f
rlPosDir src/Dodge/RoomLink.hs 112;" f rlPosDir src/Dodge/RoomLink.hs 112;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 413;" f rlauncherPic src/Dodge/Item/Draw/SPic.hs 397;" f
rmInLinks src/Dodge/RoomLink.hs 153;" f rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 73;" f rmInvItem src/Dodge/Inventory.hs 73;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f rmLinksOfType src/Dodge/RoomLink.hs 150;" f
@@ -4928,7 +4929,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 196;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 81;" f sensorSPic src/Dodge/Machine/Draw.hs 81;" f
sensorTut src/Dodge/Room/Tutorial.hs 344;" f sensorTut src/Dodge/Room/Tutorial.hs 330;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 233;" f sensorTypeDamages src/Dodge/Machine/Update.hs 233;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
@@ -4954,17 +4955,17 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f
setRoomInt src/Dodge/Room/Tutorial.hs 76;" f setRoomInt src/Dodge/Room/Tutorial.hs 60;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f setShaderSource src/Shader/Compile.hs 290;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f
setTile src/Dodge/Layout.hs 66;" f setTile src/Dodge/Layout.hs 67;" f
setTiles src/Dodge/Layout.hs 63;" f setTiles src/Dodge/Layout.hs 64;" f
setToggle src/Dodge/Prop/Update.hs 44;" f setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 83;" f setTreeInts src/Dodge/Room/Tutorial.hs 67;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f setViewport src/Dodge/Render.hs 440;" f
@@ -4986,7 +4987,7 @@ setupVBOStatic src/Shader/Compile.hs 116;" f
setupVBOVAO src/Shader/Compile.hs 200;" f setupVBOVAO src/Shader/Compile.hs 200;" f
setupVertexAttribPointer src/Shader/Compile.hs 224;" f setupVertexAttribPointer src/Shader/Compile.hs 224;" f
setupVertexAttribs src/Shader/Compile.hs 218;" f setupVertexAttribs src/Shader/Compile.hs 218;" f
setupWorldBounds src/Dodge/Layout.hs 110;" f setupWorldBounds src/Dodge/Layout.hs 111;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f shadVBOptr src/Shader.hs 40;" f
shaderTypeExt src/Shader/Compile.hs 172;" f shaderTypeExt src/Shader/Compile.hs 172;" f
@@ -4995,7 +4996,7 @@ shapePoints src/Dodge/Room/Foreground.hs 145;" f
shapeVerxAttributes src/Shape/Parameters.hs 13;" f shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f shapeVerxSize src/Shape/Parameters.hs 10;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 328;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 312;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 56;" f shellExplosionCheck src/Dodge/Projectile/Update.hs 56;" f
shellHitCreature src/Dodge/Projectile/Update.hs 84;" f shellHitCreature src/Dodge/Projectile/Update.hs 84;" f
@@ -5058,7 +5059,7 @@ shrinkPolyOnEdges src/Geometry/Polygon.hs 173;" f
shrinkVert src/Geometry/Polygon.hs 177;" f shrinkVert src/Geometry/Polygon.hs 177;" f
shuffle src/RandomHelp.hs 49;" f shuffle src/RandomHelp.hs 49;" f
shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 76;" f shuffleRoomPos src/Dodge/Layout.hs 77;" f
shuffleTail src/RandomHelp.hs 59;" f shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 847;" f simpleCrSprings src/Dodge/Update.hs 847;" f
@@ -5247,13 +5248,12 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 39;" f
terminalShape src/Dodge/Machine/Draw.hs 43;" f terminalShape src/Dodge/Machine/Draw.hs 43;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 425;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 409;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testCrossWalls src/Dodge/Room/Path.hs 41;" f testCrossWalls src/Dodge/Room/Path.hs 41;" f
testEvent src/Dodge/Event/Test.hs 9;" f testEvent src/Dodge/Event/Test.hs 9;" f
testInventory src/Dodge/Creature.hs 292;" f testInventory src/Dodge/Creature.hs 292;" f
testStringInit src/Dodge/TestString.hs 33;" f testStringInit src/Dodge/TestString.hs 33;" f
testf src/Dodge/Room/Tutorial.hs 41;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 37;" f textInputBlurb src/Dodge/Terminal.hs 37;" f
@@ -5282,7 +5282,7 @@ thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 92;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
throwItem src/Dodge/Creature/Action.hs 211;" f throwItem src/Dodge/Creature/Action.hs 211;" f
tileTexCoords src/Tile.hs 11;" f tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 190;" f tilesFromRooms src/Dodge/Layout.hs 191;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f tilesToLine src/Shader/AuxAddition.hs 66;" f
timeFlowUpdate src/Dodge/Update.hs 167;" f timeFlowUpdate src/Dodge/Update.hs 167;" f
timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f
@@ -5326,7 +5326,7 @@ topInvW src/Dodge/ListDisplayParams.hs 49;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 41;" f topTestPart src/Dodge/TestString.hs 41;" f
torchShape src/Dodge/Item/Draw/SPic.hs 292;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f
torqueAmount src/Dodge/HeldUse.hs 573;" f torqueAmount src/Dodge/HeldUse.hs 573;" f
torqueCr src/Dodge/WorldEffect.hs 72;" f torqueCr src/Dodge/WorldEffect.hs 72;" f
torso src/Dodge/Creature/Picture.hs 102;" f torso src/Dodge/Creature/Picture.hs 102;" f
@@ -5334,7 +5334,7 @@ tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/HeldUse.hs 806;" f tractorBeamAt src/Dodge/HeldUse.hs 806;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 453;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 437;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f tranRot src/Picture/Base.hs 124;" f
@@ -5399,13 +5399,13 @@ tryUseParent src/Dodge/Creature/State.hs 144;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 37;" f turret src/Dodge/Placement/Instance/Turret.hs 37;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 47;" f tutAnoTree src/Dodge/Room/Tutorial.hs 40;" f
tutDrop src/Dodge/Room/Tutorial.hs 88;" f tutDrop src/Dodge/Room/Tutorial.hs 72;" f
tutHub src/Dodge/Room/Tutorial.hs 243;" f tutHub src/Dodge/Room/Tutorial.hs 229;" f
tutLight src/Dodge/Room/Tutorial.hs 212;" f tutLight src/Dodge/Room/Tutorial.hs 196;" f
tutRezBox src/Dodge/Room/Tutorial.hs 355;" f tutRezBox src/Dodge/Room/Tutorial.hs 341;" f
tutRoomTree src/Dodge/Floor.hs 21;" f tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 379;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 365;" f
tweenAngles src/Geometry/Vector.hs 195;" f tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f
@@ -5619,7 +5619,7 @@ visibleWalls src/Dodge/Base/Collide.hs 207;" f
visionCheck src/Dodge/Creature/Perception.hs 153;" f visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 373;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f
walkNozzle src/Dodge/HeldUse.hs 782;" f walkNozzle src/Dodge/HeldUse.hs 782;" f
walkableNodeNear src/Dodge/Path.hs 48;" f walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f wallBlips src/Dodge/RadarSweep.hs 98;" f
@@ -5627,7 +5627,7 @@ wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 172;" f wallToSurface src/Dodge/Base/Collide.hs 172;" f
wallsFromRooms src/Dodge/Layout.hs 131;" f wallsFromRooms src/Dodge/Layout.hs 132;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1421;" f warmupSound src/Dodge/HeldUse.hs 1421;" f
warningRooms src/Dodge/Room/Warning.hs 30;" f warningRooms src/Dodge/Room/Warning.hs 30;" f
@@ -5716,7 +5716,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 142;" f zChasm src/Dodge/Room/Tutorial.hs 126;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f