Cleanup, redo damage direction

This commit is contained in:
2025-06-08 20:40:58 +01:00
parent 5b1e4fba4e
commit 70c78824f3
12 changed files with 105 additions and 147 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ updateExpBarrel cr w
pierceSparks :: [World -> World] pierceSparks :: [World -> World]
pierceSparks = pierceSparks =
zipWith zipWith
(\p a -> createBarrelSpark (_crPos cr +.+ p) (a + argV p)) (\p a -> sparkRandDir 0.1 (_crPos cr +.+ p) (a + argV p))
poss poss
as as
as = randomRs (-0.7, 0.7) g as = randomRs (-0.7, 0.7) g
+1 -1
View File
@@ -114,7 +114,7 @@ useBulletPayload bu = case _buPayload bu of
BulFlak -> makeFlak bu BulFlak -> makeFlak bu
BulFrag -> makeFragBullets BulFrag -> makeFragBullets
BulGas -> (`makeGasCloud` V2 0 0) BulGas -> (`makeGasCloud` V2 0 0)
BulBall FlamingBall -> incBallAt -- BulBall FlamingBall -> incBallAt
BulBall ExplosiveBall -> \p -> cWorld . lWorld . shockwaves .:~ concBall p BulBall ExplosiveBall -> \p -> cWorld . lWorld . shockwaves .:~ concBall p
BulBall ElectricalBall -> makeStaticBall BulBall ElectricalBall -> makeStaticBall
BulBall FlashBall -> makeFlashBall BulBall FlashBall -> makeFlashBall
+1 -2
View File
@@ -281,8 +281,7 @@ inventoryX c = case c of
, megaTinMag 10200 , megaTinMag 10200
] <> ] <>
-- [bulletTargetingModule btt | btt <- [minBound .. maxBound]] -- [bulletTargetingModule btt | btt <- [minBound .. maxBound]]
[bulletModule (BulletModPayload (BulBall x)) | x <- [ FlamingBall [bulletModule (BulletModPayload (BulBall x)) | x <- [ FlameletBall 5 0
, FlameletBall 5 0
, ElectricalBall , ElectricalBall
, ExplosiveBall , ExplosiveBall
, FlashBall ]] , FlashBall ]]
+2 -6
View File
@@ -45,18 +45,14 @@ defaultApplyDamage ds cr w =
--p = _dmAt dm --p = _dmAt dm
applyIndividualDamage :: Creature -> World -> Damage -> World applyIndividualDamage :: Creature -> World -> Damage -> World
--applyIndividualDamage cr w dm = applyDamageEffect dm (_dmEffect dm) cr $ applyIndividualDamage' cr w dm applyIndividualDamage cr w dm = case dm of
applyIndividualDamage cr w dm = applyIndividualDamage' cr w dm
applyIndividualDamage' :: Creature -> World -> Damage -> World
applyIndividualDamage' cr w dm = case dm of
Piercing{} -> applyPiercingDamage cr dm w Piercing{} -> applyPiercingDamage cr dm w
_ -> w & damageHP cr (_dmAmount dm) _ -> w & damageHP cr (_dmAmount dm)
applyPiercingDamage :: Creature -> Damage -> World -> World applyPiercingDamage :: Creature -> Damage -> World -> World
applyPiercingDamage cr dm applyPiercingDamage cr dm
| crIsArmouredFrom p cr = f . makeSpark NormalSpark p1 (argV (p1 -.- p)) | crIsArmouredFrom p cr = f . makeSpark NormalSpark p1 (argV (p1 -.- p))
| otherwise = f . (damageHP cr $ _dmAmount dm) | otherwise = f . damageHP cr (_dmAmount dm)
where where
f = cWorld . lWorld . creatures . ix (_crID cr) . crPos -~ _dmVector dm f = cWorld . lWorld . creatures . ix (_crID cr) . crPos -~ _dmVector dm
/ V2 x x / V2 x x
+12 -13
View File
@@ -1,18 +1,18 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Damage
( damageCrWl module Dodge.Damage (
, damageDirection damageCrWl,
, damageCrWlID damageDirection,
, maxDamageType damageCrWlID,
maxDamageType,
) where ) where
--import qualified Data.Map.Strict as M import Geometry.Vector
import ListHelp
import Dodge.Data.CrWlID import Dodge.Data.CrWlID
import Dodge.Data.World import Dodge.Data.World
--import FoldableHelp
--import Geometry.Vector
import LensHelp
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp
damageCrWlID :: Damage -> CrWlID -> World -> World damageCrWlID :: Damage -> CrWlID -> World -> World
damageCrWlID dam = \case damageCrWlID dam = \case
@@ -24,11 +24,9 @@ damageCrWl :: Damage -> Either Creature Wall -> World -> World
damageCrWl dt (Left cr) = cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .:~ dt damageCrWl dt (Left cr) = cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .:~ dt
damageCrWl dt (Right wl) = cWorld . lWorld . wallDamages %~ IM.insertWith (++) (_wlID wl) [dt] damageCrWl dt (Right wl) = cWorld . lWorld . wallDamages %~ IM.insertWith (++) (_wlID wl) [dt]
-- could sort for damage amount as well
damageDirection :: [Damage] -> Maybe Float damageDirection :: [Damage] -> Maybe Float
damageDirection _ = Nothing damageDirection ds = safeArgV =<< safeHead (ds ^.. each . dmVector)
--damageDirection ds = do
-- dm <- safeMinimumOn (negate . _dmAmount) ds
-- safeArgV (_dmTo dm -.- _dmFrom dm)
--collectDamageTypes :: [Damage] -> M.Map DamageType Int --collectDamageTypes :: [Damage] -> M.Map DamageType Int
--collectDamageTypes = foldl' (flip f) M.empty --collectDamageTypes = foldl' (flip f) M.empty
@@ -37,4 +35,5 @@ damageDirection _ = Nothing
-- --
maxDamageType :: [Damage] -> Maybe (Damage, Int) maxDamageType :: [Damage] -> Maybe (Damage, Int)
maxDamageType _ = Nothing maxDamageType _ = Nothing
--maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes --maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
-1
View File
@@ -1,5 +1,4 @@
{-# LANGUAGE StrictData #-} {-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.AimStance where module Dodge.Data.AimStance where
+1 -2
View File
@@ -10,8 +10,7 @@ import Data.Aeson
import Data.Aeson.TH import Data.Aeson.TH
data EnergyBallType data EnergyBallType
= FlamingBall = FlameletBall {_fbSize :: Float, _fbRot :: Float}
| FlameletBall {_fbSize :: Float, _fbRot :: Float}
| ElectricalBall | ElectricalBall
| ExplosiveBall | ExplosiveBall
| FlashBall | FlashBall
+18 -38
View File
@@ -18,17 +18,7 @@ import LensHelp
import Picture import Picture
import RandomHelp import RandomHelp
makeFlamelet :: makeFlamelet :: Point2 -> Point2 -> Float -> Int -> World -> World
-- | Position
Point2 ->
-- | Velocity
Point2 ->
-- | Size
Float ->
-- | Timer
Int ->
World ->
World
makeFlamelet p v s t w = makeFlamelet p v s t w =
w w
& randGen .~ g & randGen .~ g
@@ -53,35 +43,31 @@ updateEnergyBall w eb
p = eb ^. ebPos + eb ^. ebVel p = eb ^. ebPos + eb ^. ebVel
(bp, bv) = fromMaybe (p, eb ^. ebVel) $ bouncePoint (const True) 0 (eb ^. ebPos) p w (bp, bv) = fromMaybe (p, eb ^. ebVel) $ bouncePoint (const True) 0 (eb ^. ebPos) p w
incBallAt :: Point2 -> World -> World energyBallAt :: EnergyBallType -> Point2 -> World -> World
incBallAt p = cWorld . lWorld . energyBalls energyBallAt ebt p =
.:~ EnergyBall
{ _ebVel = 0
, _ebPos = p
, _ebTimer = 20
, _ebEff = FlamingBall
}
makeFlashBall :: Point2 -> World -> World
makeFlashBall p =
cWorld . lWorld . energyBalls cWorld . lWorld . energyBalls
.:~ EnergyBall .:~ EnergyBall
{ _ebVel = 0 { _ebVel = 0
, _ebPos = p , _ebPos = p
, _ebTimer = 20 , _ebTimer = 20
, _ebEff = FlashBall , _ebEff = ebt
} }
incBallAt :: Point2 -> World -> World
incBallAt = energyBallAt (FlameletBall 5 0)
makeFlashBall :: Point2 -> World -> World
makeFlashBall = energyBallAt FlashBall
ebFlicker :: EnergyBall -> World -> World ebFlicker :: EnergyBall -> World -> World
ebFlicker pt ebFlicker pt
| _ebTimer pt `mod` 7 == 0 = | _ebTimer pt `mod` 7 == 0 =
cWorld . lWorld . lights cWorld . lWorld . lights
.:~ LSParam (addZ 20 $ _ebPos pt) 70 (0.5 *.*.* xyzV4 (ebColor pt)) .:~ LSParam (addZ 20 $ _ebPos pt) 70 (0.5 * xyzV4 (ebColor pt))
| otherwise = id | otherwise = id
ebColor :: EnergyBall -> Color ebColor :: EnergyBall -> Color
ebColor eb = case eb ^. ebEff of ebColor eb = case eb ^. ebEff of
FlamingBall -> red
FlameletBall{} -> red FlameletBall{} -> red
ElectricalBall -> cyan ElectricalBall -> cyan
ExplosiveBall -> yellow ExplosiveBall -> yellow
@@ -93,28 +79,22 @@ damageCircle sp dt w =
& cWorld . lWorld . wallDamages %~ addwalldamages & cWorld . lWorld . wallDamages %~ addwalldamages
& cWorld . lWorld . creatures %~ addcreaturedamages & cWorld . lWorld . creatures %~ addcreaturedamages
where where
r = 5 addwalldamages wlds = foldl' (damageWlCircle dam) wlds wlstodam
addwalldamages wlds = foldl' (damageWlCircle wldam) wlds wlstodam addcreaturedamages crs = foldl' (damageCrCircle dam) crs crstodam
wlstodam = wlsHitRadial sp r w wlstodam = wlsHitRadial sp r w
wldam p = ebtToDamage p dt
addcreaturedamages crs = foldl' (damageCrCircle crdam) crs crstodam
crdam = ebtToDamage sp dt
crstodam = crsHitRadial sp r w crstodam = crsHitRadial sp r w
r = fromMaybe 5 $ dt ^? fbSize
dam = ebtToDamage sp dt
ebtToDamage :: Point2 -> EnergyBallType -> Damage ebtToDamage :: Point2 -> EnergyBallType -> Damage
ebtToDamage p = \case ebtToDamage p = \case
FlamingBall -> Flaming 10
FlameletBall{} -> Flaming 1 FlameletBall{} -> Flaming 1
ElectricalBall -> Electrical 10 ElectricalBall -> Electrical 10
ExplosiveBall -> Explosive 10 p ExplosiveBall -> Explosive 10 p
FlashBall -> Flashing 10 p FlashBall -> Flashing 10 p
damageWlCircle :: damageWlCircle :: Damage -> IM.IntMap [Damage] -> (Point2, Wall) -> IM.IntMap [Damage]
(Point2 -> Damage) -> damageWlCircle dam wls (_, wl) = wls & at (_wlID wl) . non mempty .:~ dam
IM.IntMap [Damage] ->
(Point2, Wall) ->
IM.IntMap [Damage]
damageWlCircle f wldams (p, wl) = IM.insertWith (++) (_wlID wl) [f p] wldams
damageCrCircle :: Damage -> IM.IntMap Creature -> (Point2, Creature) -> IM.IntMap Creature damageCrCircle :: Damage -> IM.IntMap Creature -> (Point2, Creature) -> IM.IntMap Creature
damageCrCircle crdam crs (_, cr) = crs & ix (_crID cr) . crState . csDamage .:~ crdam damageCrCircle dam crs (_, cr) = crs & ix (_crID cr) . crState . csDamage .:~ dam
+3 -8
View File
@@ -8,7 +8,6 @@ import Picture
drawEnergyBall :: EnergyBall -> Picture drawEnergyBall :: EnergyBall -> Picture
drawEnergyBall eb = case _ebEff eb of drawEnergyBall eb = case _ebEff eb of
FlamingBall -> drawFlamelet 5 0 eb
FlameletBall x a -> drawFlamelet x a eb FlameletBall x a -> drawFlamelet x a eb
ElectricalBall -> drawStaticBall eb ElectricalBall -> drawStaticBall eb
ExplosiveBall -> mempty ExplosiveBall -> mempty
@@ -33,16 +32,12 @@ drawFlamelet size rot pt =
] ]
where where
z = 20 z = 20
-- z = _ebZ pt
sp = _ebPos pt sp = _ebPos pt
vel = _ebVel pt
ep = sp +.+ vel
--size = _ebWidth pt
siz2 = size + 0.2 siz2 = size + 0.2
time = _ebTimer pt time = _ebTimer pt
piu = piu =
setDepth (z + 25) setDepth (z + 25)
. uncurryV translate ep . uncurryV translate sp
. color . color
( mixColors ( mixColors
(fromIntegral (max 0 (time -2))) (fromIntegral (max 0 (time -2)))
@@ -58,7 +53,7 @@ drawFlamelet size rot pt =
$ reverse (rectNSWE siz2 (- siz2) (- siz2) siz2) $ reverse (rectNSWE siz2 (- siz2) (- siz2) siz2)
pi2 = pi2 =
setDepth (z + 25) setDepth (z + 25)
. uncurryV translate ep . uncurryV translate sp
. color . color
( mixColors ( mixColors
(fromIntegral (max 0 (time -2))) (fromIntegral (max 0 (time -2)))
@@ -75,7 +70,7 @@ drawFlamelet size rot pt =
$ rectNSWE siz2 (- siz2) (- siz2) siz2 $ rectNSWE siz2 (- siz2) (- siz2) siz2
pic = pic =
setDepth (z + 20) setDepth (z + 20)
. uncurryV translate ep . uncurryV translate sp
. color . color
( mixColors ( mixColors
(fromIntegral (max 0 (time -2))) (fromIntegral (max 0 (time -2)))
+8 -25
View File
@@ -1,21 +1,19 @@
module Dodge.Spark ( module Dodge.Spark (
updateSpark, updateSpark,
sparkRandDir, sparkRandDir,
createBarrelSpark,
randDirSpark, randDirSpark,
randSpark, randSpark,
makeSpark, makeSpark,
) where ) where
import Dodge.Damage
import Control.Monad.State import Control.Monad.State
import Dodge.Damage
import Dodge.Data.World import Dodge.Data.World
import Dodge.WorldEvent.ThingsHit import Dodge.WorldEvent.ThingsHit
import Geometry import Geometry
import LensHelp import LensHelp
import System.Random import System.Random
updateSpark :: World -> Spark -> (World, Maybe Spark) updateSpark :: World -> Spark -> (World, Maybe Spark)
updateSpark w sk updateSpark w sk
| magV (_skVel sk) < 1 = (w, Nothing) | magV (_skVel sk) < 1 = (w, Nothing)
@@ -29,12 +27,8 @@ updateSpark w sk
sp = _skPos sk sp = _skPos sk
ep = sp + _skVel sk ep = sp + _skVel sk
sparkDam :: sparkDam :: Spark -> Either Creature Wall -> World -> World
Spark -> sparkDam sk = damageCrWl (sparkToDamage sk)
Either Creature Wall ->
World ->
World
sparkDam sk x = damageCrWl (sparkToDamage sk) x
sparkToDamage :: Spark -> Damage sparkToDamage :: Spark -> Damage
sparkToDamage sp = case _skType sp of sparkToDamage sp = case _skType sp of
@@ -42,11 +36,9 @@ sparkToDamage sp = case _skType sp of
FireSpark -> Flaming 1 FireSpark -> Flaming 1
NormalSpark -> Sparking 10 NormalSpark -> Sparking 10
createBarrelSpark :: Point2 -> Float -> World -> World
createBarrelSpark pos dir = sparkRandDir 0.1 pos dir
makeSpark :: SparkType -> Point2 -> Float -> World -> World makeSpark :: SparkType -> Point2 -> Float -> World -> World
makeSpark st p d = cWorld . lWorld . sparks makeSpark st p d =
cWorld . lWorld . sparks
.:~ Spark .:~ Spark
{ _skVel = rotateV d (V2 5 0) { _skVel = rotateV d (V2 5 0)
, _skPos = p , _skPos = p
@@ -54,11 +46,7 @@ makeSpark st p d = cWorld . lWorld . sparks
, _skType = st , _skType = st
} }
randDirSpark :: randDirSpark :: State StdGen Float -> Point2 -> World -> World
State StdGen Float ->
Point2 ->
World ->
World
randDirSpark randdir pos w = randDirSpark randdir pos w =
w w
& randGen .~ g & randGen .~ g
@@ -70,9 +58,7 @@ randDirSpark randdir pos w =
, _skType = NormalSpark , _skType = NormalSpark
} }
where where
(dir, g) = (`runState` _randGen w) $ do (dir, g) = randdir `runState` _randGen w
d <- randdir
return d
randSpark :: randSpark ::
SparkType -> SparkType ->
@@ -98,7 +84,4 @@ randSpark dt randspeed randdir pos w =
return (d, x) return (d, x)
sparkRandDir :: Float -> Point2 -> Float -> World -> World sparkRandDir :: Float -> Point2 -> Float -> World -> World
sparkRandDir a pos dir = sparkRandDir a pos dir = randDirSpark (state $ randomR (dir - a, dir + a)) pos
randDirSpark
(state $ randomR (dir - a, dir + a))
pos
+6
View File
@@ -11,6 +11,7 @@ module Dodge.Zoning.Base
, zonesAroundPoint , zonesAroundPoint
, xIntercepts , xIntercepts
, yIntercepts' , yIntercepts'
, updateInt2Map
) where ) where
import Control.Lens import Control.Lens
@@ -78,6 +79,7 @@ yIntercepts' s sp ep = map f $ xIntercepts s (f sp) (f ep)
where where
f (V2 x y) = V2 y x f (V2 x y) = V2 y x
-- consider using: at x . non mempty . at y . non mempty <>~ a
zoneMonoid :: Semigroup m => Int2 -> m -> IM.IntMap (IM.IntMap m) -> IM.IntMap (IM.IntMap m) zoneMonoid :: Semigroup m => Int2 -> m -> IM.IntMap (IM.IntMap m) -> IM.IntMap (IM.IntMap m)
{-# INLINE zoneMonoid #-} {-# INLINE zoneMonoid #-}
zoneMonoid (V2 !x !y) a = IM.insertWith f x $! IM.singleton y a zoneMonoid (V2 !x !y) a = IM.insertWith f x $! IM.singleton y a
@@ -87,6 +89,10 @@ zoneMonoid (V2 !x !y) a = IM.insertWith f x $! IM.singleton y a
deZoneIX :: Int -> IM.IntMap (IM.IntMap IS.IntSet) -> Int2 -> IM.IntMap (IM.IntMap IS.IntSet) deZoneIX :: Int -> IM.IntMap (IM.IntMap IS.IntSet) -> Int2 -> IM.IntMap (IM.IntMap IS.IntSet)
deZoneIX i im (V2 x y) = im & ix x . ix y %~ IS.delete i deZoneIX i im (V2 x y) = im & ix x . ix y %~ IS.delete i
updateInt2Map :: (Eq a,Monoid a) =>
(a -> a) -> Int2 -> IM.IntMap (IM.IntMap a) -> IM.IntMap (IM.IntMap a)
updateInt2Map f (V2 x y) = at x . non mempty . at y . non mempty %~ f
zonesAroundPoint :: Float -> Point2 -> [Int2] zonesAroundPoint :: Float -> Point2 -> [Int2]
zonesAroundPoint s p = [V2 a b | a <- [x -1 .. x + 1], b <- [y -1 .. y + 1]] zonesAroundPoint s p = [V2 a b | a <- [x -1 .. x + 1], b <- [y -1 .. y + 1]]
where where
+41 -39
View File
@@ -629,8 +629,8 @@ Enable_debug src/Dodge/Data/Config.hs 68;" C
EncircleFlock src/Dodge/Data/Creature/State.hs 30;" C EncircleFlock src/Dodge/Data/Creature/State.hs 30;" C
EnergyBall src/Dodge/Data/EnergyBall.hs 17;" t EnergyBall src/Dodge/Data/EnergyBall.hs 17;" t
EnergyBall src/Dodge/Data/EnergyBall.hs 6;" m EnergyBall src/Dodge/Data/EnergyBall.hs 6;" m
EnergyBall src/Dodge/EnergyBall.hs 2;" m EnergyBall src/Dodge/EnergyBall.hs 3;" m
EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 11;" t EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 12;" t
EnergyGeneratorSS src/Dodge/Data/Scenario.hs 109;" C EnergyGeneratorSS src/Dodge/Data/Scenario.hs 109;" C
EngineSS src/Dodge/Data/Scenario.hs 88;" C EngineSS src/Dodge/Data/Scenario.hs 88;" C
Enterrement src/Dodge/Data/Damage.hs 31;" C Enterrement src/Dodge/Data/Damage.hs 31;" C
@@ -699,7 +699,6 @@ FlameletBall src/Dodge/Data/EnergyBall/Type.hs 13;" C
Flamer src/Dodge/Data/SoundOrigin.hs 25;" C Flamer src/Dodge/Data/SoundOrigin.hs 25;" C
FlamerSmokeCloud src/Dodge/Data/Cloud.hs 31;" C FlamerSmokeCloud src/Dodge/Data/Cloud.hs 31;" C
Flaming src/Dodge/Data/Damage.hs 25;" C Flaming src/Dodge/Data/Damage.hs 25;" C
FlamingBall src/Dodge/Data/EnergyBall/Type.hs 12;" C
Flank src/Dodge/Data/ActionPlan.hs 177;" C Flank src/Dodge/Data/ActionPlan.hs 177;" C
FlareType src/Dodge/Data/Muzzle.hs 21;" t FlareType src/Dodge/Data/Muzzle.hs 21;" t
FlashBall src/Dodge/Data/EnergyBall/Type.hs 16;" C FlashBall src/Dodge/Data/EnergyBall/Type.hs 16;" C
@@ -2551,7 +2550,6 @@ _dtRight src/Dodge/Data/DoubleTree.hs 30;" f
_dtValue src/Dodge/Data/DoubleTree.hs 30;" f _dtValue src/Dodge/Data/DoubleTree.hs 30;" f
_ebEff src/Dodge/Data/EnergyBall.hs 21;" f _ebEff src/Dodge/Data/EnergyBall.hs 21;" f
_ebPos src/Dodge/Data/EnergyBall.hs 19;" f _ebPos src/Dodge/Data/EnergyBall.hs 19;" f
_ebRot src/Dodge/Data/EnergyBall.hs 22;" f
_ebTimer src/Dodge/Data/EnergyBall.hs 20;" f _ebTimer src/Dodge/Data/EnergyBall.hs 20;" f
_ebVel src/Dodge/Data/EnergyBall.hs 18;" f _ebVel src/Dodge/Data/EnergyBall.hs 18;" f
_eboName src/Shader/Data.hs 89;" f _eboName src/Shader/Data.hs 89;" f
@@ -2559,6 +2557,8 @@ _eboPtr src/Shader/Data.hs 90;" f
_eeUse src/Dodge/Data/Item/Use/Equipment.hs 17;" f _eeUse src/Dodge/Data/Item/Use/Equipment.hs 17;" f
_emoMenuOption src/Dodge/Data/Universe.hs 77;" f _emoMenuOption src/Dodge/Data/Universe.hs 77;" f
_energyBalls src/Dodge/Data/LWorld.hs 109;" f _energyBalls src/Dodge/Data/LWorld.hs 109;" f
_fbRot src/Dodge/Data/EnergyBall/Type.hs 13;" f
_fbSize src/Dodge/Data/EnergyBall/Type.hs 13;" f
_fbo2 src/Data/Preload/Render.hs 29;" f _fbo2 src/Data/Preload/Render.hs 29;" f
_fbo3 src/Data/Preload/Render.hs 30;" f _fbo3 src/Data/Preload/Render.hs 30;" f
_fboBase src/Data/Preload/Render.hs 33;" f _fboBase src/Data/Preload/Render.hs 33;" f
@@ -3779,7 +3779,7 @@ craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f
createArc src/Dodge/Tesla/Arc.hs 81;" f createArc src/Dodge/Tesla/Arc.hs 81;" f
createBarrelSpark src/Dodge/Spark.hs 45;" f createBarrelSpark src/Dodge/Spark.hs 40;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" 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
@@ -3843,10 +3843,10 @@ damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
damToExpBarrel src/Dodge/Barreloid.hs 56;" f damToExpBarrel src/Dodge/Barreloid.hs 56;" f
damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f
damageCircle src/Dodge/DamageCircle.hs 12;" f damageCircle src/Dodge/DamageCircle.hs 12;" f
damageCircle src/Dodge/EnergyBall.hs 106;" f damageCircle src/Dodge/EnergyBall.hs 76;" f
damageCodeCommand src/Dodge/Terminal.hs 232;" f damageCodeCommand src/Dodge/Terminal.hs 232;" f
damageCrCircle src/Dodge/DamageCircle.hs 33;" f damageCrCircle src/Dodge/DamageCircle.hs 33;" f
damageCrCircle src/Dodge/EnergyBall.hs 135;" f damageCrCircle src/Dodge/EnergyBall.hs 99;" f
damageCrWl src/Dodge/Damage.hs 23;" f damageCrWl src/Dodge/Damage.hs 23;" f
damageCrWlID src/Dodge/Damage.hs 17;" f damageCrWlID src/Dodge/Damage.hs 17;" f
damageDirection src/Dodge/Damage.hs 27;" f damageDirection src/Dodge/Damage.hs 27;" f
@@ -3859,7 +3859,7 @@ damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f
damageWall src/Dodge/Wall/Damage.hs 15;" f damageWall src/Dodge/Wall/Damage.hs 15;" f
damageWallEffect src/Dodge/Wall/DamageEffect.hs 12;" f damageWallEffect src/Dodge/Wall/DamageEffect.hs 12;" f
damageWlCircle src/Dodge/DamageCircle.hs 26;" f damageWlCircle src/Dodge/DamageCircle.hs 26;" f
damageWlCircle src/Dodge/EnergyBall.hs 128;" f damageWlCircle src/Dodge/EnergyBall.hs 96;" f
dampField src/Dodge/Magnet.hs 8;" f dampField src/Dodge/Magnet.hs 8;" f
damsToExpBarrel src/Dodge/Barreloid.hs 49;" f damsToExpBarrel src/Dodge/Barreloid.hs 49;" f
dark src/Color.hs 108;" f dark src/Color.hs 108;" f
@@ -3867,7 +3867,7 @@ darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 287;" f dbwMuzzles src/Dodge/HeldUse.hs 287;" f
deZoneIX src/Dodge/Zoning/Base.hs 87;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f deadEndRoom src/Dodge/Room/Room.hs 235;" f
deadFeet src/Dodge/Creature/Picture.hs 73;" f deadFeet src/Dodge/Creature/Picture.hs 73;" f
@@ -4154,7 +4154,7 @@ drawEquipment src/Dodge/Creature/Picture.hs 144;" f
drawExamineInventory src/Dodge/Render/HUD.hs 196;" f drawExamineInventory src/Dodge/Render/HUD.hs 196;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 264;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 264;" f
drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 27;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 26;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 255;" f drawGapPlus src/Dodge/Render/Picture.hs 255;" f
@@ -4215,7 +4215,7 @@ drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShell src/Dodge/Projectile/Draw.hs 22;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 17;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 16;" f
drawSubInventory src/Dodge/Render/HUD.hs 161;" f drawSubInventory src/Dodge/Render/HUD.hs 161;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
@@ -4257,9 +4257,9 @@ dtToLRAdjEither src/Dodge/DoubleTree.hs 114;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
ebColor src/Dodge/EnergyBall.hs 98;" f ebColor src/Dodge/EnergyBall.hs 69;" f
ebFlicker src/Dodge/EnergyBall.hs 91;" f ebFlicker src/Dodge/EnergyBall.hs 62;" f
ebtToDamage src/Dodge/EnergyBall.hs 120;" f ebtToDamage src/Dodge/EnergyBall.hs 89;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 431;" f edgeToPic src/Dodge/Debug/Picture.hs 431;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnEquip src/Dodge/Equipment.hs 32;" f
@@ -4278,6 +4278,7 @@ encircleP src/Dodge/Creature/Boid.hs 28;" f
endArcPos src/Dodge/Tesla.hs 87;" f endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f
endRegex src/Dodge/Update/Input/InGame.hs 254;" f endRegex src/Dodge/Update/Input/InGame.hs 254;" f
energyBallAt src/Dodge/EnergyBall.hs 46;" f
enterCombineInv src/Dodge/DisplayInventory.hs 323;" f enterCombineInv src/Dodge/DisplayInventory.hs 323;" f
epText src/Dodge/Inventory/SelectionList.hs 75;" f epText src/Dodge/Inventory/SelectionList.hs 75;" f
eqConstr src/SameConstr.hs 17;" f eqConstr src/SameConstr.hs 17;" f
@@ -4595,7 +4596,7 @@ impulsiveAIBefore src/Dodge/Creature/Impulse.hs 23;" f
inLink src/Dodge/RoomLink.hs 113;" f inLink src/Dodge/RoomLink.hs 113;" f
inSegArea src/Geometry/Intersect.hs 298;" f inSegArea src/Geometry/Intersect.hs 298;" f
inTextInputFocus src/Dodge/InputFocus.hs 10;" f inTextInputFocus src/Dodge/InputFocus.hs 10;" f
incBallAt src/Dodge/EnergyBall.hs 57;" f incBallAt src/Dodge/EnergyBall.hs 56;" f
incidenceToFunction src/Dodge/Graph.hs 26;" f incidenceToFunction src/Dodge/Graph.hs 26;" f
indefiniteExceptions src/StringHelp.hs 29;" f indefiniteExceptions src/StringHelp.hs 29;" f
initCrItemLocation src/Dodge/Item/Location/Initialize.hs 41;" f initCrItemLocation src/Dodge/Item/Location/Initialize.hs 41;" f
@@ -4923,14 +4924,14 @@ makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f
makeFlak src/Dodge/Bullet.hs 139;" f makeFlak src/Dodge/Bullet.hs 139;" f
makeFlame src/Dodge/Flame.hs 57;" f makeFlame src/Dodge/Flame.hs 57;" f
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 54;" f makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 54;" f
makeFlamelet src/Dodge/EnergyBall.hs 20;" f makeFlamelet src/Dodge/EnergyBall.hs 21;" f
makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f
makeFlashBall src/Dodge/EnergyBall.hs 74;" f makeFlashBall src/Dodge/EnergyBall.hs 59;" f
makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f
makeFragBullets src/Dodge/Bullet.hs 123;" f makeFragBullets src/Dodge/Bullet.hs 123;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 77;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 76;" f
makeGrid src/Grid.hs 46;" f makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 34;" f makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 649;" f makeMuzzleFlare src/Dodge/HeldUse.hs 649;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 35;" f
@@ -4946,7 +4947,7 @@ makeShaderVBO src/Shader/Compile.hs 32;" f
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
makeShrapnelAt src/Dodge/Payload.hs 24;" f makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeSourcedShader src/Shader/Compile.hs 167;" f makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 48;" f makeSpark src/Dodge/Spark.hs 43;" f
makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f
makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
@@ -5440,7 +5441,7 @@ radToDeg src/Geometry/Vector.hs 122;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randDirPS src/Dodge/PlacementSpot.hs 56;" f randDirPS src/Dodge/PlacementSpot.hs 56;" f
randDirSpark src/Dodge/Spark.hs 57;" f randDirSpark src/Dodge/Spark.hs 52;" f
randEdgeTank src/Dodge/Room/Tanks.hs 33;" f randEdgeTank src/Dodge/Room/Tanks.hs 33;" f
randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f
randEnergyBallAt src/Dodge/WorldEvent/SpawnParticle.hs 14;" f randEnergyBallAt src/Dodge/WorldEvent/SpawnParticle.hs 14;" f
@@ -5457,7 +5458,7 @@ randOnUnitSphere src/RandomHelp.hs 90;" f
randPeaked src/RandomHelp.hs 138;" f randPeaked src/RandomHelp.hs 138;" f
randPeakedParam src/RandomHelp.hs 130;" f randPeakedParam src/RandomHelp.hs 130;" f
randProb src/RandomHelp.hs 68;" f randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 77;" f randSpark src/Dodge/Spark.hs 72;" f
randWallReflect src/Dodge/Tesla/Arc.hs 57;" f randWallReflect src/Dodge/Tesla/Arc.hs 57;" f
randWallReflect src/Dodge/Update.hs 580;" f randWallReflect src/Dodge/Update.hs 580;" f
randomChallenges src/Dodge/Room/Start.hs 62;" f randomChallenges src/Dodge/Room/Start.hs 62;" f
@@ -5875,10 +5876,10 @@ spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f
sparkDam src/Dodge/Spark.hs 32;" f sparkDam src/Dodge/Spark.hs 31;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f
sparkRandDir src/Dodge/Spark.hs 100;" f sparkRandDir src/Dodge/Spark.hs 95;" f
sparkToDamage src/Dodge/Spark.hs 39;" f sparkToDamage src/Dodge/Spark.hs 34;" f
spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f
spawnElectricalSparks src/Dodge/PosEvent.hs 19;" f spawnElectricalSparks src/Dodge/PosEvent.hs 19;" f
spawnGun src/Dodge/Item/Weapon/Spawn.hs 12;" f spawnGun src/Dodge/Item/Weapon/Spawn.hs 12;" f
@@ -5925,7 +5926,7 @@ ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAt src/Dodge/Render/List.hs 98;" f
stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackPicturesAtOff src/Dodge/Render/List.hs 101;" f
stackText src/Picture/Base.hs 188;" f stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 311;" f stackedInventory src/Dodge/Creature.hs 310;" f
startCr src/Dodge/Creature.hs 93;" f startCr src/Dodge/Creature.hs 93;" f
startCrafts src/Dodge/Room/Start.hs 92;" f startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 279;" f startDrag src/Dodge/Update/Input/InGame.hs 279;" f
@@ -6016,7 +6017,7 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 32;" f
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f
testEvent src/Dodge/Event/Test.hs 10;" f testEvent src/Dodge/Event/Test.hs 10;" f
testInventory src/Dodge/Creature.hs 292;" f testInventory src/Dodge/Creature.hs 291;" f
testStringInit src/Dodge/TestString.hs 28;" f testStringInit src/Dodge/TestString.hs 28;" 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
@@ -6226,7 +6227,7 @@ updateDelayedEvents src/Dodge/Update.hs 801;" 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 533;" f updateDistortions src/Dodge/Update.hs 533;" f
updateEnergyBall src/Dodge/EnergyBall.hs 45;" f updateEnergyBall src/Dodge/EnergyBall.hs 35;" f
updateEnergyBalls src/Dodge/Update.hs 598;" f updateEnergyBalls src/Dodge/Update.hs 598;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
updateExpBarrel src/Dodge/Barreloid.hs 20;" f updateExpBarrel src/Dodge/Barreloid.hs 20;" f
@@ -6244,6 +6245,7 @@ updateIMl src/Dodge/Update.hs 502;" f
updateIMl' src/Dodge/Update.hs 507;" f updateIMl' src/Dodge/Update.hs 507;" f
updateInGameCamera src/Dodge/Update/Camera.hs 78;" f updateInGameCamera src/Dodge/Update/Camera.hs 78;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f
updateInt2Map src/Dodge/Zoning/Base.hs 92;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 376;" f updateItemTargeting src/Dodge/Creature/State.hs 376;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 286;" f updateItemWithOrientation src/Dodge/Creature/State.hs 286;" f
@@ -6289,7 +6291,7 @@ updateShockwaves src/Dodge/Update.hs 592;" f
updateSingleNodes src/TreeHelp.hs 97;" f updateSingleNodes src/TreeHelp.hs 97;" 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 18;" f
updateSparks src/Dodge/Update.hs 604;" f updateSparks src/Dodge/Update.hs 604;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f
@@ -6454,11 +6456,11 @@ writeConfig src/Dodge/Menu.hs 162;" f
writeSaveSlot src/Dodge/Save.hs 34;" f writeSaveSlot src/Dodge/Save.hs 34;" f
xCylinder src/Shape.hs 136;" f xCylinder src/Shape.hs 136;" f
xCylinderST src/Shape.hs 133;" f xCylinderST src/Shape.hs 133;" f
xIntercepts src/Dodge/Zoning/Base.hs 59;" f xIntercepts src/Dodge/Zoning/Base.hs 60;" f
xV2 src/Geometry/Vector.hs 206;" f xV2 src/Geometry/Vector.hs 206;" f
xyV3 src/Geometry/Vector.hs 218;" f xyV3 src/Geometry/Vector.hs 218;" f
xyzV4 src/Geometry/Vector.hs 214;" f xyzV4 src/Geometry/Vector.hs 214;" f
yIntercepts' src/Dodge/Zoning/Base.hs 75;" f yIntercepts' src/Dodge/Zoning/Base.hs 76;" f
yV2 src/Geometry/Vector.hs 210;" f yV2 src/Geometry/Vector.hs 210;" f
yellow src/Color.hs 17;" f yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 12;" f you src/Dodge/Base/You.hs 12;" f
@@ -6483,23 +6485,23 @@ zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 441;" f zoneClouds src/Dodge/Update.hs 441;" f
zoneCreature src/Dodge/Zoning/Creature.hs 54;" f zoneCreature src/Dodge/Zoning/Creature.hs 54;" f
zoneCreatures src/Dodge/Update.hs 483;" f zoneCreatures src/Dodge/Update.hs 483;" f
zoneExtract src/Dodge/Zoning/Base.hs 51;" f zoneExtract src/Dodge/Zoning/Base.hs 52;" f
zoneMonoid src/Dodge/Zoning/Base.hs 81;" f zoneMonoid src/Dodge/Zoning/Base.hs 83;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 23;" f zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f
zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f
zoneOfCr src/Dodge/Zoning/Creature.hs 44;" f zoneOfCr src/Dodge/Zoning/Creature.hs 44;" f
zoneOfPe src/Dodge/Zoning/Pathing.hs 49;" f zoneOfPe src/Dodge/Zoning/Pathing.hs 49;" f
zoneOfPn src/Dodge/Zoning/Pathing.hs 27;" f zoneOfPn src/Dodge/Zoning/Pathing.hs 27;" f
zoneOfPoint src/Dodge/Zoning/Base.hs 43;" f zoneOfPoint src/Dodge/Zoning/Base.hs 44;" f
zoneOfRect src/Dodge/Zoning/Base.hs 27;" f zoneOfRect src/Dodge/Zoning/Base.hs 28;" f
zoneOfSeg src/Dodge/Zoning/Base.hs 46;" f zoneOfSeg src/Dodge/Zoning/Base.hs 47;" f
zoneOfSight src/Dodge/Zoning/World.hs 9;" f zoneOfSight src/Dodge/Zoning/World.hs 9;" f
zoneOfWl src/Dodge/Zoning/Wall.hs 55;" f zoneOfWl src/Dodge/Zoning/Wall.hs 55;" f
zonePe src/Dodge/Zoning/Pathing.hs 52;" f zonePe src/Dodge/Zoning/Pathing.hs 52;" f
zonePn src/Dodge/Zoning/Pathing.hs 30;" f zonePn src/Dodge/Zoning/Pathing.hs 30;" f
zoneWall src/Dodge/Zoning/Wall.hs 65;" f zoneWall src/Dodge/Zoning/Wall.hs 65;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 90;" f zonesAroundPoint src/Dodge/Zoning/Base.hs 96;" f
zonesExtract src/Dodge/Zoning/Base.hs 55;" f zonesExtract src/Dodge/Zoning/Base.hs 56;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 70;" f zoomFloatingCamera src/Dodge/Update/Camera.hs 70;" f
zoomInLongGun src/Dodge/Update/Scroll.hs 99;" f zoomInLongGun src/Dodge/Update/Scroll.hs 99;" f
zoomOutLongGun src/Dodge/Update/Scroll.hs 107;" f zoomOutLongGun src/Dodge/Update/Scroll.hs 107;" f