Cleanup, move towards explosions at different z positions

This commit is contained in:
2025-08-04 22:13:45 +01:00
parent 7714e2e298
commit bde0fa2a5c
4 changed files with 221 additions and 178 deletions
+78 -38
View File
@@ -18,7 +18,7 @@ module Dodge.Base.Collide (
collideCircWalls,
overlapSegWalls,
overlapSegCrs,
-- bounceBall,
-- bounceBall,
bouncePoint,
circOnSomeWall,
circOnAnyCr,
@@ -37,14 +37,14 @@ module Dodge.Base.Collide (
collide3,
) where
import Dodge.Data.Object
import Control.Monad
import Dodge.Creature.Radius
import Control.Lens
import Control.Monad
import qualified Data.IntSet as IS
import Data.List (sortOn)
import Data.Maybe
import Dodge.Base.Wall
import Dodge.Creature.Radius
import Dodge.Data.Object
import Dodge.Data.World
import Dodge.Zoning
import FoldableHelp
@@ -85,63 +85,95 @@ bouncePoint :: (Wall -> Bool) -> Float -> Point2 -> Point2 -> World -> Maybe (Po
{-# INLINE bouncePoint #-}
bouncePoint t x sp ep = doBounce x sp ep . collidePointWallsFilter t sp ep
type MPO = Maybe (Point3,Object)
type MPO = Maybe (Point3, Object)
collide3WallsFloor :: Point3 -> Point3 -> World -> (Point3, MPO)
collide3WallsFloor sp ep w = collide3Floors sp (w ^. cWorld . chasms)
$ collide3Walls sp w (ep,Nothing)
collide3WallsFloor sp ep w =
collide3Floors sp (w ^. cWorld . chasms) $
collide3Walls sp w (ep, Nothing)
collide3 :: Point3 -> Point3 -> World -> (Point3,MPO)
collide3 sp ep w = foldl' (flip $ collide3Creature sp) (p,m)
$ crsNearSeg (xyV3 sp) (xyV3 p) w
-- could check the line is at least below z=0 at some point
collide3Chasms :: Point3 -> World -> (Point3, MPO) -> (Point3, MPO)
collide3Chasms sp w m =
foldl'
(flip (collide3Chasm sp))
m
(foldMap loopPairs $ w ^. cWorld . chasms)
collide3Chasm :: Point3 -> (Point2, Point2) -> (Point3, MPO) -> (Point3, MPO)
collide3Chasm sp ab (ep, m) =
maybe (ep, m) (,Just (n, OChasmWall)) $
intersectSegSurface sp ep p n ss
where
(p,m) = collide3WallsFloor sp ep w
(p, n, ss) = chasmWallToSurface ab
chasmWallToSurface :: (Point2, Point2) -> (Point3, Point3, [(Point3, Point3)])
chasmWallToSurface (x, y) =
( g x
, g $ vNormal (x - y)
, [(g x, g (y - x)), (g y, g (x - y)), (0, V3 0 0 (-1))]
)
where
g = (`v2z` 0)
collide3 :: Point3 -> Point3 -> World -> (Point3, MPO)
collide3 sp ep w =
collide3Chasms sp w
. foldl' (flip $ collide3Creature sp) (p, m)
$ crsNearSeg (xyV3 sp) (xyV3 p) w
where
(p, m) = collide3WallsFloor sp ep w
-- Just (hitpoint,normaltosurface)
collide3Walls :: Point3 -> World -> (Point3, MPO) -> (Point3, MPO)
collide3Walls sp w ex@(ep,_) = foldl' f ex wls
collide3Walls sp w ex@(ep, _) = foldl' f ex wls
where
f x wl = collide3Wall sp wl x
wls = wlsNearSeg (xyV3 sp) (xyV3 ep) w
collide3Floors :: Point3 -> [[Point2]] -> (Point3, Maybe (Point3,Object))
-> (Point3, Maybe (Point3,Object))
collide3Floors sp cs (ep,mn) = maybe (ep,mn) (,Just (V3 0 0 1,OFloor)) mp
collide3Floors ::
Point3 ->
[[Point2]] ->
(Point3, Maybe (Point3, Object)) ->
(Point3, Maybe (Point3, Object))
collide3Floors sp cs (ep, mn) = maybe (ep, mn) (,Just (V3 0 0 1, OFloor)) mp
where
mp = do
V3 x y z <- intersectSegPlane sp ep (V3 0 0 0) (V3 0 0 1)
let g (a,b) = isRHS a b (V2 x y)
let g (a, b) = isRHS a b (V2 x y)
f = any g
guard (all (f . loopPairs) cs)
return $ (V3 x y z)
collide3Wall :: Point3 -> Wall -> (Point3, MPO) -> (Point3, MPO)
collide3Wall sp wl (ep,mo) = maybe (ep,mo) (,Just (n,OWall wl)) $ intersectSegSurface sp ep p n ss
collide3Wall sp wl (ep, mo) = maybe (ep, mo) (,Just (n, OWall wl)) $ intersectSegSurface sp ep p n ss
where
(p,n,ss) = wallToSurface wl
(p, n, ss) = wallToSurface wl
collide3Creature :: Point3 -> Creature -> (Point3, MPO) -> (Point3, MPO)
collide3Creature sp cr (ep,m) = fromMaybe (ep,m) $ do
(sp',ep') <- restrictSeg 0 (V3 0 0 1) (sp,ep) >>= restrictSeg (V3 0 0 25) (V3 0 0 (-1))
collide3Creature sp cr (ep, m) = fromMaybe (ep, m) $ do
(sp', ep') <- restrictSeg 0 (V3 0 0 1) (sp, ep) >>= restrictSeg (V3 0 0 25) (V3 0 0 (-1))
p <- listToMaybe $ intersectCircSeg cpos (crRad $ cr ^. crType) (xyV3 sp') (xyV3 ep')
let z = 0
return (p `v2z` z,Just (normalize $ (p - cpos) `v2z` 0, OCreature cr))
return (p `v2z` z, Just (normalize $ (p - cpos) `v2z` 0, OCreature cr))
where
cpos = cr ^. crPos
restrictSeg :: Point3 -> Point3 -> (Point3,Point3) -> Maybe (Point3,Point3)
restrictSeg p n (sp,ep)
restrictSeg :: Point3 -> Point3 -> (Point3, Point3) -> Maybe (Point3, Point3)
restrictSeg p n (sp, ep)
| isNHS p n sp
, isNHS p n ep = Just (sp,ep)
, isNHS p n ep =
Just (sp, ep)
| isNHS p n sp = (sp,) <$> intersectSegPlane sp ep p n
| otherwise = (,ep) <$> intersectSegPlane sp ep p n
-- note if both sp & ep are not NHS, this returns Nothing
wallToSurface :: Wall -> (Point3,Point3,[(Point3,Point3)])
wallToSurface wl = (g x, g $ vNormal (x-y), [(g x,g (y-x)),(g y,g (x-y))])
where
g = (`v2z` 0)
(x,y) = _wlLine wl
-- note if both sp & ep are not NHS, this returns Nothing
wallToSurface :: Wall -> (Point3, Point3, [(Point3, Point3)])
wallToSurface wl = (g x, g $ vNormal (x - y), [(g x, g (y - x)), (g y, g (x - y))])
where
g = (`v2z` 0)
(x, y) = _wlLine wl
-- this COULD be written in terms of collidePointWallsFilterStream, TODO test
-- whether this is actually faster
@@ -198,9 +230,11 @@ overlapCircWalls p r = mapMaybe dointersect
f (a, b) = intersectSegSeg p (p +.+ r *.* normalizeV ((0.5 *.* (a +.+ b)) -.- p)) a b
circHitWall :: Point2 -> Point2 -> Float -> World -> Bool
circHitWall sp ep r w = any (uncurry (intersectSegSegTest xsp xep) . _wlLine)
circHitWall sp ep r w =
any
(uncurry (intersectSegSegTest xsp xep) . _wlLine)
(wlsNearSeg xsp xep w)
|| circOnSomeWall ep r w
|| circOnSomeWall ep r w
where
x = r *.* normalizeV (ep - sp)
xsp = sp - x
@@ -213,12 +247,17 @@ collideCircWalls sp ep rad = foldl' findPoint (ep, Nothing)
where
findPoint (p, mwl) wl =
maybe (p, mwl) (,Just wl) . uncurry (intersectSegSeg sp p)
. shiftbyrad . _wlLine $ wl
-- shiftbyrad (a, b) =
-- ( a +.+ rad *.* normalizeV (a -.- b)
-- , b +.+ rad *.* normalizeV (b -.- a)
-- )
shiftbyrad (a, b) = bimap f f
. shiftbyrad
. _wlLine
$ wl
-- shiftbyrad (a, b) =
-- ( a +.+ rad *.* normalizeV (a -.- b)
-- , b +.+ rad *.* normalizeV (b -.- a)
-- )
shiftbyrad (a, b) =
bimap
f
f
( a +.+ rad *.* normalizeV (a -.- b)
, b +.+ rad *.* normalizeV (b -.- a)
)
@@ -262,6 +301,7 @@ hasLOS p1 p2 =
hasButtonLOS :: Point2 -> Point2 -> World -> Bool
{-# INLINE hasButtonLOS #-}
hasButtonLOS _ _ = const True
--hasButtonLOS p1 p2 =
-- not
-- . collidePointTestFilter (not . _wlTouchThrough) p1 p2
+28 -25
View File
@@ -64,7 +64,7 @@ shellExplosionCheck pj w
time = _pjTimer pj
shellHitWall :: Point3 -> Point3 -> Wall -> Projectile -> World -> World
shellHitWall p' n wl pj w
shellHitWall p' _ wl pj w
| Just GStick <- pj ^? pjType . gnHitEffect =
w
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjType
@@ -84,28 +84,27 @@ shellHitWall p' n wl pj w
p = xyV3 p'
hitline = normalizeV $ uncurry (-) $ _wlLine wl
shellHitCreature :: Point3 -> Point3 -> Creature -> Projectile -> World -> World
shellHitCreature p' n cr pj w
shellHitCreature :: Point3 -> Creature -> Projectile -> World -> World
shellHitCreature p cr pj w
| Just GStick <- pj ^? pjType . gnHitEffect =
w
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjType
.~ Grenade
( GStuckCreature
(cr ^. crID)
(rotate3z (- cr ^. crDir) (p' - ((cr ^. crPos)`v2z`0)))
(rotate3z (- cr ^. crDir) (p - ((cr ^. crPos)`v2z`0)))
(pj ^. pjDir - cr ^. crDir)
)
& soundOriginIDsAt (ShellSound (pj ^. pjID)) [slapS, slap1S] (pj ^. pjPos . _xy)
| otherwise = w & cWorld . lWorld . projectiles . ix (_pjID pj) . pjPos .~ p'
| otherwise = w
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjTimer .~ 0
where
p = xyV3 p'
shellHitFloor :: Point3 -> Point3 -> Projectile -> World -> World
shellHitFloor p' n pj w
shellHitFloor :: Point3 -> Projectile -> World -> World
shellHitFloor p' pj w
| z < 1 && norm (_pjVel pj) < 1 = w
| otherwise =
w & topj . pjPos . _z .~ 0.1
w
& topj . pjPos .~ (p' & _z .~ 0.1)
& topj . pjVel . _z %~ bouncez
& topj . pjVel . _xy %~ decvel
& topj . pjSpin %~ decspin
@@ -244,14 +243,9 @@ pjRemoteSetDirection ph pj w = case ph of
where
lw = w ^. cWorld . lWorld
moveStuckGrenade :: Creature -> Point3 -> Float -> Projectile -> World -> World
moveStuckGrenade cr p d pj w = w
moveProjectile :: Projectile -> World -> World
moveProjectile pj w
| Just GStuckWall{} <- pj ^? pjType . gnHitEffect = w
| Just (GStuckCreature crid poff d) <- pj ^? pjType . gnHitEffect
, Just cr <- w ^? cWorld . lWorld . creatures . ix crid =
moveStuckGrenade :: Int -> Point3 -> Float -> Projectile -> World -> World
moveStuckGrenade cid poff d pj w
| Just cr <- w ^? cWorld . lWorld . creatures . ix cid =
let cpos = cr ^. crPos
cdir = cr ^. crDir
vel = cpos - cr ^. crOldPos
@@ -260,21 +254,30 @@ moveProjectile pj w
.~ xyV3 ((cpos `v2z` 0) + rotate3z cdir poff)
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjDir .~ d + cdir
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjVel . _xy .~ vel
| Just GStuckCreature{} <- pj ^? pjType . gnHitEffect =
| otherwise =
w & cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjType .~ Grenade GStick
| (p,Just (n,OWall wl)) <- collide3 p (p + _pjVel pj) w
moveProjectile :: Projectile -> World -> World
moveProjectile pj w
| Just GStuckWall{} <- pj ^? pjType . gnHitEffect = w
| Just (GStuckCreature crid poff d) <- pj ^? pjType . gnHitEffect
= moveStuckGrenade crid poff d pj w
| (p,Just (n,OWall wl)) <- collide3 sp (sp + _pjVel pj) w
= shellHitWall p n wl pj w
| (p,Just (n,OFloor)) <- collide3 p (p + _pjVel pj) w
= shellHitFloor p n pj w
| (p,Just (n,OCreature cr)) <- collide3 p (p + _pjVel pj) w
= shellHitCreature p n cr pj w
| (p,Just (_,OFloor)) <- collide3 sp (sp + _pjVel pj) w
= shellHitFloor p pj w
| (p,Just (_,OCreature cr)) <- collide3 sp (sp + _pjVel pj) w
= shellHitCreature p cr pj w
| (_,Just (_,OChasmWall)) <- collide3 sp (sp + _pjVel pj) w
-- no stick or bounce for now
= w & cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjTimer .~ 0
| otherwise =
w
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjSpin *~ 0.99
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjPos +~ _pjVel pj
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjDir +~ _pjSpin pj
where
p = _pjPos pj
sp = _pjPos pj
explodeShell :: Projectile -> World -> World
explodeShell pj w =
+1 -1
View File
@@ -71,7 +71,7 @@ makeFlameExplosionAt p w =
makeExplosionAt :: Point2 -> Point2 -> World -> World
makeExplosionAt p vel w =
w
& soundStart (Explosion (w ^. cWorld . lWorld . lClock)) p bangS Nothing
& soundStart (Explosion (w ^. cWorld . lWorld . lClock)) (p) bangS Nothing
& addFlames
& cWorld . lWorld . worldEvents
.:~ MakeTempLight (LSParam (addZ 20 p) 150 (V3 1 0.5 0)) 20
+114 -114
View File
@@ -489,16 +489,16 @@ FullShadowFidelity src/Shape/Data.hs 24;" C
FullSize src/Dodge/Data/Item/Params.hs 28;" C
FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 34;" C
GBounce src/Dodge/Data/Projectile.hs 50;" C
GBounce src/Dodge/Data/Projectile.hs 48;" C
GEqC src/SameConstr.hs 20;" c
GIMBAL src/Dodge/Data/Item/Combine.hs 97;" C
GLASSSHARD src/Dodge/Data/Item/Combine.hs 61;" C
GLAUNCHER src/Dodge/Data/Item/Combine.hs 173;" C
GRAPECANNON src/Dodge/Data/Item/Combine.hs 151;" C
GREEN src/Color/Data.hs 16;" C
GStick src/Dodge/Data/Projectile.hs 51;" C
GStuckCreature src/Dodge/Data/Projectile.hs 52;" C
GStuckWall src/Dodge/Data/Projectile.hs 53;" C
GStick src/Dodge/Data/Projectile.hs 49;" C
GStuckCreature src/Dodge/Data/Projectile.hs 50;" C
GStuckWall src/Dodge/Data/Projectile.hs 51;" C
GYROSCOPE src/Dodge/Data/Item/Combine.hs 98;" C
GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C
GameOverOptions src/Dodge/Data/Universe.hs 72;" C
@@ -526,8 +526,8 @@ GoesOnLegs src/Dodge/Data/Equipment/Misc.hs 16;" C
GoesOnWrist src/Dodge/Data/Equipment/Misc.hs 15;" C
Government src/Dodge/Data/Scenario.hs 43;" C
GovernmentScope src/Dodge/Data/Scenario.hs 49;" t
Grenade src/Dodge/Data/Projectile.hs 35;" C
GrenadeHitEffect src/Dodge/Data/Projectile.hs 49;" t
Grenade src/Dodge/Data/Projectile.hs 33;" C
GrenadeHitEffect src/Dodge/Data/Projectile.hs 47;" t
GrenadeHitEffectSF src/Dodge/Data/ComposedItem.hs 37;" C
Gust src/Dodge/Data/Gust.hs 13;" t
GymSS src/Dodge/Data/Scenario.hs 104;" C
@@ -549,8 +549,8 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 29;" C
HeldItemType src/Dodge/Data/Item/Combine.hs 140;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 45;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 46;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
Hotkey src/Dodge/Data/Equipment/Misc.hs 32;" t
Hotkey0 src/Dodge/Data/Equipment/Misc.hs 49;" C
@@ -857,7 +857,7 @@ NoDebugInfo src/Dodge/Data/Universe.hs 58;" C
NoEscapeMenuOption src/Dodge/Data/Universe.hs 79;" C
NoFaction src/Dodge/Data/Creature/State.hs 20;" C
NoFlare src/Dodge/Data/Muzzle.hs 25;" C
NoHoming src/Dodge/Data/Projectile.hs 44;" C
NoHoming src/Dodge/Data/Projectile.hs 42;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 56;" C
NoItemScroll src/Dodge/Data/Item.hs 52;" C
@@ -1046,7 +1046,7 @@ Prison src/Dodge/Data/Scenario.hs 65;" C
Projectile src/Dodge/Data/Projectile.hs 17;" t
ProjectileParams src/Dodge/Data/Item/Use.hs 53;" C
ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 36;" C
ProjectileType src/Dodge/Data/Projectile.hs 34;" t
ProjectileType src/Dodge/Data/Projectile.hs 32;" t
Prop src/Dodge/Data/Prop.hs 18;" t
PropDoubleLampCover src/Dodge/Data/Prop.hs 63;" C
PropDraw src/Dodge/Data/Prop.hs 58;" t
@@ -1132,7 +1132,7 @@ RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
RectRoomType src/Dodge/Data/Room.hs 32;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 57;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C
ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C
Religion src/Dodge/Data/Scenario.hs 47;" C
Reload src/Dodge/Data/ActionPlan.hs 190;" C
@@ -1149,7 +1149,7 @@ ResFactor src/Dodge/Data/Config.hs 97;" t
ResearchFacility src/Dodge/Data/Scenario.hs 62;" C
ResourceFailure src/Dodge/Data/Scenario.hs 29;" C
RetailFacility src/Dodge/Data/Scenario.hs 67;" C
RetiredProjectile src/Dodge/Data/Projectile.hs 40;" C
RetiredProjectile src/Dodge/Data/Projectile.hs 38;" C
Revenge src/Dodge/Data/Scenario.hs 6;" C
RewindLeftClick src/Dodge/Data/World.hs 73;" C
RezBaySS src/Dodge/Data/Scenario.hs 105;" C
@@ -1157,9 +1157,9 @@ RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 13;" t
RightForward src/Dodge/Data/Creature/Stance.hs 33;" C
RightwardDT src/Dodge/Data/DoubleTree.hs 93;" C
RightwardLDT src/Dodge/Data/DoubleTree.hs 52;" C
Rocket src/Dodge/Data/Projectile.hs 36;" C
RocketHoming src/Dodge/Data/Projectile.hs 43;" t
RocketSmoke src/Dodge/Data/Projectile.hs 56;" t
Rocket src/Dodge/Data/Projectile.hs 34;" C
RocketHoming src/Dodge/Data/Projectile.hs 41;" t
RocketSmoke src/Dodge/Data/Projectile.hs 54;" t
RocketSmoke src/Dodge/Data/Cloud.hs 24;" C
Room src/Dodge/Data/GenWorld.hs 95;" t
RoomClipping src/Dodge/Data/Config.hs 107;" t
@@ -1617,7 +1617,7 @@ _bmRange src/Dodge/Data/Beam.hs 26;" f
_bmType src/Dodge/Data/Beam.hs 29;" f
_boffEff src/Dodge/Data/Button.hs 23;" f
_bonEff src/Dodge/Data/Button.hs 22;" f
_bounceTolerance src/Dodge/Data/Projectile.hs 50;" f
_bounceTolerance src/Dodge/Data/Projectile.hs 48;" f
_bpColor src/Dodge/Data/Button.hs 19;" f
_bpEff src/Dodge/Data/Button.hs 18;" f
_bsColor1 src/Dodge/Data/Button.hs 24;" f
@@ -1908,7 +1908,7 @@ _gfMax src/Dodge/Data/GenFloat.hs 12;" f
_gfMin src/Dodge/Data/GenFloat.hs 12;" f
_gibColor src/Dodge/Data/Prop.hs 44;" f
_gibSize src/Dodge/Data/Prop.hs 43;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 35;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 33;" f
_grBound src/Dodge/GameRoom.hs 18;" f
_grDir src/Dodge/GameRoom.hs 20;" f
_grLinkDirs src/Dodge/GameRoom.hs 21;" f
@@ -2155,25 +2155,23 @@ _peZoning src/Dodge/Data/World.hs 52;" f
_penEnd src/Dodge/Data/PathGraph.hs 35;" f
_penPathEdge src/Dodge/Data/PathGraph.hs 36;" f
_penStart src/Dodge/Data/PathGraph.hs 34;" f
_phRemoteID src/Dodge/Data/Projectile.hs 45;" f
_phTargetingID src/Dodge/Data/Projectile.hs 46;" f
_phRemoteID src/Dodge/Data/Projectile.hs 43;" f
_phTargetingID src/Dodge/Data/Projectile.hs 44;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 14;" f
_pickUps src/Dodge/Layout/Generate.hs 15;" f
_pictureShaders src/Data/Preload/Render.hs 28;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 89;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 27;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 29;" f
_pjDir src/Dodge/Data/Projectile.hs 21;" f
_pjID src/Dodge/Data/Projectile.hs 23;" f
_pjPayload src/Dodge/Data/Projectile.hs 24;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 25;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 27;" f
_pjDir src/Dodge/Data/Projectile.hs 20;" f
_pjID src/Dodge/Data/Projectile.hs 22;" f
_pjPayload src/Dodge/Data/Projectile.hs 23;" f
_pjPos src/Dodge/Data/Projectile.hs 18;" f
_pjScreenID src/Dodge/Data/Projectile.hs 30;" f
_pjSpin src/Dodge/Data/Projectile.hs 22;" f
_pjTimer src/Dodge/Data/Projectile.hs 25;" f
_pjType src/Dodge/Data/Projectile.hs 28;" f
_pjVel src/Dodge/Data/Projectile.hs 20;" f
_pjZ src/Dodge/Data/Projectile.hs 19;" f
_pjZVel src/Dodge/Data/Projectile.hs 26;" f
_pjScreenID src/Dodge/Data/Projectile.hs 28;" f
_pjSpin src/Dodge/Data/Projectile.hs 21;" f
_pjTimer src/Dodge/Data/Projectile.hs 24;" f
_pjType src/Dodge/Data/Projectile.hs 26;" f
_pjVel src/Dodge/Data/Projectile.hs 19;" f
_plIDCont src/Dodge/Data/GenWorld.hs 82;" f
_plMID src/Dodge/Data/GenWorld.hs 81;" f
_plOrder src/Dodge/Data/GenWorld.hs 78;" f
@@ -2265,8 +2263,8 @@ _renderData src/Data/Preload.hs 11;" f
_reverseAmount src/Dodge/Data/World.hs 64;" f
_reverseAmount src/Dodge/Data/World.hs 70;" f
_reverseAmount src/Dodge/Data/World.hs 74;" f
_rkHoming src/Dodge/Data/Projectile.hs 37;" f
_rkSmoke src/Dodge/Data/Projectile.hs 38;" f
_rkHoming src/Dodge/Data/Projectile.hs 35;" f
_rkSmoke src/Dodge/Data/Projectile.hs 36;" f
_rlDir src/Dodge/Data/Room.hs 26;" f
_rlPos src/Dodge/Data/Room.hs 25;" f
_rlType src/Dodge/Data/Room.hs 24;" f
@@ -2404,10 +2402,10 @@ _ssShownItems src/Dodge/Data/SelectionList.hs 32;" f
_ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
_strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f
_strideLength src/Dodge/Data/Creature/Stance.hs 16;" f
_stuckCrID src/Dodge/Data/Projectile.hs 52;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 52;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 52;" f
_stuckWlID src/Dodge/Data/Projectile.hs 53;" f
_stuckCrID src/Dodge/Data/Projectile.hs 50;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 50;" f
_stuckWlID src/Dodge/Data/Projectile.hs 51;" f
_subInventory src/Dodge/Data/HUD.hs 20;" f
_swColor src/Dodge/Data/Shockwave.hs 18;" f
_swDam src/Dodge/Data/Shockwave.hs 23;" f
@@ -2663,7 +2661,7 @@ airlockDoor src/Dodge/Room/Airlock.hs 51;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f
allVisibleWalls src/Dodge/Base/Collide.hs 183;" f
allVisibleWalls src/Dodge/Base/Collide.hs 215;" f
alongSegBy src/Geometry.hs 41;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
ammoMagInfo src/Dodge/Item/Info.hs 49;" f
@@ -2677,11 +2675,11 @@ angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 298;" f
anythingHitCirc src/Dodge/Base/Collide.hs 338;" f
applyCME src/Dodge/HeldUse.hs 378;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 42;" f
applyGravityPU src/Dodge/Projectile/Update.hs 43;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 444;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
@@ -2757,7 +2755,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 66;" f
barrelShape src/Dodge/Render/ShapePicture.hs 67;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 157;" f
@@ -2841,7 +2839,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 67;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 126;" f
btSPic src/Dodge/Render/ShapePicture.hs 127;" f
btText src/Dodge/Inventory/SelectionList.hs 234;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2859,8 +2857,8 @@ cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 284;" f
canSeeIndirect src/Dodge/Base/Collide.hs 291;" f
canSee src/Dodge/Base/Collide.hs 324;" f
canSeeIndirect src/Dodge/Base/Collide.hs 331;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 22;" f
capacitor src/Dodge/Item/Ammo.hs 69;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
@@ -2889,6 +2887,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
chasmTest src/Dodge/Creature/Update.hs 26;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 64;" f
checkDeath src/Dodge/Creature/State.hs 77;" f
@@ -2912,12 +2911,12 @@ chooseMovementPistol src/Dodge/Humanoid.hs 203;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circCollisionDebugItem src/Dodge/Debug.hs 63;" f
circHitWall src/Dodge/Base/Collide.hs 200;" f
circHitWall src/Dodge/Base/Collide.hs 232;" f
circInPolygon src/Geometry/Polygon.hs 70;" f
circOnAnyCr src/Dodge/Base/Collide.hs 248;" f
circOnAnyCr src/Dodge/Base/Collide.hs 287;" f
circOnSeg src/Geometry.hs 102;" f
circOnSegNoEndpoints src/Geometry.hs 92;" f
circOnSomeWall src/Dodge/Base/Collide.hs 242;" f
circOnSomeWall src/Dodge/Base/Collide.hs 281;" f
circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f
@@ -2942,7 +2941,7 @@ click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 582;" f
clickGetCreature src/Dodge/Debug.hs 107;" f
clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 222;" f
clipZoom src/Dodge/Update/Camera.hs 223;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 220;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f
@@ -2965,16 +2964,18 @@ colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f
collectDamageTypes src/Dodge/Damage.hs 53;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f
collide3 src/Dodge/Base/Collide.hs 94;" f
collide3Creature src/Dodge/Base/Collide.hs 123;" f
collide3Floors src/Dodge/Base/Collide.hs 107;" f
collide3Wall src/Dodge/Base/Collide.hs 118;" f
collide3Walls src/Dodge/Base/Collide.hs 101;" f
collide3 src/Dodge/Base/Collide.hs 119;" f
collide3Chasm src/Dodge/Base/Collide.hs 103;" f
collide3Chasms src/Dodge/Base/Collide.hs 96;" f
collide3Creature src/Dodge/Base/Collide.hs 153;" f
collide3Floors src/Dodge/Base/Collide.hs 134;" f
collide3Wall src/Dodge/Base/Collide.hs 148;" f
collide3Walls src/Dodge/Base/Collide.hs 128;" f
collide3WallsFloor src/Dodge/Base/Collide.hs 90;" f
collideCircWalls src/Dodge/Base/Collide.hs 210;" f
collideCircWalls src/Dodge/Base/Collide.hs 244;" f
collidePoint src/Dodge/Base/Collide.hs 54;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 148;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 162;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 180;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 194;" f
collisionDebugItem src/Dodge/Debug.hs 47;" f
color src/Picture/Base.hs 108;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f
@@ -3108,7 +3109,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 38;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
cubeShape src/Dodge/Block/Debris.hs 103;" f
cullPoint src/Dodge/Render/ShapePicture.hs 88;" f
cullPoint src/Dodge/Render/ShapePicture.hs 89;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3257,7 +3258,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMount src/Dodge/Block.hs 100;" f
destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 175;" f
destroyProjectile src/Dodge/Projectile/Update.hs 163;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 465;" f
@@ -3295,7 +3296,7 @@ doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 223;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 225;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 213;" f
doBlBl src/Dodge/BlBl.hs 5;" f
doBlSh src/Dodge/Block/Draw.hs 14;" f
doBounce src/Dodge/Base/Collide.hs 66;" f
@@ -3326,7 +3327,7 @@ doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1212;" f
doGravityPU src/Dodge/Projectile/Update.hs 36;" f
doGravityPU src/Dodge/Projectile/Update.hs 37;" f
doHeldUseEffect src/Dodge/HeldUse.hs 354;" f
doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f
@@ -3362,11 +3363,11 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 197;" f
doThrust src/Dodge/Projectile/Update.hs 185;" f
doTimeScroll src/Dodge/Update.hs 208;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 99;" f
doWallRotate src/Dodge/Update/Camera.hs 212;" f
doWallRotate src/Dodge/Update/Camera.hs 213;" f
doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
@@ -3397,9 +3398,9 @@ drawBoundingBox src/Dodge/Debug/Picture.hs 336;" f
drawBul src/Dodge/Bullet/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChasm src/Dodge/Render/ShapePicture.hs 43;" f
drawChasm src/Dodge/Render/ShapePicture.hs 44;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 116;" f
drawCliff src/Dodge/Render/ShapePicture.hs 46;" f
drawCliff src/Dodge/Render/ShapePicture.hs 47;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 244;" f
drawCombineInventory src/Dodge/Render/HUD.hs 179;" f
@@ -3407,7 +3408,7 @@ drawConcurrentMessage src/Dodge/Render/Picture.hs 68;" f
drawCoord src/Dodge/Debug/Picture.hs 364;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 385;" f
drawCreature src/Dodge/Render/ShapePicture.hs 59;" f
drawCreature src/Dodge/Render/ShapePicture.hs 60;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 197;" f
drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
@@ -3470,10 +3471,10 @@ drawPlus src/Dodge/Render/Picture.hs 144;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 26;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 51;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 52;" f
drawRBOptions src/Dodge/Render/HUD.hs 249;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 37;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f
drawReturn src/Dodge/Render/Picture.hs 131;" f
drawRootCursor src/Dodge/Render/HUD.hs 72;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f
@@ -3592,26 +3593,26 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 186;" f
explodeShell src/Dodge/Projectile/Update.hs 297;" f
explodeShell src/Dodge/Projectile/Update.hs 282;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 93;" f
extraPics src/Dodge/Render/ShapePicture.hs 94;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 89;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 98;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f
farWallDistDirection src/Dodge/Update/Camera.hs 233;" f
farWallDistDirection src/Dodge/Update/Camera.hs 234;" f
fdiv src/ShortShow.hs 26;" f
feet src/Dodge/Creature/Picture.hs 49;" f
ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 167;" f
findBlips src/Dodge/RadarSweep.hs 62;" f
findBoundDists src/Dodge/Update/Camera.hs 240;" f
findBoundDists src/Dodge/Update/Camera.hs 241;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 85;" f
@@ -3656,7 +3657,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 267;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 215;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 228;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
@@ -3714,7 +3715,7 @@ geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAimZoom src/Dodge/Update/Camera.hs 136;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 103;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f
@@ -3813,11 +3814,11 @@ handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 32;" f
hasButtonLOS src/Dodge/Base/Collide.hs 262;" f
hasButtonLOS src/Dodge/Base/Collide.hs 301;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasFrontArmour src/Dodge/Creature/Test.hs 118;" f
hasLOS src/Dodge/Base/Collide.hs 255;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 270;" f
hasLOS src/Dodge/Base/Collide.hs 294;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 310;" f
hat src/Dodge/Item/Equipment.hs 76;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
@@ -3828,7 +3829,7 @@ healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 74;" f
healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 141;" f
heldAimZoom src/Dodge/Update/Camera.hs 142;" f
heldEffect src/Dodge/HeldUse.hs 61;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 139;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f
@@ -3985,7 +3986,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f
isValidCommand src/Dodge/Debug/Terminal.hs 131;" f
isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 277;" f
isWalkable src/Dodge/Base/Collide.hs 317;" f
isoMatrix src/MatrixHelper.hs 30;" f
isotriBWH src/Geometry/Polygon.hs 20;" f
itDim src/Dodge/Item/InvSize.hs 21;" f
@@ -4061,7 +4062,7 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f
lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 71;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 72;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 114;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 424;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
@@ -4262,7 +4263,7 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
mcPlaySound src/Dodge/Machine/Update.hs 104;" f
mcProxTest src/Dodge/Machine/Update.hs 152;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 131;" f
mcSPic src/Dodge/Render/ShapePicture.hs 132;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1223;" f
@@ -4341,16 +4342,16 @@ moveCombineSel src/Dodge/Update/Scroll.hs 114;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
movePenBullet src/Dodge/Bullet.hs 201;" f
moveProjectile src/Dodge/Projectile/Update.hs 266;" f
moveProjectile src/Dodge/Projectile/Update.hs 250;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 15;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 263;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 247;" f
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 55;" f
moveWall src/Dodge/Wall/Move.hs 29;" f
moveWallID src/Dodge/Wall/Move.hs 24;" f
moveWallIDToward src/Dodge/Wall/Move.hs 47;" f
moveWallIDUnsafe src/Dodge/Wall/Move.hs 19;" f
moveZoomCamera src/Dodge/Update/Camera.hs 86;" f
moveZoomCamera src/Dodge/Update/Camera.hs 87;" f
mtTopLabels src/Dodge/Tree/Compose.hs 49;" f
mtUnderLabels src/Dodge/Tree/Compose.hs 52;" f
muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f
@@ -4452,10 +4453,10 @@ overPos src/Picture/Base.hs 303;" f
overPosObj src/Shape.hs 277;" f
overPosSH src/Shape.hs 261;" f
overPosSP src/ShapePicture.hs 41;" f
overlapCircWalls src/Dodge/Base/Collide.hs 189;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 228;" f
overlapCircWalls src/Dodge/Base/Collide.hs 221;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 267;" f
overlapSegCrs src/Dodge/Base/Collide.hs 60;" f
overlapSegWalls src/Dodge/Base/Collide.hs 171;" f
overlapSegWalls src/Dodge/Base/Collide.hs 203;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 174;" f
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f
overwriteLabel src/Dodge/Tree/Compose.hs 31;" f
@@ -4508,7 +4509,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 242;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 226;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
@@ -4633,7 +4634,7 @@ powlist src/Multiset.hs 61;" f
powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 116;" f
ppDraw src/Dodge/Render/ShapePicture.hs 117;" f
ppEvents src/Dodge/Update.hs 779;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f
@@ -4812,7 +4813,7 @@ restrictInLinks src/Dodge/RoomLink.hs 42;" f
restrictLinkType src/Dodge/RoomLink.hs 32;" f
restrictOutLinks src/Dodge/RoomLink.hs 45;" f
restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f
restrictSeg src/Dodge/Base/Collide.hs 132;" f
restrictSeg src/Dodge/Base/Collide.hs 162;" f
resumeSound src/Dodge/SoundLogic.hs 48;" f
retreatActionsPistol src/Dodge/Humanoid.hs 249;" f
retreatFireLauncher src/Dodge/Humanoid.hs 270;" f
@@ -4871,7 +4872,7 @@ rotate3 src/Geometry/Vector3D.hs 48;" f
rotate3x src/Geometry/Vector3D.hs 60;" f
rotate3y src/Geometry/Vector3D.hs 66;" f
rotate3z src/Geometry/Vector3D.hs 54;" f
rotateCamera src/Dodge/Update/Camera.hs 189;" f
rotateCamera src/Dodge/Update/Camera.hs 190;" f
rotateList src/Padding.hs 49;" f
rotateProp src/Dodge/Prop/Update.hs 47;" f
rotateSH src/Shape.hs 257;" f
@@ -4879,7 +4880,7 @@ rotateSHq src/Shape.hs 166;" f
rotateSHx src/Shape.hs 265;" f
rotateSP src/ShapePicture.hs 57;" f
rotateTo src/Polyhedra/Geodesic.hs 64;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 201;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 202;" f
rotateToZ src/Quaternion.hs 38;" f
rotateV src/Geometry/Vector.hs 105;" f
rotateVAround src/Geometry/Vector.hs 112;" f
@@ -5007,7 +5008,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f
setTile src/Dodge/Layout.hs 68;" f
setTiles src/Dodge/Layout.hs 65;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setViewDistance src/Dodge/Update/Camera.hs 228;" f
setViewDistance src/Dodge/Update/Camera.hs 229;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 429;" f
setVol src/Dodge/Config/Update.hs 30;" f
@@ -5039,18 +5040,18 @@ shapeVerxSize src/Shape/Parameters.hs 10;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 324;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 63;" f
shellHitCreature src/Dodge/Projectile/Update.hs 95;" f
shellHitFloor src/Dodge/Projectile/Update.hs 116;" f
shellHitWall src/Dodge/Projectile/Update.hs 74;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 55;" f
shellHitCreature src/Dodge/Projectile/Update.hs 87;" f
shellHitFloor src/Dodge/Projectile/Update.hs 104;" f
shellHitWall src/Dodge/Projectile/Update.hs 66;" f
shellMag src/Dodge/Item/Ammo.hs 49;" f
shellModule src/Dodge/Item/Scope.hs 123;" f
shellShape src/Dodge/Projectile/Draw.hs 34;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 76;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 82;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 77;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 83;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 308;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 347;" f
@@ -5381,8 +5382,8 @@ transMat src/MatrixHelper.hs 73;" f
transToHandle src/Dodge/Item/HeldOffset.hs 26;" f
translate src/Picture/Base.hs 116;" f
translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 45;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 62;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 46;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 63;" f
translateH src/Picture/Base.hs 112;" f
translatePointToHead src/Dodge/Creature/HandPos.hs 147;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
@@ -5440,10 +5441,9 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
tryShellBounce src/Dodge/Projectile/Update.hs 141;" f
trySpin src/Dodge/Projectile/Update.hs 185;" f
trySpin src/Dodge/Projectile/Update.hs 173;" f
trySynthBullet src/Dodge/Creature/State.hs 249;" f
tryThrust src/Dodge/Projectile/Update.hs 191;" f
tryThrust src/Dodge/Projectile/Update.hs 179;" f
tryUseParent src/Dodge/Creature/State.hs 227;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
@@ -5485,11 +5485,11 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 453;" f
updateBarrel src/Dodge/Barreloid.hs 41;" f
updateBarreloid src/Dodge/Barreloid.hs 15;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 29;" f
updateBounds src/Dodge/Update/Camera.hs 250;" f
updateBounds src/Dodge/Update/Camera.hs 251;" f
updateBulVel src/Dodge/Bullet.hs 55;" f
updateBullet src/Dodge/Bullet.hs 20;" f
updateBullets src/Dodge/Update.hs 594;" f
updateCamera src/Dodge/Update/Camera.hs 29;" f
updateCamera src/Dodge/Update/Camera.hs 30;" f
updateCloseObjects src/Dodge/Inventory.hs 116;" f
updateCloud src/Dodge/Update.hs 826;" f
updateClouds src/Dodge/Update.hs 698;" f
@@ -5516,14 +5516,14 @@ updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 686;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 34;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 364;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 357;" f
updateGusts src/Dodge/Update.hs 809;" f
updateHumanoid src/Dodge/Humanoid.hs 13;" f
updateIMl src/Dodge/Update.hs 556;" f
updateIMl' src/Dodge/Update.hs 561;" f
updateInGameCamera src/Dodge/Update/Camera.hs 78;" f
updateInGameCamera src/Dodge/Update/Camera.hs 79;" 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
@@ -5548,7 +5548,7 @@ updateObjCatMaybes src/Dodge/Update.hs 578;" f
updateObjMapMaybe src/Dodge/Update.hs 571;" f
updatePastWorlds src/Dodge/Update.hs 441;" f
updatePreload src/Preload/Update.hs 20;" f
updateProjectile src/Dodge/Projectile/Update.hs 27;" f
updateProjectile src/Dodge/Projectile/Update.hs 28;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 39;" f
updatePulseBall src/Dodge/Update.hs 467;" f
@@ -5650,10 +5650,10 @@ verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 343;" f
viewBoundaries src/Dodge/Debug/Picture.hs 309;" f
viewClipBounds src/Dodge/Debug/Picture.hs 318;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 187;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 146;" f
violet src/Color.hs 21;" f
visibleWalls src/Dodge/Base/Collide.hs 175;" f
visibleWalls src/Dodge/Base/Collide.hs 207;" f
visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
@@ -5665,7 +5665,7 @@ wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 140;" f
wallToSurface src/Dodge/Base/Collide.hs 172;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1454;" f
@@ -5728,7 +5728,7 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f
wordsBy src/ListHelp.hs 116;" f
worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f
worldSPic src/Dodge/Render/ShapePicture.hs 21;" f
worldSPic src/Dodge/Render/ShapePicture.hs 22;" f
worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f
wpAdd src/Dodge/Room/RezBox.hs 137;" f
wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f
@@ -5786,7 +5786,7 @@ zonePn src/Dodge/Zoning/Pathing.hs 30;" f
zoneWall src/Dodge/Zoning/Wall.hs 65;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 96;" f
zonesExtract src/Dodge/Zoning/Base.hs 56;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 70;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 71;" f
zoomInLongGun src/Dodge/Update/Scroll.hs 98;" f
zoomOutLongGun src/Dodge/Update/Scroll.hs 106;" f
zoomScope src/Dodge/Item/Scope.hs 33;" f