From ed28af8d116a0f45eb6e33ec80557e1956ddfc76 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 5 Apr 2026 23:45:38 +0100 Subject: [PATCH] Make displayed terminal text screen dragable --- src/Dodge/Data/Input.hs | 3 +- src/Dodge/Data/World.hs | 2 + src/Dodge/Default/World.hs | 2 + src/Dodge/Render/HUD.hs | 4 +- src/Dodge/Render/List.hs | 4 +- src/Dodge/Render/Picture.hs | 1 + src/Dodge/Room/Tutorial.hs | 2 +- src/Dodge/TestString.hs | 3 + src/Dodge/Update.hs | 21 +- src/Dodge/Update/Input/InGame.hs | 21 ++ tags | 499 ++++++++++++++++--------------- 11 files changed, 300 insertions(+), 262 deletions(-) diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 72ae6a076..c9334d461 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -25,13 +25,14 @@ data MouseContext | OverCombFilter | OverCombEscape | OverTerminal {_mcoTermID :: Int, _mcoTermStatus :: TerminalStatus} + | OverTerminalBar {_mcoBarOffset :: Point2} | OutsideTerminal | MouseGameRotate {_mcoRotateDist :: Float} -- TODO warp mouse to this distance | OverDebug {_mcoDBBool :: DebugBool, _mcoDBInt :: Int} deriving (Show) data Input = Input - { _mousePos :: Point2 -- in pixels, from the center of the screen + { _mousePos :: Point2 -- in pixels, from the center of the screen, +ve up and right (I believe) , _mouseContext :: MouseContext , _mouseMoving :: Bool , _pressedKeys :: M.Map Scancode Int diff --git a/src/Dodge/Data/World.hs b/src/Dodge/Data/World.hs index 550226f5d..9a88c5255 100644 --- a/src/Dodge/Data/World.hs +++ b/src/Dodge/Data/World.hs @@ -10,6 +10,7 @@ module Dodge.Data.World ( module Dodge.Data.Input, ) where +import Dodge.Data.SelectionList import Color.Data import qualified Data.IntMap.Strict as IM import NewInt @@ -58,6 +59,7 @@ data World = World , _wCam :: Camera , _unpauseClock :: Int , _coordinates :: IM.IntMap Point2 -- temporary coordinates for world generation/placement + , _tmLDP :: LDParams } data TimeFlowStatus diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index 72e24ee1c..63c15b74d 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -1,6 +1,7 @@ module Dodge.Default.World (defaultWorld) where --import Data.Graph.Inductive.Graph hiding ((&)) +import Dodge.ListDisplayParams import qualified Data.Set as S import qualified Data.Map as M import Dodge.Data.World @@ -58,6 +59,7 @@ defaultWorld = , _unpauseClock = 0 , _coordinates = mempty , _wSoundFilter = FilterBySoundOrigin $ S.singleton SpawnSound + , _tmLDP = terminalLDP } defaultCWGen :: CWGen diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 291b5a3ee..5446c8ce7 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -373,11 +373,9 @@ drawTerminalDisplay w cfig tid = fold $ do TerminalTextInput s -> (++ [(getPromptTM ++ s ++ [cFilledRect], white)]) TerminalPressTo s -> (++ [(s, white)]) return $ - drawSelectionList terminalLDP cfig f + drawSelectionList (w ^. tmLDP) cfig f <> drawTerminalCursorLink w cfig tm where - -- <> tm ^. tmButtonID - -- <> invHead cfig ("TERMINAL-" ++ show tid) -- <> color -- (withAlpha 0.5 green) -- consider integrating termScreenColor somehow diff --git a/src/Dodge/Render/List.hs b/src/Dodge/Render/List.hs index af32b0017..49fe4992b 100644 --- a/src/Dodge/Render/List.hs +++ b/src/Dodge/Render/List.hs @@ -49,8 +49,8 @@ ldpRect :: Config -> LDParams -> Maybe (Point2, Point2) -- (NW, SE) ldpRect cfig ldp = do (x, y) <- ldp ^? ldpBorder . _Just return $ - ( V2 (-5) 5 - , V2 (10 * sf * fromIntegral x) (negate $ (20 * sf + ygap) * fromIntegral y + 5) + ( V2 0 0 + , V2 (10 * sf * fromIntegral x) (negate $ (20 * sf + ygap) * fromIntegral y) ) & each +~ screenPosAbs cfig (ldp ^. ldpPos) where diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index ef2a4f476..fd199163f 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -114,6 +114,7 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of OverCombCombine{} -> drawGapPlus 5 OverCombEscape -> rotate (pi / 4) $ drawPlus 5 OverTerminal _ ts -> drawCursorByTerminalStatus ts + OverTerminalBar _ -> drawDragSelect 5 OutsideTerminal -> rotate (pi / 4) $ drawPlus 5 MouseGameRotate {} -> rotate a (drawVerticalDoubleArrow 5) OverDebug {} -> drawPlus 5 <> rotate (pi/4) (drawPlus 5) diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 91741530c..3d01b2491 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -342,7 +342,7 @@ chasmSpitTerminal = do [ treePost [triggerDoorRoom i1, deadEndPSType (PutCrit chaseCrit)] --[ treePost [triggerDoorRoom i1, deadEndPSType (PutCrit hoverCrit)] --[ treePost [triggerDoorRoom i1, deadEndRoom] - , treePost [triggerDoorRoom i1, deadEndPSType (PutCrit hoverCrit)] + , treePost [triggerDoorRoom i1, deadEndPSType (PutCrit chaseCrit)] , return $ cleatOnward $ triggerDoorRoom i1 ] where diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index 1d1d81821..2649fc552 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -35,6 +35,9 @@ import RandomHelp import qualified SDL import ShortShow +tocrs :: (IM.IntMap Creature + -> Const (Endo [String]) (IM.IntMap Creature)) + -> Universe -> Const (Endo [String]) Universe tocrs = uvWorld . cWorld . lWorld . creatures testStringInit :: Universe -> [String] diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 233d470ff..12a0945df 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -3,6 +3,7 @@ module Dodge.Update (updateUniverse) where +import Dodge.Data.ScreenPos import Bound import Color import Control.Applicative @@ -412,6 +413,7 @@ updateMouseContextGame cfig u = \case x@OverInvDragSelect{} -> x MouseGameRotate x | ButtonRight `M.member` (w ^. input . mouseButtons) -> MouseGameRotate x + OverTerminalBar p | ButtonLeft `M.member` (w ^. input . mouseButtons) -> OverTerminalBar p _ -> fromMaybe aimcontext (overterm <|> overinv <|> overcomb) where w = u ^. uvWorld @@ -443,10 +445,16 @@ updateMouseContextGame cfig u = \case overterm = do tmid <- w ^? hud . subInventory . termID tm <- w ^? cWorld . lWorld . terminals . ix tmid - return $ - if isOverTerminalScreen cfig mpos - then OverTerminal tmid (tm ^. tmStatus) - else OutsideTerminal + xy <- ldpRect cfig (w ^. tmLDP) + return $ tmScreenMousePos w xy mpos tmid (tm ^. tmStatus) + +tmScreenMousePos :: World -> (Point2,Point2) -> Point2 -> Int -> TerminalStatus -> MouseContext +tmScreenMousePos w (V2 xmin ymax, V2 xmax ymin) (V2 x y) tmid ts + | xtest && y <= ymax && y >= ymin = OverTerminal tmid ts + | xtest && y <= ymax + 20 && y >= ymax = OverTerminalBar (w ^. tmLDP . ldpPos . spPixelOff - V2 x y) + | otherwise = OutsideTerminal + where + xtest = x <= xmax && x >= xmin getDebugMouseOver :: Universe -> MouseContext getDebugMouseOver u = fromMaybe MouseInGame $ do @@ -468,11 +476,6 @@ getMenuMouseContext screen u = case screen ^. scOptions of t <- screen ^? scSelectionList . ix yi . siIsSelectable return $ if t then MouseMenuClick yi else NoMouseContext -isOverTerminalScreen :: Config -> Point2 -> Bool -isOverTerminalScreen cfig (V2 x y) = fromMaybe False $ do - (V2 xmin ymax, V2 xmax ymin) <- ldpRect cfig terminalLDP - return $ x <= xmax && x >= xmin && y <= ymax && y >= ymin - updateWheelEvents :: World -> World updateWheelEvents w = case w ^. input . scrollAmount of 0 -> w diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 16f2ac814..2fdbd3479 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -5,6 +5,8 @@ module Dodge.Update.Input.InGame ( updateMouseInGame, ) where +import Dodge.Data.ScreenPos +import Geometry.Data import Dodge.Base.Coordinate import Dodge.Button.Event import Control.Applicative @@ -124,8 +126,27 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of guard (isGroupSelectableSection $ fst ysel) return $ w & input . mouseContext .~ OverInvDragSelect (Just ysel) Nothing OverInvDrag k mmouseover -> doDrag cfig 30 k mmouseover w + OverTerminalBar p -> w & tmLDP %~ setPixelOffsetBounded cfig (p + w ^. input . mousePos) _ -> w +setPixelOffsetBounded :: Config -> Point2 -> LDParams -> LDParams +setPixelOffsetBounded cfig (V2 x y) ldp = ldp & ldpPos . spPixelOff .~ V2 x' y' + where +-- (V2 xmin ymax, V2 xmax ymin) = ldpRect cfig ldp + h = fromIntegral $ cfig ^. windowX + w = fromIntegral $ cfig ^. windowY + V2 ax ay = -V2 w h + ldp ^. ldpPos . spScreenOff * V2 w h + x' = min w $ max 1 x + y' = y + +boundPixelOffset :: Config -> Point2 -> Point2 -> Point2 -> Point2 +boundPixelOffset cfig nw se p = p + +--leftHeldPosShift :: World -> Point2 +--leftHeldPosShift w = fromMaybe 0 $ do +-- p <- w ^? input . heldPos . ix SDL.ButtonLeft +-- return $ w ^. input . mousePos - p + doDrag :: Config -> Int -> Int -> Maybe (Int, Int) -> World -> World doDrag cfig n k mmouseover w = fromMaybe w $ do guard (n /= 0) diff --git a/tags b/tags index 968c7c018..14741f5db 100644 --- a/tags +++ b/tags @@ -191,7 +191,7 @@ CamOnPlayer src/Dodge/Data/Camera.hs 12;" C CamOpticScope src/Dodge/Data/Camera.hs 13;" C CamRemoteScope src/Dodge/Data/Camera.hs 14;" C Camera src/Dodge/Data/Camera.hs 22;" t -CameraScrollTimeFlow src/Dodge/Data/World.hs 73;" C +CameraScrollTimeFlow src/Dodge/Data/World.hs 75;" C CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 5;" t CapacitorBelow src/Dodge/Data/Muzzle.hs 23;" C CapacitorSF src/Dodge/Data/ComposedItem.hs 43;" C @@ -226,7 +226,7 @@ Comatose src/Dodge/Data/Creature/Perception.hs 51;" C CombAmount src/Dodge/Data/CombAmount.hs 10;" t CombItem src/Dodge/Data/Combine.hs 8;" t CombineInventory src/Dodge/Data/HUD.hs 22;" C -CombineInventoryChange src/Dodge/Data/World.hs 32;" C +CombineInventoryChange src/Dodge/Data/World.hs 33;" C ComsSS src/Dodge/Data/Scenario.hs 98;" C ConcurrentEffect src/Loop/Data.hs 6;" t ConcurrentEffect src/Loop/Data.hs 11;" C @@ -578,8 +578,8 @@ Inanimate src/Dodge/Data/ActionPlan.hs 15;" C IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 11;" C Inertial src/Dodge/Data/Damage.hs 28;" C InheritFloor src/Data/Tile.hs 12;" C -Input src/Dodge/Data/Input.hs 33;" t -InputMemory src/Dodge/Data/Input.hs 52;" t +Input src/Dodge/Data/Input.hs 34;" t +InputMemory src/Dodge/Data/Input.hs 53;" t InputScreen src/Dodge/Data/Universe.hs 92;" C Inspect_wall src/Dodge/Data/Config.hs 106;" C Institution src/Dodge/Data/Scenario.hs 42;" t @@ -590,7 +590,7 @@ IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C IntroScanSF src/Dodge/Data/ComposedItem.hs 21;" C IntroScanType src/Dodge/Data/Item/Combine.hs 44;" t InvInt src/Dodge/Data/Item/Location.hs 16;" t -InventoryChange src/Dodge/Data/World.hs 31;" C +InventoryChange src/Dodge/Data/World.hs 32;" C InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 12;" C InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 60;" C InventoryHeadSI src/Dodge/Data/SelectionList.hs 59;" C @@ -613,7 +613,7 @@ ItemSF src/Dodge/Data/ComposedItem.hs 12;" t ItemScroll src/Dodge/Data/Item.hs 38;" t ItemScrollInt src/Dodge/Data/Item.hs 40;" C ItemScrollIntRange src/Dodge/Data/Item.hs 41;" C -ItemScrollTimeFlow src/Dodge/Data/World.hs 67;" C +ItemScrollTimeFlow src/Dodge/Data/World.hs 69;" C ItemSound src/Dodge/Data/SoundOrigin.hs 19;" C ItemTargeting src/Dodge/Data/Item.hs 43;" t ItemType src/Dodge/Data/Item/Combine.hs 15;" t @@ -765,7 +765,7 @@ MountedObject src/Dodge/Data/MountedObject.hs 13;" t MountedSPic src/Dodge/Data/MountedObject.hs 15;" C MouseAiming src/Dodge/Data/Input.hs 15;" C MouseContext src/Dodge/Data/Input.hs 13;" t -MouseGameRotate src/Dodge/Data/Input.hs 29;" C +MouseGameRotate src/Dodge/Data/Input.hs 30;" C MouseInGame src/Dodge/Data/Input.hs 16;" C MouseMenuClick src/Dodge/Data/Input.hs 17;" C MouseMenuCursor src/Dodge/Data/Input.hs 18;" C @@ -851,7 +851,7 @@ NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 76;" C NonInf src/Dodge/Data/CardinalPoint.hs 44;" C NormalOptions src/Dodge/Data/Universe.hs 71;" C NormalSpark src/Dodge/Data/Spark.hs 19;" C -NormalTimeFlow src/Dodge/Data/World.hs 66;" C +NormalTimeFlow src/Dodge/Data/World.hs 68;" C North src/Dodge/Data/CardinalPoint.hs 7;" C North8 src/Dodge/Data/CardinalPoint.hs 28;" C NorthEast src/Dodge/Data/CardinalPoint.hs 21;" C @@ -936,18 +936,19 @@ OpticScope src/Dodge/Data/Item/Scope.hs 12;" C OptionScreen src/Dodge/Data/Universe.hs 82;" C OptionScreenFlag src/Dodge/Data/Universe.hs 70;" t OutLink src/Dodge/Data/Room.hs 48;" C -OutsideTerminal src/Dodge/Data/Input.hs 28;" C +OutsideTerminal src/Dodge/Data/Input.hs 29;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 12;" C OverCombCombine src/Dodge/Data/Input.hs 24;" C OverCombEscape src/Dodge/Data/Input.hs 26;" C OverCombFiltInv src/Dodge/Data/Input.hs 22;" C OverCombFilter src/Dodge/Data/Input.hs 25;" C OverCombSelect src/Dodge/Data/Input.hs 23;" C -OverDebug src/Dodge/Data/Input.hs 30;" C +OverDebug src/Dodge/Data/Input.hs 31;" C OverInvDrag src/Dodge/Data/Input.hs 19;" C OverInvDragSelect src/Dodge/Data/Input.hs 20;" C OverInvSelect src/Dodge/Data/Input.hs 21;" C OverTerminal src/Dodge/Data/Input.hs 27;" C +OverTerminalBar src/Dodge/Data/Input.hs 28;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 55;" C PBSound src/Dodge/Data/SoundOrigin.hs 42;" C @@ -976,8 +977,8 @@ PathShowType src/Dodge/Data/Universe.hs 52;" t PathTo src/Dodge/Data/ActionPlan.hs 70;" C Pathing src/Dodge/Data/Config.hs 90;" C Patrol src/Dodge/Data/ActionPlan.hs 132;" C -PauseTimeMessage src/Dodge/Data/World.hs 86;" C -PausedTimeFlow src/Dodge/Data/World.hs 82;" C +PauseTimeMessage src/Dodge/Data/World.hs 88;" C +PausedTimeFlow src/Dodge/Data/World.hs 84;" C Payload src/Dodge/Data/Payload.hs 9;" t PenetrateBullet src/Dodge/Data/Bullet.hs 29;" C Perception src/Dodge/Data/Creature/Perception.hs 30;" t @@ -1107,11 +1108,11 @@ RequireHealth src/Dodge/Data/Machine/Sensor.hs 34;" C ResFactor src/Dodge/Data/Config.hs 113;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C -RespawnDelay src/Dodge/Data/World.hs 64;" C +RespawnDelay src/Dodge/Data/World.hs 66;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C RetiredProjectile src/Dodge/Data/Projectile.hs 36;" C Revenge src/Dodge/Data/Scenario.hs 6;" C -RewindLeftClick src/Dodge/Data/World.hs 78;" C +RewindLeftClick src/Dodge/Data/World.hs 80;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C RightButtonState src/Dodge/Data/RightButtonOptions.hs 13;" t RightForward src/Dodge/Data/Creature/Stance.hs 30;" C @@ -1294,15 +1295,15 @@ TO src/Shader/Data.hs 59;" t TRACTORGUN src/Dodge/Data/Item/Combine.hs 169;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 64;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 71;" C -TSbackspace src/Dodge/Data/Input.hs 59;" C -TSdelete src/Dodge/Data/Input.hs 60;" C -TSdown src/Dodge/Data/Input.hs 65;" C -TSescape src/Dodge/Data/Input.hs 57;" C -TSleft src/Dodge/Data/Input.hs 62;" C -TSreturn src/Dodge/Data/Input.hs 58;" C -TSright src/Dodge/Data/Input.hs 63;" C -TStab src/Dodge/Data/Input.hs 61;" C -TSup src/Dodge/Data/Input.hs 64;" C +TSbackspace src/Dodge/Data/Input.hs 60;" C +TSdelete src/Dodge/Data/Input.hs 61;" C +TSdown src/Dodge/Data/Input.hs 66;" C +TSescape src/Dodge/Data/Input.hs 58;" C +TSleft src/Dodge/Data/Input.hs 63;" C +TSreturn src/Dodge/Data/Input.hs 59;" C +TSright src/Dodge/Data/Input.hs 64;" C +TStab src/Dodge/Data/Input.hs 62;" C +TSup src/Dodge/Data/Input.hs 65;" C TUBE src/Dodge/Data/Item/Combine.hs 51;" C TabComplete src/Dodge/Terminal.hs 160;" C TabCompletion src/Dodge/Terminal.hs 158;" t @@ -1316,7 +1317,7 @@ TargetRBPress src/Dodge/Data/Item/Targeting.hs 10;" C TargetingLaser src/Dodge/Data/Laser.hs 16;" C TargetingType src/Dodge/Data/Item/Targeting.hs 9;" t TeleSound src/Dodge/Data/SoundOrigin.hs 36;" C -TermSignal src/Dodge/Data/Input.hs 56;" t +TermSignal src/Dodge/Data/Input.hs 57;" t Terminal src/Dodge/Data/Terminal.hs 19;" t TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C TerminalLine src/Dodge/Data/Terminal.hs 36;" t @@ -1338,7 +1339,7 @@ TextShad src/Picture/Data.hs 32;" C ThermalSensor src/Dodge/Data/Machine/Sensor.hs 15;" C Tile src/Data/Tile.hs 16;" t Tiled src/Data/Tile.hs 14;" C -TimeFlowStatus src/Dodge/Data/World.hs 63;" t +TimeFlowStatus src/Dodge/Data/World.hs 65;" t Tiny src/Shape/Data.hs 27;" C TmDistributeAmmo src/Dodge/Data/Terminal.hs 62;" C TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 60;" C @@ -1473,8 +1474,8 @@ WarmTime src/Dodge/Data/Item/Params.hs 19;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C WarningCry src/Dodge/Data/ActionPlan.hs 137;" C -WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C -WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C +WasMouseGameRotating src/Dodge/Data/Input.hs 54;" C +WasNotMouseGameRotating src/Dodge/Data/Input.hs 55;" C WatchAndWait src/Dodge/Data/ActionPlan.hs 135;" C WdBl src/Dodge/Data/WorldEffect.hs 56;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 62;" C @@ -1505,8 +1506,8 @@ West src/Dodge/Data/CardinalPoint.hs 10;" C West8 src/Dodge/Data/CardinalPoint.hs 34;" C WlID src/Dodge/Data/CrWlID.hs 10;" C Wood src/Dodge/Data/Material.hs 11;" C -World src/Dodge/Data/World.hs 35;" t -WorldEventFlag src/Dodge/Data/World.hs 30;" t +World src/Dodge/Data/World.hs 36;" t +WorldEventFlag src/Dodge/Data/World.hs 31;" t WorldGovernment src/Dodge/Data/Scenario.hs 52;" C XInfinity src/Dodge/Data/CardinalPoint.hs 44;" t YELLOW src/Color/Data.hs 15;" C @@ -1606,7 +1607,7 @@ _burstFrames src/Dodge/Data/TriggerType.hs 12;" f _burstRate src/Dodge/Data/TriggerType.hs 12;" f _buttons src/Dodge/Data/LWorld.hs 135;" f _cClock src/Dodge/Data/CWorld.hs 26;" f -_cWorld src/Dodge/Data/World.hs 36;" f +_cWorld src/Dodge/Data/World.hs 37;" f _camBoundBox src/Dodge/Data/Camera.hs 30;" f _camBoundDist src/Dodge/Data/Camera.hs 31;" f _camCenter src/Dodge/Data/Camera.hs 23;" f @@ -1645,9 +1646,9 @@ _clPos src/Dodge/Data/Cloud.hs 13;" f _clTimer src/Dodge/Data/Cloud.hs 15;" f _clType src/Dodge/Data/Cloud.hs 16;" f _clVel src/Dodge/Data/Cloud.hs 14;" f -_clZoning src/Dodge/Data/World.hs 49;" f -_clickPos src/Dodge/Data/Input.hs 42;" f -_clickWorldPos src/Dodge/Data/Input.hs 44;" f +_clZoning src/Dodge/Data/World.hs 50;" f +_clickPos src/Dodge/Data/Input.hs 43;" f +_clickWorldPos src/Dodge/Data/Input.hs 45;" f _cliffs src/Dodge/Data/CWorld.hs 34;" f _closeButtons src/Dodge/Data/HUD.hs 36;" f _closeItems src/Dodge/Data/HUD.hs 35;" f @@ -1657,7 +1658,7 @@ _clouds src/Dodge/Data/LWorld.hs 98;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 22;" f _coolStart src/Dodge/Data/TriggerType.hs 16;" f -_coordinates src/Dodge/Data/World.hs 60;" f +_coordinates src/Dodge/Data/World.hs 61;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 32;" f _cpAudition src/Dodge/Data/Creature/Perception.hs 35;" f _cpAwareness src/Dodge/Data/Creature/Perception.hs 33;" f @@ -1695,7 +1696,7 @@ _crStance src/Dodge/Data/Creature.hs 49;" f _crType src/Dodge/Data/Creature.hs 41;" f _crVocalization src/Dodge/Data/Creature.hs 53;" f _crWallTouch src/Dodge/Data/Creature.hs 59;" f -_crZoning src/Dodge/Data/World.hs 48;" f +_crZoning src/Dodge/Data/World.hs 49;" f _creatureGroups src/Dodge/Data/LWorld.hs 96;" f _creatures src/Dodge/Data/LWorld.hs 95;" f _csLinks src/Dodge/Data/RoomCluster.hs 10;" f @@ -1781,7 +1782,7 @@ _dsPos src/Dodge/Data/Cloud.hs 27;" f _dsTimer src/Dodge/Data/Cloud.hs 29;" f _dsType src/Dodge/Data/Cloud.hs 30;" f _dsVel src/Dodge/Data/Cloud.hs 28;" f -_dsZoning src/Dodge/Data/World.hs 51;" f +_dsZoning src/Dodge/Data/World.hs 52;" f _dtLeft src/Dodge/Data/DoubleTree.hs 16;" f _dtRight src/Dodge/Data/DoubleTree.hs 16;" f _dtValue src/Dodge/Data/DoubleTree.hs 16;" f @@ -1826,10 +1827,10 @@ _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f _fsSPic src/Dodge/Data/ForegroundShape.hs 15;" f _fullscreenShader src/Data/Preload/Render.hs 23;" f -_futureWorlds src/Dodge/Data/World.hs 70;" f -_futureWorlds src/Dodge/Data/World.hs 76;" f +_futureWorlds src/Dodge/Data/World.hs 72;" f +_futureWorlds src/Dodge/Data/World.hs 78;" f _gameplay_rotate_to_wall src/Dodge/Data/Config.hs 66;" f -_gasZoning src/Dodge/Data/World.hs 50;" f +_gasZoning src/Dodge/Data/World.hs 51;" f _gasses src/Dodge/Data/LWorld.hs 100;" f _genInts src/Dodge/Data/GenWorld.hs 28;" f _genPmnt src/Dodge/Data/GenWorld.hs 27;" f @@ -1864,18 +1865,18 @@ _gsPos src/Dodge/Data/Cloud.hs 35;" f _gsTimer src/Dodge/Data/Cloud.hs 37;" f _gsType src/Dodge/Data/Cloud.hs 38;" f _gsVel src/Dodge/Data/Cloud.hs 36;" f -_gsZoning src/Dodge/Data/World.hs 57;" f +_gsZoning src/Dodge/Data/World.hs 58;" f _guID src/Dodge/Data/Gust.hs 12;" f _guPos src/Dodge/Data/Gust.hs 13;" f _guTime src/Dodge/Data/Gust.hs 15;" f _guVel src/Dodge/Data/Gust.hs 14;" f _gusts src/Dodge/Data/LWorld.hs 101;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f -_heldPos src/Dodge/Data/Input.hs 43;" f -_heldWorldPos src/Dodge/Data/Input.hs 45;" f +_heldPos src/Dodge/Data/Input.hs 44;" f +_heldWorldPos src/Dodge/Data/Input.hs 46;" f _highlightItems src/Dodge/Data/CWorld.hs 36;" f _hotkeys src/Dodge/Data/LWorld.hs 145;" f -_hud src/Dodge/Data/World.hs 46;" f +_hud src/Dodge/Data/World.hs 47;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f _ibtAttach src/Dodge/Data/Item/Combine.hs 19;" f _ibtBulletMod src/Dodge/Data/Item/Combine.hs 22;" f @@ -1902,13 +1903,13 @@ _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 45;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 72;" f -_incEdgeZoning src/Dodge/Data/World.hs 56;" f +_incEdgeZoning src/Dodge/Data/World.hs 57;" f _incEdges src/Dodge/Data/CWorld.hs 31;" f _incGraph src/Dodge/Data/CWorld.hs 29;" f _incNode src/Dodge/Data/CWorld.hs 30;" f -_incNodeZoning src/Dodge/Data/World.hs 55;" f -_input src/Dodge/Data/World.hs 43;" f -_inputMemory src/Dodge/Data/Input.hs 49;" f +_incNodeZoning src/Dodge/Data/World.hs 56;" f +_input src/Dodge/Data/World.hs 44;" f +_inputMemory src/Dodge/Data/Input.hs 50;" f _isWarming src/Dodge/Data/Item/Params.hs 21;" f _ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" f _ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" f @@ -1998,16 +1999,17 @@ _mcSkin src/Dodge/Data/Machine.hs 34;" f _mcTriggerID src/Dodge/Data/Machine.hs 51;" f _mcType src/Dodge/Data/Machine.hs 40;" f _mcdStorageMachine src/Dodge/Data/Machine.hs 50;" f +_mcoBarOffset src/Dodge/Data/Input.hs 28;" f _mcoCombCombine src/Dodge/Data/Input.hs 24;" f _mcoCombSelect src/Dodge/Data/Input.hs 23;" f -_mcoDBBool src/Dodge/Data/Input.hs 30;" f -_mcoDBInt src/Dodge/Data/Input.hs 30;" f +_mcoDBBool src/Dodge/Data/Input.hs 31;" f +_mcoDBInt src/Dodge/Data/Input.hs 31;" f _mcoDragSection src/Dodge/Data/Input.hs 19;" f _mcoInvFilt src/Dodge/Data/Input.hs 22;" f _mcoInvSelect src/Dodge/Data/Input.hs 21;" f _mcoMaybeSelect src/Dodge/Data/Input.hs 19;" f _mcoMenuClick src/Dodge/Data/Input.hs 17;" f -_mcoRotateDist src/Dodge/Data/Input.hs 29;" f +_mcoRotateDist src/Dodge/Data/Input.hs 30;" f _mcoSecSelStart src/Dodge/Data/Input.hs 20;" f _mcoSelEnd src/Dodge/Data/Input.hs 20;" f _mcoTermID src/Dodge/Data/Input.hs 27;" f @@ -2039,11 +2041,11 @@ _moString src/Dodge/Data/Universe.hs 117;" f _modOption src/Dodge/Data/Universe.hs 107;" f _modString src/Dodge/Data/Universe.hs 105;" f _modifications src/Dodge/Data/LWorld.hs 132;" f -_mouseButtons src/Dodge/Data/Input.hs 38;" f -_mouseButtonsReleased src/Dodge/Data/Input.hs 39;" f -_mouseContext src/Dodge/Data/Input.hs 35;" f -_mouseMoving src/Dodge/Data/Input.hs 36;" f -_mousePos src/Dodge/Data/Input.hs 34;" f +_mouseButtons src/Dodge/Data/Input.hs 39;" f +_mouseButtonsReleased src/Dodge/Data/Input.hs 40;" f +_mouseContext src/Dodge/Data/Input.hs 36;" f +_mouseMoving src/Dodge/Data/Input.hs 37;" f +_mousePos src/Dodge/Data/Input.hs 35;" f _mtBranches src/Dodge/Data/MetaTree.hs 13;" f _mtLabel src/Dodge/Data/MetaTree.hs 13;" f _mtTree src/Dodge/Data/MetaTree.hs 13;" f @@ -2083,11 +2085,11 @@ _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 18;" f _opticPos src/Dodge/Data/Item/Scope.hs 14;" f _opticZoom src/Dodge/Data/Item/Scope.hs 17;" f _partialAction src/Dodge/Data/ActionPlan.hs 111;" f -_pastWorlds src/Dodge/Data/World.hs 37;" f +_pastWorlds src/Dodge/Data/World.hs 38;" f _pathFailAction src/Dodge/Data/ActionPlan.hs 70;" f _pathToPoint src/Dodge/Data/ActionPlan.hs 70;" f -_pauseTimeMesage src/Dodge/Data/World.hs 87;" f -_pauseTimeMesageColor src/Dodge/Data/World.hs 88;" f +_pauseTimeMesage src/Dodge/Data/World.hs 89;" f +_pauseTimeMesageColor src/Dodge/Data/World.hs 90;" f _pbPos src/Dodge/Data/PlasmaBall.hs 16;" f _pbType src/Dodge/Data/PlasmaBall.hs 14;" f _pbVel src/Dodge/Data/PlasmaBall.hs 15;" f @@ -2115,7 +2117,7 @@ _plSpot src/Dodge/Data/GenWorld.hs 114;" f _plType src/Dodge/Data/GenWorld.hs 115;" f _plasmaBalls src/Dodge/Data/LWorld.hs 106;" f _playStatus src/Sound/Data.hs 15;" f -_playingSounds src/Dodge/Data/World.hs 41;" f +_playingSounds src/Dodge/Data/World.hs 42;" f _posture src/Dodge/Data/Creature/Stance.hs 17;" f _prBounds src/Dodge/Tree/Shift.hs 30;" f _prDraw src/Dodge/Data/Prop.hs 16;" f @@ -2124,7 +2126,7 @@ _prPos src/Dodge/Data/Prop.hs 15;" f _prRooms src/Dodge/Tree/Shift.hs 31;" f _prRot src/Dodge/Data/Prop.hs 18;" f _preloadData src/Dodge/Data/Universe.hs 30;" f -_pressedKeys src/Dodge/Data/Input.hs 37;" f +_pressedKeys src/Dodge/Data/Input.hs 38;" f _projectiles src/Dodge/Data/LWorld.hs 104;" f _props src/Dodge/Data/LWorld.hs 102;" f _proxReqDead src/Dodge/Data/Machine/Sensor.hs 36;" f @@ -2177,12 +2179,12 @@ _pzbVel src/Dodge/Data/PulseLaser.hs 21;" f _rCommands src/Dodge/Terminal.hs 165;" f _radarBlips src/Dodge/Data/LWorld.hs 111;" f _radarSweeps src/Dodge/Data/LWorld.hs 107;" f -_randGen src/Dodge/Data/World.hs 39;" f +_randGen src/Dodge/Data/World.hs 40;" f _rbColor src/Dodge/Data/RadarBlip.hs 13;" f _rbMaxTime src/Dodge/Data/RadarBlip.hs 15;" f _rbPos src/Dodge/Data/RadarBlip.hs 17;" f _rbRad src/Dodge/Data/RadarBlip.hs 16;" f -_rbState src/Dodge/Data/World.hs 45;" f +_rbState src/Dodge/Data/World.hs 46;" f _rbTime src/Dodge/Data/RadarBlip.hs 14;" f _rboBaseBloom src/Data/Preload/Render.hs 41;" f _rdDist1 src/Dodge/Data/Distortion.hs 13;" f @@ -2193,11 +2195,11 @@ _rdTG src/Dodge/Data/Distortion.hs 17;" f _rdTR src/Dodge/Data/Distortion.hs 15;" f _rdTime src/Dodge/Data/Distortion.hs 27;" f _renderData src/Data/Preload.hs 11;" f -_respawnDelay src/Dodge/Data/World.hs 65;" f +_respawnDelay src/Dodge/Data/World.hs 67;" f _respawnPos src/Dodge/Data/LWorld.hs 149;" f -_reverseAmount src/Dodge/Data/World.hs 69;" f -_reverseAmount src/Dodge/Data/World.hs 75;" f -_reverseAmount src/Dodge/Data/World.hs 79;" f +_reverseAmount src/Dodge/Data/World.hs 71;" f +_reverseAmount src/Dodge/Data/World.hs 77;" f +_reverseAmount src/Dodge/Data/World.hs 81;" f _rkHoming src/Dodge/Data/Projectile.hs 33;" f _rkSmoke src/Dodge/Data/Projectile.hs 34;" f _rlDir src/Dodge/Data/Room.hs 27;" f @@ -2258,14 +2260,14 @@ _scPara src/Dodge/Data/Universe.hs 94;" f _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f -_scrollAmount src/Dodge/Data/Input.hs 40;" f -_scrollItemID src/Dodge/Data/World.hs 71;" f -_scrollItemID src/Dodge/Data/World.hs 80;" f -_scrollItemID src/Dodge/Data/World.hs 84;" f -_scrollSmoothing src/Dodge/Data/World.hs 68;" f -_scrollSmoothing src/Dodge/Data/World.hs 74;" f -_scrollTestFloat src/Dodge/Data/Input.hs 47;" f -_scrollTestInt src/Dodge/Data/Input.hs 48;" f +_scrollAmount src/Dodge/Data/Input.hs 41;" f +_scrollItemID src/Dodge/Data/World.hs 73;" f +_scrollItemID src/Dodge/Data/World.hs 82;" f +_scrollItemID src/Dodge/Data/World.hs 86;" f +_scrollSmoothing src/Dodge/Data/World.hs 70;" f +_scrollSmoothing src/Dodge/Data/World.hs 76;" f +_scrollTestFloat src/Dodge/Data/Input.hs 48;" f +_scrollTestInt src/Dodge/Data/Input.hs 49;" f _scurColor src/Dodge/Data/SelectionList.hs 27;" f _scurPos src/Dodge/Data/SelectionList.hs 25;" f _scurSize src/Dodge/Data/SelectionList.hs 26;" f @@ -2312,7 +2314,7 @@ _skinUpper src/Dodge/Data/Creature/Misc.hs 72;" f _slInt src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 41;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f _soundAngDist src/Sound/Data.hs 47;" f _soundChannel src/Sound/Data.hs 46;" f _soundChunkID src/Sound/Data.hs 51;" f @@ -2366,8 +2368,8 @@ _tempSPic src/Dodge/Data/LWorld.hs 113;" f _termID src/Dodge/Data/HUD.hs 27;" f _terminals src/Dodge/Data/LWorld.hs 126;" f _teslaArcs src/Dodge/Data/LWorld.hs 114;" f -_testFloat src/Dodge/Data/World.hs 44;" f -_textInput src/Dodge/Data/Input.hs 46;" f +_testFloat src/Dodge/Data/World.hs 45;" f +_textInput src/Dodge/Data/Input.hs 47;" f _textureAntiaShader src/Data/Preload/Render.hs 24;" f _textureObject src/Shader/Data.hs 103;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f @@ -2377,8 +2379,8 @@ _tileTangentPos src/Data/Tile.hs 23;" f _tileZero src/Data/Tile.hs 19;" f _tileZeroShift src/Data/Tile.hs 25;" f _tiles src/Data/Tile.hs 14;" f -_timeFlow src/Dodge/Data/World.hs 38;" f -_timeFlowCharge src/Dodge/Data/World.hs 83;" f +_timeFlow src/Dodge/Data/World.hs 39;" f +_timeFlowCharge src/Dodge/Data/World.hs 85;" f _tlEffect src/Dodge/Data/Terminal.hs 39;" f _tlPause src/Dodge/Data/Terminal.hs 37;" f _tlString src/Dodge/Data/Terminal.hs 38;" f @@ -2390,6 +2392,7 @@ _tmDeathEffect src/Dodge/Data/Terminal.hs 27;" f _tmDisplayedLines src/Dodge/Data/Terminal.hs 24;" f _tmFutureLines src/Dodge/Data/Terminal.hs 25;" f _tmID src/Dodge/Data/Terminal.hs 20;" f +_tmLDP src/Dodge/Data/World.hs 62;" f _tmMachineID src/Dodge/Data/Terminal.hs 23;" f _tmRebootOnAccess src/Dodge/Data/Terminal.hs 31;" f _tmStatus src/Dodge/Data/Terminal.hs 28;" f @@ -2400,7 +2403,7 @@ _toPlaySoundStatus src/Sound/Data.hs 35;" f _toPlaySoundTime src/Sound/Data.hs 34;" f _toPlaySoundVolume src/Sound/Data.hs 37;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 38;" f -_toPlaySounds src/Dodge/Data/World.hs 40;" f +_toPlaySounds src/Dodge/Data/World.hs 41;" f _topBoxSize src/Shape/Data.hs 12;" f _tptString src/Dodge/Data/Terminal/Status.hs 15;" f _tractorBeams src/Dodge/Data/LWorld.hs 121;" f @@ -2430,7 +2433,7 @@ _unST src/Dodge/Data/MetaTree.hs 21;" f _unTO src/Shader/Data.hs 59;" f _unVAO src/Shader/Data.hs 64;" f _unfiredBarrels src/Dodge/Data/Item/Params.hs 17;" f -_unpauseClock src/Dodge/Data/World.hs 59;" f +_unpauseClock src/Dodge/Data/World.hs 60;" f _unputTerminal src/Dodge/Data/GenWorld.hs 41;" f _upscaleCloudShader src/Data/Preload/Render.hs 25;" f _useExactly src/Dodge/Data/Muzzle.hs 63;" f @@ -2483,8 +2486,8 @@ _vxExt src/Picture/Data.hs 14;" f _vxLayer src/Picture/Data.hs 15;" f _vxPos src/Picture/Data.hs 12;" f _vxShadNum src/Picture/Data.hs 16;" f -_wCam src/Dodge/Data/World.hs 58;" f -_wSoundFilter src/Dodge/Data/World.hs 42;" f +_wCam src/Dodge/Data/World.hs 59;" f +_wSoundFilter src/Dodge/Data/World.hs 43;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f @@ -2511,8 +2514,8 @@ _wlStCreature src/Dodge/Data/Wall/Structure.hs 16;" f _wlStructure src/Dodge/Data/Wall.hs 24;" f _wlTouchThrough src/Dodge/Data/Wall.hs 21;" f _wlUnshadowed src/Dodge/Data/Wall.hs 22;" f -_wlZoning src/Dodge/Data/World.hs 52;" f -_worldEventFlags src/Dodge/Data/World.hs 47;" f +_wlZoning src/Dodge/Data/World.hs 53;" f +_worldEventFlags src/Dodge/Data/World.hs 48;" f _worldEvents src/Dodge/Data/LWorld.hs 133;" f _wsBlock src/Dodge/Data/Wall/Structure.hs 15;" f _wsDoor src/Dodge/Data/Wall/Structure.hs 13;" f @@ -2570,9 +2573,9 @@ addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 481;" f +advanceScrollAmount src/Dodge/Update.hs 484;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f -aimDelaySweep src/Dodge/Render/Picture.hs 285;" f +aimDelaySweep src/Dodge/Render/Picture.hs 286;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 152;" f airlock src/Dodge/Room/Airlock.hs 28;" f @@ -2751,6 +2754,7 @@ bossRoom src/Dodge/Room/Boss.hs 55;" f bounceDir src/Dodge/Bullet.hs 111;" f bouncePoint src/Dodge/Base/Collide.hs 88;" f bounceSound src/Dodge/Projectile/Update.hs 74;" f +boundPixelOffset src/Dodge/Update/Input/InGame.hs 142;" f boundPoints src/Bound.hs 9;" f boundPointsRect src/Bound.hs 23;" f boundedGrid src/Grid.hs 17;" f @@ -2789,7 +2793,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f canSee src/Dodge/Base/Collide.hs 325;" f canSeeIndirect src/Dodge/Base/Collide.hs 332;" f -canSpring src/Dodge/Update.hs 973;" f +canSpring src/Dodge/Update.hs 976;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f capacitor src/Dodge/Item/Ammo.hs 67;" f card8Vec src/Dodge/Base/CardinalPoint.hs 24;" f @@ -2819,24 +2823,22 @@ chaseCrit src/Dodge/Creature/ChaseCrit.hs 28;" f chaseCritInternal src/Dodge/Humanoid.hs 11;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 123;" f chaseUpperBody src/Dodge/Creature/Picture.hs 77;" f -chasmRotate src/Dodge/Creature/State/WalkCycle.hs 99;" f +chasmRotate src/Dodge/Creature/State/WalkCycle.hs 116;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 375;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 307;" f -chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 70;" f -chasmTestLiving src/Dodge/Creature/State/WalkCycle.hs 85;" f -chasmTestOnGround src/Dodge/Creature/State/WalkCycle.hs 106;" f +chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 101;" f chasmWallToSurface src/Dodge/Base/Collide.hs 121;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkDeath src/Dodge/Creature/Update.hs 95;" f checkDeath' src/Dodge/Creature/Update.hs 98;" f -checkEndGame src/Dodge/Update.hs 859;" f +checkEndGame src/Dodge/Update.hs 862;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 396;" f +checkTermDist src/Dodge/Update.hs 397;" 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 @@ -2844,7 +2846,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f chestPQ src/Dodge/Creature/HandPos.hs 180;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f -chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 155;" f +chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 145;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f circHitWall src/Dodge/Base/Collide.hs 244;" f @@ -2853,6 +2855,8 @@ circOnAnyCr src/Dodge/Base/Collide.hs 289;" f circOnSeg src/Geometry.hs 101;" f circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSomeWall src/Dodge/Base/Collide.hs 283;" f +circSegsInside src/Dodge/Creature/State/WalkCycle.hs 87;" f +circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 76;" f circle src/Picture/Base.hs 172;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f circleSolid src/Picture/Base.hs 156;" f @@ -2938,7 +2942,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 753;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 377;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 398;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -2960,7 +2964,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCamouflage src/Dodge/Creature/Picture.hs 40;" f crCanSeeCr src/Dodge/Creature/Test.hs 50;" f -crCrSpring src/Dodge/Update.hs 981;" f +crCrSpring src/Dodge/Update.hs 984;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 35;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f @@ -2996,7 +3000,7 @@ crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 72;" f crSetRoots src/Dodge/Inventory/Location.hs 56;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 968;" f +crSpring src/Dodge/Update.hs 971;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f crUpdate src/Dodge/Creature/Update.hs 88;" f @@ -3150,9 +3154,9 @@ defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 18;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultButton src/Dodge/Default.hs 45;" f -defaultCWCam src/Dodge/Default/World.hs 73;" f -defaultCWGen src/Dodge/Default/World.hs 63;" f -defaultCWorld src/Dodge/Default/World.hs 88;" f +defaultCWCam src/Dodge/Default/World.hs 75;" f +defaultCWGen src/Dodge/Default/World.hs 65;" f +defaultCWorld src/Dodge/Default/World.hs 90;" f defaultChaseMvType src/Dodge/Creature/MoveType.hs 26;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f defaultConfig src/Dodge/Data/Config.hs 152;" f @@ -3167,13 +3171,13 @@ defaultDoorWall src/Dodge/Default/Wall.hs 29;" f defaultDrawButton src/Dodge/Button/Draw.hs 44;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 172;" f +defaultHUD src/Dodge/Default/World.hs 174;" f defaultInanimate src/Dodge/Default/Creature.hs 63;" f -defaultInput src/Dodge/Default/World.hs 12;" f +defaultInput src/Dodge/Default/World.hs 13;" f defaultIntention src/Dodge/Default/Creature.hs 99;" f defaultInvSize src/Dodge/Default/Creature.hs 73;" f defaultLDP src/Dodge/ListDisplayParams.hs 19;" f -defaultLWorld src/Dodge/Default/World.hs 106;" f +defaultLWorld src/Dodge/Default/World.hs 108;" f defaultMachine src/Dodge/Default.hs 30;" f defaultMachineWall src/Dodge/Default/Wall.hs 38;" f defaultPerceptionState src/Dodge/Default/Creature.hs 76;" f @@ -3183,7 +3187,7 @@ defaultTerminal src/Dodge/Default/Terminal.hs 8;" f defaultVision src/Dodge/Default/Creature.hs 86;" f defaultWall src/Dodge/Default/Wall.hs 15;" f defaultWindow src/Dodge/Default/Wall.hs 54;" f -defaultWorld src/Dodge/Default/World.hs 33;" f +defaultWorld src/Dodge/Default/World.hs 34;" f degToRad src/Geometry/Vector.hs 120;" f deleteIMInZone src/Dodge/Base.hs 70;" f deleteWallFromZones src/Dodge/Wall/Zone.hs 23;" f @@ -3223,7 +3227,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f -displayTerminalLineString src/Dodge/Update.hs 566;" f +displayTerminalLineString src/Dodge/Update.hs 569;" f dist src/Geometry/Vector.hs 187;" f dist3 src/Geometry/Vector3D.hs 101;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f @@ -3265,7 +3269,7 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f doDoorMount src/Dodge/Door.hs 32;" f -doDrag src/Dodge/Update/Input/InGame.hs 129;" f +doDrag src/Dodge/Update/Input/InGame.hs 150;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3275,16 +3279,16 @@ doHeldUseEffect src/Dodge/HeldUse.hs 379;" f doInPlacements src/Dodge/Layout.hs 101;" f doIndividualPlacements src/Dodge/Layout.hs 113;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 38;" f -doItemTimeScroll src/Dodge/Update.hs 228;" f +doItemTimeScroll src/Dodge/Update.hs 229;" f doLoop src/Loop.hs 60;" f doMagnetBuBu src/Dodge/Bullet.hs 35;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f -doMouseWarping src/Dodge/Update.hs 163;" f +doMouseWarping src/Dodge/Update.hs 164;" f doPreload appDodge/Main.hs 132;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 423;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 444;" f doRoomPlacements src/Dodge/Layout.hs 116;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f @@ -3296,14 +3300,14 @@ doTestDrawing src/Dodge/Render.hs 40;" 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 132;" f -doTimeScroll src/Dodge/Update.hs 233;" f +doTimeScroll src/Dodge/Update.hs 234;" f doTmWdWd src/Dodge/WorldEffect.hs 102;" f doWallRotate src/Dodge/Update/Camera.hs 231;" f doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 35;" f -doWorldEvents src/Dodge/Update.hs 490;" f +doWorldEvents src/Dodge/Update.hs 493;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f @@ -3318,10 +3322,10 @@ doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f doubleV2 src/Geometry.hs 169;" f drawARHUD src/Dodge/Creature/State.hs 198;" f -drawAimSweep src/Dodge/Render/Picture.hs 292;" f +drawAimSweep src/Dodge/Render/Picture.hs 293;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f -drawArrowDown src/Dodge/Render/Picture.hs 219;" f +drawAnySelectionBox src/Dodge/Render/Picture.hs 131;" f +drawArrowDown src/Dodge/Render/Picture.hs 220;" f drawBaseMachine src/Dodge/Machine/Draw.hs 74;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Render/ShapePicture.hs 81;" f @@ -3333,7 +3337,7 @@ drawChaseCrit src/Dodge/Creature/Picture.hs 68;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 267;" f +drawCombFilter src/Dodge/Render/Picture.hs 268;" f drawCombineInventory src/Dodge/Render/HUD.hs 190;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawCoord src/Dodge/Debug/Picture.hs 396;" f @@ -3345,18 +3349,18 @@ drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCross src/Dodge/Render/Label.hs 25;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 73;" f -drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f +drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 138;" f drawDDATest src/Dodge/Debug/Picture.hs 304;" f drawDamSensor src/Dodge/Machine/Draw.hs 37;" f drawDebug src/Dodge/Debug.hs 253;" f -drawDrag src/Dodge/Render/Picture.hs 198;" f -drawDragDrop src/Dodge/Render/Picture.hs 227;" f -drawDragPickup src/Dodge/Render/Picture.hs 236;" f -drawDragSelect src/Dodge/Render/Picture.hs 195;" f +drawDrag src/Dodge/Render/Picture.hs 199;" f +drawDragDrop src/Dodge/Render/Picture.hs 228;" f +drawDragPickup src/Dodge/Render/Picture.hs 237;" f +drawDragSelect src/Dodge/Render/Picture.hs 196;" f drawDragSelected src/Dodge/Render/HUD.hs 144;" f drawDragSelecting src/Dodge/Render/HUD.hs 162;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f -drawEmptySet src/Dodge/Render/Picture.hs 151;" f +drawEmptySet src/Dodge/Render/Picture.hs 152;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 180;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f @@ -3365,7 +3369,7 @@ drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 34;" f drawForceField src/Dodge/Wall/Draw.hs 15;" f -drawGapPlus src/Dodge/Render/Picture.hs 278;" f +drawGapPlus src/Dodge/Render/Picture.hs 279;" f drawGib src/Dodge/Prop/Draw.hs 31;" f drawHUD src/Dodge/Render/HUD.hs 53;" f drawHoverCrit src/Dodge/Creature/Picture.hs 58;" f @@ -3375,7 +3379,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInventory src/Dodge/Render/HUD.hs 61;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 332;" f drawItemConnections src/Dodge/Render/HUD.hs 325;" f -drawJumpDown src/Dodge/Render/Picture.hs 190;" f +drawJumpDown src/Dodge/Render/Picture.hs 191;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 198;" f drawLaser src/Dodge/Laser/Update.hs 30;" f @@ -3389,8 +3393,8 @@ drawLoadingScreen src/Dodge/Render/MenuScreen.hs 24;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f drawMapperInventory src/Dodge/Render/HUD.hs 181;" f -drawMenuClick src/Dodge/Render/Picture.hs 166;" f -drawMenuCursor src/Dodge/Render/Picture.hs 178;" f +drawMenuClick src/Dodge/Render/Picture.hs 167;" f +drawMenuCursor src/Dodge/Render/Picture.hs 179;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 67;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 18;" f drawMouseCursor src/Dodge/Render/Picture.hs 83;" f @@ -3401,20 +3405,20 @@ drawPathBetween src/Dodge/Debug/Picture.hs 202;" f drawPathEdge src/Dodge/Debug/Picture.hs 261;" f drawPathing src/Dodge/Debug/Picture.hs 417;" f drawPlasmaBall src/Dodge/Render/ShapePicture.hs 103;" f -drawPlus src/Dodge/Render/Picture.hs 163;" f +drawPlus src/Dodge/Render/Picture.hs 164;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 95;" f drawPulseLaser src/Dodge/Laser/Update.hs 42;" f -drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f +drawQuitTerminal src/Dodge/Render/Picture.hs 146;" f drawRBOptions src/Dodge/Render/HUD.hs 253;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f -drawReturn src/Dodge/Render/Picture.hs 154;" f +drawReturn src/Dodge/Render/Picture.hs 155;" f drawRootCursor src/Dodge/Render/HUD.hs 82;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 32;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 37;" f -drawSelect src/Dodge/Render/Picture.hs 255;" f +drawSelect src/Dodge/Render/Picture.hs 256;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f drawShaderLay src/Render.hs 218;" f @@ -3427,7 +3431,7 @@ drawSubInventory src/Dodge/Render/HUD.hs 173;" f drawSwitch src/Dodge/Button/Draw.hs 18;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 392;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 390;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 357;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 224;" f @@ -3435,7 +3439,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 49;" f drawTitleBackground src/Dodge/Render/List.hs 60;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 92;" f -drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f +drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 211;" f drawWall src/Dodge/Wall/Draw.hs 11;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 323;" f @@ -3490,8 +3494,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f encircleDistP src/Dodge/Creature/Boid.hs 24;" f encircleP src/Dodge/Creature/Boid.hs 30;" f endArcPos src/Dodge/Tesla.hs 86;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 277;" f -endRegex src/Dodge/Update/Input/InGame.hs 271;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 298;" f +endRegex src/Dodge/Update/Input/InGame.hs 292;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f enterCombineInv src/Dodge/DisplayInventory.hs 321;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3610,7 +3614,7 @@ fromV3 src/Geometry/Data.hs 63;" f frontArmour src/Dodge/Item/Equipment.hs 32;" f fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f -functionalUpdate src/Dodge/Update.hs 276;" f +functionalUpdate src/Dodge/Update.hs 277;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f @@ -3624,7 +3628,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 165;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f -gasEffect src/Dodge/Update.hs 884;" f +gasEffect src/Dodge/Update.hs 887;" f gasType src/Dodge/HeldUse.hs 1135;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3644,13 +3648,13 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 89;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 173;" f getBulletType src/Dodge/HeldUse.hs 937;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 509;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 530;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 580;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 567;" f -getDebugMouseOver src/Dodge/Update.hs 451;" f +getDebugMouseOver src/Dodge/Update.hs 459;" f getDistortions src/Dodge/Render.hs 443;" f getEdgesCrossing src/Dodge/Path.hs 39;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1284;" f @@ -3660,7 +3664,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 463;" f +getMenuMouseContext src/Dodge/Update.hs 471;" f getNodePos src/Dodge/Path.hs 36;" f getPJStabiliser src/Dodge/HeldUse.hs 1271;" f getPretty src/AesonHelp.hs 8;" f @@ -3708,6 +3712,7 @@ gridInPolygon src/Grid.hs 10;" f gridPoints' src/Grid.hs 37;" f gridPointsOff src/Grid.hs 32;" f gridRoomPos src/Dodge/Room/Procedural.hs 91;" f +groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 68;" f groupSplitItemAmounts src/Dodge/Combine.hs 52;" f gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 859;" f @@ -3861,7 +3866,7 @@ invDP src/Dodge/ListDisplayParams.hs 32;" f invDT src/Dodge/Item/Grammar.hs 225;" f invDT' src/Dodge/Item/Grammar.hs 230;" f invDimColor src/Dodge/DisplayInventory.hs 190;" f -invHead src/Dodge/Render/HUD.hs 421;" f +invHead src/Dodge/Render/HUD.hs 419;" f invIMDT src/Dodge/Item/Grammar.hs 254;" f invIndents src/Dodge/Item/Grammar.hs 261;" f invItemEffs src/Dodge/Creature/State.hs 68;" f @@ -3890,7 +3895,7 @@ isCognizant src/Dodge/Creature/Perception.hs 118;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 66;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 193;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 199;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 220;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f isJust' src/MaybeHelp.hs 27;" f isLHS src/Geometry/LHS.hs 12;" f @@ -3902,7 +3907,6 @@ isNothing' src/MaybeHelp.hs 31;" f isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 168;" f isOutLnkNum src/Dodge/PlacementSpot.hs 173;" f -isOverTerminalScreen src/Dodge/Update.hs 471;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f isRHS src/Geometry/LHS.hs 44;" f @@ -4052,7 +4056,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 212;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 408;" f loadAmmoTut src/Dodge/Room/Tutorial.hs 429;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f @@ -4180,11 +4184,11 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 538;" f -maybeOpenConsole src/Dodge/Update.hs 133;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 559;" f +maybeOpenConsole src/Dodge/Update.hs 134;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f -maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 133;" f +maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 123;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f mcBackgroundSound src/Dodge/Machine/Update.hs 152;" f mcColor src/Dodge/Machine/Draw.hs 82;" f @@ -4303,11 +4307,11 @@ muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 702;" f muzzlePos src/Dodge/HeldUse.hs 786;" f muzzleRandPos src/Dodge/HeldUse.hs 795;" f -muzzleWallCheck src/Dodge/Update.hs 346;" f +muzzleWallCheck src/Dodge/Update.hs 347;" f mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f -mvGust src/Dodge/Update.hs 875;" f +mvGust src/Dodge/Update.hs 878;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4340,7 +4344,7 @@ nodeNear src/Dodge/Path.hs 94;" f nodesNear src/Dodge/Path.hs 100;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 265;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f -normalGait src/Dodge/Creature/State/WalkCycle.hs 150;" f +normalGait src/Dodge/Creature/State/WalkCycle.hs 140;" f normalTo8 src/Shader/Poke.hs 466;" f normalizeAngle src/Geometry/Vector.hs 130;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4366,7 +4370,7 @@ onEquipWristShield src/Dodge/Euse.hs 89;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f oneH src/Dodge/Creature/Test.hs 95;" f oneSmooth src/Dodge/Creature/Picture.hs 112;" f -openConsole src/Dodge/Update.hs 138;" f +openConsole src/Dodge/Update.hs 139;" f optionMenu src/Dodge/Menu.hs 110;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 53;" f @@ -4418,12 +4422,12 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 645;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 501;" f +pauseGame src/Dodge/Update/Input/InGame.hs 522;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f -pauseTime src/Dodge/Update.hs 217;" f -pbFlicker src/Dodge/Update.hs 551;" f +pauseTime src/Dodge/Update.hs 218;" f +pbFlicker src/Dodge/Update.hs 554;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 114;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4587,6 +4591,7 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f +pushAgainst src/Dodge/Creature/State/WalkCycle.hs 53;" f pushCaverns src/Dodge/Room/LongDoor.hs 192;" f pushCr src/Dodge/WallCreatureCollisions.hs 42;" f pushL src/DoubleStack.hs 20;" f @@ -4594,7 +4599,7 @@ pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 126;" f pushOutFromWall' src/Dodge/WallCreatureCollisions.hs 115;" f pushR src/DoubleStack.hs 24;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f -pushYouOutFromWalls src/Dodge/Update.hs 342;" f +pushYouOutFromWalls src/Dodge/Update.hs 343;" f putAutoDoor src/Dodge/Placement/Instance/Door.hs 64;" f putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f @@ -4634,7 +4639,7 @@ rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToDeg src/Geometry/Vector.hs 125;" f -radiusSpring src/Dodge/Update.hs 957;" f +radiusSpring src/Dodge/Update.hs 960;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 58;" f @@ -4656,7 +4661,7 @@ randPeakedParam src/RandomHelp.hs 149;" f randProb src/RandomHelp.hs 87;" f randSpark src/Dodge/Spark.hs 70;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f -randWallReflect src/Dodge/Update.hs 731;" f +randWallReflect src/Dodge/Update.hs 734;" f randomChallenges src/Dodge/Room/Start.hs 64;" f randomCompass src/Dodge/Layout.hs 61;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f @@ -4726,7 +4731,7 @@ replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 184;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 63;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f -resetStride src/Dodge/Creature/State/WalkCycle.hs 145;" f +resetStride src/Dodge/Creature/State/WalkCycle.hs 135;" f resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f @@ -4862,8 +4867,8 @@ scrollAugInvSel src/Dodge/Inventory.hs 299;" f scrollAugNextInSection src/Dodge/Inventory.hs 313;" f scrollRBOption src/Dodge/Update/Scroll.hs 139;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f -scrollTimeBack src/Dodge/Update.hs 243;" f -scrollTimeForward src/Dodge/Update.hs 260;" f +scrollTimeBack src/Dodge/Update.hs 244;" f +scrollTimeForward src/Dodge/Update.hs 261;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 585;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 539;" f seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f @@ -4880,10 +4885,10 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -selNumPos src/Dodge/Render/HUD.hs 470;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 487;" f +selNumPos src/Dodge/Render/HUD.hs 468;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 485;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f -selSecSelCol src/Dodge/Render/HUD.hs 507;" f +selSecSelCol src/Dodge/Render/HUD.hs 505;" f selSecSelSize src/Dodge/SelectionSections.hs 157;" f selSecYint src/Dodge/SelectionSections.hs 166;" f selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f @@ -4903,7 +4908,7 @@ sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f setChannelPos src/Sound.hs 152;" f -setClickWorldPos src/Dodge/Update.hs 108;" f +setClickWorldPos src/Dodge/Update.hs 109;" f setClip src/Dodge/Debug.hs 239;" f setDepth src/Picture/Base.hs 120;" f setDirPS src/Dodge/PlacementSpot.hs 51;" f @@ -4917,12 +4922,13 @@ setLinkType src/Dodge/RoomLink.hs 79;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f setMusicVolume src/Sound.hs 164;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 59;" f -setOldPos src/Dodge/Update.hs 582;" f +setOldPos src/Dodge/Update.hs 585;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f +setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 132;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 294;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -4965,7 +4971,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 134;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 294;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 315;" f shiftInvItemsDown src/Dodge/Inventory.hs 181;" f shiftInvItemsUp src/Dodge/Inventory.hs 191;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f @@ -5008,10 +5014,10 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f -showManObj src/Dodge/TestString.hs 98;" f +showManObj src/Dodge/TestString.hs 101;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 115;" f +showTimeFlow src/Dodge/TestString.hs 118;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5020,7 +5026,7 @@ shufflePair src/RandomHelp.hs 166;" f shuffleRoomPos src/Dodge/Layout.hs 98;" f shuffleTail src/RandomHelp.hs 78;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 962;" f +simpleCrSprings src/Dodge/Update.hs 965;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 765;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 801;" f @@ -5087,7 +5093,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f spPos src/ShapePicture/Data.hs 11;" f -spaceAction src/Dodge/Update/Input/InGame.hs 504;" f +spaceAction src/Dodge/Update/Input/InGame.hs 525;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f @@ -5145,7 +5151,7 @@ stackedInventory src/Dodge/Creature.hs 326;" f startCr src/Dodge/Creature.hs 90;" f startCrafts src/Dodge/Room/Start.hs 94;" f startDeathTimer src/Dodge/Creature/Update.hs 119;" f -startDrag src/Dodge/Update/Input/InGame.hs 286;" f +startDrag src/Dodge/Update/Input/InGame.hs 307;" f startInvList src/Dodge/Creature.hs 105;" f startInventory src/Dodge/Creature.hs 108;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f @@ -5238,7 +5244,7 @@ testEvent src/Dodge/Event/Test.hs 11;" f testInventory src/Dodge/Creature.hs 307;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f -testStringInit src/Dodge/TestString.hs 40;" f +testStringInit src/Dodge/TestString.hs 43;" f text src/Picture/Base.hs 185;" f textGrad src/Picture/Text.hs 5;" f textInputBlurb src/Dodge/Terminal.hs 43;" f @@ -5272,7 +5278,7 @@ throwItem src/Dodge/Creature/Action.hs 197;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 216;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 203;" f +timeFlowUpdate src/Dodge/Update.hs 204;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeStopper src/Dodge/Item/Held/Utility.hs 39;" f tinMag src/Dodge/Item/Ammo.hs 24;" f @@ -5290,6 +5296,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 474;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f +tmScreenMousePos src/Dodge/Update.hs 451;" f toBinary src/Dodge/Inventory/SelectionList.hs 138;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5318,7 +5325,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f topInvW src/Dodge/ListDisplayParams.hs 54;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f -topTestPart src/Dodge/TestString.hs 93;" f +topTestPart src/Dodge/TestString.hs 96;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 85;" f @@ -5372,13 +5379,13 @@ truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 207;" f -tryCombine src/Dodge/Update/Input/InGame.hs 521;" f +tryCombine src/Dodge/Update/Input/InGame.hs 542;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 156;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 161;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 41;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 147;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 168;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f @@ -5427,100 +5434,100 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f -updateAimPos src/Dodge/Update.hs 383;" f +updateAimPos src/Dodge/Update.hs 384;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 43;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 454;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 475;" f updateBarrel src/Dodge/Barreloid.hs 44;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBounds src/Dodge/Update/Camera.hs 262;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 646;" f +updateBullets src/Dodge/Update.hs 649;" f updateCamera src/Dodge/Update/Camera.hs 33;" f updateCarriage src/Dodge/Creature/State/WalkCycle.hs 18;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 23;" f updateCloseObjects src/Dodge/Inventory.hs 126;" f -updateCloud src/Dodge/Update.hs 888;" f -updateClouds src/Dodge/Update.hs 757;" f +updateCloud src/Dodge/Update.hs 891;" f +updateClouds src/Dodge/Update.hs 760;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 36;" f -updateCreatureGroups src/Dodge/Update.hs 618;" f -updateCreatureSoundPositions src/Dodge/Update.hs 597;" f -updateCreatureStride src/Dodge/Update.hs 374;" f -updateCreatureStrides src/Dodge/Update.hs 371;" f -updateDebris src/Dodge/Update.hs 660;" f +updateCreatureGroups src/Dodge/Update.hs 621;" f +updateCreatureSoundPositions src/Dodge/Update.hs 600;" f +updateCreatureStride src/Dodge/Update.hs 375;" f +updateCreatureStrides src/Dodge/Update.hs 372;" f +updateDebris src/Dodge/Update.hs 663;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 102;" f -updateDelayedEvents src/Dodge/Update.hs 1005;" f +updateDebugMessageOffset src/Dodge/Update.hs 103;" f +updateDelayedEvents src/Dodge/Update.hs 1008;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 639;" f +updateDistortions src/Dodge/Update.hs 642;" f updateDoor src/Dodge/Door.hs 22;" f -updateDoors src/Dodge/Update.hs 388;" f -updateDust src/Dodge/Update.hs 936;" f -updateDusts src/Dodge/Update.hs 763;" f +updateDoors src/Dodge/Update.hs 389;" f +updateDust src/Dodge/Update.hs 939;" f +updateDusts src/Dodge/Update.hs 766;" f updateEdge src/Dodge/Path.hs 45;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 748;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 481;" f +updateEnergyBalls src/Dodge/Update.hs 751;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 502;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 745;" f +updateFlames src/Dodge/Update.hs 748;" f updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 338;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 334;" f -updateGas src/Dodge/Update.hs 910;" f -updateGasses src/Dodge/Update.hs 760;" f -updateGusts src/Dodge/Update.hs 872;" f -updateIMl src/Dodge/Update.hs 612;" f -updateIMl' src/Dodge/Update.hs 615;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 359;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 355;" f +updateGas src/Dodge/Update.hs 913;" f +updateGasses src/Dodge/Update.hs 763;" f +updateGusts src/Dodge/Update.hs 875;" f +updateIMl src/Dodge/Update.hs 615;" f +updateIMl' src/Dodge/Update.hs 618;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 404;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 425;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 264;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 371;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 398;" f -updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 357;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 380;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 392;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 419;" f +updateKeysInGame src/Dodge/Update/Input/InGame.hs 87;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 378;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 401;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f -updateLasers src/Dodge/Update.hs 497;" f +updateLasers src/Dodge/Update.hs 500;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 45;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 417;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 438;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 391;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 205;" f -updateMouseContext src/Dodge/Update.hs 404;" f -updateMouseContextGame src/Dodge/Update.hs 409;" f -updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 98;" f -updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 168;" f -updateObjCatMaybes src/Dodge/Update.hs 630;" f -updateObjMapMaybe src/Dodge/Update.hs 623;" f -updatePastWorlds src/Dodge/Update.hs 486;" f -updatePlasmaBall src/Dodge/Update.hs 511;" f -updatePlasmaBalls src/Dodge/Update.hs 653;" f +updateMagnets src/Dodge/Update.hs 392;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 226;" f +updateMouseContext src/Dodge/Update.hs 405;" f +updateMouseContextGame src/Dodge/Update.hs 410;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 100;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 90;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 189;" f +updateObjCatMaybes src/Dodge/Update.hs 633;" f +updateObjMapMaybe src/Dodge/Update.hs 626;" f +updatePastWorlds src/Dodge/Update.hs 489;" f +updatePlasmaBall src/Dodge/Update.hs 514;" f +updatePlasmaBalls src/Dodge/Update.hs 656;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updatePulse src/Dodge/Creature/Update.hs 176;" f -updatePulseBall src/Dodge/Update.hs 531;" f -updatePulseLaser src/Dodge/Update.hs 700;" f -updatePulseLasers src/Dodge/Update.hs 506;" f +updatePulseBall src/Dodge/Update.hs 534;" f +updatePulseLaser src/Dodge/Update.hs 703;" f +updatePulseLasers src/Dodge/Update.hs 509;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 642;" f +updateRadarBlips src/Dodge/Update.hs 645;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 751;" f +updateRadarSweeps src/Dodge/Update.hs 754;" f updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 188;" f @@ -5530,30 +5537,30 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 742;" f +updateShockwaves src/Dodge/Update.hs 745;" f updateSingleNodes src/TreeHelp.hs 100;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f -updateSparks src/Dodge/Update.hs 754;" f -updateTerminal src/Dodge/Update.hs 569;" f -updateTeslaArc src/Dodge/Update.hs 670;" f -updateTeslaArcs src/Dodge/Update.hs 667;" f +updateSparks src/Dodge/Update.hs 757;" f +updateTerminal src/Dodge/Update.hs 572;" f +updateTeslaArc src/Dodge/Update.hs 673;" f +updateTeslaArcs src/Dodge/Update.hs 670;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 739;" f +updateTractorBeams src/Dodge/Update.hs 742;" f updateTurret src/Dodge/Machine/Update.hs 55;" f -updateUniverse src/Dodge/Update.hs 81;" f -updateUniverseFirst src/Dodge/Update.hs 92;" f -updateUniverseLast src/Dodge/Update.hs 143;" f -updateUniverseMid src/Dodge/Update.hs 185;" f -updateUseInputInGame src/Dodge/Update/Input/InGame.hs 47;" f +updateUniverse src/Dodge/Update.hs 82;" f +updateUniverseFirst src/Dodge/Update.hs 93;" f +updateUniverseLast src/Dodge/Update.hs 144;" f +updateUniverseMid src/Dodge/Update.hs 186;" f +updateUseInputInGame src/Dodge/Update/Input/InGame.hs 49;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateVocTimer src/Dodge/Humanoid.hs 45;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 476;" f -updateWorldEventFlag src/Dodge/Update.hs 127;" f -updateWorldEventFlags src/Dodge/Update.hs 115;" f +updateWheelEvents src/Dodge/Update.hs 479;" f +updateWorldEventFlag src/Dodge/Update.hs 128;" f +updateWorldEventFlags src/Dodge/Update.hs 116;" f upperBody src/Dodge/Creature/Picture.hs 176;" f upperBox src/Shape.hs 153;" f upperBoxHalf src/Shape.hs 219;" f @@ -5620,7 +5627,7 @@ visibleWalls src/Dodge/Base/Collide.hs 222;" f visionCheck src/Dodge/Creature/Perception.hs 165;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f -walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 54;" f +walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 62;" f walkNozzle src/Dodge/HeldUse.hs 826;" f walkableNodeNear src/Dodge/Path.hs 90;" f wallBlips src/Dodge/RadarSweep.hs 99;" f @@ -5732,11 +5739,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 51;" f zipCount src/Dodge/Tree/Shift.hs 142;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 558;" f +zoneClouds src/Dodge/Update.hs 561;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 593;" f +zoneCreatures src/Dodge/Update.hs 596;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 563;" f +zoneDusts src/Dodge/Update.hs 566;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f