Compare commits

...

3 Commits

Author SHA1 Message Date
justin ac09ed6629 Improve carriage/stride when falling down pit 2026-03-27 00:33:19 +00:00
justin fed607681b Cleanup 2026-03-26 23:35:12 +00:00
justin 8b088425a9 Stop gibbed/pitted creatures from pushing other creatures 2026-03-26 23:09:23 +00:00
11 changed files with 269 additions and 237 deletions
+8
View File
@@ -45,6 +45,8 @@ rightHandPQ cr
| otherwise = case cr ^? crStance . carriage of | otherwise = case cr ^? crStance . carriage of
Just (Walking sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID) Just (Walking sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID)
Just (Walking sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID) Just (Walking sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID)
Just (Falling sa LeftForward) -> (V3 (- f sa) (- off) 10, Q.qID)
Just (Falling sa RightForward) -> (V3 (- g sa) (- off) 10, Q.qID)
_ -> (V3 0 (- off) 10, Q.qID) _ -> (V3 0 (- off) 10, Q.qID)
where where
off = 8 off = 8
@@ -66,6 +68,8 @@ leftHandPQ cr
| otherwise = case cr ^? crStance . carriage of | otherwise = case cr ^? crStance . carriage of
Just (Walking sa RightForward) -> (V3 (- f sa) off 10 , Q.qID) Just (Walking sa RightForward) -> (V3 (- f sa) off 10 , Q.qID)
Just (Walking sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID) Just (Walking sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID)
Just (Falling sa RightForward) -> (V3 (- f sa) off 10 , Q.qID)
Just (Falling sa LeftForward) -> (V3 (- g sa) off 10 , Q.qID)
_ -> (V3 0 off 10, Q.qID) _ -> (V3 0 off 10, Q.qID)
where where
off = 8 off = 8
@@ -89,6 +93,8 @@ leftLegPQ cr = Q.comp (0,Q.qz (_crMvDir cr - _crDir cr))
x = case cr ^? crStance . carriage of x = case cr ^? crStance . carriage of
Just (Walking sa LeftForward) -> f sa Just (Walking sa LeftForward) -> f sa
Just (Walking sa RightForward) -> - f sa Just (Walking sa RightForward) -> - f sa
Just (Falling sa LeftForward) -> f sa
Just (Falling sa RightForward) -> - f sa
_ -> 0 _ -> 0
off = 5 off = 5
sLen = _strideLength $ _crStance cr sLen = _strideLength $ _crStance cr
@@ -105,6 +111,8 @@ rightLegPQ cr = Q.comp (0,Q.qz (_crMvDir cr - _crDir cr))
x = case cr ^? crStance . carriage of x = case cr ^? crStance . carriage of
Just (Walking sa LeftForward) -> -f sa Just (Walking sa LeftForward) -> -f sa
Just (Walking sa RightForward) -> f sa Just (Walking sa RightForward) -> f sa
Just (Falling sa LeftForward) -> -f sa
Just (Falling sa RightForward) -> f sa
_ -> 0 _ -> 0
off = -5 off = -5
sLen = _strideLength $ _crStance cr sLen = _strideLength $ _crStance cr
+1
View File
@@ -106,6 +106,7 @@ flockACC w cr = fromMaybe cr $ do
macr = macr =
safeMinimumOn (dist cpos . (^. crPos . _xy)) safeMinimumOn (dist cpos . (^. crPos . _xy))
. filter isFarACC . filter isFarACC
. IM.elems
$ crsNearCirc cpos 50 w $ crsNearCirc cpos 50 w
return $ case macr of return $ case macr of
Nothing -> cr Nothing -> cr
+2
View File
@@ -4,6 +4,7 @@ module Dodge.Creature.State (
invItemEffs, invItemEffs,
) where ) where
import qualified Data.IntMap.Strict as IM
import Linear import Linear
import NewInt import NewInt
import Control.Applicative import Control.Applicative
@@ -296,6 +297,7 @@ setRBCreatureTargeting cr w ituse
newtarg = newtarg =
safeMinimumOn (dist mwp . (^. crPos . _xy)) safeMinimumOn (dist mwp . (^. crPos . _xy))
. filter (canseepos . (^. crPos . _xy)) . filter (canseepos . (^. crPos . _xy))
. IM.elems
$ crsNearCirc mwp 40 w $ crsNearCirc mwp 40 w
canseepos p = hasLOS ((^. crPos . _xy) cr) p w canseepos p = hasLOS ((^. crPos . _xy) cr) p w
mwp = w ^. cWorld . lWorld . lAimPos mwp = w ^. cWorld . lWorld . lAimPos
+8 -2
View File
@@ -136,7 +136,7 @@ dropAll cr w = foldl' (flip (dropItem cr)) w . reverse . IM.keys . _unNIntMap $
chasmTestLiving :: Creature -> World -> World chasmTestLiving :: Creature -> World -> World
chasmTestLiving cr w chasmTestLiving cr w
| _crZVel cr < 0 = | Falling {} <- cr ^. crStance . carriage =
w w
& tocr . crZVel -~ 0.5 & tocr . crZVel -~ 0.5
& tocr . crPos . _z +~ _crZVel cr & tocr . crPos . _z +~ _crZVel cr
@@ -145,13 +145,19 @@ chasmTestLiving cr w
& soundContinue (CrChasm (_crID cr)) (cr ^. crPos . _xy) debrisS (Just 100) & soundContinue (CrChasm (_crID cr)) (cr ^. crPos . _xy) debrisS (Just 100)
& tocr . crPos . _xy -~ normalizeV (vNormal (x - y)) & tocr . crPos . _xy -~ normalizeV (vNormal (x - y))
& chasmRotate cr (x - y) & chasmRotate cr (x - y)
| any f (w ^. cWorld . chasms) = w & tocr . crZVel -~ 0.5 | any f (w ^. cWorld . chasms) = w & tocr %~ startFalling
| otherwise = w | otherwise = w
where where
tocr = cWorld . lWorld . creatures . ix (_crID cr) tocr = cWorld . lWorld . creatures . ix (_crID cr)
g = uncurry $ circOnSeg (cr ^. crPos . _xy) (crRad $ cr ^. crType) g = uncurry $ circOnSeg (cr ^. crPos . _xy) (crRad $ cr ^. crType)
f = pointInPoly (cr ^. crPos . _xy) f = pointInPoly (cr ^. crPos . _xy)
startFalling :: Creature -> Creature
startFalling cr = case cr ^. crStance . carriage of
Walking a b -> cr & crZVel -~ 0.5
& crStance . carriage .~ Falling a b
_ -> cr
chasmTestCorpse :: Creature -> World -> World chasmTestCorpse :: Creature -> World -> World
chasmTestCorpse cr w chasmTestCorpse cr w
| _crZVel cr < 0 = | _crZVel cr < 0 =
+1
View File
@@ -24,6 +24,7 @@ data Carriage
| Floating | Floating
| Flying | Flying
| Boosting Point2 | Boosting Point2
| Falling {_fallFlail :: Float, _fallFoot :: FootForward}
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data FootForward = LeftForward | RightForward data FootForward = LeftForward | RightForward
+5 -1
View File
@@ -20,6 +20,7 @@ module Dodge.Inventory (
collectInvItems, collectInvItems,
shiftInvItemsUp, shiftInvItemsUp,
shiftInvItemsDown, shiftInvItemsDown,
closeItemDist,
) where ) where
import Control.Monad import Control.Monad
@@ -142,9 +143,12 @@ updateCloseObjects w =
x <- lw ^? terminals . ix tid . tmStatus x <- lw ^? terminals . ix tid . tmStatus
return (x /= TerminalDeactivated) return (x /= TerminalDeactivated)
_ -> True _ -> True
isclose x = dist y x < 30 && hasButtonLOS y x w isclose x = dist y x < closeItemDist && hasButtonLOS y x w
y = you w ^. crPos . _xy y = you w ^. crPos . _xy
closeItemDist :: Float
closeItemDist = 30
changeSwapSelSet :: Int -> World -> World changeSwapSelSet :: Int -> World -> World
changeSwapSelSet yi w changeSwapSelSet yi w
| yi >= 0 = foldl' (&) w $ replicate yi (swapSelSet shiftSetUp) | yi >= 0 = foldl' (&) w $ replicate yi (swapSelSet shiftSetUp)
+18 -17
View File
@@ -34,23 +34,24 @@ import Data.Monoid
import RandomHelp import RandomHelp
testStringInit :: Universe -> [String] testStringInit :: Universe -> [String]
testStringInit u = (fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crWallTouch) testStringInit u =
<> fromMaybe [] (do (fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crStance . carriage . strideAmount)
w1 <- u ^? uvWorld . cWorld . lWorld . walls . ix 18 -- a <> fromMaybe [] (do
w2 <- u ^? uvWorld . cWorld . lWorld . walls . ix 61 -- a w1 <- u ^? uvWorld . cWorld . lWorld . walls . ix 18
let -- a w2 <- u ^? uvWorld . cWorld . lWorld . walls . ix 61
f = uncurry (-) . (^. wlLine) -- a let
g = argV . f -- a f = uncurry (-) . (^. wlLine)
h = normalizeV . uncurry (-) . (^. wlLine) -- a g = argV . f
a = angleVV (f w1) (f w2) -- a h = normalizeV . uncurry (-) . (^. wlLine)
return [show $ wlWlCrush w1 w2, show a , show (f w1), show (f w2) -- a a = angleVV (f w1) (f w2)
, show $ g w1 -- a return [show $ wlWlCrush w1 w2, show a , show (f w1), show (f w2)
, show $ g w2 -- a , show $ g w1
, show $ h w1 -- a , show $ g w2
, show $ h w2 -- a , show $ h w1
, show (norm (h w1 + h w2)) -- a , show $ h w2
] -- a , show (norm (h w1 + h w2))
) -- a ]
-- a )
-- <> (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcMaterial) -- <> (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcMaterial)
--testStringInit u = map show (u ^.. uvWorld . cWorld . lWorld . machines . traverse . mcDir) --testStringInit u = map show (u ^.. uvWorld . cWorld . lWorld . machines . traverse . mcDir)
--testStringInit u = map show --testStringInit u = map show
+60 -52
View File
@@ -3,28 +3,23 @@
module Dodge.Update (updateUniverse) where module Dodge.Update (updateUniverse) where
import Data.Function (on)
import Dodge.Zoning.Wall
import Bound import Bound
import Dodge.HeldUse
import Dodge.DoubleTree
import Dodge.Item.Grammar
import Dodge.Creature.MoveType
import Dodge.Render.List
import Data.Foldable
import qualified Data.Set as S
import Color import Color
import Control.Applicative import Control.Applicative
import Control.Monad import Control.Monad
import Data.Foldable
import Data.Function (on)
import Data.List import Data.List
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import Data.Monoid import Data.Monoid
import qualified Data.Set as S
import Dodge.Base import Dodge.Base
import Dodge.Bullet import Dodge.Bullet
import Dodge.Cloud import Dodge.Cloud
import Dodge.CrGroupUpdate import Dodge.CrGroupUpdate
import Dodge.Creature.Mass import Dodge.Creature.Mass
import Dodge.Creature.MoveType
import Dodge.Creature.Radius import Dodge.Creature.Radius
import Dodge.Creature.Update import Dodge.Creature.Update
import Dodge.Damage import Dodge.Damage
@@ -35,9 +30,12 @@ import Dodge.Debug
import Dodge.DisplayInventory import Dodge.DisplayInventory
import Dodge.Distortion import Dodge.Distortion
import Dodge.Door import Dodge.Door
import Dodge.DoubleTree
import Dodge.EnergyBall import Dodge.EnergyBall
import Dodge.Flame import Dodge.Flame
import Dodge.HeldUse
import Dodge.Inventory import Dodge.Inventory
import Dodge.Item.Grammar
import Dodge.Item.Weapon.LaserPath import Dodge.Item.Weapon.LaserPath
import Dodge.Laser.Update import Dodge.Laser.Update
import Dodge.LinearShockwave.Update import Dodge.LinearShockwave.Update
@@ -48,6 +46,7 @@ import Dodge.Projectile.Update
import Dodge.Prop.Moving import Dodge.Prop.Moving
import Dodge.RadarBlip import Dodge.RadarBlip
import Dodge.RadarSweep import Dodge.RadarSweep
import Dodge.Render.List
import Dodge.ScrollValue import Dodge.ScrollValue
import Dodge.SelectionSections import Dodge.SelectionSections
import Dodge.Shockwave.Update import Dodge.Shockwave.Update
@@ -69,6 +68,7 @@ import Dodge.WorldEvent.Explosion
import Dodge.WorldEvent.ThingsHit import Dodge.WorldEvent.ThingsHit
import Dodge.Zoning.Cloud import Dodge.Zoning.Cloud
import Dodge.Zoning.Creature import Dodge.Zoning.Creature
import Dodge.Zoning.Wall
import Geometry import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp import LensHelp
@@ -188,7 +188,7 @@ updateUniverseMid u = case _uvScreenLayers u of
[] -> [] ->
(uvWorld . unpauseClock +~ 1) (uvWorld . unpauseClock +~ 1)
. (uvWorld . cWorld . highlightItems %~ IM.mapMaybe minusone) . (uvWorld . cWorld . highlightItems %~ IM.mapMaybe minusone)
-- . (uvWorld . cWorld . highlightItems . filteredBy . non 0 -~ 1) -- . (uvWorld . cWorld . highlightItems . filteredBy . non 0 -~ 1)
. timeFlowUpdate . timeFlowUpdate
. updateUseInputInGame . updateUseInputInGame
$ over $ over
@@ -212,7 +212,7 @@ timeFlowUpdate u = case u ^. uvWorld . timeFlow of
RewindLeftClick _ _ -> over uvWorld scrollTimeBack u RewindLeftClick _ _ -> over uvWorld scrollTimeBack u
RespawnDelay{} -> functionalUpdate u RespawnDelay{} -> functionalUpdate u
PausedTimeFlow _ itmloc -> over uvWorld (pauseTime itmloc) u PausedTimeFlow _ itmloc -> over uvWorld (pauseTime itmloc) u
PauseTimeMessage {} -> u PauseTimeMessage{} -> u
pauseTime :: NewInt ItmInt -> World -> World pauseTime :: NewInt ItmInt -> World -> World
pauseTime _ w pauseTime _ w
@@ -346,29 +346,32 @@ pushYouOutFromWalls w = w & cWorld . lWorld . creatures . ix 0 %~ muzzleWallChec
muzzleWallCheck :: World -> Creature -> Creature muzzleWallCheck :: World -> Creature -> Creature
muzzleWallCheck w cr = fromMaybe cr $ do muzzleWallCheck w cr = fromMaybe cr $ do
invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt
loc <- invIndents ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr) loc <-
invIndents ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr)
^? ix invid . _2 ^? ix invid . _2
let ps = reduceLocDT f loc ^.. each . _1 . _xy let ps = reduceLocDT f loc ^.. each . _1 . _xy
cp = cr ^. crPos . _xy cp = cr ^. crPos . _xy
-- cop = cr ^. crOldPos . _xy -- cop = cr ^. crOldPos . _xy
r <- boundPointsRect (cp : ps) r <- boundPointsRect (cp : ps)
let wls = uncurry wlsNearRect r w & IM.elems & filter (not . _wlTouchThrough) let wls = uncurry wlsNearRect r w & IM.elems & filter (not . _wlTouchThrough)
vs = mapMaybe (g cp wls) ps vs = mapMaybe (g cp wls) ps
return $ if null vs return $
if null vs
then cr then cr
else let v = minimumBy (compare `on` norm) vs else
let v = minimumBy (compare `on` norm) vs
in cr & crPos . _xy +~ normalize v in cr & crPos . _xy +~ normalize v
where where
f loc = map (muzzlePos loc cr) (itemMuzzles loc) f loc = map (muzzlePos loc cr) (itemMuzzles loc)
g cp wls p = case collidePoint cp p wls of g cp wls p = case collidePoint cp p wls of
(ep,Just _) -> Just (ep - p) (ep, Just _) -> Just (ep - p)
_ -> Nothing _ -> Nothing
updateCreatureStrides :: World -> World updateCreatureStrides :: World -> World
updateCreatureStrides w = foldl' updateCreatureStride w $ w ^. cWorld . lWorld . creatures updateCreatureStrides = cWorld . lWorld . creatures . each %~ updateCreatureStride
updateCreatureStride :: World -> Creature -> World updateCreatureStride :: Creature -> Creature
updateCreatureStride w cr = w & cWorld . lWorld . creatures . ix (cr ^. crID) . crStance . carriage . strideAmount +~ d updateCreatureStride cr = cr & crStance . carriage . strideAmount +~ d
where where
s = fromMaybe 0 $ crMvType cr ^? mvSpeed s = fromMaybe 0 $ crMvType cr ^? mvSpeed
d = min s . norm $ cr ^. crPos - cr ^. crOldPos d = min s . norm $ cr ^. crPos - cr ^. crOldPos
@@ -391,7 +394,7 @@ checkTermDist w = fromMaybe w $ do
tmid <- w ^? hud . subInventory . termID tmid <- w ^? hud . subInventory . termID
btid <- w ^? cWorld . lWorld . terminals . ix tmid . tmButtonID btid <- w ^? cWorld . lWorld . terminals . ix tmid . tmButtonID
btpos <- w ^? cWorld . lWorld . buttons . ix btid . btPos btpos <- w ^? cWorld . lWorld . buttons . ix btid . btPos
guard $ dist btpos (you w ^. crPos . _xy) > 40 guard $ dist btpos (you w ^. crPos . _xy) > closeItemDist
return $ w & hud . subInventory .~ NoSubInventory return $ w & hud . subInventory .~ NoSubInventory
updateMouseContext :: Config -> Universe -> Universe updateMouseContext :: Config -> Universe -> Universe
@@ -405,15 +408,9 @@ updateMouseContextGame cfig u = \case
x@OverInvDragSelect{} -> x x@OverInvDragSelect{} -> x
MouseGameRotate x MouseGameRotate x
| ButtonRight `M.member` (w ^. input . mouseButtons) -> MouseGameRotate x | ButtonRight `M.member` (w ^. input . mouseButtons) -> MouseGameRotate x
--_ -> fromMaybe aimcontext (isrotatedrag <|> overterm <|> overinv <|> overcomb)
_ -> fromMaybe aimcontext (overterm <|> overinv <|> overcomb) _ -> fromMaybe aimcontext (overterm <|> overinv <|> overcomb)
where where
w = u ^. uvWorld w = u ^. uvWorld
-- isrotatedrag = do
-- t1 <- w ^. input . mouseButtons . at ButtonLeft
-- t2 <- w ^. input . mouseButtons . at ButtonRight
-- guard $ t1 > t2
-- return $ MouseGameRotate (dist (mouseWorldPosW w) (w ^. wCam . camCenter))
aimcontext aimcontext
| ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming | ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming
| Display_debug `S.member` (cfig ^. debug_booleans) = getDebugMouseOver u | Display_debug `S.member` (cfig ^. debug_booleans) = getDebugMouseOver u
@@ -449,15 +446,15 @@ updateMouseContextGame cfig u = \case
getDebugMouseOver :: Universe -> MouseContext getDebugMouseOver :: Universe -> MouseContext
getDebugMouseOver u = fromMaybe MouseInGame $ do getDebugMouseOver u = fromMaybe MouseInGame $ do
guard $ x >0 && x < 100 guard $ x > 0 && x < 100
(db,j) <- m ^? ix i (db, j) <- m ^? ix i
return $ OverDebug db j return $ OverDebug db j
where where
f (a,as) = (a,) <$> [0..length as - 1] f (a, as) = (a,) <$> [0 .. length as - 1]
m = foldMap f . M.toList $ u ^. uvDebug m = foldMap f . M.toList $ u ^. uvDebug
i = floor (y /20) i = floor (y / 20)
y = halfHeight (u^.uvConfig) - y' y = halfHeight (u ^. uvConfig) - y'
V2 x y' = u^.uvWorld.input.mousePos V2 x y' = u ^. uvWorld . input . mousePos
getMenuMouseContext :: ScreenLayer -> Universe -> MouseContext getMenuMouseContext :: ScreenLayer -> Universe -> MouseContext
getMenuMouseContext screen u = case screen ^. scOptions of getMenuMouseContext screen u = case screen ^. scOptions of
@@ -509,11 +506,15 @@ updatePulseLasers w = f w & cWorld . lWorld . pulseLasers .~ pzs
updatePlasmaBall :: World -> PlasmaBall -> (World, Maybe PlasmaBall) updatePlasmaBall :: World -> PlasmaBall -> (World, Maybe PlasmaBall)
updatePlasmaBall w pb updatePlasmaBall w pb
| Just (_, ecrwl) <- thit = ( w | Just (_, ecrwl) <- thit =
& cWorld . lWorld %~ dodam ecrwl, Nothing) ( w & cWorld . lWorld %~ dodam ecrwl
, Nothing
)
| norm (pb ^. pbVel) <= 0 = (w, Nothing) | norm (pb ^. pbVel) <= 0 = (w, Nothing)
| otherwise = ( w -- flicker? | otherwise =
, Just $ pb & pbPos .~ ep ) ( w -- flicker?
, Just $ pb & pbPos .~ ep
)
where where
dodam = \case dodam = \case
Left cr -> creatures . ix (_crID cr) . crDamage .:~ thedam Left cr -> creatures . ix (_crID cr) . crDamage .:~ thedam
@@ -568,11 +569,8 @@ updateTerminal tm w = fromMaybe w $ do
return $ case tl of return $ case tl of
_ | _tlPause tl > 0 -> w & pointTermParams . tmFutureLines . ix 0 . tlPause -~ 1 _ | _tlPause tl > 0 -> w & pointTermParams . tmFutureLines . ix 0 . tlPause -~ 1
(TLine _ tls g) -> (TLine _ tls g) ->
w & pointTermParams w & pointTermParams . tmFutureLines %~ tail
%~ ( (tmFutureLines %~ tail) & pointTermParams . tmDisplayedLines %~ take getMaxLinesTM . (map displayTerminalLineString tls ++)
. (tmDisplayedLines %~ take getMaxLinesTM . (map displayTerminalLineString tls ++))
-- . (tmDisplayedLines %~ (map displayTerminalLineString tls ++))
)
& doTmWdWd g tm & doTmWdWd g tm
where where
pointTermParams = cWorld . lWorld . terminals . ix (_tmID tm) pointTermParams = cWorld . lWorld . terminals . ix (_tmID tm)
@@ -919,7 +917,8 @@ updateGas w c
newVel@(V3 _ _ nvz) = (0.95 *^ springVels) + V3 0 0 (0.01 * vertVel) newVel@(V3 _ _ nvz) = (0.95 *^ springVels) + V3 0 0 (0.01 * vertVel)
newVel2 = stripZ newVel newVel2 = stripZ newVel
vertVel = min 5 $ 20 - opz vertVel = min 5 $ 20 - opz
springVels = c ^. gsPos springVels =
c ^. gsPos
+ alaf Sum foldMap (radiusSpring 10 oldPos . _gsPos) (gassesNearPoint oldPos2 w) + alaf Sum foldMap (radiusSpring 10 oldPos . _gsPos) (gassesNearPoint oldPos2 w)
oldPos@(V3 _ _ opz) = _gsPos c oldPos@(V3 _ _ opz) = _gsPos c
oldPos2 = stripZ oldPos oldPos2 = stripZ oldPos
@@ -940,7 +939,8 @@ updateDust w c
& dsVel .~ newvel & dsVel .~ newvel
& dsTimer -~ 1 & dsTimer -~ 1
where where
v@(V3 _ _ vz) = c ^. dsVel v@(V3 _ _ vz) =
c ^. dsVel
+ alaf Sum foldMap (radiusSpring 10 oldPos . _dsPos) (dssNearPoint oldPos2 w) + alaf Sum foldMap (radiusSpring 10 oldPos . _dsPos) (dssNearPoint oldPos2 w)
newvel = 0.95 * (maybe v (addZ vz . snd) hitWl - V3 0 0 0.05) newvel = 0.95 * (maybe v (addZ vz . snd) hitWl - V3 0 0 0.05)
oldPos = _dsPos c oldPos = _dsPos c
@@ -957,13 +957,21 @@ radiusSpring r a b
simpleCrSprings :: World -> World simpleCrSprings :: World -> World
simpleCrSprings w = simpleCrSprings w =
IM.foldl' (flip crSpring) w $ IM.foldl' (flip crSpring) w $
IM.filter (\cr -> cr ^. crPos . _z >= 0) $ w ^. cWorld . lWorld . creatures IM.filter (canSpring) $ w ^. cWorld . lWorld . creatures
-- note that this may in rare cases not push creatures away from each other -- note that this may in rare cases not push creatures away from each other
crSpring :: Creature -> World -> World crSpring :: Creature -> World -> World
--crSpring c w = foldl' (flip $ crCrSpring c) w $ crsNearPoint (c ^. crPos . _xy) w crSpring c w =
crSpring c w = foldl' (flip $ crCrSpring c) w $ crsNearCirc (c ^. crPos . _xy) IM.foldl' (flip $ crCrSpring c) w . IM.filter canSpring $
(crRad $ c ^. crType) w crsNearCirc (c ^. crPos . _xy) (crRad $ c ^. crType) w
canSpring :: Creature -> Bool
canSpring cr =
cr ^. crPos . _z >= 0 && case cr ^. crHP of
HP{} -> True
CrIsCorpse{} -> True
CrIsGibs -> False
CrIsPitted -> False
crCrSpring :: Creature -> Creature -> World -> World crCrSpring :: Creature -> Creature -> World -> World
crCrSpring c1 c2 crCrSpring c1 c2
@@ -971,9 +979,10 @@ crCrSpring c1 c2
| vec == V2 0 0 = id | vec == V2 0 0 = id
| diff >= comRad = id | diff >= comRad = id
| otherwise = | otherwise =
cWorld . lWorld . creatures ( cWorld . lWorld . creatures
%~ ( over (ix id1 . crPos . _xy) (+.+ overlap1) %~ ( (ix id1 . crPos . _xy +~ overlap c2)
. over (ix id2 . crPos . _xy) (-.- overlap2) . (ix id2 . crPos . _xy -~ overlap c1)
)
) )
where where
id1 = _crID c1 id1 = _crID c1
@@ -981,8 +990,7 @@ crCrSpring c1 c2
vec = c1 ^. crPos . _xy - c2 ^. crPos . _xy vec = c1 ^. crPos . _xy - c2 ^. crPos . _xy
diff = magV vec diff = magV vec
comRad = crRad (c1 ^. crType) + crRad (c2 ^. crType) comRad = crRad (c1 ^. crType) + crRad (c2 ^. crType)
overlap1 = ((comRad - diff) * crMass (_crType c2) * 0.5 / massT) *^ signorm vec overlap c = ((comRad - diff) * crMass (_crType c) * 0.5 / massT) *^ signorm vec
overlap2 = ((comRad - diff) * crMass (_crType c1) * 0.5 / massT) *^ signorm vec
massT = crMass (_crType c1) + crMass (_crType c2) massT = crMass (_crType c1) + crMass (_crType c2)
updateDelayedEvents :: World -> World updateDelayedEvents :: World -> World
+1 -1
View File
@@ -181,7 +181,7 @@ wlsHitRadial p r = IM.mapMaybe f . wlsNearCirc p r
-- v = normalizeV . vNormal . uncurry (-) $ _wlLine wl -- v = normalizeV . vNormal . uncurry (-) $ _wlLine wl
crsHitRadial :: Point2 -> Float -> World -> [(Point2, Creature)] crsHitRadial :: Point2 -> Float -> World -> [(Point2, Creature)]
crsHitRadial p r = mapMaybe f . crsNearCirc p r crsHitRadial p r = mapMaybe f . IM.elems . crsNearCirc p r
where where
f cr = do f cr = do
let cp = cr ^. crPos . _xy let cp = cr ^. crPos . _xy
+2 -2
View File
@@ -33,8 +33,8 @@ crixsNearSeg = nearSeg crZoneSize _crZoning
crIXsNearCirc :: Point2 -> Float -> World -> IS.IntSet crIXsNearCirc :: Point2 -> Float -> World -> IS.IntSet
crIXsNearCirc p r = crsNearRect (p + V2 r r) (p - V2 r r) crIXsNearCirc p r = crsNearRect (p + V2 r r) (p - V2 r r)
crsNearCirc :: Point2 -> Float -> World -> [Creature] crsNearCirc :: Point2 -> Float -> World -> IM.IntMap Creature
crsNearCirc p r w = mapMaybe (\cid -> w ^? cWorld . lWorld . creatures . ix cid) . IS.toList crsNearCirc p r w = IM.restrictKeys (w ^. cWorld . lWorld . creatures)
$ crIXsNearCirc p r w $ crIXsNearCirc p r w
crsNearRect :: Point2 -> Point2 -> World -> IS.IntSet crsNearRect :: Point2 -> Point2 -> World -> IS.IntSet
+153 -152
View File
@@ -699,7 +699,7 @@ MODBlockedString src/Dodge/Data/Universe.hs 106;" C
MODString src/Dodge/Data/Universe.hs 105;" C MODString src/Dodge/Data/Universe.hs 105;" C
MODStringOption src/Dodge/Data/Universe.hs 107;" C MODStringOption src/Dodge/Data/Universe.hs 107;" C
MOTOR src/Dodge/Data/Item/Combine.hs 63;" C MOTOR src/Dodge/Data/Item/Combine.hs 63;" C
MPO src/Dodge/Base/Collide.hs 96;" t MPO src/Dodge/Base/Collide.hs 97;" t
MTRS src/Dodge/Data/MTRS.hs 6;" t MTRS src/Dodge/Data/MTRS.hs 6;" t
MTree src/Dodge/Data/MetaTree.hs 12;" C MTree src/Dodge/Data/MetaTree.hs 12;" C
Machine src/Dodge/Data/Machine.hs 30;" t Machine src/Dodge/Data/Machine.hs 30;" t
@@ -722,8 +722,8 @@ MagnetUpdateTimer src/Dodge/Data/Magnet.hs 11;" C
MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C
MakeSound src/Dodge/Data/ActionPlan.hs 42;" C MakeSound src/Dodge/Data/ActionPlan.hs 42;" C
MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 33;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 33;" C
MakeTempLight src/Dodge/Data/WorldEffect.hs 37;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 36;" C
MakeTempLightFade src/Dodge/Data/WorldEffect.hs 38;" C MakeTempLightFade src/Dodge/Data/WorldEffect.hs 37;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 19;" t ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 19;" t
Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C
@@ -740,11 +740,11 @@ McStorage src/Dodge/Data/Machine.hs 48;" C
McTerminal src/Dodge/Data/Machine.hs 44;" C McTerminal src/Dodge/Data/Machine.hs 44;" C
McTrigger src/Dodge/Data/Machine.hs 50;" C McTrigger src/Dodge/Data/Machine.hs 50;" C
McTurret src/Dodge/Data/Machine.hs 47;" C McTurret src/Dodge/Data/Machine.hs 47;" C
MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 54;" C MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 53;" C
MdSetLSCol src/Dodge/Data/WorldEffect.hs 53;" C MdSetLSCol src/Dodge/Data/WorldEffect.hs 52;" C
MdTrigIf src/Dodge/Data/WorldEffect.hs 52;" C MdTrigIf src/Dodge/Data/WorldEffect.hs 51;" C
MdWdId src/Dodge/Data/WorldEffect.hs 51;" C MdWdId src/Dodge/Data/WorldEffect.hs 50;" C
MdWdWd src/Dodge/Data/WorldEffect.hs 50;" t MdWdWd src/Dodge/Data/WorldEffect.hs 49;" t
MedBaySS src/Dodge/Data/Scenario.hs 100;" C MedBaySS src/Dodge/Data/Scenario.hs 100;" C
Medium src/Shape/Data.hs 25;" C Medium src/Shape/Data.hs 25;" C
Melee src/Dodge/Data/ActionPlan.hs 40;" C Melee src/Dodge/Data/ActionPlan.hs 40;" C
@@ -1416,7 +1416,7 @@ UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C
UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C
UseHeld src/Dodge/Data/Item/Use.hs 29;" C UseHeld src/Dodge/Data/Item/Use.hs 29;" C
UseInt src/Dodge/Data/Item/Use.hs 31;" C UseInt src/Dodge/Data/Item/Use.hs 31;" C
UseInvItem src/Dodge/Data/WorldEffect.hs 39;" C UseInvItem src/Dodge/Data/WorldEffect.hs 38;" C
UseItem src/Dodge/Data/ActionPlan.hs 36;" C UseItem src/Dodge/Data/ActionPlan.hs 36;" C
UseItemWidth src/Dodge/Data/SelectionList.hs 42;" C UseItemWidth src/Dodge/Data/SelectionList.hs 42;" C
UseMapper src/Dodge/Data/Item/Use.hs 37;" C UseMapper src/Dodge/Data/Item/Use.hs 37;" C
@@ -1482,29 +1482,29 @@ WarningCry src/Dodge/Data/ActionPlan.hs 137;" C
WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C
WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C
WatchAndWait src/Dodge/Data/ActionPlan.hs 135;" C WatchAndWait src/Dodge/Data/ActionPlan.hs 135;" C
WdBl src/Dodge/Data/WorldEffect.hs 57;" t WdBl src/Dodge/Data/WorldEffect.hs 56;" t
WdBlBtOn src/Dodge/Data/WorldEffect.hs 63;" C WdBlBtOn src/Dodge/Data/WorldEffect.hs 62;" C
WdBlConst src/Dodge/Data/WorldEffect.hs 60;" C WdBlConst src/Dodge/Data/WorldEffect.hs 59;" C
WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 62;" C WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 61;" C
WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 59;" C WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 58;" C
WdBlNegate src/Dodge/Data/WorldEffect.hs 61;" C WdBlNegate src/Dodge/Data/WorldEffect.hs 60;" C
WdCrBl src/Dodge/Data/CreatureEffect.hs 12;" t WdCrBl src/Dodge/Data/CreatureEffect.hs 12;" t
WdCrBlfromCrBl src/Dodge/Data/CreatureEffect.hs 14;" C WdCrBlfromCrBl src/Dodge/Data/CreatureEffect.hs 14;" C
WdCrLOSTarget src/Dodge/Data/CreatureEffect.hs 16;" C WdCrLOSTarget src/Dodge/Data/CreatureEffect.hs 16;" C
WdCrNegate src/Dodge/Data/CreatureEffect.hs 15;" C WdCrNegate src/Dodge/Data/CreatureEffect.hs 15;" C
WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 17;" C WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 17;" C
WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C
WdP2 src/Dodge/Data/WorldEffect.hs 45;" t WdP2 src/Dodge/Data/WorldEffect.hs 44;" t
WdP2Const src/Dodge/Data/WorldEffect.hs 46;" C WdP2Const src/Dodge/Data/WorldEffect.hs 45;" C
WdP2f src/Dodge/Data/WorldEffect.hs 66;" t WdP2f src/Dodge/Data/WorldEffect.hs 65;" t
WdP2f0 src/Dodge/Data/WorldEffect.hs 67;" C WdP2f0 src/Dodge/Data/WorldEffect.hs 66;" C
WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 68;" C WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 67;" C
WdTrig src/Dodge/Data/WorldEffect.hs 58;" C WdTrig src/Dodge/Data/WorldEffect.hs 57;" C
WdWd src/Dodge/Data/WorldEffect.hs 25;" t WdWd src/Dodge/Data/WorldEffect.hs 25;" t
WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 40;" C WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 39;" C
WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 35;" C WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 35;" C
WdWdSetSoundFilter src/Dodge/Data/WorldEffect.hs 41;" C WdWdSetSoundFilter src/Dodge/Data/WorldEffect.hs 40;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 47;" C WdYouPos src/Dodge/Data/WorldEffect.hs 46;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C
West src/Dodge/Data/CardinalPoint.hs 10;" C West src/Dodge/Data/CardinalPoint.hs 10;" C
@@ -2567,7 +2567,7 @@ addToTrunk src/TreeHelp.hs 157;" f
addWarningTerminal src/Dodge/Room/Warning.hs 94;" f addWarningTerminal src/Dodge/Room/Warning.hs 94;" 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 480;" f advanceScrollAmount src/Dodge/Update.hs 477;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
aimDelaySweep src/Dodge/Render/Picture.hs 285;" f aimDelaySweep src/Dodge/Render/Picture.hs 285;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f
@@ -2579,7 +2579,7 @@ airlockCrystal src/Dodge/Room/Airlock.hs 251;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 104;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 104;" f
airlockSimple src/Dodge/Room/Airlock.hs 129;" f airlockSimple src/Dodge/Room/Airlock.hs 129;" f
airlockZ src/Dodge/Room/Airlock.hs 166;" f airlockZ src/Dodge/Room/Airlock.hs 166;" f
allVisibleWalls src/Dodge/Base/Collide.hs 226;" f allVisibleWalls src/Dodge/Base/Collide.hs 227;" f
alongSegBy src/Geometry.hs 40;" f alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f
@@ -2604,7 +2604,7 @@ applyGravityPU src/Dodge/Projectile/Update.hs 41;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f
applyInvLock src/Dodge/HeldUse.hs 455;" f applyInvLock src/Dodge/HeldUse.hs 455;" f
applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f
applyPastDamages src/Dodge/Creature/State.hs 48;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f
applyPosition src/Sound.hs 113;" f applyPosition src/Sound.hs 113;" f
applyRecoil src/Dodge/HeldUse.hs 486;" f applyRecoil src/Dodge/HeldUse.hs 486;" f
applyResFactor src/Dodge/Data/Config.hs 126;" f applyResFactor src/Dodge/Data/Config.hs 126;" f
@@ -2701,7 +2701,7 @@ basicMuzFlare src/Dodge/HeldUse.hs 731;" f
battery src/Dodge/Item/Ammo.hs 60;" f battery src/Dodge/Item/Ammo.hs 60;" f
batteryPack src/Dodge/Item/Equipment.hs 38;" f batteryPack src/Dodge/Item/Equipment.hs 38;" f
beltMag src/Dodge/Item/Ammo.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 227;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 540;" f bgunSound src/Dodge/HeldUse.hs 540;" f
bingate src/Dodge/Item/Scope.hs 115;" f bingate src/Dodge/Item/Scope.hs 115;" f
@@ -2741,7 +2741,7 @@ boolOption src/Dodge/Menu/OptionType.hs 12;" f
bossKeyItems src/Dodge/LockAndKey.hs 13;" f bossKeyItems src/Dodge/LockAndKey.hs 13;" f
bossRoom src/Dodge/Room/Boss.hs 55;" f bossRoom src/Dodge/Room/Boss.hs 55;" f
bounceDir src/Dodge/Bullet.hs 111;" f bounceDir src/Dodge/Bullet.hs 111;" f
bouncePoint src/Dodge/Base/Collide.hs 86;" f bouncePoint src/Dodge/Base/Collide.hs 87;" f
bounceSound src/Dodge/Projectile/Update.hs 74;" f bounceSound src/Dodge/Projectile/Update.hs 74;" f
boundPoints src/Bound.hs 9;" f boundPoints src/Bound.hs 9;" f
boundPointsRect src/Bound.hs 23;" f boundPointsRect src/Bound.hs 23;" f
@@ -2779,6 +2779,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
calcTexCoord src/Tile.hs 19;" f calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 321;" f canSee src/Dodge/Base/Collide.hs 321;" f
canSeeIndirect src/Dodge/Base/Collide.hs 328;" f canSeeIndirect src/Dodge/Base/Collide.hs 328;" f
canSpring src/Dodge/Update.hs 968;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f
capacitor src/Dodge/Item/Ammo.hs 67;" f capacitor src/Dodge/Item/Ammo.hs 67;" f
card8Vec src/Dodge/Base/CardinalPoint.hs 17;" f card8Vec src/Dodge/Base/CardinalPoint.hs 17;" f
@@ -2805,7 +2806,7 @@ chartreuse src/Color.hs 51;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f
chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f
chaseCritInternal src/Dodge/Humanoid.hs 8;" f chaseCritInternal src/Dodge/Humanoid.hs 8;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 122;" 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 172;" f chasmRotate src/Dodge/Creature/Update.hs 172;" f
@@ -2813,18 +2814,18 @@ chasmSimpleMaze src/Dodge/Room/Tutorial.hs 358;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 298;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 298;" 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 119;" f chasmWallToSurface src/Dodge/Base/Collide.hs 120;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f 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 78;" f checkDeath src/Dodge/Creature/Update.hs 78;" f
checkDeath' src/Dodge/Creature/Update.hs 81;" f checkDeath' src/Dodge/Creature/Update.hs 81;" f
checkEndGame src/Dodge/Update.hs 856;" f checkEndGame src/Dodge/Update.hs 854;" f
checkErrorGL src/Shader/Compile.hs 86;" f checkErrorGL src/Shader/Compile.hs 86;" 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 389;" f checkTermDist src/Dodge/Update.hs 392;" 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
@@ -2836,12 +2837,12 @@ chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 61;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 61;" f
circHitWall src/Dodge/Base/Collide.hs 239;" f circHitWall src/Dodge/Base/Collide.hs 240;" f
circInPolygon src/Geometry/Polygon.hs 110;" f circInPolygon src/Geometry/Polygon.hs 110;" f
circOnAnyCr src/Dodge/Base/Collide.hs 284;" f circOnAnyCr src/Dodge/Base/Collide.hs 285;" f
circOnSeg src/Geometry.hs 101;" f circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 278;" f circOnSomeWall src/Dodge/Base/Collide.hs 279;" f
circle src/Picture/Base.hs 172;" f circle src/Picture/Base.hs 172;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
circleSolid src/Picture/Base.hs 156;" f circleSolid src/Picture/Base.hs 156;" f
@@ -2866,7 +2867,7 @@ clipZoom src/Dodge/Update/Camera.hs 234;" f
clockCycle src/Dodge/Clock.hs 7;" f clockCycle src/Dodge/Clock.hs 7;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 244;" f
closeObjectInfo src/Dodge/Render/HUD.hs 228;" f closeObjectInfo src/Dodge/Render/HUD.hs 228;" f
closestPointOnLine src/Geometry/Intersect.hs 270;" f closestPointOnLine src/Geometry/Intersect.hs 270;" f
closestPointOnLineParam src/Geometry/Intersect.hs 286;" f closestPointOnLineParam src/Geometry/Intersect.hs 286;" f
@@ -2877,22 +2878,22 @@ clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
clsNearRect src/Dodge/Zoning/Cloud.hs 18;" f clsNearRect src/Dodge/Zoning/Cloud.hs 18;" f
clsNearSeg src/Dodge/Zoning/Cloud.hs 15;" f clsNearSeg src/Dodge/Zoning/Cloud.hs 15;" f
cogRaised src/Dodge/Creature/Perception.hs 101;" f cogRaised src/Dodge/Creature/Perception.hs 101;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 23;" f colCrWall src/Dodge/WallCreatureCollisions.hs 25;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 15;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
collectDamageTypes src/Dodge/Damage.hs 53;" f collectDamageTypes src/Dodge/Damage.hs 53;" f
collectInvItems src/Dodge/Inventory.hs 201;" f collectInvItems src/Dodge/Inventory.hs 201;" f
collide3 src/Dodge/Base/Collide.hs 128;" f collide3 src/Dodge/Base/Collide.hs 129;" f
collide3Chasm src/Dodge/Base/Collide.hs 112;" f collide3Chasm src/Dodge/Base/Collide.hs 113;" f
collide3Chasms src/Dodge/Base/Collide.hs 104;" f collide3Chasms src/Dodge/Base/Collide.hs 105;" f
collide3Creature src/Dodge/Base/Collide.hs 161;" f collide3Creature src/Dodge/Base/Collide.hs 162;" f
collide3Floors src/Dodge/Base/Collide.hs 142;" f collide3Floors src/Dodge/Base/Collide.hs 143;" f
collide3Wall src/Dodge/Base/Collide.hs 156;" f collide3Wall src/Dodge/Base/Collide.hs 157;" f
collide3Walls src/Dodge/Base/Collide.hs 137;" f collide3Walls src/Dodge/Base/Collide.hs 138;" f
collide3WallsFloor src/Dodge/Base/Collide.hs 98;" f collide3WallsFloor src/Dodge/Base/Collide.hs 99;" f
collideCircWalls src/Dodge/Base/Collide.hs 251;" f collideCircWalls src/Dodge/Base/Collide.hs 252;" f
collidePoint src/Dodge/Base/Collide.hs 52;" f collidePoint src/Dodge/Base/Collide.hs 53;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 189;" f collidePointTestFilter src/Dodge/Base/Collide.hs 190;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 203;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 204;" f
color src/Picture/Base.hs 100;" f color src/Picture/Base.hs 100;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 234;" f colorSH src/Shape.hs 234;" f
@@ -2930,10 +2931,10 @@ convexHull src/Geometry/Polygon.hs 150;" f
convexHullSafe src/Geometry/Polygon.hs 172;" f convexHullSafe src/Geometry/Polygon.hs 172;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f
coolMachinePistol src/Dodge/Creature/State.hs 101;" f coolMachinePistol src/Dodge/Creature/State.hs 102;" f
coolMinigun src/Dodge/Creature/State.hs 94;" f coolMinigun src/Dodge/Creature/State.hs 95;" f
copier src/Dodge/Item/Scope.hs 94;" f copier src/Dodge/Item/Scope.hs 94;" f
copierItemUpdate src/Dodge/Creature/State.hs 130;" f copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 405;" f corDoor src/Dodge/Room/Room.hs 405;" f
cornerList src/Preload/Render.hs 236;" f cornerList src/Preload/Render.hs 236;" f
@@ -2947,7 +2948,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 86;" 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 53;" f crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
crCrSpring src/Dodge/Update.hs 968;" f crCrSpring src/Dodge/Update.hs 976;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 45;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 45;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f
@@ -2955,7 +2956,7 @@ crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f
crHasTarget src/Dodge/Creature/Test.hs 66;" f crHasTarget src/Dodge/Creature/Test.hs 66;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 69;" f crHasTargetLOS src/Dodge/Creature/Test.hs 69;" f
crHeight src/Dodge/Base/Collide.hs 174;" f crHeight src/Dodge/Base/Collide.hs 175;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 136;" f crHit src/Dodge/WorldEvent/ThingsHit.hs 136;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f
@@ -3204,7 +3205,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 50;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f
displayTerminalLineString src/Dodge/Update.hs 561;" f displayTerminalLineString src/Dodge/Update.hs 562;" 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
distributeAmmoToItem src/Dodge/WorldEffect.hs 149;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 149;" f
@@ -3218,11 +3219,11 @@ divideLineExact src/Geometry.hs 276;" f
divideLineOddNumPoints src/Geometry.hs 261;" f divideLineOddNumPoints src/Geometry.hs 261;" f
dmType src/Dodge/Damage.hs 38;" f dmType src/Dodge/Damage.hs 38;" f
doAimTwist src/Dodge/Creature/YourControl.hs 154;" f doAimTwist src/Dodge/Creature/YourControl.hs 154;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 140;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f
doBlBl src/Dodge/BlBl.hs 5;" f doBlBl src/Dodge/BlBl.hs 5;" f
doBounce src/Dodge/Base/Collide.hs 67;" f doBounce src/Dodge/Base/Collide.hs 68;" f
doButtonEvent src/Dodge/Button/Event.hs 9;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f
doConLoop src/Loop.hs 138;" f doConLoop src/Loop.hs 138;" f
doConLoop' src/Loop.hs 230;" f doConLoop' src/Loop.hs 230;" f
@@ -3231,7 +3232,7 @@ doCrBl src/Dodge/CreatureEffect.hs 30;" f
doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f
doCrImp src/Dodge/CreatureEffect.hs 13;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f
doCrWdAc src/Dodge/CreatureEffect.hs 48;" f doCrWdAc src/Dodge/CreatureEffect.hs 48;" f
doDamage src/Dodge/Creature/State.hs 42;" f doDamage src/Dodge/Creature/State.hs 43;" f
doDeathToggle src/Dodge/WorldEffect.hs 98;" f doDeathToggle src/Dodge/WorldEffect.hs 98;" f
doDeathTriggers src/Dodge/WorldEffect.hs 91;" f doDeathTriggers src/Dodge/WorldEffect.hs 91;" f
doDebugGet src/Dodge/Debug.hs 145;" f doDebugGet src/Dodge/Debug.hs 145;" f
@@ -3271,7 +3272,7 @@ doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 89;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f
doSectionSize src/Dodge/DisplayInventory.hs 215;" f doSectionSize src/Dodge/DisplayInventory.hs 215;" f
doSideEffects appDodge/Main.hs 117;" f doSideEffects appDodge/Main.hs 117;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 173;" f
doTabComplete src/Dodge/Terminal.hs 241;" f doTabComplete src/Dodge/Terminal.hs 241;" f
doTestDrawing src/Dodge/Render.hs 40;" f doTestDrawing src/Dodge/Render.hs 40;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
@@ -3284,7 +3285,7 @@ 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 34;" f doWdWd src/Dodge/WorldEffect.hs 34;" f
doWorldEvents src/Dodge/Update.hs 489;" f doWorldEvents src/Dodge/Update.hs 486;" 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 34;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f
@@ -3298,7 +3299,7 @@ doublePair src/Geometry.hs 162;" f
doublePairSet src/Geometry.hs 166;" f doublePairSet src/Geometry.hs 166;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f
doubleV2 src/Geometry.hs 169;" f doubleV2 src/Geometry.hs 169;" f
drawARHUD src/Dodge/Creature/State.hs 192;" f drawARHUD src/Dodge/Creature/State.hs 193;" f
drawAimSweep src/Dodge/Render/Picture.hs 292;" f drawAimSweep src/Dodge/Render/Picture.hs 292;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
@@ -3604,7 +3605,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 153;" f gameRoomsFromRooms src/Dodge/Layout.hs 153;" f
gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenu src/Dodge/Menu.hs 152;" f
gameplayMenuOptions src/Dodge/Menu.hs 155;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f
gasEffect src/Dodge/Update.hs 881;" f gasEffect src/Dodge/Update.hs 879;" f
gasType src/Dodge/HeldUse.hs 1135;" f gasType src/Dodge/HeldUse.hs 1135;" f
gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
@@ -3630,7 +3631,7 @@ 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 505;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 505;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 492;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 492;" f
getDebugMouseOver src/Dodge/Update.hs 450;" f getDebugMouseOver src/Dodge/Update.hs 447;" 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
getGrenadeHitEffect src/Dodge/HeldUse.hs 1284;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1284;" f
@@ -3640,7 +3641,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f
getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f
getLinksOfType src/Dodge/RoomLink.hs 40;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 462;" f getMenuMouseContext src/Dodge/Update.hs 459;" f
getNodePos src/Dodge/Path.hs 34;" f getNodePos src/Dodge/Path.hs 34;" f
getPJStabiliser src/Dodge/HeldUse.hs 1271;" f getPJStabiliser src/Dodge/HeldUse.hs 1271;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
@@ -3675,7 +3676,7 @@ glassSwitchBackCrits src/Dodge/Room/Room.hs 117;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f
gluintSize src/Shader/Parameters.hs 25;" f gluintSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 151;" f
grahamEliminate src/Geometry/Polygon.hs 186;" f grahamEliminate src/Geometry/Polygon.hs 186;" f
grahamScan src/Geometry/Polygon.hs 177;" f grahamScan src/Geometry/Polygon.hs 177;" f
grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f
@@ -3723,7 +3724,7 @@ hardQuit src/Dodge/Concurrent.hs 32;" f
hasAutoDoorBody src/Dodge/Creature/Test.hs 141;" f hasAutoDoorBody src/Dodge/Creature/Test.hs 141;" f
hasButtonLOS src/Dodge/Base/Collide.hs 304;" f hasButtonLOS src/Dodge/Base/Collide.hs 304;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasLOS src/Dodge/Base/Collide.hs 296;" f hasLOS src/Dodge/Base/Collide.hs 297;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 313;" f hasLOSIndirect src/Dodge/Base/Collide.hs 313;" f
hat src/Dodge/Item/Equipment.hs 65;" f hat src/Dodge/Item/Equipment.hs 65;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
@@ -3839,8 +3840,8 @@ invDimColor src/Dodge/DisplayInventory.hs 190;" f
invHead src/Dodge/Render/HUD.hs 421;" f invHead src/Dodge/Render/HUD.hs 421;" f
invIMDT src/Dodge/Item/Grammar.hs 254;" f invIMDT src/Dodge/Item/Grammar.hs 254;" f
invIndents src/Dodge/Item/Grammar.hs 261;" f invIndents src/Dodge/Item/Grammar.hs 261;" f
invItemEffs src/Dodge/Creature/State.hs 62;" f invItemEffs src/Dodge/Creature/State.hs 63;" f
invItemLocUpdate src/Dodge/Creature/State.hs 70;" f invItemLocUpdate src/Dodge/Creature/State.hs 71;" f
invRootMap src/Dodge/Item/Grammar.hs 235;" f invRootMap src/Dodge/Item/Grammar.hs 235;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 284;" f invSetSelection src/Dodge/Inventory.hs 284;" f
@@ -3877,7 +3878,7 @@ isNothing' src/MaybeHelp.hs 31;" f
isOnSeg src/Geometry.hs 237;" f isOnSeg src/Geometry.hs 237;" f
isOutLnk src/Dodge/PlacementSpot.hs 168;" f isOutLnk src/Dodge/PlacementSpot.hs 168;" f
isOutLnkNum src/Dodge/PlacementSpot.hs 173;" f isOutLnkNum src/Dodge/PlacementSpot.hs 173;" f
isOverTerminalScreen src/Dodge/Update.hs 470;" f isOverTerminalScreen src/Dodge/Update.hs 467;" f
isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f
isRHS src/Geometry/LHS.hs 44;" f isRHS src/Geometry/LHS.hs 44;" f
@@ -4022,7 +4023,7 @@ linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
listConfig src/Dodge/Menu.hs 232;" f listConfig src/Dodge/Menu.hs 232;" f
listControls src/Dodge/Menu.hs 244;" f listControls src/Dodge/Menu.hs 244;" f
listCursor src/Dodge/Render/List.hs 120;" f listCursor src/Dodge/Render/List.hs 120;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 197;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f lmt src/MatrixHelper.hs 53;" f
@@ -4270,7 +4271,7 @@ muzzleWallCheck src/Dodge/Update.hs 346;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 182;" f mvButton src/Dodge/Placement/PlaceSpot.hs 182;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 185;" f mvCr src/Dodge/Placement/PlaceSpot.hs 185;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 188;" f mvFS src/Dodge/Placement/PlaceSpot.hs 188;" f
mvGust src/Dodge/Update.hs 872;" f mvGust src/Dodge/Update.hs 870;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 235;" f mvLS src/Dodge/Placement/PlaceSpot.hs 235;" 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
@@ -4298,7 +4299,7 @@ nextInSectionSS src/Dodge/SelectionSections.hs 34;" f
nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f
noPic src/ShapePicture.hs 25;" f noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 18;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 20;" f
nodesNear src/Dodge/Path.hs 75;" f nodesNear src/Dodge/Path.hs 75;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 260;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 260;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
@@ -4358,11 +4359,11 @@ overPos src/Picture/Base.hs 298;" f
overPosObj src/Shape.hs 274;" f overPosObj src/Shape.hs 274;" f
overPosSH src/Shape.hs 258;" f overPosSH src/Shape.hs 258;" f
overPosSP src/ShapePicture.hs 41;" f overPosSP src/ShapePicture.hs 41;" f
overlapCircWalls src/Dodge/Base/Collide.hs 232;" f overlapCircWalls src/Dodge/Base/Collide.hs 233;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 271;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 272;" f
overlapSegCrs src/Dodge/Base/Collide.hs 59;" f overlapSegCrs src/Dodge/Base/Collide.hs 60;" f
overlapSegWalls src/Dodge/Base/Collide.hs 212;" f overlapSegWalls src/Dodge/Base/Collide.hs 213;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 180;" f overrideInternal src/Dodge/Creature/ReaderUpdate.hs 181;" f
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f
overwriteLabel src/Dodge/Tree/Compose.hs 32;" f overwriteLabel src/Dodge/Tree/Compose.hs 32;" f
p src/ShortShow.hs 48;" f p src/ShortShow.hs 48;" f
@@ -4384,7 +4385,7 @@ pauseMenu src/Dodge/Menu.hs 57;" f
pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f pauseSound src/Dodge/SoundLogic.hs 42;" f
pauseTime src/Dodge/Update.hs 217;" f pauseTime src/Dodge/Update.hs 217;" f
pbFlicker src/Dodge/Update.hs 546;" f pbFlicker src/Dodge/Update.hs 547;" f
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 112;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 112;" 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
@@ -4549,10 +4550,10 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 84;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f
pushCr src/Dodge/WallCreatureCollisions.hs 38;" f pushCr src/Dodge/WallCreatureCollisions.hs 40;" f
pushL src/DoubleStack.hs 20;" f pushL src/DoubleStack.hs 20;" f
pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 84;" f pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 87;" f
pushOutFromWall src/Dodge/WallCreatureCollisions.hs 73;" f pushOutFromWall src/Dodge/WallCreatureCollisions.hs 76;" f
pushR src/DoubleStack.hs 24;" f pushR src/DoubleStack.hs 24;" f
pushScreen src/Dodge/Menu/PushPop.hs 9;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f
pushYouOutFromWalls src/Dodge/Update.hs 342;" f pushYouOutFromWalls src/Dodge/Update.hs 342;" f
@@ -4613,7 +4614,7 @@ randPeakedParam src/RandomHelp.hs 149;" f
randProb src/RandomHelp.hs 87;" f randProb src/RandomHelp.hs 87;" f
randSpark src/Dodge/Spark.hs 70;" f randSpark src/Dodge/Spark.hs 70;" f
randSparkExtraVel src/Dodge/Spark.hs 93;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f
randWallReflect src/Dodge/Update.hs 728;" f randWallReflect src/Dodge/Update.hs 726;" f
randomChallenges src/Dodge/Room/Start.hs 64;" f randomChallenges src/Dodge/Room/Start.hs 64;" f
randomCompass src/Dodge/Layout.hs 60;" f randomCompass src/Dodge/Layout.hs 60;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 247;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 247;" f
@@ -4680,7 +4681,7 @@ renderLayer src/Render.hs 206;" f
renderLightingNoShadows src/Render.hs 49;" f renderLightingNoShadows src/Render.hs 49;" f
renderListAt src/Dodge/Render/List.hs 177;" f renderListAt src/Dodge/Render/List.hs 177;" f
renderShadows src/Render.hs 116;" f renderShadows src/Render.hs 116;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 169;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 67;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 67;" f
resetPLUse src/Dodge/PlacementSpot.hs 94;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f
@@ -4831,7 +4832,7 @@ seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f
seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f
seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 749;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 749;" f
seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 214;" f
secondColumnLDP src/Dodge/ListDisplayParams.hs 45;" f secondColumnLDP src/Dodge/ListDisplayParams.hs 45;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 202;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 202;" f
sectionsSizes src/Dodge/DisplayInventory.hs 205;" f sectionsSizes src/Dodge/DisplayInventory.hs 205;" f
@@ -4876,11 +4877,11 @@ setLinkType src/Dodge/RoomLink.hs 79;" f
setLinkTypePD src/Dodge/RoomLink.hs 86;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f
setMusicVolume src/Sound.hs 164;" f setMusicVolume src/Sound.hs 164;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f
setOldPos src/Dodge/Update.hs 580;" f setOldPos src/Dodge/Update.hs 578;" f
setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinks src/Dodge/RoomLink.hs 49;" f
setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 289;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" 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
@@ -4940,8 +4941,8 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftSetDown src/Dodge/Inventory.hs 170;" f shiftSetDown src/Dodge/Inventory.hs 170;" f
shiftSetUp src/Dodge/Inventory.hs 164;" f shiftSetUp src/Dodge/Inventory.hs 164;" f
shineTargetLaser src/Dodge/Creature/State.hs 200;" f shineTargetLaser src/Dodge/Creature/State.hs 201;" f
shineTorch src/Dodge/Creature/State.hs 236;" f shineTorch src/Dodge/Creature/State.hs 237;" f
shootBullet src/Dodge/HeldUse.hs 995;" f shootBullet src/Dodge/HeldUse.hs 995;" f
shootBullets src/Dodge/HeldUse.hs 989;" f shootBullets src/Dodge/HeldUse.hs 989;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f
@@ -4967,10 +4968,10 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 130;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 57;" f showManObj src/Dodge/TestString.hs 75;" f
showMuzzlePositions src/Dodge/Debug.hs 292;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 66;" f showTimeFlow src/Dodge/TestString.hs 84;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
shrinkVert src/Geometry/Polygon.hs 202;" f shrinkVert src/Geometry/Polygon.hs 202;" f
shuffle src/RandomHelp.hs 68;" f shuffle src/RandomHelp.hs 68;" f
@@ -5076,7 +5077,7 @@ sqPlatformChasm src/Dodge/Room/Tutorial.hs 225;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 240;" f sqSpitChasm src/Dodge/Room/Tutorial.hs 240;" 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 87;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 90;" f
squashNormalizeV src/Geometry/Vector.hs 158;" f squashNormalizeV src/Geometry/Vector.hs 158;" f
ssLookupDown src/Dodge/SelectionSections.hs 96;" f ssLookupDown src/Dodge/SelectionSections.hs 96;" f
ssLookupGE' src/Dodge/SelectionSections.hs 150;" f ssLookupGE' src/Dodge/SelectionSections.hs 150;" f
@@ -5169,7 +5170,7 @@ targCorner src/Dodge/Targeting/Draw.hs 35;" f
targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f
targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 14;" f targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 14;" f
targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f
targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 202;" f targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 203;" f
targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f
targetingScope src/Dodge/Item/Scope.hs 38;" f targetingScope src/Dodge/Item/Scope.hs 38;" f
tbComplete src/Dodge/Terminal.hs 217;" f tbComplete src/Dodge/Terminal.hs 217;" f
@@ -5191,7 +5192,7 @@ testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 307;" f testInventory src/Dodge/Creature.hs 307;" f
testPic src/Dodge/Render/ShapePicture.hs 57;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f
testSPic src/Dodge/Render/ShapePicture.hs 54;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f
testStringInit src/Dodge/TestString.hs 35;" f testStringInit src/Dodge/TestString.hs 36;" f
text src/Picture/Base.hs 185;" f text src/Picture/Base.hs 185;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 43;" f textInputBlurb src/Dodge/Terminal.hs 43;" f
@@ -5269,7 +5270,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f
topInvW src/Dodge/ListDisplayParams.hs 54;" f topInvW src/Dodge/ListDisplayParams.hs 54;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 53;" f topTestPart src/Dodge/TestString.hs 71;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 84;" f torqueCr src/Dodge/WorldEffect.hs 84;" f
@@ -5324,7 +5325,7 @@ trunkDepth src/TreeHelp.hs 162;" f
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 236;" f tryClickUse src/Dodge/Creature/YourControl.hs 236;" f
tryCombine src/Dodge/Update/Input/InGame.hs 521;" f tryCombine src/Dodge/Update/Input/InGame.hs 521;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f
tryGetChannel src/Sound.hs 99;" f tryGetChannel src/Sound.hs 99;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f
@@ -5335,9 +5336,9 @@ tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f
trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f
trySpin src/Dodge/Projectile/Update.hs 120;" f trySpin src/Dodge/Projectile/Update.hs 120;" f
trySynthBullet src/Dodge/Creature/State.hs 166;" f trySynthBullet src/Dodge/Creature/State.hs 167;" f
tryThrust src/Dodge/Projectile/Update.hs 126;" f tryThrust src/Dodge/Projectile/Update.hs 126;" f
tryUseParent src/Dodge/Creature/State.hs 144;" 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 53;" f tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f
@@ -5377,7 +5378,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f
updateAimPos src/Dodge/Update.hs 376;" f updateAimPos src/Dodge/Update.hs 379;" f
updateAllNodes src/TreeHelp.hs 86;" f updateAllNodes src/TreeHelp.hs 86;" f
updateArc src/Dodge/Tesla.hs 43;" f updateArc src/Dodge/Tesla.hs 43;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 454;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 454;" f
@@ -5387,52 +5388,52 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f
updateBounds src/Dodge/Update/Camera.hs 262;" f updateBounds src/Dodge/Update/Camera.hs 262;" 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 643;" f updateBullets src/Dodge/Update.hs 641;" f
updateCamera src/Dodge/Update/Camera.hs 33;" f updateCamera src/Dodge/Update/Camera.hs 33;" f
updateCloseObjects src/Dodge/Inventory.hs 125;" f updateCloseObjects src/Dodge/Inventory.hs 125;" f
updateCloud src/Dodge/Update.hs 885;" f updateCloud src/Dodge/Update.hs 883;" f
updateClouds src/Dodge/Update.hs 754;" f updateClouds src/Dodge/Update.hs 752;" 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 37;" f updateCreature src/Dodge/Creature/Update.hs 37;" f
updateCreatureGroups src/Dodge/Update.hs 615;" f updateCreatureGroups src/Dodge/Update.hs 613;" f
updateCreatureSoundPositions src/Dodge/Update.hs 594;" f updateCreatureSoundPositions src/Dodge/Update.hs 592;" f
updateCreatureStride src/Dodge/Update.hs 370;" f updateCreatureStride src/Dodge/Update.hs 373;" f
updateCreatureStrides src/Dodge/Update.hs 367;" f updateCreatureStrides src/Dodge/Update.hs 370;" f
updateDebris src/Dodge/Update.hs 657;" f updateDebris src/Dodge/Update.hs 655;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 102;" f updateDebugMessageOffset src/Dodge/Update.hs 102;" f
updateDelayedEvents src/Dodge/Update.hs 988;" f updateDelayedEvents src/Dodge/Update.hs 996;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 8;" f updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 636;" f updateDistortions src/Dodge/Update.hs 634;" f
updateDoor src/Dodge/Door.hs 22;" f updateDoor src/Dodge/Door.hs 22;" f
updateDoors src/Dodge/Update.hs 381;" f updateDoors src/Dodge/Update.hs 384;" f
updateDust src/Dodge/Update.hs 932;" f updateDust src/Dodge/Update.hs 931;" f
updateDusts src/Dodge/Update.hs 760;" f updateDusts src/Dodge/Update.hs 758;" f
updateEdge src/Dodge/Path.hs 43;" f updateEdge src/Dodge/Path.hs 43;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 745;" f updateEnergyBalls src/Dodge/Update.hs 743;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 481;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 481;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFlame src/Dodge/Flame.hs 19;" f updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 742;" f updateFlames src/Dodge/Update.hs 740;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 338;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 338;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 334;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 334;" f
updateGas src/Dodge/Update.hs 907;" f updateGas src/Dodge/Update.hs 905;" f
updateGasses src/Dodge/Update.hs 757;" f updateGasses src/Dodge/Update.hs 755;" f
updateGusts src/Dodge/Update.hs 869;" f updateGusts src/Dodge/Update.hs 867;" f
updateIMl src/Dodge/Update.hs 609;" f updateIMl src/Dodge/Update.hs 607;" f
updateIMl' src/Dodge/Update.hs 612;" f updateIMl' src/Dodge/Update.hs 610;" f
updateInGameCamera src/Dodge/Update/Camera.hs 86;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 404;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 404;" f
updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 258;" f updateItemTargeting src/Dodge/Creature/State.hs 259;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 371;" f updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 371;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 398;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 398;" f
updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f
@@ -5440,35 +5441,35 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 357;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 380;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 380;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 496;" f updateLasers src/Dodge/Update.hs 493;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" 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 417;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 417;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 384;" f updateMagnets src/Dodge/Update.hs 387;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 205;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 205;" f
updateMouseContext src/Dodge/Update.hs 397;" f updateMouseContext src/Dodge/Update.hs 400;" f
updateMouseContextGame src/Dodge/Update.hs 402;" f updateMouseContextGame src/Dodge/Update.hs 405;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 98;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 98;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 168;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 168;" f
updateObjCatMaybes src/Dodge/Update.hs 627;" f updateObjCatMaybes src/Dodge/Update.hs 625;" f
updateObjMapMaybe src/Dodge/Update.hs 620;" f updateObjMapMaybe src/Dodge/Update.hs 618;" f
updatePastWorlds src/Dodge/Update.hs 485;" f updatePastWorlds src/Dodge/Update.hs 482;" f
updatePlasmaBall src/Dodge/Update.hs 510;" f updatePlasmaBall src/Dodge/Update.hs 507;" f
updatePlasmaBalls src/Dodge/Update.hs 650;" f updatePlasmaBalls src/Dodge/Update.hs 648;" f
updatePreload src/Preload/Update.hs 21;" f updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 179;" f updatePulse src/Dodge/Creature/Update.hs 179;" f
updatePulseBall src/Dodge/Update.hs 526;" f updatePulseBall src/Dodge/Update.hs 527;" f
updatePulseLaser src/Dodge/Update.hs 697;" f updatePulseLaser src/Dodge/Update.hs 695;" f
updatePulseLasers src/Dodge/Update.hs 505;" f updatePulseLasers src/Dodge/Update.hs 502;" 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 639;" f updateRadarBlips src/Dodge/Update.hs 637;" f
updateRadarSweep src/Dodge/RadarSweep.hs 40;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f
updateRadarSweeps src/Dodge/Update.hs 748;" f updateRadarSweeps src/Dodge/Update.hs 746;" f
updateRandNode src/TreeHelp.hs 109;" f updateRandNode src/TreeHelp.hs 109;" f
updateRenderSplit appDodge/Main.hs 104;" f updateRenderSplit appDodge/Main.hs 104;" f
updateRightParentSF src/Dodge/Item/Grammar.hs 188;" f updateRightParentSF src/Dodge/Item/Grammar.hs 188;" f
@@ -5478,17 +5479,17 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 262;" f updateSection src/Dodge/DisplayInventory.hs 262;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f
updateShockwave src/Dodge/Shockwave/Update.hs 8;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f
updateShockwaves src/Dodge/Update.hs 739;" f updateShockwaves src/Dodge/Update.hs 737;" f
updateSingleNodes src/TreeHelp.hs 98;" f updateSingleNodes src/TreeHelp.hs 98;" f
updateSound src/Sound.hs 73;" f updateSound src/Sound.hs 73;" f
updateSounds src/Sound.hs 68;" f updateSounds src/Sound.hs 68;" f
updateSpark src/Dodge/Spark.hs 20;" f updateSpark src/Dodge/Spark.hs 20;" f
updateSparks src/Dodge/Update.hs 751;" f updateSparks src/Dodge/Update.hs 749;" f
updateTerminal src/Dodge/Update.hs 564;" f updateTerminal src/Dodge/Update.hs 565;" f
updateTeslaArc src/Dodge/Update.hs 667;" f updateTeslaArc src/Dodge/Update.hs 665;" f
updateTeslaArcs src/Dodge/Update.hs 664;" f updateTeslaArcs src/Dodge/Update.hs 662;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 736;" f updateTractorBeams src/Dodge/Update.hs 734;" f
updateTurret src/Dodge/Machine/Update.hs 56;" f updateTurret src/Dodge/Machine/Update.hs 56;" f
updateUniverse src/Dodge/Update.hs 81;" f updateUniverse src/Dodge/Update.hs 81;" f
updateUniverseFirst src/Dodge/Update.hs 92;" f updateUniverseFirst src/Dodge/Update.hs 92;" f
@@ -5499,7 +5500,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" 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 15;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 475;" f updateWheelEvents src/Dodge/Update.hs 472;" f
updateWorldEventFlag src/Dodge/Update.hs 127;" f updateWorldEventFlag src/Dodge/Update.hs 127;" f
updateWorldEventFlags src/Dodge/Update.hs 115;" f updateWorldEventFlags src/Dodge/Update.hs 115;" f
upperBody src/Dodge/Creature/Picture.hs 118;" f upperBody src/Dodge/Creature/Picture.hs 118;" f
@@ -5562,9 +5563,9 @@ viewClipBounds src/Dodge/Debug/Picture.hs 350;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 202;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 202;" f
viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f
viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 156;" f
violet src/Color.hs 48;" f violet src/Color.hs 48;" f
visibleWalls src/Dodge/Base/Collide.hs 217;" f visibleWalls src/Dodge/Base/Collide.hs 218;" f
visionCheck src/Dodge/Creature/Perception.hs 152;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
@@ -5572,9 +5573,9 @@ volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f
walkNozzle src/Dodge/HeldUse.hs 826;" f walkNozzle src/Dodge/HeldUse.hs 826;" f
walkableNodeNear src/Dodge/Path.hs 69;" f walkableNodeNear src/Dodge/Path.hs 69;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 68;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 71;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallToSurface src/Dodge/Base/Collide.hs 181;" f wallToSurface src/Dodge/Base/Collide.hs 182;" f
wallsFromRooms src/Dodge/Layout.hs 141;" f wallsFromRooms src/Dodge/Layout.hs 141;" f
wallsToDraw src/Dodge/Render/Walls.hs 18;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f
warmupSound src/Dodge/HeldUse.hs 1396;" f warmupSound src/Dodge/HeldUse.hs 1396;" f
@@ -5586,7 +5587,7 @@ wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 169;" f wasdMovement src/Dodge/Creature/YourControl.hs 169;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 185;" f watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 186;" f
weaponBehindPillar src/Dodge/Room/Room.hs 197;" f weaponBehindPillar src/Dodge/Room/Room.hs 197;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 213;" f weaponBetweenPillars src/Dodge/Room/Room.hs 213;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 158;" f weaponEmptyRoom src/Dodge/Room/Room.hs 158;" f
@@ -5627,9 +5628,9 @@ wlIsOpaque src/Dodge/Base/Wall.hs 6;" f
wlIsSeeThrough src/Dodge/Base/Wall.hs 11;" f wlIsSeeThrough src/Dodge/Base/Wall.hs 11;" f
wlOpaqueDraw src/Dodge/Render/Walls.hs 53;" f wlOpaqueDraw src/Dodge/Render/Walls.hs 53;" f
wlSeeThroughDraw src/Dodge/Render/Walls.hs 56;" f wlSeeThroughDraw src/Dodge/Render/Walls.hs 56;" f
wlWlCrush src/Dodge/WallCreatureCollisions.hs 62;" f wlWlCrush src/Dodge/WallCreatureCollisions.hs 65;" f
wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f
wlsCrush src/Dodge/WallCreatureCollisions.hs 58;" f wlsCrush src/Dodge/WallCreatureCollisions.hs 61;" f
wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 156;" f wlsHit src/Dodge/WorldEvent/ThingsHit.hs 156;" f
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 168;" f wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 168;" f
@@ -5677,11 +5678,11 @@ zeroZ src/Geometry/Vector.hs 9;" f
zipArcs src/Dodge/Tesla.hs 51;" f zipArcs src/Dodge/Tesla.hs 51;" f
zipCount src/Dodge/Tree/Shift.hs 142;" f zipCount src/Dodge/Tree/Shift.hs 142;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f
zoneClouds src/Dodge/Update.hs 553;" f zoneClouds src/Dodge/Update.hs 554;" f
zoneCreature src/Dodge/Zoning/Creature.hs 56;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f
zoneCreatures src/Dodge/Update.hs 590;" f zoneCreatures src/Dodge/Update.hs 588;" f
zoneDust src/Dodge/Zoning/Cloud.hs 57;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f
zoneDusts src/Dodge/Update.hs 558;" f zoneDusts src/Dodge/Update.hs 559;" f
zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f
zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f
zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f