diff --git a/src/Dodge/ListDisplayParams.hs b/src/Dodge/ListDisplayParams.hs index 1c7295dd5..a2777fe0f 100644 --- a/src/Dodge/ListDisplayParams.hs +++ b/src/Dodge/ListDisplayParams.hs @@ -48,7 +48,7 @@ secondColumnLDP = defaultLDP & ldpPos . spPixelOff .~ V2 subInvX (-20) terminalLDP :: LDParams terminalLDP = secondColumnLDP & ldpSize ?~ V2 50 16 & ldpPos . spScreenOff .~ V2 0.5 0.5 - & ldpPos . spPixelOff .~ V2 (-250) (-40) + & ldpPos . spPixelOff .~ V2 (-250) 200 subInvX :: Float subInvX = 10 * fromIntegral topInvW + 170 diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 5446c8ce7..b3fe3e53f 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -372,10 +372,16 @@ drawTerminalDisplay w cfig tid = fold $ do TerminalLineRead -> (++ [(spincurs, termTextColor)]) TerminalTextInput s -> (++ [(getPromptTM ++ s ++ [cFilledRect], white)]) TerminalPressTo s -> (++ [(s, white)]) - return $ + return . (each . vxPos . _z -~ 0.05) $ + drawTerminalCursorLink w cfig tm + <> ( drawSelectionList (w ^. tmLDP) cfig f - <> drawTerminalCursorLink w cfig tm + <> (hackInvertText black white ("TERMINAL-" ++ show tid) + & each . vxPos *~ 0.1 + & each . vxPos . _xy +~ rp) + & each . vxPos . _z -~ 0.05) where + rp = screenPosAbs cfig (w ^. tmLDP . ldpPos) -- <> invHead cfig ("TERMINAL-" ++ show tid) -- <> color -- (withAlpha 0.5 green) -- consider integrating termScreenColor somehow @@ -391,7 +397,7 @@ drawTerminalCursorLink :: World -> Config -> Terminal -> Picture drawTerminalCursorLink w cfig tm = fold $ do j <- elemIndex (tm ^. tmButtonID) $ w ^. hud . closeButtons lp <- selNumPos cfig invDP (w ^. hud . diSections) 5 j - let rp = screenPosAbs cfig (secondColumnLDP ^. ldpPos) - V2 5 10 + let rp = screenPosAbs cfig (w ^. tmLDP . ldpPos) lcol <- selSecSelCol 5 j (w ^. hud . diSections) return $ translateScreenPos @@ -403,7 +409,8 @@ drawTerminalCursorLink w cfig tm = fold $ do (w ^. hud . diSections) (Sel 5 j mempty) ) - <> lConnectCol (lp + V2 155 0) rp lcol white white + <> + lConnectCol (lp + V2 155 0) rp lcol white white lnkMidPosInvSelsCol :: Config -> World -> Int -> Color -> [Int] -> Picture lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f diff --git a/src/Dodge/Render/List.hs b/src/Dodge/Render/List.hs index 6b26ad448..cb181eb16 100644 --- a/src/Dodge/Render/List.hs +++ b/src/Dodge/Render/List.hs @@ -40,7 +40,7 @@ drawSelectionList ldps cfig sl = (drawListYgapScaleYoff ygap sf 0 (makeSelectionListPictures sl)) <> foldMap (g . f) (ldpRect cfig ldps) where - g xs = color white (polygonWire xs) <> setDepth 0.5 (polygon xs) + g xs = color white (polygonWire xs) <> setDepth 0.05 (polygon xs) ygap = ldps ^. ldpVerticalGap sf = ldps ^. ldpScale f (V2 xmin ymax, V2 xmax ymin) = rectNSWE ymax ymin xmin xmax diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 5967c21f5..852238d60 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -136,7 +136,7 @@ setPixelOffsetBounded cfig (V2 x y) ldp = ldp & ldpPos . spPixelOff .~ V2 x' y' w = fromIntegral $ cfig ^. windowX x' = min (w - (w*a + 1+10*ldp ^?! ldpSize . _Just . _x . to fromIntegral)) $ max (1 - w * a) x - y' = min (h-(h*b + 40)) + y' = min (h-(h*b + 20)) $ max (1+20*(ldp^.ldpVerticalGap + ldp^?!ldpSize._Just._y.to fromIntegral)-h*b) y V2 a b = ldp ^. ldpPos . spScreenOff diff --git a/src/Picture/Base.hs b/src/Picture/Base.hs index 59070c83f..82dacef84 100644 --- a/src/Picture/Base.hs +++ b/src/Picture/Base.hs @@ -42,7 +42,7 @@ module Picture.Base ( color, zeroZ, setDepth, - addDepth, +-- addDepth, setLayer, mirroryz, mirrorxz, @@ -122,10 +122,10 @@ setDepth :: Float -> Picture -> Picture --setDepth d = map $ second $ overPos (\(x,y,_) -> (x,y,d)) setDepth d = fmap $ overPos (\(V3 x y _) -> V3 x y d) -addDepth :: Float -> Picture -> Picture -{-# INLINE addDepth #-} ---addDepth d = map $ second $ overPos (\(x,y,z) -> (x,y,z+d)) -addDepth d = fmap $ overPos (\(V3 x y z) -> V3 x y (z + d)) +--addDepth :: Float -> Picture -> Picture +--{-# INLINE addDepth #-} +----addDepth d = map $ second $ overPos (\(x,y,z) -> (x,y,z+d)) +--addDepth d = fmap $ overPos (\(V3 x y z) -> V3 x y (z + d)) -- TODO change the Int here to a dedicated type setLayer :: Layer -> Picture -> Picture diff --git a/tags b/tags index 14741f5db..70c5f20cb 100644 --- a/tags +++ b/tags @@ -100,7 +100,7 @@ BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 134;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 22;" C BULLETSYNTH src/Dodge/Data/Item/Combine.hs 93;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 157;" C -BackdropCurs src/Dodge/Data/SelectionList.hs 22;" C +BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C Bark src/Dodge/Data/ActionPlan.hs 39;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 64;" C @@ -139,7 +139,7 @@ Blunt src/Dodge/Data/Damage.hs 17;" C Boosting src/Dodge/Data/Creature/Stance.hs 25;" C BottomMenuOption src/Dodge/Data/Universe.hs 77;" C BounceBullet src/Dodge/Data/Bullet.hs 28;" C -BoundCurs src/Dodge/Data/SelectionList.hs 21;" C +BoundCurs src/Dodge/Data/SelectionList.hs 22;" C Bound_box_screen src/Dodge/Data/Config.hs 95;" C Bounds src/Dodge/Data/Bounds.hs 10;" t BrigSS src/Dodge/Data/Scenario.hs 102;" C @@ -285,7 +285,7 @@ CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C CryostatisSS src/Dodge/Data/Scenario.hs 91;" C Crystal src/Dodge/Data/Material.hs 16;" C Cull_more_lights src/Dodge/Data/Config.hs 92;" C -CursorDisplay src/Dodge/Data/SelectionList.hs 20;" t +CursorDisplay src/Dodge/Data/SelectionList.hs 21;" t Cylinder src/Shape/Data.hs 14;" C DETECTOR src/Dodge/Data/Item/Combine.hs 33;" C DROPPER src/Dodge/Data/Item/Combine.hs 26;" C @@ -355,7 +355,7 @@ DrawForceField src/Dodge/Data/Wall.hs 37;" C DrawnWall src/Dodge/Data/Wall.hs 33;" C DroneAmmo src/Dodge/Data/AmmoType.hs 13;" C DropItem src/Dodge/Data/ActionPlan.hs 38;" C -DropShadowSI src/Dodge/Data/SelectionList.hs 58;" C +DropShadowSI src/Dodge/Data/SelectionList.hs 59;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Data/Cloud.hs 26;" t @@ -421,7 +421,7 @@ FilterBySoundOrigin src/Dodge/Data/WorldEffect.hs 22;" C FireSpark src/Dodge/Data/Spark.hs 19;" C Fixated src/Dodge/Data/Creature/Perception.hs 60;" C FixedCoordLayer src/Picture/Data.hs 23;" C -FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C +FixedSelectionWidth src/Dodge/Data/SelectionList.hs 43;" C FlIt src/Dodge/Data/FloorItem.hs 11;" C Flame src/Dodge/Data/Flame.hs 11;" t FlameBeamCombine src/Dodge/Data/Beam.hs 37;" C @@ -527,7 +527,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeldItemType src/Dodge/Data/Item/Combine.hs 140;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C -HighlightSI src/Dodge/Data/SelectionList.hs 57;" C +HighlightSI src/Dodge/Data/SelectionList.hs 58;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 41;" C HomeUsingTargeting src/Dodge/Data/Projectile.hs 42;" C Hospital src/Dodge/Data/Scenario.hs 69;" C @@ -552,8 +552,8 @@ HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C HoverCrit src/Dodge/Data/Creature/Misc.hs 61;" C Huge src/Shape/Data.hs 23;" C Humanoid src/Dodge/Data/Creature/Misc.hs 70;" C -IMSI src/Dodge/Data/SelectionList.hs 40;" t -IMSS src/Dodge/Data/SelectionList.hs 38;" t +IMSI src/Dodge/Data/SelectionList.hs 41;" t +IMSS src/Dodge/Data/SelectionList.hs 39;" t INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 126;" C IRONBAR src/Dodge/Data/Item/Combine.hs 79;" C @@ -592,8 +592,8 @@ IntroScanType src/Dodge/Data/Item/Combine.hs 44;" t InvInt src/Dodge/Data/Item/Location.hs 16;" t InventoryChange src/Dodge/Data/World.hs 32;" C InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 12;" C -InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 60;" C -InventoryHeadSI src/Dodge/Data/SelectionList.hs 59;" C +InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 61;" C +InventoryHeadSI src/Dodge/Data/SelectionList.hs 60;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 38;" t InventorySound src/Dodge/Data/SoundOrigin.hs 11;" C Investigate src/Dodge/Data/ActionPlan.hs 136;" C @@ -627,8 +627,8 @@ JustStartedPlaying src/Sound/Data.hs 22;" C KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C Kill src/Dodge/Data/ActionPlan.hs 152;" C LASER src/Dodge/Data/Item/Combine.hs 35;" C -LDP src/Dodge/Data/SelectionList.hs 13;" C -LDParams src/Dodge/Data/SelectionList.hs 13;" t +LDP src/Dodge/Data/SelectionList.hs 14;" C +LDParams src/Dodge/Data/SelectionList.hs 14;" t LED src/Dodge/Data/Item/Combine.hs 175;" C LIGHTER src/Dodge/Data/Item/Combine.hs 67;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 80;" C @@ -837,7 +837,7 @@ NoParams src/Dodge/Data/Item/Params.hs 13;" C NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C NoSF src/Dodge/Data/ComposedItem.hs 29;" C -NoSIDisplayMod src/Dodge/Data/SelectionList.hs 56;" C +NoSIDisplayMod src/Dodge/Data/SelectionList.hs 57;" C NoShadowFidelity src/Shape/Data.hs 20;" C NoShadows src/Dodge/Data/Config.hs 119;" C NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C @@ -1141,7 +1141,7 @@ SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C SHATTERGUN src/Dodge/Data/Item/Combine.hs 174;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 111;" C SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 102;" C -SIDisplayMod src/Dodge/Data/SelectionList.hs 55;" t +SIDisplayMod src/Dodge/Data/SelectionList.hs 56;" t SMG src/Dodge/Data/Item/Combine.hs 148;" C SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 100;" C SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 162;" C @@ -1162,19 +1162,19 @@ ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t Search src/Dodge/Data/ActionPlan.hs 146;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C -SectionCursor src/Dodge/Data/SelectionList.hs 24;" t +SectionCursor src/Dodge/Data/SelectionList.hs 25;" t SeeAbove src/Dodge/Data/Wall.hs 32;" C SeeThrough src/Dodge/Data/Wall.hs 31;" C Sel src/Dodge/Data/HUD.hs 39;" C SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C -SelItem src/Dodge/Data/SelectionList.hs 44;" C +SelItem src/Dodge/Data/SelectionList.hs 45;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C -SelSection src/Dodge/Data/SelectionList.hs 30;" t +SelSection src/Dodge/Data/SelectionList.hs 31;" t SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C Selection src/Dodge/Data/HUD.hs 39;" t -SelectionItem src/Dodge/Data/SelectionList.hs 44;" t -SelectionWidth src/Dodge/Data/SelectionList.hs 42;" t +SelectionItem src/Dodge/Data/SelectionList.hs 45;" t +SelectionWidth src/Dodge/Data/SelectionList.hs 43;" t SelfTree src/Dodge/Data/MetaTree.hs 21;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 12;" t @@ -1410,7 +1410,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 29;" C UseInt src/Dodge/Data/Item/Use.hs 31;" C UseInvItem src/Dodge/Data/WorldEffect.hs 38;" C UseItem src/Dodge/Data/ActionPlan.hs 36;" C -UseItemWidth src/Dodge/Data/SelectionList.hs 42;" C +UseItemWidth src/Dodge/Data/SelectionList.hs 43;" C UseMapper src/Dodge/Data/Item/Use.hs 37;" C UseNothing src/Dodge/Data/Item/Use.hs 32;" C UseScope src/Dodge/Data/Item/Use.hs 34;" C @@ -1944,10 +1944,10 @@ _lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f _laserEmmiter src/Dodge/Data/Laser.hs 16;" f _laserTypeDamage src/Dodge/Data/Laser.hs 15;" f _lasers src/Dodge/Data/LWorld.hs 117;" f -_ldpBorder src/Dodge/Data/SelectionList.hs 17;" f -_ldpPos src/Dodge/Data/SelectionList.hs 14;" f -_ldpScale src/Dodge/Data/SelectionList.hs 15;" f -_ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f +_ldpPos src/Dodge/Data/SelectionList.hs 15;" f +_ldpScale src/Dodge/Data/SelectionList.hs 16;" f +_ldpSize src/Dodge/Data/SelectionList.hs 18;" f +_ldpVerticalGap src/Dodge/Data/SelectionList.hs 17;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f _lightSources src/Dodge/Data/LWorld.hs 137;" f _lightUBO src/Data/Preload/Render.hs 43;" f @@ -2268,9 +2268,9 @@ _scrollSmoothing src/Dodge/Data/World.hs 70;" f _scrollSmoothing src/Dodge/Data/World.hs 76;" f _scrollTestFloat src/Dodge/Data/Input.hs 48;" f _scrollTestInt src/Dodge/Data/Input.hs 49;" f -_scurColor src/Dodge/Data/SelectionList.hs 27;" f -_scurPos src/Dodge/Data/SelectionList.hs 25;" f -_scurSize src/Dodge/Data/SelectionList.hs 26;" f +_scurColor src/Dodge/Data/SelectionList.hs 28;" f +_scurPos src/Dodge/Data/SelectionList.hs 26;" f +_scurSize src/Dodge/Data/SelectionList.hs 27;" f _seDist src/Dodge/Data/PathGraph.hs 44;" f _seObstacles src/Dodge/Data/PathGraph.hs 45;" f _seenLocations src/Dodge/Data/LWorld.hs 139;" f @@ -2293,14 +2293,14 @@ _shapeHalfSize src/Shape/Data.hs 13;" f _shapeShader src/Data/Preload/Render.hs 28;" f _shellPayload src/Dodge/Data/Item/Combine.hs 102;" f _shockwaves src/Dodge/Data/LWorld.hs 116;" f -_siColor src/Dodge/Data/SelectionList.hs 49;" f -_siDisplayMod src/Dodge/Data/SelectionList.hs 52;" f -_siHeight src/Dodge/Data/SelectionList.hs 46;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 48;" f -_siOffX src/Dodge/Data/SelectionList.hs 50;" f -_siPayload src/Dodge/Data/SelectionList.hs 51;" f -_siPictures src/Dodge/Data/SelectionList.hs 45;" f -_siWidth src/Dodge/Data/SelectionList.hs 47;" f +_siColor src/Dodge/Data/SelectionList.hs 50;" f +_siDisplayMod src/Dodge/Data/SelectionList.hs 53;" f +_siHeight src/Dodge/Data/SelectionList.hs 47;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 49;" f +_siOffX src/Dodge/Data/SelectionList.hs 51;" f +_siPayload src/Dodge/Data/SelectionList.hs 52;" f +_siPictures src/Dodge/Data/SelectionList.hs 46;" f +_siWidth src/Dodge/Data/SelectionList.hs 48;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f _silhouetteEBO src/Data/Preload/Render.hs 30;" f @@ -2330,11 +2330,11 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f _sparks src/Dodge/Data/LWorld.hs 110;" f _spawnEBT src/Dodge/Data/Bullet.hs 33;" f -_ssIndent src/Dodge/Data/SelectionList.hs 35;" f -_ssItems src/Dodge/Data/SelectionList.hs 31;" f -_ssOffset src/Dodge/Data/SelectionList.hs 32;" f -_ssShownItems src/Dodge/Data/SelectionList.hs 33;" f -_ssShownLength src/Dodge/Data/SelectionList.hs 34;" f +_ssIndent src/Dodge/Data/SelectionList.hs 36;" f +_ssItems src/Dodge/Data/SelectionList.hs 32;" f +_ssOffset src/Dodge/Data/SelectionList.hs 33;" f +_ssShownItems src/Dodge/Data/SelectionList.hs 34;" f +_ssShownLength src/Dodge/Data/SelectionList.hs 35;" f _ssboName src/Shader/Data.hs 97;" f _ssboPtr src/Shader/Data.hs 98;" f _strideAmount src/Dodge/Data/Creature/Misc.hs 55;" f @@ -2538,7 +2538,6 @@ activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 82;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f -addDepth src/Picture/Base.hs 125;" f addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 66;" f addDoorToggleTerminal src/Dodge/Room/Warning.hs 41;" f @@ -2754,7 +2753,6 @@ bossRoom src/Dodge/Room/Boss.hs 55;" f bounceDir src/Dodge/Bullet.hs 111;" f bouncePoint src/Dodge/Base/Collide.hs 88;" f bounceSound src/Dodge/Projectile/Update.hs 74;" f -boundPixelOffset src/Dodge/Update/Input/InGame.hs 142;" f boundPoints src/Bound.hs 9;" f boundPointsRect src/Bound.hs 23;" f boundedGrid src/Grid.hs 17;" f @@ -2942,7 +2940,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 753;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 398;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 396;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -3269,7 +3267,7 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f doDoorMount src/Dodge/Door.hs 32;" f -doDrag src/Dodge/Update/Input/InGame.hs 150;" f +doDrag src/Dodge/Update/Input/InGame.hs 148;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3288,7 +3286,7 @@ doPreload appDodge/Main.hs 132;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 444;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 442;" f doRoomPlacements src/Dodge/Layout.hs 116;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f @@ -3431,7 +3429,7 @@ drawSubInventory src/Dodge/Render/HUD.hs 173;" f drawSwitch src/Dodge/Button/Draw.hs 18;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 390;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 394;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 357;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 224;" f @@ -3494,8 +3492,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f encircleDistP src/Dodge/Creature/Boid.hs 24;" f encircleP src/Dodge/Creature/Boid.hs 30;" f endArcPos src/Dodge/Tesla.hs 86;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 298;" f -endRegex src/Dodge/Update/Input/InGame.hs 292;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 296;" f +endRegex src/Dodge/Update/Input/InGame.hs 290;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f enterCombineInv src/Dodge/DisplayInventory.hs 321;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3648,7 +3646,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 89;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 173;" f getBulletType src/Dodge/HeldUse.hs 937;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 530;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 528;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f @@ -3866,7 +3864,7 @@ invDP src/Dodge/ListDisplayParams.hs 32;" f invDT src/Dodge/Item/Grammar.hs 225;" f invDT' src/Dodge/Item/Grammar.hs 230;" f invDimColor src/Dodge/DisplayInventory.hs 190;" f -invHead src/Dodge/Render/HUD.hs 419;" f +invHead src/Dodge/Render/HUD.hs 423;" f invIMDT src/Dodge/Item/Grammar.hs 254;" f invIndents src/Dodge/Item/Grammar.hs 261;" f invItemEffs src/Dodge/Creature/State.hs 68;" f @@ -3895,7 +3893,7 @@ isCognizant src/Dodge/Creature/Perception.hs 118;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 66;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 193;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 220;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 218;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f isJust' src/MaybeHelp.hs 27;" f isLHS src/Geometry/LHS.hs 12;" f @@ -4056,7 +4054,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 212;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 408;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 412;" f loadAmmoTut src/Dodge/Room/Tutorial.hs 429;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f @@ -4184,7 +4182,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 559;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 557;" f maybeOpenConsole src/Dodge/Update.hs 134;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f @@ -4219,7 +4217,7 @@ memoCylinderIndices src/Shader/Poke.hs 323;" f memoFlatIndices src/Shader/Poke.hs 311;" f memoTopPrismEdgeIndices src/Shader/Poke.hs 329;" f memoTopPrismIndices src/Shader/Poke.hs 317;" f -menuLDP src/Dodge/ListDisplayParams.hs 57;" f +menuLDP src/Dodge/ListDisplayParams.hs 59;" f menuOptionToSelectionItem src/Dodge/Menu/Option.hs 91;" f merge src/ListHelp.hs 84;" f mergeBy src/ListHelp.hs 87;" f @@ -4422,7 +4420,7 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 645;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 522;" f +pauseGame src/Dodge/Update/Input/InGame.hs 520;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -4861,7 +4859,7 @@ scorchSPic src/Dodge/Creature/Update.hs 161;" f screenBox src/Dodge/Base/Window.hs 54;" f screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f -screenPosAbs src/Dodge/ScreenPos.hs 15;" f +screenPosAbs src/Dodge/ScreenPos.hs 16;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f scrollAugInvSel src/Dodge/Inventory.hs 299;" f scrollAugNextInSection src/Dodge/Inventory.hs 313;" f @@ -4885,10 +4883,10 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -selNumPos src/Dodge/Render/HUD.hs 468;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 485;" f +selNumPos src/Dodge/Render/HUD.hs 472;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 489;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f -selSecSelCol src/Dodge/Render/HUD.hs 505;" f +selSecSelCol src/Dodge/Render/HUD.hs 509;" f selSecSelSize src/Dodge/SelectionSections.hs 157;" f selSecYint src/Dodge/SelectionSections.hs 166;" f selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f @@ -4928,7 +4926,7 @@ setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 132;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 294;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 345;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -4971,7 +4969,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 134;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 315;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 313;" f shiftInvItemsDown src/Dodge/Inventory.hs 181;" f shiftInvItemsUp src/Dodge/Inventory.hs 191;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f @@ -5093,7 +5091,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f spPos src/ShapePicture/Data.hs 11;" f -spaceAction src/Dodge/Update/Input/InGame.hs 525;" f +spaceAction src/Dodge/Update/Input/InGame.hs 523;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f @@ -5151,7 +5149,7 @@ stackedInventory src/Dodge/Creature.hs 326;" f startCr src/Dodge/Creature.hs 90;" f startCrafts src/Dodge/Room/Start.hs 94;" f startDeathTimer src/Dodge/Creature/Update.hs 119;" f -startDrag src/Dodge/Update/Input/InGame.hs 307;" f +startDrag src/Dodge/Update/Input/InGame.hs 305;" f startInvList src/Dodge/Creature.hs 105;" f startInventory src/Dodge/Creature.hs 108;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f @@ -5182,7 +5180,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 80;" f stringToList src/Picture/Base.hs 308;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f -subInvX src/Dodge/ListDisplayParams.hs 51;" f +subInvX src/Dodge/ListDisplayParams.hs 53;" f subMap src/TreeHelp.hs 121;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f subtree src/TreeHelp.hs 72;" f @@ -5322,7 +5320,7 @@ tone440_30sS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 665;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f -topInvW src/Dodge/ListDisplayParams.hs 54;" f +topInvW src/Dodge/ListDisplayParams.hs 56;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 96;" f @@ -5379,13 +5377,13 @@ truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 207;" f -tryCombine src/Dodge/Update/Input/InGame.hs 542;" f +tryCombine src/Dodge/Update/Input/InGame.hs 540;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 156;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 161;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 159;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 41;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 168;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 166;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f @@ -5437,7 +5435,7 @@ unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f updateAimPos src/Dodge/Update.hs 384;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 43;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 475;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 473;" f updateBarrel src/Dodge/Barreloid.hs 44;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f @@ -5475,43 +5473,43 @@ updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBalls src/Dodge/Update.hs 751;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 502;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 500;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 748;" f updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 359;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 355;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 357;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 353;" f updateGas src/Dodge/Update.hs 913;" f updateGasses src/Dodge/Update.hs 763;" f updateGusts src/Dodge/Update.hs 875;" f updateIMl src/Dodge/Update.hs 615;" f updateIMl' src/Dodge/Update.hs 618;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 425;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 423;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 264;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 392;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 419;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 390;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 417;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 87;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 378;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 401;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 376;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 399;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 500;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 45;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 438;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 436;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 392;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 226;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 224;" f updateMouseContext src/Dodge/Update.hs 405;" f updateMouseContextGame src/Dodge/Update.hs 410;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 100;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 90;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 189;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 187;" f updateObjCatMaybes src/Dodge/Update.hs 633;" f updateObjMapMaybe src/Dodge/Update.hs 626;" f updatePastWorlds src/Dodge/Update.hs 489;" f