From b7cd91b56ee700b25fd1a29ab9cd659426903b78 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 1 Jun 2025 09:12:18 +0100 Subject: [PATCH] Cleanup, add unpause clock --- src/Dodge/Data/CWorld.hs | 17 +-- src/Dodge/Data/World.hs | 1 + src/Dodge/Default/World.hs | 1 + src/Dodge/Default/World.hs.orig | 2 +- src/Dodge/Render/Picture.hs | 16 +-- src/Dodge/TestString.hs | 2 +- src/Dodge/Update.hs | 3 +- src/Dodge/Update/Camera.hs | 4 +- tags | 235 ++++++++++++++++---------------- 9 files changed, 138 insertions(+), 143 deletions(-) diff --git a/src/Dodge/Data/CWorld.hs b/src/Dodge/Data/CWorld.hs index 17045556b..73f0df071 100644 --- a/src/Dodge/Data/CWorld.hs +++ b/src/Dodge/Data/CWorld.hs @@ -6,26 +6,24 @@ module Dodge.Data.CWorld ( module Dodge.Data.CWorld, module Dodge.Data.LWorld, - module Dodge.Data.Camera + module Dodge.Data.Camera, ) where -import Data.Tile -import Geometry.Data -import Dodge.Data.LWorld import Control.Lens import Data.Aeson import Data.Aeson.TH ---import Dodge.Data.GenParams +import Data.Graph.Inductive +import Data.Tile +import Dodge.Data.Camera +import Dodge.Data.LWorld import Dodge.GameRoom import Geometry.ConvexPoly -import Dodge.Data.Camera -import Data.Graph.Inductive +import Geometry.Data data CWorld = CWorld { _lWorld :: LWorld , _cwGen :: CWGen , _cClock :: Int --- , _seenWalls :: IS.IntSet , _cwTiles :: [Tile] , _pathGraph :: Gr Point2 PathEdge , _numberFloorVerxs :: Int @@ -41,7 +39,6 @@ data CWGen = CWGen --deriving (Eq, Ord, Show, Read) --Generic, Flat) - makeLenses ''CWorld makeLenses ''CWGen concat @@ -49,5 +46,5 @@ concat (deriveJSON defaultOptions) [ ''CWGen , ''CWorld --- , ''TimeFlowStatus + -- , ''TimeFlowStatus ] diff --git a/src/Dodge/Data/World.hs b/src/Dodge/Data/World.hs index af4447210..7b95ff415 100644 --- a/src/Dodge/Data/World.hs +++ b/src/Dodge/Data/World.hs @@ -51,6 +51,7 @@ data World = World , _peZoning :: IntMap (IntMap (Set PathEdgeNodes)) , _gsZoning :: IntMap (IntMap IntSet) , _wCam :: Camera + , _unpauseClock :: Int } data TimeFlowStatus diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index 797b223d1..cee119d2c 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -52,6 +52,7 @@ defaultWorld = , _pnZoning = mempty , _peZoning = mempty , _gsZoning = mempty --Zoning IM.empty clZoneSize (zonePos _guPos) + , _unpauseClock = 0 } defaultCWGen :: CWGen diff --git a/src/Dodge/Default/World.hs.orig b/src/Dodge/Default/World.hs.orig index 61354cfb3..7acd84f37 100644 --- a/src/Dodge/Default/World.hs.orig +++ b/src/Dodge/Default/World.hs.orig @@ -105,7 +105,7 @@ defaultWorld = World , _distortions = [] , _gameRooms = [] , _roomClipping = [] - , _worldClock = 0 + , _unpauseClock = 0 , _worldBounds = defaultBounds , _maybeWorld = Nothing' , _rewindWorlds = [] diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index b6dfc6cea..2d51e9117 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -2,6 +2,7 @@ module Dodge.Render.Picture ( fixedCoordPictures, ) where +import Control.Monad import Control.Lens import Data.Maybe import Dodge.Base.Coordinate @@ -27,7 +28,7 @@ fixedCoordPictures u = (u ^. uvWorld . cWorld . lWorld . lTestString) ) <> displayFrameTicks u - <> aimDelaySweep (u ^. uvWorld) + <> aimDelaySweep u <> drawMouseCursor u <> ( toTopLeft cfig . translate (1.3 * halfWidth cfig) 0 . drawList @@ -261,25 +262,20 @@ drawGapPlus x = , line [V2 (-0.5 * x) (- x), V2 (-0.5 * x) x] ] -aimDelaySweep :: World -> Picture -aimDelaySweep w = fold $ do +aimDelaySweep :: Universe -> Picture +aimDelaySweep u = fold $ do + let w = u ^. uvWorld + guard $ null $ u ^. uvScreenLayers cr <- w ^? cWorld . lWorld . creatures . ix 0 - -- aimstatus <- cr ^? crStance . posture - -- guard (aimstatus == Aiming) Aiming{} <- cr ^? crStance . posture return $ drawAimSweep cr w drawAimSweep :: Creature -> World -> Picture drawAimSweep cr w = fold $ do a <- safeArgV (mwp -.- p) - let a' - | a - cdir > pi = cdir + 2 * pi - | a - cdir < - pi = cdir - 2 * pi - | otherwise = cdir return $ uncurryV translate (worldPosToScreen campos p) $ arcFull (a - rot) 10 white (a + diffAngles cdir a - rot) 1 white (5 + dist mwp p * campos ^. camZoom) white - --arcFull (a - rot) 10 white (a' - rot) 1 white (5 + dist mwp p * campos ^. camZoom) white where cdir = _crDir cr rot = campos ^. camRot diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index 21b7e0b91..2882b4147 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -26,7 +26,7 @@ import qualified IntMapHelp as IM import qualified Data.Map.Strict as M testStringInit :: Universe -> [String] -testStringInit _ = [] +testStringInit u = [show $ u ^. uvWorld . unpauseClock] -- foldMap prettyShort $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crTwist -- prettyShort $ u ^.. uvWorld . cWorld . lWorld . teslaArcs . ix 0 . taArcSteps . each . asObject --testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index fa8bfdd84..e4f7e293d 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -158,8 +158,9 @@ updateUniverseMid :: Universe -> Universe updateUniverseMid u = case _uvScreenLayers u of (OptionScreen{_scOptionFlag = LoadingScreen} : _) -> u -- (sl@OptionScreen{_scOptionFlag = GameOverOptions} : _) -> u & updateUseInputOnScreen sl - (sl : _) -> u & updateUseInputOnScreen sl + (sl : _) -> u & uvWorld . unpauseClock .~ 0 & updateUseInputOnScreen sl [] -> + (uvWorld . unpauseClock +~ 1) . timeFlowUpdate . updateUseInputInGame $ over uvWorld diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index bc640c63a..71864f694 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -190,9 +190,7 @@ setViewDistance cfig w = .~ sqrt (halfWidth cfig ** 2 + halfHeight cfig ** 2) / (w ^. camZoom) farWallDistDirection :: Point2 -> World -> Maybe (Float, Float, Float, Float) -farWallDistDirection p w = - boundPoints $ - map f $ getViewpoints p (_cWorld w) +farWallDistDirection p w = boundPoints $ map f $ getViewpoints p (_cWorld w) where f q = (rotateV (negate (w ^. wCam . camRot)) . (-.- p)) (foldl' findPoint q (wls q)) wls q = filter wlIsOpaque $ wlsNearSeg p q w diff --git a/tags b/tags index aaf487f2d..023230806 100644 --- a/tags +++ b/tags @@ -14,7 +14,7 @@ .:~ src/LensHelp.hs 14;" o :!: src/FoldlHelp.hs 10;" C <$> src/Dodge/Data/ActionPlan.hs 203;" o -<$> src/Dodge/Data/CWorld.hs 48;" o +<$> src/Dodge/Data/CWorld.hs 45;" o <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 88;" o <$> src/Dodge/Data/LWorld.hs 179;" o @@ -260,8 +260,8 @@ CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 183;" C CREATURESENSOR src/Dodge/Data/Item/Combine.hs 84;" C CRUSHING src/Dodge/Data/Damage/Type.hs 16;" C CUTTING src/Dodge/Data/Damage/Type.hs 14;" C -CWGen src/Dodge/Data/CWorld.hs 34;" t -CWorld src/Dodge/Data/CWorld.hs 24;" t +CWGen src/Dodge/Data/CWorld.hs 32;" t +CWorld src/Dodge/Data/CWorld.hs 23;" t CWorld src/Dodge/Data/CWorld.hs 6;" m CYAN src/Color/Data.hs 19;" C CamControl src/Dodge/Data/Camera.hs 18;" t @@ -2319,7 +2319,7 @@ _bulGunSound src/Dodge/Data/Item/Use.hs 96;" f _bulGunSound src/Dodge/Data/Item/Use.hs 106;" f _bullets src/Dodge/Data/LWorld.hs 107;" f _buttons src/Dodge/Data/LWorld.hs 137;" f -_cClock src/Dodge/Data/CWorld.hs 27;" f +_cClock src/Dodge/Data/CWorld.hs 26;" f _cWorld src/Dodge/Data/World.hs 36;" f _camBoundBox src/Dodge/Data/Camera.hs 31;" f _camBoundDist src/Dodge/Data/Camera.hs 32;" f @@ -2442,13 +2442,13 @@ _csSpState src/Dodge/Data/Creature/State.hs 18;" f _currentArc src/Dodge/Data/Item/Params.hs 18;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f _cursSides src/Dodge/Data/SelectionList.hs 20;" f -_cwGen src/Dodge/Data/CWorld.hs 26;" f -_cwTiles src/Dodge/Data/CWorld.hs 29;" f -_cwgGameRooms src/Dodge/Data/CWorld.hs 37;" f -_cwgParams src/Dodge/Data/CWorld.hs 35;" f -_cwgRoomClipping src/Dodge/Data/CWorld.hs 38;" f -_cwgSeed src/Dodge/Data/CWorld.hs 39;" f -_cwgWorldBounds src/Dodge/Data/CWorld.hs 36;" f +_cwGen src/Dodge/Data/CWorld.hs 25;" f +_cwTiles src/Dodge/Data/CWorld.hs 27;" f +_cwgGameRooms src/Dodge/Data/CWorld.hs 35;" f +_cwgParams src/Dodge/Data/CWorld.hs 33;" f +_cwgRoomClipping src/Dodge/Data/CWorld.hs 36;" f +_cwgSeed src/Dodge/Data/CWorld.hs 37;" f +_cwgWorldBounds src/Dodge/Data/CWorld.hs 34;" f _cylinderSize src/Shape/Data.hs 19;" f _dePush src/Dodge/Data/Damage.hs 23;" f _dePushBack src/Dodge/Data/Damage.hs 28;" f @@ -2692,7 +2692,7 @@ _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 145;" f _lTestInt src/Dodge/Data/LWorld.hs 147;" f _lTestString src/Dodge/Data/LWorld.hs 146;" f -_lWorld src/Dodge/Data/CWorld.hs 25;" f +_lWorld src/Dodge/Data/CWorld.hs 24;" f _lampColor src/Dodge/Data/Creature/Misc.hs 83;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 83;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 83;" f @@ -2832,7 +2832,7 @@ _nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f _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 31;" f +_numberFloorVerxs src/Dodge/Data/CWorld.hs 29;" f _nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 152;" f _nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 151;" f _nzPressure src/Dodge/Data/Item/Use.hs 150;" f @@ -2850,7 +2850,7 @@ _opticPos src/Dodge/Data/Item/Scope.hs 16;" f _opticZoom src/Dodge/Data/Item/Scope.hs 19;" f _partialAction src/Dodge/Data/ActionPlan.hs 145;" f _pastWorlds src/Dodge/Data/World.hs 37;" f -_pathGraph src/Dodge/Data/CWorld.hs 30;" f +_pathGraph src/Dodge/Data/CWorld.hs 28;" f _pathToPoint src/Dodge/Data/ActionPlan.hs 89;" f _peDist src/Dodge/Data/PathGraph.hs 43;" f _peEnd src/Dodge/Data/PathGraph.hs 42;" f @@ -3347,7 +3347,7 @@ aSound src/Dodge/SoundLogic.hs 68;" f aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 52;" f -activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 88;" f +activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 86;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 83;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f @@ -3386,10 +3386,10 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 35;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 404;" f +advanceScrollAmount src/Dodge/Update.hs 412;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f -aimDelaySweep src/Dodge/Render/Picture.hs 264;" f +aimDelaySweep src/Dodge/Render/Picture.hs 265;" f aimStanceInfo src/Dodge/Item/Info.hs 235;" f aimTurn src/Dodge/Creature/YourControl.hs 161;" f aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f @@ -3627,13 +3627,13 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 43;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 64;" f checkDeath src/Dodge/Creature/State.hs 78;" f -checkEndGame src/Dodge/Update.hs 701;" f +checkEndGame src/Dodge/Update.hs 709;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 307;" f +checkTermDist src/Dodge/Update.hs 308;" 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 @@ -3656,7 +3656,7 @@ 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 -clClSpringVel src/Dodge/Update.hs 752;" f +clClSpringVel src/Dodge/Update.hs 760;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3672,7 +3672,7 @@ click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 434;" f clickGetCreature src/Dodge/Debug.hs 107;" f clicker src/Dodge/Item/Scope.hs 82;" f clipV src/Geometry/Vector.hs 47;" f -clipZoom src/Dodge/Update/Camera.hs 181;" f +clipZoom src/Dodge/Update/Camera.hs 186;" f clockCycle src/Dodge/Clock.hs 9;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 217;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 202;" f @@ -3682,7 +3682,7 @@ closestCreatureID src/Dodge/Debug.hs 116;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 722;" f +cloudEffect src/Dodge/Update.hs 730;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3756,7 +3756,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 79;" f crBlips src/Dodge/RadarSweep.hs 87;" f crCamouflage src/Dodge/Creature/Picture.hs 31;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 770;" f +crCrSpring src/Dodge/Update.hs 778;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 26;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3776,7 +3776,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 22;" f crOnWall src/Dodge/WallCreatureCollisions.hs 85;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 69;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f -crSpring src/Dodge/Update.hs 765;" f +crSpring src/Dodge/Update.hs 773;" f crStratConMatches src/Dodge/Creature/Test.hs 74;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f @@ -4010,11 +4010,11 @@ disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 490;" f disconnectTerminal src/Dodge/Terminal.hs 217;" f displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f -displayFrameTicks src/Dodge/Render/Picture.hs 45;" f +displayFrameTicks src/Dodge/Render/Picture.hs 46;" f displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 173;" f -displayTerminalLineString src/Dodge/Update.hs 431;" f +displayTerminalLineString src/Dodge/Update.hs 439;" f dist src/Geometry/Vector.hs 190;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4068,7 +4068,7 @@ doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 27;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f doInvEffect src/Dodge/ItEffect.hs 16;" f doItCrWdWd src/Dodge/WorldEffect.hs 48;" f -doItemTimeScroll src/Dodge/Update.hs 194;" f +doItemTimeScroll src/Dodge/Update.hs 195;" f doItmCrWdWd src/Dodge/Euse.hs 27;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f @@ -4103,17 +4103,17 @@ 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 149;" f -doTimeScroll src/Dodge/Update.hs 199;" f +doTimeScroll src/Dodge/Update.hs 200;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 99;" f -doWallRotate src/Dodge/Update/Camera.hs 166;" f +doWallRotate src/Dodge/Update/Camera.hs 171;" 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 12;" f doWdWd src/Dodge/WorldEffect.hs 28;" f doWeaponRepetitions src/Dodge/HeldUse.hs 151;" f -doWorldEvents src/Dodge/Update.hs 414;" f +doWorldEvents src/Dodge/Update.hs 422;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -4128,7 +4128,7 @@ doublePairSet src/Geometry.hs 165;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleV2 src/Geometry.hs 168;" f drawARHUD src/Dodge/Creature/State.hs 302;" f -drawAimSweep src/Dodge/Render/Picture.hs 272;" f +drawAimSweep src/Dodge/Render/Picture.hs 273;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f @@ -4140,9 +4140,9 @@ drawButton src/Dodge/Button/Draw.hs 9;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 244;" f +drawCombFilter src/Dodge/Render/Picture.hs 245;" f drawCombineInventory src/Dodge/Render/HUD.hs 179;" f -drawConcurrentMessage src/Dodge/Render/Picture.hs 68;" f +drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f drawCoord src/Dodge/Debug/Picture.hs 359;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 380;" f @@ -4154,13 +4154,13 @@ drawCursorAt src/Dodge/Render/List.hs 71;" f drawDDATest src/Dodge/Debug/Picture.hs 286;" f drawDoorPaths src/Dodge/Debug/Picture.hs 247;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 87;" f -drawDrag src/Dodge/Render/Picture.hs 183;" f -drawDragDrop src/Dodge/Render/Picture.hs 204;" f -drawDragPickup src/Dodge/Render/Picture.hs 213;" f -drawDragSelect src/Dodge/Render/Picture.hs 180;" f +drawDrag src/Dodge/Render/Picture.hs 184;" f +drawDragDrop src/Dodge/Render/Picture.hs 205;" f +drawDragPickup src/Dodge/Render/Picture.hs 214;" f +drawDragSelect src/Dodge/Render/Picture.hs 181;" f drawDragSelected src/Dodge/Render/HUD.hs 132;" f drawDragSelecting src/Dodge/Render/HUD.hs 149;" f -drawEmptySet src/Dodge/Render/Picture.hs 124;" f +drawEmptySet src/Dodge/Render/Picture.hs 125;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 10;" f drawEquipment src/Dodge/Creature/Picture.hs 142;" f drawExamineInventory src/Dodge/Render/HUD.hs 195;" f @@ -4169,7 +4169,7 @@ drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 26;" f drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 255;" f +drawGapPlus src/Dodge/Render/Picture.hs 256;" f drawGib src/Dodge/Prop/Draw.hs 31;" f drawHUD src/Dodge/Render/HUD.hs 48;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f @@ -4178,7 +4178,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 227;" f drawInventory src/Dodge/Render/HUD.hs 55;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f drawItemConnections src/Dodge/Render/HUD.hs 316;" f -drawJumpDown src/Dodge/Render/Picture.hs 175;" f +drawJumpDown src/Dodge/Render/Picture.hs 176;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLampCover src/Dodge/Prop/Draw.hs 47;" f drawLaser src/Dodge/Laser/Draw.hs 6;" f @@ -4192,11 +4192,11 @@ drawListYoff src/Dodge/Render/List.hs 92;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f drawMapperInventory src/Dodge/Render/HUD.hs 169;" f -drawMenuClick src/Dodge/Render/Picture.hs 147;" f -drawMenuCursor src/Dodge/Render/Picture.hs 161;" f -drawMenuOrHUD src/Dodge/Render/Picture.hs 63;" f +drawMenuClick src/Dodge/Render/Picture.hs 148;" f +drawMenuCursor src/Dodge/Render/Picture.hs 162;" f +drawMenuOrHUD src/Dodge/Render/Picture.hs 64;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f -drawMouseCursor src/Dodge/Render/Picture.hs 79;" f +drawMouseCursor src/Dodge/Render/Picture.hs 80;" f drawMouseOver src/Dodge/Render/HUD.hs 103;" f drawMousePosition src/Dodge/Debug/Picture.hs 349;" f drawMovingShape src/Dodge/Prop/Draw.hs 73;" f @@ -4205,18 +4205,18 @@ drawOptions src/Dodge/Render/MenuScreen.hs 36;" f drawPathBetween src/Dodge/Debug/Picture.hs 195;" f drawPathEdge src/Dodge/Debug/Picture.hs 252;" f drawPathing src/Dodge/Debug/Picture.hs 422;" f -drawPlus src/Dodge/Render/Picture.hs 144;" f +drawPlus src/Dodge/Render/Picture.hs 145;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 18;" f drawRBOptions src/Dodge/Render/HUD.hs 249;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 37;" f -drawReturn src/Dodge/Render/Picture.hs 131;" f +drawReturn src/Dodge/Render/Picture.hs 132;" f drawRootCursor src/Dodge/Render/HUD.hs 71;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f -drawSelect src/Dodge/Render/Picture.hs 232;" f +drawSelect src/Dodge/Render/Picture.hs 233;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionListBackground src/Dodge/Render/List.hs 51;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f @@ -4240,7 +4240,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 55;" f drawTitleBackground src/Dodge/Render/List.hs 44;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 65;" f -drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 195;" f +drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 196;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 63;" f drawWall src/Dodge/Wall/Draw.hs 7;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f @@ -4329,14 +4329,14 @@ 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 192;" f +farWallDistDirection src/Dodge/Update/Camera.hs 197;" f fdiv src/ShortShow.hs 26;" f feet src/Dodge/Creature/Picture.hs 53;" f ffoldM src/Framebuffer/Update.hs 79;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 167;" f findBlips src/Dodge/RadarSweep.hs 62;" f -findBoundDists src/Dodge/Update/Camera.hs 201;" f +findBoundDists src/Dodge/Update/Camera.hs 206;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findIndex src/IntMapHelp.hs 85;" f @@ -4349,7 +4349,7 @@ fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 350;" f firstBreather src/Dodge/Room/Breather.hs 9;" f firstWorldLoad appDodge/Main.hs 78;" f -fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f +fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flDamageInArea src/Dodge/Flame.hs 109;" f flFlicker src/Dodge/Flame.hs 123;" f @@ -4399,7 +4399,7 @@ forceField src/Dodge/Wall/ForceField.hs 7;" f forceFoldable src/StrictHelp.hs 7;" f forceSpine src/StrictHelp.hs 4;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f -fpsText src/Dodge/Render/Picture.hs 53;" f +fpsText src/Dodge/Render/Picture.hs 54;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 137;" f frag src/Shader/Data.hs 102;" f freeShaderPointers' src/Shader.hs 37;" f @@ -4412,7 +4412,7 @@ fromV3 src/Geometry/Data.hs 43;" f frontArmour src/Dodge/Item/Equipment.hs 40;" f fstV2 src/Geometry/Data.hs 50;" f fuelPack src/Dodge/Item/Equipment.hs 73;" f -functionalUpdate src/Dodge/Update.hs 249;" f +functionalUpdate src/Dodge/Update.hs 250;" f fuseFunc src/Dodge/Path.hs 150;" f fusePairs src/Dodge/Path.hs 153;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f @@ -4463,7 +4463,7 @@ getLaserDamage src/Dodge/HeldUse.hs 308;" f getLaserPhaseV src/Dodge/HeldUse.hs 305;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f -getMenuMouseContext src/Dodge/Update.hs 374;" f +getMenuMouseContext src/Dodge/Update.hs 382;" f getNodePos src/Dodge/Path.hs 31;" f getPJStabiliser src/Dodge/HeldUse.hs 693;" f getPretty src/AesonHelp.hs 8;" f @@ -4688,7 +4688,7 @@ isLeftOfA src/Geometry.hs 192;" f isNothing' src/MaybeHelp.hs 33;" f isOnSeg src/Geometry.hs 236;" f isOutLnk src/Dodge/PlacementSpot.hs 164;" f -isOverTerminalScreen src/Dodge/Update.hs 385;" f +isOverTerminalScreen src/Dodge/Update.hs 393;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f @@ -5034,7 +5034,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 158;" f mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 163;" f modTo src/Geometry/Zone.hs 10;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 59;" f -mouseCursorType src/Dodge/Render/Picture.hs 86;" f +mouseCursorType src/Dodge/Render/Picture.hs 87;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f moveBullet src/Dodge/Bullet.hs 187;" f moveCombineSel src/Dodge/Update/Scroll.hs 112;" f @@ -5050,7 +5050,7 @@ moveWall src/Dodge/Wall/Move.hs 29;" f moveWallID src/Dodge/Wall/Move.hs 24;" f moveWallIDToward src/Dodge/Wall/Move.hs 47;" f moveWallIDUnsafe src/Dodge/Wall/Move.hs 19;" f -moveZoomCamera src/Dodge/Update/Camera.hs 84;" f +moveZoomCamera src/Dodge/Update/Camera.hs 89;" f mtTopLabels src/Dodge/Tree/Compose.hs 49;" f mtUnderLabels src/Dodge/Tree/Compose.hs 52;" f muchWlDustAt src/Dodge/Wall/Dust.hs 15;" f @@ -5064,7 +5064,7 @@ muzFlareAt src/Dodge/HeldUse.hs 281;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f -mvGust src/Dodge/Update.hs 713;" f +mvGust src/Dodge/Update.hs 721;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f @@ -5176,7 +5176,7 @@ pauseGame src/Dodge/Update/Input/InGame.hs 499;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f -pauseTime src/Dodge/Update.hs 182;" f +pauseTime src/Dodge/Update.hs 183;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f penThing src/Dodge/Bullet.hs 204;" f @@ -5328,7 +5328,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 105;" f -ppEvents src/Dodge/Update.hs 680;" f +ppEvents src/Dodge/Update.hs 688;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5432,7 +5432,7 @@ randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 74;" f randWallReflect src/Dodge/Tesla/Arc.hs 57;" f -randWallReflect src/Dodge/Update.hs 572;" f +randWallReflect src/Dodge/Update.hs 580;" f randomChallenges src/Dodge/Room/Start.hs 62;" f randomCompass src/Dodge/Layout.hs 59;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 266;" f @@ -5557,7 +5557,7 @@ rotate3 src/Geometry/Vector3D.hs 48;" f rotate3x src/Geometry/Vector3D.hs 60;" f rotate3y src/Geometry/Vector3D.hs 66;" f rotate3z src/Geometry/Vector3D.hs 54;" f -rotateCamera src/Dodge/Update/Camera.hs 138;" f +rotateCamera src/Dodge/Update/Camera.hs 143;" f rotateList src/Padding.hs 49;" f rotateProp src/Dodge/Prop/Update.hs 49;" f rotateSH src/Shape.hs 256;" f @@ -5565,7 +5565,7 @@ rotateSHq src/Shape.hs 165;" f rotateSHx src/Shape.hs 264;" f rotateSP src/ShapePicture.hs 57;" f rotateTo src/Polyhedra/Geodesic.hs 64;" f -rotateToOverlappingWall src/Dodge/Update/Camera.hs 155;" f +rotateToOverlappingWall src/Dodge/Update/Camera.hs 160;" f rotateToZ src/Quaternion.hs 34;" f rotateV src/Geometry/Vector.hs 105;" f rotateVAround src/Geometry/Vector.hs 112;" f @@ -5623,8 +5623,8 @@ scrollCommands src/Dodge/Update/Scroll.hs 156;" f scrollDebugInfoInt src/Dodge/Debug.hs 71;" f scrollRBOption src/Dodge/Update/Scroll.hs 150;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f -scrollTimeBack src/Dodge/Update.hs 209;" f -scrollTimeForward src/Dodge/Update.hs 232;" f +scrollTimeBack src/Dodge/Update.hs 210;" f +scrollTimeForward src/Dodge/Update.hs 233;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 494;" f seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f @@ -5680,7 +5680,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 145;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 454;" f +setOldPos src/Dodge/Update.hs 462;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5694,7 +5694,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 74;" f setTile src/Dodge/Layout.hs 68;" f setTiles src/Dodge/Layout.hs 65;" f setToggle src/Dodge/Prop/Update.hs 46;" f -setViewDistance src/Dodge/Update/Camera.hs 187;" f +setViewDistance src/Dodge/Update/Camera.hs 192;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 61;" f setViewport src/Dodge/Render.hs 388;" f setVol src/Dodge/Config/Update.hs 30;" f @@ -5776,9 +5776,9 @@ showEquipItem src/Dodge/Item/Display.hs 102;" f showInt src/Dodge/Item/Info.hs 67;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showInventoryPathing src/Dodge/Item/Display.hs 82;" f -showManObj src/Dodge/TestString.hs 81;" f +showManObj src/Dodge/TestString.hs 78;" f showTerminalError src/Dodge/Debug/Terminal.hs 78;" f -showTimeFlow src/Dodge/TestString.hs 104;" f +showTimeFlow src/Dodge/TestString.hs 101;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f shrinkVert src/Geometry/Polygon.hs 140;" f shuffle src/RandomHelp.hs 49;" f @@ -5786,7 +5786,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 761;" f +simpleCrSprings src/Dodge/Update.hs 769;" f simpleDamFL src/Dodge/Flame.hs 40;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f @@ -5925,7 +5925,7 @@ stringToList src/Picture/Base.hs 313;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f structureToPotentialFunction src/Dodge/Item/Grammar.hs 173;" f -structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 80;" f +structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 78;" f subInvX src/Dodge/ListDisplayParams.hs 48;" f subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f @@ -6014,7 +6014,7 @@ throwItem src/Dodge/Creature/Action.hs 204;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 205;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 169;" f +timeFlowUpdate src/Dodge/Update.hs 170;" f timeScroller src/Dodge/Item/Held/Utility.hs 88;" f timeScroller src/Dodge/Item/Weapon/Utility.hs 47;" f timeStopper src/Dodge/Item/Held/Utility.hs 82;" f @@ -6024,7 +6024,7 @@ tinMag src/Dodge/Item/Ammo.hs 27;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f -tmUpdate src/Dodge/Update.hs 434;" f +tmUpdate src/Dodge/Update.hs 442;" f toBinary src/Dodge/Inventory/SelectionList.hs 135;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -6040,11 +6040,11 @@ toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f toggleCommand src/Dodge/Terminal.hs 196;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 96;" f -toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 134;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 94;" f +toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 132;" f toggleExamineInv src/Dodge/ToggleExamine.hs 5;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 139;" f +toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 137;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 452;" f @@ -6052,7 +6052,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 338;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f -topTestPart src/Dodge/TestString.hs 77;" f +topTestPart src/Dodge/TestString.hs 74;" f torch src/Dodge/Item/Held/Utility.hs 33;" f torchShape src/Dodge/Item/Draw/SPic.hs 264;" f torqueCr src/Dodge/WorldEffect.hs 67;" f @@ -6069,8 +6069,8 @@ transMat src/MatrixHelper.hs 73;" f transToHandle src/Dodge/Item/HeldOffset.hs 21;" f translate src/Picture/Base.hs 116;" f translate3 src/Picture/Base.hs 120;" f -translateFloatingCamera src/Dodge/Update/Camera.hs 43;" f -translateFloatingCameraKeys src/Dodge/Update/Camera.hs 60;" f +translateFloatingCamera src/Dodge/Update/Camera.hs 48;" f +translateFloatingCameraKeys src/Dodge/Update/Camera.hs 65;" f translateH src/Picture/Base.hs 112;" f translatePointToHead src/Dodge/Creature/HandPos.hs 147;" f translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f @@ -6173,41 +6173,42 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 451;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 28;" f -updateBounds src/Dodge/Update/Camera.hs 211;" f +updateBounds src/Dodge/Update/Camera.hs 216;" f updateBulVel src/Dodge/Bullet.hs 53;" f updateBullet src/Dodge/Bullet.hs 21;" f -updateBullets src/Dodge/Update.hs 528;" f -updateCamera src/Dodge/Update/Camera.hs 27;" f +updateBullets src/Dodge/Update.hs 536;" f +updateCamera src/Dodge/Update/Camera.hs 25;" f +updateCamera' src/Dodge/Update/Camera.hs 32;" f updateCloseObjects src/Dodge/Inventory.hs 110;" f -updateCloud src/Dodge/Update.hs 727;" f -updateClouds src/Dodge/Update.hs 602;" f +updateCloud src/Dodge/Update.hs 735;" f +updateClouds src/Dodge/Update.hs 610;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombineSections src/Dodge/DisplayInventory.hs 44;" f updateCreature src/Dodge/Creature/Update.hs 13;" f -updateCreatureGroups src/Dodge/Update.hs 500;" f -updateCreatureSoundPositions src/Dodge/Update.hs 476;" f +updateCreatureGroups src/Dodge/Update.hs 508;" f +updateCreatureSoundPositions src/Dodge/Update.hs 484;" f updateDebugMessageOffset src/Dodge/Update.hs 94;" f -updateDelayedEvents src/Dodge/Update.hs 790;" f +updateDelayedEvents src/Dodge/Update.hs 798;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 521;" f +updateDistortions src/Dodge/Update.hs 529;" f updateEnergyBall src/Dodge/EnergyBall.hs 45;" f -updateEnergyBalls src/Dodge/Update.hs 590;" f +updateEnergyBalls src/Dodge/Update.hs 598;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 478;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 70;" f -updateFlames src/Dodge/Update.hs 587;" f -updateFloatingCamera src/Dodge/Update/Camera.hs 32;" f +updateFlames src/Dodge/Update.hs 595;" f +updateFloatingCamera src/Dodge/Update/Camera.hs 37;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 362;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 355;" f -updateGusts src/Dodge/Update.hs 710;" f +updateGusts src/Dodge/Update.hs 718;" f updateHeldRootItem src/Dodge/Creature/State.hs 259;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f -updateIMl src/Dodge/Update.hs 490;" f -updateIMl' src/Dodge/Update.hs 495;" f -updateInGameCamera src/Dodge/Update/Camera.hs 76;" f +updateIMl src/Dodge/Update.hs 498;" f +updateIMl' src/Dodge/Update.hs 503;" f +updateInGameCamera src/Dodge/Update/Camera.hs 81;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 398;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 377;" f @@ -6216,32 +6217,32 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 392;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 380;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 14;" f -updateLasers src/Dodge/Update.hs 421;" f +updateLasers src/Dodge/Update.hs 429;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 411;" f updateMachine src/Dodge/Machine/Update.hs 19;" f -updateMagnets src/Dodge/Update.hs 302;" f +updateMagnets src/Dodge/Update.hs 303;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 195;" f -updateMouseContext src/Dodge/Update.hs 315;" f -updateMouseContextGame src/Dodge/Update.hs 320;" f +updateMouseContext src/Dodge/Update.hs 316;" f +updateMouseContextGame src/Dodge/Update.hs 321;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 156;" f updateMovement src/Dodge/Creature/State.hs 429;" f -updateObjCatMaybes src/Dodge/Update.hs 512;" f -updateObjMapMaybe src/Dodge/Update.hs 505;" f -updatePastWorlds src/Dodge/Update.hs 409;" f +updateObjCatMaybes src/Dodge/Update.hs 520;" f +updateObjMapMaybe src/Dodge/Update.hs 513;" f +updatePastWorlds src/Dodge/Update.hs 417;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 599;" f +updatePosEvents src/Dodge/Update.hs 607;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 27;" f updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 22;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 524;" f +updateRadarBlips src/Dodge/Update.hs 532;" f updateRadarSweep src/Dodge/RadarSweep.hs 39;" f -updateRadarSweeps src/Dodge/Update.hs 593;" f +updateRadarSweeps src/Dodge/Update.hs 601;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 108;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6250,18 +6251,18 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 264;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 584;" f +updateShockwaves src/Dodge/Update.hs 592;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 596;" f +updateSparks src/Dodge/Update.hs 604;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f -updateTeslaArc src/Dodge/Update.hs 538;" f -updateTeslaArcs src/Dodge/Update.hs 535;" f +updateTeslaArc src/Dodge/Update.hs 546;" f +updateTeslaArcs src/Dodge/Update.hs 543;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 581;" f +updateTractorBeams src/Dodge/Update.hs 589;" f updateTurret src/Dodge/Machine/Update.hs 49;" f updateUniverse src/Dodge/Update.hs 72;" f updateUniverseFirst src/Dodge/Update.hs 84;" f @@ -6272,7 +6273,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 22;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 19;" f -updateWheelEvents src/Dodge/Update.hs 399;" f +updateWheelEvents src/Dodge/Update.hs 407;" f updateWorldEventFlag src/Dodge/Update.hs 119;" f updateWorldEventFlags src/Dodge/Update.hs 107;" f upperBody src/Dodge/Creature/Picture.hs 135;" f @@ -6306,7 +6307,7 @@ useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLoadedAmmo src/Dodge/HeldUse.hs 325;" f -useLocation src/Dodge/Creature/Impulse/UseItem.hs 68;" f +useLocation src/Dodge/Creature/Impulse/UseItem.hs 66;" f useMagShield src/Dodge/Euse.hs 46;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f @@ -6344,7 +6345,7 @@ verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 24;" f viewBoundaries src/Dodge/Debug/Picture.hs 304;" f viewClipBounds src/Dodge/Debug/Picture.hs 313;" f -viewDistanceFromItems src/Dodge/Update/Camera.hs 135;" f +viewDistanceFromItems src/Dodge/Update/Camera.hs 140;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 144;" f violet src/Color.hs 21;" f visibleWalls src/Dodge/Base/Collide.hs 123;" f @@ -6445,9 +6446,9 @@ zipArcs src/Dodge/Tesla/Arc.hs 110;" f zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 428;" f +zoneClouds src/Dodge/Update.hs 436;" f zoneCreature src/Dodge/Zoning/Creature.hs 53;" f -zoneCreatures src/Dodge/Update.hs 471;" f +zoneCreatures src/Dodge/Update.hs 479;" f zoneExtract src/Dodge/Zoning/Base.hs 51;" f zoneMonoid src/Dodge/Zoning/Base.hs 81;" f zoneOfCirc src/Dodge/Zoning/Base.hs 23;" f @@ -6465,8 +6466,8 @@ zonePn src/Dodge/Zoning/Pathing.hs 30;" f zoneWall src/Dodge/Zoning/Wall.hs 65;" f zonesAroundPoint src/Dodge/Zoning/Base.hs 90;" f zonesExtract src/Dodge/Zoning/Base.hs 55;" f -zoomFloatingCamera src/Dodge/Update/Camera.hs 68;" f -zoomFromItem src/Dodge/Update/Camera.hs 177;" f +zoomFloatingCamera src/Dodge/Update/Camera.hs 73;" f +zoomFromItem src/Dodge/Update/Camera.hs 182;" f zoomInLongGun src/Dodge/Update/Scroll.hs 96;" f zoomOutLongGun src/Dodge/Update/Scroll.hs 104;" f zoomScope src/Dodge/Item/Scope.hs 33;" f