From 04a83ed0312129c5f2bc1188a86be8426bfc7177 Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 25 Dec 2024 00:10:26 +0000 Subject: [PATCH] Fix error in circle wall collision detection The wall zoning did not take into account the radius of the circle --- appDodge/Main.hs | 2 + data/dodge.config.json | 3 +- src/Dodge/Base/Collide.hs | 21 +- src/Dodge/Data/Config.hs | 2 + src/Dodge/Data/Universe.hs | 2 + src/Dodge/Debug.hs | 32 +- src/Dodge/Debug/Picture.hs | 38 +- src/Dodge/TestString.hs | 4 +- src/Dodge/Update/Input/InGame.hs | 4 + tags | 951 ++++++++++++++++--------------- 10 files changed, 571 insertions(+), 488 deletions(-) diff --git a/appDodge/Main.hs b/appDodge/Main.hs index aa04bbbf1..dc34cb46a 100644 --- a/appDodge/Main.hs +++ b/appDodge/Main.hs @@ -96,6 +96,8 @@ firstWorldLoad theConfig = do , _uvFrameTicks = 0 , _uvRAMSave = Nothing , _uvDebug = mempty + , _uvDebugFloat1 = 10 + , _uvDebugFloat2 = 0 , _uvDebugMessageOffset = 0 } return $ u & uvScreenLayers .~ [splashMenu u] diff --git a/data/dodge.config.json b/data/dodge.config.json index 0f99e2a23..d5e23689f 100644 --- a/data/dodge.config.json +++ b/data/dodge.config.json @@ -2,7 +2,8 @@ "_debug_booleans": [ "Show_ms_frame", "Enable_debug", - "Collision_test" + "Circ_collision_test", + "Show_walls_near_segment" ], "_debug_view_clip_bounds": "NoRoomClipBoundaries", "_gameplay_rotate_to_wall": true, diff --git a/src/Dodge/Base/Collide.hs b/src/Dodge/Base/Collide.hs index 106e21f89..b898215c8 100644 --- a/src/Dodge/Base/Collide.hs +++ b/src/Dodge/Base/Collide.hs @@ -35,6 +35,7 @@ module Dodge.Base.Collide ( anythingHitCirc, ) where +--import qualified Data.IntMap.Strict as IM import Control.Lens import qualified Data.IntSet as IS import Data.List (sortOn) @@ -152,13 +153,12 @@ collideCircWalls sp ep rad = foldl' findPoint (ep, Nothing) where findPoint (p, mwl) wl = maybe (p, mwl) (,Just wl) . uncurry (intersectSegSeg sp p) - . shiftbyrad - . _wlLine - $ wl - shiftbyrad (a, b) = - bimap - f - f + . shiftbyrad . _wlLine $ wl +-- shiftbyrad (a, b) = +-- ( a +.+ rad *.* normalizeV (a -.- b) +-- , b +.+ rad *.* normalizeV (b -.- a) +-- ) + shiftbyrad (a, b) = bimap f f ( a +.+ rad *.* normalizeV (a -.- b) , b +.+ rad *.* normalizeV (b -.- a) ) @@ -243,13 +243,16 @@ canSeeIndirect i j w = hasLOSIndirect ipos jpos w anythingHitCirc :: Float -> Point2 -> Point2 -> World -> Bool anythingHitCirc rad sp ep w = hitCr || isJust (sequence hitWl) where - hitCr = IS.foldr f False $ crixsNearSeg sp ep w + x = rad *.* normalizeV (ep - sp) + xsp = sp - x + xep = ep + x + hitCr = IS.foldr f False $ crixsNearSeg xsp xep w f cid bl = maybe False (\cr -> null $ intersectCircSeg (_crPos cr) (rad + _crRad cr) sp ep) (w ^? cWorld . lWorld . creatures . ix cid) || bl - hitWl = collideCircWalls sp ep rad $ wlsNearSeg sp ep w + hitWl = collideCircWalls sp ep rad $ wlsNearSeg xsp xep w -- this should probably be wallsOnLine or something diff --git a/src/Dodge/Data/Config.hs b/src/Dodge/Data/Config.hs index c590f6c81..7aa97d98e 100644 --- a/src/Dodge/Data/Config.hs +++ b/src/Dodge/Data/Config.hs @@ -82,9 +82,11 @@ data DebugBool | Show_wall_search_rays | Show_dda_test | Collision_test + | Circ_collision_test | Show_far_wall_detect | Show_walls_near_point_cursor | Show_walls_near_point_you + | Show_walls_near_segment | Show_zone_near_point_cursor | Inspect_wall | Show_nodes_near_select diff --git a/src/Dodge/Data/Universe.hs b/src/Dodge/Data/Universe.hs index b3563e3e0..0db0f719b 100644 --- a/src/Dodge/Data/Universe.hs +++ b/src/Dodge/Data/Universe.hs @@ -41,6 +41,8 @@ data Universe = Universe , _uvFrameTicks :: Word32 , _uvRAMSave :: Maybe World , _uvDebug :: M.Map DebugBool DebugItem + , _uvDebugFloat1 :: Float + , _uvDebugFloat2 :: Float , _uvDebugMessageOffset :: Int } diff --git a/src/Dodge/Debug.hs b/src/Dodge/Debug.hs index 5840dfc71..76aefe0d9 100644 --- a/src/Dodge/Debug.hs +++ b/src/Dodge/Debug.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE LambdaCase #-} module Dodge.Debug where import Data.Aeson.Types @@ -23,10 +24,25 @@ debugEvents u = case dbools ^. at Enable_debug of dbools = u ^. uvConfig . debug_booleans debugEvent :: DebugBool -> Universe -> Universe -debugEvent db u = case db of - Collision_test -> u & uvDebug . at Collision_test ?~ collisionDebugItem u - Select_creature -> u & uvDebug . at Select_creature ?~ selectCreatureDebugItem u - _ -> u +debugEvent db u = u & uvDebug . at db .~ debugEvent' u db +-- case db of +-- Collision_test -> u & uvDebug . at Collision_test ?~ collisionDebugItem u +-- Circ_collision_test -> u & uvDebug . at Circ_collision_test ?~ circCollisionDebugItem u +-- Select_creature -> u & uvDebug . at Select_creature ?~ selectCreatureDebugItem u +-- _ -> u + +debugEvent' :: Universe -> DebugBool -> Maybe DebugItem +debugEvent' u = \case + Collision_test -> Just $ collisionDebugItem u + Circ_collision_test -> Just $ circCollisionDebugItem u + Select_creature -> Just $ selectCreatureDebugItem u + Show_walls_near_point_cursor -> Just + (DebugItem (const $ drawWallsNearCursor w) (const mempty) NoDebugInfo) + Show_walls_near_segment -> Just + (DebugItem (const $ drawWallsNearSegment w) (const mempty) NoDebugInfo) + _ -> Nothing + where + w = u ^. uvWorld collisionDebugItem :: Universe -> DebugItem collisionDebugItem u = @@ -44,6 +60,14 @@ selectCreatureDebugItem u = , _debugInfo = scrollDebugInfoInt (length $ debugSelectCreatureList 0 u) u $ clickGetCreature u } +circCollisionDebugItem :: Universe -> DebugItem +circCollisionDebugItem _ = + DebugItem + { _debugPic = drawCircCollisionTest . (^. uvWorld) + , _debugMessage = const [] + , _debugInfo = NoDebugInfo + } + scrollDebugInfoInt :: Int -> Universe -> DebugInfo -> DebugInfo scrollDebugInfoInt i u | SDL.ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys) = diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index 9e0fca199..39078e3ff 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -108,6 +108,27 @@ drawCollisionTest w = concat $ do setLayer DebugLayer (color orange $ line [a, b]) <> foldMap (drawCrossCol red . fst) (thingHit a b w) +drawCircCollisionTest :: World -> Picture +drawCircCollisionTest w = concat $ do + a <- w ^. input . heldWorldPos . at ButtonLeft + b <- w ^. input . heldWorldPos . at ButtonRight + let col | (anythingHitCirc 2 a b w) = red + | otherwise = green + return $ + setLayer DebugLayer (color col $ line [a, b]) + <> drawCoord a w <> drawCoord b w + +drawWallsNearSegment :: World -> Picture +drawWallsNearSegment w = concat $ do + a <- w ^. input . heldWorldPos . at ButtonLeft + b <- w ^. input . heldWorldPos . at ButtonRight + return . foldMap f $ wlsNearSeg a b w + where + f wl = setLayer DebugLayer (color rose $ thickLine 3 [a, b]) + <> drawCoord a w <> drawCoord b w + where + (a, b) = _wlLine wl + -- <> foldMap (drawCross . _crPos) (crsNearSeg a b w) -- <> foldMap (drawZoneCol green crZoneSize . zoneOfPoint crZoneSize) (xIntercepts crZoneSize a b) -- <> foldMap (drawZoneCol yellow crZoneSize . zoneOfPoint crZoneSize) (yIntercepts' crZoneSize a b) @@ -147,7 +168,8 @@ debugDraw' cfig w bl = case bl of Show_wall_search_rays -> drawWallSearchRays w Show_dda_test -> drawDDATest w Show_far_wall_detect -> drawFarWallDetect w - Show_walls_near_point_cursor -> drawWallsNearCursor w + Show_walls_near_point_cursor -> mempty + Show_walls_near_segment -> mempty Show_walls_near_point_you -> drawWallsNearYou w Show_zone_near_point_cursor -> drawZoneNearPointCursor w Inspect_wall -> drawInspectWalls w @@ -160,6 +182,7 @@ debugDraw' cfig w bl = case bl of Show_nodes_near_select -> undefined --drawNodesNearSelect w Show_path_between -> drawPathBetween w Collision_test -> mempty + Circ_collision_test -> mempty Select_creature -> mempty drawCreatureDisplayTexts :: World -> Picture @@ -188,9 +211,10 @@ drawWallsNearYou w = concat $ do drawWallsNearCursor :: World -> Picture drawWallsNearCursor w = - setLayer DebugLayer $ foldMap f $ wlsNearPoint (mouseWorldPos (_input w) (_wCam w)) w + foldMap f $ wlsNearPoint (mouseWorldPos (_input w) (_wCam w)) w where - f wl = color rose $ thickLine 3 [a, b] + f wl = setLayer DebugLayer (color rose $ thickLine 3 [a, b]) + <> drawCoord a w <> drawCoord b w where (a, b) = _wlLine wl @@ -326,6 +350,14 @@ drawMousePosition w = where mwp = mouseWorldPos (w ^. input) (w ^. wCam) +drawCoord :: Point2 -> World -> Picture +drawCoord p w = + setLayer FixedCoordLayer + . uncurryV translate (worldPosToScreen (w ^. wCam) p) + . scale 0.1 0.1 + . text + $ shortPoint2 p + drawWlIDs :: World -> Picture drawWlIDs w = setLayer FixedCoordLayer $ foldMap f (w ^. cWorld . lWorld . walls) where diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index f5c7e422c..ca63e28a7 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -26,7 +26,9 @@ import qualified IntMapHelp as IM import qualified Data.Map.Strict as M testStringInit :: Universe -> [String] -testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles +testStringInit u = [show $ u ^. uvDebugFloat1 + , show $ u ^. uvWorld . input . heldWorldPos . at SDL.ButtonRight] +--testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles -- (map (show . _ebPos) $ u ^. uvWorld . cWorld . lWorld . energyBalls) -- <> -- (foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . bullets) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 0a18ad4fa..8d7ce8cd1 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -4,6 +4,7 @@ module Dodge.Update.Input.InGame ( updateMouseInGame, ) where +import Dodge.Update.Input.DebugTest import Dodge.Item.InvSize import Data.Monoid import NewInt @@ -351,6 +352,8 @@ updateFunctionKey uv sc InitialPress = case sc of ScancodeF9 -> doQuickload uv ScancodeEscape -> pauseGame uv _ -> uv +updateFunctionKey uv ScancodeF3 _ = doDebugTest uv +updateFunctionKey uv ScancodeF4 _ = doDebugTest2 uv updateFunctionKey uv _ _ = uv updatePressedButtonsCarte :: World -> World @@ -585,3 +588,4 @@ maybeExitCombine w | ButtonRight `M.member` (w ^. input . mouseButtons) = w | otherwise = w & hud . hudElement . subInventory .~ NoSubInventory + diff --git a/tags b/tags index b6c549628..a95d7d3cb 100644 --- a/tags +++ b/tags @@ -19,21 +19,21 @@ <$> src/Dodge/Data/Creature.hs 91;" o <$> src/Dodge/Data/LWorld.hs 159;" o <$> src/Dodge/Data/Terminal.hs 131;" o -AIUNIT src/Dodge/Data/Item/Combine.hs 51;" C -ALTERIFLE src/Dodge/Data/Item/Combine.hs 130;" C -AMMOMAG src/Dodge/Data/Item/Combine.hs 21;" C -AMR src/Dodge/Data/Item/Combine.hs 135;" C -ANTIMATTER src/Dodge/Data/Item/Combine.hs 45;" C +AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C +ALTERIFLE src/Dodge/Data/Item/Combine.hs 132;" C +AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C +AMR src/Dodge/Data/Item/Combine.hs 137;" C +ANTIMATTER src/Dodge/Data/Item/Combine.hs 46;" C APInt src/Dodge/Data/Item/Use.hs 76;" C APItEffect src/Dodge/Data/Item/Use.hs 74;" C APLinkProjectile src/Dodge/Data/Item/Use.hs 72;" C APNothing src/Dodge/Data/Item/Use.hs 77;" C AQUAMARINE src/Color/Data.hs 24;" C -ATTACH src/Dodge/Data/Item/Combine.hs 20;" C -AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 73;" C -AUTOAMR src/Dodge/Data/Item/Combine.hs 136;" C -AUTOPISTOL src/Dodge/Data/Item/Combine.hs 122;" C -AUTORIFLE src/Dodge/Data/Item/Combine.hs 131;" C +ATTACH src/Dodge/Data/Item/Combine.hs 21;" C +AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 74;" C +AUTOAMR src/Dodge/Data/Item/Combine.hs 138;" C +AUTOPISTOL src/Dodge/Data/Item/Combine.hs 124;" C +AUTORIFLE src/Dodge/Data/Item/Combine.hs 133;" C AZURE src/Color/Data.hs 23;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C Action src/Dodge/Data/ActionPlan.hs 78;" t @@ -52,7 +52,7 @@ Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C Airlock src/Dodge/Room/Airlock.hs 4;" m AlienContact src/Dodge/Data/Scenario.hs 30;" C -AllRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C +AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C Ambush src/Dodge/Data/ActionPlan.hs 178;" C Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m Ammo src/Dodge/Item/Ammo.hs 1;" m @@ -61,7 +61,7 @@ AmmoEffectSF src/Dodge/Data/ComposedItem.hs 44;" C AmmoInLink src/Dodge/Data/ComposedItem.hs 16;" C AmmoMag src/Dodge/Data/Item.hs 34;" C AmmoMagSF src/Dodge/Data/ComposedItem.hs 38;" C -AmmoMagType src/Dodge/Data/Item/Combine.hs 76;" t +AmmoMagType src/Dodge/Data/Item/Combine.hs 78;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 41;" C AmmoParams src/Dodge/Data/Item/Use.hs 113;" t @@ -96,7 +96,7 @@ AtEase src/Dodge/Data/Creature/Stance.hs 40;" C AtomicWaste src/Dodge/Data/Scenario.hs 26;" C Attach src/Dodge/Item/Attach.hs 1;" m AttachParams src/Dodge/Data/Item/Use.hs 71;" t -AttachType src/Dodge/Data/Item/Combine.hs 68;" t +AttachType src/Dodge/Data/Item/Combine.hs 69;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C Audition src/Dodge/Data/Creature/Perception.hs 47;" t @@ -111,26 +111,26 @@ AuxAddition src/Shader/AuxAddition.hs 1;" m Avatar src/Dodge/Data/Creature/Misc.hs 70;" C Awareness src/Dodge/Data/Creature/Perception.hs 65;" t Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m -BANGCONE src/Dodge/Data/Item/Combine.hs 124;" C -BANGROD src/Dodge/Data/Item/Combine.hs 133;" C -BANGSTICK src/Dodge/Data/Item/Combine.hs 116;" C -BATTERY src/Dodge/Data/Item/Combine.hs 81;" C -BATTERYPACK src/Dodge/Data/Item/Combine.hs 105;" C -BELTMAG src/Dodge/Data/Item/Combine.hs 79;" C +BANGCONE src/Dodge/Data/Item/Combine.hs 126;" C +BANGROD src/Dodge/Data/Item/Combine.hs 135;" C +BANGSTICK src/Dodge/Data/Item/Combine.hs 118;" C +BATTERY src/Dodge/Data/Item/Combine.hs 83;" C +BATTERYPACK src/Dodge/Data/Item/Combine.hs 107;" C +BELTMAG src/Dodge/Data/Item/Combine.hs 81;" C BLACK src/Color/Data.hs 28;" C -BLINKER src/Dodge/Data/Item/Combine.hs 155;" C -BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 156;" C -BLOWTORCH src/Dodge/Data/Item/Combine.hs 142;" C +BLINKER src/Dodge/Data/Item/Combine.hs 157;" C +BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 158;" C +BLOWTORCH src/Dodge/Data/Item/Combine.hs 144;" C BLUE src/Color/Data.hs 17;" C -BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 125;" C +BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 127;" C BLUNT src/Dodge/Data/Damage/Type.hs 13;" C BQuad src/Geometry/Bezier.hs 9;" t -BRAINHAT src/Dodge/Data/Item/Combine.hs 96;" C -BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 104;" C -BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 103;" C -BULLETMOD src/Dodge/Data/Item/Combine.hs 23;" C -BULLETSYNTH src/Dodge/Data/Item/Combine.hs 70;" C -BURSTRIFLE src/Dodge/Data/Item/Combine.hs 132;" C +BRAINHAT src/Dodge/Data/Item/Combine.hs 98;" C +BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 106;" C +BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 105;" C +BULLETMOD src/Dodge/Data/Item/Combine.hs 24;" C +BULLETSYNTH src/Dodge/Data/Item/Combine.hs 71;" C +BURSTRIFLE src/Dodge/Data/Item/Combine.hs 134;" C BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C Ball src/Dodge/Tesla/Ball.hs 1;" m @@ -197,7 +197,7 @@ BoostPropIX src/Dodge/Data/Item/Params.hs 29;" C Booster src/Dodge/Item/Equipment/Booster.hs 1;" m Boosting src/Dodge/Data/Creature/Stance.hs 28;" C Boss src/Dodge/Room/Boss.hs 2;" m -BottomEscapeMenuOption src/Dodge/Data/Universe.hs 73;" C +BottomEscapeMenuOption src/Dodge/Data/Universe.hs 74;" C BounceBullet src/Dodge/Data/Bullet.hs 37;" C Bound src/Bound.hs 1;" m Bound_box_screen src/Dodge/Data/Config.hs 81;" C @@ -227,7 +227,6 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m BulletModEffect src/Dodge/Data/Item/BulletMod.hs 13;" C BulletModPayload src/Dodge/Data/Item/BulletMod.hs 12;" C -BulletModTrajectory src/Dodge/Data/Item/BulletMod.hs 11;" C BulletParams src/Dodge/Data/Item/Use.hs 114;" C BulletPayload src/Dodge/Data/Bullet.hs 41;" t BulletShooterParams src/Dodge/Data/Item/Use.hs 98;" C @@ -243,18 +242,18 @@ ButtonEvent src/Dodge/Data/Button.hs 22;" t ButtonPress src/Dodge/Data/Button.hs 24;" C ButtonSimpleSwith src/Dodge/Data/Button.hs 40;" C ButtonState src/Dodge/Data/Button.hs 63;" t -CAMERA src/Dodge/Data/Item/Combine.hs 52;" C -CAN src/Dodge/Data/Item/Combine.hs 33;" C +CAMERA src/Dodge/Data/Item/Combine.hs 53;" C +CAN src/Dodge/Data/Item/Combine.hs 34;" C CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C CHARTREUSE src/Color/Data.hs 25;" C -CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 82;" C +CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 84;" C CHeal src/Dodge/Data/Item/HeldUse.hs 16;" C CIRCLE src/Dodge/Data/GenParams.hs 20;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C -CRAFT src/Dodge/Data/Item/Combine.hs 19;" C -CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 161;" C -CREATURESENSOR src/Dodge/Data/Item/Combine.hs 62;" C +CRAFT src/Dodge/Data/Item/Combine.hs 20;" C +CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 163;" C +CREATURESENSOR src/Dodge/Data/Item/Combine.hs 63;" C CRUSHING src/Dodge/Data/Damage/Type.hs 16;" C CUTTING src/Dodge/Data/Damage/Type.hs 14;" C CWGen src/Dodge/Data/CWorld.hs 35;" t @@ -282,7 +281,7 @@ CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m Carriage src/Dodge/Data/Creature/Stance.hs 20;" t Carte src/Dodge/Render/HUD/Carte.hs 1;" m -ChainEffect src/Dodge/HeldUse.hs 44;" t +ChainEffect src/Dodge/HeldUse.hs 45;" t ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C @@ -299,6 +298,7 @@ ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 53;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 62;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 61;" C ChooseTarget src/Dodge/Creature/ChooseTarget.hs 1;" m +Circ_collision_test src/Dodge/Data/Config.hs 85;" C Cleat src/Dodge/Cleat.hs 2;" m Climate src/Dodge/Data/Scenario.hs 32;" C Clock src/Dodge/Clock.hs 1;" m @@ -354,7 +354,7 @@ Configuration src/Dodge/Data/Config.hs 38;" t Connectors src/Dodge/Render/Connectors.hs 3;" m ConstFloat src/Dodge/Data/GenFloat.hs 11;" C Consumable src/Dodge/Item/Consumable.hs 1;" m -ConsumableItemType src/Dodge/Data/Item/Combine.hs 85;" t +ConsumableItemType src/Dodge/Data/Item/Combine.hs 87;" t Consumables src/Dodge/Data/Item.hs 32;" t Consumption src/Dodge/Data/Item/Use/Consumption.hs 8;" m Consumption src/Dodge/Default/Item/Use/Consumption.hs 1;" m @@ -407,7 +407,7 @@ CrWlID src/Dodge/Data/CrWlID.hs 6;" m Cr_awareness src/Dodge/Data/Config.hs 72;" C Cr_status src/Dodge/Data/Config.hs 71;" C CraftClust src/Dodge/Combine/Graph.hs 19;" C -CraftType src/Dodge/Data/Item/Combine.hs 26;" t +CraftType src/Dodge/Data/Item/Combine.hs 27;" t Craftable src/Dodge/Item/Craftable.hs 1;" m Create src/Dodge/Projectile/Create.hs 1;" m Create src/Dodge/Prop/Create.hs 1;" m @@ -437,9 +437,9 @@ CursorDisplay src/Dodge/Data/SelectionList.hs 19;" t Cuse src/Dodge/Data/Item/HeldUse.hs 14;" t Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C -DETECTOR src/Dodge/Data/Item/Combine.hs 154;" C +DETECTOR src/Dodge/Data/Item/Combine.hs 156;" C DPoint2 src/Geometry/Data.hs 34;" t -DRUMMAG src/Dodge/Data/Item/Combine.hs 78;" C +DRUMMAG src/Dodge/Data/Item/Combine.hs 80;" C DS src/DoubleStack.hs 3;" t DT src/Dodge/Data/DoubleTree.hs 30;" C DTBottomNode src/Dodge/Data/DoubleTree.hs 20;" C @@ -475,15 +475,16 @@ Data src/ShapePicture/Data.hs 1;" m Data src/Sound/Data.hs 6;" m DeathTime src/Dodge/Data/World.hs 59;" C Debris src/Dodge/Block/Debris.hs 1;" m -Debug src/Dodge/Debug.hs 1;" m +Debug src/Dodge/Debug.hs 2;" m DebugBool src/Dodge/Data/Config.hs 66;" t -DebugInfo src/Dodge/Data/Universe.hs 53;" t -DebugIntMInt src/Dodge/Data/Universe.hs 58;" C -DebugItem src/Dodge/Data/Universe.hs 47;" t +DebugInfo src/Dodge/Data/Universe.hs 54;" t +DebugIntMInt src/Dodge/Data/Universe.hs 59;" C +DebugItem src/Dodge/Data/Universe.hs 48;" t DebugLayer src/Picture/Data.hs 27;" C -DebugMInt src/Dodge/Data/Universe.hs 57;" C -DebugV2 src/Dodge/Data/Universe.hs 56;" C -DebugV3 src/Dodge/Data/Universe.hs 55;" C +DebugMInt src/Dodge/Data/Universe.hs 58;" C +DebugTest src/Dodge/Update/Input/DebugTest.hs 1;" m +DebugV2 src/Dodge/Data/Universe.hs 57;" C +DebugV3 src/Dodge/Data/Universe.hs 56;" C DecorationShape src/Dodge/Data/GenParams.hs 20;" t Default src/Dodge/Default.hs 7;" m Default src/Dodge/Tesla/Arc/Default.hs 1;" m @@ -503,7 +504,7 @@ DestroyBeing src/Dodge/Data/Scenario.hs 8;" C DestroyBullet src/Dodge/Data/Bullet.hs 36;" C DestroyItem src/Dodge/Data/Scenario.hs 7;" C DestroyPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C -Detector src/Dodge/Data/Item/Combine.hs 159;" t +Detector src/Dodge/Data/Item/Combine.hs 161;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m @@ -542,7 +543,7 @@ DoorOpen src/Dodge/Data/Door.hs 23;" C DoorPane src/Dodge/LevelGen/DoorPane.hs 1;" m DoorPart src/Dodge/Data/Wall.hs 50;" C DoorStatus src/Dodge/Data/Door.hs 23;" t -DoubleRes src/Dodge/Data/Config.hs 95;" C +DoubleRes src/Dodge/Data/Config.hs 97;" C DoubleStack src/DoubleStack.hs 1;" m DoubleTree src/Dodge/Data/DoubleTree.hs 30;" t DoubleTree src/Dodge/Data/DoubleTree.hs 6;" m @@ -590,20 +591,20 @@ DropAll src/Dodge/Data/Creature/State.hs 24;" C DropAmount src/Dodge/Data/Creature/State.hs 25;" C DropItem src/Dodge/Data/ActionPlan.hs 39;" C DropSpecific src/Dodge/Data/Creature/State.hs 26;" C -DudPayload src/Dodge/Data/Payload.hs 11;" C +DudPayload src/Dodge/Data/Payload.hs 13;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Wall/Dust.hs 1;" m EBO src/Shader/Data.hs 88;" t EDoNothing src/Dodge/Data/Item/HeldUse.hs 20;" C EHeadLamp src/Dodge/Data/Item/HeldUse.hs 23;" C ELECTRICAL src/Dodge/Data/Damage/Type.hs 20;" C -ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 134;" C +ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 136;" C EMagShield src/Dodge/Data/Item/HeldUse.hs 21;" C ENTERREMENT src/Dodge/Data/Damage/Type.hs 24;" C -EQUIP src/Dodge/Data/Item/Combine.hs 18;" C +EQUIP src/Dodge/Data/Item/Combine.hs 19;" C EWristShield src/Dodge/Data/Item/HeldUse.hs 22;" C EXPLOSIVE src/Dodge/Data/Damage/Type.hs 21;" C -EXPLOSIVES src/Dodge/Data/Item/Combine.hs 87;" C +EXPLOSIVES src/Dodge/Data/Item/Combine.hs 89;" C Ears src/Dodge/Data/Creature/Perception.hs 47;" C East src/Dodge/Data/CardinalPoint.hs 5;" C East8 src/Dodge/Data/CardinalPoint.hs 13;" C @@ -613,7 +614,7 @@ EffectArguments src/Dodge/Data/Terminal.hs 94;" t EffectRootNotroot src/Dodge/Data/Item/Effect.hs 21;" C EffectWhileAttached src/Dodge/Data/Item/Effect.hs 25;" C EffectWhileRoot src/Dodge/Data/Item/Effect.hs 24;" C -EighthRes src/Dodge/Data/Config.hs 95;" C +EighthRes src/Dodge/Data/Config.hs 97;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C Electronics src/Dodge/Data/Material.hs 11;" C @@ -632,7 +633,7 @@ EonWristShield src/Dodge/Data/Item/Use/Equipment.hs 31;" C EquipCounter src/Dodge/Data/Item/Use/Equipment.hs 38;" C EquipEffect src/Dodge/Data/Item/Use/Equipment.hs 17;" t EquipID src/Dodge/Data/Item/Use/Equipment.hs 37;" C -EquipItemType src/Dodge/Data/Item/Combine.hs 90;" t +EquipItemType src/Dodge/Data/Item/Combine.hs 92;" t EquipOptions src/Dodge/Data/RightButtonOptions.hs 15;" C EquipParams src/Dodge/Data/Item/Use/Equipment.hs 35;" t EquipSite src/Dodge/Data/Equipment/Misc.hs 21;" t @@ -644,7 +645,7 @@ Equipment src/Dodge/Item/Equipment.hs 1;" m EquipmentAllocation src/Dodge/Data/RightButtonOptions.hs 18;" t EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 32;" C Escape src/Dodge/Data/Scenario.hs 10;" C -EscapeMenuOption src/Dodge/Data/Universe.hs 72;" t +EscapeMenuOption src/Dodge/Data/Universe.hs 73;" t Essential src/Shape/Data.hs 34;" C Euse src/Dodge/Data/Item/HeldUse.hs 19;" t Euse src/Dodge/Euse.hs 1;" m @@ -661,16 +662,16 @@ ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m Eyes src/Dodge/Data/Creature/Perception.hs 41;" C FBO src/Shader/Data.hs 57;" t -FLAMESHIELD src/Dodge/Data/Item/Combine.hs 92;" C -FLAMESPITTER src/Dodge/Data/Item/Combine.hs 138;" C -FLAMETHROWER src/Dodge/Data/Item/Combine.hs 139;" C -FLAMETORRENT src/Dodge/Data/Item/Combine.hs 140;" C -FLAMEWALL src/Dodge/Data/Item/Combine.hs 141;" C +FLAMESHIELD src/Dodge/Data/Item/Combine.hs 94;" C +FLAMESPITTER src/Dodge/Data/Item/Combine.hs 140;" C +FLAMETHROWER src/Dodge/Data/Item/Combine.hs 141;" C +FLAMETORRENT src/Dodge/Data/Item/Combine.hs 142;" C +FLAMEWALL src/Dodge/Data/Item/Combine.hs 143;" C FLAMING src/Dodge/Data/Damage/Type.hs 18;" C -FLATSHIELD src/Dodge/Data/Item/Combine.hs 152;" C -FRONTARMOUR src/Dodge/Data/Item/Combine.hs 93;" C -FUELCELL src/Dodge/Data/Item/Combine.hs 64;" C -FUELPACK src/Dodge/Data/Item/Combine.hs 102;" C +FLATSHIELD src/Dodge/Data/Item/Combine.hs 154;" C +FRONTARMOUR src/Dodge/Data/Item/Combine.hs 95;" C +FUELCELL src/Dodge/Data/Item/Combine.hs 65;" C +FUELPACK src/Dodge/Data/Item/Combine.hs 104;" C FacilityType src/Dodge/Data/Scenario.hs 55;" t Faction src/Dodge/Data/Creature/State.hs 34;" t Factory src/Dodge/Data/Scenario.hs 56;" C @@ -731,19 +732,19 @@ ForegroundShape src/Dodge/Data/ForegroundShape.hs 6;" m ForegroundShape src/Dodge/Default/ForegroundShape.hs 1;" m FractionLoaded src/Dodge/Item/Weapon/FractionLoaded.hs 1;" m FromEdge src/Dodge/Data/Room.hs 47;" C -FullRes src/Dodge/Data/Config.hs 95;" C +FullRes src/Dodge/Data/Config.hs 97;" C FullShadowFidelity src/Shape/Data.hs 24;" C FullSize src/Dodge/Data/Item/Params.hs 31;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C FunctionChangeLink src/Dodge/Data/ComposedItem.hs 26;" C FunctionChangeSF src/Dodge/Data/ComposedItem.hs 45;" C GEqC src/SameConstr.hs 20;" c -GLASSSHARD src/Dodge/Data/Item/Combine.hs 37;" C +GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C GLHelp src/GLHelp.hs 1;" m -GRAPECANNON src/Dodge/Data/Item/Combine.hs 126;" C +GRAPECANNON src/Dodge/Data/Item/Combine.hs 128;" C GREEN src/Color/Data.hs 16;" C GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 33;" C -GameOverOptions src/Dodge/Data/Universe.hs 68;" C +GameOverOptions src/Dodge/Data/Universe.hs 69;" C GameRoom src/Dodge/GameRoom.hs 15;" t GameRoom src/Dodge/GameRoom.hs 8;" m Gas src/Dodge/Gas.hs 1;" m @@ -763,7 +764,7 @@ GenWorld src/Dodge/Data/GenWorld.hs 4;" m Generate src/Dodge/Layout/Generate.hs 4;" m GenerateStructure src/Dodge/Tree/GenerateStructure.hs 6;" m GenericFaction src/Dodge/Data/Creature/State.hs 35;" C -GeoObjShads src/Dodge/Data/Config.hs 99;" C +GeoObjShads src/Dodge/Data/Config.hs 101;" C Geodesic src/Polyhedra/Geodesic.hs 3;" m Geometry src/Geometry.hs 12;" m GetTo src/Dodge/Data/ActionPlan.hs 189;" C @@ -791,19 +792,19 @@ Grid src/Grid.hs 1;" m Gust src/Dodge/Data/Gust.hs 13;" t Gust src/Dodge/Data/Gust.hs 6;" m GymSS src/Dodge/Data/Scenario.hs 104;" C -HARDDRIVE src/Dodge/Data/Item/Combine.hs 49;" C -HARDWARE src/Dodge/Data/Item/Combine.hs 29;" C -HAT src/Dodge/Data/Item/Combine.hs 97;" C -HEADLAMP src/Dodge/Data/Item/Combine.hs 98;" C -HEATSENSOR src/Dodge/Data/Item/Combine.hs 59;" C -HELD src/Dodge/Data/Item/Combine.hs 16;" C -HOMINGMODULE src/Dodge/Data/Item/Combine.hs 72;" C -HOSE src/Dodge/Data/Item/Combine.hs 31;" C +HARDDRIVE src/Dodge/Data/Item/Combine.hs 50;" C +HARDWARE src/Dodge/Data/Item/Combine.hs 30;" C +HAT src/Dodge/Data/Item/Combine.hs 99;" C +HEADLAMP src/Dodge/Data/Item/Combine.hs 100;" C +HEATSENSOR src/Dodge/Data/Item/Combine.hs 60;" C +HELD src/Dodge/Data/Item/Combine.hs 17;" C +HOMINGMODULE src/Dodge/Data/Item/Combine.hs 73;" C +HOSE src/Dodge/Data/Item/Combine.hs 32;" C HUD src/Dodge/Data/HUD.hs 45;" t HUD src/Dodge/Data/HUD.hs 6;" m HUD src/Dodge/Render/HUD.hs 3;" m HUDElement src/Dodge/Data/HUD.hs 18;" t -HalfRes src/Dodge/Data/Config.hs 95;" C +HalfRes src/Dodge/Data/Config.hs 97;" C Hammer src/Dodge/Data/Hammer.hs 6;" m Hammer src/Dodge/Hammer.hs 1;" m HammerDown src/Dodge/Data/Hammer.hs 18;" C @@ -813,12 +814,12 @@ HammerTrigger src/Dodge/Data/Item/Use.hs 68;" C HammerType src/Dodge/Data/Hammer.hs 12;" t HammerUp src/Dodge/Data/Hammer.hs 20;" C HandPos src/Dodge/Creature/HandPos.hs 1;" m -HardQuit src/Dodge/Data/Universe.hs 66;" C +HardQuit src/Dodge/Data/Universe.hs 67;" C HasHammer src/Dodge/Data/Hammer.hs 14;" C HeavySmokeFlare src/Dodge/Data/Item/Use.hs 136;" C Held src/Dodge/Item/Held.hs 1;" m HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m -HeldItemType src/Dodge/Data/Item/Combine.hs 115;" t +HeldItemType src/Dodge/Data/Item/Combine.hs 117;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m HeldParams src/Dodge/Data/Item/Use.hs 80;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 31;" C @@ -851,9 +852,9 @@ Humanoid src/Dodge/Humanoid.hs 1;" m HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t ILink src/Dodge/Data/ComposedItem.hs 51;" C IMSS src/Dodge/Data/SelectionList.hs 36;" t -INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 95;" C -IRONBAR src/Dodge/Data/Item/Combine.hs 56;" C -ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 160;" C +INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 97;" C +IRONBAR src/Dodge/Data/Item/Combine.hs 57;" C +ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t Important src/Shape/Data.hs 35;" C @@ -890,20 +891,20 @@ Input src/Dodge/Data/Input.hs 6;" m Input src/Dodge/Event/Input.hs 3;" m Input src/Dodge/Update/Input.hs 1;" m InputFocus src/Dodge/InputFocus.hs 1;" m -InputScreen src/Dodge/Data/Universe.hs 89;" C -Inspect_wall src/Dodge/Data/Config.hs 89;" C +InputScreen src/Dodge/Data/Universe.hs 90;" C +Inspect_wall src/Dodge/Data/Config.hs 91;" C Instance src/Dodge/Item/Instance.hs 1;" m Instance src/Dodge/Placement/Instance.hs 1;" m Institution src/Dodge/Data/Scenario.hs 42;" t Int2 src/Geometry/Data.hs 18;" t IntAnno src/Dodge/Annotation/Data.hs 17;" C -IntID src/Dodge/Data/Universe.hs 110;" t +IntID src/Dodge/Data/Universe.hs 111;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t IntMapHelp src/IntMapHelp.hs 8;" m Intention src/Dodge/Data/Creature.hs 79;" t Intention src/Dodge/Creature/Intention.hs 1;" m Intersect src/Geometry/Intersect.hs 5;" m -IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C +IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C InvInt src/Dodge/Data/Item/Location.hs 19;" t InvSize src/Dodge/Item/InvSize.hs 2;" m Inventory src/Dodge/Inventory.hs 2;" m @@ -939,34 +940,34 @@ ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 30;" t ItemTargeting src/Dodge/Data/Item.hs 55;" t -ItemType src/Dodge/Data/Item/Combine.hs 15;" t +ItemType src/Dodge/Data/Item/Combine.hs 16;" t ItemUse src/Dodge/Data/Item/Use.hs 35;" t ItmCrWdWd src/Dodge/Data/Item/Use/Equipment.hs 28;" t ItmCrWdWdDoNothing src/Dodge/Data/Item/Use/Equipment.hs 29;" C ItmInt src/Dodge/Data/Item/Location.hs 25;" t JGK src/Control/Foldl/JGK.hs 1;" m -JUMPLEGS src/Dodge/Data/Item/Combine.hs 101;" C +JUMPLEGS src/Dodge/Data/Item/Combine.hs 103;" C JoinClust src/Dodge/Combine/Graph.hs 21;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 25;" C Justify src/Justify.hs 1;" m -KEYCARD src/Dodge/Data/Item/Combine.hs 153;" C +KEYCARD src/Dodge/Data/Item/Combine.hs 155;" C Kill src/Dodge/Data/ActionPlan.hs 198;" C -LASER src/Dodge/Data/Item/Combine.hs 145;" C +LASER src/Dodge/Data/Item/Combine.hs 147;" C LASERING src/Dodge/Data/Damage/Type.hs 19;" C -LAUNCHER src/Dodge/Data/Item/Combine.hs 147;" C -LAUNCHERX src/Dodge/Data/Item/Combine.hs 148;" C +LAUNCHER src/Dodge/Data/Item/Combine.hs 149;" C +LAUNCHERX src/Dodge/Data/Item/Combine.hs 150;" C LDT src/Dodge/Data/DoubleTree.hs 40;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C -LDTComb src/Dodge/Item/Grammar.hs 163;" t +LDTComb src/Dodge/Item/Grammar.hs 164;" t LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 26;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 27;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 24;" C LDTTopNode src/Dodge/Data/DoubleTree.hs 25;" C -LED src/Dodge/Data/Item/Combine.hs 54;" C +LED src/Dodge/Data/Item/Combine.hs 55;" C LHS src/Geometry/LHS.hs 1;" m -LIGHTER src/Dodge/Data/Item/Combine.hs 43;" C -LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 57;" C +LIGHTER src/Dodge/Data/Item/Combine.hs 44;" C +LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 58;" C LS src/Dodge/Data/LightSource.hs 23;" C LSParam src/Dodge/Data/LightSource.hs 16;" t LTest src/Dodge/Data/ComposedItem.hs 56;" C @@ -1042,7 +1043,7 @@ LoadSeed src/Dodge/LoadSeed.hs 1;" m LoadSound src/Dodge/SoundLogic/LoadSound.hs 1;" m Loading src/Dodge/Menu/Loading.hs 1;" m LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C -LoadingScreen src/Dodge/Data/Universe.hs 69;" C +LoadingScreen src/Dodge/Data/Universe.hs 70;" C LocLDT src/Dodge/Data/DoubleTree.hs 67;" C Location src/Dodge/Data/Item/Location.hs 6;" m Location src/Dodge/Inventory/Location.hs 1;" m @@ -1063,23 +1064,23 @@ LtAutoAI src/Dodge/Data/Creature/Misc.hs 53;" C LtAutoCrit src/Dodge/Creature/LtAutoCrit.hs 1;" m Lure src/Dodge/Data/ActionPlan.hs 179;" C Luse src/Dodge/Luse.hs 2;" m -MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 121;" C +MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 123;" C MAGENTA src/Color/Data.hs 20;" C -MAGNET src/Dodge/Data/Item/Combine.hs 44;" C -MAGSHIELD src/Dodge/Data/Item/Combine.hs 91;" C +MAGNET src/Dodge/Data/Item/Combine.hs 45;" C +MAGSHIELD src/Dodge/Data/Item/Combine.hs 93;" C MBranch src/Dodge/Data/MetaTree.hs 16;" C MBranch src/Dodge/Tree/Compose/Data.hs 10;" C MCrAc src/Dodge/Data/CreatureEffect.hs 45;" t MCrNoAction src/Dodge/Data/CreatureEffect.hs 45;" C -MEDKIT src/Dodge/Data/Item/Combine.hs 86;" C -MICROCHIP src/Dodge/Data/Item/Combine.hs 48;" C -MICROPHONE src/Dodge/Data/Item/Combine.hs 60;" C -MINIDISPLAY src/Dodge/Data/Item/Combine.hs 53;" C -MINIGUNX src/Dodge/Data/Item/Combine.hs 127;" C -MODBlockedString src/Dodge/Data/Universe.hs 96;" C -MODString src/Dodge/Data/Universe.hs 95;" C -MODStringOption src/Dodge/Data/Universe.hs 97;" C -MOTOR src/Dodge/Data/Item/Combine.hs 40;" C +MEDKIT src/Dodge/Data/Item/Combine.hs 88;" C +MICROCHIP src/Dodge/Data/Item/Combine.hs 49;" C +MICROPHONE src/Dodge/Data/Item/Combine.hs 61;" C +MINIDISPLAY src/Dodge/Data/Item/Combine.hs 54;" C +MINIGUNX src/Dodge/Data/Item/Combine.hs 129;" C +MODBlockedString src/Dodge/Data/Universe.hs 97;" C +MODString src/Dodge/Data/Universe.hs 96;" C +MODStringOption src/Dodge/Data/Universe.hs 98;" C +MOTOR src/Dodge/Data/Item/Combine.hs 41;" C MP2Ac src/Dodge/Data/CreatureEffect.hs 56;" t MP2NoAction src/Dodge/Data/CreatureEffect.hs 56;" C MTRS src/Dodge/Annotation/Data.hs 12;" t @@ -1141,8 +1142,8 @@ Memory src/Dodge/Data/Creature/Memory.hs 13;" t Memory src/Dodge/Creature/Memory.hs 1;" m Memory src/Dodge/Data/Creature/Memory.hs 6;" m Menu src/Dodge/Menu.hs 1;" m -MenuOption src/Dodge/Data/Universe.hs 99;" t -MenuOptionDisplay src/Dodge/Data/Universe.hs 94;" t +MenuOption src/Dodge/Data/Universe.hs 100;" t +MenuOptionDisplay src/Dodge/Data/Universe.hs 95;" t MenuScreen src/Dodge/Render/MenuScreen.hs 2;" m MetaBranch src/Dodge/Data/MetaTree.hs 16;" t MetaBranch src/Dodge/Tree/Compose/Data.hs 10;" t @@ -1209,7 +1210,7 @@ MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 156;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C MvWalking src/Dodge/Data/Creature/Misc.hs 39;" C -NAILBOX src/Dodge/Data/Item/Combine.hs 55;" C +NAILBOX src/Dodge/Data/Item/Combine.hs 56;" C NInt src/NewInt.hs 15;" C NIntMap src/NewInt.hs 18;" C NS src/Dodge/Data/CardinalPoint.hs 25;" C @@ -1224,7 +1225,7 @@ NewID src/Dodge/Base/NewID.hs 1;" m NewInt src/NewInt.hs 15;" t NewInt src/NewInt.hs 7;" m NewIntMap src/NewInt.hs 18;" t -NewSideEffect src/Dodge/Data/Universe.hs 61;" C +NewSideEffect src/Dodge/Data/Universe.hs 62;" C NextArcStep src/Dodge/Data/ArcStep.hs 21;" t Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C @@ -1237,11 +1238,11 @@ NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C NoCrWdImp src/Dodge/Data/CreatureEffect.hs 14;" C NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C NoDamageEffect src/Dodge/Data/Damage.hs 29;" C -NoDebugInfo src/Dodge/Data/Universe.hs 54;" C +NoDebugInfo src/Dodge/Data/Universe.hs 55;" C NoDelay src/Dodge/Data/Item/HeldDelay.hs 14;" C NoDropEffect src/Dodge/Data/Item/Effect.hs 28;" C NoEquipParams src/Dodge/Data/Item/Use/Equipment.hs 36;" C -NoEscapeMenuOption src/Dodge/Data/Universe.hs 75;" C +NoEscapeMenuOption src/Dodge/Data/Universe.hs 76;" C NoFaction src/Dodge/Data/Creature/State.hs 40;" C NoFlare src/Dodge/Data/Item/Use.hs 132;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C @@ -1251,18 +1252,18 @@ NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C NoItTargeting src/Dodge/Data/Item.hs 55;" C NoLightFlare src/Dodge/Data/Item/Use.hs 134;" C -NoLighting src/Dodge/Data/Config.hs 102;" C +NoLighting src/Dodge/Data/Config.hs 104;" C NoMouseContext src/Dodge/Data/Input.hs 20;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m -NoObjShads src/Dodge/Data/Config.hs 100;" C +NoObjShads src/Dodge/Data/Config.hs 102;" C NoParams src/Dodge/Data/Item/Params.hs 14;" C NoPreviousArcEffect src/Dodge/Data/Item/Params.hs 34;" C NoResurrection src/Dodge/Data/Corpse.hs 14;" C NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C -NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C +NoRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C NoShadowFidelity src/Shape/Data.hs 25;" C -NoShadows src/Dodge/Data/Config.hs 101;" C +NoShadows src/Dodge/Data/Config.hs 103;" C NoSubInventory src/Dodge/Data/HUD.hs 35;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 23;" C Noclip src/Dodge/Data/Config.hs 70;" C @@ -1271,7 +1272,7 @@ NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeTree src/Dodge/Data/MetaTree.hs 13;" C NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C -NormalOptions src/Dodge/Data/Universe.hs 68;" C +NormalOptions src/Dodge/Data/Universe.hs 69;" C NormalTimeFlow src/Dodge/Data/World.hs 61;" C North src/Dodge/Data/CardinalPoint.hs 4;" C North8 src/Dodge/Data/CardinalPoint.hs 11;" C @@ -1337,8 +1338,8 @@ Opacity src/Dodge/Data/Wall.hs 38;" t Opaque src/Dodge/Data/Wall.hs 42;" C OpticScope src/Dodge/Data/Item/Scope.hs 14;" C Option src/Dodge/Menu/Option.hs 1;" m -OptionScreen src/Dodge/Data/Universe.hs 78;" C -OptionScreenFlag src/Dodge/Data/Universe.hs 68;" t +OptionScreen src/Dodge/Data/Universe.hs 79;" C +OptionScreenFlag src/Dodge/Data/Universe.hs 69;" t OptionType src/Dodge/Menu/OptionType.hs 2;" m Orientation src/Dodge/Item/Orientation.hs 1;" m OutAction src/Dodge/Creature/Action.hs 50;" t @@ -1363,23 +1364,23 @@ P2Imp src/Dodge/Data/CreatureEffect.hs 28;" t P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C PIERCING src/Dodge/Data/Damage/Type.hs 12;" C -PIPE src/Dodge/Data/Item/Combine.hs 27;" C -PISTOL src/Dodge/Data/Item/Combine.hs 120;" C -PLANK src/Dodge/Data/Item/Combine.hs 36;" C -PLATE src/Dodge/Data/Item/Combine.hs 46;" C +PIPE src/Dodge/Data/Item/Combine.hs 28;" C +PISTOL src/Dodge/Data/Item/Combine.hs 122;" C +PLANK src/Dodge/Data/Item/Combine.hs 37;" C +PLATE src/Dodge/Data/Item/Combine.hs 47;" C PLUS src/Dodge/Data/GenParams.hs 20;" C POISONDAM src/Dodge/Data/Damage/Type.hs 23;" C -POISONSPRAYER src/Dodge/Data/Item/Combine.hs 149;" C -PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 65;" C -POWERLEGS src/Dodge/Data/Item/Combine.hs 99;" C +POISONSPRAYER src/Dodge/Data/Item/Combine.hs 151;" C +PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 66;" C +POWERLEGS src/Dodge/Data/Item/Combine.hs 101;" C PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C -PRISM src/Dodge/Data/Item/Combine.hs 42;" C +PRISM src/Dodge/Data/Item/Combine.hs 43;" C PS src/Dodge/Data/GenWorld.hs 62;" C PSNoShiftCont src/Dodge/Data/GenWorld.hs 63;" C PSPos src/Dodge/Data/GenWorld.hs 64;" C PSRoomRand src/Dodge/Data/GenWorld.hs 69;" C PSType src/Dodge/Data/GenWorld.hs 30;" t -PUMP src/Dodge/Data/Item/Combine.hs 39;" C +PUMP src/Dodge/Data/Item/Combine.hs 40;" C Padding src/Padding.hs 2;" m Pair src/FoldlHelp.hs 10;" t PaletteColor src/Color/Data.hs 14;" t @@ -1531,16 +1532,16 @@ PutTrigger src/Dodge/Data/GenWorld.hs 42;" C PutUsingGenParams src/Dodge/Data/GenWorld.hs 56;" C PutWall src/Dodge/Data/GenWorld.hs 49;" C PutWorldUpdate src/Dodge/Data/GenWorld.hs 54;" C -QuarterRes src/Dodge/Data/Config.hs 95;" C +QuarterRes src/Dodge/Data/Config.hs 97;" C Quaternion src/Quaternion.hs 12;" m QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C -RAM src/Dodge/Data/Item/Combine.hs 50;" C +RAM src/Dodge/Data/Item/Combine.hs 51;" C RBList src/Dodge/Inventory/RBList.hs 1;" m RED src/Color/Data.hs 15;" C -REMOTESCREEN src/Dodge/Data/Item/Combine.hs 71;" C -REWINDER src/Dodge/Data/Item/Combine.hs 117;" C +REMOTESCREEN src/Dodge/Data/Item/Combine.hs 72;" C +REWINDER src/Dodge/Data/Item/Combine.hs 119;" C RGBA src/Color/Data.hs 31;" t -RIFLE src/Dodge/Data/Item/Combine.hs 129;" C +RIFLE src/Dodge/Data/Item/Combine.hs 131;" C ROSE src/Color/Data.hs 21;" C RPLinkStatus src/Dodge/Data/Room.hs 55;" t RProps src/Dodge/Layout/Generate.hs 13;" C @@ -1589,7 +1590,7 @@ ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 32;" C RequireEquipment src/Dodge/Data/Machine/Sensor.hs 34;" C RequireHealth src/Dodge/Data/Machine/Sensor.hs 33;" C RequireImpossible src/Dodge/Data/Machine/Sensor.hs 35;" C -ResFactor src/Dodge/Data/Config.hs 95;" t +ResFactor src/Dodge/Data/Config.hs 97;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C @@ -1608,7 +1609,7 @@ Room src/Dodge/Data/Room.hs 4;" m Room src/Dodge/Default/Room.hs 1;" m Room src/Dodge/Room.hs 2;" m Room src/Dodge/Room/Room.hs 2;" m -RoomClipping src/Dodge/Data/Config.hs 105;" t +RoomClipping src/Dodge/Data/Config.hs 107;" t RoomCluster src/Dodge/Data/RoomCluster.hs 4;" m RoomCluster src/Dodge/RoomCluster.hs 1;" m RoomComplex src/Dodge/RoomComplex.hs 1;" m @@ -1628,24 +1629,25 @@ RoomType src/Dodge/Data/Room.hs 30;" t RoomWire src/Dodge/Data/Room.hs 51;" t RoundedFaces src/Shape/Data.hs 18;" C RunPast src/Dodge/Room/RunPast.hs 1;" m -RunningSideEffect src/Dodge/Data/Universe.hs 65;" C -SCRAPMETAL src/Dodge/Data/Item/Combine.hs 38;" C -SHATTERGUN src/Dodge/Data/Item/Combine.hs 150;" C +RunningSideEffect src/Dodge/Data/Universe.hs 66;" C +SCRAPMETAL src/Dodge/Data/Item/Combine.hs 39;" C +SHATTERGUN src/Dodge/Data/Item/Combine.hs 152;" C SHATTERING src/Dodge/Data/Damage/Type.hs 17;" C -SHELLMAG src/Dodge/Data/Item/Combine.hs 80;" C -SMG src/Dodge/Data/Item/Combine.hs 123;" C -SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 137;" C -SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 58;" C -SPARKGUN src/Dodge/Data/Item/Combine.hs 143;" C +SHELLMAG src/Dodge/Data/Item/Combine.hs 82;" C +SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 75;" C +SMG src/Dodge/Data/Item/Combine.hs 125;" C +SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 139;" C +SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 59;" C +SPARKGUN src/Dodge/Data/Item/Combine.hs 145;" C SPARKING src/Dodge/Data/Damage/Type.hs 15;" C -SPEEDLEGS src/Dodge/Data/Item/Combine.hs 100;" C -SPRING src/Dodge/Data/Item/Combine.hs 30;" C +SPEEDLEGS src/Dodge/Data/Item/Combine.hs 102;" C +SPRING src/Dodge/Data/Item/Combine.hs 31;" C SPic src/ShapePicture/Data.hs 7;" t SPic src/Dodge/Item/Draw/SPic.hs 3;" m SQUARE src/Dodge/Data/GenParams.hs 20;" C ST src/Dodge/Data/MetaTree.hs 18;" C ST src/Dodge/Tree/Compose/Data.hs 12;" C -STEELDRUM src/Dodge/Data/Item/Combine.hs 35;" C +STEELDRUM src/Dodge/Data/Item/Combine.hs 36;" C SameConstr src/SameConstr.hs 5;" m Save src/Dodge/Save.hs 1;" m SaveSlot src/Dodge/Data/SaveSlot.hs 9;" t @@ -1657,7 +1659,7 @@ ScodeToChar src/Dodge/ScodeToChar.hs 1;" m Scope src/Dodge/Data/Item/Scope.hs 13;" t Scope src/Dodge/Data/Item/Scope.hs 6;" m Scope src/Dodge/Item/Scope.hs 1;" m -ScreenLayer src/Dodge/Data/Universe.hs 77;" t +ScreenLayer src/Dodge/Data/Universe.hs 78;" t ScreenLayer src/Dodge/Update/Input/ScreenLayer.hs 1;" m ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t ScreenPos src/Dodge/Data/ScreenPos.hs 3;" m @@ -1672,7 +1674,7 @@ SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" C SelectUse src/Dodge/SelectUse.hs 1;" m -Select_creature src/Dodge/Data/Config.hs 92;" C +Select_creature src/Dodge/Data/Config.hs 94;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C SelectionInfo src/Dodge/Data/SelectionList.hs 53;" C SelectionItem src/Dodge/Data/SelectionList.hs 43;" t @@ -1700,7 +1702,7 @@ Shader src/Shader.hs 1;" m ShaderTexture src/Shader/Data.hs 94;" t Shadow src/Dodge/Render/Shadow.hs 1;" m ShadowFidelity src/Shape/Data.hs 24;" t -ShadowRendering src/Dodge/Data/Config.hs 98;" t +ShadowRendering src/Dodge/Data/Config.hs 100;" t Shadows src/Dodge/Shadows.hs 1;" m Shape src/Shape/Data.hs 53;" t Shape src/Shape.hs 3;" m @@ -1726,22 +1728,24 @@ ShortShow src/Dodge/ShortShow.hs 1;" m ShortShow src/ShortShow.hs 1;" m Show_bound_box src/Dodge/Data/Config.hs 80;" C Show_dda_test src/Dodge/Data/Config.hs 83;" C -Show_far_wall_detect src/Dodge/Data/Config.hs 85;" C +Show_far_wall_detect src/Dodge/Data/Config.hs 86;" C Show_ms_frame src/Dodge/Data/Config.hs 67;" C -Show_nodes_near_select src/Dodge/Data/Config.hs 90;" C -Show_path_between src/Dodge/Data/Config.hs 91;" C +Show_nodes_near_select src/Dodge/Data/Config.hs 92;" C +Show_path_between src/Dodge/Data/Config.hs 93;" C Show_sound src/Dodge/Data/Config.hs 69;" C Show_wall_search_rays src/Dodge/Data/Config.hs 82;" C -Show_walls_near_point_cursor src/Dodge/Data/Config.hs 86;" C -Show_walls_near_point_you src/Dodge/Data/Config.hs 87;" C -Show_zone_near_point_cursor src/Dodge/Data/Config.hs 88;" C +Show_walls_near_point_cursor src/Dodge/Data/Config.hs 87;" C +Show_walls_near_point_you src/Dodge/Data/Config.hs 88;" C +Show_walls_near_segment src/Dodge/Data/Config.hs 89;" C +Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C +ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C ShrinkGunParams src/Dodge/Data/Item/Params.hs 17;" C ShrinkGunStatus src/Dodge/Data/Item/Params.hs 31;" t Shrunk src/Dodge/Data/Item/Params.hs 31;" C SideCluster src/Dodge/Data/RoomCluster.hs 14;" C -SideEffect src/Dodge/Data/Universe.hs 60;" t +SideEffect src/Dodge/Data/Universe.hs 61;" t SimpleTrie src/SimpleTrie.hs 4;" m -SixteenthRes src/Dodge/Data/Config.hs 95;" C +SixteenthRes src/Dodge/Data/Config.hs 97;" C Size src/Shape/Data.hs 28;" t Size src/Dodge/Zone/Size.hs 1;" m SizeInvariant src/Dodge/Picture/SizeInvariant.hs 1;" m @@ -1785,7 +1789,7 @@ SpatialInfluence src/Dodge/Data/Scenario.hs 81;" t Spawn src/Dodge/Item/Weapon/Spawn.hs 1;" m SpawnParticle src/Dodge/WorldEvent/SpawnParticle.hs 2;" m SpawnedBy src/Dodge/Data/Creature/State.hs 39;" C -SplashOptions src/Dodge/Data/Universe.hs 68;" C +SplashOptions src/Dodge/Data/Universe.hs 69;" C SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C SprayGuns src/Dodge/Item/Held/SprayGuns.hs 1;" m SpreadGunAI src/Dodge/Data/Creature/Misc.hs 51;" C @@ -1826,20 +1830,20 @@ SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m Switch src/Dodge/LevelGen/Switch.hs 1;" m SwitchAlteRifle src/Dodge/Data/Item/Use.hs 55;" C SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C -TAPE src/Dodge/Data/Item/Combine.hs 32;" C -TARGETING src/Dodge/Data/Item/Combine.hs 22;" C -TESLAGUN src/Dodge/Data/Item/Combine.hs 144;" C -THERMOMETER src/Dodge/Data/Item/Combine.hs 61;" C +TAPE src/Dodge/Data/Item/Combine.hs 33;" C +TARGETING src/Dodge/Data/Item/Combine.hs 23;" C +TESLAGUN src/Dodge/Data/Item/Combine.hs 146;" C +THERMOMETER src/Dodge/Data/Item/Combine.hs 62;" C THREELINES src/Dodge/Data/GenParams.hs 20;" C -TIMESCROLLER src/Dodge/Data/Item/Combine.hs 119;" C -TIMESTOPPER src/Dodge/Data/Item/Combine.hs 118;" C -TIN src/Dodge/Data/Item/Combine.hs 34;" C -TINMAG src/Dodge/Data/Item/Combine.hs 77;" C +TIMESCROLLER src/Dodge/Data/Item/Combine.hs 121;" C +TIMESTOPPER src/Dodge/Data/Item/Combine.hs 120;" C +TIN src/Dodge/Data/Item/Combine.hs 35;" C +TINMAG src/Dodge/Data/Item/Combine.hs 79;" C TO src/Shader/Data.hs 59;" t -TORCH src/Dodge/Data/Item/Combine.hs 151;" C -TRACTORGUN src/Dodge/Data/Item/Combine.hs 146;" C -TRANSFORMER src/Dodge/Data/Item/Combine.hs 41;" C -TRANSMITTER src/Dodge/Data/Item/Combine.hs 47;" C +TORCH src/Dodge/Data/Item/Combine.hs 153;" C +TRACTORGUN src/Dodge/Data/Item/Combine.hs 148;" C +TRANSFORMER src/Dodge/Data/Item/Combine.hs 42;" C +TRANSMITTER src/Dodge/Data/Item/Combine.hs 48;" C TSbackspace src/Dodge/Data/Input.hs 62;" C TSdelete src/Dodge/Data/Input.hs 63;" C TSdown src/Dodge/Data/Input.hs 68;" C @@ -1849,7 +1853,7 @@ TSreturn src/Dodge/Data/Input.hs 61;" C TSright src/Dodge/Data/Input.hs 66;" C TStab src/Dodge/Data/Input.hs 64;" C TSup src/Dodge/Data/Input.hs 67;" C -TUBE src/Dodge/Data/Item/Combine.hs 28;" C +TUBE src/Dodge/Data/Item/Combine.hs 29;" C Tank src/Dodge/Placement/Instance/Tank.hs 1;" m Tanks src/Dodge/Room/Tanks.hs 1;" m Tap src/Dodge/Data/SoundOrigin.hs 38;" C @@ -1941,10 +1945,10 @@ ToContinueStart src/Sound/Data.hs 28;" C ToPlaySound src/Sound/Data.hs 39;" t ToStart src/Sound/Data.hs 27;" C ToStop src/Sound/Data.hs 29;" C -Toggle src/Dodge/Data/Universe.hs 100;" C -Toggle2 src/Dodge/Data/Universe.hs 104;" C +Toggle src/Dodge/Data/Universe.hs 101;" C +Toggle2 src/Dodge/Data/Universe.hs 105;" C TopDecoration src/Dodge/Placement/TopDecoration.hs 1;" m -TopEscapeMenuOption src/Dodge/Data/Universe.hs 74;" C +TopEscapeMenuOption src/Dodge/Data/Universe.hs 75;" C TopLDT src/Dodge/Data/DoubleTree.hs 49;" C TorpedoBaySS src/Dodge/Data/Scenario.hs 99;" C TorqueCr src/Dodge/Data/WorldEffect.hs 31;" C @@ -2036,7 +2040,7 @@ VAO src/Shader/Data.hs 64;" t VBO src/Shader/Data.hs 81;" t VF src/Polyhedra/Data.hs 21;" t VIOLET src/Color/Data.hs 22;" C -VOLLEYGUN src/Dodge/Data/Item/Combine.hs 128;" C +VOLLEYGUN src/Dodge/Data/Item/Combine.hs 130;" C Vector src/Geometry/Vector.hs 3;" m Vector3D src/Geometry/Vector3D.hs 2;" m VertexAttribute src/Shader/Data.hs 68;" t @@ -2051,12 +2055,12 @@ Vision src/Dodge/Data/Creature/Perception.hs 41;" t Vocalization src/Dodge/Data/Creature/Misc.hs 27;" t Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Volition src/Dodge/Creature/Volition.hs 2;" m -WALLDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C +WALLDETECTOR src/Dodge/Data/Item/Combine.hs 164;" C WASD src/Dodge/WASD.hs 1;" m WHITE src/Color/Data.hs 27;" C -WIRE src/Dodge/Data/Item/Combine.hs 63;" C -WRISTARMOUR src/Dodge/Data/Item/Combine.hs 94;" C -WRIST_ECG src/Dodge/Data/Item/Combine.hs 106;" C +WIRE src/Dodge/Data/Item/Combine.hs 64;" C +WRISTARMOUR src/Dodge/Data/Item/Combine.hs 96;" C +WRIST_ECG src/Dodge/Data/Item/Combine.hs 108;" C WaitThen src/Dodge/Data/ActionPlan.hs 103;" C WalkCycle src/Dodge/Creature/State/WalkCycle.hs 1;" m Walking src/Dodge/Data/Creature/Stance.hs 21;" C @@ -2140,7 +2144,7 @@ WorldPos src/Dodge/WorldPos.hs 1;" m YELLOW src/Color/Data.hs 18;" C You src/Dodge/Base/You.hs 1;" m YourControl src/Dodge/Creature/YourControl.hs 1;" m -ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 69;" C +ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 70;" C ZombieFaction src/Dodge/Data/Creature/State.hs 36;" C Zone src/Dodge/Wall/Zone.hs 1;" m Zone src/Geometry/Zone.hs 1;" m @@ -2222,7 +2226,6 @@ _bmPhaseV src/Dodge/Data/Beam.hs 27;" f _bmPoints src/Dodge/Data/Beam.hs 24;" f _bmPos src/Dodge/Data/Beam.hs 20;" f _bmRange src/Dodge/Data/Beam.hs 26;" f -_bmTrajectory src/Dodge/Data/Item/BulletMod.hs 11;" f _bmType src/Dodge/Data/Beam.hs 29;" f _boffEff src/Dodge/Data/Button.hs 42;" f _bonEff src/Dodge/Data/Button.hs 41;" f @@ -2270,8 +2273,8 @@ _carriage src/Dodge/Data/Creature/Stance.hs 14;" f _carteCenter src/Dodge/Data/HUD.hs 47;" f _carteRot src/Dodge/Data/HUD.hs 49;" f _carteZoom src/Dodge/Data/HUD.hs 48;" f -_ceSideEffect src/Dodge/Data/Universe.hs 62;" f -_ceString src/Dodge/Data/Universe.hs 63;" f +_ceSideEffect src/Dodge/Data/Universe.hs 63;" f +_ceString src/Dodge/Data/Universe.hs 64;" f _ciFilter src/Dodge/Data/HUD.hs 40;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciItem src/Dodge/Data/Combine.hs 7;" f @@ -2392,13 +2395,13 @@ _dePushExp src/Dodge/Data/Damage.hs 24;" f _dePushRadius src/Dodge/Data/Damage.hs 25;" f _deTorque src/Dodge/Data/Damage.hs 27;" f _deathDelay src/Dodge/Data/World.hs 60;" f -_debugInfo src/Dodge/Data/Universe.hs 50;" f -_debugInt src/Dodge/Data/Universe.hs 58;" f -_debugMInt src/Dodge/Data/Universe.hs 57;" f -_debugMessage src/Dodge/Data/Universe.hs 49;" f -_debugPic src/Dodge/Data/Universe.hs 48;" f -_debugV2 src/Dodge/Data/Universe.hs 56;" f -_debugV3 src/Dodge/Data/Universe.hs 55;" f +_debugInfo src/Dodge/Data/Universe.hs 51;" f +_debugInt src/Dodge/Data/Universe.hs 59;" f +_debugMInt src/Dodge/Data/Universe.hs 58;" f +_debugMessage src/Dodge/Data/Universe.hs 50;" f +_debugPic src/Dodge/Data/Universe.hs 49;" f +_debugV2 src/Dodge/Data/Universe.hs 57;" f +_debugV3 src/Dodge/Data/Universe.hs 56;" 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 133;" f @@ -2461,11 +2464,10 @@ _dtValue src/Dodge/Data/DoubleTree.hs 30;" f _ebColor src/Dodge/Data/EnergyBall.hs 17;" f _ebEff src/Dodge/Data/EnergyBall.hs 21;" f _ebPos src/Dodge/Data/EnergyBall.hs 18;" f -_ebRot src/Dodge/Data/EnergyBall.hs 23;" f +_ebRot src/Dodge/Data/EnergyBall.hs 22;" f _ebTimer src/Dodge/Data/EnergyBall.hs 20;" f _ebVel src/Dodge/Data/EnergyBall.hs 16;" f _ebWidth src/Dodge/Data/EnergyBall.hs 19;" f -_ebZ src/Dodge/Data/EnergyBall.hs 22;" f _eboName src/Shader/Data.hs 89;" f _eboPtr src/Shader/Data.hs 90;" f _eeAttachPos src/Dodge/Data/Item/Use/Equipment.hs 24;" f @@ -2475,7 +2477,7 @@ _eeParams src/Dodge/Data/Item/Use/Equipment.hs 22;" f _eeType src/Dodge/Data/Item/Use/Equipment.hs 21;" f _eeUse src/Dodge/Data/Item/Use/Equipment.hs 18;" f _eeViewDist src/Dodge/Data/Item/Use/Equipment.hs 23;" f -_emoMenuOption src/Dodge/Data/Universe.hs 73;" f +_emoMenuOption src/Dodge/Data/Universe.hs 74;" f _energyBalls src/Dodge/Data/LWorld.hs 108;" f _eparamID src/Dodge/Data/Item/Use/Equipment.hs 37;" f _eparamInt src/Dodge/Data/Item/Use/Equipment.hs 38;" f @@ -2567,13 +2569,13 @@ _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iatOrient src/Dodge/Data/ComposedItem.hs 53;" f _iatType src/Dodge/Data/ComposedItem.hs 52;" f -_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 21;" f -_ibtAttach src/Dodge/Data/Item/Combine.hs 20;" f -_ibtBulletMod src/Dodge/Data/Item/Combine.hs 23;" f -_ibtCraft src/Dodge/Data/Item/Combine.hs 19;" f -_ibtEquip src/Dodge/Data/Item/Combine.hs 18;" f -_ibtHeld src/Dodge/Data/Item/Combine.hs 16;" f -_ibtTargeting src/Dodge/Data/Item/Combine.hs 22;" f +_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 22;" f +_ibtAttach src/Dodge/Data/Item/Combine.hs 21;" f +_ibtBulletMod src/Dodge/Data/Item/Combine.hs 24;" f +_ibtCraft src/Dodge/Data/Item/Combine.hs 20;" f +_ibtEquip src/Dodge/Data/Item/Combine.hs 19;" f +_ibtHeld src/Dodge/Data/Item/Combine.hs 17;" f +_ibtTargeting src/Dodge/Data/Item/Combine.hs 23;" f _ieInv src/Dodge/Data/Item/Effect.hs 13;" f _ieOnDrop src/Dodge/Data/Item/Effect.hs 15;" f _ieOnInsert src/Dodge/Data/Item/Effect.hs 14;" f @@ -2725,13 +2727,13 @@ _mdUpdate src/Dodge/Data/Modification.hs 27;" 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 101;" f -_moEff1 src/Dodge/Data/Universe.hs 105;" f -_moEff2 src/Dodge/Data/Universe.hs 106;" f -_moString src/Dodge/Data/Universe.hs 102;" f -_moString src/Dodge/Data/Universe.hs 107;" f -_modOption src/Dodge/Data/Universe.hs 97;" f -_modString src/Dodge/Data/Universe.hs 95;" f +_moEff src/Dodge/Data/Universe.hs 102;" f +_moEff1 src/Dodge/Data/Universe.hs 106;" f +_moEff2 src/Dodge/Data/Universe.hs 107;" f +_moString src/Dodge/Data/Universe.hs 103;" f +_moString src/Dodge/Data/Universe.hs 108;" f +_modOption src/Dodge/Data/Universe.hs 98;" f +_modString src/Dodge/Data/Universe.hs 96;" f _modifications src/Dodge/Data/LWorld.hs 131;" f _mouseButtons src/Dodge/Data/Input.hs 46;" f _mouseButtonsReleased src/Dodge/Data/Input.hs 47;" f @@ -2961,17 +2963,17 @@ _rsObject src/Dodge/Data/RadarSweep.hs 20;" f _rsPos src/Dodge/Data/RadarSweep.hs 18;" f _rsRad src/Dodge/Data/RadarSweep.hs 19;" f _rsTimer src/Dodge/Data/RadarSweep.hs 21;" f -_scAvailableLines src/Dodge/Data/Universe.hs 85;" f -_scDisplayTime src/Dodge/Data/Universe.hs 87;" f -_scFooter src/Dodge/Data/Universe.hs 91;" f -_scInput src/Dodge/Data/Universe.hs 90;" f -_scListDisplayParams src/Dodge/Data/Universe.hs 86;" f -_scOffset src/Dodge/Data/Universe.hs 81;" f -_scOptionFlag src/Dodge/Data/Universe.hs 83;" f -_scOptions src/Dodge/Data/Universe.hs 80;" f -_scPositionedMenuOption src/Dodge/Data/Universe.hs 82;" f -_scSelectionList src/Dodge/Data/Universe.hs 84;" f -_scTitle src/Dodge/Data/Universe.hs 79;" f +_scAvailableLines src/Dodge/Data/Universe.hs 86;" f +_scDisplayTime src/Dodge/Data/Universe.hs 88;" f +_scFooter src/Dodge/Data/Universe.hs 92;" f +_scInput src/Dodge/Data/Universe.hs 91;" f +_scListDisplayParams src/Dodge/Data/Universe.hs 87;" f +_scOffset src/Dodge/Data/Universe.hs 82;" f +_scOptionFlag src/Dodge/Data/Universe.hs 84;" f +_scOptions src/Dodge/Data/Universe.hs 81;" f +_scPositionedMenuOption src/Dodge/Data/Universe.hs 83;" f +_scSelectionList src/Dodge/Data/Universe.hs 85;" f +_scTitle src/Dodge/Data/Universe.hs 80;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f _scrollAmount src/Dodge/Data/Input.hs 48;" f _scrollItemID src/Dodge/Data/World.hs 66;" f @@ -3007,6 +3009,7 @@ _shaderVAO src/Shader/Data.hs 54;" f _shapeEBO src/Data/Preload/Render.hs 26;" f _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f +_shellPayload src/Dodge/Data/Item/Combine.hs 75;" f _shockwaves src/Dodge/Data/LWorld.hs 115;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f _siColor src/Dodge/Data/SelectionList.hs 49;" f @@ -3174,7 +3177,8 @@ _useUpTo src/Dodge/Data/Item/Use.hs 164;" 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 -_uvDebugMessageOffset src/Dodge/Data/Universe.hs 44;" f +_uvDebugFloat src/Dodge/Data/Universe.hs 44;" f +_uvDebugMessageOffset src/Dodge/Data/Universe.hs 45;" 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 @@ -3254,9 +3258,9 @@ _wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f _wsBlock src/Dodge/Data/Wall.hs 52;" f _wsDoor src/Dodge/Data/Wall.hs 50;" f _wsMachine src/Dodge/Data/Wall.hs 51;" f -_xNum src/Dodge/Data/Item/Combine.hs 116;" f -_xNum src/Dodge/Data/Item/Combine.hs 126;" f -_xNum src/Dodge/Data/Item/Combine.hs 148;" f +_xNum src/Dodge/Data/Item/Combine.hs 118;" f +_xNum src/Dodge/Data/Item/Combine.hs 128;" f +_xNum src/Dodge/Data/Item/Combine.hs 150;" f aDroneWithItemParams src/Dodge/Item/Weapon/Drone.hs 30;" f aFlame src/Dodge/Gas.hs 18;" f aFlameParticle src/Dodge/Flame.hs 21;" f @@ -3323,8 +3327,8 @@ airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f allHotkeys src/Dodge/Creature/YourControl.hs 60;" f -allInvLocs src/Dodge/Item/Grammar.hs 244;" f -allVisibleWalls src/Dodge/Base/Collide.hs 131;" f +allInvLocs src/Dodge/Item/Grammar.hs 245;" f +allVisibleWalls src/Dodge/Base/Collide.hs 132;" f alongSegBy src/Geometry.hs 43;" f alteRifle src/Dodge/Item/Held/Cane.hs 65;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 112;" f @@ -3338,23 +3342,23 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 243;" f -applyCME src/Dodge/HeldUse.hs 125;" f +applyCME src/Dodge/HeldUse.hs 126;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f -applyInvLock src/Dodge/HeldUse.hs 140;" f -applyMagnetsToBul src/Dodge/Bullet.hs 37;" f +applyInvLock src/Dodge/HeldUse.hs 141;" f +applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 145;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 159;" f -applyResFactor src/Dodge/Data/Config.hs 108;" f +applyRecoil src/Dodge/HeldUse.hs 160;" f +applyResFactor src/Dodge/Data/Config.hs 110;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 79;" f -applySidePush src/Dodge/HeldUse.hs 166;" f -applySoundCME src/Dodge/HeldUse.hs 150;" f +applySidePush src/Dodge/HeldUse.hs 167;" f +applySoundCME src/Dodge/HeldUse.hs 151;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 40;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f @@ -3362,7 +3366,7 @@ applyToNode src/TreeHelp.hs 64;" f applyToRandomNode src/TreeHelp.hs 150;" f applyToSubforest src/TreeHelp.hs 77;" f applyToSubtree src/TreeHelp.hs 70;" f -applyTorqueCME src/Dodge/HeldUse.hs 177;" f +applyTorqueCME src/Dodge/HeldUse.hs 178;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -3397,7 +3401,7 @@ attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attribSize src/Shader/Compile.hs 306;" f augInvDirectSelect src/Dodge/Inventory.hs 191;" f -augmentedHUD src/Dodge/Item/Scope.hs 47;" f +augmentedHUD src/Dodge/Item/Scope.hs 53;" f autoAmr src/Dodge/Item/Held/Rod.hs 49;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f autoCrit src/Dodge/Creature/AutoCrit.hs 12;" f @@ -3424,10 +3428,10 @@ barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 384;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f +baseCI src/Dodge/Item/Grammar.hs 118;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 294;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 45;" f -basePCI src/Dodge/Item/Grammar.hs 117;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 297;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 381;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 364;" f @@ -3437,16 +3441,16 @@ baseStickShapeX src/Dodge/Item/Draw/SPic.hs 266;" f baseStickSpread src/Dodge/Item/Held/Stick.hs 39;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f -basicBulDams src/Dodge/Item/Weapon/Bullet.hs 25;" f +basicBulDams src/Dodge/Item/Weapon/Bullet.hs 23;" f basicCrPict src/Dodge/Creature/Picture.hs 26;" f basicCrShape src/Dodge/Creature/Picture.hs 34;" f basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 39;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 277;" f +basicMuzFlare src/Dodge/HeldUse.hs 278;" f basicTerminal src/Dodge/Terminal.hs 35;" f -battery src/Dodge/Item/Ammo.hs 91;" f +battery src/Dodge/Item/Ammo.hs 92;" f batteryPack src/Dodge/Item/Equipment.hs 56;" f belowNumX src/Dodge/Combine/Graph.hs 85;" f beltMag src/Dodge/Item/Ammo.hs 48;" f @@ -3482,9 +3486,9 @@ blunderbuss src/Dodge/Item/Held/Cone.hs 27;" f boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossRoom src/Dodge/Room/Boss.hs 60;" f -bounceBall src/Dodge/Base/Collide.hs 77;" f -bounceDir src/Dodge/Bullet.hs 114;" f -bouncePoint src/Dodge/Base/Collide.hs 87;" f +bounceBall src/Dodge/Base/Collide.hs 78;" f +bounceDir src/Dodge/Bullet.hs 113;" f +bouncePoint src/Dodge/Base/Collide.hs 88;" f boundPoints src/Bound.hs 10;" f boundedGrid src/Grid.hs 19;" f boxABC src/Polyhedra.hs 108;" f @@ -3504,10 +3508,9 @@ bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 110;" f bulletBeltPack src/Dodge/Item/Equipment.hs 92;" f -bulletModule src/Dodge/Item/Scope.hs 35;" f -bulletPayloadModule src/Dodge/Item/Scope.hs 44;" f -bulletSynthesizer src/Dodge/Item/Ammo.hs 121;" f -bulletTargetingModule src/Dodge/Item/Scope.hs 41;" f +bulletModule src/Dodge/Item/Scope.hs 36;" f +bulletPayloadModule src/Dodge/Item/Scope.hs 50;" f +bulletSynthesizer src/Dodge/Item/Ammo.hs 122;" f bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f burstRifle src/Dodge/Item/Held/Cane.hs 83;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 520;" f @@ -3545,7 +3548,7 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 43;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f checkConnection src/Dodge/Inventory/Swap.hs 85;" f checkDeath src/Dodge/Creature/State.hs 78;" f -checkEndGame src/Dodge/Update.hs 703;" f +checkEndGame src/Dodge/Update.hs 704;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3555,7 +3558,7 @@ checkTermDist src/Dodge/Update.hs 311;" 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 -chemFuelPouch src/Dodge/Item/Ammo.hs 106;" f +chemFuelPouch src/Dodge/Item/Ammo.hs 107;" f chooseCursorBorders src/Dodge/Render/List.hs 156;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 34;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f @@ -3564,6 +3567,7 @@ chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f chooseMovementPistol src/Dodge/Humanoid.hs 202;" f chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f +circCollisionDebugItem src/Dodge/Debug.hs 63;" f circOnAnyCr src/Dodge/Base/Collide.hs 193;" f circOnSeg src/Geometry.hs 104;" f circOnSegNoEndpoints src/Geometry.hs 94;" f @@ -3572,7 +3576,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -clClSpringVel src/Dodge/Update.hs 756;" f +clClSpringVel src/Dodge/Update.hs 757;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3585,7 +3589,7 @@ cleatLabel src/Dodge/Cleat.hs 30;" f cleatOnward src/Dodge/Cleat.hs 24;" f cleatSide src/Dodge/Cleat.hs 27;" f click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 428;" f -clickGetCreature src/Dodge/Debug.hs 83;" f +clickGetCreature src/Dodge/Debug.hs 107;" f clipV src/Geometry/Vector.hs 47;" f clipZoom src/Dodge/Update/Camera.hs 176;" f clockCycle src/Dodge/Clock.hs 9;" f @@ -3593,11 +3597,11 @@ closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 71;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 56;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 85;" f closeObjectInfo src/Dodge/Render/HUD.hs 211;" f -closestCreatureID src/Dodge/Debug.hs 92;" f +closestCreatureID src/Dodge/Debug.hs 116;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 726;" f +cloudEffect src/Dodge/Update.hs 727;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3611,12 +3615,12 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f colSpark src/Dodge/Spark.hs 47;" f colSparkRandDir src/Dodge/Spark.hs 101;" f collectDamageTypes src/Dodge/Damage.hs 32;" f -collectInvItems src/Dodge/Update/Input/InGame.hs 280;" f -collideCircWalls src/Dodge/Base/Collide.hs 149;" f -collidePoint src/Dodge/Base/Collide.hs 48;" f -collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f -collidePointWallsFilter src/Dodge/Base/Collide.hs 107;" f -collisionDebugItem src/Dodge/Debug.hs 31;" f +collectInvItems src/Dodge/Update/Input/InGame.hs 281;" f +collideCircWalls src/Dodge/Base/Collide.hs 150;" f +collidePoint src/Dodge/Base/Collide.hs 49;" f +collidePointTestFilter src/Dodge/Base/Collide.hs 94;" f +collidePointWallsFilter src/Dodge/Base/Collide.hs 108;" f +collisionDebugItem src/Dodge/Debug.hs 47;" f color src/Picture/Base.hs 108;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorSH src/Shape.hs 236;" f @@ -3645,7 +3649,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f conEffects src/Dodge/Concurrent.hs 13;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f -concurrentIS src/Dodge/Update/Input/InGame.hs 272;" f +concurrentIS src/Dodge/Update/Input/InGame.hs 273;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f @@ -3669,7 +3673,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCamouflage src/Dodge/Creature/Picture.hs 31;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 774;" f +crCrSpring src/Dodge/Update.hs 775;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 26;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3690,7 +3694,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f -crSpring src/Dodge/Update.hs 769;" f +crSpring src/Dodge/Update.hs 770;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f @@ -3710,7 +3714,7 @@ createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla.hs 81;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 600;" f +createProjectile src/Dodge/HeldUse.hs 603;" f createShell src/Dodge/Projectile/Create.hs 19;" f createShieldWall src/Dodge/Euse.hs 107;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f @@ -3774,7 +3778,7 @@ damageHP src/Dodge/Creature/Damage.hs 65;" f damageMaterial src/Dodge/Material/Damage.hs 7;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageStone src/Dodge/Material/Damage.hs 20;" f -damageThingHit src/Dodge/Bullet.hs 189;" f +damageThingHit src/Dodge/Bullet.hs 188;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f damageWall src/Dodge/Wall/Damage.hs 15;" f damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f @@ -3793,17 +3797,18 @@ deadRot src/Dodge/Creature/Picture.hs 87;" f deadScalp src/Dodge/Creature/Picture.hs 84;" f deadUpperBody src/Dodge/Creature/Picture.hs 128;" f debrisSize src/Dodge/Block/Debris.hs 111;" f -debugDraw src/Dodge/Debug/Picture.hs 124;" f -debugDraw' src/Dodge/Debug/Picture.hs 135;" f -debugEvent src/Dodge/Debug.hs 25;" f -debugEvents src/Dodge/Debug.hs 18;" f -debugList src/Dodge/Debug.hs 79;" f +debugDraw src/Dodge/Debug/Picture.hs 145;" f +debugDraw' src/Dodge/Debug/Picture.hs 156;" f +debugEvent src/Dodge/Debug.hs 26;" f +debugEvent' src/Dodge/Debug.hs 34;" f +debugEvents src/Dodge/Debug.hs 19;" f +debugList src/Dodge/Debug.hs 103;" f debugMenu src/Dodge/Menu.hs 116;" f debugMenuOptions src/Dodge/Menu.hs 119;" f -debugOn src/Dodge/Data/Config.hs 149;" f -debugSelectCreatureList src/Dodge/Debug.hs 62;" f -debugSelectCreatureMessage src/Dodge/Debug.hs 53;" f -decTimMvVel src/Dodge/Projectile/Update.hs 142;" f +debugOn src/Dodge/Data/Config.hs 151;" f +debugSelectCreatureList src/Dodge/Debug.hs 86;" f +debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f +decTimMvVel src/Dodge/Projectile/Update.hs 146;" f decodedtmap src/Dodge/Terminal.hs 205;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f @@ -3840,7 +3845,7 @@ defaultCWGen src/Dodge/Default/World.hs 57;" f defaultCWorld src/Dodge/Default/World.hs 82;" f defaultChaseMvType src/Dodge/Default/Creature.hs 108;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f -defaultConfig src/Dodge/Data/Config.hs 125;" f +defaultConfig src/Dodge/Data/Config.hs 127;" f defaultCorpse src/Dodge/Corpse/Make.hs 29;" f defaultCraftItem src/Dodge/Default/Item.hs 35;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f @@ -3895,7 +3900,7 @@ deleteWallFromZones src/Dodge/Wall/Zone.hs 23;" f deleteWallID src/Dodge/Wall/Delete.hs 13;" f deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f denormalEdges src/Polyhedra.hs 136;" f -destroyAt src/Dodge/Bullet.hs 213;" f +destroyAt src/Dodge/Bullet.hs 211;" f destroyBlock src/Dodge/Block.hs 56;" f destroyDoor src/Dodge/Block.hs 85;" f destroyInvItem src/Dodge/Inventory.hs 42;" f @@ -3912,7 +3917,7 @@ detector src/Dodge/Item/Held/Utility.hs 41;" f detectorColor src/Dodge/Item/Draw/SPic.hs 430;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 179;" f -determineProjectileTracking src/Dodge/HeldUse.hs 589;" f +determineProjectileTracking src/Dodge/HeldUse.hs 592;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 53;" f diffAngles src/Geometry.hs 210;" f @@ -3931,7 +3936,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 226;" f displayIndents src/Dodge/DisplayInventory.hs 123;" f -displayPulse src/Dodge/Item/Display.hs 97;" f +displayPulse src/Dodge/Item/Display.hs 98;" f displaySectionsSizes src/Dodge/DisplayInventory.hs 118;" f displayTerminalLineString src/Dodge/Update.hs 447;" f dist src/Geometry/Vector.hs 179;" f @@ -3950,7 +3955,7 @@ doArcStep src/Dodge/Tesla/Arc.hs 135;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBlBl src/Dodge/WorldEffect.hs 90;" f doBlSh src/Dodge/Block/Draw.hs 14;" f -doBounce src/Dodge/Base/Collide.hs 68;" f +doBounce src/Dodge/Base/Collide.hs 69;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f doConLoop src/Loop.hs 137;" f doConLoop' src/Loop.hs 226;" f @@ -3965,13 +3970,14 @@ doDamage src/Dodge/Creature/State.hs 139;" f doDamagesFL src/Dodge/Flame.hs 57;" f doDeathToggle src/Dodge/WorldEffect.hs 87;" f doDeathTriggers src/Dodge/WorldEffect.hs 82;" f +doDebugTest src/Dodge/Update/Input/DebugTest.hs 8;" f doDrWdWd src/Dodge/DrWdWd.hs 16;" f -doDrag src/Dodge/Update/Input/InGame.hs 98;" f +doDrag src/Dodge/Update/Input/InGame.hs 99;" f doDrawing src/Dodge/Render.hs 35;" f doDrawing' src/Dodge/Render.hs 46;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f -doGenFloat src/Dodge/HeldUse.hs 530;" f -doHeldUseEffect src/Dodge/HeldUse.hs 98;" f +doGenFloat src/Dodge/HeldUse.hs 533;" f +doHeldUseEffect src/Dodge/HeldUse.hs 99;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 26;" f @@ -3983,7 +3989,7 @@ doItmCrWdWd src/Dodge/Euse.hs 27;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f -doMagnetBuBu src/Dodge/Bullet.hs 41;" f +doMagnetBuBu src/Dodge/Bullet.hs 40;" f doMagnetBuBu src/Dodge/MagnetBuBu.hs 7;" f doMagnetUpdate src/Dodge/Magnet/Update.hs 6;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f @@ -3991,20 +3997,20 @@ doOutPlacements src/Dodge/Layout.hs 102;" f doP2Ac src/Dodge/CreatureEffect.hs 69;" f doP2Imp src/Dodge/CreatureEffect.hs 33;" f doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f -doPreload appDodge/Main.hs 131;" f +doPreload appDodge/Main.hs 132;" f doPressPlateEvent src/Dodge/PressPlate.hs 8;" f doPropUpdates src/Dodge/Prop/Update.hs 36;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 420;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 422;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f doRoomShift src/Dodge/Room/Link.hs 33;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f doSectionSize src/Dodge/DisplayInventory.hs 248;" f -doSideEffects appDodge/Main.hs 118;" f +doSideEffects appDodge/Main.hs 119;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f doTerminalBootProgram src/Dodge/WorldEffect.hs 96;" f @@ -4012,7 +4018,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTestDrawing src/Dodge/Render.hs 42;" 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 74;" f +doThrust src/Dodge/Projectile/Update.hs 75;" f doTimeScroll src/Dodge/Update.hs 205;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 101;" f @@ -4022,7 +4028,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 25;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 114;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 115;" f doWorldEvents src/Dodge/Update.hs 429;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f @@ -4043,24 +4049,26 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 13;" f drawBlock src/Dodge/Block/Draw.hs 7;" f -drawBoundingBox src/Dodge/Debug/Picture.hs 301;" f +drawBoundingBox src/Dodge/Debug/Picture.hs 325;" f drawBul src/Dodge/Bullet/Draw.hs 9;" f drawButton src/Dodge/Button/Draw.hs 9;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f +drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 220;" f drawCombineInventory src/Dodge/Render/HUD.hs 167;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f +drawCoord src/Dodge/Debug/Picture.hs 353;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f -drawCrInfo src/Dodge/Debug/Picture.hs 342;" f +drawCrInfo src/Dodge/Debug/Picture.hs 374;" f drawCreature src/Dodge/Render/ShapePicture.hs 41;" f -drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 165;" f +drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 188;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 71;" f -drawDDATest src/Dodge/Debug/Picture.hs 256;" f -drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f +drawDDATest src/Dodge/Debug/Picture.hs 280;" f +drawDoorPaths src/Dodge/Debug/Picture.hs 241;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawDrag src/Dodge/Render/Picture.hs 170;" f drawDragDrop src/Dodge/Render/Picture.hs 181;" f @@ -4069,20 +4077,20 @@ drawDragSelect src/Dodge/Render/Picture.hs 167;" f drawDragSelected src/Dodge/Render/HUD.hs 131;" f drawDragSelecting src/Dodge/Render/HUD.hs 148;" f drawEmptySet src/Dodge/Render/Picture.hs 117;" f -drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f +drawEnergyBall src/Dodge/EnergyBall/Draw.hs 10;" f drawEquipment src/Dodge/Creature/Picture.hs 142;" f drawExamineInventory src/Dodge/Render/HUD.hs 183;" f -drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f +drawFarWallDetect src/Dodge/Debug/Picture.hs 258;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f -drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f +drawFlamelet src/Dodge/EnergyBall/Draw.hs 26;" f drawFooterText src/Dodge/Render/MenuScreen.hs 75;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f drawGapPlus src/Dodge/Render/Picture.hs 230;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHUD src/Dodge/Render/HUD.hs 47;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 21;" f -drawInspectWall src/Dodge/Debug/Picture.hs 209;" f -drawInspectWalls src/Dodge/Debug/Picture.hs 197;" f +drawInspectWall src/Dodge/Debug/Picture.hs 233;" f +drawInspectWalls src/Dodge/Debug/Picture.hs 221;" f drawInventory src/Dodge/Render/HUD.hs 54;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 314;" f drawItemConnections src/Dodge/Render/HUD.hs 304;" f @@ -4104,13 +4112,13 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 15;" f drawMouseCursor src/Dodge/Render/Picture.hs 73;" f drawMouseOver src/Dodge/Render/HUD.hs 102;" f -drawMousePosition src/Dodge/Debug/Picture.hs 319;" f +drawMousePosition src/Dodge/Debug/Picture.hs 343;" f drawMovingShape src/Dodge/Prop/Draw.hs 67;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f drawOptions src/Dodge/Render/MenuScreen.hs 35;" f -drawPathBetween src/Dodge/Debug/Picture.hs 168;" f -drawPathEdge src/Dodge/Debug/Picture.hs 222;" f -drawPathing src/Dodge/Debug/Picture.hs 384;" f +drawPathBetween src/Dodge/Debug/Picture.hs 191;" f +drawPathEdge src/Dodge/Debug/Picture.hs 246;" f +drawPathing src/Dodge/Debug/Picture.hs 416;" f drawPlus src/Dodge/Render/Picture.hs 134;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f @@ -4134,7 +4142,7 @@ drawShadowsByImportance src/Dodge/Shadows.hs 8;" f drawShell src/Dodge/Projectile/Draw.hs 20;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f -drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f +drawStaticBall src/Dodge/EnergyBall/Draw.hs 16;" f drawSubInventory src/Dodge/Render/HUD.hs 159;" f drawSweep src/Dodge/Render/Picture.hs 246;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f @@ -4151,13 +4159,14 @@ drawTurret src/Dodge/Machine/Draw.hs 65;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 59;" f drawWall src/Dodge/Wall/Draw.hs 7;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f -drawWallSearchRays src/Dodge/Debug/Picture.hs 265;" f -drawWallsNearCursor src/Dodge/Debug/Picture.hs 189;" f -drawWallsNearYou src/Dodge/Debug/Picture.hs 180;" f +drawWallSearchRays src/Dodge/Debug/Picture.hs 289;" f +drawWallsNearCursor src/Dodge/Debug/Picture.hs 212;" f +drawWallsNearSegment src/Dodge/Debug/Picture.hs 121;" f +drawWallsNearYou src/Dodge/Debug/Picture.hs 203;" f drawWeapon src/Dodge/Creature/Volition.hs 14;" f -drawWlIDs src/Dodge/Debug/Picture.hs 329;" f -drawZoneCol src/Dodge/Debug/Picture.hs 117;" f -drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f +drawWlIDs src/Dodge/Debug/Picture.hs 361;" f +drawZoneCol src/Dodge/Debug/Picture.hs 138;" f +drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 273;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f dropByState src/Dodge/Creature/State.hs 133;" f dropExcept src/Dodge/Creature/Action.hs 171;" f @@ -4173,9 +4182,9 @@ dtToLRAdjEither src/Dodge/DoubleTree.hs 114;" f dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f dummyMenuOption src/Dodge/Menu/Option.hs 75;" f -ebFlicker src/Dodge/EnergyBall.hs 93;" f +ebFlicker src/Dodge/EnergyBall.hs 98;" f edgeFormatting src/Dodge/Combine/Graph.hs 130;" f -edgeToPic src/Dodge/Debug/Picture.hs 393;" f +edgeToPic src/Dodge/Debug/Picture.hs 425;" f effectWhileAttached src/Dodge/ItEffect.hs 24;" f ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 374;" f @@ -4186,8 +4195,8 @@ encircle src/Dodge/Creature/Boid.hs 115;" f encircleCloseP src/Dodge/Creature/Boid.hs 35;" f encircleDistP src/Dodge/Creature/Boid.hs 21;" f encircleP src/Dodge/Creature/Boid.hs 27;" f -endCombineRegex src/Dodge/Update/Input/InGame.hs 245;" f -endRegex src/Dodge/Update/Input/InGame.hs 234;" f +endCombineRegex src/Dodge/Update/Input/InGame.hs 246;" f +endRegex src/Dodge/Update/Input/InGame.hs 235;" f enterCombineInv src/Dodge/DisplayInventory.hs 354;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f @@ -4214,9 +4223,9 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f -expireAndDamage src/Dodge/Bullet.hs 196;" f +expireAndDamage src/Dodge/Bullet.hs 195;" f expireAndDamageFL src/Dodge/Flame.hs 47;" f -explodeShell src/Dodge/Projectile/Update.hs 154;" f +explodeShell src/Dodge/Projectile/Update.hs 158;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f @@ -4260,7 +4269,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 72;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 40;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 56;" f flamerPic src/Dodge/Item/Draw/SPic.hs 367;" f -flareCircleAt src/Dodge/HeldUse.hs 258;" f +flareCircleAt src/Dodge/HeldUse.hs 259;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 50;" f flatLookupItems src/Dodge/Combine.hs 38;" f flatShield src/Dodge/Item/Held/Utility.hs 20;" f @@ -4327,7 +4336,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 131;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f -gasCreate src/Dodge/HeldUse.hs 527;" f +gasCreate src/Dodge/HeldUse.hs 530;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4343,8 +4352,7 @@ getArguments src/Dodge/Update/Scroll.hs 215;" f getArguments' src/Dodge/Update/Scroll.hs 203;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 82;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f -getBulletTrajectory src/Dodge/HeldUse.hs 434;" f -getBulletType src/Dodge/HeldUse.hs 408;" f +getBulletType src/Dodge/HeldUse.hs 409;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f getCrDexterity src/Dodge/Creature/Statistics.hs 11;" f @@ -4353,9 +4361,9 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 14;" f getDamageCoding src/Dodge/Terminal.hs 177;" f getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 45;" f -getLaserColor src/Dodge/HeldUse.hs 274;" f -getLaserDamage src/Dodge/HeldUse.hs 271;" f -getLaserPhaseV src/Dodge/HeldUse.hs 268;" f +getLaserColor src/Dodge/HeldUse.hs 275;" f +getLaserDamage src/Dodge/HeldUse.hs 272;" f +getLaserPhaseV src/Dodge/HeldUse.hs 269;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 376;" f @@ -4416,7 +4424,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f haltSound src/Dodge/SoundLogic.hs 37;" f -hammerCheck src/Dodge/HeldUse.hs 51;" f +hammerCheck src/Dodge/HeldUse.hs 52;" f handleEvent src/Dodge/Event.hs 27;" f handleHotkeys src/Dodge/Creature/YourControl.hs 44;" f handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f @@ -4443,9 +4451,9 @@ healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 366;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 73;" f healthTest src/Dodge/Room/LasTurret.hs 94;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f -heldEffect src/Dodge/HeldUse.hs 37;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 87;" f -heldEffectNoHammerCheck src/Dodge/HeldUse.hs 40;" f +heldEffect src/Dodge/HeldUse.hs 38;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 88;" f +heldEffectNoHammerCheck src/Dodge/HeldUse.hs 41;" f heldInfo src/Dodge/Item/Info.hs 47;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 78;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 26;" f @@ -4460,12 +4468,12 @@ highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f -hitEffFromBul src/Dodge/Bullet.hs 159;" f +hitEffFromBul src/Dodge/Bullet.hs 158;" f hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f holdForm src/Dodge/Creature/Boid.hs 136;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingDrawType src/Dodge/Projectile/Create.hs 12;" f -homingModule src/Dodge/Item/Scope.hs 32;" f +homingModule src/Dodge/Item/Scope.hs 33;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 63;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 41;" f @@ -4479,7 +4487,7 @@ impulsiveAIBefore src/Dodge/Creature/Impulse.hs 22;" f inLink src/Dodge/RoomLink.hs 113;" f inSegArea src/Geometry/Intersect.hs 298;" f inTextInputFocus src/Dodge/InputFocus.hs 10;" f -incBallAt src/Dodge/EnergyBall.hs 53;" f +incBallAt src/Dodge/EnergyBall.hs 58;" f incidenceToFunction src/Dodge/Graph.hs 26;" f indefiniteExceptions src/StringHelp.hs 29;" f initCrItemLocation src/Dodge/Item/Location/Initialize.hs 41;" f @@ -4537,16 +4545,16 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 329;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj src/Dodge/Item/Grammar.hs 225;" f +invAdj src/Dodge/Item/Grammar.hs 226;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invDP src/Dodge/ListDisplayParams.hs 30;" f invDimColor src/Dodge/DisplayInventory.hs 220;" f invHead src/Dodge/Render/HUD.hs 391;" f invItemLocUpdate src/Dodge/Creature/State.hs 179;" f -invLDT src/Dodge/Item/Grammar.hs 205;" f +invLDT src/Dodge/Item/Grammar.hs 206;" f invRootItemEffs src/Dodge/Creature/State.hs 172;" f -invRootMap src/Dodge/Item/Grammar.hs 214;" f -invRootTrees src/Dodge/Item/Grammar.hs 235;" f +invRootMap src/Dodge/Item/Grammar.hs 215;" f +invRootTrees src/Dodge/Item/Grammar.hs 236;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 166;" f @@ -4562,13 +4570,13 @@ invertIntMap src/Multiset.hs 67;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 23;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 284;" f +isAmmoIntLink src/Dodge/HeldUse.hs 285;" f isAnimate src/Dodge/Creature/Test.hs 136;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 95;" f isElectrical src/Dodge/Data/Damage.hs 42;" f isFrictionless src/Dodge/Creature/State.hs 458;" f -isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 169;" f +isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 170;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f isJust' src/MaybeHelp.hs 29;" f isLHS src/Geometry/LHS.hs 8;" f @@ -4590,23 +4598,23 @@ isoMatrix src/MatrixHelper.hs 30;" f isotriBWH src/Geometry/Polygon.hs 20;" f itDim src/Dodge/Item/InvSize.hs 20;" f itInvHeight src/Dodge/Item/InvSize.hs 11;" f -itemBaseConnections src/Dodge/Item/Grammar.hs 120;" f +itemBaseConnections src/Dodge/Item/Grammar.hs 121;" f itemBaseName src/Dodge/Item/Display.hs 50;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f -itemDetectorEffect src/Dodge/HeldUse.hs 314;" f +itemDetectorEffect src/Dodge/HeldUse.hs 315;" f itemDisplay src/Dodge/Item/Display.hs 16;" f itemDisplayPad src/Dodge/Item/Display.hs 34;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f itemFromAmmoMag src/Dodge/Item.hs 28;" f itemFromAttachType src/Dodge/Item.hs 37;" f itemFromBase src/Dodge/Item.hs 17;" f -itemFromEquipType src/Dodge/Item.hs 46;" f +itemFromEquipType src/Dodge/Item.hs 47;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 13;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemNumberDisplay src/Dodge/Item/Display.hs 82;" f +itemNumberDisplay src/Dodge/Item/Display.hs 83;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f @@ -4624,7 +4632,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 18;" f itmUsageInfo src/Dodge/Item/Info.hs 185;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f -joinItemsInList src/Dodge/Item/Grammar.hs 195;" f +joinItemsInList src/Dodge/Item/Grammar.hs 196;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f @@ -4651,13 +4659,13 @@ lampCrSPic src/Dodge/Render/ShapePicture.hs 58;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 113;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 390;" f -lasRayAt src/Dodge/HeldUse.hs 385;" f +lasRayAt src/Dodge/HeldUse.hs 386;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 106;" f lasTunnel src/Dodge/Room/LasTurret.hs 125;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 166;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f laser src/Dodge/Item/Held/BatteryGuns.hs 48;" f -laserLinkTest src/Dodge/Item/Grammar.hs 126;" f +laserLinkTest src/Dodge/Item/Grammar.hs 127;" f lastMap src/Dodge/DoubleTree.hs 174;" f launcher src/Dodge/Item/Held/Launcher.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f @@ -4675,9 +4683,9 @@ ldtToIM src/Dodge/DoubleTree.hs 143;" f ldtToIndentList src/Dodge/DoubleTree.hs 146;" f ldtToLoc src/Dodge/DoubleTree.hs 187;" f left src/DoubleStack.hs 16;" f -leftIsParentCombine src/Dodge/Item/Grammar.hs 165;" f +leftIsParentCombine src/Dodge/Item/Grammar.hs 166;" f leftPad src/Padding.hs 14;" f -leftRightCombine src/Dodge/Item/Grammar.hs 179;" f +leftRightCombine src/Dodge/Item/Grammar.hs 180;" f legsSPic src/Dodge/Item/Draw/SPic.hs 454;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f light src/Color.hs 104;" f @@ -4705,15 +4713,15 @@ listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 346;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f -llleft src/Dodge/Item/Grammar.hs 129;" f -llright src/Dodge/Item/Grammar.hs 135;" f +llleft src/Dodge/Item/Grammar.hs 130;" f +llright src/Dodge/Item/Grammar.hs 136;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 380;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 194;" f +loadMuzzle src/Dodge/HeldUse.hs 195;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4768,8 +4776,8 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 51;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 478;" f -makeBullet' src/Dodge/HeldUse.hs 464;" f +makeBullet src/Dodge/HeldUse.hs 481;" f +makeBullet' src/Dodge/HeldUse.hs 467;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4783,23 +4791,23 @@ makeDebrisToHeight src/Dodge/Block/Debris.hs 39;" f makeDefaultCorpse src/Dodge/Corpse/Make.hs 14;" f makeDoorDebris src/Dodge/Block/Debris.hs 18;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f -makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 73;" f -makeFlak src/Dodge/Bullet.hs 145;" f +makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 72;" f +makeFlak src/Dodge/Bullet.hs 144;" f makeFlame src/Dodge/Flame.hs 131;" f -makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 56;" f -makeFlamelet src/Dodge/EnergyBall.hs 15;" f +makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 55;" f +makeFlamelet src/Dodge/EnergyBall.hs 17;" f makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f -makeFlashBall src/Dodge/EnergyBall.hs 73;" f +makeFlashBall src/Dodge/EnergyBall.hs 78;" f makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f -makeFragBullets src/Dodge/Bullet.hs 130;" f +makeFragBullets src/Dodge/Bullet.hs 129;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 216;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 217;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f -makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f +makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f makeRect src/Grid.hs 82;" f makeSelectionListPictures src/Dodge/Render/List.hs 65;" f makeShaderEBO src/Shader/Compile.hs 53;" f @@ -4808,6 +4816,7 @@ makeShaderUsingVAO src/Shader/Compile.hs 146;" f makeShaderUsingVBO src/Shader/Compile.hs 69;" f makeShaderVBO src/Shader/Compile.hs 32;" f makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f +makeShrapnelAt src/Dodge/Payload.hs 24;" f makeSourcedShader src/Shader/Compile.hs 167;" f makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f @@ -4819,14 +4828,14 @@ makeTermPara src/Dodge/Terminal.hs 123;" f makeTeslaArc src/Dodge/Tesla.hs 65;" f makeTeslaArc src/Dodge/Tesla/Arc.hs 65;" f makeTeslaBallAt src/Dodge/Tesla/Ball.hs 6;" f -makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f +makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 39;" f makeThickSmokeAt src/Dodge/WorldEvent/Cloud.hs 54;" f makeThinSmokeAt src/Dodge/WorldEvent/Cloud.hs 57;" f makeTileFromPoly src/Tile.hs 34;" f makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 688;" f +markWallSeen src/Dodge/Update.hs 689;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4837,11 +4846,11 @@ maybeClearPath src/Dodge/Block.hs 77;" f maybeClearPaths src/Dodge/Block.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 583;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 585;" f maybeOpenTerminal src/Dodge/Update.hs 122;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f -maybeTakeOne src/RandomHelp.hs 111;" f -maybeWarmupStatus src/Dodge/Item/Display.hs 103;" f +maybeTakeOne src/RandomHelp.hs 116;" f +maybeWarmupStatus src/Dodge/Item/Display.hs 104;" f mcApplyDamage src/Dodge/Machine/Update.hs 108;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f @@ -4851,14 +4860,14 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 124;" f mcSPic src/Dodge/Render/ShapePicture.hs 132;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f -mcShootAuto src/Dodge/HeldUse.hs 562;" f -mcShootLaser src/Dodge/HeldUse.hs 554;" f +mcShootAuto src/Dodge/HeldUse.hs 565;" f +mcShootLaser src/Dodge/HeldUse.hs 557;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 497;" f +mcUseHeld src/Dodge/HeldUse.hs 500;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f -megaBattery src/Dodge/Item/Ammo.hs 79;" f +megaBattery src/Dodge/Item/Ammo.hs 80;" f megaShellMag src/Dodge/Item/Ammo.hs 55;" f megaTinMag src/Dodge/Item/Ammo.hs 21;" f meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f @@ -4925,13 +4934,13 @@ mouseActionsCr src/Dodge/Creature/YourControl.hs 164;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f mouseCursorType src/Dodge/Render/Picture.hs 80;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f -moveBullet src/Dodge/Bullet.hs 205;" f +moveBullet src/Dodge/Bullet.hs 204;" f moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveHammerUp src/Dodge/Hammer.hs 5;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 53;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f moveOldHotkey src/Dodge/Hotkey.hs 31;" f -movePenBullet src/Dodge/Bullet.hs 223;" f +movePenBullet src/Dodge/Bullet.hs 221;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 17;" f moveToSideFirstOutLink src/Dodge/Room/Warning.hs 56;" f @@ -4949,11 +4958,11 @@ multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 34;" f multiLookupTrieI src/SimpleTrie.hs 43;" f muout src/Dodge/RoomLink.hs 129;" f -muzFlareAt src/Dodge/HeldUse.hs 244;" f +muzFlareAt src/Dodge/HeldUse.hs 245;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f -mvGust src/Dodge/Update.hs 717;" f +mvGust src/Dodge/Update.hs 718;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f @@ -5002,7 +5011,7 @@ numSelfTree' src/Dodge/Tree/Compose.hs 110;" f numShads src/Picture/Data.hs 42;" f numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 183;" f -obstacleColor src/Dodge/Debug/Picture.hs 227;" f +obstacleColor src/Dodge/Debug/Picture.hs 251;" f obstructPathsCrossing src/Dodge/Path.hs 138;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f onEquipWristShield src/Dodge/Euse.hs 56;" f @@ -5042,10 +5051,10 @@ overPos src/Picture/Base.hs 303;" f overPosObj src/Shape.hs 276;" f overPosSH src/Shape.hs 260;" f overPosSP src/ShapePicture.hs 41;" f -overlapCircWalls src/Dodge/Base/Collide.hs 137;" f +overlapCircWalls src/Dodge/Base/Collide.hs 138;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 168;" f -overlapSegCrs src/Dodge/Base/Collide.hs 58;" f -overlapSegWalls src/Dodge/Base/Collide.hs 119;" f +overlapSegCrs src/Dodge/Base/Collide.hs 59;" f +overlapSegWalls src/Dodge/Base/Collide.hs 120;" f overrideInternal src/Dodge/Creature/ReaderUpdate.hs 172;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 33;" f overwriteLabel src/Dodge/Tree/Compose.hs 31;" f @@ -5062,14 +5071,14 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 503;" f +pauseGame src/Dodge/Update/Input/InGame.hs 505;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f pauseTime src/Dodge/Update.hs 189;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f -penThing src/Dodge/Bullet.hs 235;" f +penThing src/Dodge/Bullet.hs 233;" f perMat src/MatrixHelper.hs 49;" f perceptionUpdate src/Dodge/Creature/Perception.hs 22;" f performAction src/Dodge/Creature/Action.hs 96;" f @@ -5097,7 +5106,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 42;" f pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f pistolerRoom src/Dodge/Room/Room.hs 321;" f -pjRemoteSetDirection src/Dodge/Projectile/Update.hs 113;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 116;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f @@ -5124,7 +5133,7 @@ playIfFree src/Sound.hs 136;" f playPositionalSoundQueue src/Sound.hs 144;" f playSoundAndUpdate src/Sound.hs 54;" f playSoundQueue src/Sound.hs 131;" f -playSoundUnlessRewinding appDodge/Main.hs 111;" f +playSoundUnlessRewinding appDodge/Main.hs 112;" f plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f pmLineLoop src/Shader/Data.hs 107;" f pmLineStrip src/Shader/Data.hs 107;" f @@ -5218,7 +5227,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 117;" f -ppEvents src/Dodge/Update.hs 680;" f +ppEvents src/Dodge/Update.hs 681;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5306,15 +5315,16 @@ randEdgeTank src/Dodge/Room/Tanks.hs 33;" f randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f randEnergyBallAt src/Dodge/WorldEvent/SpawnParticle.hs 14;" f randFirstWeapon src/Dodge/Placement/Random.hs 8;" f -randInArc src/RandomHelp.hs 76;" f -randInArcStrip src/RandomHelp.hs 79;" f +randInArc src/RandomHelp.hs 81;" f +randInArcStrip src/RandomHelp.hs 84;" f randInCirc src/RandomHelp.hs 73;" f -randInHemisphere src/RandomHelp.hs 99;" f -randInRect src/RandomHelp.hs 105;" f -randOnHemisphere src/RandomHelp.hs 92;" f -randOnUnitSphere src/RandomHelp.hs 85;" f -randPeaked src/RandomHelp.hs 133;" f -randPeakedParam src/RandomHelp.hs 125;" f +randInHemisphere src/RandomHelp.hs 104;" f +randInRect src/RandomHelp.hs 110;" f +randOnCirc src/RandomHelp.hs 76;" f +randOnHemisphere src/RandomHelp.hs 97;" f +randOnUnitSphere src/RandomHelp.hs 90;" f +randPeaked src/RandomHelp.hs 138;" f +randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 74;" f randWallReflect src/Dodge/Tesla.hs 57;" f @@ -5331,8 +5341,8 @@ randomRanges src/RandomHelp.hs 16;" f randomSelectionFromList src/RandomHelp.hs 65;" f randomTank src/Dodge/Room/Tanks.hs 19;" f randomTreeStructure src/Dodge/Layout/Generate.hs 18;" f -randsOnCirc src/RandomHelp.hs 122;" f -randsSpread src/RandomHelp.hs 115;" f +randsOnCirc src/RandomHelp.hs 127;" f +randsSpread src/RandomHelp.hs 120;" f ratIntersectLineLine src/Geometry/Intersect.hs 195;" f readSaveSlot src/Dodge/Save.hs 45;" f rectNSWE src/Geometry/Polygon.hs 13;" f @@ -5343,7 +5353,7 @@ rectXY src/Geometry/Polygon.hs 35;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f red src/Color.hs 14;" f reduceLocLDT src/Dodge/DoubleTree.hs 256;" f -reduceSpinBy src/Dodge/Projectile/Update.hs 139;" f +reduceSpinBy src/Dodge/Projectile/Update.hs 143;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f @@ -5359,9 +5369,9 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f reloadLevelStart src/Dodge/Save.hs 71;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f -remoteScreen src/Dodge/Item/Scope.hs 50;" f +remoteScreen src/Dodge/Item/Scope.hs 56;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 395;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 396;" f removeDot src/ShortShow.hs 30;" f removeHotkey src/Dodge/Hotkey.hs 40;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -5406,7 +5416,7 @@ rezText' src/Dodge/Story.hs 17;" f rhombus src/Polyhedra.hs 72;" f rifle src/Dodge/Item/Held/Cane.hs 55;" f right src/DoubleStack.hs 16;" f -rightIsParentCombine src/Dodge/Item/Grammar.hs 172;" f +rightIsParentCombine src/Dodge/Item/Grammar.hs 173;" f rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f @@ -5506,7 +5516,7 @@ scrollAugInvSel src/Dodge/Inventory.hs 199;" f scrollAugNextInSection src/Dodge/Inventory.hs 212;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 198;" f scrollCommands src/Dodge/Update/Scroll.hs 195;" f -scrollDebugInfoInt src/Dodge/Debug.hs 47;" f +scrollDebugInfoInt src/Dodge/Debug.hs 71;" f scrollRBOption src/Dodge/Update/Scroll.hs 172;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f scrollTimeBack src/Dodge/Update.hs 215;" f @@ -5527,7 +5537,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 237;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selCloseObj src/Dodge/Update/Input/InGame.hs 526;" f +selCloseObj src/Dodge/Update/Input/InGame.hs 528;" f selNumPos src/Dodge/Render/HUD.hs 440;" f selNumPosCardinal src/Dodge/Render/HUD.hs 463;" f selSecDrawCursor src/Dodge/Render/List.hs 126;" f @@ -5535,7 +5545,7 @@ selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f selSecSelCol src/Dodge/Render/HUD.hs 492;" f selSecSelSize src/Dodge/SelectionSections.hs 180;" f selSecYint src/Dodge/SelectionSections.hs 189;" f -selectCreatureDebugItem src/Dodge/Debug.hs 39;" f +selectCreatureDebugItem src/Dodge/Debug.hs 55;" f selectUse src/Dodge/SelectUse.hs 10;" f selectedItemScroll src/Dodge/Update/Scroll.hs 60;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f @@ -5555,7 +5565,7 @@ setClusterID src/Dodge/Combine/Graph.hs 115;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f setFallback src/Dodge/PlacementSpot.hs 127;" f -setFromToDams src/Dodge/Bullet.hs 184;" f +setFromToDams src/Dodge/Bullet.hs 183;" f setHotkey src/Dodge/Hotkey.hs 37;" f setInLinks src/Dodge/RoomLink.hs 51;" f setInLinksByType src/Dodge/RoomLink.hs 54;" f @@ -5572,7 +5582,7 @@ setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 408;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 316;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 317;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f setShaderSource src/Shader/Compile.hs 290;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5615,6 +5625,7 @@ shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 52;" f shellCollisionEffect src/Dodge/Projectile/Update.hs 48;" f shellMag src/Dodge/Item/Ammo.hs 61;" f +shellModule src/Dodge/Item/Scope.hs 42;" f shellShape src/Dodge/Projectile/Draw.hs 27;" f shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f shieldWall src/Dodge/Euse.hs 87;" f @@ -5623,9 +5634,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 67;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 73;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 290;" f -shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 329;" f -shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 323;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 291;" f +shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 330;" f +shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 324;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f @@ -5640,14 +5651,14 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f shineTargetLaser src/Dodge/Creature/State.hs 308;" f shineTorch src/Dodge/Creature/State.hs 350;" f -shootBullet src/Dodge/HeldUse.hs 454;" f +shootBullet src/Dodge/HeldUse.hs 456;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f -shootLaser src/Dodge/HeldUse.hs 365;" f +shootLaser src/Dodge/HeldUse.hs 366;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 577;" f +shootTeslaArc src/Dodge/HeldUse.hs 580;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 344;" f +shootTractorBeam src/Dodge/HeldUse.hs 345;" f shootersRoom src/Dodge/Room/Room.hs 315;" f shootersRoom' src/Dodge/Room/Room.hs 280;" f shootersRoom1 src/Dodge/Room/Room.hs 305;" f @@ -5659,7 +5670,7 @@ shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f shoulderSH src/Dodge/Creature/Picture.hs 139;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f showAttachItem src/Dodge/Item/Display.hs 64;" f -showEquipItem src/Dodge/Item/Display.hs 77;" f +showEquipItem src/Dodge/Item/Display.hs 78;" f showInt src/Dodge/Item/Info.hs 30;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showManObj src/Dodge/TestString.hs 75;" f @@ -5672,7 +5683,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 129;" f -simpleCrSprings src/Dodge/Update.hs 765;" f +simpleCrSprings src/Dodge/Update.hs 766;" f simpleDamFL src/Dodge/Flame.hs 40;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5690,7 +5701,7 @@ slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f slideWindow src/ListHelp.hs 80;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 152;" f slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 169;" f -smallBattery src/Dodge/Item/Ammo.hs 85;" f +smallBattery src/Dodge/Item/Ammo.hs 86;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f smallDrawTree src/Dodge/LevelGen.hs 88;" f @@ -5713,14 +5724,14 @@ soundMenu src/Dodge/Menu.hs 137;" f soundMenuOptions src/Dodge/Menu.hs 140;" f soundMultiFrom src/Dodge/SoundLogic.hs 173;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 220;" f -soundPic src/Dodge/Debug/Picture.hs 306;" f +soundPic src/Dodge/Debug/Picture.hs 330;" f soundStart src/Dodge/SoundLogic.hs 112;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 112;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 506;" f +spaceAction src/Dodge/Update/Input/InGame.hs 508;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 190;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f @@ -5748,7 +5759,7 @@ spreadCenter src/Dodge/Base.hs 165;" f spreadFromCenter src/Dodge/Base.hs 154;" f spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 12;" f spreadOut src/Dodge/Creature/Boid.hs 157;" f -springLinkTest src/Dodge/Item/Grammar.hs 147;" f +springLinkTest src/Dodge/Item/Grammar.hs 148;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f square src/Geometry/Polygon.hs 46;" f @@ -5774,10 +5785,10 @@ ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackText src/Picture/Base.hs 188;" f -stackedInventory src/Dodge/Creature.hs 286;" f +stackedInventory src/Dodge/Creature.hs 296;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f -startDrag src/Dodge/Update/Input/InGame.hs 256;" f +startDrag src/Dodge/Update/Input/InGame.hs 257;" f startInvList src/Dodge/Creature.hs 110;" f startInventory src/Dodge/Creature.hs 113;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5842,7 +5853,7 @@ targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 13;" f targetYouLOS src/Dodge/Creature/ChooseTarget.hs 7;" f targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 194;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f -targetingScope src/Dodge/Item/Scope.hs 22;" f +targetingScope src/Dodge/Item/Scope.hs 23;" f telRoomLev src/Dodge/Room/Teleport.hs 14;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 390;" f termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f @@ -5861,7 +5872,7 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 37;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f testEvent src/Dodge/Event/Test.hs 10;" f -testInventory src/Dodge/Creature.hs 267;" f +testInventory src/Dodge/Creature.hs 277;" f testStringInit src/Dodge/TestString.hs 28;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f @@ -5876,7 +5887,7 @@ tflat3 src/Picture/Data.hs 64;" f tflat4 src/Picture/Data.hs 68;" f theCleanup appDodge/Main.hs 75;" f theColumns src/Dodge/Tree/Shift.hs 139;" f -theUpdateStep appDodge/Main.hs 103;" f +theUpdateStep appDodge/Main.hs 104;" f thickArc src/Picture/Base.hs 298;" f thickCircle src/Picture/Base.hs 272;" f thickLine src/Picture/Base.hs 244;" f @@ -5906,7 +5917,7 @@ toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f toFloatVAs src/Shader/Compile.hs 211;" f toLabel src/Dodge/Cleat.hs 16;" f -toLasgunUpdate src/Dodge/Item/Grammar.hs 140;" f +toLasgunUpdate src/Dodge/Item/Grammar.hs 141;" f toMultiset src/Multiset.hs 64;" f toOnward src/Dodge/Tree/Compose.hs 101;" f toTopLeft src/Dodge/Render/List.hs 219;" f @@ -5917,8 +5928,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f toggleCommand src/Dodge/Terminal.hs 196;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 49;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 547;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 560;" f +toggleMap src/Dodge/Update/Input/InGame.hs 549;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 562;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -5933,7 +5944,7 @@ torqueCr src/Dodge/WorldEffect.hs 63;" f torso src/Dodge/Creature/Picture.hs 105;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 354;" f +tractorBeamAt src/Dodge/HeldUse.hs 355;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 70;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 414;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -5988,19 +5999,19 @@ truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 94;" f tryAttachItems src/Dodge/Item/Grammar.hs 21;" f -tryCombine src/Dodge/Update/Input/InGame.hs 569;" f -tryDropSelected src/Dodge/Update/Input/InGame.hs 114;" f +tryCombine src/Dodge/Update/Input/InGame.hs 571;" f +tryDropSelected src/Dodge/Update/Input/InGame.hs 115;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f -tryPickupSelected src/Dodge/Update/Input/InGame.hs 121;" f +tryPickupSelected src/Dodge/Update/Input/InGame.hs 122;" f tryPlay src/Sound.hs 83;" f tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f -trySpinByCID src/Dodge/Projectile/Update.hs 95;" f +trySpinByCID src/Dodge/Projectile/Update.hs 98;" f trySynthBullet src/Dodge/Creature/State.hs 204;" f tryUseParent src/Dodge/Creature/State.hs 197;" f turnTo src/Dodge/Movement/Turn.hs 4;" f @@ -6040,73 +6051,73 @@ updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 91;" f updateArc src/Dodge/Tesla/Arc.hs 100;" f updateAttachedItems src/Dodge/Creature/State.hs 266;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 457;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 206;" f -updateBulVel src/Dodge/Bullet.hs 62;" f +updateBulVel src/Dodge/Bullet.hs 61;" f updateBullet src/Dodge/Bullet.hs 22;" f updateBullets src/Dodge/Update.hs 545;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 112;" f -updateCloud src/Dodge/Update.hs 731;" f -updateClouds src/Dodge/Update.hs 575;" f +updateCloud src/Dodge/Update.hs 732;" f +updateClouds src/Dodge/Update.hs 576;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 41;" f updateCombineSections src/Dodge/DisplayInventory.hs 48;" f updateCreature src/Dodge/Creature/Update.hs 13;" f updateCreatureGroups src/Dodge/Update.hs 517;" f updateCreatureSoundPositions src/Dodge/Update.hs 493;" f updateDebugMessageOffset src/Dodge/Update.hs 91;" f -updateDelayedEvents src/Dodge/Update.hs 794;" f +updateDelayedEvents src/Dodge/Update.hs 795;" f updateDisplaySections src/Dodge/DisplayInventory.hs 130;" f updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 538;" f updateEnergyBall src/Dodge/EnergyBall.hs 45;" f -updateEnergyBalls src/Dodge/Update.hs 563;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 482;" f +updateEnergyBalls src/Dodge/Update.hs 564;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 484;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 70;" f -updateFlames src/Dodge/Update.hs 560;" f +updateFlames src/Dodge/Update.hs 561;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 346;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 339;" f -updateGusts src/Dodge/Update.hs 714;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 347;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 340;" f +updateGusts src/Dodge/Update.hs 715;" f updateHeldRootItem src/Dodge/Creature/State.hs 260;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 507;" f updateIMl' src/Dodge/Update.hs 512;" f updateInGameCamera src/Dodge/Update/Camera.hs 71;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 401;" f updateInv src/Dodge/Creature/State.hs 162;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f updateItemTargeting src/Dodge/Creature/State.hs 377;" f updateItemWithOrientation src/Dodge/Creature/State.hs 286;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 393;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 395;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 383;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f updateLasers src/Dodge/Update.hs 436;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 414;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 416;" f updateMachine src/Dodge/Machine/Update.hs 19;" f updateMagnets src/Dodge/Update.hs 307;" f -updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 175;" f +updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 176;" f updateMouseContext src/Dodge/Update.hs 319;" f updateMouseContextGame src/Dodge/Update.hs 324;" f -updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 87;" f -updateMouseInGame src/Dodge/Update/Input/InGame.hs 79;" f -updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 142;" f +updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 88;" f +updateMouseInGame src/Dodge/Update/Input/InGame.hs 80;" f +updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 143;" f updateMovement src/Dodge/Creature/State.hs 448;" f updateObjCatMaybes src/Dodge/Update.hs 529;" f updateObjMapMaybe src/Dodge/Update.hs 522;" f updatePastWorlds src/Dodge/Update.hs 424;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 572;" f +updatePosEvents src/Dodge/Update.hs 573;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 356;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 359;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 358;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 361;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 22;" f @@ -6114,35 +6125,35 @@ updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f updateRadarBlips src/Dodge/Update.hs 541;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 566;" f +updateRadarSweeps src/Dodge/Update.hs 567;" f updateRandNode src/TreeHelp.hs 108;" f -updateRenderSplit appDodge/Main.hs 106;" f +updateRenderSplit appDodge/Main.hs 107;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f updateScopeZoom src/Dodge/Update/Scroll.hs 76;" f updateScopeZoom' src/Dodge/Update/Scroll.hs 81;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 301;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 274;" f -updateSeenWalls src/Dodge/Update.hs 683;" f +updateSeenWalls src/Dodge/Update.hs 684;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 557;" f +updateShockwaves src/Dodge/Update.hs 558;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 569;" f +updateSparks src/Dodge/Update.hs 570;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla.hs 23;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f -updateTeslaArcs src/Dodge/Update.hs 551;" f +updateTeslaArcs src/Dodge/Update.hs 552;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 554;" f +updateTractorBeams src/Dodge/Update.hs 555;" f updateTurret src/Dodge/Machine/Update.hs 49;" f updateUniverse src/Dodge/Update.hs 70;" f updateUniverseFirst src/Dodge/Update.hs 82;" f updateUniverseLast src/Dodge/Update.hs 132;" f updateUniverseMid src/Dodge/Update.hs 154;" f -updateUseInputInGame src/Dodge/Update/Input/InGame.hs 39;" f +updateUseInputInGame src/Dodge/Update/Input/InGame.hs 40;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 21;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f @@ -6170,27 +6181,27 @@ upperPrismPolyTS src/Shape.hs 119;" f upperRounded src/Shape.hs 184;" f useBreakL src/Dodge/Item/Grammar.hs 27;" f useBreakListsLinkTest src/Dodge/Item/Grammar.hs 35;" f -useBulletPayload src/Dodge/Bullet.hs 119;" f +useBulletPayload src/Dodge/Bullet.hs 118;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 34;" f -useGasParams src/Dodge/HeldUse.hs 502;" f +useGasParams src/Dodge/HeldUse.hs 505;" f useHotkey src/Dodge/Creature/YourControl.hs 54;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 288;" f +useLoadedAmmo src/Dodge/HeldUse.hs 289;" f useMagShield src/Dodge/Euse.hs 46;" f useNormalCamera src/Dodge/Camera.hs 6;" f -usePayload src/Dodge/Payload.hs 7;" f -useRewindGun src/Dodge/HeldUse.hs 661;" f +usePayload src/Dodge/Payload.hs 18;" f +useRewindGun src/Dodge/HeldUse.hs 665;" f useRewindGun src/Dodge/Luse.hs 40;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f -useStopWatch src/Dodge/HeldUse.hs 642;" f +useStopWatch src/Dodge/HeldUse.hs 646;" f useStopWatch src/Dodge/Luse.hs 21;" f -useTimeCheck src/Dodge/HeldUse.hs 62;" f +useTimeCheck src/Dodge/HeldUse.hs 63;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 650;" f +useTimeScrollGun src/Dodge/HeldUse.hs 654;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUpdate src/Dodge/Creature/State.hs 433;" f @@ -6215,18 +6226,18 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 24;" f -viewBoundaries src/Dodge/Debug/Picture.hs 274;" f -viewClipBounds src/Dodge/Debug/Picture.hs 283;" f +viewBoundaries src/Dodge/Debug/Picture.hs 298;" f +viewClipBounds src/Dodge/Debug/Picture.hs 307;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 129;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 144;" f violet src/Color.hs 21;" f -visibleWalls src/Dodge/Base/Collide.hs 123;" f +visibleWalls src/Dodge/Base/Collide.hs 124;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 31;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 328;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 322;" f +walkNozzle src/Dodge/HeldUse.hs 323;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f @@ -6344,5 +6355,5 @@ zoomFloatingCamera src/Dodge/Update/Camera.hs 64;" f zoomFromItem src/Dodge/Update/Camera.hs 172;" f zoomInLongGun src/Dodge/Update/Scroll.hs 104;" f zoomOutLongGun src/Dodge/Update/Scroll.hs 112;" f -zoomScope src/Dodge/Item/Scope.hs 17;" f +zoomScope src/Dodge/Item/Scope.hs 18;" f zoomSpeed src/Dodge/Update/Scroll.hs 101;" f