diff --git a/ghcidOutput b/ghcidOutput index 487d10c83..4365a136c 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (620 modules, at 10:38:24) +All good (620 modules, at 13:53:54) diff --git a/src/Dodge/Data/Item/HeldUse.hs b/src/Dodge/Data/Item/HeldUse.hs index fd2f598b0..952329b51 100644 --- a/src/Dodge/Data/Item/HeldUse.hs +++ b/src/Dodge/Data/Item/HeldUse.hs @@ -15,7 +15,7 @@ import Control.Lens data Huse = HeldDoNothing -- | HeldFireRemoteShell - | HeldExplodeRemoteShell Int Int +-- | HeldExplodeRemoteShell Int Int | HeldDetectorEffect Detector | HeldForceField -- | HeldShatter diff --git a/src/Dodge/Data/Item/Use/Consumption/Ammo.hs b/src/Dodge/Data/Item/Use/Consumption/Ammo.hs index ad31f2703..62b253e16 100644 --- a/src/Dodge/Data/Item/Use/Consumption/Ammo.hs +++ b/src/Dodge/Data/Item/Use/Consumption/Ammo.hs @@ -25,14 +25,14 @@ data ProjectileUpdate = PJThrust {_pjuStart :: Int, _pjuEnd :: Int} | PJSpin {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int} -- | PJTrack {_pjuStart :: Int, _pjuEnd :: Int, _pjuScreenID :: Int} - | PJRemoteSetDirection {_pjuStart :: Int, _pjuEnd :: Int, _pjuScreenID :: Int} + | PJRemoteSetDirection {_pjuStart :: Int, _pjuEnd :: Int, _pjuControllerID :: Maybe Int} | PJReduceSpin {_pjuReduceSpin :: Float} -- | PJRemoteDirection {_pjuStart :: Int, _pjuEnd :: Int, _pjuCID :: Int, _pjuITID :: Int} -- | PJSetScope {_pjuITID :: Int} - | PJRetireRemote {_pjuItID :: Int, _pjuTimer :: Int, _pjuPJID :: Int} + | PJRetireRemote {_pjuScreenID :: Maybe Int, _pjuTimer :: Int, _pjuPJID :: Int} | PJDecTimMvVel - | PJShellCollisionCheck - | PJRemoteShellCollisionCheck {_pjuScreenID :: Int} +-- | PJShellCollisionCheck + | PJRemoteShellCollisionCheck {_pjuScreenID :: Maybe Int} -- | PJRemoteShellExplosion deriving (Show, Eq, Ord, Read) --Generic, Flat) diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 4b87fcf6e..f7979088b 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -24,7 +24,7 @@ import Dodge.Creature.HandPos import Dodge.Data.World import Dodge.Gas import Dodge.Item.Weapon.BatteryGuns -import Dodge.Item.Weapon.Launcher +--import Dodge.Item.Weapon.Launcher import Dodge.Item.Weapon.Radar import Dodge.Item.Weapon.Shatter import Dodge.Item.Weapon.TriggerType @@ -323,7 +323,7 @@ useHeld hu = case hu of -- HeldSonicWave -> aSonicWave HeldForceField -> useForceFieldGun . _ldtValue -- HeldShatter -> shootShatter . _ldtValue - HeldExplodeRemoteShell itid pjid -> const $ const $ explodeRemoteRocket itid pjid +-- HeldExplodeRemoteShell itid pjid -> const $ const $ explodeRemoteRocket itid pjid --usePjCreation :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World --usePjCreation itm cr = fromMaybe id $ do @@ -507,13 +507,13 @@ createProjectile magtree muz itm cr = fromMaybe failsound $ do -- matype <- ammoitem ^? itUse . amagType -- guard $ matype == ProjectileAmmo j <- ammoitem ^? itLocation . ilInvID + return $ fireTrackingShell (mscreen ^? _Just . ldtValue) ammoitem muz itm cr . extrafuncs j -- pt <- ammoitem ^? itUse . amagParams . ampPjCreation - return $ case mscreen of - Nothing -> fireShell ammoitem muz itm cr . extrafuncs j - Just stree -> fireTrackingShell - (stree ^. ldtValue . itID) - (stree ^?! ldtValue . itLocation . ilInvID) ammoitem muz itm cr - . extrafuncs j +-- return $ case mscreen of +-- Nothing -> fireShell ammoitem muz itm cr . extrafuncs j +-- Just stree -> fireTrackingShell +-- (stree ^? ldtValue) ammoitem muz itm cr +-- . extrafuncs j where --extrafuncs j = cancelanyreloading . startthesound . useammo j extrafuncs j = startthesound . useammo j diff --git a/src/Dodge/Item/Weapon/Launcher.hs b/src/Dodge/Item/Weapon/Launcher.hs index 912e15453..52aa3b66b 100644 --- a/src/Dodge/Item/Weapon/Launcher.hs +++ b/src/Dodge/Item/Weapon/Launcher.hs @@ -2,6 +2,7 @@ module Dodge.Item.Weapon.Launcher ( explodeRemoteRocket, ) where +import Dodge.SoundLogic import Control.Lens import Dodge.Data.World --import Dodge.Item.Location @@ -9,18 +10,19 @@ import Dodge.Payload explodeRemoteRocket :: -- | Item id - Int -> + Maybe Int -> -- | Projectile id Int -> World -> World -explodeRemoteRocket itid pjid w = +explodeRemoteRocket mitid pjid w = w - & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote itid 30 pjid] + & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote mitid 30 pjid] & cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile -- & itPoint . itUse . heldUse .~ HeldDoNothing -- & itPoint . itUse . heldMods .~ DoNothingMod & usePayload (_prjPayload thepj) (_prjPos thepj) + & stopSoundFrom (ShellSound pjid) where -- itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid thepj = w ^?! cWorld . lWorld . projectiles . ix pjid diff --git a/src/Dodge/Projectile/Create.hs b/src/Dodge/Projectile/Create.hs index a3e2d49cb..2649d9e9e 100644 --- a/src/Dodge/Projectile/Create.hs +++ b/src/Dodge/Projectile/Create.hs @@ -20,9 +20,10 @@ fireShell ammoitem muz it cr = ammoitem muz cr - [ PJShellCollisionCheck + [ PJRemoteShellCollisionCheck Nothing , PJDecTimMvVel , PJSpin 335 (_crID cr) spinamount + , PJRemoteSetDirection (350 - thrustdelay) 0 Nothing , PJThrust (350 - thrustdelay) 0 , PJReduceSpin (1 - fromIntegral spindrag * 2 / 200) ] @@ -32,6 +33,7 @@ fireShell ammoitem muz it cr = spinamount = _shellSpinAmount params thrustdelay = _shellThrustDelay params +-- rather than screen invid why not use an item location? makeShell :: Maybe Int -> Item -> Muzzle -> Creature -> [ProjectileUpdate] -> World -> World makeShell mscreeninvid ammoitem muz cr theupdate w = fromMaybe w $ do aparams <- ammoitem ^? itUse . amagParams @@ -64,16 +66,17 @@ makeShell mscreeninvid ammoitem muz cr theupdate w = fromMaybe w $ do --am = _heldConsumption $ _itUse it -fireTrackingShell :: Int -> Int -> Item -> Muzzle -> Item -> Creature -> World -> World -fireTrackingShell screenid screeninvid ammoitem muz it cr = makeShell - (Just screeninvid) +-- assumes the mscreen is in your inventory +fireTrackingShell :: Maybe Item -> Item -> Muzzle -> Item -> Creature -> World -> World +fireTrackingShell mscreen ammoitem muz it cr = makeShell + (mscreen ^? _Just . itLocation . ilInvID) -- Just screeninvid) ammoitem muz cr - [ PJRemoteShellCollisionCheck screenid + [ PJRemoteShellCollisionCheck (mscreen ^? _Just . itID) --Just screenid) , PJDecTimMvVel , PJSpin 335 (_crID cr) spinamount - , PJRemoteSetDirection (350 - thrustdelay) 0 screenid + , PJRemoteSetDirection (350 - thrustdelay) 0 (mscreen ^? _Just . itID) , PJThrust (350 - thrustdelay) 0 , PJReduceSpin (1 - fromIntegral spindrag * 2 / 200) ] diff --git a/src/Dodge/Projectile/Update.hs b/src/Dodge/Projectile/Update.hs index 1d47cfed6..1075bb75e 100644 --- a/src/Dodge/Projectile/Update.hs +++ b/src/Dodge/Projectile/Update.hs @@ -39,22 +39,23 @@ shellCollisionCheck doExplode pj w vel = _prjVel pj newPos = oldPos +.+ vel -remoteShellCollisionCheck :: Int -> Proj -> World -> World -remoteShellCollisionCheck screenid = shellCollisionCheck $ \pj -> explodeRemoteRocket screenid (_prjID pj) +remoteShellCollisionCheck :: Maybe Int -> Proj -> World -> World +remoteShellCollisionCheck mscreenid = shellCollisionCheck + $ \pj -> explodeRemoteRocket mscreenid (_prjID pj) -plainShellCollisionCheck :: Proj -> World -> World -plainShellCollisionCheck = shellCollisionCheck $ \pj -> - usePayload (_prjPayload pj) (_prjPos pj) - . stopSoundFrom (ShellSound (_prjID pj)) - . (cWorld . lWorld . projectiles %~ IM.delete (_prjID pj)) +--plainShellCollisionCheck :: Proj -> World -> World +--plainShellCollisionCheck = shellCollisionCheck $ \pj -> +-- usePayload (_prjPayload pj) (_prjPos pj) +-- . stopSoundFrom (ShellSound (_prjID pj)) +-- . (cWorld . lWorld . projectiles %~ IM.delete (_prjID pj)) upsProjectile :: Proj -> World -> World upsProjectile pj w' = foldr (`upProjectile` pj) w' (_prjUpdates pj) upProjectile :: ProjectileUpdate -> Proj -> World -> World upProjectile pu pj = case pu of - PJRemoteShellCollisionCheck screenid -> remoteShellCollisionCheck screenid pj - PJShellCollisionCheck -> plainShellCollisionCheck pj + PJRemoteShellCollisionCheck mscreenid -> remoteShellCollisionCheck mscreenid pj +-- PJShellCollisionCheck -> plainShellCollisionCheck pj PJDecTimMvVel -> decTimMvVel pj PJThrust st et | act st et -> doThrust pj @@ -62,15 +63,15 @@ upProjectile pu pj = case pu of PJSpin t cid spinamount | ain t -> trySpinByCID cid spinamount pj | otherwise -> id - PJRemoteSetDirection st et screenid - | act st et -> pjRemoteSetDirection screenid pj + PJRemoteSetDirection st et mscreenid + | act st et -> pjRemoteSetDirection mscreenid pj | otherwise -> id PJReduceSpin x -> reduceSpinBy x pj -- PJRemoteDirection st et cid itid -- | act st et -> setRemoteDir cid itid pj -- | otherwise -> id -- PJSetScope itid -> setRemoteScope itid (_prjPos pj) - PJRetireRemote itid 0 pjid -> retireRemoteProj itid pjid + PJRetireRemote mitid 0 pjid -> retireRemoteProj mitid pjid -- the following requires that this is at the top of the update list, which is -- not ideal PJRetireRemote _ _ pjid -> cWorld . lWorld . projectiles . ix pjid . prjUpdates . ix 0 . pjuTimer -~ 1 @@ -79,40 +80,17 @@ upProjectile pu pj = case pu of act st et = time <= st && time >= et ain t = time == t -retireRemoteProj :: Int -> Int -> World -> World -retireRemoteProj itid pjid w = w & cWorld . lWorld . projectiles %~ IM.delete pjid +retireRemoteProj :: Maybe Int -> Int -> World -> World +retireRemoteProj mitid pjid w = w & cWorld . lWorld . projectiles %~ IM.delete pjid & removelink where removelink = fromMaybe id $ do + itid <- mitid loc <- w ^? cWorld . lWorld . itemLocations . ix itid itm <- w ^? pointerToItemLocation loc . itUse . atLinkedProjectile . _Just guard $ itm == pjid - --return $ pointerToItemLocation . itUse . atLinkedProjectile .~ Nothing return $ pointerToItemLocation loc . itUse . atLinkedProjectile .~ Nothing - ---retireRemoteProj :: Int -> Int -> World -> World ---retireRemoteProj itid pjid w = --- w --- & pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix itid) --- %~ ( (itScope . remotePos .~ V2 0 0) --- . (itUse . heldUse .~ HeldFireRemoteShell) --- . (itUse . heldMods .~ FireRemoteShellMod) --- ) --- & cWorld . lWorld . props %~ IM.delete pjid - ---setRemoteDir :: Int -> Int -> Proj -> World -> World ---setRemoteDir cid itid pj w = w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc .~ turntonewdir --- where --- turntonewdir = magV (_prjAcc pj) *.* unitVectorAtAngle newdir --- --i = _prjID pj --- newdir --- | SDL.ButtonRight `M.member` _mouseButtons (_input w) --- && w ^? cWorld . lWorld . creatures . ix cid . crManipulation . manObject . imSelectedItem --- == w ^? cWorld . lWorld . itemLocations . ix itid . ilInvID --- = (w ^. wCam . camRot) + argV (_mousePos (_input w)) --- | otherwise = _prjDir pj - doThrust :: Proj -> World -> World doThrust pj w = w @@ -166,17 +144,16 @@ trySpinByCID cid i pj w = w & cWorld . lWorld . projectiles . ix pjid . prjSpin -- --itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid -- note this only allows YOU to remotely track projectiles -pjRemoteSetDirection :: Int -> Proj -> World -> World -pjRemoteSetDirection screenid pj w = w - & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc .~ turntonewdir - where - turntonewdir = magV (_prjAcc pj) *.* unitVectorAtAngle newdir - --i = _prjID pj - newdir - | w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . imSelectedItem - == w ^? cWorld . lWorld . itemLocations . ix screenid . ilInvID - = (w ^. wCam . camRot) + argV (_mousePos (_input w)) - | otherwise = _prjDir pj +pjRemoteSetDirection :: Maybe Int -> Proj -> World -> World +pjRemoteSetDirection mscreenid pj w = fromMaybe w $ do + screenid <- mscreenid + let newdir + | w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . imSelectedItem + == w ^? cWorld . lWorld . itemLocations . ix screenid . ilInvID + = (w ^. wCam . camRot) + argV (_mousePos (_input w)) + | otherwise = _prjDir pj + turntonewdir = magV (_prjAcc pj) *.* unitVectorAtAngle newdir + return $ w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc .~ turntonewdir --pjTrack :: Int -> Proj -> World -> World --pjTrack screenid pj w = w-- rotateToTarget pj w diff --git a/src/Dodge/SelectUse.hs b/src/Dodge/SelectUse.hs index d7b036836..cb23a6c5b 100644 --- a/src/Dodge/SelectUse.hs +++ b/src/Dodge/SelectUse.hs @@ -14,7 +14,7 @@ selectUse ittree _ w = fromMaybe w $ do pjid <- ittree ^? ldtValue . itUse . atLinkedProjectile . _Just thepj <- w ^? cWorld . lWorld . projectiles . ix pjid return $ w - & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote itid 30 pjid] -- 69 is placeholder, should be removed + & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote (Just itid) 30 pjid] -- 69 is placeholder, should be removed & cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile -- & itPoint . itUse . heldUse .~ HeldDoNothing -- & itPoint . itUse . heldMods .~ DoNothingMod diff --git a/tags b/tags index 7b146f0cd..a6da1f34e 100644 --- a/tags +++ b/tags @@ -16,7 +16,7 @@ <$> src/Dodge/Data/ActionPlan.hs 203;" o <$> src/Dodge/Data/CWorld.hs 49;" o <$> src/Dodge/Data/CamPos.hs 26;" o -<$> src/Dodge/Data/Camera.hs 32;" o +<$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 109;" o <$> src/Dodge/Data/LWorld.hs 160;" o <$> src/Dodge/Data/Terminal.hs 129;" o @@ -85,7 +85,7 @@ AmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 1;" m AmmoPosition src/Dodge/Item/AmmoPosition.hs 8;" t AmmoPosition src/Dodge/Item/AmmoPosition.hs 2;" m AmmoType src/Dodge/Data/Ammo.hs 30;" t -AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" t +AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t Amount src/Dodge/Item/Amount.hs 1;" m AnRoom src/Dodge/Annotation/Data.hs 17;" C AnTree src/Dodge/Annotation/Data.hs 18;" C @@ -226,7 +226,7 @@ BeamShooterParams src/Dodge/Data/Item/Use.hs 91;" C BeamSimple src/Dodge/Data/Beam.hs 50;" C BeamType src/Dodge/Data/Beam.hs 46;" t BecomePowerful src/Dodge/Data/Scenario.hs 9;" C -BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 40;" C +BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C Bezier src/Dodge/Item/Weapon/Bezier.hs 1;" m Bezier src/Geometry/Bezier.hs 1;" m BezierTrajectory src/Dodge/Data/Bullet.hs 52;" C @@ -298,7 +298,7 @@ Bullet src/Dodge/Bullet.hs 1;" m Bullet src/Dodge/Data/Bullet.hs 6;" m Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m BulletAmmo src/Dodge/Data/Ammo.hs 37;" C -BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C +BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" C BulletBeltAttachment src/Dodge/Data/Item.hs 54;" C BulletClipAttachment src/Dodge/Data/Item.hs 53;" C BulletEffect src/Dodge/Data/Bullet.hs 36;" t @@ -330,7 +330,6 @@ CDoNothing src/Dodge/Data/Item/HeldUse.hs 25;" C CHARTREUSE src/Color/Data.hs 25;" C CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 114;" C CHeal src/Dodge/Data/Item/HeldUse.hs 26;" C -CIL src/Dodge/Item/Grammar.hs 22;" t CIRCLE src/Dodge/Data/GenParams.hs 20;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C CONCUSBUL src/Dodge/Combine/Data.hs 206;" C @@ -352,12 +351,16 @@ CWGen src/Dodge/Data/CWorld.hs 35;" t CWorld src/Dodge/Data/CWorld.hs 25;" t CWorld src/Dodge/Data/CWorld.hs 6;" m CYAN src/Color/Data.hs 19;" C -CamControl src/Dodge/Data/Camera.hs 12;" t -CamFloat src/Dodge/Data/Camera.hs 14;" C -CamInGame src/Dodge/Data/Camera.hs 13;" C +CamControl src/Dodge/Data/Camera.hs 18;" t +CamFloat src/Dodge/Data/Camera.hs 20;" C +CamInGame src/Dodge/Data/Camera.hs 19;" C +CamInGameType src/Dodge/Data/Camera.hs 12;" t +CamOnPlayer src/Dodge/Data/Camera.hs 13;" C +CamOpticScope src/Dodge/Data/Camera.hs 14;" C CamPos src/Dodge/Data/CamPos.hs 12;" t CamPos src/Dodge/Data/CamPos.hs 5;" m -Camera src/Dodge/Data/Camera.hs 17;" t +CamRemoteScope src/Dodge/Data/Camera.hs 15;" C +Camera src/Dodge/Data/Camera.hs 23;" t Camera src/Dodge/Camera.hs 1;" m Camera src/Dodge/Data/Camera.hs 5;" m Camera src/Dodge/Update/Camera.hs 4;" m @@ -391,7 +394,7 @@ ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C Check src/Framebuffer/Check.hs 1;" m CheckConsistency src/Dodge/Room/CheckConsistency.hs 1;" m CheckSlots src/Dodge/Inventory/CheckSlots.hs 1;" m -ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" C +ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 51;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 62;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 61;" C ChooseTarget src/Dodge/Creature/ChooseTarget.hs 1;" m @@ -449,7 +452,6 @@ Compose src/Dodge/Tree/Compose.hs 4;" m ComposeLinkType src/Dodge/Data/ComposedItem.hs 15;" t ComposedItem src/Dodge/Data/ComposedItem.hs 33;" t ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m -ComposedItemStructure src/Dodge/Item/Grammar.hs 20;" t Composite src/Picture/Composite.hs 1;" m ComsSS src/Dodge/Data/Scenario.hs 98;" C ConcBall src/Dodge/Data/Bullet.hs 32;" C @@ -538,11 +540,11 @@ Create src/Dodge/Projectile/Create.hs 1;" m Create src/Dodge/Prop/Create.hs 1;" m Create src/Dodge/Wall/Create.hs 1;" m CreateFlame src/Dodge/Data/Gas.hs 6;" C -CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" C +CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" C CreateHeldLight src/Dodge/Data/ItEffect.hs 41;" C CreateHeldLight src/Dodge/Data/Item/Effect.hs 25;" C CreatePoisonGas src/Dodge/Data/Gas.hs 6;" C -CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" C +CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" C CreateShell src/Dodge/Data/Ammo.hs 17;" C CreateShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" C CreateShieldWall src/Dodge/Data/ItEffect.hs 42;" C @@ -671,7 +673,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C DefaultFlareType src/Dodge/Data/Item/Use.hs 137;" C -DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" C +DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C DefaultHeldParams src/Dodge/Data/Item/Use.hs 78;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C @@ -780,7 +782,7 @@ DrawShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 18;" C DrawnWall src/Dodge/Data/Wall.hs 41;" C Drone src/Dodge/Item/Weapon/Drone.hs 1;" m DroneAmmo src/Dodge/Data/Ammo.hs 41;" C -DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C +DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 44;" C DropAll src/Dodge/Creature/State/Data.hs 15;" C DropAll src/Dodge/Data/Creature/State.hs 24;" C DropAmount src/Dodge/Creature/State/Data.hs 16;" C @@ -830,7 +832,7 @@ EffectWhileRoot src/Dodge/Data/Item/Effect.hs 28;" C EighthRes src/Dodge/Data/Config.hs 95;" C Either src/Dodge/Layout/Tree/Either.hs 4;" m Eldritch src/Dodge/Data/Scenario.hs 34;" C -ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" C +ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C Electronics src/Dodge/Data/Material.hs 11;" C EllShad src/Picture/Data.hs 41;" C Enable_debug src/Dodge/Data/Config.hs 68;" C @@ -927,7 +929,6 @@ FailedResource src/Dodge/Data/Scenario.hs 37;" t Family src/Dodge/Item/Family.hs 1;" m FetchItem src/Dodge/Data/Scenario.hs 11;" C FindRoot src/Dodge/Inventory/FindRoot.hs 1;" m -FireRemoteShellMod src/Dodge/Data/Item/HeldUse.hs 61;" C FirstWeapon src/Dodge/Layout/Tree/Annotate.hs 19;" C Fitting src/Dodge/LightSources/Fitting.hs 1;" m Fixated src/Dodge/Creature/AlertLevel/Data.hs 23;" C @@ -994,7 +995,7 @@ FootstepSound src/Dodge/Data/SoundOrigin.hs 27;" C ForceField src/Dodge/ForceField.hs 1;" m ForceField src/Dodge/Wall/ForceField.hs 1;" m ForceFieldAmmo src/Dodge/Data/Ammo.hs 47;" C -ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" t +ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" t Foreground src/Dodge/Default/Foreground.hs 1;" m Foreground src/Dodge/Room/Foreground.hs 1;" m ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t @@ -1024,11 +1025,11 @@ GameRoom src/Dodge/GameRoom.hs 8;" m Gas src/Dodge/Data/Gas.hs 3;" m Gas src/Dodge/Gas.hs 1;" m GasAmmo src/Dodge/Data/Ammo.hs 43;" C -GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C +GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCreate src/Dodge/Data/Gas.hs 6;" t -GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" t -GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" t +GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" t +GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 51;" t GasParams src/Dodge/Data/Item/Use.hs 117;" C GasSprayParams src/Dodge/Data/Item/Use.hs 79;" C GenCr src/Dodge/Creature/State/Data.hs 24;" C @@ -1122,9 +1123,7 @@ HeldConsumption src/Dodge/Data/Item/Consumption.hs 14;" t HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m HeldDetectorEffect src/Dodge/Data/Item/HeldUse.hs 19;" C HeldDoNothing src/Dodge/Data/Item/HeldUse.hs 16;" C -HeldExplodeRemoteShell src/Dodge/Data/Item/HeldUse.hs 18;" C HeldFamily src/Dodge/Item/Family.hs 3;" C -HeldFireRemoteShell src/Dodge/Data/Item/HeldUse.hs 17;" C HeldForceField src/Dodge/Data/Item/HeldUse.hs 20;" C HeldItemType src/Dodge/Combine/Data.hs 133;" t HeldItemType src/Dodge/Data/Item/Combine.hs 159;" t @@ -1137,7 +1136,6 @@ HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldScrollCharMode src/Dodge/Data/Item/HeldScroll.hs 16;" C HeldScrollDoNothing src/Dodge/Data/Item/HeldScroll.hs 14;" C HeldScrollZoom src/Dodge/Data/Item/HeldScroll.hs 15;" C -HeldShatter src/Dodge/Data/Item/HeldUse.hs 21;" C HeldUse src/Dodge/Data/Item/Use.hs 33;" C HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/HeldUse.hs 2;" m @@ -1342,7 +1340,7 @@ LBoost src/Dodge/Data/Item/HeldUse.hs 56;" C LBranches src/TreeExtra.hs 24;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C -LDTComb src/Dodge/Item/Grammar.hs 92;" t +LDTComb src/Dodge/Item/Grammar.hs 59;" t LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C @@ -1864,23 +1862,20 @@ PIPE src/Dodge/Combine/Data.hs 27;" C PIPE src/Dodge/Data/Item/Combine.hs 30;" C PISTOL src/Dodge/Combine/Data.hs 135;" C PISTOL src/Dodge/Data/Item/Combine.hs 161;" C -PJDecTimMvVel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C +PJDecTimMvVel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C PJReduceSpin src/Dodge/Data/Ammo.hs 24;" C -PJReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C +PJReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" C PJRemoteDirection src/Dodge/Data/Ammo.hs 25;" C -PJRemoteDirection src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" C -PJRemoteShellCollisionCheck src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C +PJRemoteSetDirection src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C +PJRemoteShellCollisionCheck src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C PJRetireRemote src/Dodge/Data/Ammo.hs 27;" C -PJRetireRemote src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" C +PJRetireRemote src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C PJSetScope src/Dodge/Data/Ammo.hs 26;" C -PJSetScope src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" C -PJShellCollisionCheck src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C PJSpin src/Dodge/Data/Ammo.hs 22;" C PJSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" C PJThrust src/Dodge/Data/Ammo.hs 21;" C PJThrust src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" C PJTrack src/Dodge/Data/Ammo.hs 23;" C -PJTrack src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" C PLANK src/Dodge/Combine/Data.hs 35;" C PLANK src/Dodge/Data/Item/Combine.hs 39;" C PLATE src/Dodge/Combine/Data.hs 45;" C @@ -2016,7 +2011,7 @@ Proj src/Dodge/Data/Projectile.hs 14;" t Projectile src/Dodge/Data/Projectile.hs 6;" m Projectile src/Dodge/Projectile.hs 1;" m ProjectileAmmo src/Dodge/Data/Ammo.hs 31;" C -ProjectileAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C +ProjectileAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 40;" C ProjectileCreate src/Dodge/Data/Ammo.hs 17;" t ProjectileCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" t ProjectileDraw src/Dodge/Data/Ammo.hs 14;" t @@ -2098,7 +2093,6 @@ RBList src/Dodge/Inventory/RBList.hs 1;" m RBranches src/TreeExtra.hs 48;" C RED src/Color/Data.hs 15;" C REMOTELAUNCHER src/Dodge/Combine/Data.hs 182;" C -REMOTELAUNCHER src/Dodge/Data/Item/Combine.hs 194;" C REMOTESCREEN src/Dodge/Data/Item/Combine.hs 102;" C REPEATER src/Dodge/Combine/Data.hs 150;" C REVOLVEMAG src/Dodge/Data/Item/Combine.hs 108;" C @@ -2983,7 +2977,6 @@ _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f _ampBullet src/Dodge/Data/Item/Use.hs 111;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 117;" f _ampPayload src/Dodge/Data/Item/Use.hs 113;" f -_ampPjCreation src/Dodge/Data/Item/Use.hs 115;" f _ampPjDraw src/Dodge/Data/Item/Use.hs 114;" f _amposDir src/Dodge/Item/AmmoPosition.hs 9;" f _amposPos src/Dodge/Item/AmmoPosition.hs 9;" f @@ -3099,24 +3092,24 @@ _cClock src/Dodge/Data/CWorld.hs 28;" f _cUse src/Dodge/Data/Item/Use.hs 53;" f _cWorld src/Dodge/Data/World.hs 37;" f _camBoundBox src/Dodge/Data/CamPos.hs 20;" f -_camBoundBox src/Dodge/Data/Camera.hs 25;" f +_camBoundBox src/Dodge/Data/Camera.hs 31;" f _camBoundDist src/Dodge/Data/CamPos.hs 21;" f -_camBoundDist src/Dodge/Data/Camera.hs 26;" f +_camBoundDist src/Dodge/Data/Camera.hs 32;" f _camCenter src/Dodge/Data/CamPos.hs 13;" f -_camCenter src/Dodge/Data/Camera.hs 18;" f -_camControl src/Dodge/Data/Camera.hs 27;" f +_camCenter src/Dodge/Data/Camera.hs 24;" f +_camControl src/Dodge/Data/Camera.hs 33;" f _camDefaultZoom src/Dodge/Data/CamPos.hs 17;" f -_camDefaultZoom src/Dodge/Data/Camera.hs 22;" f +_camDefaultZoom src/Dodge/Data/Camera.hs 28;" f _camItemZoom src/Dodge/Data/CamPos.hs 16;" f -_camItemZoom src/Dodge/Data/Camera.hs 21;" f +_camItemZoom src/Dodge/Data/Camera.hs 27;" f _camRot src/Dodge/Data/CamPos.hs 14;" f -_camRot src/Dodge/Data/Camera.hs 19;" f +_camRot src/Dodge/Data/Camera.hs 25;" f _camViewDistance src/Dodge/Data/CamPos.hs 19;" f -_camViewDistance src/Dodge/Data/Camera.hs 24;" f +_camViewDistance src/Dodge/Data/Camera.hs 30;" f _camViewFrom src/Dodge/Data/CamPos.hs 18;" f -_camViewFrom src/Dodge/Data/Camera.hs 23;" f +_camViewFrom src/Dodge/Data/Camera.hs 29;" f _camZoom src/Dodge/Data/CamPos.hs 15;" f -_camZoom src/Dodge/Data/Camera.hs 20;" f +_camZoom src/Dodge/Data/Camera.hs 26;" f _carriage src/Dodge/Creature/Stance/Data.hs 12;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f _carteCenter src/Dodge/Data/HUD.hs 37;" f @@ -3129,6 +3122,7 @@ _ciInfo src/Dodge/Data/Combine.hs 8;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciItem src/Dodge/Data/Combine.hs 7;" f _ciSections src/Dodge/Data/HUD.hs 28;" f +_cigType src/Dodge/Data/Camera.hs 19;" f _clAlt src/Dodge/Data/Cloud.hs 23;" f _clPict src/Dodge/Data/Cloud.hs 21;" f _clPos src/Dodge/Data/Cloud.hs 19;" f @@ -3739,29 +3733,29 @@ _piercedPoints src/Dodge/Data/Creature/State.hs 30;" f _pjuCID src/Dodge/Data/Ammo.hs 22;" f _pjuCID src/Dodge/Data/Ammo.hs 25;" f _pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f -_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f -_pjuCRID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" f +_pjuControllerID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f _pjuEnd src/Dodge/Data/Ammo.hs 21;" f _pjuEnd src/Dodge/Data/Ammo.hs 25;" f _pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f -_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f +_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f _pjuITID src/Dodge/Data/Ammo.hs 23;" f _pjuITID src/Dodge/Data/Ammo.hs 26;" f -_pjuITID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f _pjuPJID src/Dodge/Data/Ammo.hs 27;" f -_pjuPJID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" f +_pjuPJID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f _pjuReduceSpin src/Dodge/Data/Ammo.hs 24;" f -_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f +_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f +_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f +_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" f _pjuSpinAmound src/Dodge/Data/Ammo.hs 22;" f _pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f _pjuStart src/Dodge/Data/Ammo.hs 21;" f _pjuStart src/Dodge/Data/Ammo.hs 25;" f _pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f -_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f +_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f _pjuTime src/Dodge/Data/Ammo.hs 22;" f _pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f _pjuTimer src/Dodge/Data/Ammo.hs 27;" f -_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" f +_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f _plIDCont src/Dodge/Data/GenWorld.hs 83;" f _plMID src/Dodge/Data/GenWorld.hs 82;" f _plOrder src/Dodge/Data/GenWorld.hs 79;" f @@ -3810,7 +3804,6 @@ _prjAcc src/Dodge/Data/Projectile.hs 19;" f _prjDir src/Dodge/Data/Projectile.hs 20;" f _prjDraw src/Dodge/Data/Projectile.hs 22;" f _prjID src/Dodge/Data/Projectile.hs 23;" f -_prjMITID src/Dodge/Data/Projectile.hs 28;" f _prjPayload src/Dodge/Data/Projectile.hs 24;" f _prjPos src/Dodge/Data/Projectile.hs 16;" f _prjSpin src/Dodge/Data/Projectile.hs 21;" f @@ -4417,9 +4410,7 @@ airlockZ src/Dodge/Room/Airlock.hs 91;" f allHotkeys src/Dodge/Creature/YourControl.hs 52;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f -ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 118;" f -ammoComposedItem src/Dodge/Item/Grammar.hs 82;" f -ammoComposedItem' src/Dodge/Item/Grammar.hs 77;" f +ammoComposedItem src/Dodge/Item/Grammar.hs 47;" f ammoTweakStrings src/Dodge/Render/HUD.hs 288;" f amr src/Dodge/Item/Held/Rod.hs 46;" f amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f @@ -4436,24 +4427,24 @@ anyTargeting src/Dodge/Render/ShapePicture.hs 71;" 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 74;" 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 84;" 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 101;" 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 108;" f -applySoundCME src/Dodge/HeldUse.hs 92;" 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 @@ -4468,7 +4459,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 118;" 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 @@ -4547,12 +4538,10 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 444;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placements/Wall.hs 63;" f baseBlockPane src/Dodge/Room/Placement.hs 93;" f -baseCIS src/Dodge/Item/Grammar.hs 87;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 250;" f -baseComposedItem src/Dodge/Item/Grammar.hs 55;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 38;" f -basePartiallyComposedItem src/Dodge/Item/Grammar.hs 41;" f +basePartiallyComposedItem src/Dodge/Item/Grammar.hs 34;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 253;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 441;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 412;" f @@ -4579,7 +4568,7 @@ basicMachineUpdate src/Dodge/Machine.hs 13;" f basicMuzFlare src/Dodge/HeldUse.hs 161;" f basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f basicTerminal src/Dodge/Terminal.hs 32;" f -battery src/Dodge/Item/Ammo.hs 76;" f +battery src/Dodge/Item/Ammo.hs 75;" f batteryModules src/Dodge/Item/Held/BatteryGuns.hs 127;" f batteryPack src/Dodge/Item/Equipment.hs 58;" f belowNumX src/Dodge/Combine/Graph.hs 77;" f @@ -4653,8 +4642,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 52;" f -bulGunEffect' src/Dodge/HeldUse.hs 55;" f +bulGunEffect src/Dodge/HeldUse.hs 51;" f +bulGunEffect' src/Dodge/HeldUse.hs 54;" f bulSelTweak src/Dodge/TweakBullet.hs 15;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 83;" f bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f @@ -4662,7 +4651,7 @@ bulletBodyCraft src/Dodge/Item/Craftable.hs 24;" f bulletCombinations src/Dodge/Combine/Graph.hs 35;" f bulletMagazines src/Dodge/Combine/Combinations.hs 240;" f bulletSpawn src/Dodge/Bullet.hs 105;" f -bulletSynthesizer src/Dodge/Item/Ammo.hs 104;" f +bulletSynthesizer src/Dodge/Item/Ammo.hs 103;" f bulletTypes src/Dodge/TweakBullet.hs 26;" f bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f burstRifle src/Dodge/Item/Held/Cane.hs 77;" f @@ -4718,7 +4707,7 @@ checkTermDist src/Dodge/Update.hs 281;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f -chemFuelPouch src/Dodge/Item/Ammo.hs 90;" f +chemFuelPouch src/Dodge/Item/Ammo.hs 89;" f chooseCursorBorders src/Dodge/Render/List.hs 126;" f chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f @@ -4735,7 +4724,6 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -cisToItem src/Dodge/Item/Grammar.hs 38;" f clClSpringVel src/Dodge/Update.hs 630;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f @@ -4756,7 +4744,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 220;" f +clipZoom src/Dodge/Update/Camera.hs 224;" f clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 12;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 7;" f @@ -5244,7 +5232,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 144;" f +doScopeZoom src/Dodge/Update/Camera.hs 148;" f doSideEffects appDodge/Main.hs 117;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f @@ -5254,18 +5242,18 @@ doTerminalEffectLB src/Dodge/Terminal/LeftButton.hs 12;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f -doThrust src/Dodge/Projectile/Update.hs 102;" f +doThrust src/Dodge/Projectile/Update.hs 94;" f 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 191;" f +doWallRotate src/Dodge/Update/Camera.hs 195;" 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 66;" 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 @@ -5464,7 +5452,7 @@ expandTreeBy src/Dodge/Layout/Tree/Either.hs 16;" f expireAndDamage src/Dodge/Bullet.hs 183;" f expireAndDamage src/Dodge/Particle/HitEffect/ExpireAndDamage.hs 11;" f expireAndDamageFL src/Dodge/Flame.hs 48;" f -explodeRemoteRocket src/Dodge/Item/Weapon/Launcher.hs 10;" f +explodeRemoteRocket src/Dodge/Item/Weapon/Launcher.hs 11;" f explosionFlashAt src/Dodge/WorldEvent/Flash.hs 56;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 396;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f @@ -5483,12 +5471,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 231;" f +farWallDistDirection src/Dodge/Update/Camera.hs 235;" 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 44;" f -findBoundDists src/Dodge/Update/Camera.hs 240;" f +findBoundDists src/Dodge/Update/Camera.hs 244;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findIndex src/IntMapHelp.hs 84;" f @@ -5499,11 +5487,10 @@ 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 415;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f fireShell src/Dodge/Projectile/Create.hs 16;" f fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f -fireTrackingShell src/Dodge/Projectile/Create.hs 62;" f +fireTrackingShell src/Dodge/Projectile/Create.hs 69;" f firstBreather src/Dodge/Room/Breather.hs 9;" f firstWorldLoad appDodge/Main.hs 77;" f fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f @@ -5727,7 +5714,6 @@ healthTest src/Dodge/Room/LasTurret.hs 93;" f heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 38;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldBounds src/Dodge/Item/Module.hs 27;" f -heldComposedItem src/Dodge/Item/Grammar.hs 66;" f heldEffect src/Dodge/HeldUse.hs 44;" f heldInfo src/Dodge/Item/Info.hs 61;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f @@ -5760,7 +5746,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 174;" f +ifConfigWallRotate src/Dodge/Update/Camera.hs 178;" f impulsiveAIBefore src/Dodge/Creature/Impulse.hs 22;" f impulsiveAIR src/Dodge/Creature/Rationality.hs 24;" f inCloseRegex src/Dodge/InputFocus.hs 99;" f @@ -5841,25 +5827,20 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj src/Dodge/Item/Grammar.hs 183;" f -invAdj' src/Dodge/Item/Grammar.hs 195;" f +invAdj src/Dodge/Item/Grammar.hs 127;" f invDimColor src/Dodge/DisplayInventory.hs 140;" f invDimColor src/Dodge/Inventory/Color.hs 4;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f invHead src/Dodge/Render/HUD.hs 296;" f -invIndentIM src/Dodge/Item/Grammar.hs 207;" f -invIndentIM' src/Dodge/Item/Grammar.hs 210;" f -invLDT src/Dodge/Item/Grammar.hs 146;" f -invLDT' src/Dodge/Item/Grammar.hs 151;" f -invRootMap src/Dodge/Item/Grammar.hs 169;" f -invRootMap' src/Dodge/Item/Grammar.hs 172;" f +invIndentIM src/Dodge/Item/Grammar.hs 139;" f +invLDT src/Dodge/Item/Grammar.hs 98;" f +invRootMap src/Dodge/Item/Grammar.hs 116;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 236;" f invSize src/Dodge/Inventory/CheckSlots.hs 40;" f -invTrees src/Dodge/Item/Grammar.hs 214;" f -invTrees' src/Dodge/Item/Grammar.hs 222;" f +invTrees src/Dodge/Item/Grammar.hs 143;" f inventoryExtra src/Dodge/Render/HUD.hs 189;" f inventoryExtraH src/Dodge/Render/HUD.hs 193;" f inventoryX src/Dodge/Creature.hs 115;" f @@ -5941,7 +5922,7 @@ jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f jShape src/Dodge/Placements/LightSource.hs 43;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f jetPack src/Dodge/Item/Equipment.hs 92;" f -joinItemsInList src/Dodge/Item/Grammar.hs 137;" f +joinItemsInList src/Dodge/Item/Grammar.hs 89;" f jps0' src/Dodge/LevelGen/Data.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0PushPS src/Dodge/LevelGen/Data.hs 63;" f @@ -6006,11 +5987,10 @@ ldtToIM src/Dodge/DoubleTree.hs 90;" f ldtToIndentList src/Dodge/DoubleTree.hs 93;" f left src/DoubleStack.hs 16;" f leftInfo src/Dodge/Item/Info.hs 109;" f -leftIsParentCombine src/Dodge/Item/Grammar.hs 107;" f -leftIsParentCombine' src/Dodge/Item/Grammar.hs 94;" f +leftIsParentCombine src/Dodge/Item/Grammar.hs 61;" f leftItemSPic src/Dodge/Item/Draw/SPic.hs 72;" f leftPad src/Padding.hs 14;" f -leftRightCombine src/Dodge/Item/Grammar.hs 121;" f +leftRightCombine src/Dodge/Item/Grammar.hs 73;" f legsSPic src/Dodge/Item/Draw/SPic.hs 528;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f liShape src/Dodge/Placements/LightSource.hs 55;" f @@ -6055,7 +6035,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 133;" f +loadMuzzle src/Dodge/HeldUse.hs 132;" f loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f loadPrime src/Dodge/Reloading/Action.hs 15;" f loadSaveSlot src/Dodge/Save.hs 74;" f @@ -6155,7 +6135,7 @@ makeShaderProgram src/Shader/Compile.hs 287;" f makeShaderUsingVAO src/Shader/Compile.hs 155;" f makeShaderUsingVBO src/Shader/Compile.hs 78;" f makeShaderVBO src/Shader/Compile.hs 38;" f -makeShell src/Dodge/Projectile/Create.hs 35;" f +makeShell src/Dodge/Projectile/Create.hs 36;" f makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f makeSourcedShader src/Shader/Compile.hs 203;" f makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f @@ -6211,7 +6191,7 @@ mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f mcUseHeld src/Dodge/HeldUse.hs 304;" 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 +megaBattery src/Dodge/Item/Ammo.hs 70;" f megaShellMag src/Dodge/Item/Ammo.hs 49;" f megaTinMag src/Dodge/Item/Ammo.hs 8;" f meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f @@ -6517,7 +6497,7 @@ pistol src/Dodge/Item/Held/Stick.hs 35;" f pistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 59;" f pistolCrit src/Dodge/Creature/PistolCrit.hs 13;" f pistolerRoom src/Dodge/Room/Room.hs 323;" f -pjTrack src/Dodge/Projectile/Update.hs 140;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 147;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f @@ -6546,7 +6526,6 @@ placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 60;" f placeString src/Dodge/Render/MenuScreen.hs 54;" f placeWallPoly src/Dodge/Placement/PlaceSpot.hs 156;" f plainRegex src/Dodge/DisplayInventory.hs 156;" f -plainShellCollisionCheck src/Dodge/Projectile/Update.hs 45;" f plateCraft src/Dodge/Item/Craftable.hs 47;" f playIfFree src/Sound.hs 136;" f playPositionalSoundQueue src/Sound.hs 144;" f @@ -6818,7 +6797,7 @@ rectXH src/Geometry/Polygon.hs 36;" f rectXY src/Geometry/Polygon.hs 39;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f red src/Color.hs 14;" f -reduceSpinBy src/Dodge/Projectile/Update.hs 154;" f +reduceSpinBy src/Dodge/Projectile/Update.hs 173;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f reflDirWall src/Dodge/Wall/Reflect.hs 6;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f @@ -6842,7 +6821,6 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f reloadSound src/Dodge/SoundLogic/Synonyms.hs 4;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f -remoteLauncher src/Dodge/Item/Held/Launcher.hs 65;" f remoteScreen src/Dodge/Item/Scope.hs 24;" f remoteShellCollisionCheck src/Dodge/Projectile/Update.hs 42;" f remoteShellShape src/Dodge/Projectile/Draw.hs 39;" f @@ -6879,7 +6857,7 @@ restrictLinkType src/Dodge/RoomLink.hs 32;" f restrictOutLinks src/Dodge/RoomLink.hs 45;" f restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f resumeSound src/Dodge/SoundLogic.hs 45;" f -retireRemoteProj src/Dodge/Projectile/Update.hs 80;" f +retireRemoteProj src/Dodge/Projectile/Update.hs 83;" f retreatActionsPistol src/Dodge/Humanoid.hs 248;" f retreatFireLauncher src/Dodge/Humanoid.hs 269;" f retreatPointForFrom src/Dodge/Creature/Action/Flee.hs 7;" f @@ -6903,8 +6881,7 @@ rhombus src/Polyhedra.hs 71;" f rifle src/Dodge/Item/Held/Cane.hs 51;" f rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f right src/DoubleStack.hs 16;" f -rightIsParentCombine src/Dodge/Item/Grammar.hs 114;" f -rightIsParentCombine' src/Dodge/Item/Grammar.hs 100;" f +rightIsParentCombine src/Dodge/Item/Grammar.hs 67;" f rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f @@ -6913,7 +6890,7 @@ rmInvItem src/Dodge/Inventory.hs 54;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f rmSelectedInvItem src/Dodge/Inventory.hs 187;" f -rocketHomer src/Dodge/Item/Ammo.hs 109;" f +rocketHomer src/Dodge/Item/Ammo.hs 108;" 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 @@ -6949,8 +6926,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 205;" f -rotateCameraBy src/Dodge/Update/Camera.hs 202;" f +rotateCamera src/Dodge/Update/Camera.hs 209;" f +rotateCameraBy src/Dodge/Update/Camera.hs 206;" 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 @@ -6960,7 +6937,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 180;" f +rotateToOverlappingWall src/Dodge/Update/Camera.hs 184;" f rotateToZ src/Quaternion.hs 31;" f rotateV src/Geometry/Vector.hs 105;" f rotateVAround src/Geometry/Vector.hs 112;" f @@ -7057,8 +7034,8 @@ sensorSPic src/Dodge/Placements/Sensor.hs 49;" f sensorUpdate src/Dodge/Machine/Sensor.hs 35;" f sensorUpdate src/Dodge/Placements/Sensor.hs 34;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f -sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f -sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f +sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f +sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f setChannelPos src/Sound.hs 149;" f setClickWorldPos src/Dodge/Update.hs 97;" f setClusterID src/Dodge/Combine/Graph.hs 104;" f @@ -7085,8 +7062,6 @@ setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f setPS src/Dodge/Placements/Spot.hs 9;" f -setRemoteDir src/Dodge/Projectile/Update.hs 90;" f -setRemoteScope src/Dodge/Item/Weapon/Remote.hs 9;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 121;" f setShaderSource src/Shader/Compile.hs 336;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -7097,7 +7072,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 226;" f +setViewDistance src/Dodge/Update/Camera.hs 230;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 61;" f setViewport src/Dodge/Render.hs 385;" f setVol src/Dodge/Config/Update.hs 30;" f @@ -7631,7 +7606,7 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f trySiphonFuel src/Dodge/Euse.hs 46;" f -trySpinByCID src/Dodge/Projectile/Update.hs 123;" f +trySpinByCID src/Dodge/Projectile/Update.hs 115;" f tryStartLoadMagazine src/Dodge/Reloading.hs 57;" f tryStartLoading src/Dodge/Reloading.hs 50;" f tryUseItem src/Dodge/Creature/Action/UseItem.hs 20;" f @@ -7674,7 +7649,7 @@ unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f upCT src/Dodge/Targeting.hs 34;" f upHammer src/Dodge/Default.hs 77;" f -upProjectile src/Dodge/Projectile/Update.hs 54;" f +upProjectile src/Dodge/Projectile/Update.hs 55;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f updateAutoRecharge src/Dodge/Creature/State.hs 271;" f @@ -7682,7 +7657,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 250;" f +updateBounds src/Dodge/Update/Camera.hs 254;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f updateBullets src/Dodge/Update.hs 425;" f @@ -7756,8 +7731,8 @@ updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 105;" f updateRootItemID src/Dodge/Inventory/FindRoot.hs 16;" f updateRootItemID src/Dodge/Inventory/Location.hs 40;" f -updateScopeZoom src/Dodge/Update/Camera.hs 129;" f -updateScopeZoom' src/Dodge/Update/Camera.hs 134;" f +updateScopeZoom src/Dodge/Update/Camera.hs 133;" f +updateScopeZoom' src/Dodge/Update/Camera.hs 138;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 186;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 165;" f @@ -7811,9 +7786,9 @@ upperPrismPolyST src/Shape.hs 106;" f upperPrismPolySU src/Shape.hs 112;" f upperPrismPolyTS src/Shape.hs 118;" f upperRounded src/Shape.hs 181;" f -upsProjectile src/Dodge/Projectile/Update.hs 51;" f +upsProjectile src/Dodge/Projectile/Update.hs 52;" f useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f -useBreakListsLinkTest src/Dodge/Item/Grammar.hs 24;" f +useBreakListsLinkTest src/Dodge/Item/Grammar.hs 20;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 24;" f @@ -8052,10 +8027,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 214;" f +zoomFromItem src/Dodge/Update/Camera.hs 218;" f zoomInKey src/Dodge/Config/KeyConfig.hs 31;" f -zoomInLongGun src/Dodge/Update/Camera.hs 158;" f +zoomInLongGun src/Dodge/Update/Camera.hs 162;" f zoomOutKey src/Dodge/Config/KeyConfig.hs 32;" f -zoomOutLongGun src/Dodge/Update/Camera.hs 166;" f +zoomOutLongGun src/Dodge/Update/Camera.hs 170;" f zoomScope src/Dodge/Item/Scope.hs 11;" f -zoomSpeed src/Dodge/Update/Camera.hs 155;" f +zoomSpeed src/Dodge/Update/Camera.hs 159;" f