diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index 1c0bbb0f7..a39396d26 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -37,7 +37,8 @@ crMvByNoStride p lw cr = crMvAbsoluteNoStride lw (rotateV (_crDir cr) p) cr crMvAbsolute :: LWorld -> Point2 -> Creature -> Creature crMvAbsolute lw p' cr = - advanceStepCounter (magV p) cr +-- advanceStepCounter (magV p) + cr & crPos . _xy +~ p & crMvDir .~ argV p where diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index a4cf15224..fdccb884c 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -51,7 +51,7 @@ tutAnoTree = do , corDoor , return $ tToBTree "cor" $ return $ cleatOnward corridor , tToBTree "sdr" . return . cleatOnward <$> - (shuffleLinks =<< distributerRoom BulletAmmo 100) + (shuffleLinks =<< distributerRoom BulletAmmo 100000) , return $ tToBTree "cor" $ return $ cleatOnward corridor --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom -- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] [] diff --git a/src/Dodge/Room/Warning.hs b/src/Dodge/Room/Warning.hs index e693fc432..d392b923a 100644 --- a/src/Dodge/Room/Warning.hs +++ b/src/Dodge/Room/Warning.hs @@ -56,7 +56,9 @@ addDoorAtNthLinkToggleTerminal j xs i = lineOutputTerminal xs --(makeColorTermLine red "WARNING" : makeTermPara str) & tmToggles .~ M.fromList - [("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))] + [("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True)) + ,("DOAR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True)) + ,("TEST", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))] addWarningTerminal :: String -> Int -> Room -> Room addWarningTerminal str = diff --git a/src/Dodge/Terminal.hs b/src/Dodge/Terminal.hs index 1e4602966..8ec3dc77a 100644 --- a/src/Dodge/Terminal.hs +++ b/src/Dodge/Terminal.hs @@ -49,23 +49,27 @@ termTextColor = greyN 0.9 getCommands :: World -> Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine]) getCommands w tm = foldMap (getCommand w tm) $ tm ^. tmCommands -getCommand :: World - -> Terminal -> TCom -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine]) +getCommand :: + World -> + Terminal -> + TCom -> + PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine]) getCommand w tm = \case TCInfo x z -> PTE.singleton x (PTE.singleton "" (makeTermPara z)) TCBase -> quitCommand <> toggleCommands tm TCDamageCommand -> damageCodeCommand w tm damageCodeCommand :: World -> Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine]) -damageCodeCommand w _ - = PTE.singleton "DAMAGECODE" $ PTE.fromList $ mapMaybe f [minBound ..] +damageCodeCommand w _ = + PTE.singleton "DAMAGECODE" $ PTE.fromList $ mapMaybe f [minBound ..] where f :: SensorType -> Maybe (String, [TerminalLine]) f st = do s <- g st return (s, decodeSensorType st w) g = - fmap (map toUpper . reverse) . List.stripPrefix (reverse "Sensor") + fmap (map toUpper . reverse) + . List.stripPrefix (reverse "Sensor") . reverse . show @@ -75,17 +79,20 @@ decodeSensorType st w = fromMaybe [] $ do return [makeTermLine $ show x] toggleCommands :: Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine]) -toggleCommands tm +toggleCommands tm | null ts = mempty | otherwise = PTE.singleton "TOGGLE" $ PTE.fromList $ f <$> M.toList ts where ts = tm ^. tmToggles - f (s,x) = (s, - [ TLine - 1 - [TerminalLineConst (s ++ " TOGGLE DONE!") termTextColor] - (TmWdWdfromWdWd (WdWdNegateTrig $ x ^. ttTriggerID)) - ]) + f (s, x) = + ( s + , + [ TLine + 1 + [TerminalLineConst (s ++ " TOGGLE DONE!") termTextColor] + (TmWdWdfromWdWd (WdWdNegateTrig $ x ^. ttTriggerID)) + ] + ) helpPara :: [TerminalLine] helpPara = makeTermPara "THIS TERMINAL PROCESSES KEYBOARD INPUT. USE [RETURN] OR [LMB] TO REGISTER YOUR INPUT. AVAILABLE COMMANDS CAN BE SCROLLED THROUGH, HOLD [RMB] TO SCROLL THROUGH ARGUMENTS. USE [TAB] FOR AUTOCOMPLETE." @@ -132,7 +139,9 @@ tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of [] -> tm [x] -> tm & tmStatus . tiText .~ (y ++ x) xs -> - tm & tmStatus .~ TerminalLineRead + tm + & tmStatus + .~ TerminalLineRead & tmFutureLines .~ ( makeColorTermPara commandColor @@ -140,8 +149,8 @@ tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of <> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s'] ) ---damageCodeCommand :: TerminalCommand ---damageCodeCommand = +-- damageCodeCommand :: TerminalCommand +-- damageCodeCommand = -- TerminalCommand -- { _tcString = "DAMAGECODE" -- , _tcAlias = ["DCODE", "DC"] @@ -149,15 +158,15 @@ tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of -- , _tcEffect = TerminalCommandEffectDamageCoding -- \_ -> OneArgument "A DAMAGE TYPE" . getDamageCoding -- } ---infoClearInput :: Terminal -> [TerminalLine] -> World -> World ---infoClearInput tm tls = +-- infoClearInput :: Terminal -> [TerminalLine] -> World -> World +-- infoClearInput tm tls = -- cWorld . lWorld . terminals . ix (_tmID tm) -- %~ ( (tmInput .~ TerminalInput T.empty True (0, 0)) -- . (tmFutureLines ++.~ tls) -- ) ---togglesToEffects :: Terminal -> M.Map String [TerminalLine] ---togglesToEffects = fmap f . _tmToggles +-- togglesToEffects :: Terminal -> M.Map String [TerminalLine] +-- togglesToEffects = fmap f . _tmToggles -- where -- f tt = [TLine 0 [] $ TmWdWdfromWdWd $ WdWdNegateTrig (_ttTriggerID tt)] @@ -174,14 +183,25 @@ terminalReturnEffect tmid w = fromMaybe w $ do let args = words s case args of [] -> return helpPara - (x:_) -> do + (x : _) -> do teff <- PTE.lookup x (getCommands w tm) let y = fromMaybe "" (args ^? ix 1) PTE.lookup y teff - return $ w - & totm . tmDisplayedLines .:~ (getPromptTM ++ s, termTextColor) - & totm . tmFutureLines .~ ss <> tlSetStatus (TerminalTextInput "") - & totm . tmCommandHistory %~ take 10 . (s :) - & totm . tmStatus .~ TerminalLineRead + return $ + w + & totm + . tmDisplayedLines + .:~ (getPromptTM ++ s, termTextColor) + & totm + . tmFutureLines + .~ ss + <> tlSetStatus (TerminalTextInput "") + & totm + . tmCommandHistory + %~ take 10 + . (s :) + & totm + . tmStatus + .~ TerminalLineRead where totm = cWorld . lWorld . terminals . ix tmid diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index f4f5e873b..0c05dd9b1 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -3,6 +3,7 @@ module Dodge.Update (updateUniverse) where +import Dodge.Creature.MoveType import Dodge.Render.List import Data.Foldable import qualified Data.Set as S @@ -251,6 +252,7 @@ functionalUpdate = . over uvWorld (cWorld . lWorld . lClock +~ 1) . over uvWorld updateDistortions . over uvWorld updateCreatureSoundPositions + . over uvWorld updateCreatureStrides . colCrsWalls . over uvWorld simpleCrSprings . over uvWorld updateDoors @@ -307,6 +309,15 @@ functionalUpdate = . updateAimPos . over uvWorld updatePastWorlds -- it might be possible to do this without storing stuff such as the temporary lights/flares etc +updateCreatureStrides :: World -> World +updateCreatureStrides w = foldl' updateCreatureStride w $ w ^. cWorld . lWorld . creatures + +updateCreatureStride :: World -> Creature -> World +updateCreatureStride w cr = w & cWorld . lWorld . creatures . ix (cr ^. crID) . crStance . carriage . strideAmount +~ d + where + s = fromMaybe 0 $ crMvType cr ^? mvSpeed + d = min s . norm $ cr ^. crPos - cr ^. crOldPos + updateAimPos :: Universe -> Universe updateAimPos u = u & uvWorld . cWorld . lWorld . lAimPos diff --git a/tags b/tags index b4ddf5bfd..218337b51 100644 --- a/tags +++ b/tags @@ -2544,7 +2544,7 @@ addToTrunk src/TreeHelp.hs 157;" f addWarningTerminal src/Dodge/Room/Warning.hs 61;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 418;" f +advanceScrollAmount src/Dodge/Update.hs 411;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 60;" f aimDelaySweep src/Dodge/Render/Picture.hs 285;" f @@ -2795,7 +2795,7 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f -checkEndGame src/Dodge/Update.hs 771;" f +checkEndGame src/Dodge/Update.hs 764;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -2807,7 +2807,7 @@ checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f chestPQ src/Dodge/Creature/HandPos.hs 124;" f -chooseCursorBorders src/Dodge/Render/List.hs 142;" f +chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f @@ -2860,7 +2860,7 @@ cogRaised src/Dodge/Creature/Perception.hs 101;" f colCrWall src/Dodge/WallCreatureCollisions.hs 29;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f collectDamageTypes src/Dodge/Damage.hs 53;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 295;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 300;" f collide3 src/Dodge/Base/Collide.hs 127;" f collide3Chasm src/Dodge/Base/Collide.hs 111;" f collide3Chasms src/Dodge/Base/Collide.hs 104;" f @@ -2882,13 +2882,13 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 44;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineFloors src/Dodge/Room/Procedural.hs 152;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 332;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 334;" f combineItemListYouX src/Dodge/Combine.hs 36;" f combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 132;" f combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f combineTree src/Dodge/Tree/Compose.hs 67;" f -commandColor src/Dodge/Terminal.hs 114;" f +commandColor src/Dodge/Terminal.hs 121;" f commonPrefix src/Dodge/Debug/Terminal.hs 149;" f comp src/Quaternion.hs 61;" f compP2A src/Dodge/ShiftPoint.hs 11;" f @@ -2901,12 +2901,12 @@ composeTree src/Dodge/Tree/Compose.hs 47;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 678;" 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 292;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 762;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 407;" f convexHull src/Geometry/Polygon.hs 142;" f convexHullSafe src/Geometry/Polygon.hs 149;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 46;" f @@ -2927,7 +2927,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 85;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCamouflage src/Dodge/Creature/Picture.hs 33;" f crCanSeeCr src/Dodge/Creature/Test.hs 52;" f -crCrSpring src/Dodge/Update.hs 881;" f +crCrSpring src/Dodge/Update.hs 874;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f @@ -2958,7 +2958,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f crSetRoots src/Dodge/Inventory/Location.hs 55;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 878;" f +crSpring src/Dodge/Update.hs 871;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f crUpdate src/Dodge/Creature/Update.hs 63;" f @@ -3025,12 +3025,12 @@ cylinderIndices src/Shader/Poke.hs 382;" f cylinderOnSeg src/Geometry.hs 122;" f cylinderPoly src/Shape.hs 83;" f cylinderRoundIndices src/Shader/Poke.hs 389;" f -dShadCol src/Dodge/Render/List.hs 209;" f +dShadCol src/Dodge/Render/List.hs 208;" f damMatSideEffect src/Dodge/Material/Damage.hs 20;" f damThingHitWith src/Dodge/Damage.hs 72;" f damToExpBarrel src/Dodge/Barreloid.hs 53;" f damageBlock src/Dodge/Wall/Damage.hs 44;" f -damageCodeCommand src/Dodge/Terminal.hs 59;" f +damageCodeCommand src/Dodge/Terminal.hs 62;" f damageCrWl src/Dodge/Damage.hs 29;" f damageCrWlID src/Dodge/Damage.hs 23;" f damageCrystal src/Dodge/Material/Damage.hs 220;" f @@ -3076,7 +3076,7 @@ debugPutItems src/Dodge/Debug.hs 78;" f debugPutN src/Dodge/Debug.hs 84;" f debugShowPath src/Dodge/Debug.hs 105;" f debugWritableValues src/Dodge/Debug.hs 118;" f -decodeSensorType src/Dodge/Terminal.hs 72;" f +decodeSensorType src/Dodge/Terminal.hs 76;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f decomposeTree src/Dodge/Tree/Compose.hs 58;" f decontamRoom src/Dodge/Room/Airlock.hs 38;" f @@ -3173,7 +3173,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 193;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f -displayTerminalLineString src/Dodge/Update.hs 483;" f +displayTerminalLineString src/Dodge/Update.hs 476;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 148;" f @@ -3215,7 +3215,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 30;" f -doDrag src/Dodge/Update/Input/InGame.hs 127;" f +doDrag src/Dodge/Update/Input/InGame.hs 128;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f @@ -3233,7 +3233,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 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 448;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 453;" f doRoomPlacements src/Dodge/Layout.hs 104;" f doRoomShift src/Dodge/Room/Link.hs 33;" f doScopeZoom src/Dodge/Update/Scroll.hs 91;" f @@ -3251,7 +3251,7 @@ doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 34;" f -doWorldEvents src/Dodge/Update.hs 427;" f +doWorldEvents src/Dodge/Update.hs 420;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f @@ -3294,7 +3294,7 @@ drawCreature src/Dodge/Render/ShapePicture.hs 73;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f -drawCursorAt src/Dodge/Render/List.hs 74;" f +drawCursorAt src/Dodge/Render/List.hs 73;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDamSensor src/Dodge/Machine/Draw.hs 36;" f @@ -3321,18 +3321,18 @@ drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInspectWall src/Dodge/Debug/Picture.hs 255;" f drawInspectWalls src/Dodge/Debug/Picture.hs 243;" f drawInventory src/Dodge/Render/HUD.hs 61;" f -drawItemChildrenConnect src/Dodge/Render/HUD.hs 324;" f -drawItemConnections src/Dodge/Render/HUD.hs 317;" f +drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f +drawItemConnections src/Dodge/Render/HUD.hs 319;" f drawJumpDown src/Dodge/Render/Picture.hs 190;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f -drawLabelledList src/Dodge/Render/List.hs 199;" f +drawLabelledList src/Dodge/Render/List.hs 198;" f drawLaser src/Dodge/Laser/Update.hs 29;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f -drawList src/Dodge/Render/List.hs 196;" f -drawListElement src/Dodge/Render/List.hs 173;" f -drawListYgapScaleYoff src/Dodge/Render/List.hs 93;" f -drawListYoff src/Dodge/Render/List.hs 90;" f +drawList src/Dodge/Render/List.hs 195;" f +drawListElement src/Dodge/Render/List.hs 172;" f +drawListYgapScaleYoff src/Dodge/Render/List.hs 92;" f +drawListYoff src/Dodge/Render/List.hs 89;" f drawLoadingScreen src/Dodge/Render/MenuScreen.hs 24;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f @@ -3359,7 +3359,7 @@ drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawReturn src/Dodge/Render/Picture.hs 154;" f drawRootCursor src/Dodge/Render/HUD.hs 82;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 32;" f -drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 38;" f +drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 37;" f drawSelect src/Dodge/Render/Picture.hs 255;" f drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f @@ -3373,12 +3373,12 @@ drawSubInventory src/Dodge/Render/HUD.hs 169;" f drawSwitch src/Dodge/Button/Draw.hs 16;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 383;" f -drawTerminalDisplay src/Dodge/Render/HUD.hs 349;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 385;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 351;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 224;" f drawTitle src/Dodge/Render/MenuScreen.hs 49;" f -drawTitleBackground src/Dodge/Render/List.hs 61;" f +drawTitleBackground src/Dodge/Render/List.hs 60;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 92;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f @@ -3437,8 +3437,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 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 276;" f +endRegex src/Dodge/Update/Input/InGame.hs 270;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f enterCombineInv src/Dodge/DisplayInventory.hs 320;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f @@ -3446,7 +3446,7 @@ epText src/Dodge/Inventory/SelectionList.hs 79;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f -equipAllocString src/Dodge/Render/HUD.hs 308;" f +equipAllocString src/Dodge/Render/HUD.hs 310;" f equipAttachPos src/Dodge/Item/Draw.hs 30;" f equipBackgroundEffect src/Dodge/Euse.hs 14;" f equipInfo src/Dodge/Item/Info.hs 141;" f @@ -3572,7 +3572,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 149;" f gameplayMenu src/Dodge/Menu.hs 154;" f gameplayMenuOptions src/Dodge/Menu.hs 157;" f -gasEffect src/Dodge/Update.hs 796;" f +gasEffect src/Dodge/Update.hs 789;" f gasType src/Dodge/HeldUse.hs 1107;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3592,7 +3592,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 173;" f getBulletType src/Dodge/HeldUse.hs 906;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 534;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f getCommand src/Dodge/Terminal.hs 52;" f getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f @@ -3717,7 +3717,7 @@ heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldTorqueAmount src/Dodge/HeldUse.hs 586;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f -helpPara src/Dodge/Terminal.hs 90;" f +helpPara src/Dodge/Terminal.hs 97;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 218;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f @@ -3799,12 +3799,12 @@ introScan src/Dodge/Item/Scope.hs 57;" f introScanValue src/Dodge/Inventory/SelectionList.hs 83;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 236;" f -invCursorParams src/Dodge/ListDisplayParams.hs 35;" f +invCursorParams src/Dodge/ListDisplayParams.hs 34;" f invDP src/Dodge/ListDisplayParams.hs 31;" f invDT src/Dodge/Item/Grammar.hs 217;" f invDT' src/Dodge/Item/Grammar.hs 222;" f invDimColor src/Dodge/DisplayInventory.hs 187;" f -invHead src/Dodge/Render/HUD.hs 412;" f +invHead src/Dodge/Render/HUD.hs 414;" f invIMDT src/Dodge/Item/Grammar.hs 246;" f invIndents src/Dodge/Item/Grammar.hs 253;" f invItemEffs src/Dodge/Creature/State.hs 63;" f @@ -3834,7 +3834,7 @@ isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 65;" f isElectrical src/Dodge/Machine/Update.hs 86;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 198;" f isInLnk src/Dodge/PlacementSpot.hs 161;" f isJust' src/MaybeHelp.hs 27;" f isLHS src/Geometry/LHS.hs 11;" f @@ -3949,7 +3949,7 @@ lastMap src/Dodge/DoubleTree.hs 253;" f latticeXsYs src/Grid.hs 24;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 40;" f -ldpRect src/Dodge/Render/List.hs 51;" f +ldpRect src/Dodge/Render/List.hs 48;" f ldpSelection src/Dodge/Update/Input/ScreenLayer.hs 84;" f ldtIL src/Dodge/DoubleTree.hs 225;" f ldtPropagate src/Dodge/DoubleTree.hs 69;" f @@ -3995,12 +3995,12 @@ linksDAGToPath src/Dodge/Room/Path.hs 13;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f listConfig src/Dodge/Menu.hs 234;" f listControls src/Dodge/Menu.hs 246;" f -listCursorChooseBorderScale src/Dodge/Render/List.hs 121;" f +listCursorChooseBorderScale src/Dodge/Render/List.hs 120;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 401;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 403;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMuzzle src/Dodge/HeldUse.hs 630;" f @@ -4073,8 +4073,8 @@ makeBlockDebris src/Dodge/Block/Debris.hs 36;" f makeBullet src/Dodge/HeldUse.hs 971;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f -makeColorTermLine src/Dodge/Terminal.hs 111;" f -makeColorTermPara src/Dodge/Terminal.hs 108;" f +makeColorTermLine src/Dodge/Terminal.hs 118;" f +makeColorTermPara src/Dodge/Terminal.hs 115;" f makeCorpse src/Dodge/Corpse/Make.hs 13;" f makeDebris src/Dodge/Block/Debris.hs 48;" f makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f @@ -4095,7 +4095,7 @@ makePathBetween src/Dodge/Path.hs 63;" f makePathBetweenPs src/Dodge/Path.hs 87;" f makePathUsing src/Dodge/Path.hs 51;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f -makeSelectionListPictures src/Dodge/Render/List.hs 68;" f +makeSelectionListPictures src/Dodge/Render/List.hs 67;" f makeShaderProgram src/Shader/Compile.hs 74;" f makeShaderVBO src/Shader/Compile.hs 24;" f makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 11;" f @@ -4104,8 +4104,8 @@ makeSourcedShader src/Shader/Compile.hs 54;" f makeSpark src/Dodge/Spark.hs 45;" f makeSubmenuOption src/Dodge/Menu/OptionType.hs 23;" f makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f -makeTermLine src/Dodge/Terminal.hs 96;" f -makeTermPara src/Dodge/Terminal.hs 105;" f +makeTermLine src/Dodge/Terminal.hs 103;" f +makeTermPara src/Dodge/Terminal.hs 112;" f makeTeslaArc src/Dodge/Tesla.hs 29;" f makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 39;" f makeTileFromPoly src/Tile.hs 34;" f @@ -4127,7 +4127,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 59;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 64;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 563;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 568;" f maybeOpenConsole src/Dodge/Update.hs 126;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f @@ -4161,7 +4161,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 54;" f +menuLDP src/Dodge/ListDisplayParams.hs 53;" f menuOptionToSelectionItem src/Dodge/Menu/Option.hs 91;" f merge src/ListHelp.hs 84;" f mergeBy src/ListHelp.hs 87;" f @@ -4245,7 +4245,7 @@ muzzleRandPos src/Dodge/HeldUse.hs 773;" f mvButton src/Dodge/Placement/PlaceSpot.hs 175;" f mvCr src/Dodge/Placement/PlaceSpot.hs 178;" f mvFS src/Dodge/Placement/PlaceSpot.hs 184;" f -mvGust src/Dodge/Update.hs 787;" f +mvGust src/Dodge/Update.hs 780;" f mvLS src/Dodge/Placement/PlaceSpot.hs 219;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4354,12 +4354,12 @@ passthroughLockKeyLists src/Dodge/Floor.hs 120;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 66;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 526;" f +pauseGame src/Dodge/Update/Input/InGame.hs 531;" f pauseMenu src/Dodge/Menu.hs 59;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 188;" f -pbFlicker src/Dodge/Update.hs 468;" f +pbFlicker src/Dodge/Update.hs 461;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 97;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4562,13 +4562,13 @@ qToV2 src/Quaternion.hs 52;" f qToV3 src/Quaternion.hs 49;" f quarterRoomSquare src/Dodge/Room/Procedural.hs 193;" f quarterRoomTri src/Dodge/Room/Procedural.hs 157;" f -quitCommand src/Dodge/Terminal.hs 93;" f +quitCommand src/Dodge/Terminal.hs 100;" f qz src/Quaternion.hs 67;" f rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToDeg src/Geometry/Vector.hs 123;" f -radiusSpring src/Dodge/Update.hs 867;" f +radiusSpring src/Dodge/Update.hs 860;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 56;" f @@ -4590,7 +4590,7 @@ randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 69;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f -randWallReflect src/Dodge/Update.hs 643;" f +randWallReflect src/Dodge/Update.hs 636;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 60;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 246;" f @@ -4649,7 +4649,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 18;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 45;" f renderLayer src/Render.hs 224;" f renderLightingNoShadows src/Render.hs 51;" f -renderListAt src/Dodge/Render/List.hs 178;" f +renderListAt src/Dodge/Render/List.hs 177;" f renderShadows src/Render.hs 119;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f @@ -4802,16 +4802,16 @@ seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 620;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 758;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f -secondColumnLDP src/Dodge/ListDisplayParams.hs 42;" f +secondColumnLDP src/Dodge/ListDisplayParams.hs 41;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 199;" f sectionsSizes src/Dodge/DisplayInventory.hs 202;" f seedStartMenu src/Dodge/Menu.hs 87;" f seedStartOptions src/Dodge/Menu.hs 90;" f segOnCirc src/Geometry.hs 113;" f -selNumPos src/Dodge/Render/HUD.hs 461;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 478;" f -selSecDrawCursor src/Dodge/Render/List.hs 102;" f -selSecSelCol src/Dodge/Render/HUD.hs 498;" f +selNumPos src/Dodge/Render/HUD.hs 463;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 480;" f +selSecDrawCursor src/Dodge/Render/List.hs 101;" f +selSecSelCol src/Dodge/Render/HUD.hs 500;" f selSecSelSize src/Dodge/SelectionSections.hs 143;" f selSecYint src/Dodge/SelectionSections.hs 152;" f selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f @@ -4844,13 +4844,13 @@ setLinkType src/Dodge/RoomLink.hs 78;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f setMusicVolume src/Sound.hs 163;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f -setOldPos src/Dodge/Update.hs 502;" f +setOldPos src/Dodge/Update.hs 495;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f setRoomInt src/Dodge/Room/Tutorial.hs 82;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -4894,9 +4894,9 @@ shiftByV2 src/Dodge/PlacementSpot.hs 250;" f shiftChildren src/Dodge/Tree/Compose.hs 44;" f shiftDraw src/Dodge/Render/ShapePicture.hs 92;" f shiftInBy src/Dodge/PlacementSpot.hs 247;" 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 310;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 355;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 349;" 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 @@ -4944,8 +4944,8 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 82;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 872;" f -simpleTermMessage src/Dodge/Terminal.hs 164;" f +simpleCrSprings src/Dodge/Update.hs 865;" f +simpleTermMessage src/Dodge/Terminal.hs 173;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 720;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 64;" f @@ -4997,7 +4997,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 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 529;" f +spaceAction src/Dodge/Update/Input/InGame.hs 534;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 173;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 166;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 158;" f @@ -5046,13 +5046,13 @@ ssScrollMinOnFail src/Dodge/SelectionSections.hs 44;" f ssScrollUsing src/Dodge/SelectionSections.hs 37;" f ssSetCursor src/Dodge/SelectionSections.hs 59;" f ssfold src/FoldableHelp.hs 105;" f -stackPicturesAt src/Dodge/Render/List.hs 96;" f -stackPicturesAtOff src/Dodge/Render/List.hs 99;" f +stackPicturesAt src/Dodge/Render/List.hs 95;" f +stackPicturesAtOff src/Dodge/Render/List.hs 98;" f stackText src/Picture/Base.hs 189;" f stackedInventory src/Dodge/Creature.hs 309;" f startCr src/Dodge/Creature.hs 90;" 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 285;" f startInvList src/Dodge/Creature.hs 105;" f startInventory src/Dodge/Creature.hs 108;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f @@ -5081,7 +5081,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 71;" f stringToList src/Picture/Base.hs 317;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f -subInvX src/Dodge/ListDisplayParams.hs 48;" f +subInvX src/Dodge/ListDisplayParams.hs 47;" f subMap src/TreeHelp.hs 119;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f succB src/Dodge/Debug.hs 113;" f @@ -5096,8 +5096,8 @@ t src/ShortShow.hs 48;" f tEast src/Dodge/Room/Corridor.hs 91;" f tToBTree src/Dodge/Tree/Compose.hs 92;" f tWest src/Dodge/Room/Corridor.hs 116;" f -tabComplete src/Dodge/Terminal.hs 117;" f -tabComplete' src/Dodge/Terminal.hs 123;" f +tabComplete src/Dodge/Terminal.hs 124;" f +tabComplete' src/Dodge/Terminal.hs 130;" f takeN src/RandomHelp.hs 44;" f takeNMore src/RandomHelp.hs 41;" f takeOne src/RandomHelp.hs 22;" f @@ -5126,8 +5126,8 @@ teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f termSoundLine src/Dodge/Terminal.hs 43;" f termTextColor src/Dodge/Terminal.hs 46;" f -terminalLDP src/Dodge/ListDisplayParams.hs 45;" f -terminalReturnEffect src/Dodge/Terminal.hs 168;" f +terminalLDP src/Dodge/ListDisplayParams.hs 44;" f +terminalReturnEffect src/Dodge/Terminal.hs 177;" f terminalSPic src/Dodge/Machine/Draw.hs 45;" f terminalScreenGlow src/Dodge/Machine/Update.hs 42;" f terminalShape src/Dodge/Machine/Draw.hs 48;" f @@ -5183,11 +5183,11 @@ tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 596;" f titleOptionsMenu src/Dodge/Menu.hs 106;" f titleOptionsNoWrite src/Dodge/Menu.hs 109;" f -tlDoEffect src/Dodge/Terminal.hs 102;" f -tlSetStatus src/Dodge/Terminal.hs 99;" f +tlDoEffect src/Dodge/Terminal.hs 109;" f +tlSetStatus src/Dodge/Terminal.hs 106;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 117;" f tmDistributeLines src/Dodge/Room/Room.hs 449;" f -tmUpdate src/Dodge/Update.hs 486;" f +tmUpdate src/Dodge/Update.hs 479;" f toBinary src/Dodge/Inventory/SelectionList.hs 144;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5196,12 +5196,12 @@ toFloatVAs src/Shader/Compile.hs 66;" f toLabel src/Dodge/Cleat.hs 16;" f toMultiset src/Multiset.hs 64;" f toOnward src/Dodge/Tree/Compose.hs 101;" f -toTopLeft src/Dodge/Render/List.hs 213;" f +toTopLeft src/Dodge/Render/List.hs 212;" f 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 314;" f -toggleCommands src/Dodge/Terminal.hs 77;" f +toggleCommands src/Dodge/Terminal.hs 81;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f toggleJust src/MaybeHelp.hs 39;" f @@ -5210,7 +5210,7 @@ tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 704;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f -topInvW src/Dodge/ListDisplayParams.hs 51;" f +topInvW src/Dodge/ListDisplayParams.hs 50;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 50;" f @@ -5268,13 +5268,13 @@ truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 162;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 237;" f -tryCombine src/Dodge/Update/Input/InGame.hs 546;" f +tryCombine src/Dodge/Update/Input/InGame.hs 551;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 138;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 139;" f tryGetChannel src/Sound.hs 98;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 40;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 145;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 146;" f tryPlay src/Sound.hs 84;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f @@ -5325,91 +5325,91 @@ unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f updateAimPos src/Dodge/Update.hs 310;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 479;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f updateBarrel src/Dodge/Barreloid.hs 44;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f updateBounds src/Dodge/Update/Camera.hs 265;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 565;" f +updateBullets src/Dodge/Update.hs 558;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 800;" f -updateClouds src/Dodge/Update.hs 669;" f +updateCloud src/Dodge/Update.hs 793;" f +updateClouds src/Dodge/Update.hs 662;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 32;" f updateCreature' src/Dodge/Creature/Update.hs 41;" f -updateCreatureGroups src/Dodge/Update.hs 537;" f -updateCreatureSoundPositions src/Dodge/Update.hs 516;" f -updateDebris src/Dodge/Update.hs 572;" f +updateCreatureGroups src/Dodge/Update.hs 530;" f +updateCreatureSoundPositions src/Dodge/Update.hs 509;" f +updateDebris src/Dodge/Update.hs 565;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 95;" f -updateDelayedEvents src/Dodge/Update.hs 901;" f +updateDelayedEvents src/Dodge/Update.hs 894;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 558;" f +updateDistortions src/Dodge/Update.hs 551;" f updateDoor src/Dodge/Door.hs 22;" f updateDoors src/Dodge/Update.hs 315;" f -updateDust src/Dodge/Update.hs 847;" f -updateDusts src/Dodge/Update.hs 675;" f +updateDust src/Dodge/Update.hs 840;" f +updateDusts src/Dodge/Update.hs 668;" f updateEdge src/Dodge/Path.hs 43;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 660;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 506;" f +updateEnergyBalls src/Dodge/Update.hs 653;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 511;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 657;" f +updateFlames src/Dodge/Update.hs 650;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f -updateGas src/Dodge/Update.hs 822;" f -updateGasses src/Dodge/Update.hs 672;" f -updateGusts src/Dodge/Update.hs 784;" f -updateIMl src/Dodge/Update.hs 531;" f -updateIMl' src/Dodge/Update.hs 534;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 368;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 364;" f +updateGas src/Dodge/Update.hs 815;" f +updateGasses src/Dodge/Update.hs 665;" f +updateGusts src/Dodge/Update.hs 777;" f +updateIMl src/Dodge/Update.hs 524;" f +updateIMl' src/Dodge/Update.hs 527;" f updateInGameCamera src/Dodge/Update/Camera.hs 84;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 429;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 434;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 260;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 423;" f -updateKeysInGame src/Dodge/Update/Input/InGame.hs 83;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 401;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 428;" f +updateKeysInGame src/Dodge/Update/Input/InGame.hs 84;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 387;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 410;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 11;" f -updateLasers src/Dodge/Update.hs 434;" f +updateLasers src/Dodge/Update.hs 427;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 442;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 447;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 318;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 204;" f updateMouseContext src/Dodge/Update.hs 331;" f updateMouseContextGame src/Dodge/Update.hs 336;" 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 -updateObjCatMaybes src/Dodge/Update.hs 549;" f -updateObjMapMaybe src/Dodge/Update.hs 542;" f -updatePastWorlds src/Dodge/Update.hs 423;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 97;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 87;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 167;" f +updateObjCatMaybes src/Dodge/Update.hs 542;" f +updateObjMapMaybe src/Dodge/Update.hs 535;" f +updatePastWorlds src/Dodge/Update.hs 416;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updatePulse src/Dodge/Creature/Update.hs 123;" f -updatePulseBall src/Dodge/Update.hs 448;" f -updatePulseLaser src/Dodge/Update.hs 612;" f -updatePulseLasers src/Dodge/Update.hs 443;" f +updatePulseBall src/Dodge/Update.hs 441;" f +updatePulseLaser src/Dodge/Update.hs 605;" f +updatePulseLasers src/Dodge/Update.hs 436;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 561;" f +updateRadarBlips src/Dodge/Update.hs 554;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 663;" f +updateRadarSweeps src/Dodge/Update.hs 656;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5419,27 +5419,27 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 259;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 238;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 654;" f +updateShockwaves src/Dodge/Update.hs 647;" f updateSingleNodes src/TreeHelp.hs 98;" f updateSound src/Sound.hs 72;" f updateSounds src/Sound.hs 67;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 666;" f -updateTeslaArc src/Dodge/Update.hs 582;" f -updateTeslaArcs src/Dodge/Update.hs 579;" f +updateSparks src/Dodge/Update.hs 659;" f +updateTeslaArc src/Dodge/Update.hs 575;" f +updateTeslaArcs src/Dodge/Update.hs 572;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 651;" f +updateTractorBeams src/Dodge/Update.hs 644;" f updateTurret src/Dodge/Machine/Update.hs 51;" f updateUniverse src/Dodge/Update.hs 74;" f updateUniverseFirst src/Dodge/Update.hs 85;" f updateUniverseLast src/Dodge/Update.hs 136;" f updateUniverseMid src/Dodge/Update.hs 156;" f -updateUseInputInGame src/Dodge/Update/Input/InGame.hs 45;" f +updateUseInputInGame src/Dodge/Update/Input/InGame.hs 46;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 413;" f +updateWheelEvents src/Dodge/Update.hs 406;" f updateWorldEventFlag src/Dodge/Update.hs 120;" f updateWorldEventFlags src/Dodge/Update.hs 108;" f upperBody src/Dodge/Creature/Picture.hs 121;" f @@ -5615,11 +5615,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 475;" f +zoneClouds src/Dodge/Update.hs 468;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 512;" f +zoneCreatures src/Dodge/Update.hs 505;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 480;" f +zoneDusts src/Dodge/Update.hs 473;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f