Door destruction happens during door update, updates pathing

This commit is contained in:
2025-10-22 22:47:10 +01:00
parent 151c037763
commit 0fd7ba46b5
9 changed files with 145 additions and 198 deletions
-36
View File
@@ -1,7 +1,6 @@
module Dodge.Block ( module Dodge.Block (
splinterBlock, splinterBlock,
destroyBlock, destroyBlock,
destroyDoor,
) where ) where
import Dodge.Zoning.Wall import Dodge.Zoning.Wall
@@ -13,10 +12,7 @@ import Data.Foldable
import qualified Data.IntSet as IS import qualified Data.IntSet as IS
import Data.Maybe import Data.Maybe
import Dodge.Block.Debris import Dodge.Block.Debris
import Dodge.Data.MountedObject
import Dodge.Data.World import Dodge.Data.World
import Dodge.DrWdWd
import Dodge.LightSource
import Dodge.Material.Sound import Dodge.Material.Sound
import Dodge.Wall.Delete import Dodge.Wall.Delete
import Dodge.Wall.Zone import Dodge.Wall.Zone
@@ -83,35 +79,3 @@ maybeClearPath w (i,j) = fromMaybe w $ do
---- w ---- w
---- & cWorld . pathGraph %~ FGL.insEdge (x, y, pe & peObstacles .~ mempty) . FGL.delEdge (x, y) ---- & cWorld . pathGraph %~ FGL.insEdge (x, y, pe & peObstacles .~ mempty) . FGL.delEdge (x, y)
destroyDoor :: Door -> World -> World
destroyDoor dr w =
w
& doDrWdWd (_drDeath dr) dr
& deleteWallIDs wlids
& cWorld . lWorld . doors %~ IM.delete (_drID dr)
-- & muchWlDustAt awl (0.5 * uncurry (+) (_drPos dr))
-- & flip (foldl' (flip $ muchWlDustAt awl)) (map (pos +.+) ps)
& stopPushing (_drPushes dr)
& destroyMounts (_drMounts dr)
where
wlids = _drWallIDs dr
--awl = _walls (_cWorld w) IM.! IS.findMin wlids
-- awl = w ^?! cWorld . lWorld . walls . ix (IS.findMin wlids)
-- pos = fst . _wlLine $ awl
-- ps = replicateM 25 (randInCirc 20) & evalState $ _randGen w
destroyMounts :: [MountedObject] -> World -> World
destroyMounts mos w = foldl' (flip destroyMount) w mos
destroyMount :: MountedObject -> World -> World
destroyMount mo = case mo of
MountedLS lsid -> destroyLS lsid
MountedProp prid -> cWorld . lWorld . props . at prid .~ Nothing
stopPushing :: Maybe Int -> World -> World
stopPushing mdrid w = fromMaybe w $ do
drid <- mdrid
dr <- w ^? cWorld . lWorld . doors . ix drid
return $
w & cWorld . lWorld . doors . ix drid . drMech .~ DrWdId
& stopPushing (_drPushes dr)
-1
View File
@@ -37,7 +37,6 @@ data Door = Door
, _drLerp :: Float , _drLerp :: Float
, _drFootPrint :: IM.IntMap (Point2,Point2) , _drFootPrint :: IM.IntMap (Point2,Point2)
, _drHP :: Int , _drHP :: Int
, _drDeath :: DrWdWd
, _drSpeed :: Float , _drSpeed :: Float
, _drPushedBy :: PushSource , _drPushedBy :: PushSource
, _drPushes :: Maybe Int , _drPushes :: Maybe Int
+1 -4
View File
@@ -60,10 +60,7 @@ data WdP2f
= WdP2f0 = WdP2f0
| WdP2fDoorPosition Int | WdP2fDoorPosition Int
data DrWdWd data DrWdWd = DrWdId | DoorLerp
= DrWdId
| DrWdMakeDoorDebris
| DoorLerp
deriveJSON defaultOptions ''ItCrWdWd deriveJSON defaultOptions ''ItCrWdWd
deriveJSON defaultOptions ''WdWd deriveJSON defaultOptions ''WdWd
-1
View File
@@ -42,7 +42,6 @@ defaultDoor =
, _drLerp = 0 , _drLerp = 0
, _drFootPrint = mempty , _drFootPrint = mempty
, _drHP = 10000 , _drHP = 10000
, _drDeath = DrWdMakeDoorDebris
, _drSpeed = 1 , _drSpeed = 1
, _drPushedBy = PushesItself , _drPushedBy = PushesItself
, _drPushes = Nothing , _drPushes = Nothing
+51 -40
View File
@@ -1,12 +1,15 @@
module Dodge.DrWdWd (doDrWdWd,doDrWdWd') where module Dodge.DrWdWd (updateDoor) where
import ListHelp import Dodge.LightSource
import Data.Foldable
import Dodge.Wall.Delete
import Dodge.Block.Debris
import qualified Data.IntMap.Strict as IM
import Dodge.Zoning.Pathing import Dodge.Zoning.Pathing
import Dodge.Zoning.Base import Dodge.Zoning.Base
import Geometry.Data import Geometry.Data
import Control.Lens import Control.Lens
import Data.Maybe import Data.Maybe
import Dodge.Block.Debris
import Dodge.Data.World import Dodge.Data.World
import Dodge.ShiftPoint import Dodge.ShiftPoint
import Dodge.SoundLogic import Dodge.SoundLogic
@@ -14,47 +17,19 @@ import Dodge.Wall.Move
import Dodge.WorldBool import Dodge.WorldBool
import qualified Data.Set as S import qualified Data.Set as S
doDrWdWd :: DrWdWd -> Door -> World -> World updateDoor :: Door -> World -> (S.Set Int2, World)
doDrWdWd dww = case dww of updateDoor dr w
DrWdId -> const id | dr ^. drHP < 1 = destroyDoor dr w
DrWdMakeDoorDebris -> makeDoorDebris | DoorLerp <- dr ^. drMech = doorLerp dr w
DoorLerp -> doorLerp | otherwise = (mempty,w)
doDrWdWd' :: Door -> World -> (S.Set Int2, World) doorLerp :: Door -> World -> (S.Set Int2,World)
doDrWdWd' dr w = case dr ^. drMech of doorLerp dr w = fromMaybe (mempty,w) $ do
DrWdId -> (mempty,w)
DrWdMakeDoorDebris -> (mempty, makeDoorDebris dr w)
DoorLerp -> doorLerp' dr w
doorLerp :: Door -> World -> World
doorLerp dr w = fromMaybe w $ do
x <- newlerp
return $
f x
& playSound x
& cWorld . lWorld . doors . ix drid . drLerp .~ x
where
f = ifoldl' (flip . moveWallID) w . wlposs
p2a = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos)
wlposs x = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x)
clerp = dr ^. drLerp
newlerp
| toOpen && clerp < 1 = Just . min 1 $ clerp + speed
| clerp > 0 && not toOpen = Just . max 0 $ clerp - speed
| otherwise = Nothing
toOpen = doWdBl (_drTrigger dr) w
speed = _drSpeed dr
drid = _drID dr
playSound x
| _drPushedBy dr == PushesItself =
soundContinue (WallSound drid) (fst $ p2a x) slideDoorS (Just 1)
| otherwise = id
doorLerp' :: Door -> World -> (S.Set Int2,World)
doorLerp' dr w = fromMaybe (mempty,w) $ do
x <- newlerp x <- newlerp
let ps = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x) let ps = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x)
is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps
-- it seems possible that this will miss some paths: we add zones for the
-- old footprint. Seems unlikely, but a possible cause of pathfinding bugs
return $ (is, return $ (is,
f x f x
& playSound x & playSound x
@@ -75,3 +50,39 @@ doorLerp' dr w = fromMaybe (mempty,w) $ do
| _drPushedBy dr == PushesItself = | _drPushedBy dr == PushesItself =
soundContinue (WallSound drid) (fst $ p2a x) slideDoorS (Just 1) soundContinue (WallSound drid) (fst $ p2a x) slideDoorS (Just 1)
| otherwise = id | otherwise = id
destroyDoor :: Door -> World -> (S.Set Int2, World)
destroyDoor dr w =
(is,w
& makeDoorDebris dr
& deleteWallIDs wlids
& cWorld . lWorld . doors %~ IM.delete (_drID dr)
-- & muchWlDustAt awl (0.5 * uncurry (+) (_drPos dr))
-- & flip (foldl' (flip $ muchWlDustAt awl)) (map (pos +.+) ps)
& stopPushing (_drPushes dr)
& destroyMounts (_drMounts dr))
where
p2a = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos) (dr ^. drLerp)
ps = (dr ^. drFootPrint) & each . each %~ shiftPointBy p2a
is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps
wlids = _drWallIDs dr
--awl = _walls (_cWorld w) IM.! IS.findMin wlids
-- awl = w ^?! cWorld . lWorld . walls . ix (IS.findMin wlids)
-- pos = fst . _wlLine $ awl
-- ps = replicateM 25 (randInCirc 20) & evalState $ _randGen w
destroyMounts :: [MountedObject] -> World -> World
destroyMounts mos w = foldl' (flip destroyMount) w mos
destroyMount :: MountedObject -> World -> World
destroyMount mo = case mo of
MountedLS lsid -> destroyLS lsid
MountedProp prid -> cWorld . lWorld . props . at prid .~ Nothing
stopPushing :: Maybe Int -> World -> World
stopPushing mdrid w = fromMaybe w $ do
drid <- mdrid
dr <- w ^? cWorld . lWorld . doors . ix drid
return $
w & cWorld . lWorld . doors . ix drid . drMech .~ DrWdId
& stopPushing (_drPushes dr)
+7 -7
View File
@@ -40,13 +40,13 @@ import Linear
getNodePos :: Int -> World -> Maybe Point2 getNodePos :: Int -> World -> Maybe Point2
getNodePos i w = w ^? cWorld . incNode . ix i getNodePos i w = w ^? cWorld . incNode . ix i
getEdgesCrossingPoly :: [Point2] -> World -> [(Int,Int)] --getEdgesCrossingPoly :: [Point2] -> World -> [(Int,Int)]
getEdgesCrossingPoly ps w = filter tcross $ zonesExtract (w ^. incEdgeZoning) --getEdgesCrossingPoly ps w = filter tcross $ zonesExtract (w ^. incEdgeZoning)
$ Set.toList $ foldMap (uncurry $ zoneOfSegSet peZoneSize) $ pairs -- $ Set.toList $ foldMap (uncurry $ zoneOfSegSet peZoneSize) $ pairs
where -- where
pairs = loopPairs ps -- pairs = loopPairs ps
tcross (i,j) = any (isJust . uncurry (intersectSegSeg (f i) (f j))) pairs -- tcross (i,j) = any (isJust . uncurry (intersectSegSeg (f i) (f j))) pairs
f i = w ^?! cWorld . incNode . ix i -- f i = w ^?! cWorld . incNode . ix i
getEdgesCrossing :: Point2 -> Point2 -> World -> [(Int,Int)] getEdgesCrossing :: Point2 -> Point2 -> World -> [(Int,Int)]
getEdgesCrossing s e w = filter inedgecrosses $ nearSeg peZoneSize _incEdgeZoning s e w getEdgesCrossing s e w = filter inedgecrosses $ nearSeg peZoneSize _incEdgeZoning s e w
+1 -17
View File
@@ -3,8 +3,6 @@
module Dodge.Update (updateUniverse) where module Dodge.Update (updateUniverse) where
import Dodge.Zoning.Pathing
import Dodge.Debug.Picture
import Dodge.Zoning.Base import Dodge.Zoning.Base
import Dodge.Path import Dodge.Path
import Data.Foldable import Data.Foldable
@@ -328,14 +326,8 @@ updateEdgeWallObs w (i,j) = fromMaybe w $ do
| otherwise = at DoorObstacle ?~ () | otherwise = at DoorObstacle ?~ ()
updateDoors :: World -> World updateDoors :: World -> World
updateDoors w = let (is,w') = foldrM doDrWdWd' w (w ^. cWorld . lWorld . doors) updateDoors w = let (is,w') = foldrM updateDoor w (w ^. cWorld . lWorld . doors)
in updateEdgesWall (zonesExtract (w ^. incEdgeZoning & each . each %~ S.fromList) is) w' in updateEdgesWall (zonesExtract (w ^. incEdgeZoning & each . each %~ S.fromList) is) w'
& cWorld . lWorld . flares <>~ foldMap (drawZoneCol green peZoneSize) is
--updateDoors w = uncurry updateEdgesWall .
-- over _1 (zonesExtract (w ^. incEdgeZoning & each . each %~ S.fromList)) $ foldrM doDrWdWd' w (w ^. cWorld . lWorld . doors)
updateDoor :: Door -> World -> World
updateDoor dr = doDrWdWd (_drMech dr) dr
updateMagnets :: LWorld -> LWorld updateMagnets :: LWorld -> LWorld
updateMagnets lw = updateMagnets lw =
@@ -561,14 +553,6 @@ updateIMl fim fup w = alaf Endo foldMap (dbArg fup) (fim w) w
updateIMl' :: (World -> IM.IntMap a) -> (a -> World -> World) -> World -> World updateIMl' :: (World -> IM.IntMap a) -> (a -> World -> World) -> World -> World
updateIMl' fim fup w = alaf Endo foldMap fup (fim w) w updateIMl' fim fup w = alaf Endo foldMap fup (fim w) w
updateAccum :: (Foldable f, Monoid m)
=> (World -> f a)
-> (a -> World -> (m, World))
-> World
-> (m, World)
updateAccum fim fup w = foldrM fup w (fim w)
--alaf Endo foldMap fup (fim w) w
updateCreatureGroups :: World -> World updateCreatureGroups :: World -> World
updateCreatureGroups w = updateCreatureGroups w =
w & cWorld . lWorld . creatureGroups w & cWorld . lWorld . creatureGroups
+5 -5
View File
@@ -20,7 +20,7 @@ damageWall dt wl w = case _wlStructure wl of
& maybeDestroyBlock blid & maybeDestroyBlock blid
DoorPart drid -> DoorPart drid ->
w' & cWorld . lWorld . doors . ix drid . drHP -~ x w' & cWorld . lWorld . doors . ix drid . drHP -~ x
& maybeDestroyDoor drid -- & maybeDestroyDoor drid
_ -> w' _ -> w'
where where
x = case dt of x = case dt of
@@ -34,7 +34,7 @@ maybeDestroyBlock blid w = case w ^? cWorld . lWorld . blocks . ix blid of
Just bl | _blHP bl < 1 -> destroyBlock bl w Just bl | _blHP bl < 1 -> destroyBlock bl w
_ -> w _ -> w
maybeDestroyDoor :: Int -> World -> World --maybeDestroyDoor :: Int -> World -> World
maybeDestroyDoor drid w = case w ^? cWorld . lWorld . doors . ix drid of --maybeDestroyDoor drid w = case w ^? cWorld . lWorld . doors . ix drid of
Just dr | _drHP dr < 1 -> destroyDoor dr w -- Just dr | _drHP dr < 1 -> destroyDoor dr w
_ -> w -- _ -> w
+80 -87
View File
@@ -350,13 +350,12 @@ DoReplicate src/Dodge/Data/ActionPlan.hs 106;" C
DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C
DockingBaySS src/Dodge/Data/Scenario.hs 92;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C
Door src/Dodge/Data/Door.hs 30;" t Door src/Dodge/Data/Door.hs 30;" t
DoorLerp src/Dodge/Data/WorldEffect.hs 66;" C DoorLerp src/Dodge/Data/WorldEffect.hs 63;" C
DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C
DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C
DoubleRes src/Dodge/Data/Config.hs 98;" C DoubleRes src/Dodge/Data/Config.hs 98;" C
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t
DrWdId src/Dodge/Data/WorldEffect.hs 64;" C DrWdId src/Dodge/Data/WorldEffect.hs 63;" C
DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 65;" C
DrWdWd src/Dodge/Data/WorldEffect.hs 63;" t DrWdWd src/Dodge/Data/WorldEffect.hs 63;" t
DrawForceField src/Dodge/Data/Wall.hs 45;" C DrawForceField src/Dodge/Data/Wall.hs 45;" C
DrawnWall src/Dodge/Data/Wall.hs 41;" C DrawnWall src/Dodge/Data/Wall.hs 41;" C
@@ -1755,18 +1754,17 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 113;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f
_doors src/Dodge/Data/LWorld.hs 118;" f _doors src/Dodge/Data/LWorld.hs 118;" f
_drDeath src/Dodge/Data/Door.hs 40;" f
_drFootPrint src/Dodge/Data/Door.hs 38;" f _drFootPrint src/Dodge/Data/Door.hs 38;" f
_drHP src/Dodge/Data/Door.hs 39;" f _drHP src/Dodge/Data/Door.hs 39;" f
_drID src/Dodge/Data/Door.hs 31;" f _drID src/Dodge/Data/Door.hs 31;" f
_drLerp src/Dodge/Data/Door.hs 37;" f _drLerp src/Dodge/Data/Door.hs 37;" f
_drMech src/Dodge/Data/Door.hs 34;" f _drMech src/Dodge/Data/Door.hs 34;" f
_drMounts src/Dodge/Data/Door.hs 44;" f _drMounts src/Dodge/Data/Door.hs 43;" f
_drObstacleType src/Dodge/Data/Door.hs 46;" f _drObstacleType src/Dodge/Data/Door.hs 45;" f
_drOnePos src/Dodge/Data/Door.hs 36;" f _drOnePos src/Dodge/Data/Door.hs 36;" f
_drPushedBy src/Dodge/Data/Door.hs 42;" f _drPushedBy src/Dodge/Data/Door.hs 41;" f
_drPushes src/Dodge/Data/Door.hs 43;" f _drPushes src/Dodge/Data/Door.hs 42;" f
_drSpeed src/Dodge/Data/Door.hs 41;" f _drSpeed src/Dodge/Data/Door.hs 40;" f
_drTrigger src/Dodge/Data/Door.hs 33;" f _drTrigger src/Dodge/Data/Door.hs 33;" f
_drWallIDs src/Dodge/Data/Door.hs 32;" f _drWallIDs src/Dodge/Data/Door.hs 32;" f
_drZeroPos src/Dodge/Data/Door.hs 35;" f _drZeroPos src/Dodge/Data/Door.hs 35;" f
@@ -2527,7 +2525,7 @@ addToTrunk src/TreeHelp.hs 157;" f
addWarningTerminal src/Dodge/Room/Warning.hs 61;" f addWarningTerminal src/Dodge/Room/Warning.hs 61;" f
addZ src/Geometry/Vector3D.hs 89;" f addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 81;" f adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 441;" f advanceScrollAmount src/Dodge/Update.hs 438;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 60;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 60;" f
aimDelaySweep src/Dodge/Render/Picture.hs 287;" f aimDelaySweep src/Dodge/Render/Picture.hs 287;" f
@@ -2780,13 +2778,13 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath src/Dodge/Creature/Update.hs 70;" f
checkDeath' src/Dodge/Creature/Update.hs 73;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f
checkEndGame src/Dodge/Update.hs 798;" f checkEndGame src/Dodge/Update.hs 787;" f
checkErrorGL src/Shader/Compile.hs 255;" f checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f checkGLError src/GLHelp.hs 17;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f
checkTermDist src/Dodge/Update.hs 340;" f checkTermDist src/Dodge/Update.hs 337;" f
checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f 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
@@ -2809,7 +2807,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f circleSolidCol src/Picture/Base.hs 168;" f
clAlt src/Dodge/Cloud.hs 5;" f clAlt src/Dodge/Cloud.hs 5;" f
clClSpringVel src/Dodge/Update.hs 871;" f clClSpringVel src/Dodge/Update.hs 860;" f
clColor src/Shader/Poke/Cloud.hs 35;" f clColor src/Shader/Poke/Cloud.hs 35;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 168;" f clampPath src/Dodge/Room/Procedural.hs 168;" f
@@ -2836,7 +2834,7 @@ closeObjectInfo src/Dodge/Render/HUD.hs 226;" f
closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f
closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f
closestPointOnSeg src/Geometry/Intersect.hs 303;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f
cloudEffect src/Dodge/Update.hs 823;" f cloudEffect src/Dodge/Update.hs 812;" f
cloudPoisonDamage src/Dodge/Update/Cloud.hs 11;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 11;" f
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f
clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
@@ -2915,7 +2913,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 85;" f
crBlips src/Dodge/RadarSweep.hs 88;" f crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 33;" f crCamouflage src/Dodge/Creature/Picture.hs 33;" f
crCanSeeCr src/Dodge/Creature/Test.hs 52;" f crCanSeeCr src/Dodge/Creature/Test.hs 52;" f
crCrSpring src/Dodge/Update.hs 900;" f crCrSpring src/Dodge/Update.hs 889;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
@@ -2946,7 +2944,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f
crSetRoots src/Dodge/Inventory/Location.hs 55;" f crSetRoots src/Dodge/Inventory/Location.hs 55;" f
crShape src/Dodge/Creature/Shape.hs 8;" f crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 897;" f crSpring src/Dodge/Update.hs 886;" f
crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f
crStrength src/Dodge/Creature/Statistics.hs 29;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f
crUpdate src/Dodge/Creature/Update.hs 63;" f crUpdate src/Dodge/Creature/Update.hs 63;" f
@@ -3089,9 +3087,9 @@ defaultConfig src/Dodge/Data/Config.hs 128;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCraftItem src/Dodge/Default/Item.hs 25;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 47;" f defaultCrystalWall src/Dodge/Default/Wall.hs 43;" f
defaultDirtBlock src/Dodge/Default/Block.hs 19;" f defaultDirtBlock src/Dodge/Default/Block.hs 19;" f
defaultDirtWall src/Dodge/Default/Wall.hs 68;" f defaultDirtWall src/Dodge/Default/Wall.hs 64;" f
defaultDoor src/Dodge/Default/Door.hs 29;" f defaultDoor src/Dodge/Default/Door.hs 29;" f
defaultDoorWall src/Dodge/Default/Wall.hs 39;" f defaultDoorWall src/Dodge/Default/Wall.hs 39;" f
defaultDrawButton src/Dodge/Button/Draw.hs 29;" f defaultDrawButton src/Dodge/Button/Draw.hs 29;" f
@@ -3107,17 +3105,17 @@ defaultInvSize src/Dodge/Default/Creature.hs 72;" f
defaultLWorld src/Dodge/Default/World.hs 100;" f defaultLWorld src/Dodge/Default/World.hs 100;" f
defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f
defaultMachine src/Dodge/Default.hs 30;" f defaultMachine src/Dodge/Default.hs 30;" f
defaultMachineWall src/Dodge/Default/Wall.hs 55;" f defaultMachineWall src/Dodge/Default/Wall.hs 51;" f
defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f
defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProp src/Dodge/Default/Prop.hs 6;" f
defaultProximitySensor src/Dodge/Default.hs 54;" f defaultProximitySensor src/Dodge/Default.hs 54;" f
defaultRoom src/Dodge/Default/Room.hs 9;" f defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultSensorWall src/Dodge/Default/Wall.hs 65;" f defaultSensorWall src/Dodge/Default/Wall.hs 61;" f
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
defaultTerminal src/Dodge/Default/Terminal.hs 10;" f defaultTerminal src/Dodge/Default/Terminal.hs 10;" f
defaultVision src/Dodge/Default/Creature.hs 85;" f defaultVision src/Dodge/Default/Creature.hs 85;" f
defaultWall src/Dodge/Default/Wall.hs 17;" f defaultWall src/Dodge/Default/Wall.hs 17;" f
defaultWindow src/Dodge/Default/Wall.hs 85;" f defaultWindow src/Dodge/Default/Wall.hs 81;" f
defaultWorld src/Dodge/Default/World.hs 31;" f defaultWorld src/Dodge/Default/World.hs 31;" f
degToRad src/Geometry/Vector.hs 118;" f degToRad src/Geometry/Vector.hs 118;" f
deleteIMInZone src/Dodge/Base.hs 70;" f deleteIMInZone src/Dodge/Base.hs 70;" f
@@ -3127,8 +3125,8 @@ deleteWallID src/Dodge/Wall/Delete.hs 13;" f
deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
denormalEdges src/Polyhedra.hs 136;" f denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 53;" f destroyAllInvItems src/Dodge/Inventory.hs 53;" f
destroyBlock src/Dodge/Block.hs 52;" f destroyBlock src/Dodge/Block.hs 51;" f
destroyDoor src/Dodge/Block.hs 86;" f destroyDoor src/Dodge/Block.hs 85;" 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
destroyLS src/Dodge/LightSource.hs 32;" f destroyLS src/Dodge/LightSource.hs 32;" f
@@ -3136,8 +3134,8 @@ destroyLSFlashAt src/Dodge/LightSource.hs 42;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f destroyMachine src/Dodge/Machine/Destroy.hs 13;" 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/Block.hs 106;" f destroyMount src/Dodge/Block.hs 105;" f
destroyMounts src/Dodge/Block.hs 103;" f destroyMounts src/Dodge/Block.hs 102;" f
destroyProjectile src/Dodge/Projectile/Update.hs 108;" f destroyProjectile src/Dodge/Projectile/Update.hs 108;" 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
@@ -3151,7 +3149,7 @@ difference src/Geometry.hs 127;" f
digitalLine src/Geometry.hs 285;" f digitalLine src/Geometry.hs 285;" f
digitalRect src/Geometry.hs 302;" f digitalRect src/Geometry.hs 302;" f
dim src/Color.hs 112;" f dim src/Color.hs 112;" f
dirtColor src/Dodge/Default/Wall.hs 81;" f dirtColor src/Dodge/Default/Wall.hs 77;" f
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
displayConfig src/Dodge/Menu.hs 230;" f displayConfig src/Dodge/Menu.hs 230;" f
@@ -3160,7 +3158,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 51;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f
displayTerminalLineString src/Dodge/Update.hs 505;" f displayTerminalLineString src/Dodge/Update.hs 502;" f
dist src/Geometry/Vector.hs 185;" f dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f divTo src/Geometry/Zone.hs 6;" f
@@ -3196,8 +3194,6 @@ doDebugTestF12 src/Dodge/Update/Input/DebugTest.hs 84;" f
doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f
doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDrWdWd src/Dodge/DrWdWd.hs 17;" f
doDrWdWd' src/Dodge/DrWdWd.hs 23;" f
doDrag src/Dodge/Update/Input/InGame.hs 127;" f doDrag src/Dodge/Update/Input/InGame.hs 127;" f
doDrawing src/Dodge/Render.hs 34;" f doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f doDrawing' src/Dodge/Render.hs 45;" f
@@ -3236,12 +3232,11 @@ doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f
doWdP2f src/Dodge/WdP2f.hs 10;" f doWdP2f src/Dodge/WdP2f.hs 10;" f
doWdWd src/Dodge/WorldEffect.hs 28;" f doWdWd src/Dodge/WorldEffect.hs 28;" f
doWorldEvents src/Dodge/Update.hs 450;" f doWorldEvents src/Dodge/Update.hs 447;" f
doWorldPos src/Dodge/WorldPos.hs 10;" f doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 14;" f door src/Dodge/Room/Door.hs 14;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f
doorLerp src/Dodge/DrWdWd.hs 29;" f doorLerp src/Dodge/DrWdWd.hs 20;" f
doorLerp' src/Dodge/DrWdWd.hs 53;" f
dotV src/Geometry/Vector.hs 76;" f dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f
@@ -3408,7 +3403,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f
dummyMenuOption src/Dodge/Menu/Option.hs 72;" f dummyMenuOption src/Dodge/Menu/Option.hs 72;" f
dustColor src/Shader/Poke/Cloud.hs 71;" f dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 882;" f dustSpringVel src/Dodge/Update.hs 871;" f
ebColor src/Dodge/EnergyBall.hs 77;" f ebColor src/Dodge/EnergyBall.hs 77;" f
ebDamage src/Dodge/EnergyBall.hs 85;" f ebDamage src/Dodge/EnergyBall.hs 85;" f
ebEffect src/Dodge/EnergyBall.hs 45;" f ebEffect src/Dodge/EnergyBall.hs 45;" f
@@ -3588,10 +3583,9 @@ 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 342;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 342;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 329;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 329;" f
getDebugMouseOver src/Dodge/Update.hs 398;" f getDebugMouseOver src/Dodge/Update.hs 395;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getEdgesCrossing src/Dodge/Path.hs 51;" f getEdgesCrossing src/Dodge/Path.hs 51;" f
getEdgesCrossingPoly src/Dodge/Path.hs 43;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f
@@ -3600,7 +3594,7 @@ getLaserDamage src/Dodge/HeldUse.hs 704;" f
getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
getLinksOfType src/Dodge/RoomLink.hs 41;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 410;" f getMenuMouseContext src/Dodge/Update.hs 407;" f
getNodePos src/Dodge/Path.hs 40;" f getNodePos src/Dodge/Path.hs 40;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
@@ -3834,7 +3828,7 @@ isNHS src/Geometry/Intersect.hs 53;" f
isNothing' src/MaybeHelp.hs 31;" f isNothing' src/MaybeHelp.hs 31;" f
isOnSeg src/Geometry.hs 237;" f isOnSeg src/Geometry.hs 237;" f
isOutLnk src/Dodge/PlacementSpot.hs 166;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f
isOverTerminalScreen src/Dodge/Update.hs 421;" f isOverTerminalScreen src/Dodge/Update.hs 418;" f
isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 32;" f isRHS src/Geometry/LHS.hs 32;" f
@@ -4116,8 +4110,8 @@ maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f
maxShowX src/Dodge/Combine/Graph.hs 48;" f maxShowX src/Dodge/Combine/Graph.hs 48;" 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
maybeClearPath src/Dodge/Block.hs 72;" f maybeClearPath src/Dodge/Block.hs 71;" f
maybeClearPaths src/Dodge/Block.hs 69;" f maybeClearPaths src/Dodge/Block.hs 68;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 37;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 37;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f
@@ -4235,7 +4229,7 @@ muzzleRandPos src/Dodge/HeldUse.hs 778;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 193;" f mvButton src/Dodge/Placement/PlaceSpot.hs 193;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 196;" f mvCr src/Dodge/Placement/PlaceSpot.hs 196;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 203;" f mvFS src/Dodge/Placement/PlaceSpot.hs 203;" f
mvGust src/Dodge/Update.hs 814;" f mvGust src/Dodge/Update.hs 803;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 275;" f mvLS src/Dodge/Placement/PlaceSpot.hs 275;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
@@ -4348,7 +4342,7 @@ pauseMenu src/Dodge/Menu.hs 59;" f
pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f pauseSound src/Dodge/SoundLogic.hs 42;" f
pauseTime src/Dodge/Update.hs 185;" f pauseTime src/Dodge/Update.hs 185;" f
pbFlicker src/Dodge/Update.hs 491;" f pbFlicker src/Dodge/Update.hs 488;" f
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 90;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 90;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f
@@ -4603,7 +4597,7 @@ randPeakedParam src/RandomHelp.hs 130;" f
randProb src/RandomHelp.hs 68;" f randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 69;" f 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 673;" f randWallReflect src/Dodge/Update.hs 662;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 60;" f randomCompass src/Dodge/Layout.hs 60;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f
@@ -4854,7 +4848,7 @@ setLinkType src/Dodge/RoomLink.hs 78;" f
setLinkTypePD src/Dodge/RoomLink.hs 85;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f
setMusicVolume src/Sound.hs 162;" f setMusicVolume src/Sound.hs 162;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f
setOldPos src/Dodge/Update.hs 524;" f setOldPos src/Dodge/Update.hs 521;" f
setOutLinks src/Dodge/RoomLink.hs 50;" f 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
@@ -4965,7 +4959,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 82;" f shuffleRoomPos src/Dodge/Layout.hs 82;" 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 891;" f simpleCrSprings src/Dodge/Update.hs 880;" f
simpleTermMessage src/Dodge/Terminal.hs 164;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
@@ -5035,7 +5029,7 @@ speedLegs src/Dodge/Item/Equipment.hs 90;" f
splashMenu src/Dodge/Menu.hs 33;" f splashMenu src/Dodge/Menu.hs 33;" f
splashMenuOptions src/Dodge/Menu.hs 38;" f splashMenuOptions src/Dodge/Menu.hs 38;" f
splashScreen src/Dodge/Initialisation.hs 10;" f splashScreen src/Dodge/Initialisation.hs 10;" f
splinterBlock src/Dodge/Block.hs 26;" f splinterBlock src/Dodge/Block.hs 25;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f splitLookupTrie src/SimpleTrie.hs 39;" f
@@ -5091,7 +5085,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stopAllSounds src/Sound.hs 125;" f stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 199;" f stopBulletAt src/Dodge/Bullet.hs 199;" f
stopPushing src/Dodge/Block.hs 111;" f stopPushing src/Dodge/Block.hs 110;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
@@ -5207,7 +5201,7 @@ titleOptionsMenu src/Dodge/Menu.hs 106;" f
titleOptionsNoWrite src/Dodge/Menu.hs 109;" f titleOptionsNoWrite src/Dodge/Menu.hs 109;" f
tlDoEffect src/Dodge/Terminal.hs 102;" f tlDoEffect src/Dodge/Terminal.hs 102;" f
tlSetStatus src/Dodge/Terminal.hs 99;" f tlSetStatus src/Dodge/Terminal.hs 99;" f
tmUpdate src/Dodge/Update.hs 508;" f tmUpdate src/Dodge/Update.hs 505;" f
toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
@@ -5336,14 +5330,13 @@ unpause src/Dodge/Menu.hs 212;" f
unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f
unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f
unsafeSwapKeys src/IntMapHelp.hs 75;" f unsafeSwapKeys src/IntMapHelp.hs 75;" f
unshadowBlock src/Dodge/Block.hs 39;" f unshadowBlock src/Dodge/Block.hs 38;" f
untilJust src/MonadHelp.hs 7;" f untilJust src/MonadHelp.hs 7;" f
untilJustCount src/MonadHelp.hs 14;" f untilJustCount src/MonadHelp.hs 14;" f
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f
updateAccum src/Dodge/Update.hs 559;" f
updateAimPos src/Dodge/Update.hs 309;" f updateAimPos src/Dodge/Update.hs 309;" f
updateAllNodes src/TreeHelp.hs 86;" f updateAllNodes src/TreeHelp.hs 86;" f
updateArc src/Dodge/Tesla.hs 44;" f updateArc src/Dodge/Tesla.hs 44;" f
@@ -5354,47 +5347,47 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f
updateBounds src/Dodge/Update/Camera.hs 258;" f updateBounds src/Dodge/Update/Camera.hs 258;" f
updateBulVel src/Dodge/Bullet.hs 57;" f updateBulVel src/Dodge/Bullet.hs 57;" f
updateBullet src/Dodge/Bullet.hs 22;" f updateBullet src/Dodge/Bullet.hs 22;" f
updateBullets src/Dodge/Update.hs 595;" f updateBullets src/Dodge/Update.hs 584;" f
updateCamera src/Dodge/Update/Camera.hs 30;" f updateCamera src/Dodge/Update/Camera.hs 30;" f
updateCloseObjects src/Dodge/Inventory.hs 115;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f
updateCloud src/Dodge/Update.hs 828;" f updateCloud src/Dodge/Update.hs 817;" f
updateClouds src/Dodge/Update.hs 699;" f updateClouds src/Dodge/Update.hs 688;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f
updateCreature src/Dodge/Creature/Update.hs 32;" f updateCreature src/Dodge/Creature/Update.hs 32;" f
updateCreature' src/Dodge/Creature/Update.hs 41;" f updateCreature' src/Dodge/Creature/Update.hs 41;" f
updateCreatureGroups src/Dodge/Update.hs 567;" f updateCreatureGroups src/Dodge/Update.hs 556;" f
updateCreatureSoundPositions src/Dodge/Update.hs 538;" f updateCreatureSoundPositions src/Dodge/Update.hs 535;" f
updateDebris src/Dodge/Update.hs 602;" f updateDebris src/Dodge/Update.hs 591;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 98;" f updateDebugMessageOffset src/Dodge/Update.hs 98;" f
updateDelayedEvents src/Dodge/Update.hs 920;" f updateDelayedEvents src/Dodge/Update.hs 909;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 588;" f updateDistortions src/Dodge/Update.hs 577;" f
updateDoor src/Dodge/Update.hs 332;" f updateDoor src/Dodge/DrWdWd.hs 15;" f
updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 74;" f updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 74;" f
updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 71;" f updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 71;" f
updateDoors src/Dodge/Update.hs 328;" f updateDoors src/Dodge/Update.hs 328;" f
updateDust src/Dodge/Update.hs 852;" f updateDust src/Dodge/Update.hs 841;" f
updateDusts src/Dodge/Update.hs 702;" f updateDusts src/Dodge/Update.hs 691;" f
updateEdge src/Dodge/Path.hs 57;" f updateEdge src/Dodge/Path.hs 57;" f
updateEdgeWallObs src/Dodge/Update.hs 317;" f updateEdgeWallObs src/Dodge/Update.hs 317;" f
updateEdgesWall src/Dodge/Update.hs 314;" f updateEdgesWall src/Dodge/Update.hs 314;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 690;" f updateEnergyBalls src/Dodge/Update.hs 679;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f
updateFlame src/Dodge/Flame.hs 19;" f updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 687;" f updateFlames src/Dodge/Update.hs 676;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f
updateGusts src/Dodge/Update.hs 811;" f updateGusts src/Dodge/Update.hs 800;" f
updateIMl src/Dodge/Update.hs 553;" f updateIMl src/Dodge/Update.hs 550;" f
updateIMl' src/Dodge/Update.hs 556;" f updateIMl' src/Dodge/Update.hs 553;" f
updateInGameCamera src/Dodge/Update/Camera.hs 79;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f
updateInt2Map src/Dodge/Zoning/Base.hs 98;" f updateInt2Map src/Dodge/Zoning/Base.hs 98;" f
@@ -5407,33 +5400,33 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 11;" f updateLaser src/Dodge/Laser/Update.hs 11;" f
updateLasers src/Dodge/Update.hs 457;" f updateLasers src/Dodge/Update.hs 454;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 441;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 441;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 335;" f updateMagnets src/Dodge/Update.hs 332;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f
updateMouseContext src/Dodge/Update.hs 348;" f updateMouseContext src/Dodge/Update.hs 345;" f
updateMouseContextGame src/Dodge/Update.hs 353;" f updateMouseContextGame src/Dodge/Update.hs 350;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 86;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 86;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 166;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 166;" f
updateObjCatMaybes src/Dodge/Update.hs 579;" f updateObjCatMaybes src/Dodge/Update.hs 568;" f
updateObjMapMaybe src/Dodge/Update.hs 572;" f updateObjMapMaybe src/Dodge/Update.hs 561;" f
updatePastWorlds src/Dodge/Update.hs 446;" f updatePastWorlds src/Dodge/Update.hs 443;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updateProjectile src/Dodge/Projectile/Update.hs 25;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f
updateProp src/Dodge/Prop/Update.hs 11;" f updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 146;" f updatePulse src/Dodge/Creature/Update.hs 146;" f
updatePulseBall src/Dodge/Update.hs 471;" f updatePulseBall src/Dodge/Update.hs 468;" f
updatePulseLaser src/Dodge/Update.hs 642;" f updatePulseLaser src/Dodge/Update.hs 631;" f
updatePulseLasers src/Dodge/Update.hs 466;" f updatePulseLasers src/Dodge/Update.hs 463;" f
updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f
updateRadarBlip src/Dodge/RadarBlip.hs 11;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f
updateRadarBlips src/Dodge/Update.hs 591;" f updateRadarBlips src/Dodge/Update.hs 580;" f
updateRadarSweep src/Dodge/RadarSweep.hs 40;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f
updateRadarSweeps src/Dodge/Update.hs 693;" f updateRadarSweeps src/Dodge/Update.hs 682;" f
updateRandNode src/TreeHelp.hs 109;" f updateRandNode src/TreeHelp.hs 109;" f
updateRenderSplit appDodge/Main.hs 112;" f updateRenderSplit appDodge/Main.hs 112;" f
updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f
@@ -5443,16 +5436,16 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 258;" f updateSection src/Dodge/DisplayInventory.hs 258;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f
updateShockwave src/Dodge/Shockwave/Update.hs 8;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f
updateShockwaves src/Dodge/Update.hs 684;" f updateShockwaves src/Dodge/Update.hs 673;" f
updateSingleNodes src/TreeHelp.hs 98;" f updateSingleNodes src/TreeHelp.hs 98;" f
updateSound src/Sound.hs 72;" f updateSound src/Sound.hs 72;" f
updateSounds src/Sound.hs 67;" f updateSounds src/Sound.hs 67;" f
updateSpark src/Dodge/Spark.hs 19;" f updateSpark src/Dodge/Spark.hs 19;" f
updateSparks src/Dodge/Update.hs 696;" f updateSparks src/Dodge/Update.hs 685;" f
updateTeslaArc src/Dodge/Update.hs 612;" f updateTeslaArc src/Dodge/Update.hs 601;" f
updateTeslaArcs src/Dodge/Update.hs 609;" f updateTeslaArcs src/Dodge/Update.hs 598;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 681;" f updateTractorBeams src/Dodge/Update.hs 670;" f
updateTurret src/Dodge/Machine/Update.hs 49;" f updateTurret src/Dodge/Machine/Update.hs 49;" f
updateUniverse src/Dodge/Update.hs 77;" f updateUniverse src/Dodge/Update.hs 77;" f
updateUniverseFirst src/Dodge/Update.hs 88;" f updateUniverseFirst src/Dodge/Update.hs 88;" f
@@ -5463,7 +5456,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f
updateWheelEvents src/Dodge/Update.hs 436;" f updateWheelEvents src/Dodge/Update.hs 433;" f
updateWorldEventFlag src/Dodge/Update.hs 123;" f updateWorldEventFlag src/Dodge/Update.hs 123;" f
updateWorldEventFlags src/Dodge/Update.hs 111;" f updateWorldEventFlags src/Dodge/Update.hs 111;" f
upperBody src/Dodge/Creature/Picture.hs 120;" f upperBody src/Dodge/Creature/Picture.hs 120;" f
@@ -5617,7 +5610,7 @@ xIntercepts src/Dodge/Zoning/Base.hs 66;" f
xV2 src/Geometry/Vector.hs 201;" f xV2 src/Geometry/Vector.hs 201;" f
xyV3 src/Geometry/Vector.hs 213;" f xyV3 src/Geometry/Vector.hs 213;" f
xyzV4 src/Geometry/Vector.hs 209;" f xyzV4 src/Geometry/Vector.hs 209;" f
yIntercepts' src/Dodge/Zoning/Base.hs 82;" f yIntercepts src/Dodge/Zoning/Base.hs 82;" f
yV2 src/Geometry/Vector.hs 205;" f yV2 src/Geometry/Vector.hs 205;" f
yellow src/Color.hs 17;" f yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 13;" f you src/Dodge/Base/You.hs 13;" f
@@ -5639,11 +5632,11 @@ zipArcs src/Dodge/Tesla.hs 52;" f
zipCount src/Dodge/Tree/Shift.hs 136;" f zipCount src/Dodge/Tree/Shift.hs 136;" f
zipCountDown src/Dodge/Room/Procedural.hs 121;" f zipCountDown src/Dodge/Room/Procedural.hs 121;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 498;" f zoneClouds src/Dodge/Update.hs 495;" f
zoneCreature src/Dodge/Zoning/Creature.hs 55;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f
zoneCreatures src/Dodge/Update.hs 534;" f zoneCreatures src/Dodge/Update.hs 531;" f
zoneDust src/Dodge/Zoning/Cloud.hs 48;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f
zoneDusts src/Dodge/Update.hs 502;" f zoneDusts src/Dodge/Update.hs 499;" f
zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f
zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f
zoneMonoid src/Dodge/Zoning/Base.hs 89;" f zoneMonoid src/Dodge/Zoning/Base.hs 89;" f