Make optical scope relative to camera rotation

This commit is contained in:
2024-09-21 16:52:04 +01:00
parent 9dff2fcd7a
commit 27e07a10c4
11 changed files with 200 additions and 832 deletions
+5 -1
View File
@@ -1 +1,5 @@
All good (617 modules, at 16:01:23)
/home/justin/Haskell/loop/src/Dodge/Update/Camera.hs:215:5-18: warning: [-Wunused-local-binds]
Defined but not used: rotateanyscope
|
215 | rotateanyscope = fromMaybe id $ do
| ^^^^^^^^^^^^^^
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -6
View File
@@ -1,6 +1,6 @@
module Dodge.Base.You
(you
, yourScopeInvID
-- , yourScopeInvID
, yourInv
, yourScrollAttachment
, yourItem
@@ -30,11 +30,11 @@ yourScrollAttachment w = do
guard (canHeldScrollAttach itm atparams)
return (i - 1, atparams)
yourScopeInvID :: World -> Maybe Int
yourScopeInvID w = do
(i, params) <- yourScrollAttachment w
_ <- params ^? opticPos
return i
--yourScopeInvID :: World -> Maybe Int
--yourScopeInvID w = do
-- (i, params) <- yourScrollAttachment w
-- _ <- params ^? opticPos
-- return i
yourInv :: World -> IM.IntMap Item
yourInv = _crInv . you
+1 -1
View File
@@ -104,7 +104,7 @@ data HeldMod
| ExplodeRemoteShellMod
| DoNothingMod
-- | ForceFieldMod
| DetectorMod Detector
-- | DetectorMod Detector
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Euse
+9 -1
View File
@@ -12,8 +12,16 @@ import Geometry.Data
data Scope
= NoScope
| RemoteScope
| OpticScope
{ -- | a camera offset
_opticPos :: Point2 -- this should be relative to the camera rotation
-- this means that when the camera rotates when firing etc,
-- this doesn't need to be changed
, _opticZoom :: Float
, _opticDefaultZoom :: Float
}
| RemoteScope
{ -- | a camera offset, note unlike the optic pos this is absolute
_remotePos :: Point2
, _remoteZoom :: Float
}
+9 -9
View File
@@ -121,15 +121,15 @@ data AmmoParams = BulletParams {_ampBullet :: Bullet}
deriving (Eq, Show, Read) --Generic, Flat)
data ScrollAttachParams
= ZoomScrollParams
{ -- | a camera offset
_opticPos :: Point2 -- this should be relative to the camera rotation
-- then when the camera rotates when firing etc,
-- this doesn't need to be changed
, _opticZoom :: Float
, _opticDefaultZoom :: Float
}
| CharScrollParams
= -- ZoomScrollParams
-- { -- | a camera offset
-- _opticPos :: Point2 -- this should be relative to the camera rotation
-- -- then when the camera rotates when firing etc,
-- -- this doesn't need to be changed
-- , _opticZoom :: Float
-- , _opticDefaultZoom :: Float
-- }
CharScrollParams
{ _scrollChar :: Seq.Seq Char}
deriving (Eq, Show, Read) --Generic, Flat)
+5 -644
View File
@@ -10,7 +10,7 @@ import Dodge.Inventory.Lock
import Dodge.WorldEvent.Cloud
import Dodge.LightSource
import qualified SDL
import Dodge.Base.You
--import Dodge.Base.You
import Dodge.Data.MuzzleEffect
import ListHelp
import Dodge.Data.ComposedItem
@@ -43,313 +43,11 @@ import Sound.Data
heldEffect :: HeldMod -> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
heldEffect effecttype = case effecttype of
-- HeldModNothing -> const $ const id
-- PoisonSprayerMod -> gasEffect
-- [ useAmmoAmount 1
-- , withSoundForI foamSprayLoopS 5
-- , ammoCheckI
-- ]
-- FlameSpitterMod -> gasEffect
-- [ withSidePushAfterI 20
-- , withSidePushI 5
-- , useAmmoAmount 1
-- , withRandomItemParams f
-- , repeatOnFrames [1 .. 9] FlameSpitterRepeatMod
-- , lockInvFor 10
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- FlameSpitterRepeatMod -> gasEffect
-- [ withSidePushAfterI 20
-- , withSidePushI 5
-- , useAmmoAmount 1
-- , withRandomItemParams f
-- , ammoCheckI
-- ]
-- FlameThrowerMod -> gasEffect
-- [ withSidePushAfterI 20
-- , --, withTempLight 1 100 (V3 1 0 0)
-- withSidePushI 5
-- , useAmmoAmount 1
-- , ammoCheckI
-- ]
-- LauncherMod -> foldl' (&) usePjCreation
-- --[ useAmmoAmount 1
---- , withSoundStart tap4S
-- [ useTimeCheck
---- , ammoCheckI
-- , blCheck
-- ]
-- TeslaMod -> foldl' (&) (shootTeslaArc . _ldtValue)
-- [ useAmmoAmount 1
-- , withSoundForI elecCrackleS 1
-- , withTempLight 1 100 (V3 0 0 1)
-- , ammoCheckI
-- ]
-- LasWideMod n -> foldl' (&) (shootLaser . _ldtValue)
-- [ useAmmoAmount 1
-- , withItem $ \it ->
-- duplicateNumBarrels
---- ( min
---- (it ^?! itUse . heldConsumption . laSource . _InternalSource . iaLoaded)
-- (it ^?! itParams . lasCycle `div` lasWideRate)
---- )
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
-- , withSoundForI tone440sawtoothquietS 2
-- , withItemUpdateFirst (increasecycleLasWide n)
-- , ammoCheckI
-- ]
-- DualBeamMod -> foldl' (&) (shootDualLaser . _ldtValue)
-- [ useAmmoAmount 1
-- , withSoundForI tone440sawtoothquietS 2
-- , withItem $ \it -> withCrPosShift (V2 0 (- thegapDualBeam it)) $ flareCircleAt (_lasColor2 $ _itParams it) 0.8
-- , withItem $ \it -> withCrPosShift (V2 0 (thegapDualBeam it)) $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , ammoCheckI
-- ]
-- LasMod -> foldl' (&) (shootLaser . _ldtValue)
-- [ useAmmoAmount 1
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , withSoundForI tone440sawtoothquietS 2
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
-- , duplicateLoadedBarrels
-- , ammoCheckI
-- ]
-- LauncherXMod _ -> foldl' (&) usePjCreationX
-- --[ useAmmoAmount i
-- --, withSoundStart tap4S
-- [ useTimeCheck
-- --, ammoCheckI
-- , blCheck
-- ]
-- ShatterMod -> foldl' (&) (shootShatter . _ldtValue)
-- [ useAmmoAmount 1
-- , -- , withSoundStart tap3S
-- useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- BangCaneMod -> bulletGunEffect
-- [ withFlare
-- , withSmoke 1 black 20 200 5
-- , withRecoil
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- VolleyGunMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundItemChoiceStart caneStickSoundChoice
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- MultiGunMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundItemChoiceStart caneStickSoundChoice
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- AutoRifleMod -> bulletGunEffect
-- -- note this is the same as BangCanemMod with the first changed
-- [ withFlare
-- , withSmoke 1 black 20 200 5
-- , withRecoil
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BangRodMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- ElephantGunMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- AutoAmrMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI -- cf ElephantGun
-- ]
-- MachineGunMod -> bulletGunEffect
-- [ withFlare
-- , withThinSmokeI
-- , withSoundStart bangEchoS
-- , rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
-- , ammoCheckI
-- ]
-- BangStickMod -> bulletGunEffect
-- [ withRecoil
-- , useAllAmmo
-- , withSoundItemChoiceStart bangStickSoundChoice
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , withFlare
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
PistolMod -> bulGunEffect
-- AutoPistolMod -> bulletGunEffect
-- [ withFlare
-- , withSidePushI 50
-- , withRecoil
-- , withTorqueAfter
-- , duplicateLoadedBarrels
-- , withSoundStart tap3S
-- , useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- MachinePistolMod -> bulletGunEffect
-- [ withFlare
-- , withRecoil
-- , withSidePushI 50
-- , withTorqueAfter
-- , duplicateLoadedBarrels
-- , withSoundStart tap1S
-- , useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BurstRifleMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , repeatOnFrames [3, 6] BurstRifleRepeatMod
-- , lockInvFor 7
-- , sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- BurstRifleRepeatMod -> bulletGunEffect
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
-- , ammoCheckI
-- ]
-- MiniGunMod i -> bulletGunEffect
-- [ duplicateNumBarrels 1
-- , repeatTransformed
-- [ (id, modcrpos x)
-- | x <- map ((/ (fromIntegral i - 1)) . fromIntegral) [0 .. i -1]
-- ]
-- , afterRecoil (fromIntegral i * 5)
-- , torqueBefore (fromIntegral i * 0.05)
-- , withSidePushI (fromIntegral i * 25)
-- , withMuzFlare
-- , withSmoke 1 black 20 200 5
-- , useAmmoAmount i
-- , withSoundForI mini1S 2
-- , withWarmUp crankSlowS
-- , ammoCheckI
-- ]
-- SmgMod -> bulletGunEffect
-- [ withFlare
-- , withSidePushI 30
-- , withRecoil
-- , withTorqueAfter
-- , duplicateLoadedBarrels
-- , withSoundStart tap3S
-- , useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BangConeMod -> bulletGunEffect
-- [ withRandomItem coneRandItemParams
-- , withRandomItemUpdate coneRandItemUpdate
-- , withRandomOffset
-- , duplicateLoadedBarrels
-- , duplicateLoaded
-- , withMuzFlare
-- , withRecoil
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- TractorMod -> foldl' (&) (aTractorBeam . _ldtValue) [ammoCheckI]
FireRemoteShellMod -> undefined
ExplodeRemoteShellMod -> undefined
DoNothingMod -> const $ const id
-- ForceFieldMod -> undefined
DetectorMod _ -> undefined
where
-- f = do
-- nzpres <- state $ randomR (3, 4)
-- return $ sprayNozzles . ix 0 . nzPressure .~ nzpres
-- increasecycleLasWide n it = case _heldHammer (_itUse it) of
-- HammerUp -> it & itParams . lasCycle .~ 1
-- _ -> it & itParams . lasCycle %~ (min (n * lasWideRate) . (+ 1))
-- thegapDualBeam = _dbGap . _itParams
--directedTelPos _ cr w = (p, a)
-- where
-- p = fromMaybe (_crPos cr) $ cr ^? crTargeting . ctPos . _Just
-- a = argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- p)
-- modcrpos x cr = fromMaybe cr $ do
-- invid <- cr ^? crManipulation . manObject . inInventory . ispItem
-- return $ cr & crDir %~ tweenAngles x (_crOldDir cr)
-- & crPos %~ alongSegBy x (_crOldPos cr)
-- & crInv . ix (invid + 1) . itUse . amagParams . ampBullet . buDelayFraction .~ x
--gasEffect :: [(LabelDoubleTree ComposeLinkType Item
-- -> Creature -> World -> World)
-- -> LabelDoubleTree ComposeLinkType Item
-- -> Creature
-- -> World
-- -> World]
-- -> LabelDoubleTree ComposeLinkType Item
-- -> Creature
-- -> World
-- -> World
--gasEffect = foldl' (&) (overNozzles useGasParams)
bulGunEffect :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
bulGunEffect = hammerCheck $ useTimeCheck bulGunEffect'
@@ -420,7 +118,7 @@ applyTorqueCME :: Item -> Creature -> World -> World
applyTorqueCME itm cr w
| cid == 0 = w
& wCam . camRot +~ rot
& rotateScope
-- & rotateScope
& randGen .~ g
| otherwise = w
& cWorld . lWorld . creatures . ix cid . crDir +~ rot
@@ -429,9 +127,9 @@ applyTorqueCME itm cr w
cid = _crID cr
(rot, g) = randomR (- torque, torque) $ _randGen w
torque = fromMaybe 0 $ itm ^? itUse . heldParams . torqueAfter
rotateScope = fromMaybe id $ do
i <- yourScopeInvID w
return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
-- rotateScope = fromMaybe id $ do
-- i <- yourScopeInvID w
-- return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
-- (Muzzle,Int,Int) = (muzzle, amountloaded, id of mag taken from)
@@ -600,343 +298,6 @@ makeBullet thebullet itm cr mz w =
Just x | x /= 0 -> fst . randomR (-x,x) $ _randGen w
_ -> 0
--bulletGunEffect :: [(LabelDoubleTree ComposeLinkType Item
-- -> Creature -> World -> World)
-- -> LabelDoubleTree ComposeLinkType Item
-- -> Creature
-- -> World
-- -> World]
-- -> LabelDoubleTree ComposeLinkType Item
-- -> Creature
-- -> World
-- -> World
--bulletGunEffect = foldl' (&) shootBullet
useMod :: HeldMod ->
[(LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World)
-> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World]
useMod hm = case hm of
-- TractorMod -> undefined
FireRemoteShellMod -> undefined
ExplodeRemoteShellMod -> undefined
DoNothingMod -> undefined
-- ForceFieldMod -> undefined
DetectorMod _ -> undefined
-- HeldModNothing -> []
-- PoisonSprayerMod ->
-- [ useAmmoAmount 1
-- , withSoundForI foamSprayLoopS 5
-- , ammoCheckI
-- ]
-- FlameSpitterMod ->
-- [ withSidePushAfterI 20
-- , withSidePushI 5
-- , useAmmoAmount 1
-- , withRandomItemParams f
-- , repeatOnFrames [1 .. 9] FlameSpitterRepeatMod
-- , lockInvFor 10
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- FlameSpitterRepeatMod ->
-- [ withSidePushAfterI 20
-- , withSidePushI 5
-- , useAmmoAmount 1
-- , withRandomItemParams f
-- , ammoCheckI
-- ]
-- FlameThrowerMod ->
-- [ withSidePushAfterI 20
-- , --, withTempLight 1 100 (V3 1 0 0)
-- withSidePushI 5
-- , useAmmoAmount 1
-- , ammoCheckI
-- ]
-- LauncherMod ->
-- --[ useAmmoAmount 1
---- , withSoundStart tap4S
-- [ useTimeCheck
---- , ammoCheckI
-- , blCheck
-- ]
-- TeslaMod ->
-- [ useAmmoAmount 1
-- , withSoundForI elecCrackleS 1
-- , withTempLight 1 100 (V3 0 0 1)
-- , ammoCheckI
-- ]
-- CircleLaserMod ->
-- [ duplicateItem fLasCircle
-- , useAmmoAmount 1
-- , withSoundForI tone440sawtoothquietS 2
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
-- , withItemUpdateFirst increasecycleLasCircle
-- , ammoCheckI
-- ]
-- LasWideMod n ->
-- [ useAmmoAmount 1
-- , withItem $ \it ->
-- duplicateNumBarrels
---- ( min
---- (it ^?! itUse . heldConsumption . laSource . _InternalSource . iaLoaded)
-- (it ^?! itParams . lasCycle `div` lasWideRate)
---- )
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
-- , withSoundForI tone440sawtoothquietS 2
-- , withItemUpdateFirst (increasecycleLasWide n)
-- , ammoCheckI
-- ]
-- DualBeamMod ->
-- [ useAmmoAmount 1
-- , withSoundForI tone440sawtoothquietS 2
-- , withItem $ \it -> withCrPosShift (V2 0 (- thegapDualBeam it)) $ flareCircleAt (_lasColor2 $ _itParams it) 0.8
-- , withItem $ \it -> withCrPosShift (V2 0 (thegapDualBeam it)) $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , ammoCheckI
-- ]
-- LasMod ->
-- [ useAmmoAmount 1
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
-- , withSoundForI tone440sawtoothquietS 2
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
-- , duplicateLoadedBarrels
-- , ammoCheckI
-- ]
-- LauncherXMod _ ->
-- --[ useAmmoAmount i
-- --, withSoundStart tap4S
-- [ useTimeCheck
-- --, ammoCheckI
-- , blCheck
-- ]
-- ShatterMod ->
-- [ useAmmoAmount 1
-- , -- , withSoundStart tap3S
-- useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- AmmoCheckMod -> [ammoCheckI]
-- AmmoUseCheckMod -> [useAmmoAmount 1, useTimeCheck, ammoCheckI]
-- AmmoHammerTimeUseOneMod ->
-- [ useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- BangCaneMod ->
-- [ withFlare
-- , withSmoke 1 black 20 200 5
-- , withRecoil
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- VolleyGunMod ->
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundItemChoiceStart caneStickSoundChoice
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- MultiGunMod ->
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundItemChoiceStart caneStickSoundChoice
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- AutoRifleMod ->
-- -- note this is the same as BangCanemMod with the first changed
-- [ withFlare
-- , withSmoke 1 black 20 200 5
-- , withRecoil
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BangRodMod ->
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- ElephantGunMod ->
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- AutoAmrMod ->
-- [ withRecoil
-- , withFlare
-- , withThickSmokeI
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , useAmmoAmount 1
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI -- cf ElephantGun
-- ]
-- MachineGunMod ->
-- [ withFlare
-- , withThinSmokeI
-- , withSoundStart bangEchoS
-- , rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
-- , ammoCheckI
-- ]
-- ModWithDirectedTeleport hm' ->
-- reverse $ withPosDirWallCheck directedTelPos : useMod hm'
-- BangStickMod ->
-- [ withRecoil
-- , useAllAmmo
-- , withSoundItemChoiceStart bangStickSoundChoice
-- , duplicateLoadedBarrels
-- , withTorqueAfter
-- , withFlare
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
PistolMod ->
[ withSidePushI 50
, withRecoil
, withFlare
, withTorqueAfter
, duplicateLoadedBarrels
, withSoundStart tap3S
, useAmmoAmount 1
, useTimeCheck
, ammoCheckI
, blCheck
]
-- MachinePistolMod ->
-- [ withFlare
-- , withRecoil
-- , withSidePushI 50
-- , withTorqueAfter
-- , duplicateLoadedBarrels
-- , withSoundStart tap1S
-- , useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BurstRifleMod ->
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , repeatOnFrames [3, 6] BurstRifleRepeatMod
-- , lockInvFor 7
-- , sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
-- BurstRifleRepeatMod ->
-- [ withRecoil
-- , withFlare
-- , duplicateLoadedBarrels
-- , useAmmoAmount 1
-- , withSoundStart tap3S
-- , sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
-- , ammoCheckI
-- ]
-- MiniGunMod i ->
-- [ duplicateNumBarrels 1
-- , repeatTransformed
-- [ (id, modcrpos x)
-- | x <- map ((/ (fromIntegral i - 1)) . fromIntegral) [0 .. i -1]
-- ]
-- , afterRecoil (fromIntegral i * 5)
-- , torqueBefore (fromIntegral i * 0.05)
-- , withSidePushI (fromIntegral i * 25)
-- , withMuzFlare
-- , withSmoke 1 black 20 200 5
-- , useAmmoAmount i
-- , withSoundForI mini1S 2
-- , withWarmUp crankSlowS
-- , ammoCheckI
-- ]
-- SmgMod ->
-- [ withFlare
-- , withSidePushI 30
-- , withRecoil
-- , withTorqueAfter
-- , duplicateLoadedBarrels
-- , withSoundStart tap3S
-- , useAmmoAmount 1
-- , useTimeCheck
-- , ammoCheckI
-- ]
-- BangConeMod ->
-- [ withRandomItem coneRandItemParams
-- , withRandomItemUpdate coneRandItemUpdate
-- , withRandomOffset
-- , duplicateLoadedBarrels
-- , duplicateLoaded
-- , withMuzFlare
-- , withRecoil
-- , withTorqueAfter
-- , useAllAmmo
-- , withSoundStart bangEchoS
-- , useTimeCheck
-- , ammoCheckI
-- , blCheck
-- ]
where
-- f = do
-- nzpres <- state $ randomR (3, 4)
-- return $ sprayNozzles . ix 0 . nzPressure .~ nzpres
--increasecycleLasCircle it = it & itParams . lasCycle %~ (flip mod 2000 . (+ 1))
----f it = [it & itParams . lasCycle +~ x | x <- [0,100 .. 1900] ]
--fLasCircle it = [it & itParams . lasCycle +~ x | x <- [0, 50 .. 1999]]
-- increasecycleLasWide n it = case _heldHammer (_itUse it) of
-- HammerUp -> it & itParams . lasCycle .~ 1
-- _ -> it & itParams . lasCycle %~ (min (n * lasWideRate) . (+ 1))
-- thegapDualBeam = _dbGap . _itParams
--directedTelPos _ cr w = (p, a)
-- where
-- p = fromMaybe (_crPos cr) $ cr ^? crTargeting . ctPos . _Just
-- a = argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- p)
-- modcrpos x cr = fromMaybe cr $ do
-- invid <- cr ^? crManipulation . manObject . inInventory . ispItem
-- return $ cr & crDir %~ tweenAngles x (_crOldDir cr)
-- & crPos %~ alongSegBy x (_crOldPos cr)
-- & crInv . ix (invid + 1) . itUse . amagParams . ampBullet . buDelayFraction .~ x
lasWideRate :: Int
lasWideRate = 2
mcUseHeld :: HeldItemType -> Item -> Machine -> World -> World
mcUseHeld hit = case hit of
LASGUN -> mcShootLaser
+2 -1
View File
@@ -12,7 +12,8 @@ zoomScope :: Item
zoomScope =
defaultHeldItem
& itType . iyBase .~ ATTACH (SCROLLATTACH ZOOMSCOPE)
& itUse .~ AttachUse (ScrollAttachParams (ZoomScrollParams{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}))
-- & itUse .~ AttachUse (ScrollAttachParams (ZoomScrollParams{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}))
& itScope .~ OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}
targetingScope :: TargetType -> Item
targetingScope tt =
+82 -82
View File
@@ -19,10 +19,10 @@ module Dodge.Item.Weapon.TriggerType (
withItemUpdate,
withItemUpdateFirst,
-- rateIncAB,
torqueBefore,
torqueBeforeAtLeast,
withTorqueAfter,
torqueSideEffect,
-- torqueBefore,
-- torqueBeforeAtLeast,
-- withTorqueAfter,
-- torqueSideEffect,
withRandomItemParams,
withRandomItem,
withRandomItemUpdate,
@@ -582,76 +582,76 @@ withRandomOffset f item cr w = f item (cr & crPos %~ (+.+ offV)) $ set randGen g
offV = rotateV (_crDir cr) (V2 0 offsetVal)
offsetAmount = fromMaybe 0 $ item ^? ldtValue . itUse . heldParams . randomOffset
-- | Rotates a creature
torqueBefore ::
-- | Max possible rotation
Float ->
ChainEffect
torqueBefore torque feff item cr w
| cid == 0 =
feff item (cr & crDir +~ rot) $
w
& randGen .~ g
& cWorld . lWorld . creatures . ix cid . crDir +~ rot
& wCam . camRot +~ rot
& rotateScope
| otherwise = feff item cr $ set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) w
where
cid = _crID cr
(rot, g) = randomR (- torque, torque) $ _randGen w
rotateScope = fromMaybe id $ do
i <- yourScopeInvID w
return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
---- | Rotates a creature
--torqueBefore ::
-- -- | Max possible rotation
-- Float ->
-- ChainEffect
--torqueBefore torque feff item cr w
-- | cid == 0 =
-- feff item (cr & crDir +~ rot) $
-- w
-- & randGen .~ g
-- & cWorld . lWorld . creatures . ix cid . crDir +~ rot
-- & wCam . camRot +~ rot
-- & rotateScope
-- | otherwise = feff item cr $ set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) w
-- where
-- cid = _crID cr
-- (rot, g) = randomR (- torque, torque) $ _randGen w
-- rotateScope = fromMaybe id $ do
-- i <- yourScopeInvID w
-- return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
{- | Rotates a creature with minimum rotation
Rotates the player creature before applying the effect, other creatures after.
-}
torqueBeforeAtLeast ::
-- | Minimal possible rotation
Float ->
-- | Extra possible rotation
Float ->
ChainEffect
torqueBeforeAtLeast minTorque exTorque feff item cr w
| cid == 0 =
feff item (cr & crDir +~ rot') $
w
& randGen .~ g
& cWorld . lWorld . creatures . ix cid . crDir +~ rot'
& wCam . camRot +~ rot'
& rotateScope
| otherwise = feff item cr $ set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot') w
where
cid = _crID cr
(rot, g) = randomR (- exTorque, exTorque) $ _randGen w
rot'
| rot < 0 = rot - minTorque
| otherwise = rot + minTorque
rotateScope = fromMaybe id $ do
i <- yourScopeInvID w
return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
--{- | Rotates a creature with minimum rotation
-- Rotates the player creature before applying the effect, other creatures after.
---}
--torqueBeforeAtLeast ::
-- -- | Minimal possible rotation
-- Float ->
-- -- | Extra possible rotation
-- Float ->
-- ChainEffect
--torqueBeforeAtLeast minTorque exTorque feff item cr w
-- | cid == 0 =
-- feff item (cr & crDir +~ rot') $
-- w
-- & randGen .~ g
-- & cWorld . lWorld . creatures . ix cid . crDir +~ rot'
-- & wCam . camRot +~ rot'
-- & rotateScope
-- | otherwise = feff item cr $ set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot') w
-- where
-- cid = _crID cr
-- (rot, g) = randomR (- exTorque, exTorque) $ _randGen w
-- rot'
-- | rot < 0 = rot - minTorque
-- | otherwise = rot + minTorque
-- rotateScope = fromMaybe id $ do
-- i <- yourScopeInvID w
-- return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
-- | Rotate a randomly creature after applying an effect.
withTorqueAfter :: ChainEffect
withTorqueAfter feff item cr w
-- | cid == 0 = rotateScope . set randGen g $ over (wCam . camRot) (+ rot) $ feff item cr w
-- | otherwise = set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) $ feff item cr w
| cid == 0 = w
& feff item cr
& wCam . camRot +~ rot
& rotateScope
& randGen .~ g
| otherwise = w
& cWorld . lWorld . creatures . ix cid . crDir +~ rot
& randGen .~ g
where
cid = _crID cr
(rot, g) = randomR (- torque, torque) $ _randGen w
torque = fromMaybe 0 $ item ^? ldtValue . itUse . heldParams . torqueAfter
rotateScope = fromMaybe id $ do
i <- yourScopeInvID w
return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
-- rotateScope = pointerYourItem . itScope . scopePos %~ rotateV rot
---- | Rotate a randomly creature after applying an effect.
--withTorqueAfter :: ChainEffect
--withTorqueAfter feff item cr w
---- | cid == 0 = rotateScope . set randGen g $ over (wCam . camRot) (+ rot) $ feff item cr w
---- | otherwise = set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) $ feff item cr w
-- | cid == 0 = w
-- & feff item cr
-- & wCam . camRot +~ rot
-- & rotateScope
-- & randGen .~ g
-- | otherwise = w
-- & cWorld . lWorld . creatures . ix cid . crDir +~ rot
-- & randGen .~ g
-- where
-- cid = _crID cr
-- (rot, g) = randomR (- torque, torque) $ _randGen w
-- torque = fromMaybe 0 $ item ^? ldtValue . itUse . heldParams . torqueAfter
-- rotateScope = fromMaybe id $ do
-- i <- yourScopeInvID w
-- return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
---- rotateScope = pointerYourItem . itScope . scopePos %~ rotateV rot
sideEffectOnFrame ::
Int ->
@@ -661,16 +661,16 @@ sideEffectOnFrame i sf f it cr w =
f it cr w
& cWorld . lWorld . delayedEvents .:~ (i, sf (_ldtValue it) cr)
torqueSideEffect :: Float -> Item -> Creature -> World -> World
torqueSideEffect torque _ cr w
| cid == 0 = set randGen g . rotateScope $ over (wCam . camRot) (+ rot) w
| otherwise = set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) w
where
cid = _crID cr
(rot, g) = randomR (- torque, torque) $ _randGen w
rotateScope = fromMaybe id $ do
i <- yourScopeInvID w
return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
--torqueSideEffect :: Float -> Item -> Creature -> World -> World
--torqueSideEffect torque _ cr w
-- | cid == 0 = set randGen g . rotateScope $ over (wCam . camRot) (+ rot) w
-- | otherwise = set randGen g $ over (cWorld . lWorld . creatures . ix cid . crDir) (+ rot) w
-- where
-- cid = _crID cr
-- (rot, g) = randomR (- torque, torque) $ _randGen w
-- rotateScope = fromMaybe id $ do
-- i <- yourScopeInvID w
-- return $ cWorld . lWorld . creatures . ix cid . crInv . ix i . itUse . attachParams . scrollAttachParams . opticPos %~ rotateV rot
-- pump the updated creature into the chain in later frames
repeatOnFrames :: [Int] -> HeldMod -> ChainEffect
+17 -15
View File
@@ -94,19 +94,21 @@ moveZoomCamera cfig theinput cr campos =
mscopeoffset = do
guard (SDL.ButtonRight `M.member` _mouseButtons theinput)
i <- cr ^? crManipulation . manObject . inInventory . ispItem
(cr ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams . opticPos)
--(cr ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams . opticPos)
(fmap (rotateV camrot) (cr ^? crInv . ix i . itScope . opticPos))
<|> (cr ^? crInv . ix i . itScope . remotePos)
camrot = campos ^. camRot
newcen = _crPos cr +.+ fromMaybe (V2 0 0) mscopeoffset +.+ offset
offset =
rotateV (campos ^. camRot) $
((newzoom - newDefaultZoom) / (newDefaultZoom * newzoom)) *.* _mousePos theinput
newzoom = fromMaybe (newDefaultZoom * newItemZoom) $ do
i <- cr ^? crManipulation . manObject . inInventory . ispItem
(cr ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams . opticZoom)
(cr ^? crInv . ix i . itScope . opticZoom)
idealDefaultZoom = clipZoom wallZoom
newDefaultZoom = fromMaybe (changeZoom (campos ^. camDefaultZoom) idealDefaultZoom) $ do
i <- cr ^? crManipulation . manObject . inInventory . ispItem
(cr ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams . opticZoom)
(cr ^? crInv . ix i . itScope . opticZoom)
idealItemZoom = fromMaybe 1 $ do
guard $ crIsAiming cr
i <- cr ^? crManipulation . manObject . inInventory . ispItem
@@ -130,7 +132,8 @@ moveZoomCamera cfig theinput cr campos =
-- is wanted
updateScopeZoom :: World -> World
updateScopeZoom w = fromMaybe w $ do
i <- yourScopeInvID w
--i <- yourScopeInvID w
i <- you w ^? crManipulation . manObject . inInventory . ispItem
return $ updateScopeZoom' i w
updateScopeZoom' :: Int -> World -> World
@@ -139,12 +142,13 @@ updateScopeZoom' i w
w & wppointer %~ doScopeZoom (w ^. input . smoothScrollAmount) mp
| otherwise = w & wppointer %~ resetscope
where
wppointer = cWorld . lWorld . creatures . ix 0 . crInv . ix i . itUse . attachParams . scrollAttachParams
resetscope (ZoomScrollParams _ _ defz) = ZoomScrollParams (V2 0 0) defz defz
wppointer = cWorld . lWorld . creatures . ix 0 . crInv . ix i . itScope
resetscope (OpticScope _ _ defz) = OpticScope (V2 0 0) defz defz
resetscope otherAtt = otherAtt
mp = rotateV (w ^. wCam . camRot) $ _mousePos (_input w)
--mp = rotateV (w ^. wCam . camRot) $ _mousePos (_input w)
mp = _mousePos (_input w)
doScopeZoom :: Int -> Point2 -> ScrollAttachParams -> ScrollAttachParams
doScopeZoom :: Int -> Point2 -> Scope -> Scope
doScopeZoom scrollamount mp sc = case scrollamount of
x
| x > 10 -> (zoomInLongGun mp . zoomInLongGun mp . zoomInLongGun mp) sc
@@ -158,7 +162,7 @@ doScopeZoom scrollamount mp sc = case scrollamount of
zoomSpeed :: Float
zoomSpeed = 39 / 40
zoomInLongGun :: Point2 -> ScrollAttachParams -> ScrollAttachParams
zoomInLongGun :: Point2 -> Scope -> Scope
zoomInLongGun mousep sc = fromMaybe sc $ do
curzoom <- sc ^? opticZoom
guard $ curzoom < 8
@@ -166,7 +170,7 @@ zoomInLongGun mousep sc = fromMaybe sc $ do
sc & opticPos .+.+~ (1 - zoomSpeed) * zoomSpeed / curzoom *.* mousep
& opticZoom %~ (/ zoomSpeed)
zoomOutLongGun :: ScrollAttachParams -> ScrollAttachParams
zoomOutLongGun :: Scope -> Scope
zoomOutLongGun sc = fromMaybe sc $ do
curzoom <- sc ^? opticZoom
guard $ curzoom > 0.5
@@ -206,15 +210,13 @@ rotateCameraBy :: Float -> World -> World
rotateCameraBy x w =
w
& wCam . camRot +~ x
& cWorld %~ rotateanyscope
-- & cWorld %~ rotateanyscope
where
rotateanyscope = fromMaybe id $ do
i <- w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . inInventory . ispItem
return $
lWorld . creatures . ix 0 . crInv . ix (i - 1)
. itUse
. attachParams
. scrollAttachParams
lWorld . creatures . ix 0 . crInv . ix i
. itScope
. opticPos
%~ rotateV x
+63 -71
View File
@@ -686,7 +686,6 @@ DestroyItem src/Dodge/Data/Scenario.hs 7;" C
DestroyTLS src/Dodge/Data/LightSource.hs 22;" C
Detector src/Dodge/Combine/Data.hs 224;" t
Detector src/Dodge/Data/Item/Combine.hs 224;" t
DetectorMod src/Dodge/Data/Item/HeldUse.hs 107;" C
Dirt src/Dodge/Data/Material.hs 11;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t
Display src/Dodge/Item/Display.hs 1;" m
@@ -1837,6 +1836,7 @@ OnwardCluster src/Dodge/RoomCluster/Data.hs 12;" C
OnwardList src/Dodge/Annotation/Data.hs 15;" C
Opacity src/Dodge/Data/Wall.hs 38;" t
Opaque src/Dodge/Data/Wall.hs 42;" C
OpticScope src/Dodge/Data/Item/Scope.hs 15;" C
Option src/Dodge/Menu/Option.hs 1;" m
OptionScreen src/Dodge/Data/Universe.hs 78;" C
OptionScreenFlag src/Dodge/Data/Universe.hs 68;" t
@@ -2152,7 +2152,7 @@ ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t
Reloading src/Dodge/Reloading.hs 1;" m
Remote src/Dodge/Item/Weapon/Remote.hs 1;" m
RemoteScope src/Dodge/Data/Item/Attachment.hs 23;" C
RemoteScope src/Dodge/Data/Item/Scope.hs 15;" C
RemoteScope src/Dodge/Data/Item/Scope.hs 23;" C
RemoteScope src/Dodge/Item/Attachment/Data.hs 26;" C
RemoveCreatureEndo src/Dodge/RemoveCreatureEndo.hs 3;" m
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
@@ -2937,7 +2937,6 @@ Zoning src/Dodge/Zoning.hs 1;" m
ZoomScope src/Dodge/Data/Item/Attachment.hs 30;" C
ZoomScope src/Dodge/Item/Attachment/Data.hs 31;" C
ZoomScope src/Dodge/Item/Weapon/ZoomScope.hs 1;" m
ZoomScrollParams src/Dodge/Data/Item/Use.hs 124;" C
__Just' src/MaybeHelp.hs 13;" f
_actAction src/Dodge/Data/ActionPlan.hs 81;" f
_actLabel src/Dodge/Data/ActionPlan.hs 80;" f
@@ -3707,9 +3706,9 @@ _opPlacement src/Dodge/Data/GenWorld.hs 129;" f
_opPlacementID src/Dodge/Data/GenWorld.hs 130;" f
_opSel src/Dodge/Data/RightButtonOptions.hs 15;" f
_opTexture src/Dodge/Data/Wall.hs 42;" f
_opticDefaultZoom src/Dodge/Data/Item/Use.hs 130;" f
_opticPos src/Dodge/Data/Item/Use.hs 126;" f
_opticZoom src/Dodge/Data/Item/Use.hs 129;" f
_opticDefaultZoom src/Dodge/Data/Item/Scope.hs 21;" f
_opticPos src/Dodge/Data/Item/Scope.hs 17;" f
_opticZoom src/Dodge/Data/Item/Scope.hs 20;" f
_paramMID src/Dodge/Data/Item/Params.hs 59;" f
_partialAction src/Dodge/Data/ActionPlan.hs 145;" f
_pastWorlds src/Dodge/Data/World.hs 38;" f
@@ -3884,8 +3883,8 @@ _rboBaseBloom src/Data/Preload/Render.hs 38;" f
_recoil src/Dodge/Data/Item/Use.hs 79;" f
_recoil src/Dodge/Data/Item/Use.hs 96;" f
_reloadAction src/Dodge/Data/LoadAction.hs 26;" f
_remotePos src/Dodge/Data/Item/Scope.hs 17;" f
_remoteZoom src/Dodge/Data/Item/Scope.hs 18;" f
_remotePos src/Dodge/Data/Item/Scope.hs 25;" f
_remoteZoom src/Dodge/Data/Item/Scope.hs 26;" f
_renderData src/Data/Preload.hs 11;" f
_reverseAmount src/Dodge/Data/World.hs 63;" f
_reverseAmount src/Dodge/Data/World.hs 69;" f
@@ -4434,24 +4433,24 @@ anyTargeting src/Dodge/Render/ShapePicture.hs 70;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 242;" f
appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f
applyCME src/Dodge/HeldUse.hs 375;" f
applyCME src/Dodge/HeldUse.hs 73;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f
applyEventIO src/Loop.hs 89;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 385;" f
applyInvLock src/Dodge/HeldUse.hs 83;" f
applyMagnetsToBul src/Dodge/Bullet.hs 46;" f
applyModules src/Dodge/Combine/Module.hs 52;" f
applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 173;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
applyPosition src/Sound.hs 110;" f
applyRecoil src/Dodge/HeldUse.hs 402;" f
applyRecoil src/Dodge/HeldUse.hs 100;" f
applyResFactor src/Dodge/Data/Config.hs 108;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 78;" f
applySidePush src/Dodge/HeldUse.hs 409;" f
applySoundCME src/Dodge/HeldUse.hs 393;" f
applySidePush src/Dodge/HeldUse.hs 107;" f
applySoundCME src/Dodge/HeldUse.hs 91;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 27;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 39;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 21;" f
@@ -4466,7 +4465,7 @@ applyToSubforest src/Dodge/Tree/Polymorphic.hs 66;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 419;" f
applyTorqueCME src/Dodge/HeldUse.hs 117;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
arc src/Picture/Base.hs 287;" f
@@ -4537,7 +4536,7 @@ bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 478;" f
bangStick src/Dodge/Item/Held/Stick.hs 17;" f
bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f
bangStickSoundChoice src/Dodge/HeldUse.hs 1093;" f
bangStickSoundChoice src/Dodge/HeldUse.hs 454;" f
bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
@@ -4574,7 +4573,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 50;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 466;" f
basicMuzFlare src/Dodge/HeldUse.hs 164;" f
basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f
basicTerminal src/Dodge/Terminal.hs 32;" f
battery src/Dodge/Item/Ammo.hs 76;" f
@@ -4651,8 +4650,8 @@ bufferPokedVBO src/Shader/Bind.hs 18;" f
bufferShaderLayers src/Shader/Bind.hs 35;" f
bulDamageCr src/Dodge/Particle/Bullet/DestroyDamage.hs 21;" f
bulDamageWall src/Dodge/Particle/Bullet/DestroyDamage.hs 30;" f
bulGunEffect src/Dodge/HeldUse.hs 354;" f
bulGunEffect' src/Dodge/HeldUse.hs 357;" f
bulGunEffect src/Dodge/HeldUse.hs 52;" f
bulGunEffect' src/Dodge/HeldUse.hs 55;" f
bulSelTweak src/Dodge/TweakBullet.hs 15;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 83;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f
@@ -4673,7 +4672,7 @@ canAttachTargeting src/Dodge/Item/Display.hs 19;" f
canHeldScrollAttach src/Dodge/HeldScroll.hs 75;" f
canSee src/Dodge/Base/Collide.hs 228;" f
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f
caneStickSoundChoice src/Dodge/HeldUse.hs 1088;" f
caneStickSoundChoice src/Dodge/HeldUse.hs 449;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
cardinalVectors src/Dodge/FloorItem.hs 39;" f
@@ -4756,7 +4755,7 @@ clickDetector src/Dodge/Item/Held/Utility.hs 53;" f
clickGetCreature src/Dodge/Debug.hs 82;" f
clickSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 236;" f
clipZoom src/Dodge/Update/Camera.hs 238;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 12;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 7;" f
@@ -5217,7 +5216,7 @@ doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doFloorEffect src/Dodge/ItEffect.hs 21;" f
doGenFloat src/Dodge/HeldUse.hs 1056;" f
doGenFloat src/Dodge/HeldUse.hs 417;" f
doHeldScroll src/Dodge/HeldScroll.hs 17;" f
doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f
@@ -5248,7 +5247,7 @@ doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Camera.hs 147;" f
doScopeZoom src/Dodge/Update/Camera.hs 151;" f
doSideEffects appDodge/Main.hs 117;" f
doStep src/Dodge/ArcStep.hs 9;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f
@@ -5263,13 +5262,13 @@ doTimeScroll src/Dodge/Update.hs 185;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 109;" f
doTweak src/Dodge/Tweak.hs 6;" f
doWallRotate src/Dodge/Update/Camera.hs 194;" f
doWallRotate src/Dodge/Update/Camera.hs 198;" f
doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 8;" f
doWdWd src/Dodge/WorldEffect.hs 26;" f
doWeaponRepetitions src/Dodge/HeldUse.hs 367;" f
doWeaponRepetitions src/Dodge/HeldUse.hs 65;" f
doWindowScale src/Dodge/Base/WinScale.hs 11;" f
doWindowScale src/Dodge/WinScale.hs 10;" f
doWorldEvents src/Dodge/Update.hs 307;" f
@@ -5488,12 +5487,12 @@ fadeTLS src/Dodge/LightSource/Update.hs 14;" f
fallSmallBounce src/Dodge/Prop/Moving.hs 28;" f
fallSmallBounce' src/Dodge/Prop/Moving.hs 33;" f
fallSmallBounceDamage src/Dodge/Prop/Moving.hs 11;" f
farWallDistDirection src/Dodge/Update/Camera.hs 247;" f
farWallDistDirection src/Dodge/Update/Camera.hs 249;" f
feet src/Dodge/Creature/Picture.hs 51;" f
ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f
findBlips src/Dodge/RadarSweep.hs 43;" f
findBoundDists src/Dodge/Update/Camera.hs 256;" f
findBoundDists src/Dodge/Update/Camera.hs 258;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 84;" f
@@ -5504,7 +5503,7 @@ findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f
findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f
findWithIx src/ListHelp.hs 123;" f
fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f
fireRemoteShell src/Dodge/HeldUse.hs 1060;" f
fireRemoteShell src/Dodge/HeldUse.hs 421;" f
fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
fireShell src/Dodge/Projectile/Create.hs 58;" f
fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
@@ -5607,7 +5606,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 131;" f
gameplayMenuOptions src/Dodge/Menu.hs 134;" f
gasCreate src/Dodge/HeldUse.hs 1052;" f
gasCreate src/Dodge/HeldUse.hs 413;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -5618,7 +5617,7 @@ geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAmmoMagazine src/Dodge/HeldUse.hs 1022;" f
getAmmoMagazine src/Dodge/HeldUse.hs 383;" f
getArguments src/Dodge/Update/Scroll.hs 147;" f
getArguments' src/Dodge/Update/Scroll.hs 135;" f
getAvailableListLines src/Dodge/SelectionList.hs 11;" f
@@ -5768,7 +5767,7 @@ iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f
iShape src/Dodge/Placements/LightSource.hs 32;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 11;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 18;" f
ifConfigWallRotate src/Dodge/Update/Camera.hs 177;" f
ifConfigWallRotate src/Dodge/Update/Camera.hs 181;" f
impulsiveAIBefore src/Dodge/Creature/Impulse.hs 22;" f
impulsiveAIR src/Dodge/Creature/Rationality.hs 24;" f
inCloseRegex src/Dodge/InputFocus.hs 99;" f
@@ -5871,7 +5870,7 @@ invertIntMap src/Multiset.hs 61;" f
invertInventoryToMap src/Dodge/Combine.hs 25;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 487;" f
isAmmoIntLink src/Dodge/HeldUse.hs 185;" f
isAnimate src/Dodge/Creature/Test.hs 138;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f
@@ -5909,7 +5908,7 @@ itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f
itemBlips src/Dodge/RadarSweep.hs 74;" f
itemCombinations src/Dodge/Combine/Combinations.hs 54;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 55;" f
itemDetectorEffect src/Dodge/HeldUse.hs 506;" f
itemDetectorEffect src/Dodge/HeldUse.hs 204;" f
itemDisplay src/Dodge/Item/Display.hs 33;" f
itemDisplayPad src/Dodge/Item/Display.hs 45;" f
itemEffect src/Dodge/Creature/Action/UseItem.hs 28;" f
@@ -5991,7 +5990,6 @@ lasTunnel src/Dodge/Room/LasTurret.hs 124;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
lasTurret src/Dodge/Placements/Turret.hs 29;" f
lasWideRate src/Dodge/HeldUse.hs 937;" f
lastMap src/Dodge/DoubleTree.hs 65;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
latchkey src/Dodge/Item/PassKey.hs 14;" f
@@ -6057,7 +6055,7 @@ loadEject src/Dodge/Reloading/Action.hs 12;" f
loadInsert src/Dodge/Reloading/Action.hs 6;" f
loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
loadMuzzle src/Dodge/HeldUse.hs 438;" f
loadMuzzle src/Dodge/HeldUse.hs 136;" f
loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f
loadPrime src/Dodge/Reloading/Action.hs 15;" f
loadSaveSlot src/Dodge/Save.hs 74;" f
@@ -6114,7 +6112,7 @@ makeArc src/Picture/Base.hs 157;" f
makeBlip src/Dodge/RadarSweep.hs 50;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 578;" f
makeBullet src/Dodge/HeldUse.hs 276;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 137;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f
@@ -6144,8 +6142,8 @@ makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 33;" f
makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f
makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 450;" f
makeMuzzleSmoke src/Dodge/HeldUse.hs 473;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 148;" f
makeMuzzleSmoke src/Dodge/HeldUse.hs 171;" f
makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
@@ -6208,10 +6206,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f
mcSPic src/Dodge/Render/ShapePicture.hs 169;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f
mcShootLaser src/Dodge/HeldUse.hs 1108;" f
mcShootLaser src/Dodge/HeldUse.hs 469;" f
mcTriggerVal src/Dodge/Machine/Update.hs 75;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f
mcUseHeld src/Dodge/HeldUse.hs 940;" f
mcUseHeld src/Dodge/HeldUse.hs 301;" f
mcUseItem src/Dodge/Machine/Update.hs 61;" f
medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 71;" f
@@ -6851,7 +6849,7 @@ remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f
remoteLauncher src/Dodge/Item/Held/Launcher.hs 66;" f
remoteShellCollisionCheck src/Dodge/Projectile/Update.hs 42;" f
remoteShellShape src/Dodge/Projectile/Draw.hs 39;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 561;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 259;" f
removeEither src/Dodge/Layout/Tree/Either.hs 41;" f
removeHotkey src/Dodge/Hotkey.hs 41;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
@@ -6919,7 +6917,7 @@ rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f
rmSelectedInvItem src/Dodge/Inventory.hs 160;" f
rocketHomer src/Dodge/Item/Ammo.hs 109;" f
rocketRemoteScreen src/Dodge/Item/Scope.hs 23;" f
rocketRemoteScreen src/Dodge/Item/Scope.hs 24;" f
roomC src/Dodge/Room/Room.hs 39;" f
roomCCrits src/Dodge/Room/Room.hs 262;" f
roomCenterPillar src/Dodge/Room/Room.hs 121;" f
@@ -6954,8 +6952,8 @@ rotate3x src/Geometry/Vector3D.hs 60;" f
rotate3y src/Geometry/Vector3D.hs 66;" f
rotate3z src/Geometry/Vector3D.hs 54;" f
rotateActionProgress src/Dodge/Reloading.hs 87;" f
rotateCamera src/Dodge/Update/Camera.hs 221;" f
rotateCameraBy src/Dodge/Update/Camera.hs 205;" f
rotateCamera src/Dodge/Update/Camera.hs 223;" f
rotateCameraBy src/Dodge/Update/Camera.hs 209;" f
rotateCameraMinusKey src/Dodge/Config/KeyConfig.hs 30;" f
rotateCameraPlusKey src/Dodge/Config/KeyConfig.hs 29;" f
rotateProp src/Dodge/LightSources/Lamp.hs 111;" f
@@ -6965,7 +6963,7 @@ rotateSHq src/Shape.hs 162;" f
rotateSHx src/Shape.hs 261;" f
rotateSP src/ShapePicture.hs 57;" f
rotateTo src/Polyhedra/Geodesic.hs 63;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 183;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 187;" f
rotateToZ src/Quaternion.hs 31;" f
rotateV src/Geometry/Vector.hs 105;" f
rotateVAround src/Geometry/Vector.hs 112;" f
@@ -7101,7 +7099,7 @@ setTile src/Dodge/Layout.hs 68;" f
setTiles src/Dodge/Layout.hs 65;" f
setToggle src/Dodge/LightSources/Lamp.hs 115;" f
setToggle src/Dodge/Prop/Update.hs 46;" f
setViewDistance src/Dodge/Update/Camera.hs 242;" f
setViewDistance src/Dodge/Update/Camera.hs 244;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 61;" f
setViewport src/Dodge/Render.hs 385;" f
setVol src/Dodge/Config/Update.hs 30;" f
@@ -7165,7 +7163,7 @@ shootBangCone src/Dodge/HeldUse/BulletWeapon.hs 98;" f
shootBangRod src/Dodge/HeldUse/BulletWeapon.hs 185;" f
shootBangstick src/Dodge/HeldUse/BulletWeapon.hs 9;" f
shootBezier src/Dodge/Item/Weapon/Bezier.hs 51;" f
shootBullet src/Dodge/HeldUse.hs 566;" f
shootBullet src/Dodge/HeldUse.hs 264;" f
shootBurstRifle src/Dodge/HeldUse/BulletWeapon.hs 164;" f
shootBurstRifleRepeat src/Dodge/HeldUse/BulletWeapon.hs 176;" f
shootDualLaser src/Dodge/Item/Weapon/BatteryGuns.hs 103;" f
@@ -7176,7 +7174,7 @@ shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f
shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 428;" f
shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 77;" f
shootLaser' src/Dodge/HeldUse.hs 544;" f
shootLaser' src/Dodge/HeldUse.hs 242;" f
shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f
shootMachinePistol src/Dodge/HeldUse/BulletWeapon.hs 62;" f
shootMiniGun src/Dodge/HeldUse/BulletWeapon.hs 113;" f
@@ -7187,9 +7185,9 @@ shootRevolverXRepeat src/Dodge/HeldUse/BulletWeapon.hs 49;" f
shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f
shootTeslaArc src/Dodge/HeldUse.hs 1117;" f
shootTeslaArc src/Dodge/HeldUse.hs 478;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 522;" f
shootTractorBeam src/Dodge/HeldUse.hs 220;" f
shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f
shootersRoom src/Dodge/Room/Room.hs 317;" f
shootersRoom' src/Dodge/Room/Room.hs 282;" f
@@ -7446,7 +7444,7 @@ targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 194;" f
targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f
targetingHat src/Dodge/Item/Equipment.hs 111;" f
targetingInfo src/Dodge/Item/Info.hs 141;" f
targetingScope src/Dodge/Item/Scope.hs 17;" f
targetingScope src/Dodge/Item/Scope.hs 18;" f
telRoomLev src/Dodge/Room/Teleport.hs 14;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f
teleSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
@@ -7540,15 +7538,12 @@ topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 203;" f
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 586;" f
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 609;" f
torqueCr src/Dodge/WorldEffect.hs 70;" f
torqueSideEffect src/Dodge/Item/Weapon/TriggerType.hs 664;" f
torso src/Dodge/Creature/Picture.hs 132;" f
tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 160;" f
tractorBeamAt' src/Dodge/HeldUse.hs 533;" f
tractorBeamAt' src/Dodge/HeldUse.hs 231;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 80;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 485;" f
tractorGunTweak src/Dodge/Item/Held/BatteryGuns.hs 98;" f
@@ -7686,7 +7681,7 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBeams src/Dodge/Update.hs 457;" f
updateBounds src/Dodge/Update/Camera.hs 264;" f
updateBounds src/Dodge/Update/Camera.hs 266;" f
updateBulVel src/Dodge/Bullet.hs 50;" f
updateBullet src/Dodge/Bullet.hs 28;" f
updateBullets src/Dodge/Update.hs 425;" f
@@ -7758,8 +7753,8 @@ updateRadarSweep src/Dodge/RadarSweep.hs 24;" f
updateRadarSweeps src/Dodge/Update.hs 445;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 105;" f
updateScopeZoom src/Dodge/Update/Camera.hs 131;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 136;" f
updateScopeZoom src/Dodge/Update/Camera.hs 133;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 139;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 186;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 165;" f
@@ -7820,9 +7815,9 @@ useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useC src/Dodge/Cuse.hs 6;" f
useE src/Dodge/Euse.hs 24;" f
useEquipment src/Dodge/Creature/State.hs 222;" f
useForceFieldGun src/Dodge/HeldUse.hs 1130;" f
useGasParams src/Dodge/HeldUse.hs 1031;" f
useHeld src/Dodge/HeldUse.hs 945;" f
useForceFieldGun src/Dodge/HeldUse.hs 491;" f
useGasParams src/Dodge/HeldUse.hs 392;" f
useHeld src/Dodge/HeldUse.hs 306;" f
useHotKey src/Dodge/Creature/YourControl.hs 49;" f
useItem src/Dodge/Creature/Action/UseItem.hs 14;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f
@@ -7831,13 +7826,12 @@ useItemRightClick src/Dodge/Creature/Impulse/UseItem.hs 25;" f
useL src/Dodge/Luse.hs 13;" f
useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 491;" f
useLoadedAmmo src/Dodge/HeldUse.hs 189;" f
useMagShield src/Dodge/Euse.hs 69;" f
useMod src/Dodge/HeldUse.hs 615;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 7;" f
usePjCreation src/Dodge/HeldUse.hs 964;" f
usePjCreationX src/Dodge/HeldUse.hs 973;" f
usePjCreation src/Dodge/HeldUse.hs 325;" f
usePjCreationX src/Dodge/HeldUse.hs 334;" f
useRewindGun src/Dodge/Luse.hs 41;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
@@ -7882,7 +7876,7 @@ volleyGun src/Dodge/Item/Held/Cane.hs 32;" f
volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 373;" f
waistSP src/Dodge/Creature/HandPos.hs 199;" f
walkNozzle src/Dodge/HeldUse.hs 511;" f
walkNozzle src/Dodge/HeldUse.hs 209;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f
wallBlips src/Dodge/RadarSweep.hs 79;" f
@@ -7969,7 +7963,6 @@ withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 243;" f
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 465;" f
withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 134;" f
withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 125;" f
withTorqueAfter src/Dodge/Item/Weapon/TriggerType.hs 635;" f
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 206;" f
wlDustAt src/Dodge/Wall/Dust.hs 10;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
@@ -8020,7 +8013,6 @@ yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f
yourInfo src/Dodge/Creature/Info.hs 8;" f
yourInv src/Dodge/Base/You.hs 39;" f
yourItem src/Dodge/Base/You.hs 20;" f
yourScopeInvID src/Dodge/Base/You.hs 33;" f
yourScrollAttachment src/Dodge/Base/You.hs 25;" f
yourStatsInfo src/Dodge/Creature/Info.hs 25;" f
zConnect src/Dodge/Render/Connectors.hs 13;" f
@@ -8069,10 +8061,10 @@ zoneps src/Dodge/LevelGen/MoveDoor.hs 26;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 89;" f
zonesExtract src/Dodge/Zoning/Base.hs 54;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 65;" f
zoomFromItem src/Dodge/Update/Camera.hs 230;" f
zoomFromItem src/Dodge/Update/Camera.hs 232;" f
zoomInKey src/Dodge/Config/KeyConfig.hs 31;" f
zoomInLongGun src/Dodge/Update/Camera.hs 161;" f
zoomInLongGun src/Dodge/Update/Camera.hs 165;" f
zoomOutKey src/Dodge/Config/KeyConfig.hs 32;" f
zoomOutLongGun src/Dodge/Update/Camera.hs 169;" f
zoomOutLongGun src/Dodge/Update/Camera.hs 173;" f
zoomScope src/Dodge/Item/Scope.hs 11;" f
zoomSpeed src/Dodge/Update/Camera.hs 158;" f
zoomSpeed src/Dodge/Update/Camera.hs 162;" f