Refactor muzzle location when item used, remove saveSlot/seed

This commit is contained in:
2025-10-12 14:54:03 +01:00
parent bbda28cbc1
commit f312cc41ff
5 changed files with 198 additions and 254 deletions
-1
View File
@@ -1 +0,0 @@
7114951007332849727
+1
View File
@@ -18,6 +18,7 @@ data SoundOrigin
| CrMouth Int | CrMouth Int
| CrChasm Int | CrChasm Int
| CrWeaponSound Int Int | CrWeaponSound Int Int
| ItemSound Int Int
| CrWeaponFailSound Int | CrWeaponFailSound Int
| MachineSound Int | MachineSound Int
| MachineAltSound Int | MachineAltSound Int
+100 -157
View File
@@ -8,7 +8,6 @@ module Dodge.HeldUse (
heldEffectMuzzles, heldEffectMuzzles,
) where ) where
import Linear (_xy)
import Color import Color
import Control.Applicative import Control.Applicative
import Control.Monad import Control.Monad
@@ -36,6 +35,7 @@ import Dodge.Tesla
import Geometry import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp import LensHelp
import Linear (_xy, _xyz)
import ListHelp import ListHelp
import NewInt import NewInt
import Picture.Base import Picture.Base
@@ -205,9 +205,17 @@ heldItemMuzzles itm = \case
AUTORIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 AUTORIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0
BURSTRIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 & ix 0 . mzInaccuracy .~ 0.05 BURSTRIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 & ix 0 . mzInaccuracy .~ 0.05
MINIGUNX i -> MINIGUNX i ->
replicate [ ( Muzzle
i (V2 (30 + 40 * fromIntegral j / fromIntegral i) 0)
(Muzzle (V2 30 0) 0 0.05 maguse1 NoFlare MuzzleShootBullet 10) 0
0.05
maguse1
NoFlare
MuzzleShootBullet
10
)
| j <- [0 .. i -1]
]
& ix 0 . mzFlareType .~ MiniGunFlare & ix 0 . mzFlareType .~ MiniGunFlare
BANGROD -> BANGROD ->
dbwMuzzles dbwMuzzles
@@ -646,27 +654,23 @@ loadMuzzle loc cr (b, w) mz = maybe (b, w) (True,) $ case mz ^. mzAmmoSlot of
useLoadedAmmo loc cr mz (Just (usedammo, mag)) $ useLoadedAmmo loc cr mz (Just (usedammo, mag)) $
removeAmmoFromMag usedammo mid w removeAmmoFromMag usedammo mid w
makeMuzzleFlare :: Muzzle -> LocationDT OItem -> Creature -> World -> World makeMuzzleFlare :: Point3Q -> LocationDT OItem -> FlareType -> World -> World
makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of makeMuzzleFlare (p, q) loc = \case
NoFlare -> id NoFlare -> id
BasicFlare -> basicMuzFlare pos dir BasicFlare -> basicMuzFlare (p ^. _xy) dir
NoLightFlare -> muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir NoLightFlare -> muzFlareAt (V4 10 10 1 3) p dir
MiniGunFlare -> MiniGunFlare ->
oddcheck (cWorld . lWorld . lights .:~ LSParam (pos `v2z` 20) 100 (V3 1 1 0.5)) oddcheck (cWorld . lWorld . lights .:~ LSParam p 100 (V3 1 1 0.5))
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir . muzFlareAt (V4 10 10 1 3) p dir
HeavySmokeFlare -> basicMuzFlare pos dir HeavySmokeFlare -> basicMuzFlare (p ^. _xy) dir
LasGunFlare -> LasGunFlare ->
flareCircleAt (getLaserColor loc) 0.8 (pos `v2z` 20) flareCircleAt (getLaserColor loc) 0.8 p
. ( cWorld . lWorld . lights . ( cWorld . lWorld . lights
.:~ LSParam (pos `v2z` 10) 100 (xyzV4 $ getLaserColor loc) .:~ LSParam p 100 (getLaserColor loc ^. _xyz) -- p had z=10
) )
TeslaGunFlare -> cWorld . lWorld . lights .:~ LSParam (pos `v2z` 10) 100 (V3 0 0 1) TeslaGunFlare -> cWorld . lWorld . lights .:~ LSParam p 100 (V3 0 0 1) -- p had z=10
where where
(V3 x y _, q) = dir = Q.qToAng q
locOrient loc cr
`Q.comp` (_mzPos mz `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = (cr ^. crPos . _xy) + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q
oddcheck f w oddcheck f w
| odd (w ^. cWorld . lWorld . lClock) = f w | odd (w ^. cWorld . lWorld . lClock) = f w
| otherwise = w | otherwise = w
@@ -722,12 +726,12 @@ useLoadedAmmo ::
World -> World ->
World World
useLoadedAmmo loc cr mz m w = useLoadedAmmo loc cr mz m w =
makeMuzzleFlare mz loc cr $ case _mzEffect mz of makeMuzzleFlare pq loc (mz ^. mzFlareType) $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets loc cr (mz, x, magtree) w MuzzleShootBullet -> shootBullets loc cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser loc cr mz w MuzzleLaser -> creatureShootLaser pq' loc (w & randGen .~ g)
MuzzlePulseLaser -> creatureShootPulseLaser loc cr mz w MuzzlePulseLaser -> creatureShootPulseLaser pq' cr (w & randGen .~ g)
MuzzlePulseBall -> creatureShootPulseBall loc cr mz w MuzzlePulseBall -> shootPulseBall pq' (w & randGen .~ g)
MuzzleTesla -> shootTeslaArc loc cr mz w MuzzleTesla -> shootTeslaArc pq' loc (w & randGen .~ g)
MuzzleTractor -> shootTractorBeam cr w MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR pq loc magtree cr w MuzzleRLauncher -> createProjectileR pq loc magtree cr w
MuzzleGLauncher -> MuzzleGLauncher ->
@@ -738,7 +742,8 @@ useLoadedAmmo loc cr mz m w =
(getPJStabiliser itmtree) (getPJStabiliser itmtree)
cr cr
w w
MuzzleNozzle{} -> useGasParams mitid mz loc cr $ walkNozzle mz itm w MuzzleNozzle{} -> useGasParams pq' mitid mz loc cr $ walkNozzle mz itm
$ w & randGen .~ g
MuzzleShatter -> shootShatter itm cr w MuzzleShatter -> shootShatter itm cr w
MuzzleDetector -> MuzzleDetector ->
itemDetectorEffect itemDetectorEffect
@@ -754,13 +759,14 @@ useLoadedAmmo loc cr mz m w =
MuzzleScroller -> useTimeScrollGun itm cr w MuzzleScroller -> useTimeScrollGun itm cr w
where where
pq = muzzlePos loc cr mz pq = muzzlePos loc cr mz
(pq', g) = muzzleRandPos loc cr mz `runState` (w ^. randGen)
itmtree = loc ^. locDT itmtree = loc ^. locDT
mitid = magtree ^. dtValue . _1 . itID mitid = magtree ^. dtValue . _1 . itID
itm = itmtree ^. dtValue . _1 itm = itmtree ^. dtValue . _1
(x, magtree) = fromJust m (x, magtree) = fromJust m
muzzlePos :: LocationDT OItem -> Creature -> Muzzle -> Point3Q muzzlePos :: LocationDT OItem -> Creature -> Muzzle -> Point3Q
muzzlePos m cr muz = (p1,q1) `Q.comp` pq `Q.comp` (p3,q3) muzzlePos m cr muz = (p1, q1) `Q.comp` pq `Q.comp` (p3, q3)
where where
pq = locOrient m cr pq = locOrient m cr
p1 = cr ^. crPos p1 = cr ^. crPos
@@ -768,6 +774,16 @@ muzzlePos m cr muz = (p1,q1) `Q.comp` pq `Q.comp` (p3,q3)
p3 = addZ 0 $ muz ^. mzPos p3 = addZ 0 $ muz ^. mzPos
q3 = Q.qz $ muz ^. mzRot q3 = Q.qz $ muz ^. mzRot
muzzleRandPos :: LocationDT OItem -> Creature -> Muzzle -> State StdGen Point3Q
muzzleRandPos m cr muz = do
a <- state $ randomR (- inacc, inacc)
y <- case muz ^. mzRandomOffset of
0 -> return 0
i -> state $ randomR (- i, i)
return $ muzzlePos m cr muz `Q.comp` (V3 0 y 0, Q.qz a)
where
inacc = _mzInaccuracy muz
getAttachedSFLink :: ItemSF -> DTree OItem -> Maybe (NewInt ItmInt) getAttachedSFLink :: ItemSF -> DTree OItem -> Maybe (NewInt ItmInt)
getAttachedSFLink sf = (^? dtRight . folding (find f) . dtValue . _1 . itID) getAttachedSFLink sf = (^? dtRight . folding (find f) . dtValue . _1 . itID)
where where
@@ -822,28 +838,15 @@ tractorBeamAt pos outpos dir power =
, _tbTime = 10 , _tbTime = 10
} }
creatureShootLaser :: LocationDT OItem -> Creature -> Muzzle -> World -> World creatureShootLaser :: Point3Q -> LocationDT OItem -> World -> World
creatureShootLaser loc cr mz w = creatureShootLaser (p, q) loc =
w shootLaser
& randGen .~ g (ItemSound (loc ^. locDT . dtValue . _1 . itID . unNInt) 0)
& shootLaser (getLaserDamage loc)
(CrWeaponSound (_crID cr) 0) (getLaserPhaseV loc)
(getLaserDamage loc) (p ^. _xy)
(getLaserPhaseV loc) (Q.qToAng q)
pos (getLaserColor loc)
dir
(getLaserColor loc)
where
(V3 x y _, q) =
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q + a
(a, g) = randomR (- inacc, inacc) $ _randGen w
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
shootLaser :: shootLaser ::
SoundOrigin -> SoundOrigin ->
@@ -854,37 +857,24 @@ shootLaser ::
Color -> Color ->
World -> World ->
World World
shootLaser so lt pv p dir col w = shootLaser so lt pv p dir col =
w ( cWorld . lWorld . lasers
& cWorld . lWorld . lasers .:~ Laser
.:~ Laser { _lpType = lt
{ _lpType = lt , _lpPhaseV = pv
, _lpPhaseV = pv , _lpPos = p
, _lpPos = p , _lpDir = dir
, _lpDir = dir , _lpColor = col
, _lpColor = col }
} )
& soundContinue so p tone440sawtoothquietS (Just 2) . soundContinue so p tone440sawtoothquietS (Just 2)
creatureShootPulseLaser :: LocationDT OItem -> Creature -> Muzzle -> World -> World creatureShootPulseLaser :: Point3Q -> Creature -> World -> World
creatureShootPulseLaser loc cr mz w = creatureShootPulseLaser (p,q) cr =
w shootPulseLaser
& randGen .~ g
& shootPulseLaser
(CrWeaponSound (_crID cr) 0) (CrWeaponSound (_crID cr) 0)
pos (p ^. _xy)
dir (Q.qToAng q)
where
(V3 x y _, q) =
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q + a
(a, g) = randomR (- inacc, inacc) $ _randGen w
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
shootPulseLaser :: SoundOrigin -> Point2 -> Float -> World -> World shootPulseLaser :: SoundOrigin -> Point2 -> Float -> World -> World
shootPulseLaser so p dir w = shootPulseLaser so p dir w =
@@ -899,37 +889,22 @@ shootPulseLaser so p dir w =
} }
& soundStart so p lasPulseS Nothing & soundStart so p lasPulseS Nothing
creatureShootPulseBall :: LocationDT OItem -> Creature -> Muzzle -> World -> World shootPulseBall :: Point3Q -> World -> World
creatureShootPulseBall loc cr mz w = w & randGen .~ g & shootPulseBall pos dir shootPulseBall (p, q) w =
where
(V3 x y _, q) =
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q + a
(a, g) = randomR (- inacc, inacc) $ _randGen w
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
shootPulseBall :: Point2 -> Float -> World -> World
shootPulseBall p dir w =
w w
& cWorld . lWorld . pulseBalls . at i & cWorld . lWorld . pulseBalls . at i
?~ PulseBall ?~ PulseBall
{ _pbPos = p { _pbPos = p ^. _xy
, _pbVel = 3.5 * unitVectorAtAngle dir , _pbVel = 3.5 * unitVectorAtAngle (Q.qToAng q)
, _pbTimer = 200 , _pbTimer = 200
, _pbID = i , _pbID = i
} }
& soundStart (PBSound i) p energyReleaseS Nothing & soundStart (PBSound i) (p ^. _xy) energyReleaseS Nothing
where where
i = IM.newKey $ w ^. cWorld . lWorld . pulseBalls i = IM.newKey $ w ^. cWorld . lWorld . pulseBalls
removeAmmoFromMag :: Int -> Int -> World -> World removeAmmoFromMag :: Int -> Int -> World -> World
removeAmmoFromMag x magid = removeAmmoFromMag x magid = cWorld . lWorld . items . ix magid . itConsumables . _Just -~ x
cWorld . lWorld . items . ix magid . itConsumables . _Just -~ x
getBulletType :: DTree OItem -> Maybe Bullet getBulletType :: DTree OItem -> Maybe Bullet
getBulletType magtree = getBulletType magtree =
@@ -995,22 +970,13 @@ shootBullets loc cr (mz, x, magtree) w = fromMaybe w $ do
return $ foldl' (&) w (replicate x (shootBullet thebullet loc cr mz)) return $ foldl' (&) w (replicate x (shootBullet thebullet loc cr mz))
shootBullet :: Bullet -> LocationDT OItem -> Creature -> Muzzle -> World -> World shootBullet :: Bullet -> LocationDT OItem -> Creature -> Muzzle -> World -> World
shootBullet bu loc cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w shootBullet bu loc cr mz w = makeBullet bu itm pq . (randGen .~ g) $ w
where where
(V3 x y _, q) = (pq, g) = muzzleRandPos loc cr mz `runState` (w ^. randGen)
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
itm = loc ^. locDT . dtValue . _1 itm = loc ^. locDT . dtValue . _1
bulpos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
(a, g) = randomR (- inacc, inacc) $ _randGen w
dir = _crDir cr + Q.qToAng q + a
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
makeBullet :: Bullet -> Item -> Point2 -> Float -> World -> World makeBullet :: Bullet -> Item -> Point3Q -> World -> World
makeBullet thebullet itm bulpos dir w = makeBullet thebullet itm (p, q) w =
w & randGen .~ g'' w & randGen .~ g''
& cWorld . lWorld . bullets & cWorld . lWorld . bullets
.:~ ( thebullet .:~ ( thebullet
@@ -1020,6 +986,8 @@ makeBullet thebullet itm bulpos dir w =
& buDrag *~ drag & buDrag *~ drag
) )
where where
bulpos = p ^. _xy
dir = Q.qToAng q
g = _randGen w g = _randGen w
(drag, g') = case heldItemRifling (_ibtHeld $ _itType itm) of --unsafe (drag, g') = case heldItemRifling (_ibtHeld $ _itType itm) of --unsafe
ConstFloat x -> (x, g) ConstFloat x -> (x, g)
@@ -1120,33 +1088,26 @@ mcUseHeld hit = case hit of
_ -> mcShootAuto _ -> mcShootAuto
useGasParams :: useGasParams ::
Point3Q ->
NewInt ItmInt -> NewInt ItmInt ->
Muzzle -> Muzzle ->
LocationDT OItem -> LocationDT OItem ->
Creature -> Creature ->
World -> World ->
World World
useGasParams (NInt magitid) mz loc cr w = useGasParams pq (NInt magitid) mz loc cr w =
w w
& createGas gastype pressure pos dir cr & createGas gastype pressure (pq ^. _1 . _xy) dir cr
& randGen .~ g' & randGen .~ g
where where
itm = loc ^. locDT . dtValue . _1 itm = loc ^. locDT . dtValue . _1
(pressure, g) = doGenFloat (_nzPressure $ _mzEffect mz) (_randGen w) (pressure, g) = doGenFloat (_nzPressure $ _mzEffect mz) (_randGen w)
gastype = fromMaybe (error "cannot find gas ammo") $ do gastype = fromMaybe (error "cannot find gas ammo") $ do
hit <- itm ^? itType . ibtHeld hit <- itm ^? itType . ibtHeld
fueltype <- w ^? cWorld . lWorld . items . ix magitid >>= magAmmoParams >>= (^? ampCreateGas) fueltype <- w ^? cWorld . lWorld . items . ix magitid
>>= magAmmoParams >>= (^? ampCreateGas)
gasType hit fueltype gasType hit fueltype
(V3 x y _, q) = dir = Q.qToAng (pq ^. _2) + _nzAngle (_itParams itm)
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
(a, g') = randomR (- inacc, inacc) g
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
dir = _crDir cr + Q.qToAng q + a + _nzAngle (_itParams itm)
gasType :: HeldItemType -> GasFuel -> Maybe GasCreate gasType :: HeldItemType -> GasFuel -> Maybe GasCreate
gasType hit _ = case hit of gasType hit _ = case hit of
@@ -1210,30 +1171,24 @@ mcShootAuto itm mc w
w w
& cWorld . lWorld . items . ix i . itTimeLastUsed & cWorld . lWorld . items . ix i . itTimeLastUsed
.~ w ^. cWorld . lWorld . lClock .~ w ^. cWorld . lWorld . lClock
& makeBullet defaultBullet itm pos dir -- & makeBullet defaultBullet itm pos dir
| otherwise = w | otherwise = w
where where
lastused = itm ^. itTimeLastUsed lastused = itm ^. itTimeLastUsed
pos = _mcPos mc +.+ 20 *.* unitVectorAtAngle dir
dir = mc ^?! mcType . _McTurret . tuDir -- pos = _mcPos mc +.+ 20 *.* unitVectorAtAngle dir
-- dir = mc ^?! mcType . _McTurret . tuDir
-- | assumes that the item is held -- | assumes that the item is held
shootTeslaArc :: LocationDT OItem -> Creature -> Muzzle -> World -> World shootTeslaArc :: Point3Q -> LocationDT OItem -> World -> World
shootTeslaArc loc cr mz w = shootTeslaArc (p, q) loc w =
w' & cWorld . lWorld . items . ix itid . itParams .~ ip w' & cWorld . lWorld . items . ix itid . itParams .~ ip
& soundContinue (CrWeaponSound (_crID cr) 0) pos elecCrackleS (Just 2) & soundContinue (ItemSound itid 0) pos elecCrackleS (Just 2)
where where
itm = loc ^. locDT . dtValue . _1 itm = loc ^. locDT . dtValue . _1
itid = itm ^. itID . unNInt itid = itm ^. itID . unNInt
(w', ip) = makeTeslaArc (itm ^. itParams) pos dir w (w', ip) = makeTeslaArc (itm ^. itParams) pos (Q.qToAng q) w
(V3 x y _, q) = pos = p ^. _xy
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = cr ^. crPos . _xy + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
determineProjectileTracking :: DTree OItem -> DTree OItem -> RocketHoming determineProjectileTracking :: DTree OItem -> DTree OItem -> RocketHoming
determineProjectileTracking magtree itmtree = determineProjectileTracking magtree itmtree =
@@ -1323,18 +1278,17 @@ createProjectile ::
Creature -> Creature ->
World -> World ->
World World
createProjectile x pjtype mtree stab cr w = fromMaybe (failsound w) $ do createProjectile x pjtype mtree stab cr w = fromMaybe w $ do
magitid <- mtree ^? dtValue . _1 . itID . unNInt magitid <- mtree ^? dtValue . _1 . itID . unNInt
ammoitem <- w ^? cWorld . lWorld . items . ix magitid ammoitem <- w ^? cWorld . lWorld . items . ix magitid
let rdetonate = let rdetonate = getmid isrdet
(^. dtValue . _1 . itID) <$> find isrdet (mtree ^. dtLeft) rscreen = getmid isrscreen
rscreen =
(^. dtValue . _1 . itID) <$> find isrscreen (mtree ^. dtLeft)
aparams <- aparams <-
((mtree ^? dtLeft) >>= find isampay >>= (^? dtValue . _1 . itType . ibtAttach . shellPayload)) ((mtree ^? dtLeft) >>= find isampay >>= (^? dtValue . _1 . itType . ibtAttach . shellPayload))
<|> magAmmoParams ammoitem ^? _Just . ampPayload <|> magAmmoParams ammoitem ^? _Just . ampPayload
return . makesound $ createShell x rdetonate rscreen stab pjtype aparams cr w return $ createShell x rdetonate rscreen stab pjtype aparams cr w
where where
getmid t = find t (mtree ^. dtLeft) <&> (^. dtValue . _1 . itID)
isrdet :: DTree OItem -> Bool isrdet :: DTree OItem -> Bool
isrdet y = case y ^. dtValue . _2 of isrdet y = case y ^. dtValue . _2 of
RemoteDetonatorSF{} -> True RemoteDetonatorSF{} -> True
@@ -1348,17 +1302,6 @@ createProjectile x pjtype mtree stab cr w = fromMaybe (failsound w) $ do
AmmoPayloadSF{} -> True AmmoPayloadSF{} -> True
_ -> False _ -> False
-- the sound should be moved to the projectile firing
makesound =
soundMultiFrom
[CrWeaponSound (_crID cr) j | j <- [0 .. 3]]
(cr ^. crPos . _xy)
tap4S
Nothing
failsound w' = case w' ^? input . mouseButtons . ix SDL.ButtonLeft of
Just 0 -> soundStart (CrWeaponSound (_crID cr) 0) (cr ^. crPos . _xy) click1S Nothing w'
_ -> soundContinue (CrWeaponSound (_crID cr) 0) (cr ^. crPos . _xy) click1S Nothing w'
---- need to add these to muzzle flare? ---- need to add these to muzzle flare?
--makeMuzzleSmoke :: Muzzle -> Item -> Creature -> World -> World --makeMuzzleSmoke :: Muzzle -> Item -> Creature -> World -> World
--makeMuzzleSmoke mz itm cr w = case mz ^. mzFlareType of --makeMuzzleSmoke mz itm cr w = case mz ^. mzFlareType of
+2 -2
View File
@@ -27,8 +27,8 @@ startSeedGame _ i u =
startSeedGameConc :: Int -> PreloadData -> IO (Universe -> Maybe Universe) startSeedGameConc :: Int -> PreloadData -> IO (Universe -> Maybe Universe)
startSeedGameConc seed pdata = do startSeedGameConc seed pdata = do
w <- generateWorldFromSeed (pdata ^?! renderData) seed w <- generateWorldFromSeed (pdata ^?! renderData) seed
createDirectoryIfMissing True "saveSlot" createDirectoryIfMissing True "generated/saveSlot"
writeFile "saveSlot/seed" $ show seed writeFile "generated/saveSlot/seed" $ show seed
return $ return $
Just Just
. saveWorldInSlot (LevelStartSlot 0) . saveWorldInSlot (LevelStartSlot 0)
+94 -93
View File
@@ -107,7 +107,7 @@ BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C
Bark src/Dodge/Data/ActionPlan.hs 40;" C Bark src/Dodge/Data/ActionPlan.hs 40;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 73;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 73;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 34;" C BasicBeamDraw src/Dodge/Data/Beam.hs 34;" C
@@ -135,7 +135,7 @@ BlShConst src/Dodge/Data/Block.hs 47;" C
BlShMempty src/Dodge/Data/Block.hs 46;" C BlShMempty src/Dodge/Data/Block.hs 46;" C
Block src/Dodge/Data/Block.hs 23;" t Block src/Dodge/Data/Block.hs 23;" t
BlockDebris src/Dodge/Data/Prop.hs 46;" C BlockDebris src/Dodge/Data/Prop.hs 46;" C
BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 31;" C BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 32;" C
BlockDraw src/Dodge/Data/Block.hs 38;" t BlockDraw src/Dodge/Data/Block.hs 38;" t
BlockDrawBlSh src/Dodge/Data/Block.hs 40;" C BlockDrawBlSh src/Dodge/Data/Block.hs 40;" C
BlockDrawColHeightPoss src/Dodge/Data/Block.hs 42;" C BlockDrawColHeightPoss src/Dodge/Data/Block.hs 42;" C
@@ -175,7 +175,7 @@ Button src/Dodge/Data/Button.hs 30;" t
ButtonAccessTerminal src/Dodge/Data/Button.hs 28;" C ButtonAccessTerminal src/Dodge/Data/Button.hs 28;" C
ButtonEvent src/Dodge/Data/Button.hs 15;" t ButtonEvent src/Dodge/Data/Button.hs 15;" t
ButtonPress src/Dodge/Data/Button.hs 16;" C ButtonPress src/Dodge/Data/Button.hs 16;" C
ButtonSound src/Dodge/Data/SoundOrigin.hs 37;" C ButtonSound src/Dodge/Data/SoundOrigin.hs 38;" C
ButtonSwitch src/Dodge/Data/Button.hs 21;" C ButtonSwitch src/Dodge/Data/Button.hs 21;" C
CAMERA src/Dodge/Data/Item/Combine.hs 76;" C CAMERA src/Dodge/Data/Item/Combine.hs 76;" C
CAN src/Dodge/Data/Item/Combine.hs 57;" C CAN src/Dodge/Data/Item/Combine.hs 57;" C
@@ -264,7 +264,7 @@ CrGroupID src/Dodge/Data/Creature/State.hs 31;" C
CrGroupParams src/Dodge/Data/CrGroupParams.hs 14;" t CrGroupParams src/Dodge/Data/CrGroupParams.hs 14;" t
CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" t CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" t
CrHP src/Dodge/Data/Creature.hs 70;" t CrHP src/Dodge/Data/Creature.hs 70;" t
CrHitSound src/Dodge/Data/SoundOrigin.hs 32;" C CrHitSound src/Dodge/Data/SoundOrigin.hs 33;" C
CrID src/Dodge/Data/CrWlID.hs 12;" C CrID src/Dodge/Data/CrWlID.hs 12;" C
CrImp src/Dodge/Data/CreatureEffect.hs 23;" t CrImp src/Dodge/Data/CreatureEffect.hs 23;" t
CrInt src/Dodge/Data/Item/Location.hs 21;" t CrInt src/Dodge/Data/Item/Location.hs 21;" t
@@ -283,7 +283,7 @@ CrWdBFSThenReturn src/Dodge/Data/CreatureEffect.hs 60;" C
CrWdImp src/Dodge/Data/CreatureEffect.hs 14;" t CrWdImp src/Dodge/Data/CreatureEffect.hs 14;" t
CrWdWd src/Dodge/Data/CreatureEffect.hs 17;" t CrWdWd src/Dodge/Data/CreatureEffect.hs 17;" t
CrWdWdId src/Dodge/Data/CreatureEffect.hs 17;" C CrWdWdId src/Dodge/Data/CreatureEffect.hs 17;" C
CrWeaponFailSound src/Dodge/Data/SoundOrigin.hs 21;" C CrWeaponFailSound src/Dodge/Data/SoundOrigin.hs 22;" C
CrWeaponSound src/Dodge/Data/SoundOrigin.hs 20;" C CrWeaponSound src/Dodge/Data/SoundOrigin.hs 20;" C
CrWlID src/Dodge/Data/CrWlID.hs 12;" t CrWlID src/Dodge/Data/CrWlID.hs 12;" t
Cr_awareness src/Dodge/Data/Config.hs 72;" C Cr_awareness src/Dodge/Data/Config.hs 72;" C
@@ -318,7 +318,7 @@ DTTopNode src/Dodge/Data/DoubleTree.hs 18;" C
DTree src/Dodge/Data/DoubleTree.hs 31;" t DTree src/Dodge/Data/DoubleTree.hs 31;" t
DamSensor src/Dodge/Data/Machine/Sensor.hs 21;" C DamSensor src/Dodge/Data/Machine/Sensor.hs 21;" C
Damage src/Dodge/Data/Damage.hs 19;" t Damage src/Dodge/Data/Damage.hs 19;" t
DamageHitSound src/Dodge/Data/SoundOrigin.hs 41;" C DamageHitSound src/Dodge/Data/SoundOrigin.hs 42;" C
DamageLaser src/Dodge/Data/Laser.hs 17;" C DamageLaser src/Dodge/Data/Laser.hs 17;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 21;" t DamageSensor src/Dodge/Data/Machine/Sensor.hs 21;" t
DamageType src/Dodge/Data/Damage/Type.hs 3;" t DamageType src/Dodge/Data/Damage/Type.hs 3;" t
@@ -383,7 +383,7 @@ DudPayload src/Dodge/Data/Payload.hs 13;" C
Dungeon src/Dodge/Data/Scenario.hs 66;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C
Dust src/Dodge/Data/Cloud.hs 29;" t Dust src/Dodge/Data/Cloud.hs 29;" t
EBO src/Shader/Data.hs 88;" t EBO src/Shader/Data.hs 88;" t
EBSound src/Dodge/Data/SoundOrigin.hs 40;" C EBSound src/Dodge/Data/SoundOrigin.hs 41;" C
ECW src/Dodge/Material/Damage.hs 12;" t ECW src/Dodge/Material/Damage.hs 12;" t
ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 158;" C ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 158;" C
EQUIP src/Dodge/Data/Item/Combine.hs 18;" C EQUIP src/Dodge/Data/Item/Combine.hs 18;" C
@@ -418,7 +418,7 @@ Escape src/Dodge/Data/Scenario.hs 10;" C
Essential src/Shape/Data.hs 34;" C Essential src/Shape/Data.hs 34;" C
ExamineInventory src/Dodge/Data/HUD.hs 18;" C ExamineInventory src/Dodge/Data/HUD.hs 18;" C
Explore src/Dodge/Data/Scenario.hs 4;" C Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 38;" C Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 11;" C ExplosionPayload src/Dodge/Data/Payload.hs 11;" C
Explosive src/Dodge/Data/Damage.hs 29;" C Explosive src/Dodge/Data/Damage.hs 29;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 16;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 16;" C
@@ -448,9 +448,9 @@ FixedSelectionWidth src/Dodge/Data/SelectionList.hs 39;" C
FlIt src/Dodge/Data/FloorItem.hs 15;" C FlIt src/Dodge/Data/FloorItem.hs 15;" C
Flame src/Dodge/Data/Flame.hs 13;" t Flame src/Dodge/Data/Flame.hs 13;" t
FlameBeamCombine src/Dodge/Data/Beam.hs 39;" C FlameBeamCombine src/Dodge/Data/Beam.hs 39;" C
FlameSound src/Dodge/Data/SoundOrigin.hs 28;" C FlameSound src/Dodge/Data/SoundOrigin.hs 29;" C
FlameletBall src/Dodge/Data/EnergyBall/Type.hs 14;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
Flamer src/Dodge/Data/SoundOrigin.hs 26;" C Flamer src/Dodge/Data/SoundOrigin.hs 27;" C
Flaming src/Dodge/Data/Damage.hs 25;" C Flaming src/Dodge/Data/Damage.hs 25;" C
Flank src/Dodge/Data/ActionPlan.hs 177;" C Flank src/Dodge/Data/ActionPlan.hs 177;" C
FlareType src/Dodge/Data/Muzzle.hs 28;" t FlareType src/Dodge/Data/Muzzle.hs 28;" t
@@ -476,7 +476,7 @@ FloorItem src/Dodge/Data/FloorItem.hs 15;" t
Flying src/Dodge/Data/Creature/Stance.hs 31;" C Flying src/Dodge/Data/Creature/Stance.hs 31;" C
FollowImpulses src/Dodge/Data/ActionPlan.hs 182;" C FollowImpulses src/Dodge/Data/ActionPlan.hs 182;" C
FootForward src/Dodge/Data/Creature/Stance.hs 35;" t FootForward src/Dodge/Data/Creature/Stance.hs 35;" t
FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
FromEdge src/Dodge/Data/Room.hs 49;" C FromEdge src/Dodge/Data/Room.hs 49;" C
@@ -513,7 +513,7 @@ GetTo src/Dodge/Data/ActionPlan.hs 189;" C
GetToPoint src/Dodge/Data/Scenario.hs 12;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C
Gib src/Dodge/Data/Prop.hs 43;" C Gib src/Dodge/Data/Prop.hs 43;" C
Glass src/Dodge/Data/Material.hs 11;" C Glass src/Dodge/Data/Material.hs 11;" C
GlassBreakSound src/Dodge/Data/SoundOrigin.hs 34;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C
Goal src/Dodge/Data/ActionPlan.hs 196;" t Goal src/Dodge/Data/ActionPlan.hs 196;" t
GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C
GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C
@@ -631,6 +631,7 @@ ItemScroll src/Dodge/Data/Item.hs 38;" t
ItemScrollInt src/Dodge/Data/Item.hs 40;" C ItemScrollInt src/Dodge/Data/Item.hs 40;" C
ItemScrollIntRange src/Dodge/Data/Item.hs 41;" C ItemScrollIntRange src/Dodge/Data/Item.hs 41;" C
ItemScrollTimeFlow src/Dodge/Data/World.hs 64;" C ItemScrollTimeFlow src/Dodge/Data/World.hs 64;" C
ItemSound src/Dodge/Data/SoundOrigin.hs 21;" C
ItemTargeting src/Dodge/Data/Item.hs 43;" t ItemTargeting src/Dodge/Data/Item.hs 43;" t
ItemType src/Dodge/Data/Item/Combine.hs 16;" t ItemType src/Dodge/Data/Item/Combine.hs 16;" t
ItemUse src/Dodge/Data/Item/Use.hs 30;" t ItemUse src/Dodge/Data/Item/Use.hs 30;" t
@@ -667,7 +668,7 @@ LampCrit src/Dodge/Data/Creature/Misc.hs 74;" C
Large src/Shape/Data.hs 29;" C Large src/Shape/Data.hs 29;" C
LasBeamCombine src/Dodge/Data/Beam.hs 40;" C LasBeamCombine src/Dodge/Data/Beam.hs 40;" C
LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
LasSound src/Dodge/Data/SoundOrigin.hs 29;" C LasSound src/Dodge/Data/SoundOrigin.hs 30;" C
Laser src/Dodge/Data/Laser.hs 21;" t Laser src/Dodge/Data/Laser.hs 21;" t
LaserSensor src/Dodge/Data/Machine/Sensor.hs 15;" C LaserSensor src/Dodge/Data/Machine/Sensor.hs 15;" C
LaserType src/Dodge/Data/Laser.hs 16;" t LaserType src/Dodge/Data/Laser.hs 16;" t
@@ -731,9 +732,9 @@ MPO src/Dodge/Base/Collide.hs 89;" t
MTRS src/Dodge/Data/MTRS.hs 6;" t MTRS src/Dodge/Data/MTRS.hs 6;" t
MTree src/Dodge/Data/MetaTree.hs 11;" C MTree src/Dodge/Data/MetaTree.hs 11;" C
Machine src/Dodge/Data/Machine.hs 30;" t Machine src/Dodge/Data/Machine.hs 30;" t
MachineAltSound src/Dodge/Data/SoundOrigin.hs 23;" C MachineAltSound src/Dodge/Data/SoundOrigin.hs 24;" C
MachinePart src/Dodge/Data/Wall/Structure.hs 15;" C MachinePart src/Dodge/Data/Wall/Structure.hs 15;" C
MachineSound src/Dodge/Data/SoundOrigin.hs 22;" C MachineSound src/Dodge/Data/SoundOrigin.hs 23;" C
MachineType src/Dodge/Data/Machine.hs 44;" t MachineType src/Dodge/Data/Machine.hs 44;" t
MagBelow src/Dodge/Data/Muzzle.hs 22;" C MagBelow src/Dodge/Data/Muzzle.hs 22;" C
Magnet src/Dodge/Data/Magnet.hs 23;" t Magnet src/Dodge/Data/Magnet.hs 23;" t
@@ -756,7 +757,7 @@ Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
MapperInventory src/Dodge/Data/HUD.hs 19;" C MapperInventory src/Dodge/Data/HUD.hs 19;" C
MapperSF src/Dodge/Data/ComposedItem.hs 39;" C MapperSF src/Dodge/Data/ComposedItem.hs 39;" C
Material src/Dodge/Data/Material.hs 11;" t Material src/Dodge/Data/Material.hs 11;" t
MaterialSound src/Dodge/Data/SoundOrigin.hs 35;" C MaterialSound src/Dodge/Data/SoundOrigin.hs 36;" C
Maybe' src/MaybeHelp.hs 13;" t Maybe' src/MaybeHelp.hs 13;" t
McDamSensor src/Dodge/Data/Machine.hs 47;" C McDamSensor src/Dodge/Data/Machine.hs 47;" C
McProxSensor src/Dodge/Data/Machine.hs 48;" C McProxSensor src/Dodge/Data/Machine.hs 48;" C
@@ -971,10 +972,10 @@ P2Ac src/Dodge/Data/CreatureEffect.hs 53;" t
P2Imp src/Dodge/Data/CreatureEffect.hs 28;" t P2Imp src/Dodge/Data/CreatureEffect.hs 28;" t
P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C
P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C
PBSound src/Dodge/Data/SoundOrigin.hs 42;" C PBSound src/Dodge/Data/SoundOrigin.hs 43;" C
PIPE src/Dodge/Data/Item/Combine.hs 51;" C PIPE src/Dodge/Data/Item/Combine.hs 51;" C
PISTOL src/Dodge/Data/Item/Combine.hs 144;" C PISTOL src/Dodge/Data/Item/Combine.hs 144;" C
PJStabiliser src/Dodge/Projectile/Create.hs 17;" t PJStabiliser src/Dodge/Projectile/Create.hs 16;" t
PLANK src/Dodge/Data/Item/Combine.hs 60;" C PLANK src/Dodge/Data/Item/Combine.hs 60;" C
PLATE src/Dodge/Data/Item/Combine.hs 70;" C PLATE src/Dodge/Data/Item/Combine.hs 70;" C
PLUS src/Dodge/Data/GenParams.hs 20;" C PLUS src/Dodge/Data/GenParams.hs 20;" C
@@ -1225,7 +1226,7 @@ ShapeProp src/Dodge/Data/Prop.hs 32;" C
ShapeType src/Shape/Data.hs 16;" t ShapeType src/Shape/Data.hs 16;" t
Shattering src/Dodge/Data/Damage.hs 24;" C Shattering src/Dodge/Data/Damage.hs 24;" C
Shell src/Dodge/Data/Projectile.hs 17;" C Shell src/Dodge/Data/Projectile.hs 17;" C
ShellSound src/Dodge/Data/SoundOrigin.hs 27;" C ShellSound src/Dodge/Data/SoundOrigin.hs 28;" C
ShieldGroup src/Dodge/Data/Creature/State.hs 32;" C ShieldGroup src/Dodge/Data/Creature/State.hs 32;" C
Shockwave src/Dodge/Data/Shockwave.hs 17;" t Shockwave src/Dodge/Data/Shockwave.hs 17;" t
ShockwaveDirection src/Dodge/Data/Shockwave.hs 14;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 14;" t
@@ -1286,8 +1287,8 @@ SpawnedBy src/Dodge/Data/Creature/State.hs 19;" C
SplashOptions src/Dodge/Data/Universe.hs 72;" C SplashOptions src/Dodge/Data/Universe.hs 72;" C
SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C
SpreadGunAI src/Dodge/Data/Creature/Misc.hs 42;" C SpreadGunAI src/Dodge/Data/Creature/Misc.hs 42;" C
StabOrthReduce src/Dodge/Projectile/Create.hs 18;" C StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C
StabSpinIncrease src/Dodge/Projectile/Create.hs 19;" C StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C
Stance src/Dodge/Data/Creature/Stance.hs 17;" t Stance src/Dodge/Data/Creature/Stance.hs 17;" t
StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C
Standing src/Dodge/Data/Creature/Stance.hs 29;" C Standing src/Dodge/Data/Creature/Stance.hs 29;" C
@@ -1335,13 +1336,13 @@ TSright src/Dodge/Data/Input.hs 58;" C
TStab src/Dodge/Data/Input.hs 56;" C TStab src/Dodge/Data/Input.hs 56;" C
TSup src/Dodge/Data/Input.hs 59;" C TSup src/Dodge/Data/Input.hs 59;" C
TUBE src/Dodge/Data/Item/Combine.hs 52;" C TUBE src/Dodge/Data/Item/Combine.hs 52;" C
Tap src/Dodge/Data/SoundOrigin.hs 39;" C Tap src/Dodge/Data/SoundOrigin.hs 40;" C
TargetCursor src/Dodge/Data/Item/Targeting.hs 14;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 14;" C
TargetRBCreature src/Dodge/Data/Item/Targeting.hs 13;" C TargetRBCreature src/Dodge/Data/Item/Targeting.hs 13;" C
TargetRBPress src/Dodge/Data/Item/Targeting.hs 12;" C TargetRBPress src/Dodge/Data/Item/Targeting.hs 12;" C
TargetingLaser src/Dodge/Data/Laser.hs 18;" C TargetingLaser src/Dodge/Data/Laser.hs 18;" C
TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t
TeleSound src/Dodge/Data/SoundOrigin.hs 36;" C TeleSound src/Dodge/Data/SoundOrigin.hs 37;" C
TermSignal src/Dodge/Data/Input.hs 51;" t TermSignal src/Dodge/Data/Input.hs 51;" t
Terminal src/Dodge/Data/Terminal.hs 21;" t Terminal src/Dodge/Data/Terminal.hs 21;" t
TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C
@@ -1351,7 +1352,7 @@ TerminalLineRead src/Dodge/Data/Terminal/Status.hs 13;" C
TerminalLineString src/Dodge/Data/Terminal.hs 36;" t TerminalLineString src/Dodge/Data/Terminal.hs 36;" t
TerminalOff src/Dodge/Data/Terminal/Status.hs 11;" C TerminalOff src/Dodge/Data/Terminal/Status.hs 11;" C
TerminalPressTo src/Dodge/Data/Terminal/Status.hs 15;" C TerminalPressTo src/Dodge/Data/Terminal/Status.hs 15;" C
TerminalSound src/Dodge/Data/SoundOrigin.hs 24;" C TerminalSound src/Dodge/Data/SoundOrigin.hs 25;" C
TerminalStatus src/Dodge/Data/Terminal/Status.hs 10;" t TerminalStatus src/Dodge/Data/Terminal/Status.hs 10;" t
TerminalTextInput src/Dodge/Data/Terminal/Status.hs 14;" C TerminalTextInput src/Dodge/Data/Terminal/Status.hs 14;" C
TerminalToggle src/Dodge/Data/Terminal.hs 44;" t TerminalToggle src/Dodge/Data/Terminal.hs 44;" t
@@ -1484,7 +1485,7 @@ WallDraw src/Dodge/Data/Wall.hs 47;" t
WallObstacle src/Dodge/Data/PathGraph.hs 52;" C WallObstacle src/Dodge/Data/PathGraph.hs 52;" C
WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t
WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t
WallSound src/Dodge/Data/SoundOrigin.hs 25;" C WallSound src/Dodge/Data/SoundOrigin.hs 26;" C
WallStructure src/Dodge/Data/Wall/Structure.hs 12;" t WallStructure src/Dodge/Data/Wall/Structure.hs 12;" t
WallWire src/Dodge/Data/Room.hs 55;" C WallWire src/Dodge/Data/Room.hs 55;" C
Walls_info src/Dodge/Data/Config.hs 75;" C Walls_info src/Dodge/Data/Config.hs 75;" C
@@ -2631,21 +2632,21 @@ angleVV src/Geometry/Vector.hs 58;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f angleVV3 src/Geometry/Vector3D.hs 122;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 337;" f anythingHitCirc src/Dodge/Base/Collide.hs 337;" f
applyCME src/Dodge/HeldUse.hs 362;" f applyCME src/Dodge/HeldUse.hs 370;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 44;" f applyGravityPU src/Dodge/Projectile/Update.hs 44;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f
applyInvLock src/Dodge/HeldUse.hs 421;" f applyInvLock src/Dodge/HeldUse.hs 429;" f
applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f
applyPastDamages src/Dodge/Creature/State.hs 49;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 23;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 23;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 452;" f applyRecoil src/Dodge/HeldUse.hs 460;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f
applySidePush src/Dodge/HeldUse.hs 552;" f applySidePush src/Dodge/HeldUse.hs 560;" f
applySoundCME src/Dodge/HeldUse.hs 442;" f applySoundCME src/Dodge/HeldUse.hs 450;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -2653,7 +2654,7 @@ applyToNode src/TreeHelp.hs 65;" f
applyToRandomNode src/TreeHelp.hs 151;" f applyToRandomNode src/TreeHelp.hs 151;" f
applyToSubforest src/TreeHelp.hs 78;" f applyToSubforest src/TreeHelp.hs 78;" f
applyToSubtree src/TreeHelp.hs 71;" f applyToSubtree src/TreeHelp.hs 71;" f
applyTorqueCME src/Dodge/HeldUse.hs 563;" f applyTorqueCME src/Dodge/HeldUse.hs 571;" f
applyWorldConfig src/Dodge/Config.hs 55;" f applyWorldConfig src/Dodge/Config.hs 55;" f
aquamarine src/Color.hs 23;" f aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -2724,7 +2725,7 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 391;" f
baseShoulder src/Dodge/Creature/Picture.hs 116;" f baseShoulder src/Dodge/Creature/Picture.hs 116;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 300;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 300;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 292;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 292;" f
baseStickSpread src/Dodge/HeldUse.hs 312;" f baseStickSpread src/Dodge/HeldUse.hs 320;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
basicCrPict src/Dodge/Creature/Picture.hs 30;" f basicCrPict src/Dodge/Creature/Picture.hs 30;" f
@@ -2733,7 +2734,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 14;" f basicMachineUpdate src/Dodge/Machine.hs 14;" f
basicMuzFlare src/Dodge/HeldUse.hs 707;" f basicMuzFlare src/Dodge/HeldUse.hs 711;" f
battery src/Dodge/Item/Ammo.hs 63;" f battery src/Dodge/Item/Ammo.hs 63;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 86;" f belowNumX src/Dodge/Combine/Graph.hs 86;" f
@@ -2741,7 +2742,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsNodePoints src/Dodge/Path.hs 58;" f bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
bgunSound src/Dodge/HeldUse.hs 507;" f bgunSound src/Dodge/HeldUse.hs 515;" f
bindFBO src/Render.hs 245;" f bindFBO src/Render.hs 245;" f
bingate src/Dodge/Item/Scope.hs 109;" f bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f black src/Color.hs 27;" f
@@ -3036,16 +3037,15 @@ createHeadLamp src/Dodge/Euse.hs 58;" f
createItemYou src/Dodge/Inventory/Add.hs 61;" f createItemYou src/Dodge/Inventory/Add.hs 61;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createPathGrid src/Dodge/Room/Path.hs 20;" f createPathGrid src/Dodge/Room/Path.hs 20;" f
createProjectile src/Dodge/HeldUse.hs 1320;" f createProjectile src/Dodge/HeldUse.hs 1285;" f
createProjectileR src/Dodge/HeldUse.hs 1269;" f createProjectileR src/Dodge/HeldUse.hs 1234;" f
createShell src/Dodge/Projectile/Create.hs 22;" f createShell src/Dodge/Projectile/Create.hs 21;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 40;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 40;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 124;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 124;" f
createWall src/Dodge/Wall/Create.hs 8;" f createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f
creatureShootLaser src/Dodge/HeldUse.hs 827;" f creatureShootLaser src/Dodge/HeldUse.hs 845;" f
creatureShootPulseBall src/Dodge/HeldUse.hs 904;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 876;" f
creatureShootPulseLaser src/Dodge/HeldUse.hs 871;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 54;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 54;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 75;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 75;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 64;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 64;" f
@@ -3109,7 +3109,7 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f
dbArg src/Dodge/Base.hs 165;" f dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 315;" f dbwMuzzles src/Dodge/HeldUse.hs 323;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 246;" f deadEndRoom src/Dodge/Room/Room.hs 246;" f
@@ -3216,7 +3216,7 @@ detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1240;" f determineProjectileTracking src/Dodge/HeldUse.hs 1205;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 205;" f diffAngles src/Geometry.hs 205;" f
@@ -3276,9 +3276,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 127;" f
doDrawing src/Dodge/Render.hs 34;" f doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f doDrawing' src/Dodge/Render.hs 45;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1196;" f doGenFloat src/Dodge/HeldUse.hs 1166;" f
doGravityPU src/Dodge/Projectile/Update.hs 38;" f doGravityPU src/Dodge/Projectile/Update.hs 38;" f
doHeldUseEffect src/Dodge/HeldUse.hs 344;" f doHeldUseEffect src/Dodge/HeldUse.hs 352;" f
doInPlacements src/Dodge/Layout.hs 82;" f doInPlacements src/Dodge/Layout.hs 82;" f
doIndividualPlacements src/Dodge/Layout.hs 96;" f doIndividualPlacements src/Dodge/Layout.hs 96;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -3467,7 +3467,7 @@ drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f
dropAll src/Dodge/Creature/Update.hs 129;" f dropAll src/Dodge/Creature/Update.hs 129;" f
dropExcept src/Dodge/Creature/Action.hs 168;" f dropExcept src/Dodge/Creature/Action.hs 168;" f
dropInventoryPath src/Dodge/HeldUse.hs 1408;" f dropInventoryPath src/Dodge/HeldUse.hs 1360;" f
dropItem src/Dodge/Creature/Action.hs 175;" f dropItem src/Dodge/Creature/Action.hs 175;" f
dropper src/Dodge/Item/Scope.hs 76;" f dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 34;" f drumMag src/Dodge/Item/Ammo.hs 34;" f
@@ -3544,7 +3544,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f 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 187;" f expireAndDamage src/Dodge/Bullet.hs 187;" f
explodeShell src/Dodge/Projectile/Update.hs 320;" f explodeShell src/Dodge/Projectile/Update.hs 321;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -3580,7 +3580,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 318;" f flameMuzzles src/Dodge/HeldUse.hs 326;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f flameSize src/Dodge/Flame/Size.hs 5;" f
flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
@@ -3588,7 +3588,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 394;" f flamerPic src/Dodge/Item/Draw/SPic.hs 394;" f
flareCircleAt src/Dodge/HeldUse.hs 688;" f flareCircleAt src/Dodge/HeldUse.hs 692;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -3655,7 +3655,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 144;" f gameRoomsFromRooms src/Dodge/Layout.hs 144;" f
gameplayMenu src/Dodge/Menu.hs 155;" f gameplayMenu src/Dodge/Menu.hs 155;" f
gameplayMenuOptions src/Dodge/Menu.hs 158;" f gameplayMenuOptions src/Dodge/Menu.hs 158;" f
gasType src/Dodge/HeldUse.hs 1153;" f gasType src/Dodge/HeldUse.hs 1123;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
generateGraphs src/Dodge/Menu.hs 149;" f generateGraphs src/Dodge/Menu.hs 149;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -3668,11 +3668,11 @@ geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 143;" f getAimZoom src/Dodge/Update/Camera.hs 143;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 104;" f getAmmoLinks src/Dodge/Item/Grammar.hs 104;" f
getAttachedSFLink src/Dodge/HeldUse.hs 773;" f getAttachedSFLink src/Dodge/HeldUse.hs 791;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 172;" f getBulHitDams src/Dodge/Bullet.hs 172;" f
getBulletType src/Dodge/HeldUse.hs 936;" f getBulletType src/Dodge/HeldUse.hs 913;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f getCommands src/Dodge/Terminal.hs 49;" f
@@ -3680,17 +3680,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 323;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 323;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 310;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 310;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1308;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1273;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f
getLaserColor src/Dodge/HeldUse.hs 704;" f getLaserColor src/Dodge/HeldUse.hs 708;" f
getLaserDamage src/Dodge/HeldUse.hs 701;" f getLaserDamage src/Dodge/HeldUse.hs 705;" f
getLaserPhaseV src/Dodge/HeldUse.hs 698;" f getLaserPhaseV src/Dodge/HeldUse.hs 702;" f
getLinksOfType src/Dodge/RoomLink.hs 41;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 372;" f getMenuMouseContext src/Dodge/Update.hs 372;" f
getNodePos src/Dodge/Path.hs 31;" f getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1295;" f getPJStabiliser src/Dodge/HeldUse.hs 1260;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 306;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 306;" f
@@ -3786,14 +3786,14 @@ heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f
heldInfo src/Dodge/Item/Info.hs 92;" f heldInfo src/Dodge/Item/Info.hs 92;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 19;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 19;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f
heldItemInvLock src/Dodge/HeldUse.hs 435;" f heldItemInvLock src/Dodge/HeldUse.hs 443;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1033;" f heldItemMuzVel src/Dodge/HeldUse.hs 1003;" f
heldItemMuzzles src/Dodge/HeldUse.hs 176;" f heldItemMuzzles src/Dodge/HeldUse.hs 176;" f
heldItemRifling src/Dodge/HeldUse.hs 1076;" f heldItemRifling src/Dodge/HeldUse.hs 1046;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 233;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 233;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 579;" f heldTorqueAmount src/Dodge/HeldUse.hs 587;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
helpPara src/Dodge/Terminal.hs 90;" f helpPara src/Dodge/Terminal.hs 90;" f
helpPoly3D src/Polyhedra.hs 125;" f helpPoly3D src/Polyhedra.hs 125;" f
@@ -3905,7 +3905,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 56;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 714;" f isAmmoIntLink src/Dodge/HeldUse.hs 718;" f
isAnimate src/Dodge/Creature/Test.hs 132;" f isAnimate src/Dodge/Creature/Test.hs 132;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f
@@ -3949,7 +3949,7 @@ itemBlips src/Dodge/RadarSweep.hs 94;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 779;" f itemDetectorEffect src/Dodge/HeldUse.hs 797;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
@@ -3961,7 +3961,7 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 34;" f itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 430;" f itemInvLock src/Dodge/HeldUse.hs 438;" f
itemMuzzles src/Dodge/HeldUse.hs 162;" f itemMuzzles src/Dodge/HeldUse.hs 162;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
@@ -3975,7 +3975,7 @@ itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f
itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f
itemShapeMaxZ src/Dodge/Item/Orientation.hs 53;" f itemShapeMaxZ src/Dodge/Item/Orientation.hs 53;" f
itemShapeMin src/Dodge/Item/Orientation.hs 62;" f itemShapeMin src/Dodge/Item/Orientation.hs 62;" f
itemSidePush src/Dodge/HeldUse.hs 378;" f itemSidePush src/Dodge/HeldUse.hs 386;" f
itemString src/Dodge/Item/Display.hs 56;" f itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 107;" f itemToFunction src/Dodge/Item/Grammar.hs 107;" f
itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f
@@ -4079,7 +4079,7 @@ lnkBothAnd src/Dodge/Room/Procedural.hs 124;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 623;" f loadMuzzle src/Dodge/HeldUse.hs 631;" f
loadSaveSlot src/Dodge/Save.hs 74;" f loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4131,7 +4131,7 @@ machineAddSound src/Dodge/Machine.hs 50;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 35;" f machineUpdateDeathEff src/Dodge/Machine.hs 35;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 17;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 17;" f
magAmmoParams src/Dodge/HeldUse.hs 957;" f magAmmoParams src/Dodge/HeldUse.hs 934;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 172;" f magV src/Geometry/Vector.hs 172;" f
@@ -4146,7 +4146,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlip src/Dodge/RadarSweep.hs 70;" f
makeBlockDebris src/Dodge/Block/Debris.hs 34;" f makeBlockDebris src/Dodge/Block/Debris.hs 34;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1014;" f makeBullet src/Dodge/HeldUse.hs 982;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4168,7 +4168,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 649;" f makeMuzzleFlare src/Dodge/HeldUse.hs 657;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4224,11 +4224,11 @@ mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f
mcProxTest src/Dodge/Machine/Update.hs 203;" f mcProxTest src/Dodge/Machine/Update.hs 203;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f
mcSPic src/Dodge/Render/ShapePicture.hs 135;" f mcSPic src/Dodge/Render/ShapePicture.hs 135;" f
mcShootAuto src/Dodge/HeldUse.hs 1207;" f mcShootAuto src/Dodge/HeldUse.hs 1177;" f
mcShootLaser src/Dodge/HeldUse.hs 1200;" f mcShootLaser src/Dodge/HeldUse.hs 1170;" f
mcTriggerVal src/Dodge/Machine/Update.hs 110;" f mcTriggerVal src/Dodge/Machine/Update.hs 110;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f
mcUseHeld src/Dodge/HeldUse.hs 1119;" f mcUseHeld src/Dodge/HeldUse.hs 1089;" f
mcUseItem src/Dodge/Machine/Update.hs 89;" f mcUseItem src/Dodge/Machine/Update.hs 89;" f
megaBattery src/Dodge/Item/Ammo.hs 55;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f
megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f
@@ -4318,8 +4318,9 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrie src/SimpleTrie.hs 57;" f
multiLookupTrieI src/SimpleTrie.hs 66;" f multiLookupTrieI src/SimpleTrie.hs 66;" f
muout src/Dodge/RoomLink.hs 144;" f muout src/Dodge/RoomLink.hs 144;" f
muzFlareAt src/Dodge/HeldUse.hs 675;" f muzFlareAt src/Dodge/HeldUse.hs 679;" f
muzzlePos src/Dodge/HeldUse.hs 764;" f muzzlePos src/Dodge/HeldUse.hs 767;" f
muzzleRandPos src/Dodge/HeldUse.hs 776;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 181;" f mvButton src/Dodge/Placement/PlaceSpot.hs 181;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 193;" f mvFS src/Dodge/Placement/PlaceSpot.hs 193;" f
@@ -4720,7 +4721,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 216;" f ratIntersectLineLine src/Geometry/Intersect.hs 216;" f
readSaveSlot src/Dodge/Save.hs 45;" f readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 460;" f recoilAmount src/Dodge/HeldUse.hs 468;" f
rectNSWE src/Geometry/Polygon.hs 14;" f rectNSWE src/Geometry/Polygon.hs 14;" f
rectVV src/Geometry/Polygon.hs 39;" f rectVV src/Geometry/Polygon.hs 39;" f
rectWH src/Geometry/Polygon.hs 18;" f rectWH src/Geometry/Polygon.hs 18;" f
@@ -4750,7 +4751,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 932;" f removeAmmoFromMag src/Dodge/HeldUse.hs 910;" f
removeDot src/ShortShow.hs 44;" f removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 224;" f removeLights src/Dodge/Room/Tutorial.hs 224;" f
@@ -5034,16 +5035,16 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 201;" f shineTargetLaser src/Dodge/Creature/State.hs 201;" f
shineTorch src/Dodge/Creature/State.hs 238;" f shineTorch src/Dodge/Creature/State.hs 238;" f
shootBullet src/Dodge/HeldUse.hs 999;" f shootBullet src/Dodge/HeldUse.hs 976;" f
shootBullets src/Dodge/HeldUse.hs 989;" f shootBullets src/Dodge/HeldUse.hs 966;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f
shootLaser src/Dodge/HeldUse.hs 850;" f shootLaser src/Dodge/HeldUse.hs 855;" f
shootPulseBall src/Dodge/HeldUse.hs 918;" f shootPulseBall src/Dodge/HeldUse.hs 896;" f
shootPulseLaser src/Dodge/HeldUse.hs 891;" f shootPulseLaser src/Dodge/HeldUse.hs 883;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 1223;" f shootTeslaArc src/Dodge/HeldUse.hs 1194;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 806;" f shootTractorBeam src/Dodge/HeldUse.hs 824;" f
shootersRoom src/Dodge/Room/Room.hs 324;" f shootersRoom src/Dodge/Room/Room.hs 324;" f
shootersRoom' src/Dodge/Room/Room.hs 291;" f shootersRoom' src/Dodge/Room/Room.hs 291;" f
shootersRoom1 src/Dodge/Room/Room.hs 314;" f shootersRoom1 src/Dodge/Room/Room.hs 314;" f
@@ -5336,12 +5337,12 @@ topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 41;" f topTestPart src/Dodge/TestString.hs 41;" f
torchShape src/Dodge/Item/Draw/SPic.hs 276;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f
torqueAmount src/Dodge/HeldUse.hs 574;" f torqueAmount src/Dodge/HeldUse.hs 582;" f
torqueCr src/Dodge/WorldEffect.hs 72;" f torqueCr src/Dodge/WorldEffect.hs 72;" f
torso src/Dodge/Creature/Picture.hs 102;" f torso src/Dodge/Creature/Picture.hs 102;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 818;" f tractorBeamAt src/Dodge/HeldUse.hs 836;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 437;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 437;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
@@ -5581,21 +5582,21 @@ upperPrismPolySU src/Shape.hs 114;" f
upperPrismPolyTS src/Shape.hs 120;" f upperPrismPolyTS src/Shape.hs 120;" f
upperRounded src/Shape.hs 185;" f upperRounded src/Shape.hs 185;" f
useBulletPayload src/Dodge/Bullet.hs 116;" f useBulletPayload src/Dodge/Bullet.hs 116;" f
useGasParams src/Dodge/HeldUse.hs 1124;" f useGasParams src/Dodge/HeldUse.hs 1094;" f
useHotkey src/Dodge/Creature/YourControl.hs 77;" f useHotkey src/Dodge/Creature/YourControl.hs 77;" f
useInventoryPath src/Dodge/HeldUse.hs 1439;" f useInventoryPath src/Dodge/HeldUse.hs 1391;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 255;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 255;" f
useLoadedAmmo src/Dodge/HeldUse.hs 717;" f useLoadedAmmo src/Dodge/HeldUse.hs 721;" f
useMagShield src/Dodge/Euse.hs 30;" f useMagShield src/Dodge/Euse.hs 30;" f
useNormalCamera src/Dodge/Camera.hs 6;" f useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1399;" f useRewindGun src/Dodge/HeldUse.hs 1351;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 180;" f useRoomPosCond src/Dodge/PlacementSpot.hs 180;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 183;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 183;" f
useStopWatch src/Dodge/HeldUse.hs 1380;" f useStopWatch src/Dodge/HeldUse.hs 1332;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1388;" f useTimeScrollGun src/Dodge/HeldUse.hs 1340;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 171;" f useUnusedLnk src/Dodge/PlacementSpot.hs 171;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 202;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 202;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 209;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 209;" f
@@ -5618,7 +5619,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 334;" f vgunMuzzles src/Dodge/HeldUse.hs 342;" f
viewBoundaries src/Dodge/Debug/Picture.hs 321;" f viewBoundaries src/Dodge/Debug/Picture.hs 321;" f
viewClipBounds src/Dodge/Debug/Picture.hs 330;" f viewClipBounds src/Dodge/Debug/Picture.hs 330;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f
@@ -5629,7 +5630,7 @@ visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f
walkNozzle src/Dodge/HeldUse.hs 794;" f walkNozzle src/Dodge/HeldUse.hs 812;" f
walkableNodeNear src/Dodge/Path.hs 48;" f walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f
@@ -5638,7 +5639,7 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 171;" f wallToSurface src/Dodge/Base/Collide.hs 171;" f
wallsFromRooms src/Dodge/Layout.hs 132;" f wallsFromRooms src/Dodge/Layout.hs 132;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1433;" f warmupSound src/Dodge/HeldUse.hs 1385;" f
warningRooms src/Dodge/Room/Warning.hs 30;" f warningRooms src/Dodge/Room/Warning.hs 30;" f
wasdAim src/Dodge/Creature/YourControl.hs 133;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f
wasdDir src/Dodge/WASD.hs 17;" f wasdDir src/Dodge/WASD.hs 17;" f