diff --git a/src/Dodge/Data/Config.hs b/src/Dodge/Data/Config.hs index f21a4f5dd..becdcc24b 100644 --- a/src/Dodge/Data/Config.hs +++ b/src/Dodge/Data/Config.hs @@ -48,9 +48,9 @@ data Config = Config , _graphics_world_resolution :: ResFactor , _graphics_distortion_resolution :: ResFactor , _graphics_num_shadow_casters :: NumShadowCasters - , _windowX :: Int + , _windowX :: Int --size , _windowY :: Int - , _windowPosX :: Int + , _windowPosX :: Int --position in os , _windowPosY :: Int , _gameplay_rotate_to_wall :: Bool , _debug_view_clip_bounds :: RoomClipping diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index c752a679a..4ac70eaee 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -5,6 +5,7 @@ module Dodge.Data.Input where +import Dodge.Data.Config import Dodge.Data.Terminal.Status import Control.Lens import qualified Data.Map.Strict as M @@ -28,6 +29,7 @@ data MouseContext | OverTerminal {_mcoTermID :: Int, _mcoTermStatus :: TerminalStatus} | OutsideTerminal | MouseGameRotate + | OverDebug {_mcoDBBool :: DebugBool, _mcoDBInt :: Int} deriving (Show) data Input = Input diff --git a/src/Dodge/Debug.hs b/src/Dodge/Debug.hs index 6dbaf6e9f..e573318bd 100644 --- a/src/Dodge/Debug.hs +++ b/src/Dodge/Debug.hs @@ -18,11 +18,18 @@ import ShortShow debugEvents :: Universe -> Universe debugEvents u = case dbools ^. at Display_debug of - Nothing -> u + Nothing -> u & uvDebug .~ mempty Just () -> S.foldr debugEvent (u & uvDebug .~ mempty) dbools + & overDebugEvent where dbools = u ^. uvConfig . debug_booleans +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 + debugEvent :: DebugBool -> Universe -> Universe debugEvent db u = u & uvDebug . at db .~ debugItem db u @@ -50,12 +57,17 @@ debugItem = \case Inspect_wall -> mempty Cr_awareness -> mempty Show_sound -> mempty - Cr_status -> Just . drawCrInfo + Cr_status -> drawCrInfo' Mouse_position -> mempty Walls_info -> mempty Pathing -> mempty Show_path_between -> mempty +drawCrInfo' :: Universe -> Maybe [DebugItem] +drawCrInfo' u = case drawCrInfo u of + [] -> Nothing + xs -> Just xs + drawCrInfo :: Universe -> [DebugItem] drawCrInfo u = foldMap f . IM.elems $ w ^. cWorld . lWorld . creatures where diff --git a/src/Dodge/Menu.hs b/src/Dodge/Menu.hs index e06c627ac..ccfb014cd 100644 --- a/src/Dodge/Menu.hs +++ b/src/Dodge/Menu.hs @@ -4,14 +4,13 @@ module Dodge.Menu ( splashMenu, ) where -import Dodge.Combine.Graph -import System.Directory -import qualified Data.Text.IO as TIO import Control.Monad import qualified Data.Aeson.Encode.Pretty as AEP import Data.ByteString.Lazy.Char8 (unpack) import Data.Maybe +import qualified Data.Text.IO as TIO import Dodge.Base.Coordinate +import Dodge.Combine.Graph import Dodge.Concurrent import Dodge.Config import Dodge.Data.Universe @@ -28,6 +27,7 @@ import Padding import Preload.Update import qualified SDL import System.Clipboard +import System.Directory import Text.Read splashMenu :: Universe -> ScreenLayer @@ -96,13 +96,12 @@ seedStartOptions = trySeedFromClipboard :: Universe -> IO Universe trySeedFromClipboard u = do mcstr <- getClipboardString - case mcstr >>= readMaybe of + return $ case mcstr >>= readMaybe of Nothing -> - return $ - pushScreen - (seedStartMenu "CLIPBOARD UNUSABLE, NEED INTEGER") - (u & uvScreenLayers %~ tail) - Just i -> return $ startSeedGame 0 i u + pushScreen + (seedStartMenu "CLIPBOARD UNUSABLE, NEED INTEGER") + (u & uvScreenLayers %~ tail) + Just i -> startSeedGame 0 i u titleOptionsMenu :: String -> [MenuOption] -> Universe -> ScreenLayer titleOptionsMenu = initializeOptionMenuBO "BACK" (popScreen . writeConfig) @@ -141,8 +140,9 @@ debugMenuOptions = g bd _ = (show bd, "True") logOptions :: [MenuOption] -logOptions = - [ Toggle (uvIOEffects %~ \f u -> generateGraphs >> f u) +logOptions = + [ Toggle + (uvIOEffects %~ \f u -> generateGraphs >> f u) (const $ MODString "Create item combination graph") ] @@ -151,7 +151,6 @@ generateGraphs = do createDirectoryIfMissing True "generated/graph" TIO.writeFile "generated/graph/itemCombinations.gv" combinationsDotGraph - gameplayMenu :: Universe -> ScreenLayer gameplayMenu = titleOptionsMenu "OPTIONS:GAMEPLAY" gameplayMenuOptions @@ -229,8 +228,13 @@ unpause u' = -- note that this won't update after it is first loaded displayConfig :: Universe -> ScreenLayer -displayConfig u = titleOptionsNoWrite "CONFIG" (map (Toggle id . const . MODString) - $ listConfig u) u +displayConfig u = + titleOptionsNoWrite + "CONFIG" + ( map (Toggle id . const . MODString) $ + listConfig u + ) + u listConfig :: Universe -> [String] listConfig = diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 2ebcc29d4..7bba57eef 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -118,6 +118,8 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of OverTerminal _ ts -> drawCursorByTerminalStatus ts OutsideTerminal -> rotate (pi / 4) $ drawPlus 5 MouseGameRotate -> rotate a (drawVerticalDoubleArrow 5) + OverDebug {} -> drawPlus 5 <> rotate (pi/4) (drawPlus 5) + --OverDebug db i -> scale 0.1 0.1 $ text (show db ++ show i) where w = u ^. uvWorld selsec = u ^? uvWorld . hud . diSelection . _Just . slSec diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 4b839a672..790529fa0 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -1,7 +1,9 @@ {-# LANGUAGE LambdaCase #-} +{-# LANGUAGE TupleSections #-} module Dodge.Update (updateUniverse) where +import qualified Data.Set as S import Color import Control.Applicative import Control.Monad @@ -340,6 +342,7 @@ updateMouseContextGame cfig u = \case return MouseGameRotate aimcontext | ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming + | Display_debug `S.member` (cfig ^. debug_booleans) = getDebugMouseOver u | otherwise = MouseInGame mpos = w ^. input . mousePos disss = w ^. hud . diSections @@ -370,6 +373,18 @@ updateMouseContextGame cfig u = \case then OverTerminal tmid (tm ^. tmStatus) else OutsideTerminal +getDebugMouseOver :: Universe -> MouseContext +getDebugMouseOver u = fromMaybe MouseInGame $ do + guard $ x >0 && x < 100 + (db,j) <- m ^? ix i + return $ OverDebug db j + where + f (a,as) = (a,) <$> [0..length as - 1] + m = foldMap f . M.toList $ u ^. uvDebug + i = floor (y /20) + y = halfHeight (u^.uvConfig) - y' + V2 x y' = u^.uvWorld.input.mousePos + getMenuMouseContext :: ScreenLayer -> Universe -> MouseContext getMenuMouseContext screen u = case screen ^. scOptions of [] -> NoMouseContext diff --git a/tags b/tags index a63a1974e..afa69922e 100644 --- a/tags +++ b/tags @@ -596,7 +596,7 @@ 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 33;" t +Input src/Dodge/Data/Input.hs 34;" t InputScreen src/Dodge/Data/Universe.hs 91;" C Inspect_wall src/Dodge/Data/Config.hs 92;" C Institution src/Dodge/Data/Scenario.hs 42;" t @@ -962,6 +962,7 @@ 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 @@ -1321,15 +1322,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 54;" C -TSdelete src/Dodge/Data/Input.hs 55;" C -TSdown src/Dodge/Data/Input.hs 60;" C -TSescape src/Dodge/Data/Input.hs 52;" C -TSleft src/Dodge/Data/Input.hs 57;" C -TSreturn src/Dodge/Data/Input.hs 53;" C -TSright src/Dodge/Data/Input.hs 58;" C -TStab src/Dodge/Data/Input.hs 56;" C -TSup src/Dodge/Data/Input.hs 59;" C +TSbackspace src/Dodge/Data/Input.hs 55;" C +TSdelete src/Dodge/Data/Input.hs 56;" C +TSdown src/Dodge/Data/Input.hs 61;" C +TSescape src/Dodge/Data/Input.hs 53;" C +TSleft src/Dodge/Data/Input.hs 58;" C +TSreturn src/Dodge/Data/Input.hs 54;" C +TSright src/Dodge/Data/Input.hs 59;" C +TStab src/Dodge/Data/Input.hs 57;" C +TSup src/Dodge/Data/Input.hs 60;" C TUBE src/Dodge/Data/Item/Combine.hs 52;" C Tap src/Dodge/Data/SoundOrigin.hs 40;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 14;" C @@ -1338,7 +1339,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 51;" t +TermSignal src/Dodge/Data/Input.hs 52;" 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 @@ -1677,8 +1678,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 42;" f -_clickWorldPos src/Dodge/Data/Input.hs 44;" f +_clickPos src/Dodge/Data/Input.hs 43;" f +_clickWorldPos src/Dodge/Data/Input.hs 45;" 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 @@ -1899,8 +1900,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 43;" f -_heldWorldPos src/Dodge/Data/Input.hs 45;" f +_heldPos src/Dodge/Data/Input.hs 44;" f +_heldWorldPos src/Dodge/Data/Input.hs 46;" 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 @@ -2058,11 +2059,11 @@ _moString src/Dodge/Data/Universe.hs 106;" f _modOption src/Dodge/Data/Universe.hs 96;" f _modString src/Dodge/Data/Universe.hs 94;" f _modifications src/Dodge/Data/LWorld.hs 130;" f -_mouseButtons src/Dodge/Data/Input.hs 38;" f -_mouseButtonsReleased src/Dodge/Data/Input.hs 39;" f -_mouseContext src/Dodge/Data/Input.hs 35;" f -_mouseMoving src/Dodge/Data/Input.hs 36;" f -_mousePos src/Dodge/Data/Input.hs 34;" f +_mouseButtons src/Dodge/Data/Input.hs 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 _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,7 +2163,7 @@ _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 37;" f +_pressedKeys src/Dodge/Data/Input.hs 38;" 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 @@ -2278,14 +2279,14 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 85;" f _scSelectionList src/Dodge/Data/Universe.hs 87;" f _scTitle src/Dodge/Data/Universe.hs 82;" f _screenTextureVAO src/Data/Preload/Render.hs 52;" f -_scrollAmount src/Dodge/Data/Input.hs 40;" f +_scrollAmount src/Dodge/Data/Input.hs 41;" 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 47;" f -_scrollTestInt src/Dodge/Data/Input.hs 48;" f +_scrollTestFloat src/Dodge/Data/Input.hs 48;" f +_scrollTestInt src/Dodge/Data/Input.hs 49;" 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 @@ -2330,7 +2331,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 41;" f +_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f _soundAngDist src/Sound/Data.hs 49;" f _soundChannel src/Sound/Data.hs 48;" f _soundChunkID src/Sound/Data.hs 53;" f @@ -2382,7 +2383,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 46;" f +_textInput src/Dodge/Data/Input.hs 47;" f _textureObject src/Shader/Data.hs 95;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f _tileArrayZ src/Data/Tile.hs 24;" f @@ -2586,10 +2587,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 404;" f +advanceScrollAmount src/Dodge/Update.hs 413;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f -aimDelaySweep src/Dodge/Render/Picture.hs 285;" f +aimDelaySweep src/Dodge/Render/Picture.hs 286;" 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 @@ -2838,13 +2839,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 753;" f +checkEndGame src/Dodge/Update.hs 762;" 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 316;" f +checkTermDist src/Dodge/Update.hs 317;" 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 @@ -2869,7 +2870,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 826;" f +clClSpringVel src/Dodge/Update.hs 835;" 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 @@ -2896,7 +2897,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 778;" f +cloudEffect src/Dodge/Update.hs 787;" 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 @@ -2974,7 +2975,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 855;" f +crCrSpring src/Dodge/Update.hs 864;" 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 @@ -3003,7 +3004,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 852;" f +crSpring src/Dodge/Update.hs 861;" 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 @@ -3214,7 +3215,7 @@ 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 468;" f +displayTerminalLineString src/Dodge/Update.hs 477;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -3264,7 +3265,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 191;" f +doItemTimeScroll src/Dodge/Update.hs 192;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 58;" f doMP2Ac src/Dodge/CreatureEffect.hs 75;" f @@ -3289,7 +3290,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 196;" f +doTimeScroll src/Dodge/Update.hs 197;" f doTmWdWd src/Dodge/WorldEffect.hs 89;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f doWdBl src/Dodge/WorldBool.hs 10;" f @@ -3297,7 +3298,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 413;" f +doWorldEvents src/Dodge/Update.hs 422;" 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 @@ -3316,10 +3317,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 292;" f +drawAimSweep src/Dodge/Render/Picture.hs 293;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f -drawArrowDown src/Dodge/Render/Picture.hs 219;" f +drawAnySelectionBox src/Dodge/Render/Picture.hs 131;" f +drawArrowDown src/Dodge/Render/Picture.hs 220;" f drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f @@ -3332,7 +3333,7 @@ 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 267;" f +drawCombFilter src/Dodge/Render/Picture.hs 268;" 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 @@ -3342,19 +3343,19 @@ 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 137;" f +drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 138;" f drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f drawDebug src/Dodge/Debug.hs 87;" f drawDoorPaths src/Dodge/Debug/Picture.hs 253;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f -drawDrag src/Dodge/Render/Picture.hs 198;" f -drawDragDrop src/Dodge/Render/Picture.hs 227;" f -drawDragPickup src/Dodge/Render/Picture.hs 236;" f -drawDragSelect src/Dodge/Render/Picture.hs 195;" 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 drawDragSelected src/Dodge/Render/HUD.hs 136;" f drawDragSelecting src/Dodge/Render/HUD.hs 153;" f -drawEmptySet src/Dodge/Render/Picture.hs 151;" f +drawEmptySet src/Dodge/Render/Picture.hs 152;" 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 @@ -3363,7 +3364,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 278;" f +drawGapPlus src/Dodge/Render/Picture.hs 279;" 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 @@ -3372,7 +3373,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 190;" f +drawJumpDown src/Dodge/Render/Picture.hs 191;" 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 @@ -3386,8 +3387,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 166;" f -drawMenuCursor src/Dodge/Render/Picture.hs 178;" f +drawMenuClick src/Dodge/Render/Picture.hs 167;" f +drawMenuCursor src/Dodge/Render/Picture.hs 179;" 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 @@ -3399,21 +3400,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 163;" f +drawPlus src/Dodge/Render/Picture.hs 164;" 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 145;" f +drawQuitTerminal src/Dodge/Render/Picture.hs 146;" 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 154;" f +drawReturn src/Dodge/Render/Picture.hs 155;" 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 255;" f +drawSelect src/Dodge/Render/Picture.hs 256;" 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 @@ -3435,7 +3436,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 210;" f +drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 211;" 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 @@ -3472,7 +3473,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 837;" f +dustSpringVel src/Dodge/Update.hs 846;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f @@ -3622,7 +3623,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 239;" f +functionalUpdate src/Dodge/Update.hs 240;" 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 @@ -3660,6 +3661,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 getDistortions src/Dodge/Render.hs 435;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f @@ -3669,7 +3671,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 373;" f +getMenuMouseContext src/Dodge/Update.hs 382;" f getNodePos src/Dodge/Path.hs 30;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f @@ -3903,7 +3905,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 384;" f +isOverTerminalScreen src/Dodge/Update.hs 393;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 32;" f @@ -4190,7 +4192,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 124;" f +maybeOpenConsole src/Dodge/Update.hs 125;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f @@ -4305,7 +4307,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 769;" f +mvGust src/Dodge/Update.hs 778;" f mvLS src/Dodge/Placement/PlaceSpot.hs 268;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f @@ -4363,7 +4365,7 @@ 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 129;" f +openConsole src/Dodge/Update.hs 130;" f optionMenu src/Dodge/Menu.hs 113;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 43;" f @@ -4418,8 +4420,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 180;" f -pbFlicker src/Dodge/Update.hs 454;" f +pauseTime src/Dodge/Update.hs 181;" f +pbFlicker src/Dodge/Update.hs 463;" 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 @@ -4681,7 +4683,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 628;" f +randWallReflect src/Dodge/Update.hs 637;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 56;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f @@ -4879,8 +4881,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 206;" f -scrollTimeForward src/Dodge/Update.hs 223;" f +scrollTimeBack src/Dodge/Update.hs 207;" f +scrollTimeForward src/Dodge/Update.hs 224;" 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 @@ -4919,7 +4921,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 99;" f +setClickWorldPos src/Dodge/Update.hs 100;" f setClusterID src/Dodge/Combine/Graph.hs 116;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -4933,7 +4935,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 487;" f +setOldPos src/Dodge/Update.hs 496;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -5044,7 +5046,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 846;" f +simpleCrSprings src/Dodge/Update.hs 855;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f @@ -5268,7 +5270,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 167;" f +timeFlowUpdate src/Dodge/Update.hs 168;" 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 @@ -5283,7 +5285,7 @@ titleOptionsMenu src/Dodge/Menu.hs 107;" f titleOptionsNoWrite src/Dodge/Menu.hs 110;" f tlDoEffect src/Dodge/Terminal.hs 102;" f tlSetStatus src/Dodge/Terminal.hs 99;" f -tmUpdate src/Dodge/Update.hs 471;" f +tmUpdate src/Dodge/Update.hs 480;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5420,7 +5422,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 303;" f +updateAimPos src/Dodge/Update.hs 304;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5430,42 +5432,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 550;" f +updateBullets src/Dodge/Update.hs 559;" f updateCamera src/Dodge/Update/Camera.hs 30;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 783;" f -updateClouds src/Dodge/Update.hs 654;" f +updateCloud src/Dodge/Update.hs 792;" f +updateClouds src/Dodge/Update.hs 663;" 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 522;" f -updateCreatureSoundPositions src/Dodge/Update.hs 501;" f -updateDebris src/Dodge/Update.hs 557;" f +updateCreatureGroups src/Dodge/Update.hs 531;" f +updateCreatureSoundPositions src/Dodge/Update.hs 510;" f +updateDebris src/Dodge/Update.hs 566;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 93;" f -updateDelayedEvents src/Dodge/Update.hs 875;" f +updateDebugMessageOffset src/Dodge/Update.hs 94;" f +updateDelayedEvents src/Dodge/Update.hs 884;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 543;" f -updateDoor src/Dodge/Update.hs 308;" f -updateDust src/Dodge/Update.hs 807;" f -updateDusts src/Dodge/Update.hs 657;" 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 updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 645;" f +updateEnergyBalls src/Dodge/Update.hs 654;" 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 642;" f +updateFlames src/Dodge/Update.hs 651;" 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 766;" f +updateGusts src/Dodge/Update.hs 775;" f updateHumanoid src/Dodge/Humanoid.hs 14;" f -updateIMl src/Dodge/Update.hs 516;" f -updateIMl' src/Dodge/Update.hs 519;" f +updateIMl src/Dodge/Update.hs 525;" f +updateIMl' src/Dodge/Update.hs 528;" 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 @@ -5478,33 +5480,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 420;" f +updateLasers src/Dodge/Update.hs 429;" 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 311;" f +updateMagnets src/Dodge/Update.hs 312;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 324;" f -updateMouseContextGame src/Dodge/Update.hs 329;" f +updateMouseContext src/Dodge/Update.hs 325;" f +updateMouseContextGame src/Dodge/Update.hs 330;" 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 534;" f -updateObjMapMaybe src/Dodge/Update.hs 527;" f -updatePastWorlds src/Dodge/Update.hs 409;" f +updateObjCatMaybes src/Dodge/Update.hs 543;" f +updateObjMapMaybe src/Dodge/Update.hs 536;" f +updatePastWorlds src/Dodge/Update.hs 418;" 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 434;" f -updatePulseLaser src/Dodge/Update.hs 597;" f -updatePulseLasers src/Dodge/Update.hs 429;" f +updatePulseBall src/Dodge/Update.hs 443;" f +updatePulseLaser src/Dodge/Update.hs 606;" f +updatePulseLasers src/Dodge/Update.hs 438;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 546;" f +updateRadarBlips src/Dodge/Update.hs 555;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 648;" f +updateRadarSweeps src/Dodge/Update.hs 657;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 109;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5514,29 +5516,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 639;" f +updateShockwaves src/Dodge/Update.hs 648;" 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 651;" f -updateTeslaArc src/Dodge/Update.hs 567;" f -updateTeslaArcs src/Dodge/Update.hs 564;" f +updateSparks src/Dodge/Update.hs 660;" f +updateTeslaArc src/Dodge/Update.hs 576;" f +updateTeslaArcs src/Dodge/Update.hs 573;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 636;" f +updateTractorBeams src/Dodge/Update.hs 645;" f updateTurret src/Dodge/Machine/Update.hs 49;" f -updateUniverse src/Dodge/Update.hs 72;" f -updateUniverseFirst src/Dodge/Update.hs 83;" f -updateUniverseLast src/Dodge/Update.hs 134;" f -updateUniverseMid src/Dodge/Update.hs 154;" 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 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 399;" f -updateWorldEventFlag src/Dodge/Update.hs 118;" f -updateWorldEventFlags src/Dodge/Update.hs 106;" f +updateWheelEvents src/Dodge/Update.hs 408;" f +updateWorldEventFlag src/Dodge/Update.hs 119;" f +updateWorldEventFlags src/Dodge/Update.hs 107;" f upperBody src/Dodge/Creature/Picture.hs 120;" f upperBox src/Shape.hs 156;" f upperBoxHalf src/Shape.hs 222;" f @@ -5709,11 +5711,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 461;" f +zoneClouds src/Dodge/Update.hs 470;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f -zoneCreatures src/Dodge/Update.hs 497;" f +zoneCreatures src/Dodge/Update.hs 506;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 465;" f +zoneDusts src/Dodge/Update.hs 474;" 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