From 5b709cd7ba6c3454a8b4d4450b722d86aef81308 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 18 Nov 2024 22:21:12 +0000 Subject: [PATCH] Continue mouse context refactor --- ghcidOutput | 11 +- src/Dodge/Data/Input.hs | 4 +- src/Dodge/Render/Picture.hs | 10 +- src/Dodge/Terminal.hs | 11 +- src/Dodge/Update.hs | 12 +- src/Dodge/Update/Input/InGame.hs | 19 +-- tags | 284 ++++++++++++++++--------------- 7 files changed, 186 insertions(+), 165 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 9dca0d81b..36842cfeb 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1,10 @@ -All good (594 modules, at 11:01:56) +/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:98:20: warning: [-Wunused-matches] + Defined but not used: ā€˜i’ + | +98 | OverInvSelect (i,j) -> w + | ^ +/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:98:22: warning: [-Wunused-matches] + Defined but not used: ā€˜j’ + | +98 | OverInvSelect (i,j) -> w + | ^ diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 35f4e8b05..8780ea5d9 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -22,13 +22,15 @@ data MouseContext | MouseInGame | MouseMenuClick {_mcoMenuClick :: Int} | MouseMenuCursor + | OverInvDrag + | OverInvDragSelect { _mcoSelStart :: (Int,Int), _mcoSelEnd :: (Int,Int) } | OverInvSelect { _mcoInvSelect :: (Int,Int)} | OverInvFilt { _mcoInvFilt :: (Int,Int)} | OverCombSelect { _mcoCombSelect :: (Int,Int)} | OverCombCombine { _mcoCombCombine :: (Int,Int)} | OverCombFilter | OverCombEscape - | OverTerminalReturn + | OverTerminalReturn {_mcoTermID :: Int} | OverTerminalEscape deriving (Show) diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index a93ca1641..bb62e4f28 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -84,13 +84,15 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of MouseMenuClick {} -> drawMenuClick 5 MouseMenuCursor -> drawMenuCursor 5 MouseInGame -> drawPlus 5 + OverInvDrag -> drawDrag 5 + OverInvDragSelect {} -> drawDragSelect 5 OverInvSelect {} -> drawSelect 5 OverInvFilt {} -> drawCombFilter 5 OverCombSelect {} -> drawSelect 5 OverCombFilter {} -> drawCombFilterJump 5 OverCombCombine {} -> drawGapPlus 5 OverCombEscape -> rotate (pi/4) $ drawPlus 5 - OverTerminalReturn -> drawReturn 5 + OverTerminalReturn {} -> drawReturn 5 OverTerminalEscape -> rotate (pi/4) $ drawPlus 5 where w = u ^. uvWorld @@ -149,6 +151,12 @@ drawCombFilterJump :: Float -> Picture drawCombFilterJump x = rotate (0.25*pi) $ fold [line [V2 0 0, V2 x 0], line [V2 0 0, V2 0 x]] +drawDragSelect :: Float -> Picture +drawDragSelect x = polygonWire $ rectWH (0.5 * x) x + +drawDrag :: Float -> Picture +drawDrag x = line [V2 0 x,V2 0 (-x)] + drawSelect :: Float -> Picture drawSelect x = polygonWire $ rectWH x (0.5 * x) -- line [V2 (-x) 0, V2 0 0] diff --git a/src/Dodge/Terminal.hs b/src/Dodge/Terminal.hs index ef0eb6cb4..8312e12bf 100644 --- a/src/Dodge/Terminal.hs +++ b/src/Dodge/Terminal.hs @@ -273,16 +273,17 @@ commandFutureLines s tm w = fromMaybe [errline "^ Invalid command"] $ do where errline = makeColorTermLine red -terminalReturnEffect :: Terminal -> World -> World -terminalReturnEffect tm w = fromMaybe w $ do +terminalReturnEffect :: Int -> World -> World +terminalReturnEffect tmid w = fromMaybe w $ do + tm <- w ^? cWorld . lWorld . terminals. ix tmid guard $ _tmStatus tm == TerminalReady - s <- w ^? cWorld . lWorld . terminals . ix (_tmID tm) . tmInput . tiText + s <- tm ^? tmInput . tiText let pc = maybe "" (++ " ") $ tm ^? tmPartialCommand . _Just . tcString return $ runTerminalString (pc ++ s) tm $ w - & cWorld . lWorld . terminals . ix (_tmID tm) . tmPartialCommand .~ Nothing - & cWorld . lWorld . terminals . ix (_tmID tm) . tmFutureLines + & cWorld . lWorld . terminals . ix tmid . tmPartialCommand .~ Nothing + & cWorld . lWorld . terminals . ix tmid . tmFutureLines .~ [makeTermLine (pc ++ getPromptTM (tm ^. tmType) ++ s)] runTerminalString :: String -> Terminal -> World -> World diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 57bd64780..e783d2484 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -389,8 +389,9 @@ shiftInvItemsDown (_, i) x w = fromMaybe w $ do g i' m = fst <$> IM.lookupGT i' m updateMouseContext :: Configuration -> Universe -> Universe -updateMouseContext cfig u = - u & uvWorld . input . mouseContext +updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of + OverInvDrag -> u + _ -> u & uvWorld . input . mouseContext .~ fromMaybe aimcontext (overmenu <|> overinv <|> overcomb <|> overterm) @@ -440,9 +441,10 @@ updateMouseContext cfig u = return $ if isOverTerminalScreen cfig tm mpos then - if null $ tm ^. tmInput . tiText - then NoMouseContext - else OverTerminalReturn + fromMaybe NoMouseContext $ do + let s = tm ^. tmInput . tiText + guard $ not (null s) && _tmStatus tm == TerminalReady + return $ OverTerminalReturn tmid else OverTerminalEscape isOverTerminalScreen :: Configuration -> Terminal -> Point2 -> Bool diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 4f2714bb5..5fbedbc71 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -88,20 +88,15 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . hudEleme & ciFilter .~ filts' updateMouseClickInGame :: World -> World -updateMouseClickInGame w = if w ^? input . mouseButtons . ix ButtonLeft == Just 0 - then updateMouseClickInGame' w - else w +updateMouseClickInGame w = case w ^? input . mouseButtons . ix ButtonLeft of + Just 0 -> updateMouseClickInGame' w + Just _ -> w + Nothing -> w updateMouseClickInGame' :: World -> World updateMouseClickInGame' w = case w ^. input . mouseContext of - OverTerminalReturn -> fromMaybe w $ do - tmid <- w ^? hud . hudElement . subInventory . termID - tm <- w ^? cWorld . lWorld . terminals . ix tmid - guard (_tmStatus tm == TerminalReady) - s <- tm ^? tmInput . tiText - return $ if null (words s) && null (_tmPartialCommand tm) - then w - else terminalReturnEffect tm w + OverInvSelect (i,j) -> w + OverTerminalReturn tmid -> terminalReturnEffect tmid w OverTerminalEscape -> w & hud . hudElement . subInventory .~ NoSubInventory MouseInvNothing OverCombSelect x -> @@ -183,7 +178,7 @@ updateKeysInTerminal tmid u = pkeys = u ^. uvWorld . input . pressedKeys checkEndStatus | pkeys ^. at ScancodeReturn == Just InitialPress = - over uvWorld (\w -> terminalReturnEffect (w ^?! cWorld . lWorld . terminals . ix tmid) w) + over uvWorld (\w -> terminalReturnEffect tmid w) | otherwise = id updateKeyInGame :: Universe -> Scancode -> PressType -> Universe diff --git a/tags b/tags index 659612501..d2b2369d4 100644 --- a/tags +++ b/tags @@ -905,7 +905,7 @@ InheritFloor src/Data/Tile.hs 11;" C InitialPress src/Dodge/Data/Input.hs 14;" C Initialisation src/Dodge/Initialisation.hs 1;" m Initialize src/Dodge/Item/Location/Initialize.hs 1;" m -Input src/Dodge/Data/Input.hs 35;" t +Input src/Dodge/Data/Input.hs 37;" t Input src/Dodge/Data/Input.hs 6;" m Input src/Dodge/Event/Input.hs 3;" m Input src/Dodge/Update/Input.hs 1;" m @@ -1358,14 +1358,16 @@ OutLink src/Dodge/Data/Room.hs 43;" C OutPlacement src/Dodge/Data/GenWorld.hs 126;" t Outline src/Dodge/Render/Outline.hs 1;" m OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C -OverCombCombine src/Dodge/Data/Input.hs 28;" C -OverCombEscape src/Dodge/Data/Input.hs 30;" C -OverCombFilter src/Dodge/Data/Input.hs 29;" C -OverCombSelect src/Dodge/Data/Input.hs 27;" C -OverInvFilt src/Dodge/Data/Input.hs 26;" C -OverInvSelect src/Dodge/Data/Input.hs 25;" C -OverTerminalEscape src/Dodge/Data/Input.hs 32;" C -OverTerminalReturn src/Dodge/Data/Input.hs 31;" C +OverCombCombine src/Dodge/Data/Input.hs 30;" C +OverCombEscape src/Dodge/Data/Input.hs 32;" C +OverCombFilter src/Dodge/Data/Input.hs 31;" C +OverCombSelect src/Dodge/Data/Input.hs 29;" C +OverInvDrag src/Dodge/Data/Input.hs 25;" C +OverInvDragSelect src/Dodge/Data/Input.hs 26;" C +OverInvFilt src/Dodge/Data/Input.hs 28;" C +OverInvSelect src/Dodge/Data/Input.hs 27;" C +OverTerminalEscape src/Dodge/Data/Input.hs 34;" C +OverTerminalReturn src/Dodge/Data/Input.hs 33;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 57;" C P2Ac src/Dodge/Data/CreatureEffect.hs 53;" t @@ -1856,15 +1858,15 @@ TORCH src/Dodge/Data/Item/Combine.hs 163;" C TRACTORGUN src/Dodge/Data/Item/Combine.hs 156;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 42;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 48;" C -TSbackspace src/Dodge/Data/Input.hs 55;" C -TSdelete src/Dodge/Data/Input.hs 56;" C -TSdown src/Dodge/Data/Input.hs 61;" C -TSescape src/Dodge/Data/Input.hs 53;" C -TSleft src/Dodge/Data/Input.hs 58;" C -TSreturn src/Dodge/Data/Input.hs 54;" C -TSright src/Dodge/Data/Input.hs 59;" C -TStab src/Dodge/Data/Input.hs 57;" C -TSup src/Dodge/Data/Input.hs 60;" C +TSbackspace src/Dodge/Data/Input.hs 57;" C +TSdelete src/Dodge/Data/Input.hs 58;" C +TSdown src/Dodge/Data/Input.hs 63;" C +TSescape src/Dodge/Data/Input.hs 55;" C +TSleft src/Dodge/Data/Input.hs 60;" C +TSreturn src/Dodge/Data/Input.hs 56;" C +TSright src/Dodge/Data/Input.hs 61;" C +TStab src/Dodge/Data/Input.hs 59;" C +TSup src/Dodge/Data/Input.hs 62;" C TUBE src/Dodge/Data/Item/Combine.hs 29;" C Tank src/Dodge/Placement/Instance/Tank.hs 1;" m Tanks src/Dodge/Room/Tanks.hs 1;" m @@ -1878,7 +1880,7 @@ TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t TeleSound src/Dodge/Data/SoundOrigin.hs 35;" C Teleport src/Dodge/Room/Teleport.hs 2;" m TempLightSource src/Dodge/Data/LightSource.hs 42;" t -TermSignal src/Dodge/Data/Input.hs 52;" t +TermSignal src/Dodge/Data/Input.hs 54;" t Terminal src/Dodge/Data/Terminal.hs 31;" t Terminal src/Dodge/Data/Terminal.hs 6;" m Terminal src/Dodge/Debug/Terminal.hs 3;" m @@ -2325,8 +2327,8 @@ _cldtParent src/Dodge/Data/DoubleTree.hs 48;" f _cldtParent src/Dodge/Data/DoubleTree.hs 57;" f _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f -_clickPos src/Dodge/Data/Input.hs 43;" f -_clickWorldPos src/Dodge/Data/Input.hs 45;" f +_clickPos src/Dodge/Data/Input.hs 45;" f +_clickWorldPos src/Dodge/Data/Input.hs 47;" f _closeObjects src/Dodge/Data/HUD.hs 51;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f @@ -2606,9 +2608,9 @@ _heldAim src/Dodge/Data/Item/Use.hs 39;" f _heldDelay src/Dodge/Data/Item/Use.hs 37;" f _heldHammer src/Dodge/Data/Item/Use.hs 38;" f _heldParams src/Dodge/Data/Item/Use.hs 41;" f -_heldPos src/Dodge/Data/Input.hs 44;" f +_heldPos src/Dodge/Data/Input.hs 46;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f -_heldWorldPos src/Dodge/Data/Input.hs 46;" f +_heldWorldPos src/Dodge/Data/Input.hs 48;" f _hud src/Dodge/Data/World.hs 47;" f _hudElement src/Dodge/Data/HUD.hs 47;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f @@ -2748,11 +2750,14 @@ _mcPos src/Dodge/Data/Machine.hs 35;" f _mcType src/Dodge/Data/Machine.hs 40;" f _mcWallIDs src/Dodge/Data/Machine.hs 33;" f _mcWidth src/Dodge/Data/Machine.hs 44;" f -_mcoCombCombine src/Dodge/Data/Input.hs 28;" f -_mcoCombSelect src/Dodge/Data/Input.hs 27;" f -_mcoInvFilt src/Dodge/Data/Input.hs 26;" f -_mcoInvSelect src/Dodge/Data/Input.hs 25;" f +_mcoCombCombine src/Dodge/Data/Input.hs 30;" f +_mcoCombSelect src/Dodge/Data/Input.hs 29;" f +_mcoInvFilt src/Dodge/Data/Input.hs 28;" f +_mcoInvSelect src/Dodge/Data/Input.hs 27;" f _mcoMenuClick src/Dodge/Data/Input.hs 23;" f +_mcoSelEnd src/Dodge/Data/Input.hs 26;" f +_mcoSelStart src/Dodge/Data/Input.hs 26;" f +_mcoTermID src/Dodge/Data/Input.hs 33;" f _mdBool src/Dodge/Data/Modification.hs 21;" f _mdExternalID src/Dodge/Data/Modification.hs 17;" f _mdExternalID1 src/Dodge/Data/Modification.hs 25;" f @@ -2778,10 +2783,10 @@ _moString src/Dodge/Data/Universe.hs 107;" f _modOption src/Dodge/Data/Universe.hs 97;" f _modString src/Dodge/Data/Universe.hs 95;" f _modifications src/Dodge/Data/LWorld.hs 129;" f -_mouseButtons src/Dodge/Data/Input.hs 40;" f -_mouseContext src/Dodge/Data/Input.hs 37;" f -_mouseMoving src/Dodge/Data/Input.hs 38;" f -_mousePos src/Dodge/Data/Input.hs 36;" f +_mouseButtons src/Dodge/Data/Input.hs 42;" f +_mouseContext src/Dodge/Data/Input.hs 39;" f +_mouseMoving src/Dodge/Data/Input.hs 40;" f +_mousePos src/Dodge/Data/Input.hs 38;" f _mtBranches src/Dodge/Tree/Compose/Data.hs 8;" f _mtLabel src/Dodge/Tree/Compose/Data.hs 8;" f _mtTree src/Dodge/Tree/Compose/Data.hs 8;" f @@ -2886,7 +2891,7 @@ _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 32;" f _pressPlates src/Dodge/Data/LWorld.hs 132;" f -_pressedKeys src/Dodge/Data/Input.hs 39;" f +_pressedKeys src/Dodge/Data/Input.hs 41;" f _previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f _prjAcc src/Dodge/Data/Projectile.hs 19;" f _prjDir src/Dodge/Data/Projectile.hs 20;" f @@ -3008,14 +3013,14 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 82;" f _scSelectionList src/Dodge/Data/Universe.hs 84;" f _scTitle src/Dodge/Data/Universe.hs 79;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f -_scrollAmount src/Dodge/Data/Input.hs 41;" f +_scrollAmount src/Dodge/Data/Input.hs 43;" f _scrollItemID src/Dodge/Data/World.hs 66;" f _scrollItemID src/Dodge/Data/World.hs 75;" f _scrollItemID src/Dodge/Data/World.hs 79;" f _scrollSmoothing src/Dodge/Data/World.hs 63;" f _scrollSmoothing src/Dodge/Data/World.hs 69;" f -_scrollTestFloat src/Dodge/Data/Input.hs 48;" f -_scrollTestInt src/Dodge/Data/Input.hs 49;" f +_scrollTestFloat src/Dodge/Data/Input.hs 50;" f +_scrollTestInt src/Dodge/Data/Input.hs 51;" 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 @@ -3069,7 +3074,7 @@ _skWidth src/Dodge/Data/Spark.hs 20;" f _skinHead src/Dodge/Data/Creature/Misc.hs 66;" f _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 44;" f _soundAngDist src/Sound/Data.hs 53;" f _soundChannel src/Sound/Data.hs 52;" f _soundChunkID src/Sound/Data.hs 57;" f @@ -3124,7 +3129,7 @@ _termID src/Dodge/Data/HUD.hs 44;" f _terminals src/Dodge/Data/LWorld.hs 123;" f _teslaArcs src/Dodge/Data/LWorld.hs 113;" f _testFloat src/Dodge/Data/World.hs 45;" f -_textInput src/Dodge/Data/Input.hs 47;" f +_textInput src/Dodge/Data/Input.hs 49;" f _textureObject src/Shader/Data.hs 95;" f _tiSel src/Dodge/Data/Terminal.hs 21;" f _tiText src/Dodge/Data/Terminal.hs 20;" f @@ -3343,10 +3348,10 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 77;" f -advanceScrollAmount src/Dodge/Update.hs 470;" f +advanceScrollAmount src/Dodge/Update.hs 471;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 182;" f +aimDelaySweep src/Dodge/Render/Picture.hs 186;" f aimStanceInfo src/Dodge/Item/Info.hs 210;" f aimTurn src/Dodge/Creature/YourControl.hs 143;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f @@ -3412,7 +3417,7 @@ arcStepwisePositive src/Geometry.hs 343;" f arcTest src/Picture/Test.hs 9;" f arcTest' src/Picture/Test.hs 21;" f argV src/Geometry/Vector.hs 80;" f -argumentHelp src/Dodge/Terminal.hs 152;" f +argumentHelp src/Dodge/Terminal.hs 151;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 38;" f armouredChasers src/Dodge/Room/Boss.hs 63;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f @@ -3485,7 +3490,7 @@ basicItemDisplay src/Dodge/Item/Display.hs 33;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f basicMuzFlare src/Dodge/HeldUse.hs 199;" f -basicTerminal src/Dodge/Terminal.hs 36;" f +basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 96;" f batteryPack src/Dodge/Item/Equipment.hs 56;" f belowNumX src/Dodge/Combine/Graph.hs 85;" f @@ -3587,7 +3592,7 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f checkConnection src/Dodge/Inventory.hs 233;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 757;" f +checkEndGame src/Dodge/Update.hs 758;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3614,7 +3619,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 810;" f +clClSpringVel src/Dodge/Update.hs 811;" 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 @@ -3641,7 +3646,7 @@ closestCreatureID src/Dodge/Debug.hs 92;" 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 780;" f +cloudEffect src/Dodge/Update.hs 781;" 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 @@ -3675,9 +3680,9 @@ combineList src/Dodge/Combine.hs 20;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 356;" f combineTree src/Dodge/Tree/Compose.hs 66;" f -commandColor src/Dodge/Terminal.hs 133;" f +commandColor src/Dodge/Terminal.hs 132;" f commandFutureLines src/Dodge/Terminal.hs 256;" f -commandsCommand src/Dodge/Terminal.hs 94;" f +commandsCommand src/Dodge/Terminal.hs 93;" f commonPrefix src/Dodge/Debug/Terminal.hs 143;" f compactDraw src/Dodge/LevelGen.hs 91;" f compactDraw' src/Dodge/LevelGen.hs 102;" f @@ -3689,8 +3694,8 @@ computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f conEffects src/Dodge/Concurrent.hs 13;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f -connectionBlurb src/Dodge/Terminal.hs 103;" f -connectionBlurbLines src/Dodge/Terminal.hs 48;" f +connectionBlurb src/Dodge/Terminal.hs 102;" f +connectionBlurbLines src/Dodge/Terminal.hs 47;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f consumableInfo src/Dodge/Item/Info.hs 130;" f @@ -3711,7 +3716,7 @@ crAdd src/Dodge/Room/RezBox.hs 104;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 828;" f +crCrSpring src/Dodge/Update.hs 829;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3732,7 +3737,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f -crSpring src/Dodge/Update.hs 823;" f +crSpring src/Dodge/Update.hs 824;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f @@ -3845,7 +3850,7 @@ debugOn src/Dodge/Data/Config.hs 149;" f debugSelectCreatureList src/Dodge/Debug.hs 62;" f debugSelectCreatureMessage src/Dodge/Debug.hs 53;" f decTimMvVel src/Dodge/Projectile/Update.hs 142;" f -decodedtmap src/Dodge/Terminal.hs 206;" f +decodedtmap src/Dodge/Terminal.hs 205;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f @@ -3978,12 +3983,12 @@ dirtDebris src/Dodge/Block/Debris.hs 154;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f dirtWallDamage src/Dodge/Wall/DamageEffect.hs 103;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f -disconnectTerminal src/Dodge/Terminal.hs 218;" 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 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f -displayTerminalLineString src/Dodge/Update.hs 499;" f +displayTerminalLineString src/Dodge/Update.hs 500;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4040,7 +4045,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 267;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 211;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4050,8 +4055,7 @@ doSideEffects appDodge/Main.hs 118;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f doTerminalBootProgram src/Dodge/WorldEffect.hs 102;" f -doTerminalCommandEffect src/Dodge/Terminal.hs 136;" f -doTerminalEffectLB src/Dodge/Terminal.hs 296;" f +doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTerminalEffectLB src/Dodge/Terminal/LeftButton.hs 13;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f @@ -4067,7 +4071,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 26;" f doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f -doWorldEvents src/Dodge/Update.hs 481;" f +doWorldEvents src/Dodge/Update.hs 482;" 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 @@ -4094,8 +4098,8 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCircFlare src/Dodge/Flare.hs 25;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 163;" f -drawCombFilterJump src/Dodge/Render/Picture.hs 148;" f +drawCombFilter src/Dodge/Render/Picture.hs 167;" f +drawCombFilterJump src/Dodge/Render/Picture.hs 149;" f drawCombineInventory src/Dodge/Render/HUD.hs 160;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f @@ -4109,7 +4113,8 @@ drawDDATest src/Dodge/Debug/Picture.hs 256;" f drawDISelections src/Dodge/Render/HUD.hs 143;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f -drawEmptySet src/Dodge/Render/Picture.hs 103;" f +drawDragSelect src/Dodge/Render/Picture.hs 153;" f +drawEmptySet src/Dodge/Render/Picture.hs 104;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f drawExamineInventory src/Dodge/Render/HUD.hs 174;" f @@ -4119,7 +4124,7 @@ drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f drawFlare src/Dodge/Flare.hs 12;" f drawFooterText src/Dodge/Render/MenuScreen.hs 74;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 173;" f +drawGapPlus src/Dodge/Render/Picture.hs 177;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHP src/Dodge/Render/HUD.hs 53;" f drawHUD src/Dodge/Render/HUD.hs 45;" f @@ -4138,8 +4143,8 @@ drawListYgapScaleYoff src/Dodge/Render/List.hs 98;" f drawListYoff src/Dodge/Render/List.hs 95;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f -drawMenuClick src/Dodge/Render/Picture.hs 123;" f -drawMenuCursor src/Dodge/Render/Picture.hs 136;" f +drawMenuClick src/Dodge/Render/Picture.hs 124;" f +drawMenuCursor src/Dodge/Render/Picture.hs 137;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 15;" f drawMouseCursor src/Dodge/Render/Picture.hs 73;" f @@ -4152,7 +4157,7 @@ drawOptions src/Dodge/Render/MenuScreen.hs 35;" f drawPathBetween src/Dodge/Debug/Picture.hs 168;" f drawPathEdge src/Dodge/Debug/Picture.hs 222;" f drawPathing src/Dodge/Debug/Picture.hs 384;" f -drawPlus src/Dodge/Render/Picture.hs 120;" f +drawPlus src/Dodge/Render/Picture.hs 121;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f @@ -4160,11 +4165,11 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 218;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f -drawReturn src/Dodge/Render/Picture.hs 109;" f +drawReturn src/Dodge/Render/Picture.hs 110;" f drawRootCursor src/Dodge/Render/HUD.hs 81;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f -drawSelect src/Dodge/Render/Picture.hs 152;" f +drawSelect src/Dodge/Render/Picture.hs 156;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionListBackground src/Dodge/Render/List.hs 51;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f @@ -4177,7 +4182,7 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f drawSubInventory src/Dodge/Render/HUD.hs 152;" f -drawSweep src/Dodge/Render/Picture.hs 189;" f +drawSweep src/Dodge/Render/Picture.hs 193;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f @@ -4248,7 +4253,7 @@ errorNormalizeV src/Geometry.hs 57;" f errorPointInPolygon src/Geometry.hs 49;" f evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 149;" f evenOddSplit src/Dodge/Base.hs 138;" f -exitTerminalSubInv src/Dodge/Terminal.hs 226;" f +exitTerminalSubInv src/Dodge/Terminal.hs 225;" f expandLine src/Dodge/Picture.hs 30;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f @@ -4387,12 +4392,12 @@ getArguments' src/Dodge/Update/Scroll.hs 140;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulletTrajectory src/Dodge/HeldUse.hs 347;" f getBulletType src/Dodge/HeldUse.hs 321;" f -getCommands src/Dodge/Terminal.hs 118;" f -getCommandsHelp src/Dodge/Terminal.hs 76;" f +getCommands src/Dodge/Terminal.hs 117;" f +getCommandsHelp src/Dodge/Terminal.hs 75;" f getCrDexterity src/Dodge/Creature/Statistics.hs 13;" f getCrEquipment src/Dodge/Equipment.hs 7;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 16;" f -getDamageCoding src/Dodge/Terminal.hs 178;" f +getDamageCoding src/Dodge/Terminal.hs 177;" f getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getItem src/Dodge/Item/Location.hs 15;" f @@ -4408,7 +4413,7 @@ getPretty src/AesonHelp.hs 7;" f getPrettyShort src/AesonHelp.hs 10;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f getRootItemBounds src/Dodge/Render/HUD.hs 104;" f -getSensor src/Dodge/Terminal.hs 190;" f +getSensor src/Dodge/Terminal.hs 189;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f getSplitString src/Dodge/Debug/Terminal.hs 123;" f getTiles src/Dodge/Layout.hs 208;" f @@ -4497,7 +4502,7 @@ heldItemOffset src/Dodge/Item/HeldOffset.hs 58;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 26;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 173;" f heldPositionInfo src/Dodge/Item/Info.hs 207;" f -helpCommand src/Dodge/Terminal.hs 67;" f +helpCommand src/Dodge/Terminal.hs 66;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 221;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f @@ -4634,7 +4639,7 @@ isLeftOfA src/Geometry.hs 181;" f isNothing' src/MaybeHelp.hs 33;" f isOnSeg src/Geometry.hs 240;" f isOutLnk src/Dodge/PlacementSpot.hs 164;" f -isOverTerminalScreen src/Dodge/Update.hs 448;" f +isOverTerminalScreen src/Dodge/Update.hs 449;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f @@ -4835,9 +4840,9 @@ makeBullet src/Dodge/HeldUse.hs 379;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f -makeColorTermLine src/Dodge/Terminal.hs 130;" f +makeColorTermLine src/Dodge/Terminal.hs 129;" f makeColorTermLine src/Dodge/Terminal/Line.hs 19;" f -makeColorTermPara src/Dodge/Terminal.hs 127;" f +makeColorTermPara src/Dodge/Terminal.hs 126;" f makeColorTermPara src/Dodge/Terminal/Line.hs 16;" f makeCorpse src/Dodge/Corpse/Make.hs 10;" f makeDebris src/Dodge/Block/Debris.hs 42;" f @@ -4878,8 +4883,8 @@ makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f makeSwitch src/Dodge/LevelGen/Switch.hs 52;" f makeSwitchSPic src/Dodge/LevelGen/Switch.hs 40;" f -makeTermLine src/Dodge/Terminal.hs 121;" f -makeTermPara src/Dodge/Terminal.hs 124;" f +makeTermLine src/Dodge/Terminal.hs 120;" f +makeTermPara src/Dodge/Terminal.hs 123;" f makeTermPara src/Dodge/Terminal/Line.hs 13;" f makeTeslaArc src/Dodge/Tesla/Arc.hs 57;" f makeTeslaBallAt src/Dodge/Tesla/Ball.hs 6;" f @@ -4891,7 +4896,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 742;" f +markWallSeen src/Dodge/Update.hs 743;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4902,7 +4907,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f maybeClearPaths src/Dodge/Block.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 428;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 373;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f @@ -5018,7 +5023,7 @@ mvBullet src/Dodge/Bullet.hs 33;" 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 771;" f +mvGust src/Dodge/Update.hs 772;" 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 @@ -5127,7 +5132,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 364;" f +pauseGame src/Dodge/Update/Input/InGame.hs 308;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f @@ -5286,7 +5291,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 116;" f -ppEvents src/Dodge/Update.hs 734;" f +ppEvents src/Dodge/Update.hs 735;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5359,7 +5364,7 @@ qToV2 src/Quaternion.hs 51;" f qToV3 src/Quaternion.hs 48;" f quarterRoomSquare src/Dodge/Room/Procedural.hs 213;" f quarterRoomTri src/Dodge/Room/Procedural.hs 177;" f -quitCommand src/Dodge/Terminal.hs 58;" f +quitCommand src/Dodge/Terminal.hs 57;" f rToOnward src/Dodge/Cleat.hs 21;" f radBounds src/Dodge/Room/Foreground.hs 154;" f radToDeg src/Geometry/Vector.hs 122;" f @@ -5531,7 +5536,7 @@ rprBoolShift src/Dodge/PlacementSpot.hs 111;" f rprShift src/Dodge/PlacementSpot.hs 102;" f rsObjectColor src/Dodge/RadarSweep/Draw.hs 23;" f runPastStart src/Dodge/Room/Start.hs 71;" f -runTerminalString src/Dodge/Terminal.hs 288;" f +runTerminalString src/Dodge/Terminal.hs 289;" f sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f safeAngleVV src/Geometry/Vector.hs 68;" f safeArgV src/Geometry/Vector.hs 87;" f @@ -5601,8 +5606,8 @@ selectedCloseObject src/Dodge/Inventory.hs 287;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 152;" f -sensorCommand src/Dodge/Terminal.hs 209;" f -sensorInfoMap src/Dodge/Terminal.hs 181;" f +sensorCommand src/Dodge/Terminal.hs 208;" f +sensorInfoMap src/Dodge/Terminal.hs 180;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 48;" f sensorSPic src/Dodge/Machine/Draw.hs 70;" f @@ -5628,7 +5633,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 523;" f +setOldPos src/Dodge/Update.hs 524;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5735,7 +5740,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 129;" f -simpleCrSprings src/Dodge/Update.hs 819;" f +simpleCrSprings src/Dodge/Update.hs 820;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5784,7 +5789,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 367;" f +spaceAction src/Dodge/Update/Input/InGame.hs 311;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f @@ -5911,9 +5916,9 @@ teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 390;" f teleportModule src/Dodge/Item/Craftable.hs 30;" f termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f termScreenColor src/Dodge/Terminal/Color.hs 9;" f -termSoundLine src/Dodge/Terminal.hs 112;" f +termSoundLine src/Dodge/Terminal.hs 111;" f termSoundLine src/Dodge/Terminal/Line.hs 10;" f -termTextColor src/Dodge/Terminal.hs 115;" f +termTextColor src/Dodge/Terminal.hs 114;" f termTextColor src/Dodge/Terminal/Line.hs 22;" f terminalColor src/Dodge/Placement/Instance/Terminal.hs 66;" f terminalReturnEffect src/Dodge/Terminal.hs 276;" f @@ -5963,7 +5968,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f -tmUpdate src/Dodge/Update.hs 503;" f +tmUpdate src/Dodge/Update.hs 504;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5977,11 +5982,11 @@ toV2 src/Geometry/Data.hs 36;" f toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 31;" f -toggleCommand src/Dodge/Terminal.hs 197;" f +toggleCommand src/Dodge/Terminal.hs 196;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 391;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 406;" f +toggleMap src/Dodge/Update/Input/InGame.hs 335;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 350;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -6052,7 +6057,7 @@ trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f -tryCombine src/Dodge/Update/Input/InGame.hs 415;" f +tryCombine src/Dodge/Update/Input/InGame.hs 359;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f @@ -6098,83 +6103,82 @@ updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f updateAttachedItems src/Dodge/Creature/State.hs 173;" f updateAutoRecharge src/Dodge/Creature/State.hs 324;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 302;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 246;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f -updateBullets src/Dodge/Update.hs 600;" f +updateBullets src/Dodge/Update.hs 601;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 785;" f -updateClouds src/Dodge/Update.hs 629;" f -updateCombineInvClick src/Dodge/Update/Input/InGame.hs 155;" f +updateCloud src/Dodge/Update.hs 786;" f +updateClouds src/Dodge/Update.hs 630;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 38;" f updateCombineSections src/Dodge/DisplayInventory.hs 44;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 569;" f -updateCreatureSoundPositions src/Dodge/Update.hs 545;" f +updateCreatureGroups src/Dodge/Update.hs 570;" f +updateCreatureSoundPositions src/Dodge/Update.hs 546;" f updateDebugMessageOffset src/Dodge/Update.hs 92;" f -updateDelayedEvents src/Dodge/Update.hs 848;" f +updateDelayedEvents src/Dodge/Update.hs 849;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 590;" f +updateDistortions src/Dodge/Update.hs 591;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 617;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 343;" f +updateEnergyBalls src/Dodge/Update.hs 618;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 287;" 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 71;" f -updateFlames src/Dodge/Update.hs 614;" f +updateFlames src/Dodge/Update.hs 615;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 145;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 138;" f -updateGusts src/Dodge/Update.hs 768;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 138;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 131;" f +updateGusts src/Dodge/Update.hs 769;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 559;" f -updateIMl' src/Dodge/Update.hs 564;" f +updateIMl src/Dodge/Update.hs 560;" f +updateIMl' src/Dodge/Update.hs 565;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 246;" f -updateInstantBullets src/Dodge/Update.hs 706;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 190;" f +updateInstantBullets src/Dodge/Update.hs 707;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 240;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 229;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 184;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 173;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 488;" f -updateLightSources src/Dodge/Update.hs 593;" f +updateLasers src/Dodge/Update.hs 489;" f +updateLightSources src/Dodge/Update.hs 594;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 261;" f -updateMIM src/Dodge/Update.hs 719;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 205;" f +updateMIM src/Dodge/Update.hs 720;" f updateMachine src/Dodge/Machine/Update.hs 19;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 92;" f -updateMouseClickInGame' src/Dodge/Update/Input/InGame.hs 97;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 90;" f +updateMouseClickInGame' src/Dodge/Update/Input/InGame.hs 96;" f updateMouseContext src/Dodge/Update.hs 391;" f updateMouseInventorySelection src/Dodge/Update.hs 309;" f updateMouseInventorySelection' src/Dodge/Update.hs 314;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 581;" f -updateObjMapMaybe src/Dodge/Update.hs 574;" f -updatePastWorlds src/Dodge/Update.hs 476;" f +updateObjCatMaybes src/Dodge/Update.hs 582;" f +updateObjMapMaybe src/Dodge/Update.hs 575;" f +updatePastWorlds src/Dodge/Update.hs 477;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 626;" f +updatePosEvents src/Dodge/Update.hs 627;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 204;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 207;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 148;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 151;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f -updateRadarBlips src/Dodge/Update.hs 596;" f +updateRadarBlips src/Dodge/Update.hs 597;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 620;" f +updateRadarSweeps src/Dodge/Update.hs 621;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6183,19 +6187,19 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 224;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 203;" f -updateSeenWalls src/Dodge/Update.hs 737;" f +updateSeenWalls src/Dodge/Update.hs 738;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 611;" f +updateShockwaves src/Dodge/Update.hs 612;" 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 623;" f +updateSparks src/Dodge/Update.hs 624;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 605;" f +updateTeslaArcs src/Dodge/Update.hs 606;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 608;" f +updateTractorBeams src/Dodge/Update.hs 609;" f updateTurret src/Dodge/Machine/Update.hs 47;" f updateUniverse src/Dodge/Update.hs 71;" f updateUniverseFirst src/Dodge/Update.hs 83;" f @@ -6206,7 +6210,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 21;" 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 463;" f +updateWheelEvents src/Dodge/Update.hs 464;" f updateWorldEventFlag src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 105;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6378,9 +6382,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipWithDefaults src/Dodge/Item/Display.hs 21;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 496;" f +zoneClouds src/Dodge/Update.hs 497;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 540;" f +zoneCreatures src/Dodge/Update.hs 541;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f