Allow for no-ammo muzzles

This commit is contained in:
2025-08-10 08:09:03 +01:00
parent 9d973b2570
commit aa412f1911
9 changed files with 283 additions and 283 deletions
-1
View File
@@ -60,7 +60,6 @@ leftHandPQ cr
sLen = _strideLength $ _crStance cr sLen = _strideLength $ _crStance cr
f i = negate 2 + negate 6 * (sLen - i) / sLen f i = negate 2 + negate 6 * (sLen - i) / sLen
g i = negate 2 + negate 6 * ( i) / sLen g i = negate 2 + negate 6 * ( i) / sLen
translatePointToLeftHand :: Creature -> Point3 -> Point3 translatePointToLeftHand :: Creature -> Point3 -> Point3
translatePointToLeftHand cr p = fst (leftHandPQ cr `Q.comp` (p,Q.qID)) translatePointToLeftHand cr p = fst (leftHandPQ cr `Q.comp` (p,Q.qID))
+15 -24
View File
@@ -27,13 +27,10 @@ import ShapePicture.Data
-- Should separate out creature movement from other parts here -- Should separate out creature movement from other parts here
-- allow for knockbacks etc to be determined as well as intended movements -- allow for knockbacks etc to be determined as well as intended movements
updateCreature :: Creature -> World -> World updateCreature :: Creature -> World -> World
updateCreature cr updateCreature cr
| _crZ cr < negate 100 = destroyAllInvItems cr | _crZ cr < negate 100 = (tocr . crHP .~ negate 1) . destroyAllInvItems cr
| _crZ cr < 0 = | _crZ cr < 0 = (tocr . crZVel -~ 0.5) . (tocr . crZ +~ _crZVel cr)
(tocr . crZVel -~ 0.5)
. (tocr . crZ +~ _crZVel cr)
| otherwise = updateCreature' cr | otherwise = updateCreature' cr
where where
tocr = cWorld . lWorld . creatures . ix (_crID cr) tocr = cWorld . lWorld . creatures . ix (_crID cr)
@@ -72,29 +69,24 @@ checkDeath cid w = maybe id checkDeath' (w ^? cWorld . lWorld . creatures . ix c
checkDeath' :: Creature -> World -> World checkDeath' :: Creature -> World -> World
checkDeath' cr w checkDeath' cr w
| _crHP cr > 0 = | _crHP cr > 0 = w & tocr . crDamage .~ []
w | _crHP cr <= -200 = w
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ []
| _crHP cr <= -200 =
w
& dropAll cr -- the order of & dropAll cr -- the order of
& destroyCreature cr -- these is important & destroyCreature cr -- these is important
& stopSoundFrom (CrWeaponSound (_crID cr) 0) & stopSoundFrom (CrWeaponSound (_crID cr) 0)
& addCrGibs cr & addCrGibs cr
| _crHP cr > -200 && _crDeathTimer cr < 5 = | _crHP cr > -200 && _crDeathTimer cr < 5 = w
w & tocr . crDamage .~ []
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ [] & tocr . crDeathTimer +~ 1
& cWorld . lWorld . creatures . ix (_crID cr) . crDeathTimer +~ 1 | otherwise = w
| otherwise =
w
& dropAll cr -- the order of & dropAll cr -- the order of
& removecr -- these is important & removecr -- these is important
& stopSoundFrom (CrWeaponSound (_crID cr) 0) & stopSoundFrom (CrWeaponSound (_crID cr) 0)
& corpseOrGib cr & corpseOrGib cr
where where
tocr = cWorld . lWorld . creatures . ix (_crID cr)
removecr removecr
| _crID cr == 0 = id | _crID cr == 0 = id
-- cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0
-- hack to get around player creature being killed but left with more than 0 hp -- hack to get around player creature being killed but left with more than 0 hp
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing | otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
@@ -128,16 +120,15 @@ dropAll cr w = foldl' (flip (dropItem cr)) w . reverse . IM.keys $ _crInv cr
chasmTest :: Creature -> World -> World chasmTest :: Creature -> World -> World
chasmTest cr w chasmTest cr w
| _crZVel cr < 0 = | _crZVel cr < 0 = w & tocr . crZVel -~ 0.5
w & cWorld . lWorld . creatures . ix (_crID cr) . crZVel -~ 0.5 & tocr . crZ +~ _crZVel cr
& cWorld . lWorld . creatures . ix (_crID cr) . crZ +~ _crZVel cr | Just (x, y) <- List.find g (foldMap loopPairs $ w ^. cWorld . chasms) = w
| Just (x, y) <- List.find g (foldMap loopPairs $ w ^. cWorld . chasms) =
w
& soundContinue (CrChasm (_crID cr)) (_crPos cr) debrisS (Just 100) & soundContinue (CrChasm (_crID cr)) (_crPos cr) debrisS (Just 100)
& cWorld . lWorld . creatures . ix (_crID cr) . crPos -~ normalizeV (vNormal (x - y)) & tocr . crPos -~ normalizeV (vNormal (x - y))
| any f (w ^. cWorld . chasms) = w & cWorld . lWorld . creatures . ix (_crID cr) . crZVel -~ 0.5 | any f (w ^. cWorld . chasms) = w & tocr . crZVel -~ 0.5
| otherwise = w | otherwise = w
where where
tocr = cWorld . lWorld . creatures . ix (_crID cr)
g = uncurry $ circOnSeg (_crPos cr) (crRad $ cr ^. crType) g = uncurry $ circOnSeg (_crPos cr) (crRad $ cr ^. crType)
f = circInPolygon (_crPos cr) (crRad $ cr ^. crType) f = circInPolygon (_crPos cr) (crRad $ cr ^. crType)
+7 -2
View File
@@ -13,12 +13,16 @@ data Muzzle = Muzzle
, _mzAmmoSlot :: AmmoExtractPosition , _mzAmmoSlot :: AmmoExtractPosition
, _mzFlareType :: FlareType , _mzFlareType :: FlareType
, _mzEffect :: MuzzleEffect , _mzEffect :: MuzzleEffect
, _mzAmmoPerShot :: AmmoPerShot -- , _mzAmmoPerShot :: AmmoPerShot
, _mzRandomOffset :: Float , _mzRandomOffset :: Float
} }
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data AmmoExtractPosition = MagBelow Int | CapacitorBelow | CapacitorSelf data AmmoExtractPosition
= MagBelow {_magBelowID :: Int, _aps :: AmmoPerShot}
| CapacitorBelow {_aps :: AmmoPerShot}
| CapacitorSelf {_aps :: AmmoPerShot}
| NoAmmoRequired
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data FlareType data FlareType
@@ -62,3 +66,4 @@ data AmmoPerShot
makeLenses ''Muzzle makeLenses ''Muzzle
makeLenses ''MuzzleEffect makeLenses ''MuzzleEffect
makeLenses ''AmmoPerShot makeLenses ''AmmoPerShot
makeLenses ''AmmoExtractPosition
+15 -11
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE LambdaCase #-}
{- | Capture input events, store them in structures for later use. {- | Capture input events, store them in structures for later use.
-} -}
module Dodge.Event.Input ( module Dodge.Event.Input (
@@ -28,17 +29,20 @@ handleKeyboardEvent kev = case keyboardEventKeyMotion kev of
scode = (keysymScancode . keyboardEventKeysym) kev scode = (keysymScancode . keyboardEventKeysym) kev
addTermSignal :: Scancode -> Input -> Input addTermSignal :: Scancode -> Input -> Input
addTermSignal sc = case sc of addTermSignal = maybe id (\ts -> textInput .:~ Left ts) . scToTS
ScancodeBackspace -> textInput .:~ Left TSbackspace
ScancodeEscape -> textInput .:~ Left TSescape scToTS :: Scancode -> Maybe TermSignal
ScancodeReturn -> textInput .:~ Left TSreturn scToTS = \case
ScancodeDelete -> textInput .:~ Left TSdelete ScancodeBackspace -> Just TSbackspace
ScancodeTab -> textInput .:~ Left TStab ScancodeEscape -> Just TSescape
ScancodeLeft -> textInput .:~ Left TSleft ScancodeReturn -> Just TSreturn
ScancodeRight -> textInput .:~ Left TSright ScancodeDelete -> Just TSdelete
ScancodeUp -> textInput .:~ Left TSup ScancodeTab -> Just TStab
ScancodeDown -> textInput .:~ Left TSdown ScancodeLeft -> Just TSleft
_ -> id ScancodeRight -> Just TSright
ScancodeUp -> Just TSup
ScancodeDown -> Just TSdown
_ -> Nothing
handleMouseMotionEvent :: MouseMotionEventData -> Configuration -> Input -> Input handleMouseMotionEvent :: MouseMotionEventData -> Configuration -> Input -> Input
handleMouseMotionEvent mmev cfig = set mousePos themousepos . set mouseMoving True handleMouseMotionEvent mmev cfig = set mousePos themousepos . set mouseMoving True
+69 -72
View File
@@ -8,8 +8,6 @@ module Dodge.HeldUse (
heldEffectMuzzles, heldEffectMuzzles,
) where ) where
import qualified IntMapHelp as IM
import Dodge.IsPulseLaser
import Color import Color
import Control.Applicative import Control.Applicative
import Control.Monad import Control.Monad
@@ -26,6 +24,7 @@ import Dodge.Data.World
import Dodge.Gas import Dodge.Gas
import Dodge.Inventory.Lock import Dodge.Inventory.Lock
import Dodge.Inventory.Path import Dodge.Inventory.Path
import Dodge.IsPulseLaser
import Dodge.Item.HeldOffset import Dodge.Item.HeldOffset
import Dodge.Item.Weapon.Bullet import Dodge.Item.Weapon.Bullet
import Dodge.Item.Weapon.Shatter import Dodge.Item.Weapon.Shatter
@@ -34,6 +33,7 @@ import Dodge.RadarSweep
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.Tesla import Dodge.Tesla
import Geometry import Geometry
import qualified IntMapHelp as IM
import LensHelp import LensHelp
import ListHelp import ListHelp
import NewInt import NewInt
@@ -47,7 +47,6 @@ gadgetEffect :: Int -> LocationDT OItem -> Creature -> World -> World
gadgetEffect pt loc gadgetEffect pt loc
| UseHeld{} <- loc ^. locDT . dtValue . _1 . itUse = heldEffect pt loc | UseHeld{} <- loc ^. locDT . dtValue . _1 . itUse = heldEffect pt loc
| PulseBallSF <- loc ^. locDT . dtValue . _2 = heldEffect pt loc | PulseBallSF <- loc ^. locDT . dtValue . _2 = heldEffect pt loc
-- hammerCheck (\a b c -> creatureShootPulseBall a b cmuz c) pt loc
| DROPPER x <- loc ^. locDT . dtValue . _1 . itType | DROPPER x <- loc ^. locDT . dtValue . _1 . itType
, Just i <- loc ^? locDT . dtValue . _1 . itUse . uInt , Just i <- loc ^? locDT . dtValue . _1 . itUse . uInt
, pt == 0 = , pt == 0 =
@@ -57,7 +56,6 @@ gadgetEffect pt loc
useInventoryPath pt i x loc useInventoryPath pt i x loc
| otherwise = const id | otherwise = const id
heldEffect :: Int -> LocationDT OItem -> Creature -> World -> World heldEffect :: Int -> LocationDT OItem -> Creature -> World -> World
heldEffect = hammerCheck heldEffectMuzzles heldEffect = hammerCheck heldEffectMuzzles
@@ -80,7 +78,6 @@ hammerCheck f pt loc cr w = case itemTriggerType loc of
& itmset . itParams . wTime +~ 1 & itmset . itParams . wTime +~ 1
WarmUpNoDelay{} -> f loc cr w & setwarming WarmUpNoDelay{} -> f loc cr w & setwarming
WarmUpCoolDown ws _ _ WarmUpCoolDown ws _ _
-- UNSAFE:
| _wTime (_itParams it) < ws -> | _wTime (_itParams it) < ws ->
w & setwarming w & setwarming
& soundContinue & soundContinue
@@ -95,32 +92,27 @@ hammerCheck f pt loc cr w = case itemTriggerType loc of
& itmset . itParams . wTime +~ 1 & itmset . itParams . wTime +~ 1
WarmUpCoolDown{} -> w & setwarming WarmUpCoolDown{} -> w & setwarming
BurstTrigger is t BurstTrigger is t
| w ^. cWorld . lWorld . lClock - t > timelastused | timetest t
, pt == 0 -> , pt == 0 ->
w & f loc cr & cWorld . lWorld . delayedEvents .++~ map g is w & f loc cr & cWorld . lWorld . delayedEvents .++~ map g is
VolleyGunTrigger i t VolleyGunTrigger i t
| w ^. cWorld . lWorld . lClock - t > timelastused | timetest t
, pt == 0 -> , pt == 0 ->
let (is, gen) = getVolleyBurst i (w ^. randGen) let (is, gen) = getVolleyBurst i (w ^. randGen)
in w & f loc cr in w & f loc cr
& cWorld . lWorld . delayedEvents .++~ map g is & cWorld . lWorld . delayedEvents .++~ map g is
& randGen .~ gen & randGen .~ gen
HammerTrigger t HammerTrigger t | timetest t , pt == 0 -> f loc cr w
| w ^. cWorld . lWorld . lClock - t > timelastused
, isNothing $ find ((== MakeAutoSF) . (^. dtValue . _2)) (loc ^. locDT . dtRight)
, pt == 0 ->
f loc cr w
SemiAutoTrigger t SemiAutoTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused | timetest t
, isNothing $ find ((== MakeAutoSF) . (^. dtValue . _2)) (loc ^. locDT . dtRight) , isJust (find ((== MakeAutoSF) . (^. dtValue . _2)) (loc ^. locDT . dtRight))
, pt < w ^. cWorld . lWorld . lClock - timelastused -> || pt == 0 ->
-- , pt == 0 ->
f loc cr w f loc cr w
AutoTrigger t AutoTrigger t | timetest t -> f loc cr w
| w ^. cWorld . lWorld . lClock - t > timelastused -> f loc cr w
NoTrigger -> f loc cr w NoTrigger -> f loc cr w
_ -> w _ -> w
where where
timetest t = w ^. cWorld . lWorld . lClock - t > timelastused
it = loc ^. locDT . dtValue . _1 it = loc ^. locDT . dtValue . _1
cid = _crID cr cid = _crID cr
-- the following is unsafe, but if ilInvID isn't correctly set we probably -- the following is unsafe, but if ilInvID isn't correctly set we probably
@@ -138,12 +130,13 @@ getVolleyBurst i g =
heldEffectMuzzles :: LocationDT OItem -> Creature -> World -> World heldEffectMuzzles :: LocationDT OItem -> Creature -> World -> World
heldEffectMuzzles loc cr w = heldEffectMuzzles loc cr w =
setusetime . doHeldUseEffect t cr setusetime
. doHeldUseEffect t cr
. uncurry (applyCME loc cr) . uncurry (applyCME loc cr)
$ bw $ bw
where where
t = loc ^. locDT t = loc ^. locDT
bw = foldl' (loadMuzzle loc cr) (False,w) (locMuzzles loc) bw = foldl' (loadMuzzle loc cr) (False, w) (locMuzzles loc)
setusetime = setusetime =
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itTimeLastUsed cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itTimeLastUsed
.~ w ^. cWorld . lWorld . lClock .~ w ^. cWorld . lWorld . lClock
@@ -151,18 +144,17 @@ heldEffectMuzzles loc cr w =
locMuzzles :: LocationDT OItem -> [Muzzle] locMuzzles :: LocationDT OItem -> [Muzzle]
locMuzzles loc locMuzzles loc
| isPulseLaser loc = | isPulseLaser loc =
dbwMuzzles dbwMuzzles
& ix 0 . mzPos .~ V2 6 0 & ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0 & ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare & ix 0 . mzFlareType .~ TeslaGunFlare
& ix 0 . mzEffect .~ MuzzlePulseLaser & ix 0 . mzEffect .~ MuzzlePulseLaser
& ix 0 . mzAmmoPerShot .~ UseExactly 200 & ix 0 . mzAmmoSlot .~ CapacitorBelow (UseExactly 200)
& ix 0 . mzAmmoSlot .~ CapacitorBelow | PulseBallSF <- loc ^. locDT . dtValue . _2 =
| PulseBallSF <- loc ^. locDT . dtValue . _2 = dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzlePulseBall & ix 0 . mzEffect .~ MuzzlePulseBall
& ix 0 . mzAmmoPerShot .~ UseExactly 200 & ix 0 . mzAmmoSlot .~ CapacitorSelf (UseExactly 200)
& ix 0 . mzAmmoSlot .~ CapacitorSelf
& ix 0 . mzInaccuracy .~ 0 & ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare & ix 0 . mzFlareType .~ TeslaGunFlare
| otherwise = itemMuzzles $ loc ^. locDT . dtValue . _1 | otherwise = itemMuzzles $ loc ^. locDT . dtValue . _1
@@ -171,7 +163,7 @@ itemMuzzles :: Item -> [Muzzle]
itemMuzzles itm = case itm ^. itType of itemMuzzles itm = case itm ^. itType of
HELD ALTERIFLE -> HELD ALTERIFLE ->
dbwMuzzles & ix 0 . mzPos .~ V2 25 0 dbwMuzzles & ix 0 . mzPos .~ V2 25 0
& ix 0 . mzAmmoSlot .~ MagBelow (_alteRifleSwitch (_itParams itm)) & ix 0 . mzAmmoSlot .~ MagBelow (_alteRifleSwitch (_itParams itm)) (UseExactly 1)
HELD (VOLLEYGUN i) -> fromMaybe [] $ do HELD (VOLLEYGUN i) -> fromMaybe [] $ do
j <- itm ^? itParams . unfiredBarrels . ix 0 j <- itm ^? itParams . unfiredBarrels . ix 0
x <- vgunMuzzles i ^? ix j x <- vgunMuzzles i ^? ix j
@@ -179,7 +171,7 @@ itemMuzzles itm = case itm ^. itType of
HELD hit -> heldItemMuzzles hit HELD hit -> heldItemMuzzles hit
DETECTOR{} -> DETECTOR{} ->
dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector
& ix 0 . mzAmmoPerShot .~ UseExactly 100 & ix 0 . mzAmmoSlot . aps .~ UseExactly 100
LASER -> LASER ->
dbwMuzzles dbwMuzzles
& ix 0 . mzPos .~ V2 6 0 & ix 0 . mzPos .~ V2 6 0
@@ -195,10 +187,9 @@ heldItemMuzzles = \case
(V2 10 0) (V2 10 0)
a a
0.01 0.01
(MagBelow 0) (MagBelow 0 (UseExactly 1))
NoFlare NoFlare
MuzzleShootBullet MuzzleShootBullet
(UseExactly 1)
0 0
| -- 0 | -- 0
a <- spreadAroundCenter i baseStickSpread a <- spreadAroundCenter i baseStickSpread
@@ -206,16 +197,16 @@ heldItemMuzzles = \case
& ix 0 . mzFlareType .~ NoLightFlare & ix 0 . mzFlareType .~ NoLightFlare
& ix (i `div` 2) . mzFlareType .~ BasicFlare & ix (i `div` 2) . mzFlareType .~ BasicFlare
& ix (i -1) . mzFlareType .~ NoLightFlare & ix (i -1) . mzFlareType .~ NoLightFlare
PISTOL -> [Muzzle (V2 10 0) 0 0.05 (MagBelow 0) BasicFlare MuzzleShootBullet (UseExactly 1) 0] PISTOL -> [Muzzle (V2 10 0) 0 0.05 maguse1 BasicFlare MuzzleShootBullet 0]
MACHINEPISTOL -> [Muzzle (V2 10 0) 0 0.3 (MagBelow 0) MiniGunFlare MuzzleShootBullet (UseExactly 1) 0] MACHINEPISTOL -> [Muzzle (V2 10 0) 0 0.3 maguse1 MiniGunFlare MuzzleShootBullet 0]
AUTOPISTOL -> [Muzzle (V2 10 0) 0 0 (MagBelow 0) BasicFlare MuzzleShootBullet (UseExactly 1) 0] AUTOPISTOL -> [Muzzle (V2 10 0) 0 0 maguse1 BasicFlare MuzzleShootBullet 0]
SMG -> [Muzzle (V2 20 0) 0 0.05 (MagBelow 0) BasicFlare MuzzleShootBullet (UseExactly 1) 0] SMG -> [Muzzle (V2 20 0) 0 0.05 maguse1 BasicFlare MuzzleShootBullet 0]
RIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 RIFLE -> 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 replicate
i i
(Muzzle (V2 30 0) 0 0.05 (MagBelow 0) NoFlare MuzzleShootBullet (UseExactly 1) 10) (Muzzle (V2 30 0) 0 0.05 maguse1 NoFlare MuzzleShootBullet 10)
& ix 0 . mzFlareType .~ MiniGunFlare & ix 0 . mzFlareType .~ MiniGunFlare
BANGROD -> BANGROD ->
dbwMuzzles dbwMuzzles
@@ -241,9 +232,9 @@ heldItemMuzzles = \case
& ix 0 . mzPos .~ V2 30 0 & ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare & ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0 & ix 0 . mzInaccuracy .~ 0
BANGCONE -> [Muzzle (V2 15 0) 0 0.5 (MagBelow 0) BasicFlare MuzzleShootBullet (UseUpTo 15) 12] BANGCONE -> [Muzzle (V2 15 0) 0 0.5 magupto15 BasicFlare MuzzleShootBullet 12]
BLUNDERBUSS -> [Muzzle (V2 30 0) 0 0.5 (MagBelow 0) BasicFlare MuzzleShootBullet (UseUpTo 15) 12] BLUNDERBUSS -> [Muzzle (V2 30 0) 0 0.5 magupto15 BasicFlare MuzzleShootBullet 12]
GRAPECANNON i -> [Muzzle (V2 30 0) 0 0.5 (MagBelow 0) BasicFlare MuzzleShootBullet (UseUpTo 15) (12 + 4 * fromIntegral i)] GRAPECANNON i -> [Muzzle (V2 30 0) 0 0.5 magupto15 BasicFlare MuzzleShootBullet (12 + 4 * fromIntegral i)]
TORCH -> dbwMuzzles & ix 0 . mzPos .~ V2 10 0 TORCH -> dbwMuzzles & ix 0 . mzPos .~ V2 10 0
VOLLEYGUN{} -> error "should get volleygun muzzles earlier" VOLLEYGUN{} -> error "should get volleygun muzzles earlier"
FLAMETHROWER -> flameMuzzles FLAMETHROWER -> flameMuzzles
@@ -261,10 +252,9 @@ heldItemMuzzles = \case
RLAUNCHERX i -> RLAUNCHERX i ->
getZipList getZipList
( ZipList [Muzzle (V2 20 0) a 0 | a <- take i [0, 2 * pi / fromIntegral i ..]] ( ZipList [Muzzle (V2 20 0) a 0 | a <- take i [0, 2 * pi / fromIntegral i ..]]
<*> ZipList (fmap MagBelow [0 ..]) <*> ZipList (fmap (\j -> MagBelow j (UseExactly 1)) [0 ..])
<*> pure NoFlare <*> pure NoFlare
<*> pure MuzzleRLauncher <*> pure MuzzleRLauncher
<*> pure (UseExactly 1)
<*> pure 0 <*> pure 0
) )
TESLAGUN -> TESLAGUN ->
@@ -287,41 +277,43 @@ heldItemMuzzles = \case
BLINKER -> BLINKER ->
dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzleBlink & ix 0 . mzEffect .~ MuzzleBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000 & ix 0 . mzAmmoSlot . aps .~ UseExactly 10000000
BLINKERUNSAFE -> BLINKERUNSAFE ->
dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzleUnsafeBlink & ix 0 . mzEffect .~ MuzzleUnsafeBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000 & ix 0 . mzAmmoSlot . aps .~ UseExactly 10000000
REWINDER -> REWINDER ->
dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzleRewind & ix 0 . mzEffect .~ MuzzleRewind
& ix 0 . mzAmmoPerShot .~ UseExactly 100000 & ix 0 . mzAmmoSlot . aps .~ UseExactly 100000
TIMESTOPPER -> TIMESTOPPER ->
dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzleStopper & ix 0 . mzEffect .~ MuzzleStopper
& ix 0 . mzAmmoPerShot .~ UseExactly 100000 & ix 0 . mzAmmoSlot . aps .~ UseExactly 100000
TIMESCROLLER -> TIMESCROLLER ->
dbwMuzzles dbwMuzzles
& ix 0 . mzEffect .~ MuzzleScroller & ix 0 . mzEffect .~ MuzzleScroller
& ix 0 . mzAmmoPerShot .~ UseExactly 100000 & ix 0 . mzAmmoSlot . aps .~ UseExactly 100000
_ -> _ ->
[ Muzzle [ Muzzle
{ _mzPos = V2 20 0 { _mzPos = V2 20 0
, _mzRot = 0 , _mzRot = 0
, _mzInaccuracy = 0.05 , _mzInaccuracy = 0.05
, _mzAmmoSlot = MagBelow 0 , _mzAmmoSlot = maguse1
, _mzFlareType = NoFlare , _mzFlareType = NoFlare
, _mzEffect = MuzzleShootBullet , _mzEffect = MuzzleShootBullet
, _mzAmmoPerShot = UseExactly 1
, _mzRandomOffset = 0 , _mzRandomOffset = 0
} }
] ]
where
maguse1 = MagBelow 0 (UseExactly 1)
magupto15 = MagBelow 0 (UseUpTo 15)
baseStickSpread :: Float baseStickSpread :: Float
baseStickSpread = 0.2 baseStickSpread = 0.2
dbwMuzzles :: [Muzzle] dbwMuzzles :: [Muzzle]
dbwMuzzles = [Muzzle (V2 15 0) 0 0.01 (MagBelow 0) BasicFlare MuzzleShootBullet (UseExactly 1) 0] dbwMuzzles = [Muzzle (V2 15 0) 0 0.01 (MagBelow 0 (UseExactly 1)) BasicFlare MuzzleShootBullet 0]
flameMuzzles :: [Muzzle] flameMuzzles :: [Muzzle]
flameMuzzles = flameMuzzles =
@@ -329,14 +321,13 @@ flameMuzzles =
(V2 18 0) (V2 18 0)
0 0
0 0
(MagBelow 0) (MagBelow 0 (UseExactly 1))
NoFlare NoFlare
MuzzleNozzle MuzzleNozzle
{ _nzPressure = ConstFloat 4 { _nzPressure = ConstFloat 4
, _nzMaxWalkAngle = 0.2 , _nzMaxWalkAngle = 0.2
, _nzWalkSpeed = 0.01 , _nzWalkSpeed = 0.01
} }
(UseExactly 1)
0 0
] ]
@@ -344,10 +335,9 @@ vgunMuzzles :: Int -> [Muzzle]
vgunMuzzles i = vgunMuzzles i =
getZipList getZipList
( ZipList [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 6] ( ZipList [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 6]
<*> ZipList (fmap MagBelow [0 .. i -1]) <*> ZipList (fmap (\j -> MagBelow j (UseExactly 1)) [0 .. i -1])
<*> pure BasicFlare <*> pure BasicFlare
<*> pure MuzzleShootBullet <*> pure MuzzleShootBullet
<*> pure (UseExactly 1)
<*> pure 0 <*> pure 0
) )
@@ -642,24 +632,27 @@ heldTorqueAmount = \case
BLINKER -> 0 BLINKER -> 0
BLINKERUNSAFE -> 0 BLINKERUNSAFE -> 0
loadMuzzle :: LocationDT OItem -> Creature -> (Bool,World) -> Muzzle -> (Bool,World) loadMuzzle :: LocationDT OItem -> Creature -> (Bool, World) -> Muzzle -> (Bool, World)
loadMuzzle loc cr (b,w) mz = fromMaybe (b,w) $ do loadMuzzle loc cr (b, w) mz = fromMaybe (b, w) $ do
let as = _mzAmmoSlot mz case mz ^. mzAmmoSlot of
amamount = _mzAmmoPerShot mz NoAmmoRequired -> return (True, doMuzzleEffect loc cr mz Nothing w)
mag <- case as of as -> do
MagBelow mi -> find (isAmmoIntLink mi . (^. dtValue . _2)) (loc ^. locDT . dtLeft) mag <- case as of
CapacitorSelf -> loc ^? locDT MagBelow mi _ -> find (isAmmoIntLink mi . (^. dtValue . _2)) (loc ^. locDT . dtLeft)
CapacitorBelow -> find CapacitorSelf _ -> loc ^? locDT
((== PulseBallSF) . (^. dtValue . _2)) (loc ^. locDT . dtLeft) CapacitorBelow _ ->
mid <- mag ^? dtValue . _1 . itLocation . ilInvID find
availableammo <- w ^? cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix mid . itConsumables . _Just ((== PulseBallSF) . (^. dtValue . _2))
let usedammo = case amamount of (loc ^. locDT . dtLeft)
UseUpTo x -> min x availableammo mid <- mag ^? dtValue . _1 . itLocation . ilInvID
UseExactly x availableammo <- w ^? cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix mid . itConsumables . _Just
| x <= availableammo -> x let usedammo = case as ^?! aps of
| otherwise -> 0 UseUpTo x -> min x availableammo
guard $ usedammo > 0 UseExactly x
return $ useLoadedAmmo loc cr (b,w) (Just (mz,usedammo,mag)) | x <= availableammo -> x
| otherwise -> 0
guard $ usedammo > 0
return $ useLoadedAmmo loc cr (b, w) (Just (mz, usedammo, mag))
makeMuzzleFlare :: Muzzle -> LocationDT OItem -> Creature -> World -> World makeMuzzleFlare :: Muzzle -> LocationDT OItem -> Creature -> World -> World
makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of
@@ -733,6 +726,10 @@ isAmmoIntLink i sf = Just i == sf ^? amsfLink
-- (AmmoMagSF j _) = i == j -- (AmmoMagSF j _) = i == j
--isAmmoIntLink _ _ = False --isAmmoIntLink _ _ = False
doMuzzleEffect :: LocationDT OItem -> Creature -> Muzzle
-> Maybe (LocationDT OItem, Item) -> World -> World
doMuzzleEffect _ _ _ _ = id
useLoadedAmmo :: useLoadedAmmo ::
LocationDT OItem -> LocationDT OItem ->
Creature -> Creature ->
@@ -931,8 +928,8 @@ creatureShootPulseBall loc cr mz w = w & randGen .~ g & shootPulseBall pos dir
shootPulseBall :: Point2 -> Float -> World -> World shootPulseBall :: Point2 -> Float -> World -> World
shootPulseBall p dir w = shootPulseBall p dir w =
w w
& cWorld . lWorld . pulseBalls . at i ?~ & cWorld . lWorld . pulseBalls . at i
PulseBall ?~ PulseBall
{ _pbPos = p { _pbPos = p
, _pbVel = 3.5 * unitVectorAtAngle dir , _pbVel = 3.5 * unitVectorAtAngle dir
, _pbTimer = 200 , _pbTimer = 200
+1
View File
@@ -47,6 +47,7 @@ drawChasm = foldMap (Prelude.uncurry drawCliff) . loopPairs
drawCliff :: Point2 -> Point2 -> SPic drawCliff :: Point2 -> Point2 -> SPic
drawCliff x y = noPic drawCliff x y = noPic
. translateSHz (-500.01) . translateSHz (-500.01)
. colorSH (dark orange)
$ upperPrismPoly Large Important 500 [x,0.5 *(x+y) + normalizeV (vNormal (y - x)),y] $ upperPrismPoly Large Important 500 [x,0.5 *(x+y) + normalizeV (vNormal (y - x)),y]
drawPulseBall :: PulseBall -> SPic drawPulseBall :: PulseBall -> SPic
+1 -1
View File
@@ -106,7 +106,7 @@ roomPillars :: RandomGen g => Float -> Float -> Float -> Int -> Int -> State g R
roomPillars pillarsize w h wn hn = do roomPillars pillarsize w h wn hn = do
let rm = roomRect w h wn hn let rm = roomRect w h wn hn
npillars = length $ filter rpIsOffPath $ _rmPos rm npillars = length $ filter rpIsOffPath $ _rmPos rm
let plmnts = plmnts =
replicate replicate
npillars npillars
( blockPillar (0.5 * pilw) (0.5 * pilh) & plSpot ( blockPillar (0.5 * pilw) (0.5 * pilh) & plSpot
+8 -13
View File
@@ -1,4 +1,4 @@
module Dodge.WorldLoad where module Dodge.WorldLoad (postUniverseLoadSideEffect) where
import Control.Lens import Control.Lens
import Control.Monad import Control.Monad
@@ -9,20 +9,15 @@ import Shader.Data
import Shader.Poke.Floor import Shader.Poke.Floor
postUniverseLoadSideEffect :: Universe -> Universe postUniverseLoadSideEffect :: Universe -> Universe
postUniverseLoadSideEffect = uvIOEffects %~ (\f uv -> (uvWorld . cWorld) (postWorldLoad (uv ^. preloadData . renderData)) uv >>= f) postUniverseLoadSideEffect = uvIOEffects %~
(\f uv -> (uvWorld . cWorld) (postWorldLoad (uv ^. preloadData . renderData)) uv >>= f)
postWorldLoad :: RenderData -> CWorld -> IO CWorld postWorldLoad :: RenderData -> CWorld -> IO CWorld
postWorldLoad rdata cw = do postWorldLoad rdata cw = do
nfloorvxs <- nfloorvxs <- foldM (pokeTile (rdata ^. floorVBO . vboPtr)) 0 (cw ^. cwTiles)
foldM
(pokeTile (rdata ^. floorVBO . vboPtr))
0
(cw ^. cwTiles)
bufferPokedVBO (rdata ^. floorVBO) nfloorvxs bufferPokedVBO (rdata ^. floorVBO) nfloorvxs
nchasmvxs <- foldM (pokeChasm (rdata ^. chasmVBO . vboPtr)) nchasmvxs <- foldM (pokeChasm (rdata ^. chasmVBO . vboPtr)) 0 (cw ^. chasms)
0
(cw ^. chasms)
bufferPokedVBO (rdata ^. chasmVBO) nchasmvxs bufferPokedVBO (rdata ^. chasmVBO) nchasmvxs
return $ cw & numberFloorVerxs .~ nfloorvxs return $
& numberChasmVerxs .~ nchasmvxs cw & numberFloorVerxs .~ nfloorvxs
& numberChasmVerxs .~ nchasmvxs
+167 -159
View File
@@ -55,7 +55,7 @@ AmmoMagType src/Dodge/Data/Item/Combine.hs 107;" t
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 30;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 30;" C
AmmoParams src/Dodge/Data/Item/Use.hs 51;" t AmmoParams src/Dodge/Data/Item/Use.hs 51;" t
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C
AmmoPerShot src/Dodge/Data/Muzzle.hs 57;" t AmmoPerShot src/Dodge/Data/Muzzle.hs 61;" t
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C
AmmoType src/Dodge/Data/AmmoType.hs 5;" t AmmoType src/Dodge/Data/AmmoType.hs 5;" t
AnRoom src/Dodge/Annotation/Data.hs 18;" C AnRoom src/Dodge/Annotation/Data.hs 18;" C
@@ -116,7 +116,7 @@ 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
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 43;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 43;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 50;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 50;" C
BasicFlare src/Dodge/Data/Muzzle.hs 26;" C BasicFlare src/Dodge/Data/Muzzle.hs 30;" C
Beam src/Dodge/Data/Beam.hs 18;" t Beam src/Dodge/Data/Beam.hs 18;" t
BeamCombine src/Dodge/Data/Beam.hs 47;" C BeamCombine src/Dodge/Data/Beam.hs 47;" C
BeamCombineType src/Dodge/Data/Beam.hs 38;" t BeamCombineType src/Dodge/Data/Beam.hs 38;" t
@@ -204,9 +204,9 @@ CamRemoteScope src/Dodge/Data/Camera.hs 15;" C
Camera src/Dodge/Data/Camera.hs 23;" t Camera src/Dodge/Data/Camera.hs 23;" t
CameraScrollTimeFlow src/Dodge/Data/World.hs 68;" C CameraScrollTimeFlow src/Dodge/Data/World.hs 68;" C
CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 5;" t CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 5;" t
CapacitorBelow src/Dodge/Data/Muzzle.hs 21;" C CapacitorBelow src/Dodge/Data/Muzzle.hs 23;" C
CapacitorSF src/Dodge/Data/ComposedItem.hs 42;" C CapacitorSF src/Dodge/Data/ComposedItem.hs 42;" C
CapacitorSelf src/Dodge/Data/Muzzle.hs 21;" C CapacitorSelf src/Dodge/Data/Muzzle.hs 24;" C
CardinalCover src/Dodge/Data/CardinalPoint.hs 21;" t CardinalCover src/Dodge/Data/CardinalPoint.hs 21;" t
CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 10;" t CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 10;" t
CardinalPoint src/Dodge/Data/CardinalPoint.hs 3;" t CardinalPoint src/Dodge/Data/CardinalPoint.hs 3;" t
@@ -456,7 +456,7 @@ FlameletBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
Flamer src/Dodge/Data/SoundOrigin.hs 26;" C Flamer src/Dodge/Data/SoundOrigin.hs 26;" 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 24;" t FlareType src/Dodge/Data/Muzzle.hs 28;" t
FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C
Flashing src/Dodge/Data/Damage.hs 27;" C Flashing src/Dodge/Data/Damage.hs 27;" C
FlatFaces src/Shape/Data.hs 17;" C FlatFaces src/Shape/Data.hs 17;" C
@@ -545,7 +545,7 @@ HUDElement src/Dodge/Data/HUD.hs 18;" t
HalfRes src/Dodge/Data/Config.hs 97;" C HalfRes src/Dodge/Data/Config.hs 97;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C
HardQuit src/Dodge/Data/Universe.hs 70;" C HardQuit src/Dodge/Data/Universe.hs 70;" C
HeavySmokeFlare src/Dodge/Data/Muzzle.hs 29;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
HeldItemType src/Dodge/Data/Item/Combine.hs 140;" t HeldItemType src/Dodge/Data/Item/Combine.hs 140;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
@@ -674,7 +674,7 @@ Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 74;" C 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 30;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
LasSound src/Dodge/Data/SoundOrigin.hs 29;" C LasSound src/Dodge/Data/SoundOrigin.hs 29;" C
Laser src/Dodge/Data/Laser.hs 21;" t Laser src/Dodge/Data/Laser.hs 21;" t
LaserSensor src/Dodge/Data/Machine/Sensor/Type.hs 11;" C LaserSensor src/Dodge/Data/Machine/Sensor/Type.hs 11;" C
@@ -742,7 +742,7 @@ MachineAltSound src/Dodge/Data/SoundOrigin.hs 23;" 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 22;" C
MachineType src/Dodge/Data/Machine.hs 49;" t MachineType src/Dodge/Data/Machine.hs 49;" t
MagBelow src/Dodge/Data/Muzzle.hs 21;" 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
MagnetAlign src/Dodge/Data/Magnet.hs 17;" C MagnetAlign src/Dodge/Data/Magnet.hs 17;" C
MagnetAttract src/Dodge/Data/Magnet.hs 19;" C MagnetAttract src/Dodge/Data/Magnet.hs 19;" C
@@ -789,7 +789,7 @@ Metapysics src/Dodge/Data/Scenario.hs 17;" t
Military src/Dodge/Data/Scenario.hs 45;" C Military src/Dodge/Data/Scenario.hs 45;" C
Mine src/Dodge/Data/Scenario.hs 64;" C Mine src/Dodge/Data/Scenario.hs 64;" C
MiniGunAI src/Dodge/Data/Creature/Misc.hs 49;" C MiniGunAI src/Dodge/Data/Creature/Misc.hs 49;" C
MiniGunFlare src/Dodge/Data/Muzzle.hs 28;" C MiniGunFlare src/Dodge/Data/Muzzle.hs 32;" C
ModIDID src/Dodge/Data/Modification.hs 23;" C ModIDID src/Dodge/Data/Modification.hs 23;" C
ModIDTimerPoint3Bool src/Dodge/Data/Modification.hs 15;" C ModIDTimerPoint3Bool src/Dodge/Data/Modification.hs 15;" C
Modification src/Dodge/Data/Modification.hs 14;" t Modification src/Dodge/Data/Modification.hs 14;" t
@@ -810,23 +810,23 @@ MoveForward src/Dodge/Data/ActionPlan.hs 29;" C
MultGunAI src/Dodge/Data/Creature/Misc.hs 51;" C MultGunAI src/Dodge/Data/Creature/Misc.hs 51;" C
Mute src/Dodge/Data/Creature/Misc.hs 21;" C Mute src/Dodge/Data/Creature/Misc.hs 21;" C
Muzzle src/Dodge/Data/Muzzle.hs 9;" t Muzzle src/Dodge/Data/Muzzle.hs 9;" t
MuzzleBlink src/Dodge/Data/Muzzle.hs 50;" C MuzzleBlink src/Dodge/Data/Muzzle.hs 54;" C
MuzzleDetector src/Dodge/Data/Muzzle.hs 49;" C MuzzleDetector src/Dodge/Data/Muzzle.hs 53;" C
MuzzleEffect src/Dodge/Data/Muzzle.hs 34;" t MuzzleEffect src/Dodge/Data/Muzzle.hs 38;" t
MuzzleGLauncher src/Dodge/Data/Muzzle.hs 42;" C MuzzleGLauncher src/Dodge/Data/Muzzle.hs 46;" C
MuzzleLaser src/Dodge/Data/Muzzle.hs 36;" C MuzzleLaser src/Dodge/Data/Muzzle.hs 40;" C
MuzzleNozzle src/Dodge/Data/Muzzle.hs 43;" C MuzzleNozzle src/Dodge/Data/Muzzle.hs 47;" C
MuzzlePulseBall src/Dodge/Data/Muzzle.hs 38;" C MuzzlePulseBall src/Dodge/Data/Muzzle.hs 42;" C
MuzzlePulseLaser src/Dodge/Data/Muzzle.hs 37;" C MuzzlePulseLaser src/Dodge/Data/Muzzle.hs 41;" C
MuzzleRLauncher src/Dodge/Data/Muzzle.hs 41;" C MuzzleRLauncher src/Dodge/Data/Muzzle.hs 45;" C
MuzzleRewind src/Dodge/Data/Muzzle.hs 52;" C MuzzleRewind src/Dodge/Data/Muzzle.hs 56;" C
MuzzleScroller src/Dodge/Data/Muzzle.hs 54;" C MuzzleScroller src/Dodge/Data/Muzzle.hs 58;" C
MuzzleShatter src/Dodge/Data/Muzzle.hs 48;" C MuzzleShatter src/Dodge/Data/Muzzle.hs 52;" C
MuzzleShootBullet src/Dodge/Data/Muzzle.hs 35;" C MuzzleShootBullet src/Dodge/Data/Muzzle.hs 39;" C
MuzzleStopper src/Dodge/Data/Muzzle.hs 53;" C MuzzleStopper src/Dodge/Data/Muzzle.hs 57;" C
MuzzleTesla src/Dodge/Data/Muzzle.hs 39;" C MuzzleTesla src/Dodge/Data/Muzzle.hs 43;" C
MuzzleTractor src/Dodge/Data/Muzzle.hs 40;" C MuzzleTractor src/Dodge/Data/Muzzle.hs 44;" C
MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 51;" C MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 55;" C
MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C
MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C
MvWalking src/Dodge/Data/Creature/Misc.hs 30;" C MvWalking src/Dodge/Data/Creature/Misc.hs 30;" C
@@ -847,6 +847,7 @@ NewInt src/NewInt.hs 15;" t
NewIntMap src/NewInt.hs 18;" t NewIntMap src/NewInt.hs 18;" t
NewSideEffect src/Dodge/Data/Universe.hs 65;" C NewSideEffect src/Dodge/Data/Universe.hs 65;" C
NoAction src/Dodge/Data/ActionPlan.hs 152;" C NoAction src/Dodge/Data/ActionPlan.hs 152;" C
NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C
NoArguments src/Dodge/Data/Terminal.hs 91;" C NoArguments src/Dodge/Data/Terminal.hs 91;" C
NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C
NoConcurrentEffect src/Loop/Data.hs 7;" C NoConcurrentEffect src/Loop/Data.hs 7;" C
@@ -856,12 +857,12 @@ NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C
NoDebugInfo src/Dodge/Data/Universe.hs 58;" C NoDebugInfo src/Dodge/Data/Universe.hs 58;" C
NoEscapeMenuOption src/Dodge/Data/Universe.hs 79;" C NoEscapeMenuOption src/Dodge/Data/Universe.hs 79;" C
NoFaction src/Dodge/Data/Creature/State.hs 20;" C NoFaction src/Dodge/Data/Creature/State.hs 20;" C
NoFlare src/Dodge/Data/Muzzle.hs 25;" C NoFlare src/Dodge/Data/Muzzle.hs 29;" C
NoHoming src/Dodge/Data/Projectile.hs 42;" C NoHoming src/Dodge/Data/Projectile.hs 42;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 56;" C NoItTargeting src/Dodge/Data/Item.hs 56;" C
NoItemScroll src/Dodge/Data/Item.hs 52;" C NoItemScroll src/Dodge/Data/Item.hs 52;" C
NoLightFlare src/Dodge/Data/Muzzle.hs 27;" C NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C
NoLighting src/Dodge/Data/Config.hs 104;" C NoLighting src/Dodge/Data/Config.hs 104;" C
NoMouseContext src/Dodge/Data/Input.hs 14;" C NoMouseContext src/Dodge/Data/Input.hs 14;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C
@@ -1372,7 +1373,7 @@ Terrestrial src/Dodge/Data/Scenario.hs 72;" C
TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t
TeslaArc src/Dodge/Data/TeslaArc.hs 17;" t TeslaArc src/Dodge/Data/TeslaArc.hs 17;" t
TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C
TeslaGunFlare src/Dodge/Data/Muzzle.hs 31;" C TeslaGunFlare src/Dodge/Data/Muzzle.hs 35;" C
TextShad src/Picture/Data.hs 37;" C TextShad src/Picture/Data.hs 37;" C
ThermalSensor src/Dodge/Data/Machine/Sensor/Type.hs 13;" C ThermalSensor src/Dodge/Data/Machine/Sensor/Type.hs 13;" C
Tile src/Data/Tile.hs 16;" t Tile src/Data/Tile.hs 16;" t
@@ -1441,7 +1442,7 @@ UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C
UseAttach src/Dodge/Data/Item/Use.hs 32;" C UseAttach src/Dodge/Data/Item/Use.hs 32;" C
UseBulletMod src/Dodge/Data/Item/Use.hs 37;" C UseBulletMod src/Dodge/Data/Item/Use.hs 37;" C
UseCondition src/Dodge/Data/UseCondition.hs 4;" t UseCondition src/Dodge/Data/UseCondition.hs 4;" t
UseExactly src/Dodge/Data/Muzzle.hs 58;" C UseExactly src/Dodge/Data/Muzzle.hs 62;" C
UseFocus src/Dodge/Data/UseCondition.hs 11;" t UseFocus src/Dodge/Data/UseCondition.hs 11;" t
UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C
UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C
@@ -1457,7 +1458,7 @@ UseScope src/Dodge/Data/Item/Use.hs 36;" C
UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C
UseTarget src/Dodge/Data/ActionPlan.hs 154;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C
UseToggle src/Dodge/Data/Item/Use.hs 38;" C UseToggle src/Dodge/Data/Item/Use.hs 38;" C
UseUpTo src/Dodge/Data/Muzzle.hs 59;" C UseUpTo src/Dodge/Data/Muzzle.hs 63;" C
UseValue src/Dodge/Data/Item/Use.hs 35;" C UseValue src/Dodge/Data/Item/Use.hs 35;" C
UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C
UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C
@@ -1565,6 +1566,7 @@ _apImpulse src/Dodge/Data/ActionPlan.hs 19;" f
_apInt src/Dodge/Data/Item/Use.hs 47;" f _apInt src/Dodge/Data/Item/Use.hs 47;" f
_apProjectiles src/Dodge/Data/Item/Use.hs 46;" f _apProjectiles src/Dodge/Data/Item/Use.hs 46;" f
_apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f
_aps src/Dodge/Data/Muzzle.hs 22;" f
_arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f
_arcNode src/Dodge/Data/LWorld.hs 117;" f _arcNode src/Dodge/Data/LWorld.hs 117;" f
_argList src/Dodge/Data/Terminal.hs 94;" f _argList src/Dodge/Data/Terminal.hs 94;" f
@@ -2034,6 +2036,7 @@ _lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f _lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
_lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f
_machines src/Dodge/Data/LWorld.hs 127;" f _machines src/Dodge/Data/LWorld.hs 127;" f
_magBelowID src/Dodge/Data/Muzzle.hs 22;" f
_magnets src/Dodge/Data/LWorld.hs 130;" f _magnets src/Dodge/Data/LWorld.hs 130;" f
_mainAction src/Dodge/Data/ActionPlan.hs 171;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f
_manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f
@@ -2105,7 +2108,6 @@ _mvSpeed src/Dodge/Data/Creature/Misc.hs 30;" f
_mvToPoint src/Dodge/Data/Creature.hs 70;" f _mvToPoint src/Dodge/Data/Creature.hs 70;" f
_mvTurnJit src/Dodge/Data/Creature/Misc.hs 34;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 34;" f
_mvTurnRad src/Dodge/Data/Creature/Misc.hs 33;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 33;" f
_mzAmmoPerShot src/Dodge/Data/Muzzle.hs 16;" f
_mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f _mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f
_mzEffect src/Dodge/Data/Muzzle.hs 15;" f _mzEffect src/Dodge/Data/Muzzle.hs 15;" f
_mzFlareType src/Dodge/Data/Muzzle.hs 14;" f _mzFlareType src/Dodge/Data/Muzzle.hs 14;" f
@@ -2121,9 +2123,9 @@ _numLinkNS src/Dodge/Data/Room.hs 34;" f
_numberChasmVerxs src/Dodge/Data/CWorld.hs 31;" f _numberChasmVerxs src/Dodge/Data/CWorld.hs 31;" f
_numberFloorVerxs src/Dodge/Data/CWorld.hs 29;" f _numberFloorVerxs src/Dodge/Data/CWorld.hs 29;" f
_nzAngle src/Dodge/Data/Item/Params.hs 18;" f _nzAngle src/Dodge/Data/Item/Params.hs 18;" f
_nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 45;" f _nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 49;" f
_nzPressure src/Dodge/Data/Muzzle.hs 44;" f _nzPressure src/Dodge/Data/Muzzle.hs 48;" f
_nzWalkSpeed src/Dodge/Data/Muzzle.hs 46;" f _nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f
_offPathFromEdges src/Dodge/Data/Room.hs 74;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f
_oldMagnets src/Dodge/Data/LWorld.hs 129;" f _oldMagnets src/Dodge/Data/LWorld.hs 129;" f
_onPathFromEdges src/Dodge/Data/Room.hs 73;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f
@@ -2504,14 +2506,14 @@ _unfiredBarrels src/Dodge/Data/Item/Params.hs 19;" f
_unpauseClock src/Dodge/Data/World.hs 55;" f _unpauseClock src/Dodge/Data/World.hs 55;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 36;" f _unputTerminal src/Dodge/Data/GenWorld.hs 36;" f
_useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f _useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f
_useExactly src/Dodge/Data/Muzzle.hs 58;" f _useExactly src/Dodge/Data/Muzzle.hs 62;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 40;" f _useMapperLines src/Dodge/Data/Item/Use.hs 40;" f
_useMapperPoints src/Dodge/Data/Item/Use.hs 41;" f _useMapperPoints src/Dodge/Data/Item/Use.hs 41;" f
_useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f _useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f
_useSelf src/Dodge/Data/ActionPlan.hs 158;" f _useSelf src/Dodge/Data/ActionPlan.hs 158;" f
_useTarget src/Dodge/Data/ActionPlan.hs 155;" f _useTarget src/Dodge/Data/ActionPlan.hs 155;" f
_useToggle src/Dodge/Data/Item/Use.hs 38;" f _useToggle src/Dodge/Data/Item/Use.hs 38;" f
_useUpTo src/Dodge/Data/Muzzle.hs 59;" f _useUpTo src/Dodge/Data/Muzzle.hs 63;" f
_uvCanContinue src/Dodge/Data/Universe.hs 39;" f _uvCanContinue src/Dodge/Data/Universe.hs 39;" f
_uvConfig src/Dodge/Data/Universe.hs 37;" f _uvConfig src/Dodge/Data/Universe.hs 37;" f
_uvDebug src/Dodge/Data/Universe.hs 44;" f _uvDebug src/Dodge/Data/Universe.hs 44;" f
@@ -2637,7 +2639,7 @@ addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f
addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f
addSideEffect src/Dodge/Concurrent.hs 29;" f addSideEffect src/Dodge/Concurrent.hs 29;" f
addSouthPillars src/Dodge/Room/LongDoor.hs 89;" f addSouthPillars src/Dodge/Room/LongDoor.hs 89;" f
addTermSignal src/Dodge/Event/Input.hs 30;" f addTermSignal src/Dodge/Event/Input.hs 31;" f
addToTrunk src/TreeHelp.hs 156;" f addToTrunk src/TreeHelp.hs 156;" f
addWarningTerminal src/Dodge/Room/Warning.hs 36;" f addWarningTerminal src/Dodge/Room/Warning.hs 36;" f
addZ src/Geometry/Vector3D.hs 89;" f addZ src/Geometry/Vector3D.hs 89;" f
@@ -2672,21 +2674,21 @@ 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 338;" f anythingHitCirc src/Dodge/Base/Collide.hs 338;" f
applyCME src/Dodge/HeldUse.hs 378;" f applyCME src/Dodge/HeldUse.hs 368;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 43;" f applyGravityPU src/Dodge/Projectile/Update.hs 43;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 444;" f applyInvLock src/Dodge/HeldUse.hs 434;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 47;" f applyPastDamages src/Dodge/Creature/State.hs 47;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 475;" f applyRecoil src/Dodge/HeldUse.hs 465;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 575;" f applySidePush src/Dodge/HeldUse.hs 565;" f
applySoundCME src/Dodge/HeldUse.hs 465;" f applySoundCME src/Dodge/HeldUse.hs 455;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -2694,7 +2696,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 586;" f applyTorqueCME src/Dodge/HeldUse.hs 576;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" 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
@@ -2740,7 +2742,7 @@ axisInt src/Geometry/Intersect.hs 257;" f
azure src/Color.hs 22;" f azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f bQuadToLine src/Geometry/Bezier.hs 30;" f
backPQ src/Dodge/Creature/HandPos.hs 211;" f backPQ src/Dodge/Creature/HandPos.hs 123;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 200;" f backpackShape src/Dodge/Item/Draw/SPic.hs 200;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
@@ -2752,7 +2754,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 67;" f barrelShape src/Dodge/Render/ShapePicture.hs 68;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 157;" f baseCI src/Dodge/Item/Grammar.hs 157;" f
@@ -2762,10 +2764,10 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 338;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 338;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 415;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 415;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 403;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 403;" f
baseShoulder src/Dodge/Creature/Picture.hs 126;" f baseShoulder src/Dodge/Creature/Picture.hs 122;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 312;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 312;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 304;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 304;" f
baseStickSpread src/Dodge/HeldUse.hs 320;" f baseStickSpread src/Dodge/HeldUse.hs 312;" 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 28;" f basicCrPict src/Dodge/Creature/Picture.hs 28;" f
@@ -2774,7 +2776,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 13;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 723;" f basicMuzFlare src/Dodge/HeldUse.hs 716;" f
basicTerminal src/Dodge/Terminal.hs 35;" f basicTerminal src/Dodge/Terminal.hs 35;" 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
@@ -2783,7 +2785,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 218;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 530;" f bgunSound src/Dodge/HeldUse.hs 520;" 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
@@ -2836,7 +2838,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 67;" f branchWith src/Dodge/Room/Room.hs 67;" f
bright src/Color.hs 120;" f bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 127;" f btSPic src/Dodge/Render/ShapePicture.hs 128;" f
btText src/Dodge/Inventory/SelectionList.hs 234;" f btText src/Dodge/Inventory/SelectionList.hs 234;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2883,12 +2885,12 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
chasmTest src/Dodge/Creature/Update.hs 129;" f chasmTest src/Dodge/Creature/Update.hs 121;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 64;" f checkConnection src/Dodge/Inventory/Swap.hs 64;" f
checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath src/Dodge/Creature/Update.hs 67;" f
checkDeath' src/Dodge/Creature/Update.hs 73;" f checkDeath' src/Dodge/Creature/Update.hs 70;" f
checkEndGame src/Dodge/Update.hs 800;" f checkEndGame src/Dodge/Update.hs 800;" f
checkErrorGL src/Shader/Compile.hs 255;" f checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2900,6 +2902,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f
chestPQ src/Dodge/Creature/HandPos.hs 117;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 36;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 34;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 34;" f
@@ -3022,7 +3025,7 @@ copyItemToFloor src/Dodge/FloorItem.hs 18;" f
copyItemToFloorID src/Dodge/FloorItem.hs 22;" f copyItemToFloorID src/Dodge/FloorItem.hs 22;" f
corDoor src/Dodge/Room/Room.hs 376;" f corDoor src/Dodge/Room/Room.hs 376;" f
cornerList src/Preload/Render.hs 198;" f cornerList src/Preload/Render.hs 198;" f
corpseOrGib src/Dodge/Creature/Update.hs 109;" f corpseOrGib src/Dodge/Creature/Update.hs 101;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3063,7 +3066,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 893;" f crSpring src/Dodge/Update.hs 893;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 24;" f crStrength src/Dodge/Creature/Statistics.hs 24;" f
crUpdate' src/Dodge/Creature/Update.hs 59;" f crUpdate' src/Dodge/Creature/Update.hs 56;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
@@ -3080,16 +3083,16 @@ createHeadLamp src/Dodge/Euse.hs 55;" f
createItemYou src/Dodge/Inventory/Add.hs 95;" f createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1336;" f createProjectile src/Dodge/HeldUse.hs 1333;" f
createProjectileR src/Dodge/HeldUse.hs 1285;" f createProjectileR src/Dodge/HeldUse.hs 1282;" f
createShell src/Dodge/Projectile/Create.hs 21;" f createShell src/Dodge/Projectile/Create.hs 21;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 840;" f creatureShootLaser src/Dodge/HeldUse.hs 837;" f
creatureShootPulseBall src/Dodge/HeldUse.hs 917;" f creatureShootPulseBall src/Dodge/HeldUse.hs 914;" f
creatureShootPulseLaser src/Dodge/HeldUse.hs 884;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 881;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3107,7 +3110,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 38;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
cubeShape src/Dodge/Block/Debris.hs 103;" f cubeShape src/Dodge/Block/Debris.hs 103;" f
cullPoint src/Dodge/Render/ShapePicture.hs 89;" f cullPoint src/Dodge/Render/ShapePicture.hs 90;" f
cullPretty src/AesonHelp.hs 14;" f cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3151,14 +3154,14 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f darkenBackground src/Dodge/Render/MenuScreen.hs 52;" 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 323;" f dbwMuzzles src/Dodge/HeldUse.hs 315;" 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 235;" f deadEndRoom src/Dodge/Room/Room.hs 235;" f
deadFeet src/Dodge/Creature/Picture.hs 66;" f deadFeet src/Dodge/Creature/Picture.hs 66;" f
deadRot src/Dodge/Creature/Picture.hs 82;" f deadRot src/Dodge/Creature/Picture.hs 82;" f
deadScalp src/Dodge/Creature/Picture.hs 79;" f deadScalp src/Dodge/Creature/Picture.hs 79;" f
deadUpperBody src/Dodge/Creature/Picture.hs 123;" f deadUpperBody src/Dodge/Creature/Picture.hs 119;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 77;" f debrisSize src/Dodge/Block/Debris.hs 77;" f
@@ -3247,7 +3250,7 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
denormalEdges src/Polyhedra.hs 136;" f denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 60;" f destroyAllInvItems src/Dodge/Inventory.hs 60;" f
destroyBlock src/Dodge/Block.hs 52;" f destroyBlock src/Dodge/Block.hs 52;" f
destroyCreature src/Dodge/Creature/Update.hs 101;" f destroyCreature src/Dodge/Creature/Update.hs 93;" f
destroyDoor src/Dodge/Block.hs 80;" f destroyDoor src/Dodge/Block.hs 80;" f
destroyInvItem src/Dodge/Inventory.hs 45;" f destroyInvItem src/Dodge/Inventory.hs 45;" f
destroyItem src/Dodge/Inventory.hs 64;" f destroyItem src/Dodge/Inventory.hs 64;" f
@@ -3263,7 +3266,7 @@ detV src/Geometry/Vector.hs 93;" 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 465;" f detectorColor src/Dodge/Item/Draw/SPic.hs 465;" f
detectorInfo src/Dodge/Item/Info.hs 225;" f detectorInfo src/Dodge/Item/Info.hs 225;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1256;" f determineProjectileTracking src/Dodge/HeldUse.hs 1253;" 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 208;" f diffAngles src/Geometry.hs 208;" f
@@ -3326,9 +3329,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" 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 1212;" f doGenFloat src/Dodge/HeldUse.hs 1209;" f
doGravityPU src/Dodge/Projectile/Update.hs 37;" f doGravityPU src/Dodge/Projectile/Update.hs 37;" f
doHeldUseEffect src/Dodge/HeldUse.hs 354;" f doHeldUseEffect src/Dodge/HeldUse.hs 344;" f
doInPlacements src/Dodge/Layout.hs 92;" f doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -3339,6 +3342,7 @@ doMCrAc src/Dodge/CreatureEffect.hs 57;" f
doMP2Ac src/Dodge/CreatureEffect.hs 73;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f
doMagnetBuBu src/Dodge/Bullet.hs 33;" f doMagnetBuBu src/Dodge/Bullet.hs 33;" f
doModificationEffect src/Dodge/ModificationEffect.hs 7;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f
doMuzzleEffect src/Dodge/HeldUse.hs 729;" f
doOutPlacements src/Dodge/Layout.hs 102;" f doOutPlacements src/Dodge/Layout.hs 102;" f
doP2Ac src/Dodge/CreatureEffect.hs 69;" f doP2Ac src/Dodge/CreatureEffect.hs 69;" f
doP2Imp src/Dodge/CreatureEffect.hs 33;" f doP2Imp src/Dodge/CreatureEffect.hs 33;" f
@@ -3408,7 +3412,7 @@ drawConcurrentMessage src/Dodge/Render/Picture.hs 68;" f
drawCoord src/Dodge/Debug/Picture.hs 364;" f drawCoord src/Dodge/Debug/Picture.hs 364;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 385;" f drawCrInfo src/Dodge/Debug/Picture.hs 385;" f
drawCreature src/Dodge/Render/ShapePicture.hs 60;" f drawCreature src/Dodge/Render/ShapePicture.hs 61;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 197;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 197;" f
drawCross src/Dodge/Render/Label.hs 24;" f drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f
@@ -3424,7 +3428,7 @@ drawDragSelected src/Dodge/Render/HUD.hs 133;" f
drawDragSelecting src/Dodge/Render/HUD.hs 150;" f drawDragSelecting src/Dodge/Render/HUD.hs 150;" f
drawEmptySet src/Dodge/Render/Picture.hs 124;" f drawEmptySet src/Dodge/Render/Picture.hs 124;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 137;" f drawEquipment src/Dodge/Creature/Picture.hs 133;" f
drawExamineInventory src/Dodge/Render/HUD.hs 195;" f drawExamineInventory src/Dodge/Render/HUD.hs 195;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f
@@ -3471,7 +3475,7 @@ drawPlus src/Dodge/Render/Picture.hs 144;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 26;" f drawProp src/Dodge/Prop/Draw.hs 26;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 52;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 53;" f
drawRBOptions src/Dodge/Render/HUD.hs 249;" f drawRBOptions src/Dodge/Render/HUD.hs 249;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f
@@ -3514,9 +3518,9 @@ drawWeapon src/Dodge/Creature/Volition.hs 14;" f
drawWlIDs src/Dodge/Debug/Picture.hs 372;" f drawWlIDs src/Dodge/Debug/Picture.hs 372;" f
drawZoneCol src/Dodge/Debug/Picture.hs 147;" f drawZoneCol src/Dodge/Debug/Picture.hs 147;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f
dropAll src/Dodge/Creature/Update.hs 126;" f dropAll src/Dodge/Creature/Update.hs 118;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1429;" f dropInventoryPath src/Dodge/HeldUse.hs 1426;" f
dropItem src/Dodge/Creature/Action.hs 172;" f dropItem src/Dodge/Creature/Action.hs 172;" 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
@@ -3598,7 +3602,7 @@ 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
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 94;" f extraPics src/Dodge/Render/ShapePicture.hs 95;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 89;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 89;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 98;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 98;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3628,7 +3632,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f fixedCoordPictures src/Dodge/Render/Picture.hs 17;" 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 326;" f flameMuzzles src/Dodge/HeldUse.hs 318;" 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
@@ -3636,7 +3640,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 406;" f flamerPic src/Dodge/Item/Draw/SPic.hs 406;" f
flareCircleAt src/Dodge/HeldUse.hs 704;" f flareCircleAt src/Dodge/HeldUse.hs 697;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 37;" f flatLookupItems src/Dodge/Combine.hs 37;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -3656,7 +3660,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 267;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 215;" f flockToPointUsing src/Dodge/Creature/Boid.hs 215;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 228;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 228;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 121;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
@@ -3702,7 +3706,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1169;" f gasType src/Dodge/HeldUse.hs 1166;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -3717,11 +3721,11 @@ getAimZoom src/Dodge/Update/Camera.hs 136;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 103;" f getAmmoLinks src/Dodge/Item/Grammar.hs 103;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 780;" f getAttachedSFLink src/Dodge/HeldUse.hs 777;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 84;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 84;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 169;" f getBulHitDams src/Dodge/Bullet.hs 169;" f
getBulletType src/Dodge/HeldUse.hs 957;" f getBulletType src/Dodge/HeldUse.hs 954;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -3729,17 +3733,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1324;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1321;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f
getLaserColor src/Dodge/HeldUse.hs 720;" f getLaserColor src/Dodge/HeldUse.hs 713;" f
getLaserDamage src/Dodge/HeldUse.hs 717;" f getLaserDamage src/Dodge/HeldUse.hs 710;" f
getLaserPhaseV src/Dodge/HeldUse.hs 714;" f getLaserPhaseV src/Dodge/HeldUse.hs 707;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 406;" f getMenuMouseContext src/Dodge/Update.hs 406;" f
getNodePos src/Dodge/Path.hs 31;" f getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1311;" f getPJStabiliser src/Dodge/HeldUse.hs 1308;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -3749,7 +3753,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f getTiles src/Dodge/Layout.hs 208;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 134;" f getVolleyBurst src/Dodge/HeldUse.hs 126;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f gimbal src/Dodge/Item/Scope.hs 153;" f
@@ -3797,19 +3801,19 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 64;" f hammerCheck src/Dodge/HeldUse.hs 62;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 61;" f handHandleOrient src/Dodge/Item/HeldOffset.hs 61;" f
handOrient src/Dodge/Item/HeldOffset.hs 37;" f handOrient src/Dodge/Item/HeldOffset.hs 37;" f
handleEvent src/Dodge/Event.hs 27;" f handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
handleMouseButtonEvent src/Dodge/Event/Input.hs 57;" f handleMouseButtonEvent src/Dodge/Event/Input.hs 61;" f
handleMouseMotionEvent src/Dodge/Event/Input.hs 43;" f handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
handleMouseWheelEvent src/Dodge/Event/Input.hs 52;" f handleMouseWheelEvent src/Dodge/Event/Input.hs 56;" f
handleOrient src/Dodge/Item/HeldOffset.hs 31;" f handleOrient src/Dodge/Item/HeldOffset.hs 31;" f
handlePos src/Dodge/Item/HeldOffset.hs 83;" f handlePos src/Dodge/Item/HeldOffset.hs 83;" f
handleResizeEvent src/Dodge/Event.hs 53;" f handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f handleTextInput src/Dodge/Event/Input.hs 19;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f
hardQuit src/Dodge/Concurrent.hs 32;" f hardQuit src/Dodge/Concurrent.hs 32;" f
hasButtonLOS src/Dodge/Base/Collide.hs 301;" f hasButtonLOS src/Dodge/Base/Collide.hs 301;" f
@@ -3822,26 +3826,27 @@ head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 455;" f headLampShape src/Dodge/Item/Draw/SPic.hs 455;" f
headMap src/Dodge/DoubleTree.hs 248;" f headMap src/Dodge/DoubleTree.hs 248;" f
headPQ src/Dodge/Creature/HandPos.hs 108;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 74;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 74;" f
healthTest src/Dodge/Room/LasTurret.hs 95;" f healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 142;" f heldAimZoom src/Dodge/Update/Camera.hs 142;" f
heldEffect src/Dodge/HeldUse.hs 61;" f heldEffect src/Dodge/HeldUse.hs 59;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 139;" f heldEffectMuzzles src/Dodge/HeldUse.hs 131;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f 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 178;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 178;" f
heldItemInvLock src/Dodge/HeldUse.hs 458;" f heldItemInvLock src/Dodge/HeldUse.hs 448;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1054;" f heldItemMuzVel src/Dodge/HeldUse.hs 1051;" f
heldItemMuzzles src/Dodge/HeldUse.hs 191;" f heldItemMuzzles src/Dodge/HeldUse.hs 183;" f
heldItemRifling src/Dodge/HeldUse.hs 1097;" f heldItemRifling src/Dodge/HeldUse.hs 1094;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 247;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 247;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 72;" f heldItemWeight src/Dodge/Creature/Statistics.hs 72;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 602;" f heldTorqueAmount src/Dodge/HeldUse.hs 592;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
helpCommand src/Dodge/Terminal.hs 66;" f helpCommand src/Dodge/Terminal.hs 66;" f
helpPoly3D src/Polyhedra.hs 125;" f helpPoly3D src/Polyhedra.hs 125;" f
@@ -3960,7 +3965,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 55;" f invertInventoryToMap src/Dodge/Combine.hs 55;" 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 730;" f isAmmoIntLink src/Dodge/HeldUse.hs 723;" f
isAnimate src/Dodge/Creature/Test.hs 144;" f isAnimate src/Dodge/Creature/Test.hs 144;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f isConnected src/Dodge/Inventory/Swap.hs 74;" f
@@ -4001,7 +4006,7 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f itemBulkiness src/Dodge/Creature/YourControl.hs 172;" 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 786;" f itemDetectorEffect src/Dodge/HeldUse.hs 783;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
@@ -4013,8 +4018,8 @@ 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 453;" f itemInvLock src/Dodge/HeldUse.hs 443;" f
itemMuzzles src/Dodge/HeldUse.hs 170;" 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/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
@@ -4022,7 +4027,7 @@ itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f
itemSidePush src/Dodge/HeldUse.hs 401;" f itemSidePush src/Dodge/HeldUse.hs 391;" f
itemString src/Dodge/Item/Display.hs 56;" f itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 106;" f itemToFunction src/Dodge/Item/Grammar.hs 106;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
@@ -4060,7 +4065,7 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f
lamp src/Dodge/Creature/Lamp.hs 21;" f lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 72;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 73;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 114;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 114;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 424;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 424;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
@@ -4086,8 +4091,9 @@ ldtToIndentList src/Dodge/DoubleTree.hs 221;" f
ldtToLoc src/Dodge/DoubleTree.hs 267;" f ldtToLoc src/Dodge/DoubleTree.hs 267;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 184;" f leftChildList src/Dodge/Item/Grammar.hs 184;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 100;" f leftHandPQ src/Dodge/Creature/HandPos.hs 49;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 162;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 162;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 74;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 196;" f leftRightCombine src/Dodge/Item/Grammar.hs 196;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f
@@ -4123,7 +4129,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 393;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 645;" f loadMuzzle src/Dodge/HeldUse.hs 635;" 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
@@ -4140,7 +4146,7 @@ locGoLeft src/Dodge/DoubleTree.hs 318;" f
locGoRight src/Dodge/DoubleTree.hs 323;" f locGoRight src/Dodge/DoubleTree.hs 323;" f
locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f
locLeftmost src/Dodge/DoubleTree.hs 305;" f locLeftmost src/Dodge/DoubleTree.hs 305;" f
locMuzzles src/Dodge/HeldUse.hs 152;" f locMuzzles src/Dodge/HeldUse.hs 145;" f
locOrient src/Dodge/Item/HeldOffset.hs 56;" f locOrient src/Dodge/Item/HeldOffset.hs 56;" f
locRightmost src/Dodge/DoubleTree.hs 308;" f locRightmost src/Dodge/DoubleTree.hs 308;" f
locToTop src/Dodge/DoubleTree.hs 300;" f locToTop src/Dodge/DoubleTree.hs 300;" f
@@ -4173,7 +4179,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 978;" f magAmmoParams src/Dodge/HeldUse.hs 975;" 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 171;" f magV src/Geometry/Vector.hs 171;" f
@@ -4188,7 +4194,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f makeBlip src/Dodge/RadarSweep.hs 69;" 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 1035;" f makeBullet src/Dodge/HeldUse.hs 1032;" 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
@@ -4211,7 +4217,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 664;" 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
@@ -4261,14 +4267,14 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 27;" f
mcPlaySound src/Dodge/Machine/Update.hs 104;" f mcPlaySound src/Dodge/Machine/Update.hs 104;" f
mcProxTest src/Dodge/Machine/Update.hs 152;" f mcProxTest src/Dodge/Machine/Update.hs 152;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 132;" f mcSPic src/Dodge/Render/ShapePicture.hs 133;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1223;" f mcShootAuto src/Dodge/HeldUse.hs 1220;" f
mcShootLaser src/Dodge/HeldUse.hs 1216;" f mcShootLaser src/Dodge/HeldUse.hs 1213;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1140;" f mcUseHeld src/Dodge/HeldUse.hs 1137;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f mcUseItem src/Dodge/Machine/Update.hs 85;" 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
@@ -4358,7 +4364,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 690;" f muzFlareAt src/Dodge/HeldUse.hs 683;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 177;" f mvButton src/Dodge/Placement/PlaceSpot.hs 177;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 190;" f mvFS src/Dodge/Placement/PlaceSpot.hs 190;" f
@@ -4564,7 +4570,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 14;" f
pointerYourRootItem src/Dodge/Item/Location.hs 31;" f pointerYourRootItem src/Dodge/Item/Location.hs 31;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f
pointsToPoly src/Geometry/ConvexPoly.hs 39;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f
poisonSPic src/Dodge/Creature/Update.hs 122;" f poisonSPic src/Dodge/Creature/Update.hs 114;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 506;" f poke34 src/Shader/Poke.hs 506;" f
pokeArrayOff src/Shader/Poke.hs 517;" f pokeArrayOff src/Shader/Poke.hs 517;" f
@@ -4623,7 +4629,7 @@ posSelSecYint src/Dodge/SelectionSections.hs 184;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 33;" f postGenerationProcessing src/Dodge/LevelGen.hs 33;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f
postWorldLoad src/Dodge/WorldLoad.hs 14;" f postWorldLoad src/Dodge/WorldLoad.hs 15;" f
powerFakeout src/Dodge/Room/Start.hs 27;" f powerFakeout src/Dodge/Room/Start.hs 27;" f
powerFakeout' src/Dodge/Room/Start.hs 24;" f powerFakeout' src/Dodge/Room/Start.hs 24;" f
powerLegs src/Dodge/Item/Equipment.hs 85;" f powerLegs src/Dodge/Item/Equipment.hs 85;" f
@@ -4631,7 +4637,7 @@ powlist src/Multiset.hs 61;" f
powlistUpToN src/Multiset.hs 23;" f powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 117;" f ppDraw src/Dodge/Render/ShapePicture.hs 118;" f
ppEvents src/Dodge/Update.hs 779;" f ppEvents src/Dodge/Update.hs 779;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f preCritStart src/Dodge/Room/Start.hs 82;" f
@@ -4756,7 +4762,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 225;" f ratIntersectLineLine src/Geometry/Intersect.hs 225;" f
readSaveSlot src/Dodge/Save.hs 45;" f readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 483;" f recoilAmount src/Dodge/HeldUse.hs 473;" f
rectNSWE src/Geometry/Polygon.hs 13;" f rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f rectWH src/Geometry/Polygon.hs 17;" f
@@ -4786,7 +4792,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 147;" f removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 945;" f removeAmmoFromMag src/Dodge/HeldUse.hs 942;" f
removeDot src/ShortShow.hs 29;" f removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -4832,8 +4838,9 @@ rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 190;" f rightChildList src/Dodge/Item/Grammar.hs 190;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 45;" f rightHandPQ src/Dodge/Creature/HandPos.hs 27;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 173;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 173;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 90;" f
rightPad src/Padding.hs 19;" f rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -4917,6 +4924,7 @@ saveQuitConc src/Dodge/Menu.hs 77;" f
saveSlotPath src/Dodge/Save.hs 63;" f saveSlotPath src/Dodge/Save.hs 63;" f
saveWorldInSlot src/Dodge/Save.hs 68;" f saveWorldInSlot src/Dodge/Save.hs 68;" f
sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f
scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 149;" f scale src/Picture/Base.hs 149;" f
scale3 src/Picture/Base.hs 145;" f scale3 src/Picture/Base.hs 145;" f
scaleMat src/MatrixHelper.hs 59;" f scaleMat src/MatrixHelper.hs 59;" f
@@ -4925,7 +4933,7 @@ scaleSH src/Shape.hs 269;" f
scalp src/Dodge/Creature/Picture.hs 91;" f scalp src/Dodge/Creature/Picture.hs 91;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 119;" f scorchSPic src/Dodge/Creature/Update.hs 111;" f
screenBox src/Dodge/Base/Window.hs 53;" f screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5049,8 +5057,8 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 77;" f shiftDraw src/Dodge/Render/ShapePicture.hs 78;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 83;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 84;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 308;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 308;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 347;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 347;" f
@@ -5069,17 +5077,17 @@ 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 199;" f shineTargetLaser src/Dodge/Creature/State.hs 199;" f
shineTorch src/Dodge/Creature/State.hs 238;" f shineTorch src/Dodge/Creature/State.hs 238;" f
shootBullet src/Dodge/HeldUse.hs 1020;" f shootBullet src/Dodge/HeldUse.hs 1017;" f
shootBullets src/Dodge/HeldUse.hs 1010;" f shootBullets src/Dodge/HeldUse.hs 1007;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 863;" f shootLaser src/Dodge/HeldUse.hs 860;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootPulseBall src/Dodge/HeldUse.hs 931;" f shootPulseBall src/Dodge/HeldUse.hs 928;" f
shootPulseLaser src/Dodge/HeldUse.hs 904;" f shootPulseLaser src/Dodge/HeldUse.hs 901;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1239;" f shootTeslaArc src/Dodge/HeldUse.hs 1236;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 819;" f shootTractorBeam src/Dodge/HeldUse.hs 816;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -5088,7 +5096,7 @@ shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 9;" f shortShow src/ShortShow.hs 9;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 68;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 68;" f
shoulderSH src/Dodge/Creature/Picture.hs 134;" f shoulderSH src/Dodge/Creature/Picture.hs 130;" f
showAttachItem src/Dodge/Item/Display.hs 92;" f showAttachItem src/Dodge/Item/Display.hs 92;" f
showEquipItem src/Dodge/Item/Display.hs 107;" f showEquipItem src/Dodge/Item/Display.hs 107;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
@@ -5365,12 +5373,12 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 63;" f topTestPart src/Dodge/TestString.hs 63;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 290;" f torchShape src/Dodge/Item/Draw/SPic.hs 290;" f
torqueAmount src/Dodge/HeldUse.hs 597;" f torqueAmount src/Dodge/HeldUse.hs 587;" f
torqueCr src/Dodge/WorldEffect.hs 67;" f torqueCr src/Dodge/WorldEffect.hs 67;" f
torso src/Dodge/Creature/Picture.hs 100;" f torso src/Dodge/Creature/Picture.hs 100;" 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 831;" f tractorBeamAt src/Dodge/HeldUse.hs 828;" 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 449;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 449;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
@@ -5383,9 +5391,9 @@ translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 46;" f translateFloatingCamera src/Dodge/Update/Camera.hs 46;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 63;" f translateFloatingCameraKeys src/Dodge/Update/Camera.hs 63;" f
translateH src/Picture/Base.hs 112;" f translateH src/Picture/Base.hs 112;" f
translatePointToHead src/Dodge/Creature/HandPos.hs 194;" f translatePointToHead src/Dodge/Creature/HandPos.hs 114;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 116;" f translatePointToLeftHand src/Dodge/Creature/HandPos.hs 64;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 25;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 24;" f
translateSH src/Shape.hs 245;" f translateSH src/Shape.hs 245;" f
translateSHxy src/Shape.hs 249;" f translateSHxy src/Shape.hs 249;" f
translateSHz src/Shape.hs 253;" f translateSHz src/Shape.hs 253;" f
@@ -5393,14 +5401,14 @@ translateSP src/ShapePicture.hs 53;" f
translateSPxy src/ShapePicture.hs 45;" f translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f translateSPz src/ShapePicture.hs 49;" f
translateScreenPos src/Dodge/ScreenPos.hs 12;" f translateScreenPos src/Dodge/ScreenPos.hs 12;" f
translateToChest src/Dodge/Creature/HandPos.hs 204;" f translateToChest src/Dodge/Creature/HandPos.hs 120;" f
translateToHead src/Dodge/Creature/HandPos.hs 184;" f translateToHead src/Dodge/Creature/HandPos.hs 105;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 129;" f translateToLeftHand src/Dodge/Creature/HandPos.hs 67;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 162;" f translateToLeftLeg src/Dodge/Creature/HandPos.hs 87;" f
translateToLeftWrist src/Dodge/Creature/HandPos.hs 145;" f translateToLeftWrist src/Dodge/Creature/HandPos.hs 70;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 60;" f translateToRightHand src/Dodge/Creature/HandPos.hs 42;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 173;" f translateToRightLeg src/Dodge/Creature/HandPos.hs 102;" f
translateToRightWrist src/Dodge/Creature/HandPos.hs 79;" f translateToRightWrist src/Dodge/Creature/HandPos.hs 45;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 24;" f trapezionBWHW src/Geometry/Polygon.hs 24;" f
@@ -5489,8 +5497,8 @@ updateCloud src/Dodge/Update.hs 826;" f
updateClouds src/Dodge/Update.hs 698;" f updateClouds src/Dodge/Update.hs 698;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f
updateCombineSections src/Dodge/DisplayInventory.hs 44;" f updateCombineSections src/Dodge/DisplayInventory.hs 44;" f
updateCreature src/Dodge/Creature/Update.hs 31;" f updateCreature src/Dodge/Creature/Update.hs 30;" f
updateCreature' src/Dodge/Creature/Update.hs 41;" f updateCreature' src/Dodge/Creature/Update.hs 38;" f
updateCreatureGroups src/Dodge/Update.hs 566;" f updateCreatureGroups src/Dodge/Update.hs 566;" f
updateCreatureSoundPositions src/Dodge/Update.hs 542;" f updateCreatureSoundPositions src/Dodge/Update.hs 542;" f
updateDebris src/Dodge/Update.hs 601;" f updateDebris src/Dodge/Update.hs 601;" f
@@ -5545,7 +5553,7 @@ updatePastWorlds src/Dodge/Update.hs 441;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updateProjectile src/Dodge/Projectile/Update.hs 28;" f updateProjectile src/Dodge/Projectile/Update.hs 28;" f
updateProp src/Dodge/Prop/Update.hs 11;" f updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 144;" f updatePulse src/Dodge/Creature/Update.hs 135;" f
updatePulseBall src/Dodge/Update.hs 467;" f updatePulseBall src/Dodge/Update.hs 467;" f
updatePulseLaser src/Dodge/Update.hs 641;" f updatePulseLaser src/Dodge/Update.hs 641;" f
updatePulseLasers src/Dodge/Update.hs 462;" f updatePulseLasers src/Dodge/Update.hs 462;" f
@@ -5586,7 +5594,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f
updateWheelEvents src/Dodge/Update.hs 431;" f updateWheelEvents src/Dodge/Update.hs 431;" f
updateWorldEventFlag src/Dodge/Update.hs 125;" f updateWorldEventFlag src/Dodge/Update.hs 125;" f
updateWorldEventFlags src/Dodge/Update.hs 113;" f updateWorldEventFlags src/Dodge/Update.hs 113;" f
upperBody src/Dodge/Creature/Picture.hs 130;" f upperBody src/Dodge/Creature/Picture.hs 126;" f
upperBox src/Shape.hs 156;" f upperBox src/Shape.hs 156;" f
upperBoxHalf src/Shape.hs 222;" f upperBoxHalf src/Shape.hs 222;" f
upperBoxMT src/Shape.hs 147;" f upperBoxMT src/Shape.hs 147;" f
@@ -5605,21 +5613,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 113;" f useBulletPayload src/Dodge/Bullet.hs 113;" f
useGasParams src/Dodge/HeldUse.hs 1145;" f useGasParams src/Dodge/HeldUse.hs 1142;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1460;" f useInventoryPath src/Dodge/HeldUse.hs 1457;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 736;" f useLoadedAmmo src/Dodge/HeldUse.hs 733;" f
useMagShield src/Dodge/Euse.hs 27;" f useMagShield src/Dodge/Euse.hs 27;" 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 1420;" f useRewindGun src/Dodge/HeldUse.hs 1417;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1401;" f useStopWatch src/Dodge/HeldUse.hs 1398;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1409;" f useTimeScrollGun src/Dodge/HeldUse.hs 1406;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
@@ -5642,7 +5650,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 343;" f vgunMuzzles src/Dodge/HeldUse.hs 334;" f
viewBoundaries src/Dodge/Debug/Picture.hs 309;" f viewBoundaries src/Dodge/Debug/Picture.hs 309;" f
viewClipBounds src/Dodge/Debug/Picture.hs 318;" f viewClipBounds src/Dodge/Debug/Picture.hs 318;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 187;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 187;" f
@@ -5653,7 +5661,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 369;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 369;" f
walkNozzle src/Dodge/HeldUse.hs 801;" f walkNozzle src/Dodge/HeldUse.hs 798;" f
walkableNodeNear src/Dodge/Path.hs 48;" f walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -5662,7 +5670,7 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 172;" f wallToSurface src/Dodge/Base/Collide.hs 172;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1454;" f warmupSound src/Dodge/HeldUse.hs 1451;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f wasdDir src/Dodge/WASD.hs 17;" f