Compare commits

..

3 Commits

Author SHA1 Message Date
justin cdc21c9fb1 Tweak tutorial room 2026-02-28 18:34:40 +00:00
justin 92891e291a Hack fix bug when generating world with no chasms
Bug occured because we try to create an empty glNamedBufferStorage,
instead just create a dummy storage with space for one element.
2026-02-25 20:07:19 +00:00
justin c2c139c8aa Work on tutorial rooms with laser turret 2026-02-25 20:00:37 +00:00
5 changed files with 135 additions and 95 deletions
+51 -21
View File
@@ -8,9 +8,9 @@ module Dodge.Room.LasTurret (
keyCardRoomRunPast, keyCardRoomRunPast,
lasSensorTurretTest, lasSensorTurretTest,
healthTest, healthTest,
lasCenRunClose,
) where ) where
--import Dodge.Item.Held.Cane
import qualified Data.Set as S import qualified Data.Set as S
import Dodge.Cleat import Dodge.Cleat
import Dodge.Data.GenWorld import Dodge.Data.GenWorld
@@ -31,10 +31,11 @@ import Geometry
import LensHelp import LensHelp
import RandomHelp import RandomHelp
cenLasTur :: RandomGen g => State g Room cenLasTur :: (RandomGen g) => State g Room
cenLasTur = do cenLasTur = do
thelight <- mntLightLnkCond $ rprBool $ const . isInLnk thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
roomNgon 8 200 <&> rmPmnts roomNgon 8 200
<&> rmPmnts
.~ [ putLasTurret 0.02 .~ [ putLasTurret 0.02
, heightWallPS , heightWallPS
(resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100 <&> (,S.singleton UsedPosLow))) (resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100 <&> (,S.singleton UsedPosLow)))
@@ -49,11 +50,11 @@ lightSensInsideDoor :: Int -> Room -> Room
lightSensInsideDoor i rm = lightSensInsideDoor i rm =
rm rm
& rmPmnts & rmPmnts
.++~ [ psPt atFstLnkOut (PutForeground $ floorWire (V2 20 0) (V2 20 (-100))) .++~ [ psPt atFstLnkOut (PutForeground $ floorWire (V2 20 0) (V2 20 (-100)))
, psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100))) , psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100)))
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80) , psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
, sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i , sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
] ]
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) -- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)
@@ -61,18 +62,18 @@ lightSensByDoor :: Int -> Room -> Room
lightSensByDoor i rm = lightSensByDoor i rm =
rm rm
& rmPmnts & rmPmnts
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80 .++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape , heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape , heightWallPS (atFstLnkOutShiftInward 100) 30 covershape
, sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i , sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i
] ]
where where
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) -- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)
covershape = rectNSWE 10 (-10) (-20) 20 covershape = rectNSWE 10 (-10) (-20) 20
sensorshift (p, a) = ((p +.+ rotateV a (V2 60 (-20)), a), S.singleton UsedPosLow) sensorshift (p, a) = ((p +.+ rotateV a (V2 60 (-20)), a), S.singleton UsedPosLow)
keyCardRoomRunPast :: RandomGen g => Int -> Int -> State g (MetaTree Room String) keyCardRoomRunPast :: (RandomGen g) => Int -> Int -> State g (MetaTree Room String)
keyCardRoomRunPast keyid rmid = do keyCardRoomRunPast keyid rmid = do
cenroom <- shuffleLinks . keyCardAnalyserByDoor keyid rmid =<< roomNgon 6 200 cenroom <- shuffleLinks . keyCardAnalyserByDoor keyid rmid =<< roomNgon 6 200
let doorroom = triggerDoorRoom rmid let doorroom = triggerDoorRoom rmid
@@ -101,14 +102,15 @@ analyserByNthLink n proxreq i =
) )
) )
(atNthLnkOutShiftBy n sensorshift) (atNthLnkOutShiftBy n sensorshift)
& plExternalID ?~ i & plExternalID
?~ i
where where
sensorshift (p, a) = ((p +.+ rotateV a (V2 (-30) (-10)), a), S.singleton UsedPosLow) sensorshift (p, a) = ((p +.+ rotateV a (V2 (-30) (-10)), a), S.singleton UsedPosLow)
analyserByDoor :: ProximityRequirement -> Int -> Room -> Room analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
analyserByDoor pr i = rmPmnts .:~ analyserByNthLink 0 pr i analyserByDoor pr i = rmPmnts .:~ analyserByNthLink 0 pr i
healthTest :: RandomGen g => Int -> State g (Tree Room) healthTest :: (RandomGen g) => Int -> State g (Tree Room)
healthTest n = do healthTest n = do
cenroom <- shuffleLinks . healthAnalyserByDoor n =<< roomNgon 8 200 cenroom <- shuffleLinks . healthAnalyserByDoor n =<< roomNgon 8 200
return $ return $
@@ -120,14 +122,14 @@ healthTest n = do
, cleatOnward door , cleatOnward door
] ]
lasSensorTurretTest :: RandomGen g => Int -> State g (MetaTree Room String) lasSensorTurretTest :: (RandomGen g) => Int -> State g (MetaTree Room String)
lasSensorTurretTest n = do lasSensorTurretTest n = do
cenroom <- shuffleLinks . lightSensInsideDoor n =<< cenLasTur cenroom <- shuffleLinks . lightSensInsideDoor n =<< cenLasTur
rToOnward "lasSensorTurretTest" $ rToOnward "lasSensorTurretTest" $
treePost treePost
[door, cenroom, triggerDoorRoom n, cleatOnward door] [door, cenroom, triggerDoorRoom n, cleatOnward door]
lasCenSensEdge :: RandomGen g => Int -> State g (MetaTree Room String) lasCenSensEdge :: (RandomGen g) => Int -> State g (MetaTree Room String)
lasCenSensEdge n = do lasCenSensEdge n = do
cenroom <- shuffleLinks . lightSensByDoor n =<< cenLasTur cenroom <- shuffleLinks . lightSensByDoor n =<< cenLasTur
let doorroom = triggerDoorRoom n let doorroom = triggerDoorRoom n
@@ -139,7 +141,35 @@ lasCenSensEdge n = do
, treePost [door, cleatLabel 0 corridor] , treePost [door, cleatLabel 0 corridor]
] ]
lasTunnel :: RandomGen g => Float -> State g Room lasCenRunClose :: (RandomGen g) => State g (MetaTree Room String)
lasCenRunClose = do
thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk
r <-
roomNgon 8 250
<&> rmPmnts
.~ [ putLasTurret 0.02
, inlinkwall 70 (rectNSWE 10 (-10) (-10) 30)
, inlinkwall 125 (rectNSWE 55 (-55) (-10) 10)
, inlinkwall 180 (rectNSWE 10 (-10) (-30) 10)
, outlinkwall 70 (rectNSWE 10 (-10) (-30) 10)
, outlinkwall 125 (rectNSWE 55 (-55) (-10) 10)
, outlinkwall 180 (rectNSWE 10 (-10) (-10) 30)
, thelight
, thelight1
]
-- <&> rmLinks %~ setOutLinksByType (PolyEdge 7)
-- <&> rmLinks %~ tail
-- <&> rmLinks %~ setOutLinks (const False)
rToOnward "lasCenRunClose" $ return $ cleatOnward r
where
linkwall f x = heightWallPS
(resetPLUse $ rprBoolShift (const . f) (shiftInBy x <&> (,S.singleton UsedPosLow)))
30
inlinkwall = linkwall isInLnk
outlinkwall = linkwall isOutLnk
lasTunnel :: (RandomGen g) => Float -> State g Room
lasTunnel y = do lasTunnel y = do
extraPlmnts <- extraPlmnts <-
takeOne takeOne
@@ -166,7 +196,7 @@ lasTunnel y = do
] ]
, _rmPmnts = , _rmPmnts =
[ putLasTurret 0.005 & plSpot .~ PS (V2 10 (240 + y)) (1.5 * pi) [ putLasTurret 0.005 & plSpot .~ PS (V2 10 (240 + y)) (1.5 * pi)
, --, midWall (rectNSEW 65 40 0 25) , -- , midWall (rectNSEW 65 40 0 25)
mntLS vShape (V2 60 145) (V3 40 125 90) mntLS vShape (V2 60 145) (V3 40 125 90)
, mntLS vShape (V2 (-40) 145) (V3 (-20) 125 90) , mntLS vShape (V2 (-40) 145) (V3 (-20) 125 90)
] ]
@@ -180,7 +210,7 @@ lasTunnel y = do
] ]
-- a y value of 400 is probably "unrunnable" -- a y value of 400 is probably "unrunnable"
lasTunnelRunPast :: RandomGen g => Float -> State g (MetaTree Room String) lasTunnelRunPast :: (RandomGen g) => Float -> State g (MetaTree Room String)
lasTunnelRunPast y = do lasTunnelRunPast y = do
r <- lasTunnel y r <- lasTunnel y
r1 <- takeOne [door, corridor] r1 <- takeOne [door, corridor]
+1
View File
@@ -24,6 +24,7 @@ roomNgon n x = do
, _rmPmnts = [thelight] , _rmPmnts = [thelight]
, _rmBound = [poly] , _rmBound = [poly]
, _rmFloor = Tiled [makeTileFromPoly poly 2] , _rmFloor = Tiled [makeTileFromPoly poly 2]
--, _rmFloor = InheritFloor
, _rmName = show n ++ "gon" , _rmName = show n ++ "gon"
, _rmPos = poss , _rmPos = poss
} }
+11 -7
View File
@@ -54,14 +54,18 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor , corDoor
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor) , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
, lasCenRunClose
-- , passthroughLockKeyLists lockRoomKeyItems itemRooms
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor) , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
, passthroughLockKeyLists -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
[(sensorRoomRunPast ElectricSensor, takeOne -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
[-- CRAFT (ENERGYBALLCRAFT TeslaBall) , -- , passthroughLockKeyLists
HELD SPARKGUN])] -- [(sensorRoomRunPast ElectricSensor, takeOne
itemRooms -- [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor) -- HELD SPARKGUN])]
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor) -- itemRooms
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
, tToBTree "sdr" . return . cleatOnward <$> , tToBTree "sdr" . return . cleatOnward <$>
(shuffleLinks =<< distributerRoom BulletAmmo 100000) (shuffleLinks =<< distributerRoom BulletAmmo 100000)
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
+2 -1
View File
@@ -30,7 +30,8 @@ postWorldLoad rdata cw = do
glNamedBufferStorage newfloorbo (fromIntegral $ 8 * nfloorvxs * floatSize) floorptr 0 glNamedBufferStorage newfloorbo (fromIntegral $ 8 * nfloorvxs * floatSize) floorptr 0
nchasmvxs <- foldM (pokeChasm chptr) 0 (cw ^. uvWorld . cWorld . chasms) nchasmvxs <- foldM (pokeChasm chptr) 0 (cw ^. uvWorld . cWorld . chasms)
glBindBufferBase GL_SHADER_STORAGE_BUFFER 7 newchbo glBindBufferBase GL_SHADER_STORAGE_BUFFER 7 newchbo
glNamedBufferStorage newchbo (fromIntegral $ 2 * nchasmvxs * floatSize) chptr 0 glNamedBufferStorage newchbo (fromIntegral $ 2 * (max 1 nchasmvxs) * floatSize) chptr 0
-- note the max 1, prevents trying to create empty buffer storage
checkGLError "during postWorldLoad" checkGLError "during postWorldLoad"
return $ return $
cw & uvWorld . cWorld . numberFloorVerxs .~ nfloorvxs cw & uvWorld . cWorld . numberFloorVerxs .~ nfloorvxs
+70 -66
View File
@@ -2018,6 +2018,7 @@ _mcoTermStatus src/Dodge/Data/Input.hs 27;" f
_mcsAmount src/Dodge/Data/Machine.hs 48;" f _mcsAmount src/Dodge/Data/Machine.hs 48;" f
_mcsType src/Dodge/Data/Machine.hs 48;" f _mcsType src/Dodge/Data/Machine.hs 48;" f
_mctTurret src/Dodge/Data/Machine.hs 47;" f _mctTurret src/Dodge/Data/Machine.hs 47;" f
_mctTurretStun src/Dodge/Data/Machine.hs 47;" f
_mdBool src/Dodge/Data/Modification.hs 19;" f _mdBool src/Dodge/Data/Modification.hs 19;" f
_mdExternalID src/Dodge/Data/Modification.hs 15;" f _mdExternalID src/Dodge/Data/Modification.hs 15;" f
_mdExternalID1 src/Dodge/Data/Modification.hs 23;" f _mdExternalID1 src/Dodge/Data/Modification.hs 23;" f
@@ -2579,10 +2580,10 @@ alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f
ammoMagInfo src/Dodge/Item/Info.hs 49;" f ammoMagInfo src/Dodge/Item/Info.hs 49;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 128;" 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 116;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 108;" f analyserByDoor src/Dodge/Room/LasTurret.hs 110;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 93;" f analyserByNthLink src/Dodge/Room/LasTurret.hs 94;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 158;" f angleBetween src/Geometry.hs 158;" f
angleVV src/Geometry/Vector.hs 58;" f angleVV src/Geometry/Vector.hs 58;" f
@@ -2765,7 +2766,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 593;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f
cChasm src/Dodge/Room/Tutorial.hs 133;" f cChasm src/Dodge/Room/Tutorial.hs 148;" 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
@@ -2801,8 +2802,8 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmRotate src/Dodge/Creature/Update.hs 173;" f chasmRotate src/Dodge/Creature/Update.hs 173;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 294;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 309;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 265;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 280;" f
chasmTestCorpse src/Dodge/Creature/Update.hs 155;" f chasmTestCorpse src/Dodge/Creature/Update.hs 155;" f
chasmTestLiving src/Dodge/Creature/Update.hs 137;" f chasmTestLiving src/Dodge/Creature/Update.hs 137;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
@@ -3042,7 +3043,7 @@ dShadCol src/Dodge/Render/List.hs 208;" f
damMatSideEffect src/Dodge/Material/Damage.hs 20;" f damMatSideEffect src/Dodge/Material/Damage.hs 20;" f
damThingHitWith src/Dodge/Damage.hs 72;" f damThingHitWith src/Dodge/Damage.hs 72;" f
damToExpBarrel src/Dodge/Barreloid.hs 53;" f damToExpBarrel src/Dodge/Barreloid.hs 53;" f
damageBlock src/Dodge/Wall/Damage.hs 59;" f damageBlock src/Dodge/Wall/Damage.hs 120;" f
damageCodeCommand src/Dodge/Terminal.hs 67;" f damageCodeCommand src/Dodge/Terminal.hs 67;" f
damageCrWl src/Dodge/Damage.hs 29;" f damageCrWl src/Dodge/Damage.hs 29;" f
damageCrWlID src/Dodge/Damage.hs 23;" f damageCrWlID src/Dodge/Damage.hs 23;" f
@@ -3051,16 +3052,17 @@ damageDirection src/Dodge/Damage.hs 35;" f
damageDirt src/Dodge/Material/Damage.hs 130;" f damageDirt src/Dodge/Material/Damage.hs 130;" f
damageFlesh src/Dodge/Material/Damage.hs 97;" f damageFlesh src/Dodge/Material/Damage.hs 97;" f
damageGlass src/Dodge/Material/Damage.hs 156;" f damageGlass src/Dodge/Material/Damage.hs 156;" f
damageGlassBlock src/Dodge/Wall/Damage.hs 64;" f damageGlassBlock src/Dodge/Wall/Damage.hs 125;" f
damageHP src/Dodge/Creature/Damage.hs 37;" f damageHP src/Dodge/Creature/Damage.hs 37;" f
damageInCircle src/Dodge/Damage.hs 61;" f damageInCircle src/Dodge/Damage.hs 61;" f
damageMachine src/Dodge/Wall/Damage.hs 45;" f damageMachine src/Dodge/Wall/Damage.hs 46;" f
damageMetal src/Dodge/Material/Damage.hs 65;" f damageMetal src/Dodge/Material/Damage.hs 65;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 13;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 13;" f
damageStone src/Dodge/Material/Damage.hs 33;" f damageStone src/Dodge/Material/Damage.hs 33;" f
damageThingHit src/Dodge/Bullet.hs 180;" f damageThingHit src/Dodge/Bullet.hs 180;" f
damageTypeThreshold src/Dodge/Machine/Update.hs 132;" f damageTypeThreshold src/Dodge/Machine/Update.hs 139;" f
damageWall src/Dodge/Wall/Damage.hs 30;" f damageTypeThreshold' src/Dodge/Wall/Damage.hs 84;" f
damageWall src/Dodge/Wall/Damage.hs 31;" f
damsToExpBarrel src/Dodge/Barreloid.hs 50;" f damsToExpBarrel src/Dodge/Barreloid.hs 50;" f
dark src/Color.hs 135;" f dark src/Color.hs 135;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 46;" f darkenBackground src/Dodge/Render/MenuScreen.hs 46;" f
@@ -3158,16 +3160,16 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 27;" f
denormalEdges src/Polyhedra.hs 128;" f denormalEdges src/Polyhedra.hs 128;" f
destroyAllInvItems src/Dodge/Inventory.hs 53;" f destroyAllInvItems src/Dodge/Inventory.hs 53;" f
destroyBlock src/Dodge/Block.hs 17;" f destroyBlock src/Dodge/Block.hs 17;" f
destroyDoor src/Dodge/Wall/Damage.hs 84;" f destroyDoor src/Dodge/Wall/Damage.hs 145;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyItem src/Dodge/Inventory.hs 62;" f destroyItem src/Dodge/Inventory.hs 62;" f
destroyLSFlashAt src/Dodge/LightSource.hs 44;" f destroyLSFlashAt src/Dodge/LightSource.hs 44;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMachine' src/Dodge/Wall/Damage.hs 50;" f destroyMachine' src/Dodge/Wall/Damage.hs 111;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/Wall/Damage.hs 105;" f destroyMount src/Dodge/Wall/Damage.hs 166;" f
destroyMounts src/Dodge/Wall/Damage.hs 102;" f destroyMounts src/Dodge/Wall/Damage.hs 163;" f
destroyProjectile src/Dodge/Projectile/Update.hs 112;" f destroyProjectile src/Dodge/Projectile/Update.hs 112;" f
detV src/Geometry/Vector.hs 94;" f detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f detector src/Dodge/Item/Held/Utility.hs 27;" f
@@ -3545,7 +3547,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f
foldMTRS src/Dodge/Room/Tutorial.hs 79;" f foldMTRS src/Dodge/Room/Tutorial.hs 94;" f
foldPairs src/ListHelp.hs 37;" f foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 25;" f followImpulse src/Dodge/Creature/Impulse.hs 25;" f
@@ -3607,8 +3609,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
getCommand src/Dodge/Terminal.hs 61;" f getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 446;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 461;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 433;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 448;" f
getDebugMouseOver src/Dodge/Update.hs 424;" f getDebugMouseOver src/Dodge/Update.hs 424;" f
getDistortions src/Dodge/Render.hs 443;" f getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3625,7 +3627,7 @@ getNodePos src/Dodge/Path.hs 34;" f
getPJStabiliser src/Dodge/HeldUse.hs 1246;" f getPJStabiliser src/Dodge/HeldUse.hs 1246;" 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 429;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 444;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" 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
@@ -3710,8 +3712,8 @@ headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f
headMap src/Dodge/DoubleTree.hs 249;" f headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 116;" f headPQ src/Dodge/Creature/HandPos.hs 116;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 90;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 91;" f
healthTest src/Dodge/Room/LasTurret.hs 111;" f healthTest src/Dodge/Room/LasTurret.hs 113;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 157;" f heldAimZoom src/Dodge/Update/Camera.hs 157;" f
@@ -3760,7 +3762,7 @@ initTexture2DArray src/Shader/AuxAddition.hs 31;" f
initTexture2DArrayData src/Shader/AuxAddition.hs 46;" f initTexture2DArrayData src/Shader/AuxAddition.hs 46;" f
initTexture2DArraySquare src/Shader/AuxAddition.hs 16;" f initTexture2DArraySquare src/Shader/AuxAddition.hs 16;" f
initWallZoning src/Dodge/Wall/Zone.hs 12;" f initWallZoning src/Dodge/Wall/Zone.hs 12;" f
initialRoomTree src/Dodge/Floor.hs 24;" f initialRoomTree src/Dodge/Floor.hs 23;" f
initialWorld src/Dodge/Initialisation.hs 13;" f initialWorld src/Dodge/Initialisation.hs 13;" f
initialisePlaying src/Sound.hs 78;" f initialisePlaying src/Sound.hs 78;" f
initializeGLState src/Preload/Render.hs 255;" f initializeGLState src/Preload/Render.hs 255;" f
@@ -3780,7 +3782,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 134;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 131;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 131;" f
insertWithNewKeys src/IntMapHelp.hs 71;" f insertWithNewKeys src/IntMapHelp.hs 71;" f
intAnno src/Dodge/Floor.hs 111;" f intAnno src/Dodge/Floor.hs 110;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
interpWith src/Dodge/Creature/Boid.hs 13;" f interpWith src/Dodge/Creature/Boid.hs 13;" f
intersectCircLine src/Geometry/Intersect.hs 354;" f intersectCircLine src/Geometry/Intersect.hs 354;" f
@@ -3843,7 +3845,6 @@ isAnimate src/Dodge/Creature/Test.hs 134;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 67;" f isCornerLink src/Dodge/RoomLink.hs 67;" f
isElectrical src/Dodge/Machine/Update.hs 106;" f
isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 198;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 198;" f
isInLnk src/Dodge/PlacementSpot.hs 163;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f
@@ -3935,25 +3936,26 @@ justify src/Justify.hs 9;" f
k src/ShortShow.hs 48;" f k src/ShortShow.hs 48;" f
k' src/ShortShow.hs 48;" f k' src/ShortShow.hs 48;" f
keyCard src/Dodge/Item/Held/Utility.hs 20;" f keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 87;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 88;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 75;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 76;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 439;" f keyPic src/Dodge/Item/Draw/SPic.hs 439;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 44;" f keyholeCorridor src/Dodge/Room/Corridor.hs 44;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
lChasm src/Dodge/Room/Tutorial.hs 142;" f lChasm src/Dodge/Room/Tutorial.hs 157;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 116;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 116;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 130;" f lasCenRunClose src/Dodge/Room/LasTurret.hs 144;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 132;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 123;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 125;" f
lasTunnel src/Dodge/Room/LasTurret.hs 142;" f lasTunnel src/Dodge/Room/LasTurret.hs 172;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 183;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 213;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f
lastMap src/Dodge/DoubleTree.hs 253;" f lastMap src/Dodge/DoubleTree.hs 253;" f
@@ -3987,8 +3989,8 @@ 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 79;" f liShape src/Dodge/Placement/Instance/LightSource.hs 79;" f
light src/Color.hs 131;" f light src/Color.hs 131;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 60;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 61;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 48;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 49;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 26;" f lightSensor src/Dodge/Placement/Instance/Sensor.hs 26;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f
lightx4 src/Color.hs 155;" f lightx4 src/Color.hs 155;" f
@@ -4131,32 +4133,32 @@ maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f
maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 135;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 79;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 140;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 568;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 568;" f
maybeOpenConsole src/Dodge/Update.hs 134;" f maybeOpenConsole src/Dodge/Update.hs 134;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 118;" f maybeTakeOne src/RandomHelp.hs 118;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 167;" f mcBackgroundSound src/Dodge/Machine/Update.hs 163;" f
mcBackgroundSound src/Dodge/Machine/Update.hs 156;" f
mcColor src/Dodge/Machine/Draw.hs 83;" f mcColor src/Dodge/Machine/Draw.hs 83;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 120;" f mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 127;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 174;" f mcDamSensorUpdate src/Dodge/Machine/Update.hs 174;" f
mcDamSensorUpdate' src/Dodge/Wall/Damage.hs 57;" f
mcKillBut src/Dodge/Machine/Destroy.hs 38;" f mcKillBut src/Dodge/Machine/Destroy.hs 38;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 30;" f mcKillTerm src/Dodge/Machine/Destroy.hs 30;" f
mcNoItemsTest src/Dodge/Machine/Update.hs 182;" f mcNoItemsTest src/Dodge/Machine/Update.hs 182;" f
mcPlaySound src/Dodge/Machine/Update.hs 140;" f mcPlaySound src/Dodge/Machine/Update.hs 147;" f
mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 126;" f mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 133;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 177;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 177;" f
mcProxTest src/Dodge/Machine/Update.hs 258;" f mcProxTest src/Dodge/Machine/Update.hs 258;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 219;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 219;" f
mcSPic src/Dodge/Render/ShapePicture.hs 163;" f mcSPic src/Dodge/Render/ShapePicture.hs 163;" f
mcShootAuto src/Dodge/HeldUse.hs 1164;" f mcShootAuto src/Dodge/HeldUse.hs 1164;" f
mcShootLaser src/Dodge/HeldUse.hs 1157;" f mcShootLaser src/Dodge/HeldUse.hs 1157;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 33;" f mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f
mcUseHeld src/Dodge/HeldUse.hs 1081;" f mcUseHeld src/Dodge/HeldUse.hs 1081;" f
mcUseItem src/Dodge/Machine/Update.hs 111;" f mcUseItem src/Dodge/Machine/Update.hs 118;" f
megaBattery src/Dodge/Item/Ammo.hs 53;" f megaBattery src/Dodge/Item/Ammo.hs 53;" f
megaShellMag src/Dodge/Item/Ammo.hs 43;" f megaShellMag src/Dodge/Item/Ammo.hs 43;" f
megaTinMag src/Dodge/Item/Ammo.hs 20;" f megaTinMag src/Dodge/Item/Ammo.hs 20;" f
@@ -4185,9 +4187,9 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 165;" f midChasm src/Dodge/Room/Tutorial.hs 180;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 184;" f midChasmPlatform src/Dodge/Room/Tutorial.hs 199;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 238;" f midChasmSpit src/Dodge/Room/Tutorial.hs 253;" 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 83;" f midPoint src/Geometry.hs 83;" f
@@ -4357,7 +4359,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Floor.hs 120;" f passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 523;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 66;" f pathEdgeObstructed src/Dodge/Path.hs 66;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4461,8 +4463,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 76;" f poly3 src/Picture/Base.hs 76;" f
poly3Col src/Picture/Base.hs 80;" f poly3Col src/Picture/Base.hs 80;" f
polyChasm src/Dodge/Room/Tutorial.hs 278;" f polyChasm src/Dodge/Room/Tutorial.hs 293;" f
polyChasmC src/Dodge/Room/Tutorial.hs 287;" f polyChasmC src/Dodge/Room/Tutorial.hs 302;" f
polyCirc src/Shape.hs 47;" f polyCirc src/Shape.hs 47;" f
polyCircx src/Shape.hs 52;" f polyCircx src/Shape.hs 52;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4653,7 +4655,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 905;" f removeAmmoFromMag src/Dodge/HeldUse.hs 905;" f
removeDot src/ShortShow.hs 44;" f removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 344;" f removeLights src/Dodge/Room/Tutorial.hs 359;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 71;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 71;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 27;" f renderDataResizeUpdate src/Preload/Update.hs 27;" f
@@ -4834,12 +4836,14 @@ semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 785;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
senseDamage src/Dodge/Machine/Update.hs 274;" f senseDamage src/Dodge/Machine/Update.hs 274;" f
senseDamage' src/Dodge/Wall/Damage.hs 60;" f
sensorReqToString src/Dodge/Machine/Update.hs 252;" f sensorReqToString src/Dodge/Machine/Update.hs 252;" 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 99;" f sensorSPic src/Dodge/Machine/Draw.hs 99;" f
sensorTut src/Dodge/Room/Tutorial.hs 455;" f sensorTut src/Dodge/Room/Tutorial.hs 470;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 298;" f sensorTypeDamages src/Dodge/Machine/Update.hs 298;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 91;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f
@@ -4864,7 +4868,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 77;" f setOutLinksByType src/Dodge/RoomLink.hs 77;" f
setOutLinksPD src/Dodge/RoomLink.hs 97;" f setOutLinksPD src/Dodge/RoomLink.hs 97;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 86;" f setRoomInt src/Dodge/Room/Tutorial.hs 101;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f
setShaderSource src/Shader/Compile.hs 121;" f setShaderSource src/Shader/Compile.hs 121;" f
@@ -4873,7 +4877,7 @@ setSoundVolume src/Sound.hs 159;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 93;" f setTreeInts src/Dodge/Room/Tutorial.hs 108;" f
setViewDistance src/Dodge/Update/Camera.hs 246;" f setViewDistance src/Dodge/Update/Camera.hs 246;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 448;" f setViewport src/Dodge/Render.hs 448;" f
@@ -5053,8 +5057,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
spreadOut src/Dodge/Creature/Boid.hs 160;" f spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 208;" f sqPlatformChasm src/Dodge/Room/Tutorial.hs 223;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 223;" f sqSpitChasm src/Dodge/Room/Tutorial.hs 238;" f
square src/Geometry/Polygon.hs 56;" f square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f
@@ -5099,7 +5103,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 543;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f
stopAllSounds src/Sound.hs 127;" f stopAllSounds src/Sound.hs 127;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/Wall/Damage.hs 110;" f stopPushing src/Dodge/Wall/Damage.hs 171;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
storageShape src/Dodge/Machine/Draw.hs 31;" f storageShape src/Dodge/Machine/Draw.hs 31;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
@@ -5158,7 +5162,7 @@ terminalLDP src/Dodge/ListDisplayParams.hs 48;" f
terminalReturnEffect src/Dodge/Terminal.hs 279;" f terminalReturnEffect src/Dodge/Terminal.hs 279;" f
terminalReturnLocal src/Dodge/Terminal.hs 283;" f terminalReturnLocal src/Dodge/Terminal.hs 283;" f
terminalSPic src/Dodge/Machine/Draw.hs 47;" f terminalSPic src/Dodge/Machine/Draw.hs 47;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 44;" f terminalScreenGlow src/Dodge/Machine/Update.hs 43;" f
terminalShape src/Dodge/Machine/Draw.hs 50;" f terminalShape src/Dodge/Machine/Draw.hs 50;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 127;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 127;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
@@ -5319,13 +5323,13 @@ tryThrust src/Dodge/Projectile/Update.hs 126;" f
tryUseParent src/Dodge/Creature/State.hs 145;" f tryUseParent src/Dodge/Creature/State.hs 145;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 48;" f tutAnoTree src/Dodge/Room/Tutorial.hs 51;" f
tutDrop src/Dodge/Room/Tutorial.hs 98;" f tutDrop src/Dodge/Room/Tutorial.hs 113;" f
tutHub src/Dodge/Room/Tutorial.hs 351;" f tutHub src/Dodge/Room/Tutorial.hs 366;" f
tutLight src/Dodge/Room/Tutorial.hs 316;" f tutLight src/Dodge/Room/Tutorial.hs 331;" f
tutRezBox src/Dodge/Room/Tutorial.hs 466;" f tutRezBox src/Dodge/Room/Tutorial.hs 481;" f
tutRoomTree src/Dodge/Floor.hs 21;" f tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 489;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 504;" f
tweenAngles src/Geometry/Vector.hs 190;" f tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
@@ -5424,7 +5428,7 @@ updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 47;" f updateLivingCreature src/Dodge/Creature/Update.hs 47;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 447;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 447;" f
updateMachine src/Dodge/Machine/Update.hs 25;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 361;" f updateMagnets src/Dodge/Update.hs 361;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 204;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 204;" f
updateMouseContext src/Dodge/Update.hs 374;" f updateMouseContext src/Dodge/Update.hs 374;" f
@@ -5466,7 +5470,7 @@ updateTeslaArc src/Dodge/Update.hs 618;" f
updateTeslaArcs src/Dodge/Update.hs 615;" f updateTeslaArcs src/Dodge/Update.hs 615;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 687;" f updateTractorBeams src/Dodge/Update.hs 687;" f
updateTurret src/Dodge/Machine/Update.hs 56;" f updateTurret src/Dodge/Machine/Update.hs 55;" f
updateUniverse src/Dodge/Update.hs 82;" f updateUniverse src/Dodge/Update.hs 82;" f
updateUniverseFirst src/Dodge/Update.hs 93;" f updateUniverseFirst src/Dodge/Update.hs 93;" f
updateUniverseLast src/Dodge/Update.hs 144;" f updateUniverseLast src/Dodge/Update.hs 144;" f
@@ -5643,7 +5647,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 152;" f zChasm src/Dodge/Room/Tutorial.hs 167;" f
zConnect src/Dodge/Render/Connectors.hs 18;" f zConnect src/Dodge/Render/Connectors.hs 18;" f
zConnectCol src/Dodge/Render/Connectors.hs 29;" f zConnectCol src/Dodge/Render/Connectors.hs 29;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f