From a0c4d620189d04ea779ae5bcf7b05d93d93cc8b1 Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 15 Oct 2025 13:19:34 +0100 Subject: [PATCH] Use System.Hclip instead of System.Clipboard --- package.yaml | 2 +- src/Dodge/Data/Universe.hs | 11 +- src/Dodge/Debug.hs | 15 +- src/Dodge/Menu.hs | 6 +- src/Dodge/Update/Input/DebugTest.hs | 6 +- stack.yaml | 1 + tags | 492 ++++++++++++++-------------- 7 files changed, 263 insertions(+), 270 deletions(-) diff --git a/package.yaml b/package.yaml index 9c37e4488..0e7d89fc6 100644 --- a/package.yaml +++ b/package.yaml @@ -50,11 +50,11 @@ dependencies: - primitive - monad-parallel - parallel -- Clipboard - tasty - tasty-hunit - tasty-quickcheck - list-tries +- Hclip library: source-dirs: src diff --git a/src/Dodge/Data/Universe.hs b/src/Dodge/Data/Universe.hs index 8acf4db57..1feffad62 100644 --- a/src/Dodge/Data/Universe.hs +++ b/src/Dodge/Data/Universe.hs @@ -25,7 +25,6 @@ import Dodge.Data.Config import Dodge.Data.World import Loop.Data import Picture.Data -import Linear --import SDL (Scancode) data Universe = Universe @@ -50,16 +49,9 @@ data Universe = Universe data DebugItem = DebugItem { _debugMessage :: String - , _debugFunction :: String -> Universe -> Universe + , _debugFunction :: Universe -> Universe } -data DebugInfo - = NoDebugInfo - | DebugV3 { _debugV3 :: V3 Float} - | DebugV2 { _debugV2 :: V2 Float} - | DebugMInt { _debugMInt :: Maybe Int} - | DebugIntMInt {_debugInt :: Int, _debugMInt :: Maybe Int} - data SideEffect = NewSideEffect { _ceSideEffect :: IO (Universe -> Maybe Universe) @@ -115,4 +107,3 @@ makeLenses ''MenuOptionDisplay makeLenses ''MenuOption makeLenses ''ExtraMenuOption makeLenses ''DebugItem -makeLenses ''DebugInfo diff --git a/src/Dodge/Debug.hs b/src/Dodge/Debug.hs index e573318bd..f502dd631 100644 --- a/src/Dodge/Debug.hs +++ b/src/Dodge/Debug.hs @@ -2,6 +2,8 @@ module Dodge.Debug (debugEvents,drawDebug) where +import qualified SDL +import System.Hclip import Control.Lens import Control.Monad import qualified Data.IntMap.Strict as IM @@ -27,8 +29,8 @@ debugEvents u = case dbools ^. at Display_debug of overDebugEvent :: Universe -> Universe overDebugEvent u = fromMaybe u $ do OverDebug db i <- u ^? uvWorld . input . mouseContext - DebugItem s f <- u ^? uvDebug . ix db . ix i - return $ f s u + f <- u ^? uvDebug . ix db . ix i . debugFunction + return $ f u debugEvent :: DebugBool -> Universe -> Universe debugEvent db u = u & uvDebug . at db .~ debugItem db u @@ -72,12 +74,14 @@ drawCrInfo :: Universe -> [DebugItem] drawCrInfo u = foldMap f . IM.elems $ w ^. cWorld . lWorld . creatures where w = u ^. uvWorld - g h str = fmap $ ((rightPad 7 '.' str ++ "...") ++) . h + g h ls x = do + rs <- h <$> x + return $ DebugItem ((rightPad 7 '.' ls ++ "...") ++ rs) (setclip rs) f cr = fromMaybe [] $ do guard $ pointIsOnScreen (u ^. uvConfig) (w ^. wCam) (cr ^. crPos . _xy) && cr ^. crID /= 0 - Just $ (\x -> DebugItem x (const id)) <$> catMaybes + Just $ catMaybes [ g show "crID" $ cr ^? crID , g show "crHP" $ cr ^? crHP . _HP , g show "crStrategy" $ cr ^? crActionPlan . apStrategy @@ -86,6 +90,9 @@ drawCrInfo u = foldMap f . IM.elems $ w ^. cWorld . lWorld . creatures , g show "crAction" $ cr ^? crActionPlan . apAction , g show "crImpulse" $ cr ^? crActionPlan . apImpulse ] + setclip s u'' = fromMaybe u'' $ do + guard (SDL.ButtonLeft `M.member` (u'' ^. uvWorld . input . mouseButtons)) + return $ u'' & uvIOEffects %~ (\m u' -> setClipboard s >> m u') --closestCreatureID :: Universe -> Maybe Int --closestCreatureID u = diff --git a/src/Dodge/Menu.hs b/src/Dodge/Menu.hs index ccfb014cd..d737b47e0 100644 --- a/src/Dodge/Menu.hs +++ b/src/Dodge/Menu.hs @@ -26,7 +26,7 @@ import MaybeHelp import Padding import Preload.Update import qualified SDL -import System.Clipboard +import System.Hclip import System.Directory import Text.Read @@ -95,8 +95,8 @@ seedStartOptions = trySeedFromClipboard :: Universe -> IO Universe trySeedFromClipboard u = do - mcstr <- getClipboardString - return $ case mcstr >>= readMaybe of + str <- getClipboard + return $ case readMaybe str of Nothing -> pushScreen (seedStartMenu "CLIPBOARD UNUSABLE, NEED INTEGER") diff --git a/src/Dodge/Update/Input/DebugTest.hs b/src/Dodge/Update/Input/DebugTest.hs index 67acb98a4..d3c90addd 100644 --- a/src/Dodge/Update/Input/DebugTest.hs +++ b/src/Dodge/Update/Input/DebugTest.hs @@ -10,7 +10,7 @@ module Dodge.Update.Input.DebugTest ( ) where import Text.Read -import System.Clipboard +import System.Hclip import Data.Aeson import AesonHelp import Control.Lens @@ -71,8 +71,8 @@ doDebugTestF10 = uvIOEffects %~ \f u -> do f u doDebugTestF11 :: Universe -> Universe doDebugTestF11 = uvIOEffects %~ \f u -> do - x <- getClipboardString - case x >>= readMaybe of + x <- getClipboard + case readMaybe x of Nothing -> do putStrLn "read fail" f u diff --git a/stack.yaml b/stack.yaml index 6f25092a7..891b8fa50 100644 --- a/stack.yaml +++ b/stack.yaml @@ -43,6 +43,7 @@ extra-deps: #- SDL-0.6.7.0@sha256:9d6ba75c0cab575ec38468c8277803983e985f9622437aeca6a53e6a7337a7d5,2045 - sdl2-mixer-1.2.0.0@sha256:6a6b5a46c035c9e77eaf9c244e45de9e4a9b9a110890cfeeb9fa72faa2419cef,4497 - list-tries-0.6.7.1@sha256:a53b4a466d2ecdb932da4c1d34ec8dda99d9eba2977eb991f6b052ad710e249d,4272 +- Hclip-3.0.0.4@sha256:df341c936594465df25c3b9f93f6ebe3110a36d64a51dbbd1dbd557394bbdba4,1648 #- repa-3.4.1.5@sha256:4d94845e66d668345130f75f5de8f7c69139b91495c8c4b5a825014e8985e2fd,3562 #- strict-containers-0.1@sha256:d751696a8a74e368cf778cf98410b43fcd192d68febd4c691faaac1d6c3ab63f,10591 #- strict-containers-lens-0.1@sha256:97c0e68e2e23578074d41fa45690a9ff7b1d47057ea6635d863af99f0daa2f9d,1103 diff --git a/tags b/tags index afa69922e..2a8961575 100644 --- a/tags +++ b/tags @@ -148,7 +148,7 @@ BloomLayer src/Picture/Data.hs 25;" C BloomNoZWrite src/Picture/Data.hs 26;" C Blunt src/Dodge/Data/Damage.hs 21;" C Boosting src/Dodge/Data/Creature/Stance.hs 32;" C -BottomMenuOption src/Dodge/Data/Universe.hs 76;" C +BottomMenuOption src/Dodge/Data/Universe.hs 68;" C BounceBullet src/Dodge/Data/Bullet.hs 30;" C Bound_box_screen src/Dodge/Data/Config.hs 81;" C BoundaryCursor src/Dodge/Data/SelectionList.hs 20;" C @@ -326,13 +326,8 @@ Debris src/Dodge/Data/Prop.hs 48;" t DebrisChunk src/Dodge/Data/Prop.hs 48;" C DebrisType src/Dodge/Data/Prop.hs 42;" t DebugBool src/Dodge/Data/Config.hs 66;" t -DebugInfo src/Dodge/Data/Universe.hs 56;" t -DebugIntMInt src/Dodge/Data/Universe.hs 61;" C -DebugItem src/Dodge/Data/Universe.hs 51;" t +DebugItem src/Dodge/Data/Universe.hs 50;" t DebugLayer src/Picture/Data.hs 27;" C -DebugMInt src/Dodge/Data/Universe.hs 60;" C -DebugV2 src/Dodge/Data/Universe.hs 59;" C -DebugV3 src/Dodge/Data/Universe.hs 58;" C DecorationShape src/Dodge/Data/GenParams.hs 20;" t DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C @@ -424,7 +419,7 @@ Explosive src/Dodge/Data/Damage.hs 29;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 16;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 89;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 13;" C -ExtraMenuOption src/Dodge/Data/Universe.hs 75;" t +ExtraMenuOption src/Dodge/Data/Universe.hs 67;" t Eyes src/Dodge/Data/Creature/Perception.hs 41;" C FBO src/Shader/Data.hs 57;" t FLAMESHIELD src/Dodge/Data/Item/Combine.hs 122;" C @@ -497,7 +492,7 @@ GStuckCreature src/Dodge/Data/Projectile.hs 50;" C GStuckWall src/Dodge/Data/Projectile.hs 51;" C GYROSCOPE src/Dodge/Data/Item/Combine.hs 97;" C GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C -GameOverOptions src/Dodge/Data/Universe.hs 71;" C +GameOverOptions src/Dodge/Data/Universe.hs 63;" C GameRoom src/Dodge/GameRoom.hs 15;" t GasAmmo src/Dodge/Data/AmmoType.hs 11;" C GasCloud src/Dodge/Data/Cloud.hs 26;" C @@ -540,7 +535,7 @@ HP src/Dodge/Data/Creature.hs 71;" C HUD src/Dodge/Data/HUD.hs 31;" t HalfRes src/Dodge/Data/Config.hs 96;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C -HardQuit src/Dodge/Data/Universe.hs 69;" C +HardQuit src/Dodge/Data/Universe.hs 61;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeldItemType src/Dodge/Data/Item/Combine.hs 139;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C @@ -596,12 +591,12 @@ Inanimate src/Dodge/Data/ActionPlan.hs 17;" C InanimateAI src/Dodge/Data/Creature/Misc.hs 41;" C IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 13;" C InheritFloor src/Data/Tile.hs 12;" C -Input src/Dodge/Data/Input.hs 34;" t -InputScreen src/Dodge/Data/Universe.hs 91;" C +Input src/Dodge/Data/Input.hs 35;" t +InputScreen src/Dodge/Data/Universe.hs 83;" C Inspect_wall src/Dodge/Data/Config.hs 92;" C Institution src/Dodge/Data/Scenario.hs 42;" t Int2 src/Geometry/Data.hs 21;" t -IntID src/Dodge/Data/Universe.hs 109;" t +IntID src/Dodge/Data/Universe.hs 101;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t Intention src/Dodge/Data/Creature.hs 76;" t IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 106;" C @@ -698,7 +693,7 @@ ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 198;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C -LoadingScreen src/Dodge/Data/Universe.hs 72;" C +LoadingScreen src/Dodge/Data/Universe.hs 64;" C LocDT src/Dodge/Data/DoubleTree.hs 101;" C LocLDT src/Dodge/Data/DoubleTree.hs 61;" C LocationDT src/Dodge/Data/DoubleTree.hs 101;" t @@ -722,9 +717,9 @@ MICROCHIP src/Dodge/Data/Item/Combine.hs 72;" C MICROPHONE src/Dodge/Data/Item/Combine.hs 83;" C MINIDISPLAY src/Dodge/Data/Item/Combine.hs 77;" C MINIGUNX src/Dodge/Data/Item/Combine.hs 151;" C -MODBlockedString src/Dodge/Data/Universe.hs 95;" C -MODString src/Dodge/Data/Universe.hs 94;" C -MODStringOption src/Dodge/Data/Universe.hs 96;" C +MODBlockedString src/Dodge/Data/Universe.hs 87;" C +MODString src/Dodge/Data/Universe.hs 86;" C +MODStringOption src/Dodge/Data/Universe.hs 88;" C MOTOR src/Dodge/Data/Item/Combine.hs 64;" C MP2Ac src/Dodge/Data/CreatureEffect.hs 56;" t MP2NoAction src/Dodge/Data/CreatureEffect.hs 56;" C @@ -774,8 +769,8 @@ Medium src/Shape/Data.hs 30;" C Melee src/Dodge/Data/ActionPlan.hs 41;" C MeleeStrike src/Dodge/Data/ActionPlan.hs 192;" C Memory src/Dodge/Data/Creature/Memory.hs 13;" t -MenuOption src/Dodge/Data/Universe.hs 98;" t -MenuOptionDisplay src/Dodge/Data/Universe.hs 93;" t +MenuOption src/Dodge/Data/Universe.hs 90;" t +MenuOptionDisplay src/Dodge/Data/Universe.hs 85;" t MetaBranch src/Dodge/Data/MetaTree.hs 18;" t MetaNode src/Dodge/Data/MetaTree.hs 14;" t MetaTree src/Dodge/Data/MetaTree.hs 11;" t @@ -791,12 +786,12 @@ Modification src/Dodge/Data/Modification.hs 14;" t MountedLS src/Dodge/Data/MountedObject.hs 12;" C MountedObject src/Dodge/Data/MountedObject.hs 11;" t MountedProp src/Dodge/Data/MountedObject.hs 13;" C -MouseAiming src/Dodge/Data/Input.hs 16;" C -MouseContext src/Dodge/Data/Input.hs 14;" t -MouseGameRotate src/Dodge/Data/Input.hs 30;" C -MouseInGame src/Dodge/Data/Input.hs 17;" C -MouseMenuClick src/Dodge/Data/Input.hs 18;" C -MouseMenuCursor src/Dodge/Data/Input.hs 19;" C +MouseAiming src/Dodge/Data/Input.hs 17;" C +MouseContext src/Dodge/Data/Input.hs 15;" t +MouseGameRotate src/Dodge/Data/Input.hs 31;" C +MouseInGame src/Dodge/Data/Input.hs 18;" C +MouseMenuClick src/Dodge/Data/Input.hs 19;" C +MouseMenuCursor src/Dodge/Data/Input.hs 20;" C Mouse_position src/Dodge/Data/Config.hs 73;" C Move src/Dodge/Data/ActionPlan.hs 28;" C MoveEquipment src/Dodge/Data/RightButtonOptions.hs 22;" C @@ -842,7 +837,7 @@ NeverUsable src/Dodge/Data/UseCondition.hs 8;" C NewInt src/NewInt.hs 17;" t NewIntMap src/NewInt.hs 23;" t NewIntSet src/NewInt.hs 20;" t -NewSideEffect src/Dodge/Data/Universe.hs 64;" C +NewSideEffect src/Dodge/Data/Universe.hs 56;" C NoAction src/Dodge/Data/ActionPlan.hs 152;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C @@ -850,8 +845,7 @@ NoConcurrentEffect src/Loop/Data.hs 7;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C NoCrWdImp src/Dodge/Data/CreatureEffect.hs 14;" C NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C -NoDebugInfo src/Dodge/Data/Universe.hs 57;" C -NoExtraMenuOption src/Dodge/Data/Universe.hs 78;" C +NoExtraMenuOption src/Dodge/Data/Universe.hs 70;" C NoFaction src/Dodge/Data/Creature/State.hs 20;" C NoFlare src/Dodge/Data/Muzzle.hs 29;" C NoHoming src/Dodge/Data/Projectile.hs 42;" C @@ -861,7 +855,7 @@ NoItemScroll src/Dodge/Data/Item.hs 39;" C NoItemZone src/Dodge/Data/Machine/Sensor.hs 34;" C NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C NoLighting src/Dodge/Data/Config.hs 103;" C -NoMouseContext src/Dodge/Data/Input.hs 15;" C +NoMouseContext src/Dodge/Data/Input.hs 16;" C NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C NoObjShads src/Dodge/Data/Config.hs 101;" C NoParams src/Dodge/Data/Item/Params.hs 15;" C @@ -878,7 +872,7 @@ NodeMTree src/Dodge/Data/MetaTree.hs 16;" C NodeTree src/Dodge/Data/MetaTree.hs 15;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C NonInf src/Dodge/Data/CardinalPoint.hs 36;" C -NormalOptions src/Dodge/Data/Universe.hs 71;" C +NormalOptions src/Dodge/Data/Universe.hs 63;" C NormalSpark src/Dodge/Data/Spark.hs 22;" C NormalTimeFlow src/Dodge/Data/World.hs 63;" C North src/Dodge/Data/CardinalPoint.hs 6;" C @@ -951,22 +945,22 @@ OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C Opacity src/Dodge/Data/Wall.hs 40;" t Opaque src/Dodge/Data/Wall.hs 44;" C OpticScope src/Dodge/Data/Item/Scope.hs 14;" C -OptionScreen src/Dodge/Data/Universe.hs 81;" C -OptionScreenFlag src/Dodge/Data/Universe.hs 71;" t +OptionScreen src/Dodge/Data/Universe.hs 73;" C +OptionScreenFlag src/Dodge/Data/Universe.hs 63;" t OutAction src/Dodge/Creature/Action.hs 47;" t OutLink src/Dodge/Data/Room.hs 44;" C -OutsideTerminal src/Dodge/Data/Input.hs 29;" C +OutsideTerminal src/Dodge/Data/Input.hs 30;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C -OverCombCombine src/Dodge/Data/Input.hs 25;" C -OverCombEscape src/Dodge/Data/Input.hs 27;" C -OverCombFiltInv src/Dodge/Data/Input.hs 23;" C -OverCombFilter src/Dodge/Data/Input.hs 26;" C -OverCombSelect src/Dodge/Data/Input.hs 24;" C -OverDebug src/Dodge/Data/Input.hs 31;" C -OverInvDrag src/Dodge/Data/Input.hs 20;" C -OverInvDragSelect src/Dodge/Data/Input.hs 21;" C -OverInvSelect src/Dodge/Data/Input.hs 22;" C -OverTerminal src/Dodge/Data/Input.hs 28;" C +OverCombCombine src/Dodge/Data/Input.hs 26;" C +OverCombEscape src/Dodge/Data/Input.hs 28;" C +OverCombFiltInv src/Dodge/Data/Input.hs 24;" C +OverCombFilter src/Dodge/Data/Input.hs 27;" C +OverCombSelect src/Dodge/Data/Input.hs 25;" C +OverDebug src/Dodge/Data/Input.hs 32;" C +OverInvDrag src/Dodge/Data/Input.hs 21;" C +OverInvDragSelect src/Dodge/Data/Input.hs 22;" C +OverInvSelect src/Dodge/Data/Input.hs 23;" C +OverTerminal src/Dodge/Data/Input.hs 29;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 57;" C P2Ac src/Dodge/Data/CreatureEffect.hs 53;" t @@ -1167,7 +1161,7 @@ RoomProperties src/Dodge/Layout/Generate.hs 13;" t RoomType src/Dodge/Data/Room.hs 31;" t RoomWire src/Dodge/Data/Room.hs 53;" t RoundedFaces src/Shape/Data.hs 18;" C -RunningSideEffect src/Dodge/Data/Universe.hs 68;" C +RunningSideEffect src/Dodge/Data/Universe.hs 60;" C SCRAPMETAL src/Dodge/Data/Item/Combine.hs 62;" C SHATTERGUN src/Dodge/Data/Item/Combine.hs 174;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 110;" C @@ -1188,7 +1182,7 @@ STICKYMOD src/Dodge/Data/Item/Combine.hs 24;" C SaveSlot src/Dodge/Data/SaveSlot.hs 9;" t SaveSlotNum src/Dodge/Data/SaveSlot.hs 12;" C Scope src/Dodge/Data/Item/Scope.hs 13;" t -ScreenLayer src/Dodge/Data/Universe.hs 80;" t +ScreenLayer src/Dodge/Data/Universe.hs 72;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t Search src/Dodge/Data/ActionPlan.hs 193;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C @@ -1245,7 +1239,7 @@ ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C ShrinkGunStatus src/Dodge/Data/Item/Params.hs 28;" t Shrunk src/Dodge/Data/Item/Params.hs 28;" C SideCluster src/Dodge/Data/RoomCluster.hs 13;" C -SideEffect src/Dodge/Data/Universe.hs 63;" t +SideEffect src/Dodge/Data/Universe.hs 55;" t SixteenthRes src/Dodge/Data/Config.hs 96;" C Size src/Shape/Data.hs 28;" t SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C @@ -1280,7 +1274,7 @@ Sparking src/Dodge/Data/Damage.hs 22;" C Spatial src/Dodge/Data/Scenario.hs 73;" C SpatialInfluence src/Dodge/Data/Scenario.hs 81;" t SpawnedBy src/Dodge/Data/Creature/State.hs 19;" C -SplashOptions src/Dodge/Data/Universe.hs 71;" C +SplashOptions src/Dodge/Data/Universe.hs 63;" C SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C SpreadGunAI src/Dodge/Data/Creature/Misc.hs 42;" C StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C @@ -1322,15 +1316,15 @@ TO src/Shader/Data.hs 59;" t TRACTORGUN src/Dodge/Data/Item/Combine.hs 169;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 65;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 71;" C -TSbackspace src/Dodge/Data/Input.hs 55;" C -TSdelete src/Dodge/Data/Input.hs 56;" C -TSdown src/Dodge/Data/Input.hs 61;" C -TSescape src/Dodge/Data/Input.hs 53;" C -TSleft src/Dodge/Data/Input.hs 58;" C -TSreturn src/Dodge/Data/Input.hs 54;" C -TSright src/Dodge/Data/Input.hs 59;" C -TStab src/Dodge/Data/Input.hs 57;" C -TSup src/Dodge/Data/Input.hs 60;" C +TSbackspace src/Dodge/Data/Input.hs 56;" C +TSdelete src/Dodge/Data/Input.hs 57;" C +TSdown src/Dodge/Data/Input.hs 62;" C +TSescape src/Dodge/Data/Input.hs 54;" C +TSleft src/Dodge/Data/Input.hs 59;" C +TSreturn src/Dodge/Data/Input.hs 55;" C +TSright src/Dodge/Data/Input.hs 60;" C +TStab src/Dodge/Data/Input.hs 58;" C +TSup src/Dodge/Data/Input.hs 61;" C TUBE src/Dodge/Data/Item/Combine.hs 52;" C Tap src/Dodge/Data/SoundOrigin.hs 40;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 14;" C @@ -1339,7 +1333,7 @@ TargetRBPress src/Dodge/Data/Item/Targeting.hs 12;" C TargetingLaser src/Dodge/Data/Laser.hs 18;" C TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t TeleSound src/Dodge/Data/SoundOrigin.hs 37;" C -TermSignal src/Dodge/Data/Input.hs 52;" t +TermSignal src/Dodge/Data/Input.hs 53;" t Terminal src/Dodge/Data/Terminal.hs 21;" t TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C TerminalLine src/Dodge/Data/Terminal.hs 38;" t @@ -1378,12 +1372,12 @@ ToPlaySound src/Sound/Data.hs 35;" t ToStart src/Sound/Data.hs 26;" C ToStartMenu src/Sound/Data.hs 29;" C ToStop src/Sound/Data.hs 28;" C -Toggle src/Dodge/Data/Universe.hs 99;" C -Toggle2 src/Dodge/Data/Universe.hs 103;" C +Toggle src/Dodge/Data/Universe.hs 91;" C +Toggle2 src/Dodge/Data/Universe.hs 95;" C ToggleSF src/Dodge/Data/ComposedItem.hs 38;" C TopDT src/Dodge/Data/DoubleTree.hs 85;" C TopLDT src/Dodge/Data/DoubleTree.hs 43;" C -TopMenuOption src/Dodge/Data/Universe.hs 77;" C +TopMenuOption src/Dodge/Data/Universe.hs 69;" C TorchSF src/Dodge/Data/ComposedItem.hs 45;" C TorpedoBaySS src/Dodge/Data/Scenario.hs 99;" C TorqueCr src/Dodge/Data/WorldEffect.hs 31;" C @@ -1416,7 +1410,7 @@ UnderRoof src/Dodge/Data/Scenario.hs 79;" C UnderSea src/Dodge/Data/Scenario.hs 77;" C UniRandFloat src/Dodge/Data/GenFloat.hs 12;" C Unimportant src/Shape/Data.hs 37;" C -Universe src/Dodge/Data/Universe.hs 31;" t +Universe src/Dodge/Data/Universe.hs 30;" t UnloadedWeaponSF src/Dodge/Data/ComposedItem.hs 13;" C UnlockInv src/Dodge/Data/WorldEffect.hs 28;" C UnusedLink src/Dodge/Data/Room.hs 68;" C @@ -1650,8 +1644,8 @@ _cdtParent src/Dodge/Data/DoubleTree.hs 89;" f _cdtParent src/Dodge/Data/DoubleTree.hs 97;" f _cdtUp src/Dodge/Data/DoubleTree.hs 87;" f _cdtUp src/Dodge/Data/DoubleTree.hs 94;" f -_ceSideEffect src/Dodge/Data/Universe.hs 65;" f -_ceString src/Dodge/Data/Universe.hs 66;" f +_ceSideEffect src/Dodge/Data/Universe.hs 57;" f +_ceString src/Dodge/Data/Universe.hs 58;" f _chasmShader src/Data/Preload/Render.hs 46;" f _chasmVBO src/Data/Preload/Render.hs 45;" f _chasms src/Dodge/Data/CWorld.hs 30;" f @@ -1678,8 +1672,8 @@ _cldtParent src/Dodge/Data/DoubleTree.hs 47;" f _cldtParent src/Dodge/Data/DoubleTree.hs 56;" f _cldtUp src/Dodge/Data/DoubleTree.hs 45;" f _cldtUp src/Dodge/Data/DoubleTree.hs 53;" f -_clickPos src/Dodge/Data/Input.hs 43;" f -_clickWorldPos src/Dodge/Data/Input.hs 45;" f +_clickPos src/Dodge/Data/Input.hs 44;" f +_clickWorldPos src/Dodge/Data/Input.hs 46;" f _closeButtons src/Dodge/Data/HUD.hs 38;" f _closeItems src/Dodge/Data/HUD.hs 37;" f _cloudEBO src/Data/Preload/Render.hs 51;" f @@ -1748,12 +1742,8 @@ _dbSpin src/Dodge/Data/Prop.hs 53;" f _dbType src/Dodge/Data/Prop.hs 50;" f _dbVel src/Dodge/Data/Prop.hs 51;" f _debris src/Dodge/Data/LWorld.hs 103;" f -_debugFunction src/Dodge/Data/Universe.hs 53;" f -_debugInt src/Dodge/Data/Universe.hs 61;" f -_debugMInt src/Dodge/Data/Universe.hs 60;" f -_debugMessage src/Dodge/Data/Universe.hs 52;" f -_debugV2 src/Dodge/Data/Universe.hs 59;" f -_debugV3 src/Dodge/Data/Universe.hs 58;" f +_debugFunction src/Dodge/Data/Universe.hs 52;" f +_debugMessage src/Dodge/Data/Universe.hs 51;" f _debug_booleans src/Dodge/Data/Config.hs 57;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f _delayedEvents src/Dodge/Data/LWorld.hs 132;" f @@ -1830,7 +1820,7 @@ _ebType src/Dodge/Data/EnergyBall.hs 21;" f _ebVel src/Dodge/Data/EnergyBall.hs 18;" f _eboName src/Shader/Data.hs 89;" f _eboPtr src/Shader/Data.hs 90;" f -_emoMenuOption src/Dodge/Data/Universe.hs 76;" f +_emoMenuOption src/Dodge/Data/Universe.hs 68;" f _energyBalls src/Dodge/Data/LWorld.hs 107;" f _fbSize src/Dodge/Data/EnergyBall/Type.hs 14;" f _fbo2 src/Data/Preload/Render.hs 29;" f @@ -1900,8 +1890,8 @@ _guTime src/Dodge/Data/Gust.hs 17;" f _guVel src/Dodge/Data/Gust.hs 16;" f _gusts src/Dodge/Data/LWorld.hs 101;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f -_heldPos src/Dodge/Data/Input.hs 44;" f -_heldWorldPos src/Dodge/Data/Input.hs 46;" f +_heldPos src/Dodge/Data/Input.hs 45;" f +_heldWorldPos src/Dodge/Data/Input.hs 47;" f _hotkeys src/Dodge/Data/LWorld.hs 143;" f _hud src/Dodge/Data/World.hs 46;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 81;" f @@ -2025,17 +2015,19 @@ _mcPos src/Dodge/Data/Machine.hs 34;" f _mcType src/Dodge/Data/Machine.hs 39;" f _mcWallIDs src/Dodge/Data/Machine.hs 32;" f _mcWidth src/Dodge/Data/Machine.hs 41;" f -_mcoCombCombine src/Dodge/Data/Input.hs 25;" f -_mcoCombSelect src/Dodge/Data/Input.hs 24;" f -_mcoDragSection src/Dodge/Data/Input.hs 20;" f -_mcoInvFilt src/Dodge/Data/Input.hs 23;" f -_mcoInvSelect src/Dodge/Data/Input.hs 22;" f -_mcoMaybeSelect src/Dodge/Data/Input.hs 20;" f -_mcoMenuClick src/Dodge/Data/Input.hs 18;" f -_mcoSecSelStart src/Dodge/Data/Input.hs 21;" f -_mcoSelEnd src/Dodge/Data/Input.hs 21;" f -_mcoTermID src/Dodge/Data/Input.hs 28;" f -_mcoTermStatus src/Dodge/Data/Input.hs 28;" f +_mcoCombCombine src/Dodge/Data/Input.hs 26;" f +_mcoCombSelect src/Dodge/Data/Input.hs 25;" f +_mcoDBBool src/Dodge/Data/Input.hs 32;" f +_mcoDBInt src/Dodge/Data/Input.hs 32;" f +_mcoDragSection src/Dodge/Data/Input.hs 21;" f +_mcoInvFilt src/Dodge/Data/Input.hs 24;" f +_mcoInvSelect src/Dodge/Data/Input.hs 23;" f +_mcoMaybeSelect src/Dodge/Data/Input.hs 21;" f +_mcoMenuClick src/Dodge/Data/Input.hs 19;" f +_mcoSecSelStart src/Dodge/Data/Input.hs 22;" f +_mcoSelEnd src/Dodge/Data/Input.hs 22;" f +_mcoTermID src/Dodge/Data/Input.hs 29;" f +_mcoTermStatus src/Dodge/Data/Input.hs 29;" f _mctTurret src/Dodge/Data/Machine.hs 49;" f _mdBool src/Dodge/Data/Modification.hs 21;" f _mdExternalID src/Dodge/Data/Modification.hs 17;" f @@ -2051,19 +2043,19 @@ _meleeCooldown src/Dodge/Data/Creature/Misc.hs 70;" f _meleeTarget src/Dodge/Data/ActionPlan.hs 187;" f _mgField src/Dodge/Data/Magnet.hs 25;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f -_moEff src/Dodge/Data/Universe.hs 100;" f -_moEff1 src/Dodge/Data/Universe.hs 104;" f -_moEff2 src/Dodge/Data/Universe.hs 105;" f -_moString src/Dodge/Data/Universe.hs 101;" f -_moString src/Dodge/Data/Universe.hs 106;" f -_modOption src/Dodge/Data/Universe.hs 96;" f -_modString src/Dodge/Data/Universe.hs 94;" f +_moEff src/Dodge/Data/Universe.hs 92;" f +_moEff1 src/Dodge/Data/Universe.hs 96;" f +_moEff2 src/Dodge/Data/Universe.hs 97;" f +_moString src/Dodge/Data/Universe.hs 93;" f +_moString src/Dodge/Data/Universe.hs 98;" f +_modOption src/Dodge/Data/Universe.hs 88;" f +_modString src/Dodge/Data/Universe.hs 86;" f _modifications src/Dodge/Data/LWorld.hs 130;" f -_mouseButtons src/Dodge/Data/Input.hs 39;" f -_mouseButtonsReleased src/Dodge/Data/Input.hs 40;" f -_mouseContext src/Dodge/Data/Input.hs 36;" f -_mouseMoving src/Dodge/Data/Input.hs 37;" f -_mousePos src/Dodge/Data/Input.hs 35;" f +_mouseButtons src/Dodge/Data/Input.hs 40;" f +_mouseButtonsReleased src/Dodge/Data/Input.hs 41;" f +_mouseContext src/Dodge/Data/Input.hs 37;" f +_mouseMoving src/Dodge/Data/Input.hs 38;" f +_mousePos src/Dodge/Data/Input.hs 36;" f _mtBranches src/Dodge/Data/MetaTree.hs 12;" f _mtLabel src/Dodge/Data/MetaTree.hs 12;" f _mtTree src/Dodge/Data/MetaTree.hs 12;" f @@ -2162,8 +2154,8 @@ _prUpdate src/Dodge/Data/Prop.hs 22;" f _prUpdate src/Dodge/Data/Prop.hs 35;" f _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f -_preloadData src/Dodge/Data/Universe.hs 33;" f -_pressedKeys src/Dodge/Data/Input.hs 38;" f +_preloadData src/Dodge/Data/Universe.hs 32;" f +_pressedKeys src/Dodge/Data/Input.hs 39;" f _projectiles src/Dodge/Data/LWorld.hs 104;" f _props src/Dodge/Data/LWorld.hs 102;" f _proxReqDead src/Dodge/Data/Machine/Sensor.hs 39;" f @@ -2269,24 +2261,24 @@ _rsPos src/Dodge/Data/RadarSweep.hs 20;" f _rsRad src/Dodge/Data/RadarSweep.hs 21;" f _rsSource src/Dodge/Data/RadarSweep.hs 26;" f _rsTimer src/Dodge/Data/RadarSweep.hs 23;" f -_scAvailableLines src/Dodge/Data/Universe.hs 88;" f -_scDisplayTime src/Dodge/Data/Universe.hs 89;" f -_scInput src/Dodge/Data/Universe.hs 91;" f -_scOffset src/Dodge/Data/Universe.hs 84;" f -_scOptionFlag src/Dodge/Data/Universe.hs 86;" f -_scOptions src/Dodge/Data/Universe.hs 83;" f -_scPositionedMenuOption src/Dodge/Data/Universe.hs 85;" f -_scSelectionList src/Dodge/Data/Universe.hs 87;" f -_scTitle src/Dodge/Data/Universe.hs 82;" f +_scAvailableLines src/Dodge/Data/Universe.hs 80;" f +_scDisplayTime src/Dodge/Data/Universe.hs 81;" f +_scInput src/Dodge/Data/Universe.hs 83;" f +_scOffset src/Dodge/Data/Universe.hs 76;" f +_scOptionFlag src/Dodge/Data/Universe.hs 78;" f +_scOptions src/Dodge/Data/Universe.hs 75;" f +_scPositionedMenuOption src/Dodge/Data/Universe.hs 77;" f +_scSelectionList src/Dodge/Data/Universe.hs 79;" f +_scTitle src/Dodge/Data/Universe.hs 74;" f _screenTextureVAO src/Data/Preload/Render.hs 52;" f -_scrollAmount src/Dodge/Data/Input.hs 41;" f +_scrollAmount src/Dodge/Data/Input.hs 42;" f _scrollItemID src/Dodge/Data/World.hs 68;" f _scrollItemID src/Dodge/Data/World.hs 77;" f _scrollItemID src/Dodge/Data/World.hs 81;" f _scrollSmoothing src/Dodge/Data/World.hs 65;" f _scrollSmoothing src/Dodge/Data/World.hs 71;" f -_scrollTestFloat src/Dodge/Data/Input.hs 48;" f -_scrollTestInt src/Dodge/Data/Input.hs 49;" f +_scrollTestFloat src/Dodge/Data/Input.hs 49;" f +_scrollTestInt src/Dodge/Data/Input.hs 50;" f _scurColor src/Dodge/Data/SelectionList.hs 26;" f _scurPos src/Dodge/Data/SelectionList.hs 24;" f _scurSize src/Dodge/Data/SelectionList.hs 25;" f @@ -2331,7 +2323,7 @@ _skinUpper src/Dodge/Data/Creature/Misc.hs 79;" f _slInt src/Dodge/Data/HUD.hs 41;" f _slSec src/Dodge/Data/HUD.hs 41;" f _slSet src/Dodge/Data/HUD.hs 41;" f -_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 43;" f _soundAngDist src/Sound/Data.hs 49;" f _soundChannel src/Sound/Data.hs 48;" f _soundChunkID src/Sound/Data.hs 53;" f @@ -2383,7 +2375,7 @@ _termID src/Dodge/Data/HUD.hs 29;" f _terminals src/Dodge/Data/LWorld.hs 124;" f _teslaArcs src/Dodge/Data/LWorld.hs 112;" f _testFloat src/Dodge/Data/World.hs 44;" f -_textInput src/Dodge/Data/Input.hs 47;" f +_textInput src/Dodge/Data/Input.hs 48;" f _textureObject src/Shader/Data.hs 95;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f _tileArrayZ src/Data/Tile.hs 24;" f @@ -2455,22 +2447,22 @@ _useSelf src/Dodge/Data/ActionPlan.hs 158;" f _useTarget src/Dodge/Data/ActionPlan.hs 155;" f _useToggle src/Dodge/Data/Item/Use.hs 38;" f _useUpTo src/Dodge/Data/Muzzle.hs 63;" f -_uvCanContinue src/Dodge/Data/Universe.hs 39;" f -_uvConfig src/Dodge/Data/Universe.hs 37;" f -_uvDebug src/Dodge/Data/Universe.hs 44;" f -_uvDebugFloat1 src/Dodge/Data/Universe.hs 45;" f -_uvDebugFloat2 src/Dodge/Data/Universe.hs 46;" f -_uvDebugMessageOffset src/Dodge/Data/Universe.hs 47;" f -_uvFrameTicks src/Dodge/Data/Universe.hs 42;" f -_uvIOEffects src/Dodge/Data/Universe.hs 35;" f -_uvLastFrameTicks src/Dodge/Data/Universe.hs 41;" f -_uvMSeed src/Dodge/Data/Universe.hs 40;" f -_uvRAMSave src/Dodge/Data/Universe.hs 43;" f -_uvScreenLayers src/Dodge/Data/Universe.hs 34;" f -_uvSideEffects src/Dodge/Data/Universe.hs 36;" f -_uvSoundQueue src/Dodge/Data/Universe.hs 48;" f -_uvTestString src/Dodge/Data/Universe.hs 38;" f -_uvWorld src/Dodge/Data/Universe.hs 32;" f +_uvCanContinue src/Dodge/Data/Universe.hs 38;" f +_uvConfig src/Dodge/Data/Universe.hs 36;" f +_uvDebug src/Dodge/Data/Universe.hs 43;" f +_uvDebugFloat1 src/Dodge/Data/Universe.hs 44;" f +_uvDebugFloat2 src/Dodge/Data/Universe.hs 45;" f +_uvDebugMessageOffset src/Dodge/Data/Universe.hs 46;" f +_uvFrameTicks src/Dodge/Data/Universe.hs 41;" f +_uvIOEffects src/Dodge/Data/Universe.hs 34;" f +_uvLastFrameTicks src/Dodge/Data/Universe.hs 40;" f +_uvMSeed src/Dodge/Data/Universe.hs 39;" f +_uvRAMSave src/Dodge/Data/Universe.hs 42;" f +_uvScreenLayers src/Dodge/Data/Universe.hs 33;" f +_uvSideEffects src/Dodge/Data/Universe.hs 35;" f +_uvSoundQueue src/Dodge/Data/Universe.hs 47;" f +_uvTestString src/Dodge/Data/Universe.hs 37;" f +_uvWorld src/Dodge/Data/Universe.hs 31;" f _vaCount src/Shader/Data.hs 69;" f _vaNormalize src/Shader/Data.hs 71;" f _vaOffset src/Shader/Data.hs 72;" f @@ -2587,10 +2579,10 @@ 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 413;" f +advanceScrollAmount src/Dodge/Update.hs 419;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f -aimDelaySweep src/Dodge/Render/Picture.hs 286;" f +aimDelaySweep src/Dodge/Render/Picture.hs 287;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f airlock src/Dodge/Room/Airlock.hs 23;" f @@ -2839,13 +2831,13 @@ 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 762;" f +checkEndGame src/Dodge/Update.hs 768;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 317;" f +checkTermDist src/Dodge/Update.hs 318;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f @@ -2870,7 +2862,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f clAlt src/Dodge/Cloud.hs 5;" f -clClSpringVel src/Dodge/Update.hs 835;" f +clClSpringVel src/Dodge/Update.hs 841;" f clColor src/Shader/Poke/Cloud.hs 35;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 168;" f @@ -2897,7 +2889,7 @@ closeObjectInfo src/Dodge/Render/HUD.hs 226;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f -cloudEffect src/Dodge/Update.hs 787;" f +cloudEffect src/Dodge/Update.hs 793;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 11;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -2975,7 +2967,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 83;" 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 864;" f +crCrSpring src/Dodge/Update.hs 870;" 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 @@ -3004,7 +2996,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 73;" f crSetRoots src/Dodge/Inventory/Location.hs 55;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 861;" f +crSpring src/Dodge/Update.hs 867;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f crUpdate src/Dodge/Creature/Update.hs 59;" f @@ -3106,11 +3098,11 @@ deadUpperBody src/Dodge/Creature/Picture.hs 113;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f debrisSize src/Dodge/Block/Debris.hs 77;" f -debugEvent src/Dodge/Debug.hs 26;" f -debugEvents src/Dodge/Debug.hs 19;" f -debugItem src/Dodge/Debug.hs 29;" f -debugMenu src/Dodge/Menu.hs 125;" f -debugMenuOptions src/Dodge/Menu.hs 131;" f +debugEvent src/Dodge/Debug.hs 35;" f +debugEvents src/Dodge/Debug.hs 21;" f +debugItem src/Dodge/Debug.hs 38;" f +debugMenu src/Dodge/Menu.hs 124;" f +debugMenuOptions src/Dodge/Menu.hs 130;" f debugOn src/Dodge/Data/Config.hs 150;" f decodeSensorType src/Dodge/Terminal.hs 72;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f @@ -3209,13 +3201,13 @@ dim src/Color.hs 112;" f dirtColor src/Dodge/Default/Wall.hs 81;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f -displayConfig src/Dodge/Menu.hs 231;" f -displayControls src/Dodge/Menu.hs 242;" f +displayConfig src/Dodge/Menu.hs 230;" f +displayControls src/Dodge/Menu.hs 246;" f displayFrameTicks src/Dodge/Render/Picture.hs 51;" f displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f -displayTerminalLineString src/Dodge/Update.hs 477;" f +displayTerminalLineString src/Dodge/Update.hs 483;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -3265,7 +3257,7 @@ doInPlacements src/Dodge/Layout.hs 83;" f doIndividualPlacements src/Dodge/Layout.hs 97;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doIntImp src/Dodge/CreatureEffect.hs 25;" f -doItemTimeScroll src/Dodge/Update.hs 192;" f +doItemTimeScroll src/Dodge/Update.hs 193;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 58;" f doMP2Ac src/Dodge/CreatureEffect.hs 75;" f @@ -3290,7 +3282,7 @@ doTestDrawing src/Dodge/Render.hs 41;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 128;" f -doTimeScroll src/Dodge/Update.hs 197;" f +doTimeScroll src/Dodge/Update.hs 198;" f doTmWdWd src/Dodge/WorldEffect.hs 89;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f doWdBl src/Dodge/WorldBool.hs 10;" f @@ -3298,7 +3290,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 38;" f doWdCrCr src/Dodge/CreatureEffect.hs 13;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 28;" f -doWorldEvents src/Dodge/Update.hs 422;" f +doWorldEvents src/Dodge/Update.hs 428;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -3317,10 +3309,10 @@ doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f doubleV2 src/Geometry.hs 169;" f drawARHUD src/Dodge/Creature/State.hs 193;" f -drawAimSweep src/Dodge/Render/Picture.hs 293;" f +drawAimSweep src/Dodge/Render/Picture.hs 294;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAnySelectionBox src/Dodge/Render/Picture.hs 131;" f -drawArrowDown src/Dodge/Render/Picture.hs 220;" f +drawAnySelectionBox src/Dodge/Render/Picture.hs 132;" f +drawArrowDown src/Dodge/Render/Picture.hs 221;" f drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f @@ -3333,29 +3325,30 @@ drawChasm src/Dodge/Render/ShapePicture.hs 51;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 54;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombFilter src/Dodge/Render/Picture.hs 268;" f +drawCombFilter src/Dodge/Render/Picture.hs 269;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f drawCoord src/Dodge/Debug/Picture.hs 376;" f -drawCrInfo src/Dodge/Debug.hs 59;" f +drawCrInfo src/Dodge/Debug.hs 73;" f +drawCrInfo' src/Dodge/Debug.hs 68;" f drawCreature src/Dodge/Render/ShapePicture.hs 70;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 72;" f -drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 138;" f +drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f -drawDebug src/Dodge/Debug.hs 87;" f +drawDebug src/Dodge/Debug.hs 104;" f drawDoorPaths src/Dodge/Debug/Picture.hs 253;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f -drawDrag src/Dodge/Render/Picture.hs 199;" f -drawDragDrop src/Dodge/Render/Picture.hs 228;" f -drawDragPickup src/Dodge/Render/Picture.hs 237;" f -drawDragSelect src/Dodge/Render/Picture.hs 196;" f +drawDrag src/Dodge/Render/Picture.hs 200;" f +drawDragDrop src/Dodge/Render/Picture.hs 229;" f +drawDragPickup src/Dodge/Render/Picture.hs 238;" f +drawDragSelect src/Dodge/Render/Picture.hs 197;" f drawDragSelected src/Dodge/Render/HUD.hs 136;" f drawDragSelecting src/Dodge/Render/HUD.hs 153;" f -drawEmptySet src/Dodge/Render/Picture.hs 152;" f +drawEmptySet src/Dodge/Render/Picture.hs 153;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 127;" f drawExamineInventory src/Dodge/Render/HUD.hs 198;" f @@ -3364,7 +3357,7 @@ drawFarWallDetect src/Dodge/Debug/Picture.hs 270;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 279;" f +drawGapPlus src/Dodge/Render/Picture.hs 280;" f drawGib src/Dodge/Prop/Draw.hs 39;" f drawHUD src/Dodge/Render/HUD.hs 51;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f @@ -3373,7 +3366,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 233;" f drawInventory src/Dodge/Render/HUD.hs 58;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 329;" f drawItemConnections src/Dodge/Render/HUD.hs 319;" f -drawJumpDown src/Dodge/Render/Picture.hs 191;" f +drawJumpDown src/Dodge/Render/Picture.hs 192;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 212;" f drawLampCover src/Dodge/Prop/Draw.hs 55;" f @@ -3387,8 +3380,8 @@ drawListYoff src/Dodge/Render/List.hs 93;" f drawMachine src/Dodge/Machine/Draw.hs 16;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f drawMapperInventory src/Dodge/Render/HUD.hs 173;" f -drawMenuClick src/Dodge/Render/Picture.hs 167;" f -drawMenuCursor src/Dodge/Render/Picture.hs 179;" f +drawMenuClick src/Dodge/Render/Picture.hs 168;" f +drawMenuCursor src/Dodge/Render/Picture.hs 180;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMouseCursor src/Dodge/Render/Picture.hs 85;" f @@ -3400,21 +3393,21 @@ drawOptions src/Dodge/Render/MenuScreen.hs 22;" f drawPathBetween src/Dodge/Debug/Picture.hs 201;" f drawPathEdge src/Dodge/Debug/Picture.hs 258;" f drawPathing src/Dodge/Debug/Picture.hs 398;" f -drawPlus src/Dodge/Render/Picture.hs 164;" f +drawPlus src/Dodge/Render/Picture.hs 165;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 26;" f drawProxSensor src/Dodge/Machine/Draw.hs 37;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 62;" f -drawQuitTerminal src/Dodge/Render/Picture.hs 146;" f +drawQuitTerminal src/Dodge/Render/Picture.hs 147;" f drawRBOptions src/Dodge/Render/HUD.hs 251;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f -drawReturn src/Dodge/Render/Picture.hs 155;" f +drawReturn src/Dodge/Render/Picture.hs 156;" f drawRootCursor src/Dodge/Render/HUD.hs 76;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f -drawSelect src/Dodge/Render/Picture.hs 256;" f +drawSelect src/Dodge/Render/Picture.hs 257;" f drawSelectionList src/Dodge/Render/List.hs 36;" f drawSelectionListBackground src/Dodge/Render/List.hs 52;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f @@ -3436,7 +3429,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 35;" f drawTitleBackground src/Dodge/Render/List.hs 45;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 76;" f -drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 211;" f +drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f drawWall src/Dodge/Wall/Draw.hs 7;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f @@ -3473,7 +3466,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dummyMenuOption src/Dodge/Menu/Option.hs 72;" f dustColor src/Shader/Poke/Cloud.hs 71;" f -dustSpringVel src/Dodge/Update.hs 846;" f +dustSpringVel src/Dodge/Update.hs 852;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f @@ -3623,7 +3616,7 @@ fromV3 src/Geometry/Data.hs 63;" f frontArmour src/Dodge/Item/Equipment.hs 38;" f fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 53;" f -functionalUpdate src/Dodge/Update.hs 240;" f +functionalUpdate src/Dodge/Update.hs 241;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f @@ -3631,12 +3624,12 @@ g src/ShortShow.hs 48;" f gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f gRandify src/Dodge/Randify.hs 11;" f gadgetEffect src/Dodge/HeldUse.hs 47;" f -gameOverMenu src/Dodge/Menu.hs 208;" f +gameOverMenu src/Dodge/Menu.hs 207;" f gameRoomFromRoom src/Dodge/Layout.hs 148;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 145;" f -gameplayMenu src/Dodge/Menu.hs 155;" f -gameplayMenuOptions src/Dodge/Menu.hs 158;" f +gameplayMenu src/Dodge/Menu.hs 154;" f +gameplayMenuOptions src/Dodge/Menu.hs 157;" f gasType src/Dodge/HeldUse.hs 1115;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGraphs src/Dodge/Menu.hs 149;" f @@ -3661,7 +3654,7 @@ getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 323;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 310;" f -getDebugMouseOver src/Dodge/Update.hs 375;" f +getDebugMouseOver src/Dodge/Update.hs 376;" f getDistortions src/Dodge/Render.hs 435;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f @@ -3671,7 +3664,7 @@ getLaserDamage src/Dodge/HeldUse.hs 704;" f getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 382;" f +getMenuMouseContext src/Dodge/Update.hs 388;" f getNodePos src/Dodge/Path.hs 30;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f @@ -3710,8 +3703,8 @@ grahamScan src/Geometry/Polygon.hs 154;" f grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f graphToEdges src/Dodge/Graph.hs 35;" f graphToIncidence src/Dodge/Graph.hs 40;" f -graphicsMenu src/Dodge/Menu.hs 186;" f -graphicsMenuOptions src/Dodge/Menu.hs 189;" f +graphicsMenu src/Dodge/Menu.hs 185;" f +graphicsMenuOptions src/Dodge/Menu.hs 188;" f green src/Color.hs 15;" f greyN src/Color.hs 124;" f gridInPolygon src/Grid.hs 12;" f @@ -3905,7 +3898,7 @@ isNHS src/Geometry/Intersect.hs 53;" f isNothing' src/MaybeHelp.hs 33;" f isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f -isOverTerminalScreen src/Dodge/Update.hs 393;" f +isOverTerminalScreen src/Dodge/Update.hs 399;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 32;" f @@ -4051,8 +4044,8 @@ lineThick src/Picture/Base.hs 234;" f lineUp src/Dodge/Creature/Boid.hs 149;" f linksGridToPath src/Dodge/Room/Path.hs 36;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f -listConfig src/Dodge/Menu.hs 235;" f -listControls src/Dodge/Menu.hs 247;" f +listConfig src/Dodge/Menu.hs 239;" f +listControls src/Dodge/Menu.hs 251;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 191;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f @@ -4089,8 +4082,8 @@ lockInv src/Dodge/Inventory/Lock.hs 9;" f lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f lockRoomMultiItems src/Dodge/LockAndKey.hs 15;" f lockedStart src/Dodge/Room/RunPast.hs 34;" f -logMenu src/Dodge/Menu.hs 128;" f -logOptions src/Dodge/Menu.hs 143;" f +logMenu src/Dodge/Menu.hs 127;" f +logOptions src/Dodge/Menu.hs 142;" f logistic src/Dodge/Base.hs 98;" f longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f longCrit src/Dodge/Creature.hs 70;" f @@ -4192,7 +4185,7 @@ 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 562;" f -maybeOpenConsole src/Dodge/Update.hs 125;" f +maybeOpenConsole src/Dodge/Update.hs 126;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f @@ -4307,7 +4300,7 @@ muzzleRandPos src/Dodge/HeldUse.hs 778;" f mvButton src/Dodge/Placement/PlaceSpot.hs 186;" f mvCr src/Dodge/Placement/PlaceSpot.hs 189;" f mvFS src/Dodge/Placement/PlaceSpot.hs 196;" f -mvGust src/Dodge/Update.hs 778;" f +mvGust src/Dodge/Update.hs 784;" f mvLS src/Dodge/Placement/PlaceSpot.hs 268;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f @@ -4365,12 +4358,12 @@ onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 94;" f -openConsole src/Dodge/Update.hs 130;" f -optionMenu src/Dodge/Menu.hs 113;" f +openConsole src/Dodge/Update.hs 131;" f +optionMenu src/Dodge/Menu.hs 112;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 43;" f optionValueOffset src/Dodge/Menu/Option.hs 86;" f -optionsOptions src/Dodge/Menu.hs 116;" f +optionsOptions src/Dodge/Menu.hs 115;" f optionsToSelections src/Dodge/Menu/Option.hs 47;" f orRegex src/Dodge/DisplayInventory.hs 81;" f orange src/Color.hs 25;" f @@ -4389,6 +4382,7 @@ outwardIntegers src/Dodge/Base.hs 181;" f overCol src/Picture/Base.hs 308;" f overColObj src/Shape.hs 273;" f overColSH src/Shape.hs 241;" f +overDebugEvent src/Dodge/Debug.hs 29;" f overLnkPosDir src/Dodge/RoomLink.hs 115;" f overLnkType src/Dodge/RoomLink.hs 105;" f overPos src/Picture/Base.hs 303;" f @@ -4420,8 +4414,8 @@ pauseGame src/Dodge/Update/Input/InGame.hs 525;" 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 181;" f -pbFlicker src/Dodge/Update.hs 463;" f +pauseTime src/Dodge/Update.hs 182;" f +pbFlicker src/Dodge/Update.hs 469;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 89;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4683,7 +4677,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 637;" f +randWallReflect src/Dodge/Update.hs 643;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 56;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f @@ -4881,8 +4875,8 @@ scrollAugInvSel src/Dodge/Inventory.hs 191;" f scrollAugNextInSection src/Dodge/Inventory.hs 204;" f scrollRBOption src/Dodge/Update/Scroll.hs 202;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f -scrollTimeBack src/Dodge/Update.hs 207;" f -scrollTimeForward src/Dodge/Update.hs 224;" f +scrollTimeBack src/Dodge/Update.hs 208;" f +scrollTimeForward src/Dodge/Update.hs 225;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 570;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 654;" f seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 666;" f @@ -4921,7 +4915,7 @@ sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f setAimPosture src/Dodge/Creature/YourControl.hs 145;" f setChannelPos src/Sound.hs 150;" f -setClickWorldPos src/Dodge/Update.hs 100;" f +setClickWorldPos src/Dodge/Update.hs 101;" f setClusterID src/Dodge/Combine/Graph.hs 116;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -4935,7 +4929,7 @@ setLinkType src/Dodge/RoomLink.hs 78;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f setMusicVolume src/Sound.hs 162;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 54;" f -setOldPos src/Dodge/Update.hs 496;" f +setOldPos src/Dodge/Update.hs 502;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -5046,7 +5040,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 855;" f +simpleCrSprings src/Dodge/Update.hs 861;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f @@ -5085,8 +5079,8 @@ soundAngle src/Dodge/SoundLogic.hs 163;" f soundContinue src/Dodge/SoundLogic.hs 131;" f soundContinueVol src/Dodge/SoundLogic.hs 145;" f soundIsClose src/Dodge/Creature/Perception.hs 184;" f -soundMenu src/Dodge/Menu.hs 161;" f -soundMenuOptions src/Dodge/Menu.hs 164;" f +soundMenu src/Dodge/Menu.hs 160;" f +soundMenuOptions src/Dodge/Menu.hs 163;" f soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f @@ -5270,7 +5264,7 @@ throwItem src/Dodge/Creature/Action.hs 212;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 192;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 168;" f +timeFlowUpdate src/Dodge/Update.hs 169;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeStopper src/Dodge/Item/Held/Utility.hs 39;" f tinMag src/Dodge/Item/Ammo.hs 28;" f @@ -5281,11 +5275,11 @@ ting4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 538;" f ting5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 574;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f -titleOptionsMenu src/Dodge/Menu.hs 107;" f -titleOptionsNoWrite src/Dodge/Menu.hs 110;" 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 -tmUpdate src/Dodge/Update.hs 480;" f +tmUpdate src/Dodge/Update.hs 486;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5411,7 +5405,7 @@ unfoldrMID src/MonadHelp.hs 33;" f unigate src/Dodge/Item/Scope.hs 102;" f unitVectorAtAngle src/Geometry/Vector.hs 101;" f unlockInv src/Dodge/Inventory/Lock.hs 12;" f -unpause src/Dodge/Menu.hs 213;" f +unpause src/Dodge/Menu.hs 212;" f unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f unsafeSwapKeys src/IntMapHelp.hs 74;" f @@ -5422,7 +5416,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f -updateAimPos src/Dodge/Update.hs 304;" f +updateAimPos src/Dodge/Update.hs 305;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5432,42 +5426,42 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f updateBounds src/Dodge/Update/Camera.hs 258;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 559;" f +updateBullets src/Dodge/Update.hs 565;" f updateCamera src/Dodge/Update/Camera.hs 30;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 792;" f -updateClouds src/Dodge/Update.hs 663;" f +updateCloud src/Dodge/Update.hs 798;" f +updateClouds src/Dodge/Update.hs 669;" 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 531;" f -updateCreatureSoundPositions src/Dodge/Update.hs 510;" f -updateDebris src/Dodge/Update.hs 566;" f +updateCreatureGroups src/Dodge/Update.hs 537;" f +updateCreatureSoundPositions src/Dodge/Update.hs 516;" f +updateDebris src/Dodge/Update.hs 572;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 94;" f -updateDelayedEvents src/Dodge/Update.hs 884;" f +updateDebugMessageOffset src/Dodge/Update.hs 95;" f +updateDelayedEvents src/Dodge/Update.hs 890;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 552;" f -updateDoor src/Dodge/Update.hs 309;" f -updateDust src/Dodge/Update.hs 816;" f -updateDusts src/Dodge/Update.hs 666;" f +updateDistortions src/Dodge/Update.hs 558;" f +updateDoor src/Dodge/Update.hs 310;" f +updateDust src/Dodge/Update.hs 822;" f +updateDusts src/Dodge/Update.hs 672;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 654;" f +updateEnergyBalls src/Dodge/Update.hs 660;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" 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 651;" f +updateFlames src/Dodge/Update.hs 657;" 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 -updateGusts src/Dodge/Update.hs 775;" f +updateGusts src/Dodge/Update.hs 781;" f updateHumanoid src/Dodge/Humanoid.hs 14;" f -updateIMl src/Dodge/Update.hs 525;" f -updateIMl' src/Dodge/Update.hs 528;" f +updateIMl src/Dodge/Update.hs 531;" f +updateIMl' src/Dodge/Update.hs 534;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f updateInt2Map src/Dodge/Zoning/Base.hs 92;" f @@ -5480,33 +5474,33 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 11;" f -updateLasers src/Dodge/Update.hs 429;" f +updateLasers src/Dodge/Update.hs 435;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 441;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 312;" f +updateMagnets src/Dodge/Update.hs 313;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 325;" f -updateMouseContextGame src/Dodge/Update.hs 330;" f +updateMouseContext src/Dodge/Update.hs 326;" f +updateMouseContextGame src/Dodge/Update.hs 331;" 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 543;" f -updateObjMapMaybe src/Dodge/Update.hs 536;" f -updatePastWorlds src/Dodge/Update.hs 418;" f +updateObjCatMaybes src/Dodge/Update.hs 549;" f +updateObjMapMaybe src/Dodge/Update.hs 542;" f +updatePastWorlds src/Dodge/Update.hs 424;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 146;" f -updatePulseBall src/Dodge/Update.hs 443;" f -updatePulseLaser src/Dodge/Update.hs 606;" f -updatePulseLasers src/Dodge/Update.hs 438;" f +updatePulseBall src/Dodge/Update.hs 449;" f +updatePulseLaser src/Dodge/Update.hs 612;" f +updatePulseLasers src/Dodge/Update.hs 444;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 555;" f +updateRadarBlips src/Dodge/Update.hs 561;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 657;" f +updateRadarSweeps src/Dodge/Update.hs 663;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 109;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5516,29 +5510,29 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 258;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 648;" f +updateShockwaves src/Dodge/Update.hs 654;" 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 660;" f -updateTeslaArc src/Dodge/Update.hs 576;" f -updateTeslaArcs src/Dodge/Update.hs 573;" f +updateSparks src/Dodge/Update.hs 666;" f +updateTeslaArc src/Dodge/Update.hs 582;" f +updateTeslaArcs src/Dodge/Update.hs 579;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 645;" f +updateTractorBeams src/Dodge/Update.hs 651;" f updateTurret src/Dodge/Machine/Update.hs 49;" f -updateUniverse src/Dodge/Update.hs 73;" f -updateUniverseFirst src/Dodge/Update.hs 84;" f -updateUniverseLast src/Dodge/Update.hs 135;" f -updateUniverseMid src/Dodge/Update.hs 155;" 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 updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 408;" f -updateWorldEventFlag src/Dodge/Update.hs 119;" f -updateWorldEventFlags src/Dodge/Update.hs 107;" f +updateWheelEvents src/Dodge/Update.hs 414;" f +updateWorldEventFlag src/Dodge/Update.hs 120;" f +updateWorldEventFlags src/Dodge/Update.hs 108;" f upperBody src/Dodge/Creature/Picture.hs 120;" f upperBox src/Shape.hs 156;" f upperBoxHalf src/Shape.hs 222;" f @@ -5681,7 +5675,7 @@ wpAdd src/Dodge/Room/RezBox.hs 148;" f wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f wristArmour src/Dodge/Item/Equipment.hs 43;" f wristInvisibility src/Dodge/Item/Equipment.hs 96;" f -writeConfig src/Dodge/Menu.hs 183;" f +writeConfig src/Dodge/Menu.hs 182;" f writeSaveSlot src/Dodge/Save.hs 34;" f xCylinder src/Shape.hs 137;" f xCylinderST src/Shape.hs 134;" f @@ -5711,11 +5705,11 @@ zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zipCountDown src/Dodge/Room/Procedural.hs 121;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 470;" f +zoneClouds src/Dodge/Update.hs 476;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f -zoneCreatures src/Dodge/Update.hs 506;" f +zoneCreatures src/Dodge/Update.hs 512;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 474;" f +zoneDusts src/Dodge/Update.hs 480;" f zoneExtract src/Dodge/Zoning/Base.hs 52;" f zoneMonoid src/Dodge/Zoning/Base.hs 83;" f zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f