From 53d8ca2861259b1a74cbaad9e329bbb8f6f157b4 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 17 Nov 2024 12:18:34 +0000 Subject: [PATCH] Move towards moving menu selection list position to mouse context --- ghcidOutput | 6 +- src/Dodge/Data/Input.hs | 3 +- src/Dodge/Render/Picture.hs | 30 ++- src/Dodge/Update.hs | 23 +- src/Dodge/Update/Input/ScreenLayer.hs | 1 + tags | 360 +++++++++++++------------- 6 files changed, 228 insertions(+), 195 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index a3ae9e1e4..4f9af1d42 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,5 +1 @@ -/home/justin/Haskell/loop/src/Dodge/Update.hs:400:9-19: warning: [-Wunused-matches] - Defined but not used: ‘screenlayer’ - | -400 | screenlayer <- u ^? uvScreenLayers . ix 0 - | ^^^^^^^^^^^ +All good (595 modules, at 12:18:32) diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 1fa175a9c..35f4e8b05 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -20,7 +20,8 @@ data MouseContext = NoMouseContext | MouseAiming | MouseInGame - | MouseMenuClick + | MouseMenuClick {_mcoMenuClick :: Int} + | MouseMenuCursor | OverInvSelect { _mcoInvSelect :: (Int,Int)} | OverInvFilt { _mcoInvFilt :: (Int,Int)} | OverCombSelect { _mcoCombSelect :: (Int,Int)} diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 9eaa0e1e3..f59de3ef2 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -80,7 +80,8 @@ mouseCursorType :: Universe -> Picture mouseCursorType u = case u ^. uvWorld . input . mouseContext of NoMouseContext -> drawEmptySet 5 MouseAiming -> rotate a (drawPlus 5) - MouseMenuClick -> drawMenuClick 5 + MouseMenuClick {} -> drawMenuClick 5 + MouseMenuCursor -> drawMenuCursor 5 MouseInGame -> drawPlus 5 OverInvSelect {} -> drawSelect 5 OverInvFilt {} -> drawCombFilter 5 @@ -119,13 +120,30 @@ drawPlus :: Float -> Picture drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]] drawMenuClick :: Float -> Picture -drawMenuClick x = line - [ V2 0 0 - , V2 x (-x) - , V2 0 (-x) - , V2 0 0 +drawMenuClick z = fold + [ line [V2 y 0, V2 x 0] + , line [V2 ny 0, V2 nx 0] + , line [V2 0 ny , V2 0 nx] + , line [V2 0 y , V2 0 x] ] + where + x = 0.5 * z + y = x + z + ny = - y + nx = - x +drawMenuCursor :: Float -> Picture +drawMenuCursor z = fold + [ line [V2 y 0, V2 x 0] + , line [V2 ny 0, V2 nx 0] + , line [V2 0 ny , V2 0 nx] + , line [V2 0 y , V2 0 x] + ] + where + x = z + y = x + z + ny = - y + nx = - x drawCombFilterJump :: Float -> Picture drawCombFilterJump x = rotate (0.25*pi) $ fold [line [V2 0 0, V2 x 0], line [V2 0 0, V2 0 x]] diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index cb1fe2539..1be941981 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -6,6 +6,7 @@ Description : Simulation update -} module Dodge.Update (updateUniverse) where +import Dodge.Update.Input.ScreenLayer import Color import Control.Applicative import Control.Monad @@ -53,7 +54,6 @@ import Dodge.TractorBeam.Update import Dodge.Update.Camera import Dodge.Update.Cloud import Dodge.Update.Input.InGame -import Dodge.Update.Input.ScreenLayer import Dodge.Update.Scroll import Dodge.Update.WallDamage import Dodge.WallCreatureCollisions @@ -286,7 +286,6 @@ functionalUpdate u = . over uvWorld updateCloseObjects . over uvWorld updateWheelEvents . over uvWorld (updateMouseInventorySelection (u ^. uvConfig)) --- . updateMouseContext (u ^. uvConfig) . over uvWorld zoneClouds . over uvWorld zoneCreatures -- . over uvWorld updateInventorySelectionList @@ -397,12 +396,26 @@ updateMouseContext cfig u = (overmenu <|> overinv <|> overcomb <|> overterm) where overmenu = do - screenlayer <- u ^? uvScreenLayers . ix 0 - return MouseMenuClick + screen <- u ^? uvScreenLayers . ix 0 + return $ case screen ^. scOptions of + [] -> NoMouseContext + _ -> fromMaybe MouseMenuCursor $ do + ldps <- screen ^? scListDisplayParams + let ymax = maybe 0 length $ screen ^? scSelectionList . slItems + yi <- ldpVerticalSelection (u ^. uvConfig) ldps (u ^. uvWorld . input . mousePos) +-- guard $ mmoving || (_scDisplayTime screen <= 1) + guard (yi >= 0 && yi < ymax) + return $ if isselectable yi + then MouseMenuClick yi + else NoMouseContext + isselectable yi = + fromMaybe False $ + u ^? uvScreenLayers . _head . scSelectionList . slItems . ix yi . siIsSelectable +-- mmoving = u ^. uvWorld . input . mouseMoving w = u ^. uvWorld aimcontext | ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming - | otherwise = NoMouseContext + | otherwise = MouseInGame mpos = w ^. input . mousePos overinv = do sss <- w ^? hud . hudElement . diSections diff --git a/src/Dodge/Update/Input/ScreenLayer.hs b/src/Dodge/Update/Input/ScreenLayer.hs index a3e1f425d..cb2c3c1f2 100644 --- a/src/Dodge/Update/Input/ScreenLayer.hs +++ b/src/Dodge/Update/Input/ScreenLayer.hs @@ -1,5 +1,6 @@ module Dodge.Update.Input.ScreenLayer ( updateUseInputOnScreen, + ldpVerticalSelection, ) where import Data.Char diff --git a/tags b/tags index ebb1cdf71..13a517af5 100644 --- a/tags +++ b/tags @@ -18,7 +18,7 @@ <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 108;" o <$> src/Dodge/Data/LWorld.hs 155;" o -<$> src/Dodge/Data/Terminal.hs 132;" o +<$> src/Dodge/Data/Terminal.hs 131;" o AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C AMR src/Dodge/Data/Item/Combine.hs 145;" C @@ -162,10 +162,10 @@ BezierTrajectory src/Dodge/Data/Bullet.hs 52;" C BezierTrajectoryType src/Dodge/Data/Bullet.hs 59;" C Bind src/Shader/Bind.hs 1;" m Biome src/Dodge/Data/Scenario.hs 71;" t -BlBl src/Dodge/Data/Terminal.hs 89;" t -BlConst src/Dodge/Data/Terminal.hs 91;" C -BlId src/Dodge/Data/Terminal.hs 92;" C -BlNegate src/Dodge/Data/Terminal.hs 90;" C +BlBl src/Dodge/Data/Terminal.hs 88;" t +BlConst src/Dodge/Data/Terminal.hs 90;" C +BlId src/Dodge/Data/Terminal.hs 91;" C +BlNegate src/Dodge/Data/Terminal.hs 89;" C BlSh src/Dodge/Data/Block.hs 45;" t BlShConst src/Dodge/Data/Block.hs 47;" C BlShMempty src/Dodge/Data/Block.hs 46;" C @@ -501,7 +501,7 @@ DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C DefaultHeldParams src/Dodge/Data/Item/Use.hs 81;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C -DefaultTerminal src/Dodge/Data/Terminal.hs 55;" C +DefaultTerminal src/Dodge/Data/Terminal.hs 54;" C Delete src/Dodge/Wall/Delete.hs 1;" m Deprecated src/Dodge/LevelGen/StaticWalls/Deprecated.hs 1;" m Destroy src/Dodge/Machine/Destroy.hs 1;" m @@ -622,7 +622,7 @@ East8 src/Dodge/Data/CardinalPoint.hs 13;" C EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t Effect src/Dodge/Data/Item/Effect.hs 6;" m Effect src/Dodge/Default/Item/Effect.hs 1;" m -EffectArguments src/Dodge/Data/Terminal.hs 95;" t +EffectArguments src/Dodge/Data/Terminal.hs 94;" t EffectRootNotroot src/Dodge/Data/Item/Effect.hs 24;" C EffectWhileAttached src/Dodge/Data/Item/Effect.hs 28;" C EffectWhileRoot src/Dodge/Data/Item/Effect.hs 27;" C @@ -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 33;" t +Input src/Dodge/Data/Input.hs 35;" 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 @@ -1193,12 +1193,14 @@ MountedObject src/Dodge/Data/MountedObject.hs 11;" t MountedObject src/Dodge/Data/MountedObject.hs 6;" m MountedProp src/Dodge/Data/MountedObject.hs 13;" C MouseAiming src/Dodge/Data/Input.hs 21;" C -MouseClick src/Dodge/Data/Input.hs 22;" C MouseContext src/Dodge/Data/Input.hs 19;" t +MouseInGame src/Dodge/Data/Input.hs 22;" C MouseInvDrag src/Dodge/Data/HUD.hs 30;" C MouseInvNothing src/Dodge/Data/HUD.hs 31;" C MouseInvSelect src/Dodge/Data/HUD.hs 28;" C MouseInventorySelection src/Dodge/Data/HUD.hs 27;" t +MouseMenu src/Dodge/Data/Input.hs 24;" C +MouseMenuClick src/Dodge/Data/Input.hs 23;" C Mouse_position src/Dodge/Data/Config.hs 73;" C Move src/Dodge/Data/ActionPlan.hs 28;" C Move src/Dodge/Wall/Move.hs 3;" m @@ -1245,7 +1247,7 @@ NewSideEffect src/Dodge/Data/Universe.hs 61;" C NextArcStep src/Dodge/Data/ArcStep.hs 21;" t Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C -NoArguments src/Dodge/Data/Terminal.hs 96;" C +NoArguments src/Dodge/Data/Terminal.hs 95;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C @@ -1339,7 +1341,7 @@ OnRightWrist src/Dodge/Data/Equipment/Misc.hs 25;" C OnSpecial src/Dodge/Data/Equipment/Misc.hs 27;" C OnTurret src/Dodge/Data/Item/Location.hs 35;" C OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C -OneArgument src/Dodge/Data/Terminal.hs 97;" C +OneArgument src/Dodge/Data/Terminal.hs 96;" C OneHand src/Dodge/Data/Item/Use.hs 178;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardList src/Dodge/Annotation/Data.hs 15;" C @@ -1356,14 +1358,14 @@ 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 26;" C -OverCombEscape src/Dodge/Data/Input.hs 28;" C -OverCombFilter src/Dodge/Data/Input.hs 27;" C -OverCombSelect src/Dodge/Data/Input.hs 25;" C -OverInvFilt src/Dodge/Data/Input.hs 24;" C -OverInvSelect src/Dodge/Data/Input.hs 23;" C -OverTerminalEscape src/Dodge/Data/Input.hs 30;" C -OverTerminalReturn src/Dodge/Data/Input.hs 29;" 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 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 @@ -1855,15 +1857,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 53;" C -TSdelete src/Dodge/Data/Input.hs 54;" C -TSdown src/Dodge/Data/Input.hs 59;" C -TSescape src/Dodge/Data/Input.hs 51;" C -TSleft src/Dodge/Data/Input.hs 56;" C -TSreturn src/Dodge/Data/Input.hs 52;" C -TSright src/Dodge/Data/Input.hs 57;" C -TStab src/Dodge/Data/Input.hs 55;" C -TSup src/Dodge/Data/Input.hs 58;" 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 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 @@ -1877,7 +1879,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 50;" t +TermSignal src/Dodge/Data/Input.hs 52;" 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 @@ -1888,31 +1890,31 @@ TerminalBootLines src/Dodge/Data/Terminal.hs 27;" C TerminalBootMempty src/Dodge/Data/Terminal.hs 26;" C TerminalBootProgram src/Dodge/Data/Terminal.hs 25;" t TerminalBusy src/Dodge/Data/Terminal.hs 15;" C -TerminalCommand src/Dodge/Data/Terminal.hs 117;" t -TerminalCommandArguments src/Dodge/Data/Terminal.hs 105;" C -TerminalCommandEffect src/Dodge/Data/Terminal.hs 104;" t +TerminalCommand src/Dodge/Data/Terminal.hs 116;" t +TerminalCommandArguments src/Dodge/Data/Terminal.hs 104;" C +TerminalCommandEffect src/Dodge/Data/Terminal.hs 103;" t TerminalCommandEffect src/Dodge/TerminalCommandEffect.hs 1;" m -TerminalCommandEffectCommands src/Dodge/Data/Terminal.hs 111;" C -TerminalCommandEffectDamageCoding src/Dodge/Data/Terminal.hs 106;" C -TerminalCommandEffectHelp src/Dodge/Data/Terminal.hs 109;" C -TerminalCommandEffectLinkedObject src/Dodge/Data/Terminal.hs 108;" C -TerminalCommandEffectNoArgumentsStr src/Dodge/Data/Terminal.hs 110;" C -TerminalCommandEffectNone src/Dodge/Data/Terminal.hs 113;" C -TerminalCommandEffectSensorParameter src/Dodge/Data/Terminal.hs 107;" C -TerminalCommandEffectSingleCommand src/Dodge/Data/Terminal.hs 112;" C +TerminalCommandEffectCommands src/Dodge/Data/Terminal.hs 110;" C +TerminalCommandEffectDamageCoding src/Dodge/Data/Terminal.hs 105;" C +TerminalCommandEffectHelp src/Dodge/Data/Terminal.hs 108;" C +TerminalCommandEffectLinkedObject src/Dodge/Data/Terminal.hs 107;" C +TerminalCommandEffectNoArgumentsStr src/Dodge/Data/Terminal.hs 109;" C +TerminalCommandEffectNone src/Dodge/Data/Terminal.hs 112;" C +TerminalCommandEffectSensorParameter src/Dodge/Data/Terminal.hs 106;" C +TerminalCommandEffectSingleCommand src/Dodge/Data/Terminal.hs 111;" C TerminalInput src/Dodge/Data/Terminal.hs 19;" t -TerminalLine src/Dodge/Data/Terminal.hs 67;" t -TerminalLineConst src/Dodge/Data/Terminal.hs 57;" C -TerminalLineDisplay src/Dodge/Data/Terminal.hs 68;" C -TerminalLineEffect src/Dodge/Data/Terminal.hs 76;" C -TerminalLineString src/Dodge/Data/Terminal.hs 57;" t -TerminalLineTerminalEffect src/Dodge/Data/Terminal.hs 72;" C +TerminalLine src/Dodge/Data/Terminal.hs 66;" t +TerminalLineConst src/Dodge/Data/Terminal.hs 56;" C +TerminalLineDisplay src/Dodge/Data/Terminal.hs 67;" C +TerminalLineEffect src/Dodge/Data/Terminal.hs 75;" C +TerminalLineString src/Dodge/Data/Terminal.hs 56;" t +TerminalLineTerminalEffect src/Dodge/Data/Terminal.hs 71;" C TerminalOff src/Dodge/Data/Terminal.hs 15;" C TerminalReady src/Dodge/Data/Terminal.hs 15;" C TerminalSound src/Dodge/Data/SoundOrigin.hs 23;" C TerminalStatus src/Dodge/Data/Terminal.hs 15;" t -TerminalToggle src/Dodge/Data/Terminal.hs 83;" t -TerminalType src/Dodge/Data/Terminal.hs 55;" t +TerminalToggle src/Dodge/Data/Terminal.hs 82;" t +TerminalType src/Dodge/Data/Terminal.hs 54;" t Terrestrial src/Dodge/Data/Scenario.hs 72;" C TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t Tesla src/Dodge/Tesla.hs 1;" m @@ -1941,12 +1943,12 @@ TimeFlowStatus src/Dodge/Data/World.hs 58;" t TimePU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C TimerTLS src/Dodge/Data/LightSource.hs 23;" C Tiny src/Shape/Data.hs 32;" C -TmId src/Dodge/Data/Terminal.hs 61;" C -TmTm src/Dodge/Data/Terminal.hs 60;" t +TmId src/Dodge/Data/Terminal.hs 60;" C +TmTm src/Dodge/Data/Terminal.hs 59;" t TmTm src/Dodge/TmTm.hs 1;" m -TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 62;" C -TmTmSetPartialCommand src/Dodge/Data/Terminal.hs 64;" C -TmTmSetStatus src/Dodge/Data/Terminal.hs 63;" C +TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 61;" C +TmTmSetPartialCommand src/Dodge/Data/Terminal.hs 63;" C +TmTmSetStatus src/Dodge/Data/Terminal.hs 62;" C TmWdId src/Dodge/Data/WorldEffect.hs 74;" C TmWdWd src/Dodge/Data/WorldEffect.hs 73;" t TmWdWd src/Dodge/TmWdWd.hs 1;" m @@ -2203,8 +2205,8 @@ _arTime src/Dodge/Data/Item/Use/Consumption.hs 30;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f _arcNumber src/Dodge/Data/Item/Params.hs 24;" f _arcSize src/Dodge/Data/Item/Params.hs 23;" f -_argList src/Dodge/Data/Terminal.hs 99;" f -_argType src/Dodge/Data/Terminal.hs 98;" f +_argList src/Dodge/Data/Terminal.hs 98;" f +_argType src/Dodge/Data/Terminal.hs 97;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f _asObject src/Dodge/Data/ArcStep.hs 17;" f _asPos src/Dodge/Data/ArcStep.hs 15;" f @@ -2324,14 +2326,14 @@ _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 41;" f -_clickWorldPos src/Dodge/Data/Input.hs 43;" f +_clickPos src/Dodge/Data/Input.hs 43;" f +_clickWorldPos src/Dodge/Data/Input.hs 45;" 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 _cloudVBO src/Data/Preload/Render.hs 47;" f _clouds src/Dodge/Data/LWorld.hs 100;" f -_cmdEffect src/Dodge/Data/Terminal.hs 96;" f +_cmdEffect src/Dodge/Data/Terminal.hs 95;" f _cmeRecoil src/Dodge/Data/MuzzleEffect.hs 12;" f _cmeSound src/Dodge/Data/MuzzleEffect.hs 14;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 13;" f @@ -2605,9 +2607,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 42;" f +_heldPos src/Dodge/Data/Input.hs 44;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f -_heldWorldPos src/Dodge/Data/Input.hs 44;" f +_heldWorldPos src/Dodge/Data/Input.hs 46;" 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 @@ -2747,10 +2749,11 @@ _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 26;" f -_mcoCombSelect src/Dodge/Data/Input.hs 25;" f -_mcoInvFilt src/Dodge/Data/Input.hs 24;" f -_mcoInvSelect src/Dodge/Data/Input.hs 23;" 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 +_mcoMenuClick src/Dodge/Data/Input.hs 23;" 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 @@ -2776,10 +2779,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 38;" 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 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 _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 @@ -2884,7 +2887,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 37;" f +_pressedKeys src/Dodge/Data/Input.hs 39;" 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 @@ -3006,14 +3009,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 39;" f +_scrollAmount src/Dodge/Data/Input.hs 41;" 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 46;" f -_scrollTestInt src/Dodge/Data/Input.hs 47;" f +_scrollTestFloat src/Dodge/Data/Input.hs 48;" f +_scrollTestInt src/Dodge/Data/Input.hs 49;" f _scurColor src/Dodge/Data/SelectionList.hs 32;" f _scurPos src/Dodge/Data/SelectionList.hs 30;" f _scurSize src/Dodge/Data/SelectionList.hs 31;" f @@ -3069,7 +3072,7 @@ _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f _slItems src/Dodge/Data/SelectionList.hs 25;" f _slSelPos src/Dodge/Data/SelectionList.hs 26;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 40;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f _soundAngDist src/Sound/Data.hs 53;" f _soundChannel src/Sound/Data.hs 52;" f _soundChunkID src/Sound/Data.hs 57;" f @@ -3115,16 +3118,16 @@ _tbPos src/Dodge/Data/TractorBeam.hs 14;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 15;" f _tbTime src/Dodge/Data/TractorBeam.hs 17;" f _tbVel src/Dodge/Data/TractorBeam.hs 16;" f -_tcAlias src/Dodge/Data/Terminal.hs 119;" f -_tcEffect src/Dodge/Data/Terminal.hs 121;" f -_tcHelp src/Dodge/Data/Terminal.hs 120;" f -_tcString src/Dodge/Data/Terminal.hs 118;" f +_tcAlias src/Dodge/Data/Terminal.hs 118;" f +_tcEffect src/Dodge/Data/Terminal.hs 120;" f +_tcHelp src/Dodge/Data/Terminal.hs 119;" f +_tcString src/Dodge/Data/Terminal.hs 117;" f _tempLightSources src/Dodge/Data/LWorld.hs 137;" f _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 45;" f +_textInput src/Dodge/Data/Input.hs 47;" f _textureObject src/Shader/Data.hs 95;" f _tiSel src/Dodge/Data/Terminal.hs 21;" f _tiText src/Dodge/Data/Terminal.hs 20;" f @@ -3135,34 +3138,33 @@ _tileZero src/Data/Tile.hs 16;" f _tiles src/Data/Tile.hs 13;" f _timeFlow src/Dodge/Data/World.hs 40;" f _timeFlowCharge src/Dodge/Data/World.hs 78;" f -_tlEffect src/Dodge/Data/Terminal.hs 78;" f -_tlPause src/Dodge/Data/Terminal.hs 69;" f -_tlPause src/Dodge/Data/Terminal.hs 73;" f -_tlPause src/Dodge/Data/Terminal.hs 77;" f -_tlString src/Dodge/Data/Terminal.hs 70;" f -_tlTermEffect src/Dodge/Data/Terminal.hs 74;" f +_tlEffect src/Dodge/Data/Terminal.hs 77;" f +_tlPause src/Dodge/Data/Terminal.hs 68;" f +_tlPause src/Dodge/Data/Terminal.hs 72;" f +_tlPause src/Dodge/Data/Terminal.hs 76;" f +_tlString src/Dodge/Data/Terminal.hs 69;" f +_tlTermEffect src/Dodge/Data/Terminal.hs 73;" f _tlsParam src/Dodge/Data/LightSource.hs 43;" f _tlsTime src/Dodge/Data/LightSource.hs 45;" f _tlsUpdate src/Dodge/Data/LightSource.hs 44;" f _tmBootProgram src/Dodge/Data/Terminal.hs 33;" f _tmButtonID src/Dodge/Data/Terminal.hs 34;" f -_tmCommandHistory src/Dodge/Data/Terminal.hs 47;" f -_tmDeathEffect src/Dodge/Data/Terminal.hs 45;" f -_tmDisplayedLines src/Dodge/Data/Terminal.hs 39;" f +_tmCommandHistory src/Dodge/Data/Terminal.hs 46;" f +_tmDeathEffect src/Dodge/Data/Terminal.hs 44;" f +_tmDisplayedLines src/Dodge/Data/Terminal.hs 38;" f _tmExternalColor src/Dodge/Data/Terminal.hs 37;" f -_tmFutureLines src/Dodge/Data/Terminal.hs 40;" f +_tmFutureLines src/Dodge/Data/Terminal.hs 39;" f _tmID src/Dodge/Data/Terminal.hs 32;" f -_tmInput src/Dodge/Data/Terminal.hs 42;" f +_tmInput src/Dodge/Data/Terminal.hs 41;" f _tmMachineID src/Dodge/Data/Terminal.hs 35;" f _tmName src/Dodge/Data/Terminal.hs 36;" f -_tmPartialCommand src/Dodge/Data/Terminal.hs 49;" f -_tmScreenColor src/Dodge/Data/Terminal.hs 38;" f -_tmScrollCommands src/Dodge/Data/Terminal.hs 43;" f -_tmStatus src/Dodge/Data/Terminal.hs 46;" f -_tmTitle src/Dodge/Data/Terminal.hs 41;" f -_tmToggles src/Dodge/Data/Terminal.hs 48;" f -_tmType src/Dodge/Data/Terminal.hs 50;" f -_tmWriteCommands src/Dodge/Data/Terminal.hs 44;" f +_tmPartialCommand src/Dodge/Data/Terminal.hs 48;" f +_tmScrollCommands src/Dodge/Data/Terminal.hs 42;" f +_tmStatus src/Dodge/Data/Terminal.hs 45;" f +_tmTitle src/Dodge/Data/Terminal.hs 40;" f +_tmToggles src/Dodge/Data/Terminal.hs 47;" f +_tmType src/Dodge/Data/Terminal.hs 49;" f +_tmWriteCommands src/Dodge/Data/Terminal.hs 43;" f _toPlaySoundChunkID src/Sound/Data.hs 45;" f _toPlaySoundPos src/Sound/Data.hs 42;" f _toPlaySoundStatus src/Sound/Data.hs 41;" f @@ -3179,8 +3181,8 @@ _trieMVal src/SimpleTrie.hs 10;" f _triggers src/Dodge/Data/LWorld.hs 127;" f _tryLeftLink src/Dodge/Data/ComposedItem.hs 58;" f _tryRightLink src/Dodge/Data/ComposedItem.hs 59;" f -_ttDeathEffect src/Dodge/Data/Terminal.hs 85;" f -_ttTriggerID src/Dodge/Data/Terminal.hs 84;" f +_ttDeathEffect src/Dodge/Data/Terminal.hs 84;" f +_ttTriggerID src/Dodge/Data/Terminal.hs 83;" f _tuDir src/Dodge/Data/Machine.hs 61;" f _tuFireTime src/Dodge/Data/Machine.hs 60;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f @@ -3344,10 +3346,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 451;" f +advanceScrollAmount src/Dodge/Update.hs 457;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 154;" f +aimDelaySweep src/Dodge/Render/Picture.hs 181;" 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 @@ -3589,7 +3591,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 738;" f +checkEndGame src/Dodge/Update.hs 744;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3616,7 +3618,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 791;" f +clClSpringVel src/Dodge/Update.hs 797;" 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 @@ -3643,7 +3645,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 761;" f +cloudEffect src/Dodge/Update.hs 767;" 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 @@ -3714,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 809;" f +crCrSpring src/Dodge/Update.hs 815;" 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 @@ -3735,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 804;" f +crSpring src/Dodge/Update.hs 810;" 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 @@ -3938,7 +3940,7 @@ defaultState src/Dodge/Default/Creature.hs 140;" f defaultSwitchWall src/Dodge/Default/Door.hs 22;" f defaultTLS src/Dodge/Default/LightSource.hs 20;" f defaultTerminal src/Dodge/Default/Terminal.hs 9;" f -defaultTerminalInput src/Dodge/Default/Terminal.hs 33;" f +defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f @@ -3986,7 +3988,7 @@ 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 480;" f +displayTerminalLineString src/Dodge/Update.hs 486;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4026,7 +4028,7 @@ doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f doInvEffect src/Dodge/ItEffect.hs 10;" f doItCrWdWd src/Dodge/WorldEffect.hs 49;" f -doItemTimeScroll src/Dodge/Update.hs 191;" f +doItemTimeScroll src/Dodge/Update.hs 192;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f @@ -4060,7 +4062,7 @@ doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 74;" f -doTimeScroll src/Dodge/Update.hs 196;" f +doTimeScroll src/Dodge/Update.hs 197;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 107;" f doWallRotate src/Dodge/Update/Camera.hs 188;" f @@ -4070,7 +4072,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 462;" f +doWorldEvents src/Dodge/Update.hs 468;" 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 @@ -4097,8 +4099,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 135;" f -drawCombFilterJump src/Dodge/Render/Picture.hs 120;" f +drawCombFilter src/Dodge/Render/Picture.hs 162;" f +drawCombFilterJump src/Dodge/Render/Picture.hs 147;" f drawCombineInventory src/Dodge/Render/HUD.hs 163;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f @@ -4112,7 +4114,7 @@ drawDDATest src/Dodge/Debug/Picture.hs 256;" f drawDISelections src/Dodge/Render/HUD.hs 146;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f -drawEmptySet src/Dodge/Render/Picture.hs 100;" f +drawEmptySet src/Dodge/Render/Picture.hs 102;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f drawExamineInventory src/Dodge/Render/HUD.hs 177;" f @@ -4122,7 +4124,7 @@ drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f drawFlare src/Dodge/Flare.hs 12;" f drawFooterText src/Dodge/Render/MenuScreen.hs 65;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 145;" f +drawGapPlus src/Dodge/Render/Picture.hs 172;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHP src/Dodge/Render/HUD.hs 56;" f drawHUD src/Dodge/Render/HUD.hs 48;" f @@ -4139,8 +4141,10 @@ drawList src/Dodge/Render/List.hs 207;" f drawListElement src/Dodge/Render/List.hs 187;" f drawListYgapScaleYoff src/Dodge/Render/List.hs 94;" f drawListYoff src/Dodge/Render/List.hs 91;" f -drawMachine src/Dodge/Machine/Draw.hs 16;" f +drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f +drawMenuClick src/Dodge/Render/Picture.hs 122;" f +drawMenuCursor src/Dodge/Render/Picture.hs 135;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f drawMouseCursor src/Dodge/Render/Picture.hs 73;" f @@ -4153,7 +4157,7 @@ drawOptions src/Dodge/Render/MenuScreen.hs 32;" 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 117;" f +drawPlus src/Dodge/Render/Picture.hs 119;" 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 @@ -4161,15 +4165,15 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 222;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f -drawReturn src/Dodge/Render/Picture.hs 106;" f +drawReturn src/Dodge/Render/Picture.hs 108;" f drawRootCursor src/Dodge/Render/HUD.hs 84;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f -drawSelect src/Dodge/Render/Picture.hs 124;" f +drawSelect src/Dodge/Render/Picture.hs 151;" f drawSelectionList src/Dodge/Render/List.hs 33;" f drawSelectionListBackground src/Dodge/Render/List.hs 52;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f -drawSensor src/Dodge/Machine/Draw.hs 23;" f +drawSensor src/Dodge/Machine/Draw.hs 24;" f drawShader src/Shader.hs 27;" f drawShaderLay src/Shader.hs 16;" f drawShadowsByImportance src/Dodge/Shadows.hs 8;" f @@ -4178,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 155;" f -drawSweep src/Dodge/Render/Picture.hs 161;" f +drawSweep src/Dodge/Render/Picture.hs 188;" 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 @@ -4357,7 +4361,7 @@ fromV3 src/Geometry/Data.hs 43;" f frontArmour src/Dodge/Item/Equipment.hs 41;" f fstV2 src/Geometry/Data.hs 50;" f fuelPack src/Dodge/Item/Equipment.hs 64;" f -functionalUpdate src/Dodge/Update.hs 242;" f +functionalUpdate src/Dodge/Update.hs 243;" f fuseFunc src/Dodge/Path.hs 150;" f fusePairs src/Dodge/Path.hs 153;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f @@ -4434,7 +4438,7 @@ glassWallDamage src/Dodge/Wall/DamageEffect.hs 48;" f glushortSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 136;" f -gotoTerminal src/Dodge/Update.hs 127;" f +gotoTerminal src/Dodge/Update.hs 128;" f grahamEliminate src/Geometry/Polygon.hs 125;" f grahamScan src/Geometry/Polygon.hs 116;" f grapeCannon src/Dodge/Item/Held/Cone.hs 38;" f @@ -4635,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 429;" f +isOverTerminalScreen src/Dodge/Update.hs 435;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f @@ -4893,7 +4897,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 723;" f +markWallSeen src/Dodge/Update.hs 729;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4905,7 +4909,7 @@ 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 368;" f -maybeOpenTerminal src/Dodge/Update.hs 122;" f +maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f maybeWarmupStatus src/Dodge/Item/Display.hs 119;" f @@ -4920,7 +4924,7 @@ mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 85;" f mcSensorUpdate src/Dodge/Machine/Update.hs 117;" f mcShootLaser src/Dodge/HeldUse.hs 465;" f mcTriggerVal src/Dodge/Machine/Update.hs 91;" f -mcTypeUpdate src/Dodge/Machine/Update.hs 26;" f +mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f mcUseHeld src/Dodge/HeldUse.hs 404;" f mcUseItem src/Dodge/Machine/Update.hs 77;" f medkit src/Dodge/Item/Consumable.hs 8;" f @@ -5024,7 +5028,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 752;" f +mvGust src/Dodge/Update.hs 758;" 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 @@ -5137,7 +5141,7 @@ pauseGame src/Dodge/Update/Input/InGame.hs 304;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f -pauseTime src/Dodge/Update.hs 182;" f +pauseTime src/Dodge/Update.hs 183;" f pciToCI src/Dodge/Item/Grammar.hs 96;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -5292,7 +5296,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 715;" f +ppEvents src/Dodge/Update.hs 721;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5577,8 +5581,8 @@ scrollCommands src/Dodge/Update/Scroll.hs 132;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f scrollRBOption src/Dodge/Update/Scroll.hs 109;" f scrollSelectionSections src/Dodge/SelectionSections.hs 30;" f -scrollTimeBack src/Dodge/Update.hs 206;" f -scrollTimeForward src/Dodge/Update.hs 226;" f +scrollTimeBack src/Dodge/Update.hs 207;" f +scrollTimeForward src/Dodge/Update.hs 227;" f scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f @@ -5616,7 +5620,7 @@ sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f setChannelPos src/Sound.hs 149;" f -setClickWorldPos src/Dodge/Update.hs 97;" f +setClickWorldPos src/Dodge/Update.hs 98;" f setClusterID src/Dodge/Combine/Graph.hs 103;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -5634,7 +5638,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 504;" f +setOldPos src/Dodge/Update.hs 510;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5741,7 +5745,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 800;" f +simpleCrSprings src/Dodge/Update.hs 806;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5916,16 +5920,16 @@ telRoomLev src/Dodge/Room/Teleport.hs 14;" f 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 6;" f +termScreenColor src/Dodge/Terminal/Color.hs 9;" f termSoundLine src/Dodge/Terminal.hs 112;" f termSoundLine src/Dodge/Terminal/Line.hs 10;" f termTextColor src/Dodge/Terminal.hs 115;" 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 -terminalSPic src/Dodge/Machine/Draw.hs 28;" f -terminalScreenGlow src/Dodge/Machine/Update.hs 33;" f -terminalShape src/Dodge/Machine/Draw.hs 31;" f +terminalSPic src/Dodge/Machine/Draw.hs 29;" f +terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f +terminalShape src/Dodge/Machine/Draw.hs 32;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 78;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 348;" f @@ -5960,7 +5964,7 @@ threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 205;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 169;" f +timeFlowUpdate src/Dodge/Update.hs 170;" f timeModule src/Dodge/Item/Craftable.hs 33;" f timerTLS src/Dodge/LightSource/Update.hs 22;" f tinMag src/Dodge/Item/Ammo.hs 27;" f @@ -5969,7 +5973,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 484;" f +tmUpdate src/Dodge/Update.hs 490;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -6111,42 +6115,42 @@ 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 581;" f +updateBullets src/Dodge/Update.hs 587;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 766;" f -updateClouds src/Dodge/Update.hs 610;" f +updateCloud src/Dodge/Update.hs 772;" f +updateClouds src/Dodge/Update.hs 616;" f updateCombineInvClick src/Dodge/Update/Input/InGame.hs 102;" 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 550;" f -updateCreatureSoundPositions src/Dodge/Update.hs 526;" f -updateDebugMessageOffset src/Dodge/Update.hs 91;" f -updateDelayedEvents src/Dodge/Update.hs 829;" f +updateCreatureGroups src/Dodge/Update.hs 556;" f +updateCreatureSoundPositions src/Dodge/Update.hs 532;" f +updateDebugMessageOffset src/Dodge/Update.hs 92;" f +updateDelayedEvents src/Dodge/Update.hs 835;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 571;" f +updateDistortions src/Dodge/Update.hs 577;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 598;" f +updateEnergyBalls src/Dodge/Update.hs 604;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 283;" 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 595;" f +updateFlames src/Dodge/Update.hs 601;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 92;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 88;" f -updateGusts src/Dodge/Update.hs 749;" f +updateGusts src/Dodge/Update.hs 755;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 540;" f -updateIMl' src/Dodge/Update.hs 545;" f +updateIMl src/Dodge/Update.hs 546;" f +updateIMl' src/Dodge/Update.hs 551;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 186;" f -updateInstantBullets src/Dodge/Update.hs 687;" f +updateInstantBullets src/Dodge/Update.hs 693;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f @@ -6155,21 +6159,21 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 180;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 169;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 469;" f -updateLightSources src/Dodge/Update.hs 574;" f +updateLasers src/Dodge/Update.hs 475;" f +updateLightSources src/Dodge/Update.hs 580;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 201;" f -updateMIM src/Dodge/Update.hs 700;" f -updateMachine src/Dodge/Machine/Update.hs 18;" f +updateMIM src/Dodge/Update.hs 706;" f +updateMachine src/Dodge/Machine/Update.hs 19;" 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 562;" f -updateObjMapMaybe src/Dodge/Update.hs 555;" f -updatePastWorlds src/Dodge/Update.hs 457;" f +updateObjCatMaybes src/Dodge/Update.hs 568;" f +updateObjMapMaybe src/Dodge/Update.hs 561;" f +updatePastWorlds src/Dodge/Update.hs 463;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 607;" f +updatePosEvents src/Dodge/Update.hs 613;" f updatePreload src/Preload/Update.hs 20;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 144;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 147;" f @@ -6177,9 +6181,9 @@ 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 577;" f +updateRadarBlips src/Dodge/Update.hs 583;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 601;" f +updateRadarSweeps src/Dodge/Update.hs 607;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6188,32 +6192,32 @@ 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 718;" f +updateSeenWalls src/Dodge/Update.hs 724;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 592;" f +updateShockwaves src/Dodge/Update.hs 598;" 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 604;" f +updateSparks src/Dodge/Update.hs 610;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 586;" f +updateTeslaArcs src/Dodge/Update.hs 592;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 589;" f +updateTractorBeams src/Dodge/Update.hs 595;" f updateTurret src/Dodge/Machine/Update.hs 47;" f updateUniverse src/Dodge/Update.hs 71;" f -updateUniverseFirst src/Dodge/Update.hs 82;" f -updateUniverseLast src/Dodge/Update.hs 132;" f -updateUniverseMid src/Dodge/Update.hs 153;" f +updateUniverseFirst src/Dodge/Update.hs 83;" f +updateUniverseLast src/Dodge/Update.hs 133;" f +updateUniverseMid src/Dodge/Update.hs 154;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 34;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" 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 444;" f -updateWorldEventFlag src/Dodge/Update.hs 116;" f -updateWorldEventFlags src/Dodge/Update.hs 104;" f +updateWheelEvents src/Dodge/Update.hs 450;" f +updateWorldEventFlag src/Dodge/Update.hs 117;" f +updateWorldEventFlags src/Dodge/Update.hs 105;" f upperBody src/Dodge/Creature/Picture.hs 133;" f upperBox src/Shape.hs 154;" f upperBoxHalf src/Shape.hs 220;" f @@ -6383,9 +6387,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 477;" f +zoneClouds src/Dodge/Update.hs 483;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 521;" f +zoneCreatures src/Dodge/Update.hs 527;" 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