From cb3288db453534fc08807a07624797aa3ae55a87 Mon Sep 17 00:00:00 2001 From: justin Date: Sat, 21 Sep 2024 18:46:16 +0100 Subject: [PATCH] Cleanup. Only update draw distance every 5 frames --- ghcidOutput | 2 +- src/Dodge/Data/Item/Use.hs | 30 +++---- src/Dodge/Item/Ammo.hs | 4 +- src/Dodge/Item/Scope.hs | 4 +- src/Dodge/Update/Camera.hs | 14 ++-- tags | 162 +++++++++++++++++-------------------- 6 files changed, 102 insertions(+), 114 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 799a15cd9..450e4e761 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (617 modules, at 16:59:47) +All good (617 modules, at 18:44:37) diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index a2eca642f..36f255dda 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -21,7 +21,7 @@ import Geometry.Data import Control.Lens import Data.Aeson import Data.Aeson.TH -import qualified Data.Sequence as Seq +--import qualified Data.Sequence as Seq import Dodge.Data.Hammer import Dodge.Data.Item.HeldUse import Dodge.Data.Item.Use.Consumption @@ -60,7 +60,7 @@ data ItemUse | CraftUse -- {_useAmount :: ItAmount} | AttachUse - {_attachParams :: AttachParams} +-- {_attachParams :: AttachParams} | AmmoMagUse { _amagLoadStatus :: ReloadStatus , _amagParams :: AmmoParams @@ -105,11 +105,11 @@ data HeldParams } deriving (Eq, Show, Read) --Generic, Flat) -data AttachParams - = ScrollAttachParams {_scrollAttachParams :: ScrollAttachParams} - | TargetAttachParams - | NoAttachParams - deriving (Eq, Show, Read) --Generic, Flat) +--data AttachParams +-- = ScrollAttachParams {_scrollAttachParams :: ScrollAttachParams} +-- | TargetAttachParams +-- | NoAttachParams +-- deriving (Eq, Show, Read) --Generic, Flat) data AmmoParams = BulletParams {_ampBullet :: Bullet} | ProjectileParams @@ -120,10 +120,10 @@ data AmmoParams = BulletParams {_ampBullet :: Bullet} | GasParams {_ampCreateGas :: GasFuel} deriving (Eq, Show, Read) --Generic, Flat) -data ScrollAttachParams - = CharScrollParams - { _scrollChar :: Seq.Seq Char} - deriving (Eq, Show, Read) --Generic, Flat) +--data ScrollAttachParams +-- = CharScrollParams +-- { _scrollChar :: Seq.Seq Char} +-- deriving (Eq, Show, Read) --Generic, Flat) data AimParams = AimParams { _aimWeight :: Int @@ -202,8 +202,8 @@ makeLenses ''AimParams makeLenses ''ItZoom makeLenses ''Muzzle makeLenses ''HeldParams -makeLenses ''AttachParams -makeLenses ''ScrollAttachParams +--makeLenses ''AttachParams +--makeLenses ''ScrollAttachParams makeLenses ''AmmoParams makeLenses ''MuzzleEffect deriveJSON defaultOptions ''MuzzleEffect @@ -213,8 +213,8 @@ deriveJSON defaultOptions ''AmmoParams deriveJSON defaultOptions ''HeldParams deriveJSON defaultOptions ''Muzzle deriveJSON defaultOptions ''AimStance -deriveJSON defaultOptions ''ScrollAttachParams -deriveJSON defaultOptions ''AttachParams +--deriveJSON defaultOptions ''ScrollAttachParams +--deriveJSON defaultOptions ''AttachParams deriveJSON defaultOptions ''ItZoom deriveJSON defaultOptions ''AimParams deriveJSON defaultOptions ''ItemUse diff --git a/src/Dodge/Item/Ammo.hs b/src/Dodge/Item/Ammo.hs index b1f5e9ff2..7018eb8b1 100644 --- a/src/Dodge/Item/Ammo.hs +++ b/src/Dodge/Item/Ammo.hs @@ -104,9 +104,9 @@ chemFuelPouch = bulletSynthesizer :: Item bulletSynthesizer = defaultHeldItem & itType . iyBase .~ ATTACH BULLETSYNTHESIZER - & itUse .~ AttachUse NoAttachParams + & itUse .~ AttachUse rocketHomer :: Item rocketHomer = defaultHeldItem & itType . iyBase .~ ATTACH ROCKETHOMER - & itUse .~ AttachUse NoAttachParams + & itUse .~ AttachUse diff --git a/src/Dodge/Item/Scope.hs b/src/Dodge/Item/Scope.hs index 4a08d38e6..a12900244 100644 --- a/src/Dodge/Item/Scope.hs +++ b/src/Dodge/Item/Scope.hs @@ -19,10 +19,10 @@ targetingScope :: TargetType -> Item targetingScope tt = defaultHeldItem & itType . iyBase .~ ATTACH (TARGETATTACH tt) - & itUse .~ AttachUse TargetAttachParams + & itUse .~ AttachUse rocketRemoteScreen :: Item rocketRemoteScreen = defaultHeldItem & itType . iyBase .~ ATTACH ROCKETREMOTESCREEN - & itUse .~ AttachUse NoAttachParams + & itUse .~ AttachUse diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index d8cffcc49..0ece2bda6 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -91,14 +91,14 @@ moveZoomCamera cfig theinput cr campos = guard (SDL.ButtonRight `M.member` _mouseButtons theinput) i <- cr ^? crManipulation . manObject . inInventory . ispItem (cr ^? crInv . ix i . itScope . remotePos) - mscopeoffset = do + camrot = campos ^. camRot + newcen = _crPos cr +.+ offset + offset = fromMaybe noscopeoffset $ do guard (SDL.ButtonRight `M.member` _mouseButtons theinput) i <- cr ^? crManipulation . manObject . inInventory . ispItem (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 = + noscopeoffset = rotateV (campos ^. camRot) $ ((newzoom - newDefaultZoom) / (newDefaultZoom * newzoom)) *.* _mousePos theinput newzoom = fromMaybe (newDefaultZoom * newItemZoom) $ do @@ -131,7 +131,6 @@ moveZoomCamera cfig theinput cr campos = -- is wanted updateScopeZoom :: World -> World updateScopeZoom w = fromMaybe w $ do - --i <- yourScopeInvID w i <- you w ^? crManipulation . manObject . inInventory . ispItem return $ updateScopeZoom' i w @@ -251,10 +250,11 @@ findBoundDists cfig w hh = halfHeight cfig updateBounds :: Configuration -> World -> World -updateBounds cfig w = - w +updateBounds cfig w = case (w ^. cWorld . cClock) `mod` 5 of + 0 -> w & wCam . camBoundDist .~ bdists & wCam . camBoundBox .~ map ((+.+ w ^. wCam . camCenter) . rotateV (w ^. wCam . camRot)) (rectNSWE n s w' e) + _ -> w where bdists@(n, s, e, w') = findBoundDists cfig w diff --git a/tags b/tags index 0c2848119..cd0995378 100644 --- a/tags +++ b/tags @@ -54,11 +54,11 @@ AddGoal src/Dodge/Data/ActionPlan.hs 45;" C AddTile src/Dodge/Room/AddTile.hs 1;" m AesonHelp src/AesonHelp.hs 1;" m AimAt src/Dodge/Data/ActionPlan.hs 84;" C -AimParams src/Dodge/Data/Item/Use.hs 136;" t +AimParams src/Dodge/Data/Item/Use.hs 128;" t AimParams src/Dodge/Default/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Held/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m -AimStance src/Dodge/Data/Item/Use.hs 192;" t +AimStance src/Dodge/Data/Item/Use.hs 184;" t Aiming src/Dodge/Creature/Stance/Data.hs 42;" C Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C @@ -126,7 +126,6 @@ AttachInt src/Dodge/Item/Attachment/Data.hs 16;" C AttachMInt src/Dodge/Data/Item/Attachment.hs 15;" C AttachMInt src/Dodge/Item/Attachment/Data.hs 17;" C AttachMode src/Dodge/Item/Attachment/Data.hs 13;" C -AttachParams src/Dodge/Data/Item/Use.hs 108;" t AttachTargetPos src/Dodge/Data/Item/Attachment.hs 13;" C AttachTargetPos src/Dodge/Item/Attachment/Data.hs 15;" C AttachType src/Dodge/Data/Item/Combine.hs 97;" t @@ -380,7 +379,6 @@ ChainEffect src/Dodge/ChainEffect.hs 1;" m ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C -CharScrollParams src/Dodge/Data/Item/Use.hs 132;" C ChargeIfEquipped src/Dodge/Data/Item/Effect.hs 22;" C ChargeIfInInventory src/Dodge/Data/Item/Effect.hs 23;" C ChargeableAmmo src/Dodge/Data/Item/Consumption.hs 29;" C @@ -670,7 +668,7 @@ DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C 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 148;" C +DefaultFlareType src/Dodge/Data/Item/Use.hs 140;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" C DefaultHeldParams src/Dodge/Data/Item/Use.hs 76;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C @@ -951,7 +949,7 @@ Flank src/Dodge/Data/ActionPlan.hs 177;" C Flare src/Dodge/Data/Flare.hs 14;" t Flare src/Dodge/Data/Flare.hs 6;" m Flare src/Dodge/Flare.hs 1;" m -FlareType src/Dodge/Data/Item/Use.hs 148;" t +FlareType src/Dodge/Data/Item/Use.hs 140;" t Flash src/Dodge/WorldEvent/Flash.hs 11;" m FlashBall src/Dodge/Data/Bullet.hs 33;" C FlatFaces src/Shape/Data.hs 17;" C @@ -1112,7 +1110,7 @@ HammerUp src/Dodge/Data/Hammer.hs 20;" C HandPos src/Dodge/Creature/HandPos.hs 1;" m HardQuit src/Dodge/Data/Universe.hs 66;" C HasHammer src/Dodge/Data/Hammer.hs 14;" C -HeavySmokeFlare src/Dodge/Data/Item/Use.hs 151;" C +HeavySmokeFlare src/Dodge/Data/Item/Use.hs 143;" C Held src/Dodge/Default/Held.hs 1;" m Held src/Dodge/Default/Item/Held.hs 1;" m Held src/Dodge/Item/Held.hs 1;" m @@ -1285,7 +1283,7 @@ ItInvEffect src/Dodge/Data/ItEffect.hs 13;" C ItInvEffectDrop src/Dodge/Data/ItEffect.hs 29;" C ItInvEffectID src/Dodge/Data/ItEffect.hs 25;" C ItRewindEffect src/Dodge/Data/ItEffect.hs 17;" C -ItZoom src/Dodge/Data/Item/Use.hs 201;" t +ItZoom src/Dodge/Data/Item/Use.hs 193;" t Item src/Dodge/Data/Item.hs 33;" t Item src/Dodge/Base/Item.hs 1;" m Item src/Dodge/Data/Item.hs 6;" m @@ -1389,7 +1387,7 @@ Lampoid src/Dodge/Data/Creature/Misc.hs 72;" C Lampoid src/Dodge/Lampoid.hs 1;" m Large src/Shape/Data.hs 29;" C LasBeamCombine src/Dodge/Data/Beam.hs 40;" C -LasGunFlare src/Dodge/Data/Item/Use.hs 152;" C +LasGunFlare src/Dodge/Data/Item/Use.hs 144;" C LasSound src/Dodge/Data/SoundOrigin.hs 26;" C LasTurret src/Dodge/Room/LasTurret.hs 1;" m Laser src/Dodge/Data/Laser.hs 28;" t @@ -1595,7 +1593,7 @@ MidLayer src/Picture/Data.hs 24;" C Military src/Dodge/Data/Scenario.hs 45;" C Mine src/Dodge/Data/Scenario.hs 64;" C MiniGunAI src/Dodge/Data/Creature/Misc.hs 59;" C -MiniGunFlare src/Dodge/Data/Item/Use.hs 150;" C +MiniGunFlare src/Dodge/Data/Item/Use.hs 142;" C Misc src/Dodge/Data/Creature/Misc.hs 6;" m Misc src/Dodge/Data/Equipment/Misc.hs 6;" m Misc src/Dodge/Data/Item/Misc.hs 6;" m @@ -1655,18 +1653,18 @@ Music src/Music.hs 1;" m MusicData src/Music.hs 7;" t Mute src/Dodge/Data/Creature/Misc.hs 28;" C MuzFlare src/Dodge/Data/Flare.hs 15;" C -Muzzle src/Dodge/Data/Item/Use.hs 172;" t -MuzzleDetector src/Dodge/Data/Item/Use.hs 169;" C -MuzzleEffect src/Dodge/Data/Item/Use.hs 155;" t +Muzzle src/Dodge/Data/Item/Use.hs 164;" t +MuzzleDetector src/Dodge/Data/Item/Use.hs 161;" C +MuzzleEffect src/Dodge/Data/Item/Use.hs 147;" t MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m -MuzzleForceField src/Dodge/Data/Item/Use.hs 168;" C -MuzzleLaser src/Dodge/Data/Item/Use.hs 157;" C -MuzzleLauncher src/Dodge/Data/Item/Use.hs 160;" C -MuzzleNozzle src/Dodge/Data/Item/Use.hs 161;" C -MuzzleShatter src/Dodge/Data/Item/Use.hs 167;" C -MuzzleShootBullet src/Dodge/Data/Item/Use.hs 156;" C -MuzzleTesla src/Dodge/Data/Item/Use.hs 158;" C -MuzzleTractor src/Dodge/Data/Item/Use.hs 159;" C +MuzzleForceField src/Dodge/Data/Item/Use.hs 160;" C +MuzzleLaser src/Dodge/Data/Item/Use.hs 149;" C +MuzzleLauncher src/Dodge/Data/Item/Use.hs 152;" C +MuzzleNozzle src/Dodge/Data/Item/Use.hs 153;" C +MuzzleShatter src/Dodge/Data/Item/Use.hs 159;" C +MuzzleShootBullet src/Dodge/Data/Item/Use.hs 148;" C +MuzzleTesla src/Dodge/Data/Item/Use.hs 150;" C +MuzzleTractor src/Dodge/Data/Item/Use.hs 151;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvPt src/Dodge/MvPt.hs 1;" m MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C @@ -1690,7 +1688,6 @@ Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C NoAmmoPosition src/Dodge/Item/AmmoPosition.hs 11;" C NoArguments src/Dodge/Data/Terminal.hs 93;" C -NoAttachParams src/Dodge/Data/Item/Use.hs 111;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C NoConsumption src/Dodge/Data/Item/Consumption.hs 33;" C @@ -1830,7 +1827,7 @@ OnSpecial src/Dodge/Equipment/Data.hs 24;" C OnTurret src/Dodge/Data/Item/Location.hs 13;" C OnceSound src/Dodge/Data/SoundOrigin.hs 15;" C OneArgument src/Dodge/Data/Terminal.hs 94;" C -OneHand src/Dodge/Data/Item/Use.hs 196;" C +OneHand src/Dodge/Data/Item/Use.hs 188;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardCluster src/Dodge/RoomCluster/Data.hs 12;" C OnwardList src/Dodge/Annotation/Data.hs 15;" C @@ -1952,7 +1949,7 @@ Pillar src/Dodge/Room/Pillar.hs 1;" m Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m PistolAI src/Dodge/Data/Creature/Misc.hs 53;" C PistolCrit src/Dodge/Creature/PistolCrit.hs 1;" m -PistolFlare src/Dodge/Data/Item/Use.hs 149;" C +PistolFlare src/Dodge/Data/Item/Use.hs 141;" C PistolMod src/Dodge/Data/Item/HeldUse.hs 69;" C PlaceSpot src/Dodge/Placement/PlaceSpot.hs 4;" m Placement src/Dodge/Data/GenWorld.hs 77;" t @@ -2287,8 +2284,6 @@ ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t ScreenPos src/Dodge/Data/ScreenPos.hs 3;" m ScreenPos src/Dodge/ScreenPos.hs 1;" m Scroll src/Dodge/Update/Scroll.hs 1;" m -ScrollAttachParams src/Dodge/Data/Item/Use.hs 123;" t -ScrollAttachParams src/Dodge/Data/Item/Use.hs 109;" C ScrollAttachType src/Dodge/Data/Item/Combine.hs 107;" t ScrollValue src/Dodge/ScrollValue.hs 1;" m SecretCabal src/Dodge/Data/Scenario.hs 44;" C @@ -2557,7 +2552,6 @@ TUBE src/Dodge/Data/Item/Combine.hs 31;" C Tank src/Dodge/Placement/Instance/Tank.hs 1;" m Tanks src/Dodge/Room/Tanks.hs 1;" m Tap src/Dodge/Data/SoundOrigin.hs 36;" C -TargetAttachParams src/Dodge/Data/Item/Use.hs 110;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 16;" C TargetCursorUpdate src/Dodge/Data/Targeting.hs 26;" C TargetDistanceDraw src/Dodge/Data/Targeting.hs 32;" C @@ -2629,7 +2623,7 @@ TeslaArc src/Dodge/Data/TeslaArc.hs 6;" m TeslaArc src/Dodge/Particle/TeslaArc.hs 1;" m TeslaBall src/Dodge/Data/Bullet.hs 32;" C TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C -TeslaGunFlare src/Dodge/Data/Item/Use.hs 153;" C +TeslaGunFlare src/Dodge/Data/Item/Use.hs 145;" C Test src/Dodge/Creature/Test.hs 8;" m Test src/Dodge/Event/Test.hs 1;" m Test src/Picture/Test.hs 1;" m @@ -2719,9 +2713,9 @@ TweakTractionPower src/Dodge/Data/Item/Tweak.hs 22;" C TweakType src/Dodge/Data/Item/Tweak.hs 20;" t Tweakable src/Dodge/Data/Item/Tweak.hs 15;" C TwistGoal src/Dodge/Data/Scenario.hs 15;" C -TwoHandFlat src/Dodge/Data/Item/Use.hs 195;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 194;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 193;" C +TwoHandFlat src/Dodge/Data/Item/Use.hs 187;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 186;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 185;" C Type src/Dodge/Data/Damage/Type.hs 6;" m Typical src/Shape/Data.hs 36;" C UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C @@ -2946,13 +2940,13 @@ _actionSound src/Dodge/Data/LoadAction.hs 11;" f _actionSound src/Dodge/Data/LoadAction.hs 14;" f _actionTime src/Dodge/Data/LoadAction.hs 11;" f _actionTime src/Dodge/Data/LoadAction.hs 14;" f -_aimHandlePos src/Dodge/Data/Item/Use.hs 142;" f -_aimMuzzles src/Dodge/Data/Item/Use.hs 143;" f -_aimRange src/Dodge/Data/Item/Use.hs 139;" f -_aimStance src/Dodge/Data/Item/Use.hs 141;" f -_aimTurnSpeed src/Dodge/Data/Item/Use.hs 138;" f -_aimWeight src/Dodge/Data/Item/Use.hs 137;" f -_aimZoom src/Dodge/Data/Item/Use.hs 140;" f +_aimHandlePos src/Dodge/Data/Item/Use.hs 134;" f +_aimMuzzles src/Dodge/Data/Item/Use.hs 135;" f +_aimRange src/Dodge/Data/Item/Use.hs 131;" f +_aimStance src/Dodge/Data/Item/Use.hs 133;" f +_aimTurnSpeed src/Dodge/Data/Item/Use.hs 130;" f +_aimWeight src/Dodge/Data/Item/Use.hs 129;" f +_aimZoom src/Dodge/Data/Item/Use.hs 132;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 24;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 28;" f @@ -3018,7 +3012,6 @@ _atMInt src/Dodge/Item/Attachment/Data.hs 17;" f _atMode src/Dodge/Item/Attachment/Data.hs 13;" f _atTargetPos src/Dodge/Data/Item/Attachment.hs 13;" f _atTargetPos src/Dodge/Item/Attachment/Data.hs 15;" f -_attachParams src/Dodge/Data/Item/Use.hs 63;" f _attractionPower src/Dodge/Data/Item/Params.hs 46;" f _auDist src/Dodge/Creature/Perception/Data.hs 49;" f _auDist src/Dodge/Data/Creature/Perception.hs 48;" f @@ -3546,9 +3539,9 @@ _iyBase src/Dodge/Data/Item/Combine.hs 17;" f _iyModules src/Dodge/Combine/Data.hs 14;" f _iyModules src/Dodge/Data/Item/Combine.hs 18;" f _iyStack src/Dodge/Combine/Data.hs 15;" f -_izFac src/Dodge/Data/Item/Use.hs 204;" f -_izMax src/Dodge/Data/Item/Use.hs 202;" f -_izMin src/Dodge/Data/Item/Use.hs 203;" f +_izFac src/Dodge/Data/Item/Use.hs 196;" f +_izMax src/Dodge/Data/Item/Use.hs 194;" f +_izMin src/Dodge/Data/Item/Use.hs 195;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 145;" f _lTestInt src/Dodge/Data/LWorld.hs 147;" f @@ -3678,13 +3671,13 @@ _mvSpeed src/Dodge/Data/Creature/Misc.hs 39;" f _mvToPoint src/Dodge/Data/Creature.hs 98;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 43;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 42;" f -_mzAmmoSlot src/Dodge/Data/Item/Use.hs 176;" f -_mzChargeRequirement src/Dodge/Data/Item/Use.hs 179;" f -_mzEffect src/Dodge/Data/Item/Use.hs 178;" f -_mzFlareType src/Dodge/Data/Item/Use.hs 177;" f -_mzInaccuracy src/Dodge/Data/Item/Use.hs 175;" f -_mzPos src/Dodge/Data/Item/Use.hs 173;" f -_mzRot src/Dodge/Data/Item/Use.hs 174;" f +_mzAmmoSlot src/Dodge/Data/Item/Use.hs 168;" f +_mzChargeRequirement src/Dodge/Data/Item/Use.hs 171;" f +_mzEffect src/Dodge/Data/Item/Use.hs 170;" f +_mzFlareType src/Dodge/Data/Item/Use.hs 169;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 167;" f +_mzPos src/Dodge/Data/Item/Use.hs 165;" f +_mzRot src/Dodge/Data/Item/Use.hs 166;" f _newArcStep src/Dodge/Data/Item/Params.hs 56;" f _newBeams src/Dodge/Data/LWorld.hs 114;" f _noClip src/Dodge/Debug/Flag/Data.hs 7;" f @@ -3695,10 +3688,10 @@ _nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f _numLinkEW src/Dodge/Data/Room.hs 33;" f _numLinkNS src/Dodge/Data/Room.hs 34;" f _numberFloorVerxs src/Dodge/Data/CWorld.hs 32;" f -_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 164;" f -_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 163;" f -_nzPressure src/Dodge/Data/Item/Use.hs 162;" f -_nzWalkSpeed src/Dodge/Data/Item/Use.hs 165;" f +_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 156;" f +_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 155;" f +_nzPressure src/Dodge/Data/Item/Use.hs 154;" f +_nzWalkSpeed src/Dodge/Data/Item/Use.hs 157;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f _opDraw src/Dodge/Data/Wall.hs 41;" f @@ -3977,8 +3970,6 @@ _scopeZoomChange src/Dodge/Data/Item/Attachment.hs 33;" f _scopeZoomChange src/Dodge/Item/Attachment/Data.hs 33;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f _scrollAmount src/Dodge/Data/Input.hs 24;" f -_scrollAttachParams src/Dodge/Data/Item/Use.hs 109;" f -_scrollChar src/Dodge/Data/Item/Use.hs 133;" f _scrollItemLocation src/Dodge/Data/World.hs 65;" f _scrollItemLocation src/Dodge/Data/World.hs 74;" f _scrollItemLocation src/Dodge/Data/World.hs 78;" f @@ -4669,7 +4660,6 @@ buzzSound src/Dodge/SoundLogic/Synonyms.hs 4;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f calcTexCoord src/Tile.hs 17;" f 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 449;" f @@ -4691,7 +4681,7 @@ changeSwapClose src/Dodge/Inventory.hs 208;" f changeSwapInv src/Dodge/Inventory.hs 224;" f changeSwapSel src/Dodge/Inventory.hs 200;" f changeSwapWith src/Dodge/Inventory.hs 259;" f -changeTweakParam src/Dodge/Update/Scroll.hs 115;" f +changeTweakParam src/Dodge/Update/Scroll.hs 118;" f changeZonedWall src/Dodge/LevelGen/MoveDoor.hs 33;" f charFiringStratI src/Dodge/Item/Attachment.hs 15;" f charToPhaseV src/Dodge/Item/Weapon/Laser.hs 36;" f @@ -4755,7 +4745,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 238;" 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 @@ -5217,7 +5207,6 @@ 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 417;" f -doHeldScroll src/Dodge/HeldScroll.hs 17;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" f @@ -5247,7 +5236,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 151;" 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 @@ -5262,7 +5251,7 @@ 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 198;" 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 @@ -5487,12 +5476,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 249;" 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 43;" f -findBoundDists src/Dodge/Update/Camera.hs 258;" 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 @@ -5618,8 +5607,8 @@ geometryTests test/Spec.hs 17;" f geometryUnitTests test/Spec.hs 22;" f geqConstr src/SameConstr.hs 21;" f getAmmoMagazine src/Dodge/HeldUse.hs 383;" f -getArguments src/Dodge/Update/Scroll.hs 147;" f -getArguments' src/Dodge/Update/Scroll.hs 135;" f +getArguments src/Dodge/Update/Scroll.hs 150;" f +getArguments' src/Dodge/Update/Scroll.hs 138;" f getAvailableListLines src/Dodge/SelectionList.hs 11;" f getCommands src/Dodge/Terminal.hs 115;" f getCommandsHelp src/Dodge/Terminal.hs 73;" f @@ -5685,7 +5674,7 @@ gridPoints'' src/Grid.hs 74;" f gridPointsOff src/Grid.hs 62;" f groupSplitItemAmounts src/Dodge/Combine.hs 31;" f gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f -guardDisconnectedID src/Dodge/Update/Scroll.hs 67;" f +guardDisconnectedID src/Dodge/Update/Scroll.hs 70;" f gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f gut2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 376;" f gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 356;" f @@ -5767,7 +5756,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 181;" 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 @@ -6311,7 +6300,7 @@ mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f mousePlus src/Dodge/Render/Picture.hs 86;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f moveBullet src/Dodge/Bullet.hs 193;" f -moveCombineSel src/Dodge/Update/Scroll.hs 55;" f +moveCombineSel src/Dodge/Update/Scroll.hs 58;" f moveDoorToward src/Dodge/LevelGen/MoveDoor.hs 22;" f moveDownKey src/Dodge/Config/KeyConfig.hs 19;" f moveHammerUp src/Dodge/Hammer.hs 5;" f @@ -6326,10 +6315,10 @@ moveRoomBy src/Dodge/Room/Link.hs 53;" f moveSelectionMapSelection src/SelectionIntMap.hs 47;" f moveSelectionMapStep src/SelectionIntMap.hs 38;" f moveShockwave src/Dodge/Shockwave/Update.hs 17;" f -moveSubSel src/Dodge/Update/Scroll.hs 62;" f +moveSubSel src/Dodge/Update/Scroll.hs 65;" f moveTeslaArc src/Dodge/Particle/TeslaArc.hs 20;" f moveToSideFirstOutLink src/Dodge/Room/Warning.hs 56;" f -moveTweakSel src/Dodge/Update/Scroll.hs 110;" f +moveTweakSel src/Dodge/Update/Scroll.hs 113;" f moveUpKey src/Dodge/Config/KeyConfig.hs 18;" f moveWall src/Dodge/Wall/Move.hs 29;" f moveWallID src/Dodge/Wall/Move.hs 24;" f @@ -6398,7 +6387,7 @@ normalizeAnglePi src/Dodge/Base.hs 132;" f normalizeColor src/Color.hs 76;" f normalizeV src/Geometry/Vector.hs 43;" f normalizeV3 src/Geometry/Vector3D.hs 84;" f -nullCommand src/Dodge/Update/Scroll.hs 138;" f +nullCommand src/Dodge/Update/Scroll.hs 141;" f numColor src/Color.hs 124;" f numDrawableElements src/Shader/Parameters.hs 32;" f numGLushort src/Shader/Parameters.hs 28;" f @@ -6952,8 +6941,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 223;" f -rotateCameraBy src/Dodge/Update/Camera.hs 209;" 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 @@ -6963,7 +6952,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 187;" 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 @@ -7016,10 +7005,10 @@ screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f scrollAugInvSel src/Dodge/Inventory.hs 265;" f -scrollCommandStrings src/Dodge/Update/Scroll.hs 130;" f -scrollCommands src/Dodge/Update/Scroll.hs 127;" f +scrollCommandStrings src/Dodge/Update/Scroll.hs 133;" f +scrollCommands src/Dodge/Update/Scroll.hs 130;" f scrollDebugInfoInt src/Dodge/Debug.hs 46;" f -scrollRBOption src/Dodge/Update/Scroll.hs 104;" f +scrollRBOption src/Dodge/Update/Scroll.hs 107;" f scrollSelectionSections src/Dodge/SelectionSections.hs 17;" f scrollTimeBack src/Dodge/Update.hs 195;" f scrollTimeForward src/Dodge/Update.hs 214;" f @@ -7099,7 +7088,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 244;" 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 @@ -7456,7 +7445,7 @@ terminalColor src/Dodge/Placement/Instance/Terminal.hs 66;" f terminalReturnEffect src/Dodge/Terminal/ReturnEffect.hs 10;" f terminalSPic src/Dodge/Machine/Draw.hs 24;" f terminalShape src/Dodge/Machine/Draw.hs 27;" f -terminalWheelEvent src/Dodge/Update/Scroll.hs 72;" f +terminalWheelEvent src/Dodge/Update/Scroll.hs 75;" f teslaBeamCombine src/Dodge/Beam.hs 48;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 22;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 447;" f @@ -7681,7 +7670,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 266;" f +updateBounds src/Dodge/Update/Camera.hs 252;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f updateBullets src/Dodge/Update.hs 425;" f @@ -7753,8 +7742,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 133;" f -updateScopeZoom' src/Dodge/Update/Camera.hs 139;" f +updateScopeZoom src/Dodge/Update/Camera.hs 132;" f +updateScopeZoom' src/Dodge/Update/Camera.hs 137;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 186;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 165;" f @@ -8013,7 +8002,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 -yourScrollAttachment src/Dodge/Base/You.hs 25;" f yourStatsInfo src/Dodge/Creature/Info.hs 25;" f zConnect src/Dodge/Render/Connectors.hs 13;" f zConnectCol src/Dodge/Render/Connectors.hs 20;" f @@ -8061,10 +8049,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 232;" f +zoomFromItem src/Dodge/Update/Camera.hs 218;" f zoomInKey src/Dodge/Config/KeyConfig.hs 31;" f -zoomInLongGun src/Dodge/Update/Camera.hs 165;" f +zoomInLongGun src/Dodge/Update/Camera.hs 162;" f zoomOutKey src/Dodge/Config/KeyConfig.hs 32;" f -zoomOutLongGun src/Dodge/Update/Camera.hs 173;" f +zoomOutLongGun src/Dodge/Update/Camera.hs 170;" f zoomScope src/Dodge/Item/Scope.hs 11;" f -zoomSpeed src/Dodge/Update/Camera.hs 162;" f +zoomSpeed src/Dodge/Update/Camera.hs 159;" f