Tweak shell spin

This commit is contained in:
2025-01-08 22:07:04 +00:00
parent d952bd48cc
commit c355fe4f5f
9 changed files with 179 additions and 173 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -20,6 +20,7 @@ data Projectile
, _pjVel :: Point2
, _pjDir :: Float
, _pjSpin :: Float
, _pjSpinFactor :: Float
, _pjID :: Int
, _pjPayload :: Payload
, _pjTimer :: Int
+11 -18
View File
@@ -1,33 +1,26 @@
module Dodge.Movement.Turn where
module Dodge.Movement.Turn (
turnTo,
vecTurnTo,
) where
import Geometry
turnTo :: Float -> Point2 -> Point2 -> Float -> Float
turnTo turnSpeed sp tp a
| vToTarg == V2 0 0 = a
| angleVV vToTarg vdir <= turnSpeed
= argV vToTarg
| angleVV vToTarg vdir <= turnSpeed =
argV vToTarg
| isLHS (sp +.+ vdir) sp tp = a - turnSpeed
| otherwise = a + turnSpeed
where
vdir = unitVectorAtAngle a
vToTarg = tp -.- sp
turnToAmount :: Float -> Point2 -> Point2 -> Float -> Float
turnToAmount turnSpeed sp tp a
| vToTarg == V2 0 0 = 0
| angleVV vToTarg vdir <= turnSpeed
= diffAngles a (argV vToTarg) -- TODO check correctness
| isLHS (sp +.+ vdir) sp tp = negate turnSpeed
| otherwise = turnSpeed
| otherwise = a + turnSpeed
where
vdir = unitVectorAtAngle a
vToTarg = tp -.- sp
vecTurnTo :: Float -> Point2 -> Point2 -> Point2 -> Point2
vecTurnTo turnSpeed sp tp vdir
| angleVV vToTarg vdir <= turnSpeed
= magV vdir *.* normalizeV vToTarg
| angleVV vToTarg vdir <= turnSpeed =
magV vdir *.* normalizeV vToTarg
| isLHS (sp +.+ vdir) sp tp = rotateV (negate turnSpeed) vdir
| otherwise = rotateV turnSpeed vdir
| otherwise = rotateV turnSpeed vdir
where
vToTarg = tp -.- sp
+5
View File
@@ -42,6 +42,7 @@ createShell mdetonator mscreen stab pjtype payload muz cr w =
, _pjID = i
, _pjDir = dir
, _pjSpin = 0
, _pjSpinFactor = spinfactor
, _pjPayload = payload
, _pjTimer = lifespan
, _pjUpdates =
@@ -61,6 +62,10 @@ createShell mdetonator mscreen stab pjtype payload muz cr w =
Just StabOrthReduce -> []
Just StabSpinIncrease -> [StartSpinPU (lifespan - 15) (_crID cr) 4]
_ -> [StartSpinPU (lifespan - 15) (_crID cr) 2]
spinfactor = case stab of
Just StabOrthReduce -> 0
Just StabSpinIncrease -> 2
_ -> 1
speed = case pjtype of
Grenade{} -> 4
Rocket{} -> 1
+13 -6
View File
@@ -28,7 +28,7 @@ updateProjectile :: Projectile -> World -> World
updateProjectile pj w =
(cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjTimer -~ 1)
. shellCollisionCheck pj
. pjMovement pj
. moveProjectile pj
. doGravityPU pj
$ foldl' (flip $ upProjectile pj) w (_pjUpdates pj)
@@ -202,18 +202,24 @@ pjRemoteSetDirection ph pj w = case ph of
Just (HomeUsingRemoteScreen screenid)
| lw ^? creatures . ix 0 . crManipulation . manObject . imSelectedItem
== lw ^? itemLocations . ix (_unNInt screenid) . ilInvID ->
w & cWorld . lWorld . projectiles . ix (_pjID pj) . pjDir
.~ (w ^. wCam . camRot) + argV (w ^. input . mousePos)
w
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjDir
.~ (w ^. wCam . camRot) + argV (w ^. input . mousePos)
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjSpin
.~ 0.5 * diffAngles ((w ^. wCam . camRot) + argV (w ^. input . mousePos)) (_pjDir pj)
Just (HomeUsingTargeting itid)
| Just tp <- w ^? pointerToItemID itid . itTargeting . itTgPos . _Just ->
w & cWorld . lWorld . projectiles . ix (_pjID pj) . pjDir
%~ turnTo 0.2 (_pjPos pj) tp
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjSpin
.~ 0.5 * diffAngles (turnTo 0.2 (_pjPos pj) tp (_pjDir pj)) (_pjDir pj)
_ -> w
where
lw = w ^. cWorld . lWorld
pjMovement :: Projectile -> World -> World
pjMovement pj w
moveProjectile :: Projectile -> World -> World
moveProjectile pj w
| Just GStuckWall{} <- pj ^? pjType . gnHitEffect = w
| Just (GStuckCreature crid p d) <- pj ^? pjType . gnHitEffect
, Just cr <- w ^? cWorld . lWorld . creatures . ix crid =
@@ -233,7 +239,8 @@ pjMovement pj w
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
& cWorld . lWorld . projectiles . ix (pj ^. pjID) . pjDir +~
(_pjSpin pj * _pjSpinFactor pj)
explodeShell ::
Projectile ->
+3 -3
View File
@@ -1,6 +1,6 @@
module Dodge.Room.LasTurret where
import Dodge.Item.Held.Cane
--import Dodge.Item.Held.Cane
import qualified Data.Set as S
import Dodge.Cleat
import Dodge.Data.GenWorld
@@ -24,8 +24,8 @@ import RandomHelp
cenLasTur :: Room
cenLasTur =
roomNgon 8 200 & rmPmnts
-- .~ [ putLasTurret 0.02
.~ [ putTurret autoRifle 0.02
.~ [ putLasTurret 0.02
-- .~ [ putTurret autoRifle 0.02
, heightWallPS (resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100)) 30 covershape
, mntLightLnkCond $ rprBool $ const . isInLnk
]
+15 -27
View File
@@ -6,8 +6,8 @@ Description : Geometry helpers
This module provides geometry functions that manipulate pairs of floats.
Conventions:
Seg refers to a segment, typically defined by two points, and will typically not extend beyond either of these points.
Line refers to a line defined by two points, and extends beyond the two points.
Seg refers to a segment between two points and does not extend beyond either of these points.
Line is also defined by two points but does extend beyond the two points.
-}
module Geometry (
module Geometry,
@@ -33,9 +33,6 @@ import Geometry.Vector
import Geometry.Vector3D
import ListHelp
--import Data.Maybe
--import Data.List
{- | Return a point a distance away from a first point towards a second point.
Does not go past the second point.
No check is made for a negative distance, so can go past the first point.
@@ -93,9 +90,9 @@ midPoint !a !b = 0.5 *.* (a +.+ b)
-}
circOnSegNoEndpoints :: Point2 -> Point2 -> Point2 -> Float -> Bool
{-# INLINE circOnSegNoEndpoints #-}
circOnSegNoEndpoints !p1 !p2 !c !rad = intersectSegSegTest p1 p2 (c -.- thenormal) (c +.+ thenormal)
circOnSegNoEndpoints !p1 !p2 !c !rad = intersectSegSegTest p1 p2 (c -.- norm) (c +.+ norm)
where
thenormal = rad *.* vNormal (normalizeV $ p1 -.- p2)
norm = rad *.* vNormal (normalizeV $ p1 -.- p2)
{- | Test whether a circle is on a segment by intersecting a normal and testing
the distance to the endpoints of the segment.
@@ -106,9 +103,9 @@ circOnSeg :: Point2 -> Float -> Point2 -> Point2 -> Bool
circOnSeg !c !rad !p1 !p2 =
magV (p1 -.- c) <= rad
|| magV (p2 -.- c) <= rad
|| intersectSegSegTest p1 p2 (c -.- thenormal) (c +.+ thenormal)
|| intersectSegSegTest p1 p2 (c -.- norm) (c +.+ norm)
where
thenormal = rad *.* vNormal (normalizeV $ p1 -.- p2)
norm = rad *.* vNormal (normalizeV $ p1 -.- p2)
{- | Test whether a segment intersects a circle by intersecting a normal and testing
the distance to the endpoints of the segment.
@@ -118,13 +115,13 @@ segOnCirc :: Point2 -> Point2 -> Point2 -> Float -> Bool
segOnCirc !p1 !p2 !c !rad =
magV (p1 -.- c) <= rad
|| magV (p2 -.- c) <= rad
|| intersectSegSegTest p1 p2 (c -.- thenormal) (c +.+ thenormal)
|| intersectSegSegTest p1 p2 (c -.- norm) (c +.+ norm)
where
thenormal = rad *.* vNormal (normalizeV $ p1 -.- p2)
norm = rad *.* vNormal (normalizeV $ p1 -.- p2)
cylinderOnSeg :: Point3 -> Point3 -> Point3 -> Float -> Bool
{-# INLINE cylinderOnSeg #-}
cylinderOnSeg = undefined
cylinderOnSeg = undefined -- TODO
-- | Find the difference between two Nums.
difference :: (Ord a, Num a) => a -> a -> a
@@ -144,14 +141,15 @@ reflectIn line vec = rotateV (2 * angleBetween line vec) vec
reflectAngle :: Float -> Point2 -> Point2 -> Float
reflectAngle a x y = 2 * argV (x - y) - a
{- | Find the representation (by applying +-pi) of an angle
- that is nearest to another given angle -}
{- | Find the representation (by applying +-pi) of an angle
- that is nearest to another given angle
-}
nearestAngleRep :: Float -> Float -> Float
nearestAngleRep a b
| b >= a && b - a <= pi = b
| b >= a = nearestAngleRep a (b - 2*pi)
| b >= a = nearestAngleRep a (b - 2 * pi)
| a - b <= pi = b
| otherwise = nearestAngleRep a (b + 2*pi)
| otherwise = nearestAngleRep a (b + 2 * pi)
{- | Find angle between two points.
Not normalised, ranges from -2*pi to 2*pi.
@@ -170,7 +168,6 @@ doublePairSet (x, y) = S.fromList [(x, y), (y, x)]
doubleV2 :: V2 a -> [V2 a]
doubleV2 (V2 x y) = [V2 x y, V2 y x]
polyToTris' :: [s] -> [s]
{-# INLINE polyToTris' #-}
polyToTris' [] = []
@@ -193,8 +190,6 @@ nRaysRad n x = take n $ iterate (rotateV (2 * pi / fromIntegral n)) (V2 x 0)
This appears to sometimes fail if the angles are not normalized.
-}
isLeftOfA :: Float -> Float -> Bool
--isLeftOfA angle1 angle2 = (angle1 - angle2 < pi && angle1 > angle2)
-- || (angle2 - angle1 > pi && angle2 > angle1)
isLeftOfA angle1 angle2 = normalizeAngle (angle1 - angle2) < pi
{- | Test whether a vector is to the left of another, according to the smallest
@@ -204,17 +199,10 @@ isLeftOf :: Point2 -> Point2 -> Bool
isLeftOf x y = isLeftOfA (argV x) (argV y)
{- | Find the difference between two angles.
Possibly not correct...
TODO write tests
-}
diffAngles :: Float -> Float -> Float
diffAngles x y
| diff > pi = diffAngles (x - 2 * pi) y
| diff >= 0 = diff
| diff > - pi = - diff
| otherwise = diffAngles (x + 2 * pi) y
where
diff = x - y
diffAngles x y = nearZeroAngle $ x - y
mixAngles :: Float -> Float -> Float -> Float
mixAngles frac a1 a2
+11
View File
@@ -133,6 +133,17 @@ normalizeAngle f
floor' :: Float -> Float
floor' x = fromIntegral (floor x :: Int)
-- | Normalize an angle to be between -pi and pi radians
nearZeroAngle :: Float -> Float
{-# INLINE nearZeroAngle #-}
nearZeroAngle a
| a >= -pi && a < pi = a
| otherwise = a - 2 * pi * floor' ((a +pi) / (2 * pi))
where
floor' :: Float -> Float
floor' x = fromIntegral (floor x :: Int)
-- | Rotate vector by pi/2 clockwise.
vNormal :: Point2 -> Point2
{-# INLINE vNormal #-}
+119 -118
View File
@@ -735,7 +735,7 @@ FullSize src/Dodge/Data/Item/Params.hs 29;" C
FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C
FunctionChangeLink src/Dodge/Data/ComposedItem.hs 30;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 61;" C
GBounce src/Dodge/Data/Projectile.hs 53;" C
GBounce src/Dodge/Data/Projectile.hs 54;" C
GEqC src/SameConstr.hs 20;" c
GIMBAL src/Dodge/Data/Item/Combine.hs 95;" C
GLASSSHARD src/Dodge/Data/Item/Combine.hs 59;" C
@@ -743,9 +743,9 @@ GLAUNCHER src/Dodge/Data/Item/Combine.hs 171;" C
GLHelp src/GLHelp.hs 1;" m
GRAPECANNON src/Dodge/Data/Item/Combine.hs 148;" C
GREEN src/Color/Data.hs 16;" C
GStick src/Dodge/Data/Projectile.hs 54;" C
GStuckCreature src/Dodge/Data/Projectile.hs 55;" C
GStuckWall src/Dodge/Data/Projectile.hs 56;" C
GStick src/Dodge/Data/Projectile.hs 55;" C
GStuckCreature src/Dodge/Data/Projectile.hs 56;" C
GStuckWall src/Dodge/Data/Projectile.hs 57;" C
GYROSCOPE src/Dodge/Data/Item/Combine.hs 96;" C
GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 45;" C
GameOverOptions src/Dodge/Data/Universe.hs 70;" C
@@ -792,8 +792,8 @@ Graph src/Dodge/Combine/Graph.hs 3;" m
Graph src/Dodge/Graph.hs 2;" m
GraphHelp src/GraphHelp.hs 1;" m
GraphVizHelp src/GraphVizHelp.hs 2;" m
Grenade src/Dodge/Data/Projectile.hs 36;" C
GrenadeHitEffect src/Dodge/Data/Projectile.hs 52;" t
Grenade src/Dodge/Data/Projectile.hs 37;" C
GrenadeHitEffect src/Dodge/Data/Projectile.hs 53;" t
GrenadeHitEffectLink src/Dodge/Data/ComposedItem.hs 35;" C
GrenadeHitEffectSF src/Dodge/Data/ComposedItem.hs 64;" C
Grid src/Grid.hs 1;" m
@@ -838,8 +838,8 @@ HeldUse src/Dodge/HeldUse.hs 4;" m
HeldUseEffect src/Dodge/Data/Item/Use.hs 56;" t
HelpNum src/HelpNum.hs 1;" m
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 48;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 49;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 49;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 50;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
Hotkey src/Dodge/Data/Equipment/Misc.hs 32;" t
Hotkey src/Dodge/Hotkey.hs 1;" m
@@ -1277,7 +1277,7 @@ NoFaction src/Dodge/Data/Creature/State.hs 40;" C
NoFlare src/Dodge/Data/Item/Use.hs 133;" C
NoHammer src/Dodge/Data/Hammer.hs 13;" C
NoHeldUseEffect src/Dodge/Data/Item/Use.hs 57;" C
NoHoming src/Dodge/Data/Projectile.hs 47;" C
NoHoming src/Dodge/Data/Projectile.hs 48;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoInvEffect src/Dodge/Data/Item/Effect.hs 24;" C
NoItTargeting src/Dodge/Data/Item.hs 60;" C
@@ -1505,7 +1505,7 @@ Projectile src/Dodge/Projectile.hs 1;" m
ProjectileParams src/Dodge/Data/Item/Use.hs 116;" C
ProjectileStabiliserLink src/Dodge/Data/ComposedItem.hs 32;" C
ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 63;" C
ProjectileType src/Dodge/Data/Projectile.hs 35;" t
ProjectileType src/Dodge/Data/Projectile.hs 36;" t
ProjectileUpdate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 18;" t
Prop src/Dodge/Data/Prop.hs 18;" t
Prop src/Dodge/Data/Prop.hs 6;" m
@@ -1609,7 +1609,7 @@ ReactorSS src/Dodge/Data/Scenario.hs 111;" C
ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
RectRoomType src/Dodge/Data/Room.hs 32;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 60;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 61;" 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
@@ -1635,7 +1635,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 43;" C
RetiredProjectile src/Dodge/Data/Projectile.hs 44;" C
Revenge src/Dodge/Data/Scenario.hs 6;" C
RewindLeftClick src/Dodge/Data/World.hs 71;" C
RezBaySS src/Dodge/Data/Scenario.hs 105;" C
@@ -1645,9 +1645,9 @@ RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 6;" m
RightForward src/Dodge/Data/Creature/Stance.hs 33;" C
RightwardLDT src/Dodge/Data/DoubleTree.hs 58;" C
RoadBlock src/Dodge/Room/RoadBlock.hs 2;" m
Rocket src/Dodge/Data/Projectile.hs 39;" C
RocketHoming src/Dodge/Data/Projectile.hs 46;" t
RocketSmoke src/Dodge/Data/Projectile.hs 59;" t
Rocket src/Dodge/Data/Projectile.hs 40;" C
RocketHoming src/Dodge/Data/Projectile.hs 47;" t
RocketSmoke src/Dodge/Data/Projectile.hs 60;" t
Rod src/Dodge/Item/Held/Rod.hs 1;" m
Room src/Dodge/Data/GenWorld.hs 94;" t
Room src/Dodge/Data/Room.hs 4;" m
@@ -2294,7 +2294,7 @@ _bmRange src/Dodge/Data/Beam.hs 26;" f
_bmType src/Dodge/Data/Beam.hs 29;" f
_boffEff src/Dodge/Data/Button.hs 42;" f
_bonEff src/Dodge/Data/Button.hs 41;" f
_bounceTolerance src/Dodge/Data/Projectile.hs 53;" f
_bounceTolerance src/Dodge/Data/Projectile.hs 54;" f
_bpEff src/Dodge/Data/Button.hs 28;" f
_bpEvent src/Dodge/Data/Button.hs 26;" f
_bpSound src/Dodge/Data/Button.hs 27;" f
@@ -2592,7 +2592,7 @@ _getSoundID src/Sound/Data.hs 32;" f
_gfConstant src/Dodge/Data/GenFloat.hs 11;" f
_gfMax src/Dodge/Data/GenFloat.hs 12;" f
_gfMin src/Dodge/Data/GenFloat.hs 12;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 37;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 38;" f
_grBound src/Dodge/GameRoom.hs 18;" f
_grDir src/Dodge/GameRoom.hs 20;" f
_grLinkDirs src/Dodge/GameRoom.hs 21;" f
@@ -2864,25 +2864,26 @@ _peZoning src/Dodge/Data/World.hs 51;" 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 48;" f
_phTargetingID src/Dodge/Data/Projectile.hs 49;" f
_phRemoteID src/Dodge/Data/Projectile.hs 49;" f
_phTargetingID src/Dodge/Data/Projectile.hs 50;" 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/State.hs 30;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 30;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 31;" 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
_pjID src/Dodge/Data/Projectile.hs 24;" f
_pjPayload src/Dodge/Data/Projectile.hs 25;" f
_pjPos src/Dodge/Data/Projectile.hs 19;" f
_pjScreenID src/Dodge/Data/Projectile.hs 31;" f
_pjScreenID src/Dodge/Data/Projectile.hs 32;" f
_pjSpin src/Dodge/Data/Projectile.hs 22;" f
_pjTimer src/Dodge/Data/Projectile.hs 25;" f
_pjType src/Dodge/Data/Projectile.hs 29;" f
_pjUpdates src/Dodge/Data/Projectile.hs 28;" f
_pjSpinFactor src/Dodge/Data/Projectile.hs 23;" f
_pjTimer src/Dodge/Data/Projectile.hs 26;" f
_pjType src/Dodge/Data/Projectile.hs 30;" f
_pjUpdates src/Dodge/Data/Projectile.hs 29;" f
_pjVel src/Dodge/Data/Projectile.hs 20;" f
_pjZ src/Dodge/Data/Projectile.hs 26;" f
_pjZVel src/Dodge/Data/Projectile.hs 27;" f
_pjZ src/Dodge/Data/Projectile.hs 27;" f
_pjZVel src/Dodge/Data/Projectile.hs 28;" f
_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 19;" f
_pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" f
@@ -2984,8 +2985,8 @@ _reverseAmount src/Dodge/Data/World.hs 62;" f
_reverseAmount src/Dodge/Data/World.hs 68;" f
_reverseAmount src/Dodge/Data/World.hs 72;" f
_rifling src/Dodge/Data/Item/Use.hs 101;" f
_rkHoming src/Dodge/Data/Projectile.hs 40;" f
_rkSmoke src/Dodge/Data/Projectile.hs 41;" f
_rkHoming src/Dodge/Data/Projectile.hs 41;" f
_rkSmoke src/Dodge/Data/Projectile.hs 42;" 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
@@ -3132,10 +3133,10 @@ _ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
_strength src/Dodge/Data/Creature/Misc.hs 21;" 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 55;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 55;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 55;" f
_stuckWlID src/Dodge/Data/Projectile.hs 56;" f
_stuckCrID src/Dodge/Data/Projectile.hs 56;" f
_stuckCrOffset src/Dodge/Data/Projectile.hs 56;" f
_stuckCrRot src/Dodge/Data/Projectile.hs 56;" f
_stuckWlID src/Dodge/Data/Projectile.hs 57;" 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
@@ -3407,7 +3408,7 @@ airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f
allInvLocs src/Dodge/Item/Grammar.hs 308;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 65;" f
ammoMagInfo src/Dodge/Item/Info.hs 42;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 124;" f
@@ -3415,7 +3416,7 @@ amr src/Dodge/Item/Held/Rod.hs 44;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 76;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 159;" f
angleBetween src/Geometry.hs 157;" f
angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
@@ -3429,7 +3430,7 @@ applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 177;" f
applyMagnetsToBul src/Dodge/Bullet.hs 32;" f
applyMagnetsToBul src/Dodge/Bullet.hs 28;" f
applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 142;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
@@ -3454,8 +3455,8 @@ arc src/Picture/Base.hs 287;" f
arcFull src/Picture/Arc.hs 11;" f
arcPart src/Picture/Arc.hs 24;" f
arcSolid src/Picture/Base.hs 276;" f
arcStepwise src/Geometry.hs 343;" f
arcStepwisePositive src/Geometry.hs 357;" f
arcStepwise src/Geometry.hs 331;" f
arcStepwisePositive src/Geometry.hs 345;" f
arcTest src/Picture/Test.hs 9;" f
arcTest' src/Picture/Test.hs 21;" f
argV src/Geometry/Vector.hs 80;" f
@@ -3530,10 +3531,10 @@ basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 314;" f
basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 92;" f
battery src/Dodge/Item/Ammo.hs 87;" f
batteryPack src/Dodge/Item/Equipment.hs 55;" f
belowNumX src/Dodge/Combine/Graph.hs 85;" f
beltMag src/Dodge/Item/Ammo.hs 48;" f
beltMag src/Dodge/Item/Ammo.hs 47;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 216;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 112;" f
@@ -3568,7 +3569,7 @@ blunderbuss src/Dodge/Item/Held/Cone.hs 27;" f
boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f
bossKeyItems src/Dodge/LockAndKey.hs 12;" f
bossRoom src/Dodge/Room/Boss.hs 60;" f
bounceDir src/Dodge/Bullet.hs 110;" f
bounceDir src/Dodge/Bullet.hs 106;" f
bouncePoint src/Dodge/Base/Collide.hs 87;" f
boundPoints src/Bound.hs 10;" f
boundedGrid src/Grid.hs 19;" f
@@ -3591,7 +3592,7 @@ bulletBeltBracer src/Dodge/Item/Equipment.hs 109;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 91;" f
bulletModule src/Dodge/Item/Scope.hs 118;" f
bulletPayloadModule src/Dodge/Item/Scope.hs 132;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 122;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 117;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
burstRifle src/Dodge/Item/Held/Cane.hs 83;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f
@@ -3615,7 +3616,7 @@ centroid src/Geometry/Polygon.hs 130;" f
centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 275;" f
chainPairs src/Geometry.hs 377;" f
chainPairs src/Geometry.hs 365;" f
changeSwapOther src/Dodge/Inventory.hs 138;" f
changeSwapSel src/Dodge/Inventory.hs 131;" f
changeSwapWith src/Dodge/Inventory.hs 172;" f
@@ -3640,7 +3641,7 @@ checkTermDist src/Dodge/Update.hs 305;" f
checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 107;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 102;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 34;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
@@ -3652,8 +3653,8 @@ chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circCollisionDebugItem src/Dodge/Debug.hs 63;" f
circHitWall src/Dodge/Base/Collide.hs 148;" f
circOnAnyCr src/Dodge/Base/Collide.hs 196;" f
circOnSeg src/Geometry.hs 104;" f
circOnSegNoEndpoints src/Geometry.hs 94;" f
circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 190;" f
circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
@@ -3815,7 +3816,7 @@ crixsNearSeg src/Dodge/Zoning/Creature.hs 26;" f
crossPic src/Dodge/Render/Label.hs 27;" f
crossPillar src/Dodge/Room/Pillar.hs 35;" f
crossProd src/Geometry/Vector3D.hs 41;" f
crossV src/Geometry/Vector.hs 167;" f
crossV src/Geometry/Vector.hs 178;" f
crsHit src/Dodge/WorldEvent/ThingsHit.hs 42;" f
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 103;" f
crsItmsUnused src/Dodge/Room/Containing.hs 45;" f
@@ -3847,7 +3848,7 @@ cycleLT src/IntMapHelp.hs 96;" f
cycleOptions src/Dodge/Menu/Option.hs 77;" f
cycleR src/DoubleStack.hs 32;" f
cylinderIndices src/Shader/Poke.hs 382;" f
cylinderOnSeg src/Geometry.hs 125;" f
cylinderOnSeg src/Geometry.hs 122;" f
cylinderPoly src/Shape.hs 86;" f
cylinderRoundIndices src/Shader/Poke.hs 389;" f
dShadCol src/Dodge/Render/List.hs 215;" f
@@ -3864,7 +3865,7 @@ damageHP src/Dodge/Creature/Damage.hs 65;" f
damageMaterial src/Dodge/Material/Damage.hs 7;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
damageStone src/Dodge/Material/Damage.hs 20;" f
damageThingHit src/Dodge/Bullet.hs 183;" f
damageThingHit src/Dodge/Bullet.hs 169;" f
damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f
damageWall src/Dodge/Wall/Damage.hs 15;" f
damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f
@@ -4004,10 +4005,10 @@ detectorInfo src/Dodge/Item/Info.hs 216;" f
determineProjectileTracking src/Dodge/HeldUse.hs 657;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 210;" f
difference src/Geometry.hs 130;" f
digitalLine src/Geometry.hs 302;" f
digitalRect src/Geometry.hs 319;" f
diffAngles src/Geometry.hs 204;" f
difference src/Geometry.hs 127;" f
digitalLine src/Geometry.hs 290;" f
digitalRect src/Geometry.hs 307;" f
dim src/Color.hs 112;" f
dirtColor src/Dodge/Block/Debris.hs 160;" f
dirtDebris src/Dodge/Block/Debris.hs 154;" f
@@ -4022,14 +4023,14 @@ displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 173;" f
displayTerminalLineString src/Dodge/Update.hs 426;" f
dist src/Geometry/Vector.hs 179;" f
dist src/Geometry/Vector.hs 190;" f
dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f
divideCircle src/Geometry.hs 338;" f
divideCircle src/Geometry.hs 326;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 59;" f
divideLine src/Geometry.hs 265;" f
divideLineExact src/Geometry.hs 293;" f
divideLineOddNumPoints src/Geometry.hs 278;" f
divideLine src/Geometry.hs 253;" f
divideLineExact src/Geometry.hs 281;" f
divideLineOddNumPoints src/Geometry.hs 266;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 189;" f
@@ -4080,7 +4081,7 @@ doItmCrWdWd src/Dodge/Euse.hs 27;" f
doLoop src/Loop.hs 60;" f
doMCrAc src/Dodge/CreatureEffect.hs 57;" f
doMP2Ac src/Dodge/CreatureEffect.hs 73;" f
doMagnetBuBu src/Dodge/Bullet.hs 35;" f
doMagnetBuBu src/Dodge/Bullet.hs 31;" f
doMagnetBuBu src/Dodge/MagnetBuBu.hs 7;" f
doMagnetUpdate src/Dodge/Magnet/Update.hs 6;" f
doModificationEffect src/Dodge/ModificationEffect.hs 7;" f
@@ -4130,10 +4131,10 @@ dotV src/Geometry/Vector.hs 75;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 265;" f
doubleLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 28;" f
doublePair src/Geometry.hs 163;" f
doublePairSet src/Geometry.hs 167;" f
doublePair src/Geometry.hs 161;" f
doublePairSet src/Geometry.hs 165;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 170;" f
doubleV2 src/Geometry.hs 168;" f
drawARHUD src/Dodge/Creature/State.hs 302;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
@@ -4303,13 +4304,13 @@ equipPosition src/Dodge/Item/Draw.hs 28;" f
equipSiteInfo src/Dodge/Item/Info.hs 245;" f
equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 20;" f
errorAngleVV src/Geometry.hs 62;" f
errorClosestPointOnLine src/Geometry.hs 74;" f
errorClosestPointOnLineParam src/Geometry.hs 80;" f
errorAngleVV src/Geometry.hs 59;" f
errorClosestPointOnLine src/Geometry.hs 71;" f
errorClosestPointOnLineParam src/Geometry.hs 77;" f
errorHead src/ListHelp.hs 76;" f
errorIsLHS src/Geometry.hs 68;" f
errorNormalizeV src/Geometry.hs 57;" f
errorPointInPolygon src/Geometry.hs 49;" f
errorIsLHS src/Geometry.hs 65;" f
errorNormalizeV src/Geometry.hs 54;" f
errorPointInPolygon src/Geometry.hs 46;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 149;" f
evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/Terminal.hs 225;" f
@@ -4318,9 +4319,9 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f
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 190;" f
expireAndDamage src/Dodge/Bullet.hs 178;" f
expireAndDamageFL src/Dodge/Flame.hs 47;" f
explodeShell src/Dodge/Projectile/Update.hs 238;" f
explodeShell src/Dodge/Projectile/Update.hs 244;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 416;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -4569,13 +4570,13 @@ heldItemSPic src/Dodge/Item/Draw/SPic.hs 220;" f
heldPositionInfo src/Dodge/Item/Info.hs 232;" f
helpCommand src/Dodge/Terminal.hs 66;" f
helpPoly3D src/Polyhedra.hs 125;" f
heron src/Geometry.hs 235;" f
heron src/Geometry.hs 223;" f
hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f
highBar src/Dodge/Room/Foreground.hs 89;" f
highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f
highMesh src/Dodge/Room/Foreground.hs 25;" f
hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 432;" f
hitEffFromBul src/Dodge/Bullet.hs 157;" f
hitEffFromBul src/Dodge/Bullet.hs 147;" f
hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 400;" f
holdForm src/Dodge/Creature/Boid.hs 136;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
@@ -4651,7 +4652,7 @@ intersectSegSegFullTest src/Geometry/Intersect.hs 103;" f
intersectSegSegPreTest src/Geometry/Intersect.hs 136;" f
intersectSegSegTest src/Geometry/Intersect.hs 122;" f
intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 329;" f
intervalList src/Geometry.hs 317;" f
interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 77;" f
@@ -4691,10 +4692,10 @@ isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 189;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
isJust' src/MaybeHelp.hs 29;" f
isLHS src/Geometry/LHS.hs 8;" f
isLeftOf src/Geometry.hs 203;" f
isLeftOfA src/Geometry.hs 195;" f
isLeftOf src/Geometry.hs 198;" f
isLeftOfA src/Geometry.hs 192;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 254;" f
isOnSeg src/Geometry.hs 242;" f
isOutLnk src/Dodge/PlacementSpot.hs 164;" f
isOverTerminalScreen src/Dodge/Update.hs 380;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
@@ -4876,7 +4877,7 @@ machinePistol src/Dodge/Item/Held/Stick.hs 65;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 160;" f
magV src/Geometry/Vector.hs 171;" f
magV3 src/Geometry/Vector3D.hs 78;" f
magazineCombinations src/Dodge/Combine/Combinations.hs 42;" f
magenta src/Color.hs 19;" f
@@ -4904,14 +4905,14 @@ makeDefaultCorpse src/Dodge/Corpse/Make.hs 14;" f
makeDoorDebris src/Dodge/Block/Debris.hs 18;" f
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 72;" f
makeFlak src/Dodge/Bullet.hs 142;" f
makeFlak src/Dodge/Bullet.hs 136;" f
makeFlame src/Dodge/Flame.hs 131;" f
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 55;" f
makeFlamelet src/Dodge/EnergyBall.hs 17;" f
makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f
makeFlashBall src/Dodge/EnergyBall.hs 78;" f
makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f
makeFragBullets src/Dodge/Bullet.hs 126;" f
makeFragBullets src/Dodge/Bullet.hs 122;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 34;" f
@@ -4978,8 +4979,8 @@ mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f
mcUseHeld src/Dodge/HeldUse.hs 563;" f
mcUseItem src/Dodge/Machine/Update.hs 79;" f
medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 80;" f
megaShellMag src/Dodge/Item/Ammo.hs 55;" f
megaBattery src/Dodge/Item/Ammo.hs 76;" f
megaShellMag src/Dodge/Item/Ammo.hs 53;" f
megaTinMag src/Dodge/Item/Ammo.hs 21;" f
meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f
memoBoxEdgeIndices src/Shader/Poke.hs 352;" f
@@ -5009,7 +5010,7 @@ midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 86;" f
midPoint src/Geometry.hs 83;" f
midWall src/Dodge/Placement/Instance/Wall.hs 27;" f
minAndMax src/FoldableHelp.hs 109;" f
minCrIXOn src/Dodge/Zoning/Creature.hs 46;" f
@@ -5027,7 +5028,7 @@ mirrorXAxis src/Geometry/Polygon.hs 49;" f
mirrorxz src/Picture/Base.hs 335;" f
mirroryz src/Picture/Base.hs 340;" f
missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f
mixAngles src/Geometry.hs 219;" f
mixAngles src/Geometry.hs 207;" f
mixColors src/Color.hs 86;" f
mixColorsFrac src/Color.hs 82;" f
mixColorsLinear src/Color.hs 95;" f
@@ -5045,12 +5046,13 @@ modTo src/Geometry/Zone.hs 10;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 59;" f
mouseCursorType src/Dodge/Render/Picture.hs 80;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f
moveBullet src/Dodge/Bullet.hs 199;" f
moveBullet src/Dodge/Bullet.hs 187;" f
moveCombineSel src/Dodge/Update/Scroll.hs 112;" f
moveHammerUp src/Dodge/Hammer.hs 5;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 53;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
movePenBullet src/Dodge/Bullet.hs 214;" f
movePenBullet src/Dodge/Bullet.hs 197;" f
moveProjectile src/Dodge/Projectile/Update.hs 221;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 17;" f
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 54;" f
@@ -5085,14 +5087,15 @@ mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 177;" f
myIntersectSegSeg src/Geometry/Intersect.hs 155;" f
myParams src/Dodge/Combine/Graph.hs 102;" f
nRays src/Geometry.hs 184;" f
nRaysRad src/Geometry.hs 188;" f
nRays src/Geometry.hs 181;" f
nRaysRad src/Geometry.hs 185;" f
nearCollinear src/Dodge/LevelGen/StaticWalls/Deprecated.hs 19;" f
nearParallel src/Dodge/LevelGen/StaticWalls/Deprecated.hs 14;" f
nearPoint src/Dodge/Zoning/Common.hs 8;" f
nearRect src/Dodge/Zoning/Common.hs 16;" f
nearSeg src/Dodge/Zoning/Common.hs 12;" f
nearestAngleRep src/Geometry.hs 149;" f
nearZeroAngle src/Geometry/Vector.hs 137;" f
nearestAngleRep src/Geometry.hs 147;" f
newExtraAwareness src/Dodge/Creature/Perception.hs 137;" f
newKey src/IntMapHelp.hs 60;" f
newSounds src/Dodge/Creature/Perception.hs 170;" f
@@ -5185,7 +5188,7 @@ pauseSound src/Dodge/SoundLogic.hs 41;" f
pauseTime src/Dodge/Update.hs 180;" f
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f
penThing src/Dodge/Bullet.hs 226;" f
penThing src/Dodge/Bullet.hs 204;" f
perMat src/MatrixHelper.hs 49;" f
perceptionUpdate src/Dodge/Creature/Perception.hs 22;" f
performAction src/Dodge/Creature/Action.hs 92;" f
@@ -5213,7 +5216,6 @@ pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 42;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjMovement src/Dodge/Projectile/Update.hs 215;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 200;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
@@ -5259,11 +5261,11 @@ pnsNearPoint src/Dodge/Zoning/Pathing.hs 12;" f
pnsNearRect src/Dodge/Zoning/Pathing.hs 18;" f
pnsNearSeg src/Dodge/Zoning/Pathing.hs 15;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 226;" f
pointInCircle src/Geometry.hs 214;" f
pointInOrOnPolygon src/Geometry/Polygon.hs 59;" f
pointInPolyPoints src/Geometry/ConvexPoly.hs 70;" f
pointInPolygon src/Geometry/Polygon.hs 66;" f
pointIsInCone src/Geometry.hs 392;" f
pointIsInCone src/Geometry.hs 380;" f
pointIsOnScreen src/Dodge/Base/Window.hs 59;" f
pointTowardsImpulse src/Dodge/Path.hs 63;" f
pointerToItem src/Dodge/Item/Location.hs 36;" f
@@ -5313,7 +5315,7 @@ polyToEdges src/Polyhedra.hs 133;" f
polyToGeoRender src/Polyhedra.hs 142;" f
polyToPics src/Polyhedra.hs 122;" f
polyToTris src/Geometry/Triangulate.hs 7;" f
polyToTris' src/Geometry.hs 174;" f
polyToTris' src/Geometry.hs 171;" f
polyToTris'' src/Geometry/Triangulate.hs 15;" f
polygon src/Picture/Base.hs 72;" f
polygonCol src/Picture/Base.hs 78;" f
@@ -5340,7 +5342,7 @@ ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f
preloadRender src/Preload/Render.hs 30;" f
premapMaybe src/FoldlHelp.hs 24;" f
prependTwo src/Geometry.hs 179;" f
prependTwo src/Geometry.hs 176;" f
prettyDT src/Dodge/DoubleTree.hs 179;" f
prettyLDT src/Dodge/DoubleTree.hs 183;" f
prettyShort src/AesonHelp.hs 11;" f
@@ -5354,7 +5356,7 @@ printPoint src/Dodge/Debug/Picture.hs 35;" f
printRotPoint src/Dodge/Debug/Picture.hs 38;" f
prismBox src/Shape.hs 73;" f
prismPoly src/Shape.hs 59;" f
projV src/Geometry/Vector.hs 171;" f
projV src/Geometry/Vector.hs 182;" f
projV3 src/Geometry/Vector3D.hs 127;" f
propDrawToggle src/Dodge/Prop/Draw.hs 39;" f
propLSThen src/Dodge/Placement/Instance/LightSource.hs 16;" f
@@ -5465,9 +5467,9 @@ reduceLocLDT src/Dodge/DoubleTree.hs 256;" f
reflDirWall src/Dodge/Base/Wall.hs 16;" f
reflVelWall src/Dodge/Base/Wall.hs 24;" f
reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f
reflectAngle src/Geometry.hs 144;" f
reflectIn src/Geometry.hs 139;" f
reflectInParam src/Geometry.hs 247;" f
reflectAngle src/Geometry.hs 141;" f
reflectIn src/Geometry.hs 136;" f
reflectInParam src/Geometry.hs 235;" f
reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f
refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 38;" f
@@ -5596,7 +5598,7 @@ safeMinimumOn src/FoldableHelp.hs 26;" f
safeMinimumOnMaybe src/FoldableHelp.hs 67;" f
safeMinimumOnMaybeF src/FoldableHelp.hs 39;" f
safeMinimumOnMaybeL src/FoldableHelp.hs 57;" f
safeNormalizeV src/Geometry/Vector.hs 153;" f
safeNormalizeV src/Geometry/Vector.hs 164;" f
safeSwapKeys src/IntMapHelp.hs 77;" f
safeUncons src/ListHelp.hs 72;" f
safeUpdateSingleNode src/TreeHelp.hs 115;" f
@@ -5643,7 +5645,7 @@ sectionsDesiredLines src/Dodge/DisplayInventory.hs 204;" f
sectionsSizes src/Dodge/DisplayInventory.hs 207;" f
seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f
segOnCirc src/Geometry.hs 113;" f
selNumPos src/Dodge/Render/HUD.hs 453;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 476;" f
selSecDrawCursor src/Dodge/Render/List.hs 126;" f
@@ -5672,7 +5674,7 @@ setCrPosture src/Dodge/Creature/YourControl.hs 172;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 127;" f
setFromToDams src/Dodge/Bullet.hs 178;" f
setFromToDams src/Dodge/Bullet.hs 164;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
@@ -5729,7 +5731,7 @@ shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 295;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 85;" f
shellMag src/Dodge/Item/Ammo.hs 61;" f
shellMag src/Dodge/Item/Ammo.hs 58;" f
shellModule src/Dodge/Item/Scope.hs 124;" f
shellShape src/Dodge/Projectile/Draw.hs 34;" f
shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f
@@ -5809,7 +5811,7 @@ slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 520;" f
slideWindow src/ListHelp.hs 80;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 152;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 169;" f
smallBattery src/Dodge/Item/Ammo.hs 86;" f
smallBattery src/Dodge/Item/Ammo.hs 81;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
smallDrawTree src/Dodge/LevelGen.hs 88;" f
@@ -5876,7 +5878,7 @@ sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
square src/Geometry/Polygon.hs 46;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 111;" f
squashNormalizeV src/Geometry/Vector.hs 146;" f
squashNormalizeV src/Geometry/Vector.hs 157;" f
ssLookupDown src/Dodge/SelectionSections.hs 99;" f
ssLookupGE' src/Dodge/SelectionSections.hs 173;" f
ssLookupGT src/Dodge/SelectionSections.hs 156;" f
@@ -5916,7 +5918,7 @@ stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 468;" f
stoneDebris src/Dodge/Block/Debris.hs 137;" f
stoneWallDamage src/Dodge/Wall/DamageEffect.hs 24;" f
stopAllSounds src/Sound.hs 124;" f
stopBulletAt src/Dodge/Bullet.hs 205;" f
stopBulletAt src/Dodge/Bullet.hs 190;" f
stopPushing src/Dodge/Block.hs 107;" f
stopSoundFrom src/Dodge/SoundLogic.hs 206;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 17;" f
@@ -6132,11 +6134,10 @@ tryShellBounce src/Dodge/Projectile/Update.hs 103;" f
trySpinByCID src/Dodge/Projectile/Update.hs 178;" f
trySynthBullet src/Dodge/Creature/State.hs 203;" f
tryUseParent src/Dodge/Creature/State.hs 196;" f
turnTo src/Dodge/Movement/Turn.hs 4;" f
turnToAmount src/Dodge/Movement/Turn.hs 15;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 16;" f
tweenAngles src/Geometry/Vector.hs 184;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 101;" f
@@ -6176,7 +6177,7 @@ updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 28;" f
updateBounds src/Dodge/Update/Camera.hs 215;" f
updateBulVel src/Dodge/Bullet.hs 57;" f
updateBulVel src/Dodge/Bullet.hs 53;" f
updateBullet src/Dodge/Bullet.hs 21;" f
updateBullets src/Dodge/Update.hs 523;" f
updateCamera src/Dodge/Update/Camera.hs 27;" f
@@ -6297,7 +6298,7 @@ upperPrismPolyTS src/Shape.hs 119;" f
upperRounded src/Shape.hs 184;" f
useBreakL src/Dodge/Item/Grammar.hs 28;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 36;" f
useBulletPayload src/Dodge/Bullet.hs 115;" f
useBulletPayload src/Dodge/Bullet.hs 111;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useE src/Dodge/Euse.hs 34;" f
@@ -6327,8 +6328,8 @@ usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
v2z src/Geometry/Vector3D.hs 93;" f
vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 142;" f
vNormal src/Geometry/Vector.hs 137;" f
vInverse src/Geometry/Vector.hs 153;" f
vNormal src/Geometry/Vector.hs 148;" f
vNormaly src/Geometry/Vector3D.hs 72;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 113;" f
vToL src/MatrixHelper.hs 46;" f
@@ -6336,7 +6337,7 @@ vToQuat src/Quaternion.hs 41;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 133;" f
vasTightStride src/Shader/Compile.hs 297;" f
vecBetweenSpeed src/Dodge/Base.hs 146;" f
vecTurnTo src/Dodge/Movement/Turn.hs 26;" f
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
vert src/Shader/Data.hs 102;" f
vertScale src/MatrixHelper.hs 80;" f
vertTrans src/MatrixHelper.hs 87;" f
@@ -6422,11 +6423,11 @@ writeSaveSlot src/Dodge/Save.hs 34;" f
xCylinder src/Shape.hs 136;" f
xCylinderST src/Shape.hs 133;" f
xIntercepts src/Dodge/Zoning/Base.hs 59;" f
xV2 src/Geometry/Vector.hs 199;" f
xyV3 src/Geometry/Vector.hs 211;" f
xyzV4 src/Geometry/Vector.hs 207;" f
xV2 src/Geometry/Vector.hs 210;" f
xyV3 src/Geometry/Vector.hs 222;" f
xyzV4 src/Geometry/Vector.hs 218;" f
yIntercepts' src/Dodge/Zoning/Base.hs 75;" f
yV2 src/Geometry/Vector.hs 203;" f
yV2 src/Geometry/Vector.hs 214;" f
yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 12;" f
youDropItem src/Dodge/Creature/Action.hs 190;" f