Allow grenades to bounce

This commit is contained in:
2024-12-29 00:33:55 +00:00
parent ad7be9152a
commit ef7aee82e5
7 changed files with 100 additions and 95 deletions
-1
View File
@@ -70,7 +70,6 @@ doBounce :: Float -> Point2 -> Point2 -> (Point2, Maybe Wall) -> Maybe (Point2,
{-# INLINE doBounce #-} {-# INLINE doBounce #-}
doBounce x sp ep (p, mwl) = doBounce x sp ep (p, mwl) =
mwl <&> \wl -> mwl <&> \wl ->
--( p +.+ normalizeV (vNormal (uncurry (-.-) (_wlLine wl)))
( p +.+ normalizeV (vNormal (uncurry (-.-) (_wlLine wl))) ( p +.+ normalizeV (vNormal (uncurry (-.-) (_wlLine wl)))
, reflVelWallDamp x wl (ep -.- sp) , reflVelWallDamp x wl (ep -.- sp)
) )
@@ -19,7 +19,6 @@ data ProjectileUpdate
= ThrustPU {_pjuStart :: Int, _pjuEnd :: Int} = ThrustPU {_pjuStart :: Int, _pjuEnd :: Int}
| StartSpinPU {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int} | StartSpinPU {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int}
| RemoteDirectionPU {_pjuStart :: Int, _pjuEnd :: Int} | RemoteDirectionPU {_pjuStart :: Int, _pjuEnd :: Int}
| ReduceSpinPU {_pjuReduceSpin :: Float}
| ApplyGravityPU | ApplyGravityPU
deriving (Show, Eq, Ord, Read) --Generic, Flat) deriving (Show, Eq, Ord, Read) --Generic, Flat)
-1
View File
@@ -63,7 +63,6 @@ itemBaseName = \case
ATTACH ait -> showAttachItem ait ATTACH ait -> showAttachItem ait
AMMOMAG ait -> show ait AMMOMAG ait -> show ait
TARGETING tt -> show tt TARGETING tt -> show tt
-- BULLETMOD (BulletModTrajectory btt) -> show btt
BULLETMOD (BulletModPayload btt) -> show btt BULLETMOD (BulletModPayload btt) -> show btt
BULLETMOD (BulletModEffect btt) -> show btt BULLETMOD (BulletModEffect btt) -> show btt
+2 -2
View File
@@ -35,7 +35,7 @@ createShell mdetonator mscreen pjtype payload muz cr w = w
[-- TimePU [-- TimePU
StartSpinPU (lifespan - 15) (_crID cr) spinamount StartSpinPU (lifespan - 15) (_crID cr) spinamount
, RemoteDirectionPU (lifespan - thrustdelay) 0 , RemoteDirectionPU (lifespan - thrustdelay) 0
, ReduceSpinPU (1 - spindrag * 2 / 200) -- , ReduceSpinPU (1 - spindrag * 2 / 200)
] <> thrustorgrav ] <> thrustorgrav
, _pjType = pjtype , _pjType = pjtype
, _pjDetonatorID = mdetonator , _pjDetonatorID = mdetonator
@@ -51,7 +51,7 @@ createShell mdetonator mscreen pjtype payload muz cr w = w
Grenade {}-> [ApplyGravityPU] Grenade {}-> [ApplyGravityPU]
Rocket{} -> [ThrustPU (lifespan - thrustdelay) 0] Rocket{} -> [ThrustPU (lifespan - thrustdelay) 0]
RetiredProjectile -> [] RetiredProjectile -> []
spindrag = 1 -- spindrag = 1
spinamount = 2 spinamount = 2
thrustdelay = 20 thrustdelay = 20
updatedetonator = fromMaybe id $ do updatedetonator = fromMaybe id $ do
+36 -26
View File
@@ -15,6 +15,7 @@ import Dodge.Movement.Turn
import Dodge.Payload import Dodge.Payload
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.WorldEvent.Cloud import Dodge.WorldEvent.Cloud
import Dodge.WorldEvent.ThingsHit
import Geometry import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp import LensHelp
@@ -22,15 +23,15 @@ import NewInt
import RandomHelp import RandomHelp
updateProjectile :: Projectile -> World -> World updateProjectile :: Projectile -> World -> World
updateProjectile pj w = updateProjectile pj w =
decTimMvVel pj . (cWorld . lWorld . projectiles . ix (pj ^. pjID) %~
shellCollisionCheck decTimMvVel)
pj $ . shellCollisionCheck
foldl' (flip $ upProjectile pj) w (_pjUpdates pj) pj
$ foldl' (flip $ upProjectile pj) w (_pjUpdates pj)
upProjectile :: Projectile -> ProjectileUpdate -> World -> World upProjectile :: Projectile -> ProjectileUpdate -> World -> World
upProjectile pj pu = case pu of upProjectile pj pu = case pu of
-- TimePU -> decTimMvVel pj
ThrustPU st et ThrustPU st et
| act st et -> doThrust pj (pj ^? pjType . rkSmoke . _Just) | act st et -> doThrust pj (pj ^? pjType . rkSmoke . _Just)
| otherwise -> id | otherwise -> id
@@ -40,11 +41,7 @@ upProjectile pj pu = case pu of
RemoteDirectionPU st et RemoteDirectionPU st et
| act st et -> pjRemoteSetDirection (pj ^? pjType . rkHoming) pj | act st et -> pjRemoteSetDirection (pj ^? pjType . rkHoming) pj
| otherwise -> id | otherwise -> id
ReduceSpinPU x -> reduceSpinBy x (_pjID pj) -- ReduceSpinPU x -> reduceSpinBy x (_pjID pj)
-- DestroyPU mitid 0 -> destroyProjectile mitid (_pjID pj)
-- the following requires that this is at the top of the update list, which is
-- not ideal
-- DestroyPU _ _ -> cWorld . lWorld . projectiles . ix (_pjID pj) . pjUpdates . ix 0 . pjuTimer -~ 1
ApplyGravityPU -> applyGravityPU pj ApplyGravityPU -> applyGravityPU pj
where where
time = _pjTimer pj time = _pjTimer pj
@@ -84,11 +81,12 @@ shellCollisionCheck ::
World -> World ->
World World
shellCollisionCheck pj w shellCollisionCheck pj w
| RetiredProjectile <- pj ^. pjType | RetiredProjectile <- pj ^. pjType
, time <= -30 , time <= 0 =
= destroyProjectile (pj ^. pjScreenID) (_pjID pj) w destroyProjectile (pj ^. pjScreenID) (_pjID pj) w
| RetiredProjectile <- pj ^. pjType = w | RetiredProjectile <- pj ^. pjType = w
| anythingHitCirc 2 oldPos (oldPos + _pjVel pj) w = g | Just thit <- thingHit oldPos (oldPos + _pjVel pj) w = tryShellBounce thit pj w
-- | anythingHitCirc 2 oldPos (oldPos + _pjVel pj) w = g
| time <= 0 = g | time <= 0 = g
| otherwise = w | otherwise = w
where where
@@ -96,6 +94,19 @@ shellCollisionCheck pj w
time = _pjTimer pj time = _pjTimer pj
oldPos = _pjPos pj oldPos = _pjPos pj
tryShellBounce :: (Point2, Either Creature Wall) -> Projectile -> World -> World
tryShellBounce (p, Right wl) pj w
| Just x <- pj ^? pjType . gnHitEffect . bounceTolerance =
if abs (dotV (pj ^. pjVel) (vNormal hitline)) < x
then w & cWorld . lWorld . projectiles . ix (_pjID pj) . pjVel %~ reflectIn
hitline
& cWorld . lWorld . projectiles . ix (_pjID pj) . pjPos .~ p
& soundStart (ShellSound (pj ^. pjID)) (pj ^. pjPos) click1S Nothing
else explodeShell pj w
where
hitline = normalizeV $ uncurry (-) $ _wlLine wl
tryShellBounce _ pj w = explodeShell pj w
destroyProjectile :: Maybe (NewInt ItmInt) -> Int -> World -> World destroyProjectile :: Maybe (NewInt ItmInt) -> Int -> World -> World
destroyProjectile mitid pjid w = destroyProjectile mitid pjid w =
w & cWorld . lWorld . projectiles %~ IM.delete pjid w & cWorld . lWorld . projectiles %~ IM.delete pjid
@@ -114,7 +125,7 @@ doThrust pj smoke w =
& randGen .~ g & randGen .~ g
& cWorld . lWorld . projectiles . ix i . pjVel %~ (\v -> accel +.+ frict *.* v) & cWorld . lWorld . projectiles . ix i . pjVel %~ (\v -> accel +.+ frict *.* v)
& soundContinue (ShellSound i) newPos missileLaunchS (Just 1) & soundContinue (ShellSound i) newPos missileLaunchS (Just 1)
-- & makeFlamelet (oldPos -.- vel) (vel + 2 * rotateV (pi + sparkD) accel) 3 10 -- & makeFlamelet (oldPos -.- vel) (vel + 2 * rotateV (pi + sparkD) accel) 3 10
& makeFlamelet (oldPos -.- vel) (vel +.+ rotateV (pi + sparkD) accel) 3 10 & makeFlamelet (oldPos -.- vel) (vel +.+ rotateV (pi + sparkD) accel) 3 10
& shellTrailCloud & shellTrailCloud
lifetime lifetime
@@ -168,16 +179,13 @@ pjRemoteSetDirection ph pj w = case ph of
where where
lw = w ^. cWorld . lWorld lw = w ^. cWorld . lWorld
reduceSpinBy :: Float -> Int -> World -> World decTimMvVel :: Projectile -> Projectile
reduceSpinBy x pjid = cWorld . lWorld . projectiles . ix pjid . pjSpin *~ x decTimMvVel pj = pj
& pjSpin *~ 0.99
decTimMvVel :: Projectile -> World -> World & pjTimer -~ 1
decTimMvVel pj = & pjPos +~ _pjVel pj
cWorld . lWorld . projectiles . ix (_pjID pj) & pjDir +~ _pjSpin pj
%~ ( (pjTimer -~ 1)
. (pjPos +~ _pjVel pj)
. (pjDir +~ _pjSpin pj)
)
explodeShell :: explodeShell ::
Projectile -> Projectile ->
@@ -187,6 +195,8 @@ explodeShell pj w =
w w
& cWorld . lWorld . projectiles . ix pjid . pjUpdates .~ [] & cWorld . lWorld . projectiles . ix pjid . pjUpdates .~ []
& cWorld . lWorld . projectiles . ix pjid . pjType .~ RetiredProjectile & cWorld . lWorld . projectiles . ix pjid . pjType .~ RetiredProjectile
& cWorld . lWorld . projectiles . ix pjid . pjVel .~ 0
& cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 30
& usePayload (_pjPayload pj) (_pjPos pj) (_pjVel pj) & usePayload (_pjPayload pj) (_pjPos pj) (_pjVel pj)
& stopSoundFrom (ShellSound pjid) & stopSoundFrom (ShellSound pjid)
& updatedetonator & updatedetonator
+2 -2
View File
@@ -27,9 +27,9 @@ import qualified Data.Map.Strict as M
testStringInit :: Universe -> [String] testStringInit :: Universe -> [String]
testStringInit u = testStringInit u =
[show (u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crPos)]
<>
map show (u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjPos) map show (u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjPos)
<>
map show (u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjVel)
--testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles --testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles
-- (map (show . _ebPos) $ u ^. uvWorld . cWorld . lWorld . energyBalls) -- (map (show . _ebPos) $ u ^. uvWorld . cWorld . lWorld . energyBalls)
-- <> -- <>
+60 -62
View File
@@ -70,13 +70,13 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 49;" C
AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t
AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 48;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 48;" C
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" t AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" t
AnRoom src/Dodge/Annotation/Data.hs 18;" C AnRoom src/Dodge/Annotation/Data.hs 18;" C
AnTree src/Dodge/Annotation/Data.hs 19;" C AnTree src/Dodge/Annotation/Data.hs 19;" C
Analyser src/Dodge/Placement/Instance/Analyser.hs 1;" m Analyser src/Dodge/Placement/Instance/Analyser.hs 1;" m
Annotation src/Dodge/Annotation/Data.hs 14;" t Annotation src/Dodge/Annotation/Data.hs 14;" t
Annotation src/Dodge/Annotation.hs 3;" m Annotation src/Dodge/Annotation.hs 3;" m
ApplyGravityPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C ApplyGravityPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" C
ArbitraryAction src/Dodge/Data/ActionPlan.hs 166;" C ArbitraryAction src/Dodge/Data/ActionPlan.hs 166;" C
ArbitraryImpulse src/Dodge/Data/ActionPlan.hs 47;" C ArbitraryImpulse src/Dodge/Data/ActionPlan.hs 47;" C
ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C
@@ -161,7 +161,7 @@ BeamShooterParams src/Dodge/Data/Item/Use.hs 93;" C
BeamSimple src/Dodge/Data/Beam.hs 50;" C BeamSimple src/Dodge/Data/Beam.hs 50;" C
BeamType src/Dodge/Data/Beam.hs 46;" t BeamType src/Dodge/Data/Beam.hs 46;" t
BecomePowerful src/Dodge/Data/Scenario.hs 9;" C BecomePowerful src/Dodge/Data/Scenario.hs 9;" C
BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C
Bezier src/Geometry/Bezier.hs 1;" m Bezier src/Geometry/Bezier.hs 1;" m
BezierTrajectory src/Dodge/Data/Bullet.hs 51;" C BezierTrajectory src/Dodge/Data/Bullet.hs 51;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 58;" C BezierTrajectoryType src/Dodge/Data/Bullet.hs 58;" C
@@ -221,7 +221,7 @@ Bullet src/Dodge/Data/Bullet.hs 17;" t
Bullet src/Dodge/Bullet.hs 1;" m Bullet src/Dodge/Bullet.hs 1;" m
Bullet src/Dodge/Data/Bullet.hs 6;" m Bullet src/Dodge/Data/Bullet.hs 6;" m
Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m
BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" C
BulletEffect src/Dodge/Data/Bullet.hs 35;" t BulletEffect src/Dodge/Data/Bullet.hs 35;" t
BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m
BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t
@@ -295,7 +295,7 @@ ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C
Check src/Framebuffer/Check.hs 1;" m Check src/Framebuffer/Check.hs 1;" m
CheckConsistency src/Dodge/Room/CheckConsistency.hs 1;" m CheckConsistency src/Dodge/Room/CheckConsistency.hs 1;" m
CheckSlots src/Dodge/Inventory/CheckSlots.hs 1;" m CheckSlots src/Dodge/Inventory/CheckSlots.hs 1;" m
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C
ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 62;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 62;" C
ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 61;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 61;" C
ChooseTarget src/Dodge/Creature/ChooseTarget.hs 1;" m ChooseTarget src/Dodge/Creature/ChooseTarget.hs 1;" m
@@ -412,8 +412,8 @@ Craftable src/Dodge/Item/Craftable.hs 1;" m
Create src/Dodge/Projectile/Create.hs 1;" m Create src/Dodge/Projectile/Create.hs 1;" m
Create src/Dodge/Prop/Create.hs 1;" m Create src/Dodge/Prop/Create.hs 1;" m
Create src/Dodge/Wall/Create.hs 1;" m Create src/Dodge/Wall/Create.hs 1;" m
CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C
CreateShieldWall src/Dodge/Data/Item/Effect.hs 22;" C CreateShieldWall src/Dodge/Data/Item/Effect.hs 22;" C
Creature src/Dodge/Data/Creature.hs 36;" t Creature src/Dodge/Data/Creature.hs 36;" t
Creature src/Dodge/Creature.hs 1;" m Creature src/Dodge/Creature.hs 1;" m
@@ -492,7 +492,7 @@ DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C
DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C
DefaultHeldParams src/Dodge/Data/Item/Use.hs 80;" C DefaultHeldParams src/Dodge/Data/Item/Use.hs 80;" C
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C
@@ -581,7 +581,7 @@ DrawForceField src/Dodge/Data/Wall.hs 45;" C
DrawNoButton src/Dodge/Data/Button.hs 19;" C DrawNoButton src/Dodge/Data/Button.hs 19;" C
DrawnWall src/Dodge/Data/Wall.hs 41;" C DrawnWall src/Dodge/Data/Wall.hs 41;" C
Drone src/Dodge/Item/Weapon/Drone.hs 1;" m Drone src/Dodge/Item/Weapon/Drone.hs 1;" m
DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" C
DropAll src/Dodge/Data/Creature/State.hs 24;" C DropAll src/Dodge/Data/Creature/State.hs 24;" C
DropAmount src/Dodge/Data/Creature/State.hs 25;" C DropAmount src/Dodge/Data/Creature/State.hs 25;" C
DropItem src/Dodge/Data/ActionPlan.hs 39;" C DropItem src/Dodge/Data/ActionPlan.hs 39;" C
@@ -611,7 +611,7 @@ EffectWhileAttached src/Dodge/Data/Item/Effect.hs 25;" C
EffectWhileRoot src/Dodge/Data/Item/Effect.hs 24;" C EffectWhileRoot src/Dodge/Data/Item/Effect.hs 24;" C
EighthRes src/Dodge/Data/Config.hs 97;" C EighthRes src/Dodge/Data/Config.hs 97;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" C
Electronics src/Dodge/Data/Material.hs 11;" C Electronics src/Dodge/Data/Material.hs 11;" C
EllShad src/Picture/Data.hs 39;" C EllShad src/Picture/Data.hs 39;" C
Enable_debug src/Dodge/Data/Config.hs 68;" C Enable_debug src/Dodge/Data/Config.hs 68;" C
@@ -652,7 +652,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 37;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
ExplosionPayload src/Dodge/Data/Payload.hs 11;" C ExplosionPayload src/Dodge/Data/Payload.hs 11;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 87;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 87;" C
ExplosivePutty src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C ExplosivePutty src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C
ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m
ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m
Eyes src/Dodge/Data/Creature/Perception.hs 41;" C Eyes src/Dodge/Data/Creature/Perception.hs 41;" C
@@ -720,7 +720,7 @@ FootForward src/Dodge/Data/Creature/Stance.hs 31;" t
FootstepSound src/Dodge/Data/SoundOrigin.hs 29;" C FootstepSound src/Dodge/Data/SoundOrigin.hs 29;" C
ForceField src/Dodge/ForceField.hs 1;" m ForceField src/Dodge/ForceField.hs 1;" m
ForceField src/Dodge/Wall/ForceField.hs 1;" m ForceField src/Dodge/Wall/ForceField.hs 1;" m
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" t ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" t
Foreground src/Dodge/Room/Foreground.hs 1;" m Foreground src/Dodge/Room/Foreground.hs 1;" m
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
ForegroundShape src/Dodge/Data/ForegroundShape.hs 6;" m ForegroundShape src/Dodge/Data/ForegroundShape.hs 6;" m
@@ -746,10 +746,10 @@ GameOverOptions src/Dodge/Data/Universe.hs 70;" C
GameRoom src/Dodge/GameRoom.hs 15;" t GameRoom src/Dodge/GameRoom.hs 15;" t
GameRoom src/Dodge/GameRoom.hs 8;" m GameRoom src/Dodge/GameRoom.hs 8;" m
Gas src/Dodge/Gas.hs 1;" m Gas src/Dodge/Gas.hs 1;" m
GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" C GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" C
GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" t GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" t GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t
GasParams src/Dodge/Data/Item/Use.hs 115;" C GasParams src/Dodge/Data/Item/Use.hs 115;" C
GasSprayParams src/Dodge/Data/Item/Use.hs 81;" C GasSprayParams src/Dodge/Data/Item/Use.hs 81;" C
GenCr src/Dodge/Data/Creature/State.hs 31;" C GenCr src/Dodge/Data/Creature/State.hs 31;" C
@@ -998,7 +998,7 @@ LaserStart src/Dodge/Data/Laser.hs 21;" t
LaserType src/Dodge/Data/Laser.hs 16;" t LaserType src/Dodge/Data/Laser.hs 16;" t
Launcher src/Dodge/Item/Held/Launcher.hs 1;" m Launcher src/Dodge/Item/Held/Launcher.hs 1;" m
LauncherAI src/Dodge/Data/Creature/Misc.hs 54;" C LauncherAI src/Dodge/Data/Creature/Misc.hs 54;" C
LauncherAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C LauncherAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" C
LauncherCrit src/Dodge/Creature/LauncherCrit.hs 1;" m LauncherCrit src/Dodge/Creature/LauncherCrit.hs 1;" m
LaundrySS src/Dodge/Data/Scenario.hs 115;" C LaundrySS src/Dodge/Data/Scenario.hs 115;" C
Layer src/Picture/Data.hs 22;" t Layer src/Picture/Data.hs 22;" t
@@ -1465,7 +1465,7 @@ PressPlateId src/Dodge/Data/PressPlate.hs 15;" C
PressType src/Dodge/Data/Input.hs 13;" t PressType src/Dodge/Data/Input.hs 13;" t
PreviousArcEffect src/Dodge/Data/Item/Params.hs 34;" t PreviousArcEffect src/Dodge/Data/Item/Params.hs 34;" t
PrimitiveMode src/Shader/Data.hs 99;" t PrimitiveMode src/Shader/Data.hs 99;" t
PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C
Prison src/Dodge/Data/Scenario.hs 65;" C Prison src/Dodge/Data/Scenario.hs 65;" C
Procedural src/Dodge/Room/Procedural.hs 2;" m Procedural src/Dodge/Room/Procedural.hs 2;" m
Projectile src/Dodge/Data/Projectile.hs 16;" t Projectile src/Dodge/Data/Projectile.hs 16;" t
@@ -1473,7 +1473,7 @@ Projectile src/Dodge/Data/Projectile.hs 6;" m
Projectile src/Dodge/Projectile.hs 1;" m Projectile src/Dodge/Projectile.hs 1;" m
ProjectileParams src/Dodge/Data/Item/Use.hs 114;" C ProjectileParams src/Dodge/Data/Item/Use.hs 114;" C
ProjectileType src/Dodge/Data/Projectile.hs 34;" t ProjectileType src/Dodge/Data/Projectile.hs 34;" t
ProjectileUpdate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" 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 18;" t
Prop src/Dodge/Data/Prop.hs 6;" m Prop src/Dodge/Data/Prop.hs 6;" m
Prop src/Dodge/Default/Prop.hs 1;" m Prop src/Dodge/Default/Prop.hs 1;" m
@@ -1574,7 +1574,6 @@ ReactorSS src/Dodge/Data/Scenario.hs 111;" C
ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
RectRoomType src/Dodge/Data/Room.hs 32;" C RectRoomType src/Dodge/Data/Room.hs 32;" C
ReduceSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 57;" C ReducedRocketSmoke src/Dodge/Data/Projectile.hs 57;" C
ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C
Religion src/Dodge/Data/Scenario.hs 47;" C Religion src/Dodge/Data/Scenario.hs 47;" C
@@ -1582,7 +1581,7 @@ Reload src/Dodge/Data/ActionPlan.hs 190;" C
ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t
RemoteDetonatorLink src/Dodge/Data/ComposedItem.hs 26;" C RemoteDetonatorLink src/Dodge/Data/ComposedItem.hs 26;" C
RemoteDetonatorSF src/Dodge/Data/ComposedItem.hs 44;" C RemoteDetonatorSF src/Dodge/Data/ComposedItem.hs 44;" C
RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 23;" C RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 25;" C RemoteScreenLink src/Dodge/Data/ComposedItem.hs 25;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 42;" C RemoteScreenSF src/Dodge/Data/ComposedItem.hs 42;" C
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
@@ -1815,7 +1814,7 @@ Standing src/Dodge/Data/Creature/Stance.hs 25;" C
Start src/Dodge/Room/Start.hs 3;" m Start src/Dodge/Room/Start.hs 3;" m
StartNewGame src/Dodge/StartNewGame.hs 1;" m StartNewGame src/Dodge/StartNewGame.hs 1;" m
StartSentinelPost src/Dodge/Data/ActionPlan.hs 153;" C StartSentinelPost src/Dodge/Data/ActionPlan.hs 153;" C
StartSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" C StartSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" C
State src/Dodge/Creature/State.hs 1;" m State src/Dodge/Creature/State.hs 1;" m
State src/Dodge/Data/Creature/State.hs 6;" m State src/Dodge/Data/Creature/State.hs 6;" m
StaticWalls src/Dodge/LevelGen/StaticWalls.hs 5;" m StaticWalls src/Dodge/LevelGen/StaticWalls.hs 5;" m
@@ -1933,7 +1932,7 @@ Text src/Picture/Text.hs 1;" m
TextShad src/Picture/Data.hs 37;" C TextShad src/Picture/Data.hs 37;" C
ThingsHit src/Dodge/WorldEvent/ThingsHit.hs 6;" m ThingsHit src/Dodge/WorldEvent/ThingsHit.hs 6;" m
ThirdPartyLens src/ThirdPartyLens.hs 2;" m ThirdPartyLens src/ThirdPartyLens.hs 2;" m
ThrustPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" C ThrustPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 19;" C
Tile src/Data/Tile.hs 14;" t Tile src/Data/Tile.hs 14;" t
Tile src/Data/Tile.hs 3;" m Tile src/Data/Tile.hs 3;" m
Tile src/Dodge/Tile.hs 1;" m Tile src/Dodge/Tile.hs 1;" m
@@ -2831,12 +2830,11 @@ _pjUpdates src/Dodge/Data/Projectile.hs 27;" f
_pjVel src/Dodge/Data/Projectile.hs 19;" f _pjVel src/Dodge/Data/Projectile.hs 19;" f
_pjZ src/Dodge/Data/Projectile.hs 25;" f _pjZ src/Dodge/Data/Projectile.hs 25;" f
_pjZVel src/Dodge/Data/Projectile.hs 26;" f _pjZVel src/Dodge/Data/Projectile.hs 26;" f
_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f _pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" f _pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 19;" f
_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" f _pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" f
_pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f _pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 19;" f
_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" f _pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" f
_pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f
_plIDCont src/Dodge/Data/GenWorld.hs 81;" f _plIDCont src/Dodge/Data/GenWorld.hs 81;" f
_plMID src/Dodge/Data/GenWorld.hs 80;" f _plMID src/Dodge/Data/GenWorld.hs 80;" f
_plOrder src/Dodge/Data/GenWorld.hs 77;" f _plOrder src/Dodge/Data/GenWorld.hs 77;" f
@@ -3344,7 +3342,7 @@ airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f
allHotkeys src/Dodge/Creature/YourControl.hs 60;" f allHotkeys src/Dodge/Creature/YourControl.hs 60;" f
allInvLocs src/Dodge/Item/Grammar.hs 256;" f allInvLocs src/Dodge/Item/Grammar.hs 256;" f
allVisibleWalls src/Dodge/Base/Collide.hs 132;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f alongSegBy src/Geometry.hs 43;" f
alteRifle src/Dodge/Item/Held/Cane.hs 65;" f alteRifle src/Dodge/Item/Held/Cane.hs 65;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 112;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 112;" f
@@ -3357,12 +3355,12 @@ angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f anythingHitCirc src/Dodge/Base/Collide.hs 246;" f
applyCME src/Dodge/HeldUse.hs 126;" f applyCME src/Dodge/HeldUse.hs 126;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 55;" f applyGravityPU src/Dodge/Projectile/Update.hs 50;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 141;" f applyInvLock src/Dodge/HeldUse.hs 141;" f
@@ -3504,7 +3502,7 @@ boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f
bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossKeyItems src/Dodge/LockAndKey.hs 12;" f
bossRoom src/Dodge/Room/Boss.hs 60;" f bossRoom src/Dodge/Room/Boss.hs 60;" f
bounceDir src/Dodge/Bullet.hs 113;" f bounceDir src/Dodge/Bullet.hs 113;" f
bouncePoint src/Dodge/Base/Collide.hs 88;" f bouncePoint src/Dodge/Base/Collide.hs 87;" f
boundPoints src/Bound.hs 10;" f boundPoints src/Bound.hs 10;" f
boundedGrid src/Grid.hs 19;" f boundedGrid src/Grid.hs 19;" f
boxABC src/Polyhedra.hs 108;" f boxABC src/Polyhedra.hs 108;" f
@@ -3534,8 +3532,8 @@ cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f
calcTexCoord src/Tile.hs 19;" f calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 233;" f canSee src/Dodge/Base/Collide.hs 232;" f
canSeeIndirect src/Dodge/Base/Collide.hs 240;" f canSeeIndirect src/Dodge/Base/Collide.hs 239;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
@@ -3584,11 +3582,11 @@ chooseMovementPistol src/Dodge/Humanoid.hs 202;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circCollisionDebugItem src/Dodge/Debug.hs 63;" f circCollisionDebugItem src/Dodge/Debug.hs 63;" f
circHitWall src/Dodge/Base/Collide.hs 149;" f circHitWall src/Dodge/Base/Collide.hs 148;" f
circOnAnyCr src/Dodge/Base/Collide.hs 197;" f circOnAnyCr src/Dodge/Base/Collide.hs 196;" f
circOnSeg src/Geometry.hs 104;" f circOnSeg src/Geometry.hs 104;" f
circOnSegNoEndpoints src/Geometry.hs 94;" f circOnSegNoEndpoints src/Geometry.hs 94;" f
circOnSomeWall src/Dodge/Base/Collide.hs 191;" f circOnSomeWall src/Dodge/Base/Collide.hs 190;" f
circle src/Picture/Base.hs 180;" f circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f circleSolid src/Picture/Base.hs 164;" f
@@ -3633,10 +3631,10 @@ colSpark src/Dodge/Spark.hs 47;" f
colSparkRandDir src/Dodge/Spark.hs 101;" f colSparkRandDir src/Dodge/Spark.hs 101;" f
collectDamageTypes src/Dodge/Damage.hs 32;" f collectDamageTypes src/Dodge/Damage.hs 32;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 281;" f collectInvItems src/Dodge/Update/Input/InGame.hs 281;" f
collideCircWalls src/Dodge/Base/Collide.hs 159;" f collideCircWalls src/Dodge/Base/Collide.hs 158;" f
collidePoint src/Dodge/Base/Collide.hs 49;" f collidePoint src/Dodge/Base/Collide.hs 49;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 94;" f collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 108;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 107;" f
collisionDebugItem src/Dodge/Debug.hs 47;" f collisionDebugItem src/Dodge/Debug.hs 47;" f
color src/Picture/Base.hs 108;" f color src/Picture/Base.hs 108;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
@@ -3826,7 +3824,7 @@ debugMenuOptions src/Dodge/Menu.hs 119;" f
debugOn src/Dodge/Data/Config.hs 151;" f debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 86;" f debugSelectCreatureList src/Dodge/Debug.hs 86;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f
decTimMvVel src/Dodge/Projectile/Update.hs 178;" f decTimMvVel src/Dodge/Projectile/Update.hs 181;" f
decodedtmap src/Dodge/Terminal.hs 205;" f decodedtmap src/Dodge/Terminal.hs 205;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f
@@ -3929,7 +3927,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 21;" f destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMount src/Dodge/Block.hs 104;" f destroyMount src/Dodge/Block.hs 104;" f
destroyMounts src/Dodge/Block.hs 101;" f destroyMounts src/Dodge/Block.hs 101;" f
destroyProjectile src/Dodge/Projectile/Update.hs 103;" f destroyProjectile src/Dodge/Projectile/Update.hs 109;" f
detV src/Geometry/Vector.hs 93;" f detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 41;" f detector src/Dodge/Item/Held/Utility.hs 41;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 434;" f detectorColor src/Dodge/Item/Draw/SPic.hs 434;" f
@@ -3954,7 +3952,7 @@ displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 226;" f displayFreeSlots src/Dodge/DisplayInventory.hs 226;" f
displayIndents src/Dodge/DisplayInventory.hs 123;" f displayIndents src/Dodge/DisplayInventory.hs 123;" f
displayPulse src/Dodge/Item/Display.hs 107;" f displayPulse src/Dodge/Item/Display.hs 106;" f
displaySectionsSizes src/Dodge/DisplayInventory.hs 118;" f displaySectionsSizes src/Dodge/DisplayInventory.hs 118;" f
displayTerminalLineString src/Dodge/Update.hs 447;" f displayTerminalLineString src/Dodge/Update.hs 447;" f
dist src/Geometry/Vector.hs 179;" f dist src/Geometry/Vector.hs 179;" f
@@ -4043,7 +4041,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 115;" f doThrust src/Dodge/Projectile/Update.hs 121;" f
doTimeScroll src/Dodge/Update.hs 205;" f doTimeScroll src/Dodge/Update.hs 205;" f
doTmTm src/Dodge/TmTm.hs 6;" f doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 101;" f doTmWdWd src/Dodge/WorldEffect.hs 101;" f
@@ -4250,7 +4248,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 195;" f expireAndDamage src/Dodge/Bullet.hs 195;" f
expireAndDamageFL src/Dodge/Flame.hs 47;" f expireAndDamageFL src/Dodge/Flame.hs 47;" f
explodeShell src/Dodge/Projectile/Update.hs 186;" f explodeShell src/Dodge/Projectile/Update.hs 189;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -4462,11 +4460,11 @@ handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f handleTextInput src/Dodge/Event/Input.hs 18;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 33;" f hardQuit src/Dodge/Concurrent.hs 33;" f
hasButtonLOS src/Dodge/Base/Collide.hs 211;" f hasButtonLOS src/Dodge/Base/Collide.hs 210;" f
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
hasFrontArmour src/Dodge/Creature/Test.hs 110;" f hasFrontArmour src/Dodge/Creature/Test.hs 110;" f
hasLOS src/Dodge/Base/Collide.hs 204;" f hasLOS src/Dodge/Base/Collide.hs 203;" f
hasLOSIndirect src/Dodge/Base/Collide.hs 219;" f hasLOSIndirect src/Dodge/Base/Collide.hs 218;" f
hat src/Dodge/Item/Equipment.hs 134;" f hat src/Dodge/Item/Equipment.hs 134;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 140;" f headLamp src/Dodge/Item/Equipment.hs 140;" f
@@ -4620,7 +4618,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f
isValidCommand src/Dodge/Debug/Terminal.hs 128;" f isValidCommand src/Dodge/Debug/Terminal.hs 128;" f
isVowel src/StringHelp.hs 8;" f isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 226;" f isWalkable src/Dodge/Base/Collide.hs 225;" f
isoMatrix src/MatrixHelper.hs 30;" f isoMatrix src/MatrixHelper.hs 30;" f
isotriBWH src/Geometry/Polygon.hs 20;" f isotriBWH src/Geometry/Polygon.hs 20;" f
itDim src/Dodge/Item/InvSize.hs 21;" f itDim src/Dodge/Item/InvSize.hs 21;" f
@@ -4641,7 +4639,7 @@ itemFromEquipType src/Dodge/Item.hs 50;" f
itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 13;" f itemInfo src/Dodge/Item/Info.hs 13;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemNumberDisplay src/Dodge/Item/Display.hs 90;" f itemNumberDisplay src/Dodge/Item/Display.hs 89;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f
@@ -4875,7 +4873,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 592;" f
maybeOpenTerminal src/Dodge/Update.hs 122;" f maybeOpenTerminal src/Dodge/Update.hs 122;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 113;" f maybeWarmupStatus src/Dodge/Item/Display.hs 112;" f
mcApplyDamage src/Dodge/Machine/Update.hs 108;" f mcApplyDamage src/Dodge/Machine/Update.hs 108;" f
mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
@@ -5076,10 +5074,10 @@ overPos src/Picture/Base.hs 303;" f
overPosObj src/Shape.hs 276;" f overPosObj src/Shape.hs 276;" f
overPosSH src/Shape.hs 260;" f overPosSH src/Shape.hs 260;" f
overPosSP src/ShapePicture.hs 41;" f overPosSP src/ShapePicture.hs 41;" f
overlapCircWalls src/Dodge/Base/Collide.hs 138;" f overlapCircWalls src/Dodge/Base/Collide.hs 137;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 177;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 176;" f
overlapSegCrs src/Dodge/Base/Collide.hs 59;" f overlapSegCrs src/Dodge/Base/Collide.hs 59;" f
overlapSegWalls src/Dodge/Base/Collide.hs 120;" f overlapSegWalls src/Dodge/Base/Collide.hs 119;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 172;" f overrideInternal src/Dodge/Creature/ReaderUpdate.hs 172;" f
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 33;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 33;" f
overwriteLabel src/Dodge/Tree/Compose.hs 31;" f overwriteLabel src/Dodge/Tree/Compose.hs 31;" f
@@ -5131,7 +5129,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 42;" f pistol src/Dodge/Item/Held/Stick.hs 42;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 160;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 166;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
@@ -5380,7 +5378,6 @@ rectXY src/Geometry/Polygon.hs 35;" f
rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f
red src/Color.hs 14;" f red src/Color.hs 14;" f
reduceLocLDT src/Dodge/DoubleTree.hs 256;" f reduceLocLDT src/Dodge/DoubleTree.hs 256;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 175;" f
reflDirWall src/Dodge/Base/Wall.hs 16;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f
reflVelWall src/Dodge/Base/Wall.hs 24;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f
reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f
@@ -5650,7 +5647,7 @@ shardShape src/Dodge/Block/Debris.hs 181;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 284;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 284;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 84;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 79;" f
shellMag src/Dodge/Item/Ammo.hs 61;" f shellMag src/Dodge/Item/Ammo.hs 61;" f
shellModule src/Dodge/Item/Scope.hs 45;" f shellModule src/Dodge/Item/Scope.hs 45;" f
shellShape src/Dodge/Projectile/Draw.hs 34;" f shellShape src/Dodge/Projectile/Draw.hs 34;" f
@@ -5696,8 +5693,8 @@ shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f
shoulderSH src/Dodge/Creature/Picture.hs 139;" f shoulderSH src/Dodge/Creature/Picture.hs 139;" f
shoulderSP src/Dodge/Creature/HandPos.hs 170;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f
showAttachItem src/Dodge/Item/Display.hs 70;" f showAttachItem src/Dodge/Item/Display.hs 69;" f
showEquipItem src/Dodge/Item/Display.hs 82;" f showEquipItem src/Dodge/Item/Display.hs 81;" f
showInt src/Dodge/Item/Info.hs 30;" f showInt src/Dodge/Item/Info.hs 30;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f
showManObj src/Dodge/TestString.hs 79;" f showManObj src/Dodge/TestString.hs 79;" f
@@ -6039,7 +6036,8 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySpinByCID src/Dodge/Projectile/Update.hs 142;" f tryShellBounce src/Dodge/Projectile/Update.hs 97;" f
trySpinByCID src/Dodge/Projectile/Update.hs 148;" f
trySynthBullet src/Dodge/Creature/State.hs 204;" f trySynthBullet src/Dodge/Creature/State.hs 204;" f
tryUseParent src/Dodge/Creature/State.hs 197;" f tryUseParent src/Dodge/Creature/State.hs 197;" f
turnTo src/Dodge/Movement/Turn.hs 4;" f turnTo src/Dodge/Movement/Turn.hs 4;" f
@@ -6146,7 +6144,7 @@ updatePosEvents src/Dodge/Update.hs 573;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 365;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 365;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 368;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 368;" f
updateProjectile src/Dodge/Projectile/Update.hs 24;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f
updateProp src/Dodge/Prop/Update.hs 11;" f updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 22;" f updatePulse src/Dodge/Creature/Update.hs 22;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f
@@ -6260,7 +6258,7 @@ viewClipBounds src/Dodge/Debug/Picture.hs 307;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 129;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 129;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 144;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 144;" f
violet src/Color.hs 21;" f violet src/Color.hs 21;" f
visibleWalls src/Dodge/Base/Collide.hs 124;" f visibleWalls src/Dodge/Base/Collide.hs 123;" f
visionCheck src/Dodge/Creature/Perception.hs 152;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f
volleyGun src/Dodge/Item/Held/Cane.hs 31;" f volleyGun src/Dodge/Item/Held/Cane.hs 31;" f