diff --git a/src/Dodge/InputFocus.hs b/src/Dodge/InputFocus.hs index 4e4ec16ce..6bf89f042 100644 --- a/src/Dodge/InputFocus.hs +++ b/src/Dodge/InputFocus.hs @@ -17,8 +17,11 @@ textInputFocus w = case w ^. hud . subInventory of CombineInventory{} -> case he ^? subInventory . ciSelection . _Just . slSec of Just (-1) -> Just $ hud . subInventory . ciFilter . _Just _ -> Nothing - DisplayTerminal{_termID = tmid} -> return - $ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText + DisplayTerminal{_termID = tmid} -> case w ^? cWorld . lWorld . terminals . ix tmid . tmStatus . tiText of + Just _ -> return $ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText + Nothing -> Nothing +-- DisplayTerminal{_termID = tmid} -> return +-- $ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText _ -> Nothing where he = w ^. hud diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index c4760e152..ae396257e 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -62,10 +62,9 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud of & tohud %~ dodisplayregexinput diCloseFilter diCloseFilter 2 & uvWorld . worldEventFlags . at InventoryChange ?~ () & uvWorld %~ setInvPosFromSS - _ -> M.foldlWithKey' updateKeyInGame u pkeys + _ -> updateKeysInGame u where tohud = uvWorld . hud - pkeys = u ^. uvWorld . input . pressedKeys dodisplayregexinput filterprism filterlens x di = fromMaybe di $ do sss <- di ^? diSections msel <- di ^? diSelection @@ -83,6 +82,9 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud of & ciSelection .~ msel' & ciFilter .~ filts' +updateKeysInGame :: Universe -> Universe +updateKeysInGame u = M.foldlWithKey' updateKeyInGame u (u ^. uvWorld . input . pressedKeys) + updateMouseInGame :: Config -> World -> World updateMouseInGame cfig w | Just 0 <- lbpress = updateMouseClickInGame cfig w @@ -378,19 +380,21 @@ updateFunctionKey uv ScancodeF3 _ = doDebugTest uv updateFunctionKey uv ScancodeF4 _ = doDebugTest2 uv updateFunctionKey uv _ _ = uv +-- look also at yourControl updateKeysInTerminal :: Int -> Universe -> Universe -updateKeysInTerminal tmid u = fromMaybe u $ do +updateKeysInTerminal tmid u = fromMaybe deactivate $ do tm <- u ^? uvWorld . cWorld . lWorld . terminals . ix tmid x <- u ^? uvWorld . cWorld . lWorld . buttons . ix (tm ^. tmButtonID) . btPos y <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crPos - return $ case tm ^. tmStatus of + case tm ^. tmStatus of _ - | dist x y > 40 || not (hasButtonLOS x y (u ^. uvWorld)) -> - u & uvWorld . hud . subInventory .~ NoSubInventory - TerminalDeactivated -> u & uvWorld . hud . subInventory .~ NoSubInventory - TerminalTextInput{} -> updateKeysTextInputTerminal tmid u - TerminalPressTo{} -> updateKeyContinueTerminal tmid u - _ -> u + | dist x y > 40 || not (hasButtonLOS x y (u ^. uvWorld)) -> Nothing + TerminalDeactivated -> Nothing + TerminalTextInput{} -> Just $ updateKeysTextInputTerminal tmid u + TerminalPressTo{} -> Just $ updateKeyContinueTerminal tmid u + _ -> Just $ updateKeysInGame u + where + deactivate = u & uvWorld . hud . subInventory .~ NoSubInventory updateKeyContinueTerminal :: Int -> Universe -> Universe updateKeyContinueTerminal tmid u diff --git a/tags b/tags index 8257ecf84..3c959359e 100644 --- a/tags +++ b/tags @@ -17,7 +17,7 @@ <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 81;" o <$> src/Dodge/Data/LWorld.hs 184;" o -<$> src/Dodge/Data/Terminal.hs 70;" o +<$> src/Dodge/Data/Terminal.hs 69;" o ABSOLUTE src/Dodge/Data/Item/Combine.hs 40;" C AIUNIT src/Dodge/Data/Item/Combine.hs 75;" C ALTERIFLE src/Dodge/Data/Item/Combine.hs 155;" C @@ -1311,7 +1311,6 @@ TARGETING src/Dodge/Data/Item/Combine.hs 22;" C TCBase src/Dodge/Data/Terminal.hs 51;" C TCDamageCommand src/Dodge/Data/Terminal.hs 52;" C TCInfo src/Dodge/Data/Terminal.hs 50;" C -TCSensorInfo src/Dodge/Data/Terminal.hs 53;" C TCom src/Dodge/Data/Terminal.hs 49;" t TESLAGUN src/Dodge/Data/Item/Combine.hs 169;" C THERMOMETER src/Dodge/Data/Item/Combine.hs 85;" C @@ -1368,15 +1367,15 @@ Tile src/Data/Tile.hs 16;" t Tiled src/Data/Tile.hs 14;" C TimeFlowStatus src/Dodge/Data/World.hs 58;" t Tiny src/Shape/Data.hs 32;" C -TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 62;" C -TmTmSetStatus src/Dodge/Data/Terminal.hs 63;" C -TmWdId src/Dodge/Data/Terminal.hs 56;" C -TmWdWd src/Dodge/Data/Terminal.hs 55;" t -TmWdWdDeactivateTerminal src/Dodge/Data/Terminal.hs 58;" C -TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 61;" C -TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 57;" C -TmWdWdTermSound src/Dodge/Data/Terminal.hs 60;" C -TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 59;" C +TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 61;" C +TmTmSetStatus src/Dodge/Data/Terminal.hs 62;" C +TmWdId src/Dodge/Data/Terminal.hs 55;" C +TmWdWd src/Dodge/Data/Terminal.hs 54;" t +TmWdWdDeactivateTerminal src/Dodge/Data/Terminal.hs 57;" C +TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 60;" C +TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 56;" C +TmWdWdTermSound src/Dodge/Data/Terminal.hs 59;" C +TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 58;" C ToContinueStart src/Sound/Data.hs 27;" C ToPlaySound src/Sound/Data.hs 35;" t ToStart src/Sound/Data.hs 26;" C @@ -2931,7 +2930,7 @@ cogRaised src/Dodge/Creature/Perception.hs 102;" f colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f collectDamageTypes src/Dodge/Damage.hs 53;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 295;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 297;" f collide3 src/Dodge/Base/Collide.hs 119;" f collide3Chasm src/Dodge/Base/Collide.hs 103;" f collide3Chasms src/Dodge/Base/Collide.hs 96;" f @@ -2959,7 +2958,7 @@ combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f combineTree src/Dodge/Tree/Compose.hs 66;" f -commandColor src/Dodge/Terminal.hs 126;" f +commandColor src/Dodge/Terminal.hs 115;" f commonPrefix src/Dodge/Debug/Terminal.hs 148;" f comp src/Quaternion.hs 65;" f compactDraw src/Dodge/LevelGen.hs 93;" f @@ -2971,13 +2970,13 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f conEffects src/Dodge/Concurrent.hs 12;" f conLDTToConDT src/Dodge/DoubleTree.hs 22;" f -concurrentIS src/Dodge/Update/Input/InGame.hs 287;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 289;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f constDPic src/Dodge/Debug.hs 62;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 400;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 403;" f convexHull src/Geometry/Polygon.hs 110;" f convexHullSafe src/Geometry/Polygon.hs 117;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f @@ -3097,7 +3096,7 @@ dShadCol src/Dodge/Render/List.hs 215;" f damMatSideEffect src/Dodge/Material/Damage.hs 13;" f damThingHitWith src/Dodge/Damage.hs 72;" f damToExpBarrel src/Dodge/Barreloid.hs 49;" f -damageCodeCommand src/Dodge/Terminal.hs 63;" f +damageCodeCommand src/Dodge/Terminal.hs 60;" f damageCrWl src/Dodge/Damage.hs 29;" f damageCrWlID src/Dodge/Damage.hs 23;" f damageDirection src/Dodge/Damage.hs 35;" f @@ -3136,7 +3135,7 @@ debugMenuOptions src/Dodge/Menu.hs 122;" f debugOn src/Dodge/Data/Config.hs 151;" f debugSelectCreatureList src/Dodge/Debug.hs 88;" f debugSelectCreatureMessage src/Dodge/Debug.hs 79;" f -decodeSensorType src/Dodge/Terminal.hs 76;" f +decodeSensorType src/Dodge/Terminal.hs 73;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f decontamRoom src/Dodge/Room/Airlock.hs 26;" f @@ -3283,7 +3282,7 @@ doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 40;" f doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 48;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 56;" f doDrWdWd src/Dodge/DrWdWd.hs 16;" f -doDrag src/Dodge/Update/Input/InGame.hs 126;" f +doDrag src/Dodge/Update/Input/InGame.hs 128;" f doDrawing src/Dodge/Render.hs 34;" f doDrawing' src/Dodge/Render.hs 45;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3310,7 +3309,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 34;" 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 445;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 448;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -3525,8 +3524,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 36;" f encircleDistP src/Dodge/Creature/Boid.hs 22;" f encircleP src/Dodge/Creature/Boid.hs 28;" f endArcPos src/Dodge/Tesla.hs 87;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 271;" f -endRegex src/Dodge/Update/Input/InGame.hs 265;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 273;" f +endRegex src/Dodge/Update/Input/InGame.hs 267;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f epText src/Dodge/Inventory/SelectionList.hs 76;" f @@ -3689,9 +3688,9 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 170;" f getBulletType src/Dodge/HeldUse.hs 924;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 531;" f -getCommand src/Dodge/Terminal.hs 55;" f -getCommands src/Dodge/Terminal.hs 52;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 534;" f +getCommand src/Dodge/Terminal.hs 53;" f +getCommands src/Dodge/Terminal.hs 50;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getDistortions src/Dodge/Render.hs 435;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f @@ -3808,7 +3807,7 @@ heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldPositionInfo src/Dodge/Item/Info.hs 241;" f heldTorqueAmount src/Dodge/HeldUse.hs 578;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f -helpPara src/Dodge/Terminal.hs 102;" f +helpPara src/Dodge/Terminal.hs 91;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 221;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f @@ -3920,8 +3919,8 @@ isAmmoIntLink src/Dodge/HeldUse.hs 713;" f isAnimate src/Dodge/Creature/Test.hs 130;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f isConnected src/Dodge/Inventory/Swap.hs 76;" f -isElectrical src/Dodge/Machine/Update.hs 79;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f +isElectrical src/Dodge/Machine/Update.hs 82;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 199;" f isInLnk src/Dodge/PlacementSpot.hs 169;" f isJust' src/MaybeHelp.hs 29;" f isLHS src/Geometry/LHS.hs 8;" f @@ -4151,8 +4150,8 @@ makeBullet src/Dodge/HeldUse.hs 1002;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f -makeColorTermLine src/Dodge/Terminal.hs 123;" f -makeColorTermPara src/Dodge/Terminal.hs 120;" f +makeColorTermLine src/Dodge/Terminal.hs 112;" f +makeColorTermPara src/Dodge/Terminal.hs 109;" f makeCorpse src/Dodge/Corpse/Make.hs 13;" f makeDebris src/Dodge/Block/Debris.hs 45;" f makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f @@ -4187,8 +4186,8 @@ makeSourcedShader src/Shader/Compile.hs 167;" f makeSpark src/Dodge/Spark.hs 45;" f makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f -makeTermLine src/Dodge/Terminal.hs 108;" f -makeTermPara src/Dodge/Terminal.hs 117;" f +makeTermLine src/Dodge/Terminal.hs 97;" f +makeTermPara src/Dodge/Terminal.hs 106;" f makeTeslaArc src/Dodge/Tesla.hs 29;" f makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f makeTileFromPoly src/Tile.hs 34;" f @@ -4208,26 +4207,26 @@ maybeClearPath src/Dodge/Block.hs 72;" f maybeClearPaths src/Dodge/Block.hs 69;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 37;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 552;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 555;" f maybeOpenConsole src/Dodge/Update.hs 131;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f -mcApplyDamage src/Dodge/Machine/Update.hs 114;" f +mcApplyDamage src/Dodge/Machine/Update.hs 117;" f mcKillBut src/Dodge/Machine/Destroy.hs 37;" f mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f -mcPlaySound src/Dodge/Machine/Update.hs 104;" f -mcProxTest src/Dodge/Machine/Update.hs 159;" f -mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f +mcPlaySound src/Dodge/Machine/Update.hs 107;" f +mcProxTest src/Dodge/Machine/Update.hs 164;" f +mcProximitySensorUpdate src/Dodge/Machine/Update.hs 133;" f mcSPic src/Dodge/Render/ShapePicture.hs 134;" f -mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f -mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f +mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 96;" f +mcSensorUpdate src/Dodge/Machine/Update.hs 128;" f mcShootAuto src/Dodge/HeldUse.hs 1195;" f mcShootLaser src/Dodge/HeldUse.hs 1188;" f -mcTriggerVal src/Dodge/Machine/Update.hs 99;" f -mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f +mcTriggerVal src/Dodge/Machine/Update.hs 102;" f +mcTypeUpdate src/Dodge/Machine/Update.hs 29;" f mcUseHeld src/Dodge/HeldUse.hs 1107;" f -mcUseItem src/Dodge/Machine/Update.hs 84;" f +mcUseItem src/Dodge/Machine/Update.hs 87;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaTinMag src/Dodge/Item/Ammo.hs 23;" f @@ -4428,7 +4427,7 @@ parseNum src/Dodge/Debug/Terminal.hs 77;" 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 523;" f +pauseGame src/Dodge/Update/Input/InGame.hs 526;" f pauseMenu src/Dodge/Menu.hs 56;" f pauseMenuOptions src/Dodge/Menu.hs 61;" f pauseSound src/Dodge/SoundLogic.hs 42;" f @@ -4651,16 +4650,16 @@ putBlockV src/Dodge/Placement/Instance/Wall.hs 153;" f putColorLamp src/Dodge/Placement/Instance/LightSource.hs 203;" f putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f -putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f +putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 68;" f putLamp src/Dodge/Placement/Instance/LightSource.hs 206;" f putLasTurret src/Dodge/Placement/Instance/Turret.hs 24;" f putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 106;" f -putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f +putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f putShape src/Dodge/Room/Foreground.hs 134;" f putStrLnAppend src/Dodge/LevelGen.hs 81;" f -putTerminal src/Dodge/Placement/Instance/Terminal.hs 54;" f +putTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 23;" f putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 18;" f putTurret src/Dodge/Placement/Instance/Turret.hs 11;" f @@ -4672,7 +4671,7 @@ qToV2 src/Quaternion.hs 56;" f qToV3 src/Quaternion.hs 53;" f quarterRoomSquare src/Dodge/Room/Procedural.hs 213;" f quarterRoomTri src/Dodge/Room/Procedural.hs 177;" f -quitCommand src/Dodge/Terminal.hs 105;" f +quitCommand src/Dodge/Terminal.hs 94;" f qz src/Quaternion.hs 71;" f rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f @@ -4929,13 +4928,12 @@ selectCreatureDebugItem src/Dodge/Debug.hs 65;" f selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 52;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 58;" f -senseDamage src/Dodge/Machine/Update.hs 168;" f -sensorCommand src/Dodge/Terminal.hs 82;" f -sensorReqToString src/Dodge/Machine/Update.hs 154;" f +senseDamage src/Dodge/Machine/Update.hs 175;" f +sensorReqToString src/Dodge/Machine/Update.hs 159;" f sensorRoom src/Dodge/Room/SensorDoor.hs 25;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 45;" f sensorSPic src/Dodge/Machine/Draw.hs 68;" f -sensorTypeDamages src/Dodge/Machine/Update.hs 186;" f +sensorTypeDamages src/Dodge/Machine/Update.hs 193;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f @@ -4960,7 +4958,7 @@ setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 339;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5014,9 +5012,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 79;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 85;" f shiftInBy src/Dodge/PlacementSpot.hs 251;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 344;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 307;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 352;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 346;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f @@ -5067,7 +5065,7 @@ shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f simpleCrSprings src/Dodge/Update.hs 868;" f -simpleTermMessage src/Dodge/Terminal.hs 176;" f +simpleTermMessage src/Dodge/Terminal.hs 165;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f @@ -5117,7 +5115,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 86;" f -spaceAction src/Dodge/Update/Input/InGame.hs 526;" f +spaceAction src/Dodge/Update/Input/InGame.hs 529;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 190;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f @@ -5173,7 +5171,7 @@ stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 311;" f startCr src/Dodge/Creature.hs 92;" f startCrafts src/Dodge/Room/Start.hs 93;" f -startDrag src/Dodge/Update/Input/InGame.hs 280;" f +startDrag src/Dodge/Update/Input/InGame.hs 282;" f startInvList src/Dodge/Creature.hs 107;" f startInventory src/Dodge/Creature.hs 110;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5215,8 +5213,8 @@ t src/ShortShow.hs 44;" f tEast src/Dodge/Room/Corridor.hs 90;" f tToBTree src/Dodge/Tree/Compose.hs 92;" f tWest src/Dodge/Room/Corridor.hs 115;" f -tabComplete src/Dodge/Terminal.hs 129;" f -tabComplete' src/Dodge/Terminal.hs 135;" f +tabComplete src/Dodge/Terminal.hs 118;" f +tabComplete' src/Dodge/Terminal.hs 124;" f takeN src/RandomHelp.hs 44;" f takeNMore src/RandomHelp.hs 41;" f takeOne src/RandomHelp.hs 22;" f @@ -5244,12 +5242,12 @@ targetingScope src/Dodge/Item/Scope.hs 38;" f telRoomLev src/Dodge/Room/Teleport.hs 14;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f -termSoundLine src/Dodge/Terminal.hs 46;" f -termTextColor src/Dodge/Terminal.hs 49;" f -terminalColor src/Dodge/Placement/Instance/Terminal.hs 73;" f -terminalReturnEffect src/Dodge/Terminal.hs 180;" f +termSoundLine src/Dodge/Terminal.hs 44;" f +termTextColor src/Dodge/Terminal.hs 47;" f +terminalColor src/Dodge/Placement/Instance/Terminal.hs 76;" f +terminalReturnEffect src/Dodge/Terminal.hs 169;" f terminalSPic src/Dodge/Machine/Draw.hs 27;" f -terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f +terminalScreenGlow src/Dodge/Machine/Update.hs 36;" f terminalShape src/Dodge/Machine/Draw.hs 30;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f @@ -5261,13 +5259,13 @@ testInventory src/Dodge/Creature.hs 292;" f testStringInit src/Dodge/TestString.hs 33;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f -textInputBlurb src/Dodge/Terminal.hs 38;" f +textInputBlurb src/Dodge/Terminal.hs 36;" f textInputFocus src/Dodge/InputFocus.hs 11;" f textJustifyCenter src/Picture/Base.hs 212;" f textJustifyLeft src/Picture/Base.hs 208;" f textJustifyRight src/Picture/Base.hs 198;" f textRight src/Picture/Base.hs 203;" f -textTerminal src/Dodge/Terminal.hs 35;" f +textTerminal src/Dodge/Terminal.hs 33;" f textVMirror src/Picture/Base.hs 216;" f tflat2 src/Picture/Data.hs 60;" f tflat3 src/Picture/Data.hs 64;" f @@ -5302,8 +5300,8 @@ tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 574;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f titleOptionsMenu src/Dodge/Menu.hs 102;" f titleOptionsNoWrite src/Dodge/Menu.hs 105;" f -tlDoEffect src/Dodge/Terminal.hs 114;" f -tlSetStatus src/Dodge/Terminal.hs 111;" f +tlDoEffect src/Dodge/Terminal.hs 103;" f +tlSetStatus src/Dodge/Terminal.hs 100;" f tmUpdate src/Dodge/Update.hs 487;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 121;" f @@ -5318,7 +5316,7 @@ toV2 src/Geometry/Data.hs 54;" f toV3 src/Geometry/Data.hs 57;" f toV4 src/Geometry/Data.hs 60;" f toggleCombineInv src/Dodge/DisplayInventory.hs 316;" f -toggleCommands src/Dodge/Terminal.hs 89;" f +toggleCommands src/Dodge/Terminal.hs 78;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f toggleJust src/MaybeHelp.hs 41;" f @@ -5386,13 +5384,13 @@ truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 236;" f -tryCombine src/Dodge/Update/Input/InGame.hs 542;" f +tryCombine src/Dodge/Update/Input/InGame.hs 545;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 137;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 139;" f tryGetChannel src/Sound.hs 97;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 38;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 144;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 146;" f tryPlay src/Sound.hs 84;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 23;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 52;" f @@ -5443,7 +5441,7 @@ unusedSpotNearInLink src/Dodge/PlacementSpot.hs 201;" f updateAimPos src/Dodge/Update.hs 321;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 44;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 476;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 479;" f updateBarrel src/Dodge/Barreloid.hs 41;" f updateBarreloid src/Dodge/Barreloid.hs 15;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f @@ -5473,42 +5471,43 @@ updateDust src/Dodge/Update.hs 829;" f updateDusts src/Dodge/Update.hs 676;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBalls src/Dodge/Update.hs 664;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 503;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 506;" f updateExpBarrel src/Dodge/Barreloid.hs 20;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 661;" f updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 365;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 361;" f updateGusts src/Dodge/Update.hs 788;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 532;" f updateIMl' src/Dodge/Update.hs 537;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 426;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 429;" f updateInt2Map src/Dodge/Zoning/Base.hs 92;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 258;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 395;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 420;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 403;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 398;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 423;" f +updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 383;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 406;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 11;" f updateLasers src/Dodge/Update.hs 437;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 439;" f -updateMachine src/Dodge/Machine/Update.hs 19;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 442;" f +updateMachine src/Dodge/Machine/Update.hs 21;" f updateMagnets src/Dodge/Update.hs 329;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 205;" f updateMouseContext src/Dodge/Update.hs 342;" f updateMouseContextGame src/Dodge/Update.hs 347;" f -updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f -updateMouseInGame src/Dodge/Update/Input/InGame.hs 86;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 166;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 98;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 168;" f updateObjCatMaybes src/Dodge/Update.hs 554;" f updateObjMapMaybe src/Dodge/Update.hs 547;" f updatePastWorlds src/Dodge/Update.hs 426;" f @@ -5543,7 +5542,7 @@ updateTeslaArc src/Dodge/Update.hs 587;" f updateTeslaArcs src/Dodge/Update.hs 584;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 8;" f updateTractorBeams src/Dodge/Update.hs 655;" f -updateTurret src/Dodge/Machine/Update.hs 49;" f +updateTurret src/Dodge/Machine/Update.hs 52;" f updateUniverse src/Dodge/Update.hs 79;" f updateUniverseFirst src/Dodge/Update.hs 90;" f updateUniverseLast src/Dodge/Update.hs 141;" f