diff --git a/ghcidOutput b/ghcidOutput index 0445231ee..ccf21e697 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (600 modules, at 00:59:03) +All good (598 modules, at 01:27:16) diff --git a/src/Dodge/Data/Flare.hs b/src/Dodge/Data/Flare.hs deleted file mode 100644 index 4bcfd7763..000000000 --- a/src/Dodge/Data/Flare.hs +++ /dev/null @@ -1,30 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE DeriveAnyClass #-} -{-# LANGUAGE StrictData #-} -{-# LANGUAGE TemplateHaskell #-} - -module Dodge.Data.Flare where - -import Color -import Control.Lens -import Data.Aeson -import Data.Aeson.TH -import Geometry - -data Flare - = MuzFlare - { _flarePoly :: [Point2] - , _flareColor :: Color - , _flareTran3 :: Point3 - , _flareTime :: Int - } - | CircFlare - { _flareColor :: Color - , _flareAlpha :: Float - , _flareTran3 :: Point3 - , _flareTime :: Int - } - deriving (Eq, Ord, Show, Read) --Generic, Flat) - -makeLenses ''Flare -deriveJSON defaultOptions ''Flare diff --git a/src/Dodge/Data/LWorld.hs b/src/Dodge/Data/LWorld.hs index b034b04e9..f4d606267 100644 --- a/src/Dodge/Data/LWorld.hs +++ b/src/Dodge/Data/LWorld.hs @@ -19,7 +19,6 @@ module Dodge.Data.LWorld ( module Dodge.Data.Door, module Dodge.Data.EnergyBall, module Dodge.Data.Flame, - module Dodge.Data.Flare, module Dodge.Data.FloorItem, module Dodge.Data.ForegroundShape, module Dodge.Data.Gust, @@ -65,7 +64,6 @@ import Dodge.Data.Distortion import Dodge.Data.Door import Dodge.Data.EnergyBall import Dodge.Data.Flame -import Dodge.Data.Flare import Dodge.Data.FloorItem import Dodge.Data.ForegroundShape import Dodge.Data.Gust @@ -111,7 +109,7 @@ data LWorld = LWorld , _flames :: [Flame] , _sparks :: [Spark] , _radarBlips :: [RadarBlip] - , _flares :: [Flare] + , _flares :: Picture -- picture drawn for one frame , _teslaArcs :: [TeslaArc] , _shockwaves :: [Shockwave] , _lasers :: [LaserStart] diff --git a/src/Dodge/Flare.hs b/src/Dodge/Flare.hs deleted file mode 100644 index b0d0ce8b4..000000000 --- a/src/Dodge/Flare.hs +++ /dev/null @@ -1,35 +0,0 @@ -module Dodge.Flare ( - drawFlare, - updateFlare, -) where - -import Dodge.Data.Flare -import LensHelp -import Picture - -updateFlare :: Flare -> Maybe Flare -updateFlare rb - | _flareTime rb <= 0 = Nothing - | otherwise = Just $ rb & flareTime -~ 1 - -drawFlare :: Flare -> Picture -drawFlare fl = case fl of - MuzFlare{} -> drawMuzFlare fl - CircFlare{} -> drawCircFlare fl - -drawMuzFlare :: Flare -> Picture -drawMuzFlare pt = setLayer BloomNoZWrite . translate3 tranv $ theShape - where - tranv = _flareTran3 pt - col = _flareColor pt - poly = _flarePoly pt - theShape = color col $ polygon poly - -drawCircFlare :: Flare -> Picture -drawCircFlare pt = - setLayer BloomNoZWrite . translate3 tranv $ - circleSolidCol (withAlpha 0 0) (withAlpha alphax col) 50 - where - col = _flareColor pt - tranv = _flareTran3 pt - alphax = _flareAlpha pt diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 7e55843f9..0537d6b54 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -26,6 +26,7 @@ import Dodge.Tesla.Arc import Geometry import LensHelp import ListHelp +import Picture.Base import RandomHelp import qualified SDL @@ -39,7 +40,6 @@ hammerCheck f it cr w = case it ^? ldtValue . itUse . heldTriggerType of _ -> w _ -> f it cr w - heldEffectMuzzles :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World heldEffectMuzzles t cr w = uncurry (applyCME (_ldtValue t) cr) cmew @@ -164,32 +164,25 @@ makeMuzzleFlare mz itmtree cr = case mz ^. mzFlareType of muzFlareAt :: Color -> Point3 -> Float -> World -> World muzFlareAt col tranv dir w = w & randGen .~ g - & cWorld . lWorld . flares - .:~ MuzFlare - { _flarePoly = - map - (rotateV dir) - [ V2 0 0 - , V2 a (- b) - , V2 c d - ] - , _flareColor = col - , _flareTran3 = tranv - , _flareTime = 2 - } + & cWorld . lWorld . flares <>~ thepic where - thestate = replicateM 4 $ state $ randomR (2,20) + thepic = + setLayer BloomNoZWrite . translate3 tranv . color col . rotate dir . polygon $ + [ V2 0 0 + , V2 a (- b) + , V2 c d + ] + thestate = replicateM 4 $ state $ randomR (2, 20) (a : b : c : d : _, g) = runState thestate $ _randGen w -- randomRs (2, 20) (_randGen w) flareCircleAt :: Color -> Float -> Point3 -> World -> World flareCircleAt col alphax tranv = cWorld . lWorld . flares - .:~ CircFlare - { _flareTime = 2 - , _flareColor = col - , _flareAlpha = alphax - , _flareTran3 = tranv - } + <>~ setLayer + BloomNoZWrite + ( translate3 tranv $ + circleSolidCol (withAlpha 0 0) (withAlpha alphax col) 50 + ) getLaserPhaseV :: LabelDoubleTree ComposeLinkType Item -> Float getLaserPhaseV = const 1 @@ -207,7 +200,6 @@ basicMuzFlare pos dir = . muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir . muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir - isAmmoIntLink :: Int -> ComposeLinkType -> Bool isAmmoIntLink i (AmmoInLink j _) = i == j isAmmoIntLink _ _ = False @@ -313,8 +305,15 @@ lasRayAt col dam phasev pos dir = removeAmmoFromMag :: Int -> Maybe Int -> Creature -> World -> World removeAmmoFromMag x mid cr = fromMaybe id $ do magid <- mid - return $ cWorld . lWorld . creatures - . ix (_crID cr) . crInv . ix magid . itUse . amagLoadStatus . iaLoaded -~ x + return $ + cWorld . lWorld . creatures + . ix (_crID cr) + . crInv + . ix magid + . itUse + . amagLoadStatus + . iaLoaded + -~ x getBulletType :: LabelDoubleTree ComposeLinkType Item -> diff --git a/src/Dodge/Lampoid.hs b/src/Dodge/Lampoid.hs index a248e1e25..4e8b462f8 100644 --- a/src/Dodge/Lampoid.hs +++ b/src/Dodge/Lampoid.hs @@ -1,4 +1,4 @@ -module Dodge.Lampoid where +module Dodge.Lampoid (updateLampoid) where import Dodge.Creature.State import Dodge.Data.World diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index d91dbc9db..2b35fd49c 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -18,7 +18,6 @@ import Dodge.Creature.Picture import Dodge.Data.Universe import Dodge.Debug.Picture import Dodge.Draw -import Dodge.Flare import Dodge.RadarBlip import Dodge.Render.Picture import Geometry @@ -142,7 +141,7 @@ extraPics cfig u = <> foldMap drawSpark (_sparks lw) <> foldMap drawBul (_bullets lw) <> foldMap drawBlip (_radarBlips lw) - <> foldMap drawFlare (_flares lw) + <> _flares lw -- <> foldMap (dbArg (drawBeam . _bmDraw)) (_positronBeams $ _beams lw) -- <> foldMap (dbArg (drawBeam . _bmDraw)) (_electronBeams $ _beams lw) <> foldMap (dbArg (drawLightSource . _lsPict)) (_lightSources lw) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index b4f6fc0e6..37de99b3d 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -30,8 +30,6 @@ import Dodge.Distortion import Dodge.DrWdWd import Dodge.EnergyBall import Dodge.Flame -import Dodge.Flare ---import Dodge.InputFocus import Dodge.Inventory import Dodge.Item.Location import Dodge.Laser.Update @@ -250,7 +248,6 @@ functionalUpdate w = . over uvWorld updateEnergyBalls . over uvWorld updateBullets . over uvWorld updateRadarBlips - . over uvWorld updateFlares -- . over uvWorld updateBeams . over uvWorld updateLasers . over uvWorld updateTeslaArcs @@ -278,6 +275,7 @@ functionalUpdate w = . over uvWorld zoneClouds . over uvWorld zoneCreatures -- . over uvWorld updateInventorySelectionList + . set (uvWorld . cWorld . lWorld . flares) [] $ over uvWorld updatePastWorlds w checkTermDist :: World -> World @@ -422,9 +420,6 @@ updateLightSources = updateObjMapMaybe tempLightSources (\b -> updateTempLightSo updateRadarBlips :: World -> World updateRadarBlips = updateObjMapMaybe radarBlips updateRadarBlip -updateFlares :: World -> World -updateFlares = updateObjMapMaybe flares updateFlare - {- Apply internal particle updates, delete 'Nothing's. -} updateBullets :: World -> World updateBullets w = updateInstantBullets $ set (cWorld . lWorld . bullets) (catMaybes ps) w' diff --git a/tags b/tags index 280c6f801..269eef1fd 100644 --- a/tags +++ b/tags @@ -17,7 +17,7 @@ <$> src/Dodge/Data/CWorld.hs 49;" o <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 108;" o -<$> src/Dodge/Data/LWorld.hs 160;" o +<$> src/Dodge/Data/LWorld.hs 156;" o <$> src/Dodge/Data/Terminal.hs 129;" o AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C @@ -984,7 +984,7 @@ LTimePause src/Dodge/Data/Item/HeldUse.hs 50;" C LTimeScroll src/Dodge/Data/Item/HeldUse.hs 51;" C LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 54;" C LUpdate src/Dodge/Data/ComposedItem.hs 55;" C -LWorld src/Dodge/Data/LWorld.hs 98;" t +LWorld src/Dodge/Data/LWorld.hs 96;" t LWorld src/Dodge/Data/LWorld.hs 6;" m LabLink src/Dodge/Data/Room.hs 45;" C LabSS src/Dodge/Data/Scenario.hs 97;" C @@ -1412,7 +1412,7 @@ Point3 src/Geometry/Data.hs 25;" t Point4 src/Geometry/Data.hs 29;" t Poke src/Shader/Poke.hs 1;" m PolyShad src/Picture/Data.hs 36;" C -Polygon src/Geometry/Polygon.hs 2;" m +Polygon src/Geometry/Polygon.hs 3;" m Polyhedra src/Polyhedra/Data.hs 13;" t Polyhedra src/Polyhedra.hs 1;" m Polyhedron src/Polyhedra/Data.hs 13;" C @@ -2193,7 +2193,7 @@ _blObstructs src/Dodge/Data/Block.hs 34;" f _blPos src/Dodge/Data/Block.hs 29;" f _blShadows src/Dodge/Data/Block.hs 27;" f _blWallIDs src/Dodge/Data/Block.hs 25;" f -_blocks src/Dodge/Data/LWorld.hs 129;" f +_blocks src/Dodge/Data/LWorld.hs 125;" f _bloomBlurShader src/Data/Preload/Render.hs 21;" f _bmColor src/Dodge/Data/Beam.hs 23;" f _bmDamage src/Dodge/Data/Beam.hs 22;" f @@ -2240,8 +2240,8 @@ _buWidth src/Dodge/Data/Bullet.hs 26;" f _bulGunSound src/Dodge/Data/Item/Use.hs 89;" f _bulGunSound src/Dodge/Data/Item/Use.hs 96;" f _bulGunSound src/Dodge/Data/Item/Use.hs 106;" f -_bullets src/Dodge/Data/LWorld.hs 107;" f -_buttons src/Dodge/Data/LWorld.hs 137;" f +_bullets src/Dodge/Data/LWorld.hs 105;" f +_buttons src/Dodge/Data/LWorld.hs 133;" f _cClock src/Dodge/Data/CWorld.hs 28;" f _cUse src/Dodge/Data/Item/Use.hs 52;" f _cWorld src/Dodge/Data/World.hs 38;" f @@ -2294,14 +2294,14 @@ _closeObjects src/Dodge/Data/HUD.hs 40;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f _cloudVBO src/Data/Preload/Render.hs 47;" f -_clouds src/Dodge/Data/LWorld.hs 102;" f +_clouds src/Dodge/Data/LWorld.hs 100;" f _cmdEffect src/Dodge/Data/Terminal.hs 93;" f _cmeRecoil src/Dodge/Data/MuzzleEffect.hs 12;" f _cmeSound src/Dodge/Data/MuzzleEffect.hs 14;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 13;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f -_coordinates src/Dodge/Data/LWorld.hs 130;" f -_corpses src/Dodge/Data/LWorld.hs 140;" f +_coordinates src/Dodge/Data/LWorld.hs 126;" f +_corpses src/Dodge/Data/LWorld.hs 136;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f _cpAudition src/Dodge/Data/Creature/Perception.hs 37;" f _cpAwareness src/Dodge/Data/Creature/Perception.hs 35;" f @@ -2361,8 +2361,8 @@ _crType src/Dodge/Data/Creature.hs 47;" f _crVel src/Dodge/Data/Creature.hs 41;" f _crVocalization src/Dodge/Data/Creature.hs 70;" f _crZoning src/Dodge/Data/World.hs 49;" f -_creatureGroups src/Dodge/Data/LWorld.hs 100;" f -_creatures src/Dodge/Data/LWorld.hs 99;" f +_creatureGroups src/Dodge/Data/LWorld.hs 98;" f +_creatures src/Dodge/Data/LWorld.hs 97;" f _csDamage src/Dodge/Data/Creature/State.hs 17;" f _csDropsOnDeath src/Dodge/Data/Creature/State.hs 19;" f _csLinks src/Dodge/Data/RoomCluster.hs 11;" f @@ -2397,14 +2397,14 @@ _debugV2 src/Dodge/Data/Universe.hs 56;" f _debugV3 src/Dodge/Data/Universe.hs 55;" f _debug_booleans src/Dodge/Data/Config.hs 57;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f -_decorations src/Dodge/Data/LWorld.hs 138;" f -_delayedEvents src/Dodge/Data/LWorld.hs 135;" f +_decorations src/Dodge/Data/LWorld.hs 134;" f +_delayedEvents src/Dodge/Data/LWorld.hs 131;" f _dexterity src/Dodge/Data/Creature/Misc.hs 22;" f _diSections src/Dodge/Data/HUD.hs 19;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f -_distortions src/Dodge/Data/LWorld.hs 145;" f +_distortions src/Dodge/Data/LWorld.hs 141;" f _dmAmount src/Dodge/Data/Damage.hs 34;" f _dmAt src/Dodge/Data/Damage.hs 36;" f _dmEffect src/Dodge/Data/Damage.hs 38;" f @@ -2432,7 +2432,7 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 142;" f _doReplicateAction src/Dodge/Data/ActionPlan.hs 147;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 141;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 146;" f -_doors src/Dodge/Data/LWorld.hs 125;" f +_doors src/Dodge/Data/LWorld.hs 121;" f _drClosePos src/Dodge/Data/Door.hs 42;" f _drDeath src/Dodge/Data/Door.hs 44;" f _drHP src/Dodge/Data/Door.hs 43;" f @@ -2470,7 +2470,7 @@ _eeSite 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 -_energyBalls src/Dodge/Data/LWorld.hs 109;" f +_energyBalls src/Dodge/Data/LWorld.hs 107;" f _eparamID src/Dodge/Data/Item/Use/Equipment.hs 30;" f _eparamInt src/Dodge/Data/Item/Use/Equipment.hs 31;" f _euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 41;" f @@ -2502,7 +2502,7 @@ _flTimer src/Dodge/Data/Flame.hs 19;" f _flVel src/Dodge/Data/Flame.hs 15;" f _flWidth src/Dodge/Data/Flame.hs 18;" f _flZ src/Dodge/Data/Flame.hs 20;" f -_flames src/Dodge/Data/LWorld.hs 111;" f +_flames src/Dodge/Data/LWorld.hs 109;" f _flankTarget src/Dodge/Data/ActionPlan.hs 177;" f _flareAlpha src/Dodge/Data/Flare.hs 23;" f _flareColor src/Dodge/Data/Flare.hs 17;" f @@ -2512,12 +2512,12 @@ _flareTime src/Dodge/Data/Flare.hs 19;" f _flareTime src/Dodge/Data/Flare.hs 25;" f _flareTran3 src/Dodge/Data/Flare.hs 18;" f _flareTran3 src/Dodge/Data/Flare.hs 24;" f -_flares src/Dodge/Data/LWorld.hs 114;" f +_flares src/Dodge/Data/LWorld.hs 112;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 20;" f -_floorItems src/Dodge/Data/LWorld.hs 132;" f +_floorItems src/Dodge/Data/LWorld.hs 128;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f -_foregroundShapes src/Dodge/Data/LWorld.hs 139;" f +_foregroundShapes src/Dodge/Data/LWorld.hs 135;" f _fsDir src/Dodge/Data/ForegroundShape.hs 17;" f _fsID src/Dodge/Data/ForegroundShape.hs 15;" f _fsPos src/Dodge/Data/ForegroundShape.hs 16;" f @@ -2558,7 +2558,7 @@ _guID src/Dodge/Data/Gust.hs 14;" f _guPos src/Dodge/Data/Gust.hs 15;" f _guTime src/Dodge/Data/Gust.hs 17;" f _guVel src/Dodge/Data/Gust.hs 16;" f -_gusts src/Dodge/Data/LWorld.hs 103;" f +_gusts src/Dodge/Data/LWorld.hs 101;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f _hammerPosition src/Dodge/Data/Hammer.hs 14;" f _heldAim src/Dodge/Data/Item/Use.hs 40;" f @@ -2605,7 +2605,7 @@ _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f _input src/Dodge/Data/World.hs 44;" f -_instantBullets src/Dodge/Data/LWorld.hs 106;" f +_instantBullets src/Dodge/Data/LWorld.hs 104;" f _intelligence src/Dodge/Data/Creature/Misc.hs 23;" f _ipPlacement src/Dodge/Data/GenWorld.hs 134;" f _ipPlacementID src/Dodge/Data/GenWorld.hs 135;" f @@ -2620,22 +2620,22 @@ _itLocation src/Dodge/Data/Item.hs 35;" f _itParams src/Dodge/Data/Item.hs 40;" f _itType src/Dodge/Data/Item.hs 33;" f _itUse src/Dodge/Data/Item.hs 32;" f -_itemLocations src/Dodge/Data/LWorld.hs 101;" f +_itemLocations src/Dodge/Data/LWorld.hs 99;" f _izFac src/Dodge/Data/Item/Use.hs 185;" f _izMax src/Dodge/Data/Item/Use.hs 183;" f _izMin src/Dodge/Data/Item/Use.hs 184;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f -_lClock src/Dodge/Data/LWorld.hs 146;" f -_lTestInt src/Dodge/Data/LWorld.hs 148;" f -_lTestString src/Dodge/Data/LWorld.hs 147;" f +_lClock src/Dodge/Data/LWorld.hs 142;" f +_lTestInt src/Dodge/Data/LWorld.hs 144;" f +_lTestString src/Dodge/Data/LWorld.hs 143;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f _lampColor src/Dodge/Data/Creature/Misc.hs 72;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 72;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 72;" f _laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f -_lasers src/Dodge/Data/LWorld.hs 119;" f -_lasersToDraw src/Dodge/Data/LWorld.hs 120;" f +_lasers src/Dodge/Data/LWorld.hs 115;" f +_lasersToDraw src/Dodge/Data/LWorld.hs 116;" f _ldpCursorSides src/Dodge/Data/SelectionList.hs 22;" f _ldpPos src/Dodge/Data/SelectionList.hs 19;" f _ldpScale src/Dodge/Data/SelectionList.hs 20;" f @@ -2649,13 +2649,13 @@ _leftConsumption src/Dodge/Data/Item/Use.hs 50;" f _leftDelay src/Dodge/Data/Item/Use.hs 47;" f _leftHammer src/Dodge/Data/Item/Use.hs 48;" f _leftUse src/Dodge/Data/Item/Use.hs 46;" f -_lightSources src/Dodge/Data/LWorld.hs 141;" f +_lightSources src/Dodge/Data/LWorld.hs 137;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f _lightingTextureShader src/Data/Preload/Render.hs 17;" f _lightingWallShadShader src/Data/Preload/Render.hs 14;" f _lightsUBO src/Data/Preload/Render.hs 40;" f -_linearShockwaves src/Dodge/Data/LWorld.hs 121;" f +_linearShockwaves src/Dodge/Data/LWorld.hs 117;" f _linkGapEW src/Dodge/Data/Room.hs 35;" f _linkGapNS src/Dodge/Data/Room.hs 36;" f _loadedChunks src/Sound/Data.hs 36;" f @@ -2685,9 +2685,9 @@ _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f _lzColor src/Dodge/Data/Laser.hs 31;" f _lzPoints src/Dodge/Data/Laser.hs 32;" f _lzType src/Dodge/Data/Laser.hs 33;" f -_machines src/Dodge/Data/LWorld.hs 126;" f +_machines src/Dodge/Data/LWorld.hs 122;" f _magShieldMgMIX src/Dodge/Data/Item/Params.hs 16;" f -_magnets src/Dodge/Data/LWorld.hs 128;" f +_magnets src/Dodge/Data/LWorld.hs 124;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f _matUBO src/Data/Preload/Render.hs 39;" f @@ -2728,7 +2728,7 @@ _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 -_modifications src/Dodge/Data/LWorld.hs 133;" f +_modifications src/Dodge/Data/LWorld.hs 129;" f _mouseButtons src/Dodge/Data/Input.hs 23;" f _mouseMoving src/Dodge/Data/Input.hs 21;" f _mousePos src/Dodge/Data/Input.hs 20;" f @@ -2805,7 +2805,7 @@ _plType src/Dodge/Data/GenWorld.hs 81;" f _playStatus src/Sound/Data.hs 18;" f _playingSounds src/Dodge/Data/World.hs 43;" f _pnZoning src/Dodge/Data/World.hs 52;" f -_posEvents src/Dodge/Data/LWorld.hs 110;" f +_posEvents src/Dodge/Data/LWorld.hs 108;" f _posture src/Dodge/Data/Creature/Stance.hs 15;" f _ppEvent src/Dodge/Data/PressPlate.hs 23;" f _ppID src/Dodge/Data/PressPlate.hs 24;" f @@ -2834,7 +2834,7 @@ _prUpdate src/Dodge/Data/Prop.hs 36;" f _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 32;" f -_pressPlates src/Dodge/Data/LWorld.hs 136;" f +_pressPlates src/Dodge/Data/LWorld.hs 132;" f _pressedKeys src/Dodge/Data/Input.hs 22;" f _previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f _prjAcc src/Dodge/Data/Projectile.hs 19;" f @@ -2849,8 +2849,8 @@ _prjTimer src/Dodge/Data/Projectile.hs 25;" f _prjUpdates src/Dodge/Data/Projectile.hs 27;" f _prjVel src/Dodge/Data/Projectile.hs 18;" f _prjZ src/Dodge/Data/Projectile.hs 26;" f -_projectiles src/Dodge/Data/LWorld.hs 105;" f -_props src/Dodge/Data/LWorld.hs 104;" f +_projectiles src/Dodge/Data/LWorld.hs 103;" f +_props src/Dodge/Data/LWorld.hs 102;" f _proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 34;" f _proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 33;" f @@ -2882,8 +2882,8 @@ _pvType src/Dodge/Data/PosEvent.hs 17;" f _pwPoly src/Dodge/Data/GenWorld.hs 50;" f _pwWall src/Dodge/Data/GenWorld.hs 50;" f _pyFaces src/Polyhedra/Data.hs 14;" f -_radarBlips src/Dodge/Data/LWorld.hs 113;" f -_radarSweeps src/Dodge/Data/LWorld.hs 108;" f +_radarBlips src/Dodge/Data/LWorld.hs 111;" f +_radarSweeps src/Dodge/Data/LWorld.hs 106;" f _randGen src/Dodge/Data/World.hs 41;" f _randomOffset src/Dodge/Data/Item/Use.hs 87;" f _randomOffset src/Dodge/Data/Item/Use.hs 104;" f @@ -2968,9 +2968,9 @@ _scrollTestInt src/Dodge/Data/Input.hs 32;" f _scurColor src/Dodge/Data/SelectionList.hs 52;" f _scurPos src/Dodge/Data/SelectionList.hs 50;" f _scurSize src/Dodge/Data/SelectionList.hs 51;" f -_seenLocations src/Dodge/Data/LWorld.hs 143;" f +_seenLocations src/Dodge/Data/LWorld.hs 139;" f _seenWalls src/Dodge/Data/CWorld.hs 29;" f -_selLocation src/Dodge/Data/LWorld.hs 144;" f +_selLocation src/Dodge/Data/LWorld.hs 140;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 19;" f _sensDraw src/Dodge/Data/Machine/Sensor.hs 21;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 22;" f @@ -2991,7 +2991,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 -_shockwaves src/Dodge/Data/LWorld.hs 118;" f +_shockwaves src/Dodge/Data/LWorld.hs 114;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f _siColor src/Dodge/Data/SelectionList.hs 80;" f _siColor src/Dodge/Data/SelectionList.hs 88;" f @@ -3036,7 +3036,7 @@ _soundVolumeFraction src/Sound/Data.hs 56;" f _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f _spPixelOff src/Dodge/Data/ScreenPos.hs 11;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 10;" f -_sparks src/Dodge/Data/LWorld.hs 112;" f +_sparks src/Dodge/Data/LWorld.hs 110;" f _spawnEBT src/Dodge/Data/Bullet.hs 43;" f _ssCursor src/Dodge/Data/SelectionList.hs 57;" f _ssDescriptor src/Dodge/Data/SelectionList.hs 62;" f @@ -3078,10 +3078,10 @@ _tcAlias src/Dodge/Data/Terminal.hs 116;" f _tcEffect src/Dodge/Data/Terminal.hs 118;" f _tcHelp src/Dodge/Data/Terminal.hs 117;" f _tcString src/Dodge/Data/Terminal.hs 115;" f -_tempLightSources src/Dodge/Data/LWorld.hs 142;" f +_tempLightSources src/Dodge/Data/LWorld.hs 138;" f _termID src/Dodge/Data/HUD.hs 31;" f -_terminals src/Dodge/Data/LWorld.hs 127;" f -_teslaArcs src/Dodge/Data/LWorld.hs 117;" f +_terminals src/Dodge/Data/LWorld.hs 123;" f +_teslaArcs src/Dodge/Data/LWorld.hs 113;" f _testFloat src/Dodge/Data/World.hs 45;" f _textInput src/Dodge/Data/Input.hs 30;" f _textureObject src/Shader/Data.hs 95;" f @@ -3134,10 +3134,10 @@ _toPlaySounds src/Dodge/Data/World.hs 42;" f _topBoxSize src/Shape/Data.hs 17;" f _torqueAfter src/Dodge/Data/Item/Use.hs 86;" f _torqueAfter src/Dodge/Data/Item/Use.hs 103;" f -_tractorBeams src/Dodge/Data/LWorld.hs 122;" f +_tractorBeams src/Dodge/Data/LWorld.hs 118;" f _trieChildren src/SimpleTrie.hs 10;" f _trieMVal src/SimpleTrie.hs 9;" f -_triggers src/Dodge/Data/LWorld.hs 131;" f +_triggers src/Dodge/Data/LWorld.hs 127;" f _tryLeftLink src/Dodge/Data/ComposedItem.hs 51;" f _tryRightLink src/Dodge/Data/ComposedItem.hs 52;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f @@ -3209,10 +3209,10 @@ _vxShadNum src/Picture/Data.hs 18;" f _wCam src/Dodge/Data/World.hs 55;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f -_wallDamages src/Dodge/Data/LWorld.hs 124;" f +_wallDamages src/Dodge/Data/LWorld.hs 120;" f _wallShader src/Data/Preload/Render.hs 46;" f _wallVBO src/Data/Preload/Render.hs 45;" f -_walls src/Dodge/Data/LWorld.hs 123;" f +_walls src/Dodge/Data/LWorld.hs 119;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 27;" f _warmSound src/Dodge/Data/Item/HeldDelay.hs 28;" f _warmTime src/Dodge/Data/Item/HeldDelay.hs 26;" f @@ -3244,7 +3244,7 @@ _wlUnshadowed src/Dodge/Data/Wall.hs 30;" f _wlWalkable src/Dodge/Data/Wall.hs 26;" f _wlZoning src/Dodge/Data/World.hs 51;" f _worldEventFlags src/Dodge/Data/World.hs 48;" f -_worldEvents src/Dodge/Data/LWorld.hs 134;" f +_worldEvents src/Dodge/Data/LWorld.hs 130;" f _wpCharge src/Dodge/Data/Item/Use/Consumption.hs 35;" f _wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f _wsBlock src/Dodge/Data/Wall.hs 52;" f @@ -3292,7 +3292,7 @@ addIndefiniteArticle src/StringHelp.hs 17;" f addNodes src/Dodge/Path.hs 115;" f addPane src/Dodge/Placement/PlaceSpot.hs 162;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f -addPointPolygon src/Geometry/Polygon.hs 85;" f +addPointPolygon src/Geometry/Polygon.hs 88;" f addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f @@ -3306,10 +3306,10 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 77;" f -advanceScrollAmount src/Dodge/Update.hs 299;" f +advanceScrollAmount src/Dodge/Update.hs 297;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/ShapePicture.hs 50;" f +aimDelaySweep src/Dodge/Render/ShapePicture.hs 49;" f aimStanceInfo src/Dodge/Item/Info.hs 214;" f aimTurn src/Dodge/Creature/YourControl.hs 143;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f @@ -3336,26 +3336,26 @@ angleBetween src/Geometry.hs 145;" f angleVV src/Geometry/Vector.hs 57;" f angleVV3 src/Geometry/Vector3D.hs 122;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f -anyTargeting src/Dodge/Render/ShapePicture.hs 78;" f +anyTargeting src/Dodge/Render/ShapePicture.hs 77;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 242;" f -applyCME src/Dodge/HeldUse.hs 64;" f +applyCME src/Dodge/HeldUse.hs 63;" 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 74;" f +applyInvLock src/Dodge/HeldUse.hs 73;" f applyMagnetsToBul src/Dodge/Bullet.hs 46;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 128;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 93;" f +applyRecoil src/Dodge/HeldUse.hs 92;" f applyResFactor src/Dodge/Data/Config.hs 108;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 79;" f -applySidePush src/Dodge/HeldUse.hs 100;" f -applySoundCME src/Dodge/HeldUse.hs 84;" f +applySidePush src/Dodge/HeldUse.hs 99;" f +applySoundCME src/Dodge/HeldUse.hs 83;" 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 @@ -3363,7 +3363,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 111;" f +applyTorqueCME src/Dodge/HeldUse.hs 110;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -3446,7 +3446,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 30;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 174;" f +basicMuzFlare src/Dodge/HeldUse.hs 196;" f basicTerminal src/Dodge/Terminal.hs 32;" f battery src/Dodge/Item/Ammo.hs 74;" f batteryPack src/Dodge/Item/Equipment.hs 56;" f @@ -3499,9 +3499,9 @@ boxXYZnobase src/Polyhedra.hs 79;" f brainHat src/Dodge/Item/Equipment.hs 88;" f branchRectWith src/Dodge/Room/Branch.hs 15;" f branchWith src/Dodge/Room/Room.hs 69;" f -bright src/Color.hs 116;" f -brightX src/Color.hs 112;" f -btSPic src/Dodge/Render/ShapePicture.hs 175;" f +bright src/Color.hs 120;" f +brightX src/Color.hs 116;" f +btSPic src/Dodge/Render/ShapePicture.hs 174;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f @@ -3527,8 +3527,8 @@ cenLasTur src/Dodge/Room/LasTurret.hs 24;" f centerText src/Picture/Base.hs 184;" f centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f centerVaultRoom src/Dodge/Room/Procedural.hs 288;" f -centroid src/Geometry/Polygon.hs 113;" f -centroidNum src/Geometry/Polygon.hs 116;" f +centroid src/Geometry/Polygon.hs 122;" f +centroidNum src/Geometry/Polygon.hs 125;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainPairs src/Geometry.hs 363;" f @@ -3548,12 +3548,12 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkBlockHP src/Dodge/Block.hs 46;" f checkDeath src/Dodge/Creature/State.hs 73;" f -checkEndGame src/Dodge/Update.hs 584;" f +checkEndGame src/Dodge/Update.hs 579;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 16;" f -checkTermDist src/Dodge/Update.hs 283;" f +checkTermDist src/Dodge/Update.hs 281;" 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 @@ -3574,7 +3574,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 637;" f +clClSpringVel src/Dodge/Update.hs 632;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 165;" f @@ -3600,7 +3600,7 @@ closestCreatureID src/Dodge/Debug.hs 91;" 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 607;" f +cloudEffect src/Dodge/Update.hs 602;" 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 @@ -3622,7 +3622,7 @@ collidePointWallsFilter src/Dodge/Base/Collide.hs 107;" f collisionDebugItem src/Dodge/Debug.hs 30;" f color src/Picture/Base.hs 108;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f -colorSH src/Shape.hs 233;" f +colorSH src/Shape.hs 235;" f combinationsDotGraph src/Dodge/Combine/Graph.hs 85;" f combinationsGraph src/Dodge/Combine/Graph.hs 66;" f combinationsOf src/Multiset.hs 40;" f @@ -3654,8 +3654,8 @@ constructEdges src/Polyhedra.hs 33;" f constructEdgesList src/Polyhedra.hs 42;" f consumableInfo src/Dodge/Item/Info.hs 134;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f -convexHull src/Geometry/Polygon.hs 91;" f -convexHullSafe src/Geometry/Polygon.hs 96;" f +convexHull src/Geometry/Polygon.hs 96;" f +convexHullSafe src/Geometry/Polygon.hs 103;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f copyItemToFloor src/Dodge/FloorItem.hs 17;" f copyItemToFloorID src/Dodge/FloorItem.hs 21;" f @@ -3670,7 +3670,7 @@ crAdd src/Dodge/Room/RezBox.hs 102;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 655;" f +crCrSpring src/Dodge/Update.hs 650;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3690,7 +3690,7 @@ crNearPoint src/Dodge/Creature/Test.hs 135;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f -crSpring src/Dodge/Update.hs 650;" f +crSpring src/Dodge/Update.hs 645;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 60;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 54;" f @@ -3708,7 +3708,7 @@ createItemYou src/Dodge/Inventory/Add.hs 77;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 465;" f +createProjectile src/Dodge/HeldUse.hs 493;" f createShell src/Dodge/Projectile/Create.hs 19;" f createShieldWall src/Dodge/Euse.hs 134;" f createTorchLightOffset src/Dodge/LightSource/Torch.hs 11;" f @@ -3736,7 +3736,7 @@ crystalDebris src/Dodge/Block/Debris.hs 176;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" f cubeShape src/Dodge/Block/Debris.hs 196;" f -cullPoint src/Dodge/Render/ShapePicture.hs 125;" f +cullPoint src/Dodge/Render/ShapePicture.hs 124;" f cullPretty src/AesonHelp.hs 13;" f curveAroundField src/Dodge/Magnet.hs 18;" f curveLeftField src/Dodge/Magnet.hs 13;" f @@ -3758,7 +3758,7 @@ cycleOptions src/Dodge/Menu/Option.hs 84;" f cycleR src/DoubleStack.hs 32;" f cylinderIndices src/Shader/Poke.hs 374;" f cylinderOnSeg src/Geometry.hs 125;" f -cylinderPoly src/Shape.hs 85;" f +cylinderPoly src/Shape.hs 86;" f cylinderRoundIndices src/Shader/Poke.hs 381;" f dShadCol src/Dodge/Render/List.hs 181;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f @@ -3782,7 +3782,7 @@ damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f damageWlCircle src/Dodge/DamageCircle.hs 26;" f dampField src/Dodge/Magnet.hs 8;" f damsToExpBarrel src/Dodge/Barreloid.hs 50;" f -dark src/Color.hs 104;" f +dark src/Color.hs 108;" f darkenBackground src/Dodge/Render/MenuScreen.hs 45;" f dbArg src/Dodge/Base.hs 143;" f dbArgChain src/Dodge/Base.hs 148;" f @@ -3854,7 +3854,7 @@ defaultDirtWall src/Dodge/Default/Wall.hs 61;" f defaultDisplayInventory src/Dodge/Default/World.hs 161;" f defaultDoor src/Dodge/Default/Door.hs 29;" f defaultDoorWall src/Dodge/Default/Wall.hs 32;" f -defaultDrawButton src/Dodge/Button/Draw.hs 29;" f +defaultDrawButton src/Dodge/Button/Draw.hs 28;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f defaultEquipment src/Dodge/Default.hs 27;" f @@ -3923,17 +3923,17 @@ destroyMount src/Dodge/Block.hs 98;" f destroyMounts src/Dodge/Block.hs 95;" f destroyProjectile src/Dodge/Projectile/Update.hs 62;" f detV src/Geometry/Vector.hs 93;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 402;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 391;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 194;" f determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 54;" f -determineProjectileTracking src/Dodge/HeldUse.hs 454;" f +determineProjectileTracking src/Dodge/HeldUse.hs 482;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diffAngles src/Geometry.hs 196;" f difference src/Geometry.hs 130;" f digitalLine src/Geometry.hs 288;" f digitalRect src/Geometry.hs 305;" f -dim src/Color.hs 108;" f +dim src/Color.hs 112;" f dirtColor src/Dodge/Block/Debris.hs 160;" f dirtDebris src/Dodge/Block/Debris.hs 154;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f @@ -3944,7 +3944,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 33;" f displayFreeSlots src/Dodge/DisplayInventory.hs 158;" f displayTerminal src/Dodge/Render/HUD.hs 230;" f -displayTerminalLineString src/Dodge/Update.hs 327;" f +displayTerminalLineString src/Dodge/Update.hs 325;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -3977,14 +3977,14 @@ doDrWdWd src/Dodge/DrWdWd.hs 16;" 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 410;" f +doGenFloat src/Dodge/HeldUse.hs 438;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f doInvEffect src/Dodge/ItEffect.hs 10;" f doItCrWdWd src/Dodge/WorldEffect.hs 49;" f -doItemTimeScroll src/Dodge/Update.hs 182;" f +doItemTimeScroll src/Dodge/Update.hs 180;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f @@ -4017,7 +4017,7 @@ 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 73;" f -doTimeScroll src/Dodge/Update.hs 187;" f +doTimeScroll src/Dodge/Update.hs 185;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 109;" f doWallRotate src/Dodge/Update/Camera.hs 188;" f @@ -4026,8 +4026,8 @@ doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 8;" f doWdWd src/Dodge/WorldEffect.hs 26;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 55;" f -doWorldEvents src/Dodge/Update.hs 309;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 54;" f +doWorldEvents src/Dodge/Update.hs 307;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -4057,14 +4057,14 @@ drawCombineInventory src/Dodge/Render/HUD.hs 78;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 341;" f -drawCreature src/Dodge/Render/ShapePicture.hs 88;" f +drawCreature src/Dodge/Render/ShapePicture.hs 87;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 163;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 55;" f drawDDATest src/Dodge/Debug/Picture.hs 254;" f drawDoorPaths src/Dodge/Debug/Picture.hs 215;" f -drawDoubleLampCover src/Dodge/Prop/Draw.hs 83;" f +drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 139;" f drawExamineInventory src/Dodge/Render/HUD.hs 84;" f @@ -4095,8 +4095,8 @@ drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 53;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f drawMousePosition src/Dodge/Debug/Picture.hs 317;" f -drawMovingShape src/Dodge/Prop/Draw.hs 69;" f -drawMovingShapeCol src/Dodge/Prop/Draw.hs 75;" f +drawMovingShape src/Dodge/Prop/Draw.hs 67;" f +drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f drawMuzFlare src/Dodge/Flare.hs 17;" f drawOptions src/Dodge/Render/MenuScreen.hs 32;" f drawPathBetween src/Dodge/Debug/Picture.hs 166;" f @@ -4122,7 +4122,7 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f drawSubInventory src/Dodge/Render/HUD.hs 70;" f -drawSweep src/Dodge/Render/ShapePicture.hs 57;" f +drawSweep src/Dodge/Render/ShapePicture.hs 56;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f @@ -4132,7 +4132,7 @@ drawText src/Picture/Base.hs 220;" f drawTitle src/Dodge/Render/MenuScreen.hs 48;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 60;" f -drawVerticalLampCover src/Dodge/Prop/Draw.hs 60;" 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 263;" f @@ -4206,7 +4206,7 @@ explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f -extraPics src/Dodge/Render/ShapePicture.hs 130;" f +extraPics src/Dodge/Render/ShapePicture.hs 129;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f faceEdges src/Polyhedra.hs 64;" f facesToVF src/Polyhedra/Geodesic.hs 68;" f @@ -4244,11 +4244,12 @@ 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 328;" f +flareCircleAt src/Dodge/HeldUse.hs 178;" f flareCircleAt src/Dodge/WorldEvent/Flash.hs 46;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 49;" f flatLookupItems src/Dodge/Combine.hs 35;" f flatShield src/Dodge/Item/Held/Utility.hs 9;" f -flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 389;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 378;" f fleeFrom src/Dodge/CreatureEffect.hs 120;" f fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f @@ -4265,7 +4266,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 119;" f -floorItemSPic src/Dodge/Render/ShapePicture.hs 169;" f +floorItemSPic src/Dodge/Render/ShapePicture.hs 168;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f @@ -4285,6 +4286,7 @@ forceFoldable src/StrictHelp.hs 7;" f forceSpine src/StrictHelp.hs 4;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fpsText src/Dodge/Render/Picture.hs 43;" f +fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 58;" f frag src/Shader/Data.hs 102;" f freeShaderPointers' src/Shader.hs 37;" f fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 358;" f @@ -4296,7 +4298,7 @@ fromV3 src/Geometry/Data.hs 43;" f frontArmour src/Dodge/Item/Equipment.hs 41;" f fstV2 src/Geometry/Data.hs 50;" f fuelPack src/Dodge/Item/Equipment.hs 64;" f -functionalUpdate src/Dodge/Update.hs 232;" f +functionalUpdate src/Dodge/Update.hs 230;" f fuseFunc src/Dodge/Path.hs 150;" f fusePairs src/Dodge/Path.hs 153;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f @@ -4310,7 +4312,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 407;" f +gasCreate src/Dodge/HeldUse.hs 435;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4325,8 +4327,8 @@ getAmmoLinks src/Dodge/Item/Grammar.hs 60;" f getArguments src/Dodge/Update/Scroll.hs 151;" f getArguments' src/Dodge/Update/Scroll.hs 139;" f getAvailableListLines src/Dodge/SelectionList.hs 11;" f -getBulletTrajectory src/Dodge/HeldUse.hs 316;" f -getBulletType src/Dodge/HeldUse.hs 290;" f +getBulletTrajectory src/Dodge/HeldUse.hs 344;" f +getBulletType src/Dodge/HeldUse.hs 318;" f getCommands src/Dodge/Terminal.hs 115;" f getCommandsHelp src/Dodge/Terminal.hs 73;" f getCrDexterity src/Dodge/Creature/Statistics.hs 13;" f @@ -4337,9 +4339,9 @@ getDistortions src/Dodge/Render.hs 382;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getItem src/Dodge/Item/Location.hs 15;" f getLDPWidth src/Dodge/Render/List.hs 70;" f -getLaserColor src/Dodge/HeldUse.hs 171;" f -getLaserDamage src/Dodge/HeldUse.hs 168;" f -getLaserPhaseV src/Dodge/HeldUse.hs 165;" f +getLaserColor src/Dodge/HeldUse.hs 193;" f +getLaserDamage src/Dodge/HeldUse.hs 190;" f +getLaserPhaseV src/Dodge/HeldUse.hs 187;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getNodePos src/Dodge/Path.hs 31;" f getPretty src/AesonHelp.hs 7;" f @@ -4370,9 +4372,9 @@ glassWallDamage src/Dodge/Wall/DamageEffect.hs 48;" f glushortSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 136;" f -gotoTerminal src/Dodge/Update.hs 120;" f -grahamEliminate src/Geometry/Polygon.hs 108;" f -grahamScan src/Geometry/Polygon.hs 101;" f +gotoTerminal src/Dodge/Update.hs 118;" f +grahamEliminate src/Geometry/Polygon.hs 117;" f +grahamScan src/Geometry/Polygon.hs 108;" f grapeCannon src/Dodge/Item/Held/Cone.hs 38;" f graphToEdges src/Dodge/Graph.hs 35;" f graphToIncidence src/Dodge/Graph.hs 40;" f @@ -4380,7 +4382,7 @@ graphicsMenu src/Dodge/Menu.hs 162;" f graphicsMenuOptions src/Dodge/Menu.hs 165;" f gravityModule src/Dodge/Item/Craftable.hs 40;" f green src/Color.hs 15;" f -greyN src/Color.hs 120;" f +greyN src/Color.hs 124;" f gridInPolygon src/Grid.hs 12;" f gridPoints src/Grid.hs 67;" f gridPoints' src/Grid.hs 79;" f @@ -4418,7 +4420,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 214;" f hat src/Dodge/Item/Equipment.hs 94;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 100;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 392;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 381;" f headMap src/Dodge/DoubleTree.hs 170;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f @@ -4428,7 +4430,7 @@ healthTest src/Dodge/Room/LasTurret.hs 93;" f heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 38;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldEffect src/Dodge/HeldUse.hs 33;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 44;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 43;" f heldInfo src/Dodge/Item/Info.hs 48;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 58;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 26;" f @@ -4550,7 +4552,7 @@ invertIntMap src/Multiset.hs 61;" f invertInventoryToMap src/Dodge/Combine.hs 53;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 182;" f +isAmmoIntLink src/Dodge/HeldUse.hs 203;" f isAnimate src/Dodge/Creature/Test.hs 138;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isElectrical src/Dodge/Data/Damage.hs 42;" f @@ -4573,13 +4575,13 @@ isValidCommand src/Dodge/Debug/Terminal.hs 128;" f isVowel src/StringHelp.hs 8;" f isWalkable src/Dodge/Base/Collide.hs 221;" f isoMatrix src/MatrixHelper.hs 30;" f -isotriBWH src/Geometry/Polygon.hs 25;" f +isotriBWH src/Geometry/Polygon.hs 20;" f itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 82;" f itemBaseName src/Dodge/Item/Display.hs 41;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 54;" f -itemDetectorEffect src/Dodge/HeldUse.hs 207;" f +itemDetectorEffect src/Dodge/HeldUse.hs 228;" f itemDisplay src/Dodge/Item/Display.hs 14;" f itemDisplayPad src/Dodge/Item/Display.hs 25;" f itemEquipPict src/Dodge/Item/Draw.hs 17;" f @@ -4625,7 +4627,7 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 69;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 57;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f -keyPic src/Dodge/Item/Draw/SPic.hs 408;" f +keyPic src/Dodge/Item/Draw/SPic.hs 397;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 456;" f lConnect src/Dodge/Render/Connectors.hs 30;" f @@ -4634,12 +4636,12 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 77;" f lamp src/Dodge/Creature/Lamp.hs 22;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f -lampCrSPic src/Dodge/Render/ShapePicture.hs 104;" f +lampCrSPic src/Dodge/Render/ShapePicture.hs 103;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGun src/Dodge/Item/Held/BatteryGuns.hs 40;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 358;" f -lasRayAt src/Dodge/HeldUse.hs 274;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 351;" f +lasRayAt src/Dodge/HeldUse.hs 295;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f lasTunnel src/Dodge/Room/LasTurret.hs 124;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f @@ -4666,14 +4668,14 @@ leftIsParentCombine src/Dodge/Item/Grammar.hs 89;" f leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f leftPad src/Padding.hs 14;" f leftRightCombine src/Dodge/Item/Grammar.hs 103;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 426;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f -light src/Color.hs 100;" f +light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 44;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 34;" f lightSensor src/Dodge/Placement/Instance/Sensor.hs 52;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f -lightx4 src/Color.hs 141;" f +lightx4 src/Color.hs 145;" f linGrad src/Geometry/Intersect.hs 220;" f line src/Picture/Base.hs 226;" f lineCol src/Picture/Base.hs 230;" f @@ -4700,7 +4702,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 255;" 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 128;" f +loadMuzzle src/Dodge/HeldUse.hs 127;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4749,7 +4751,7 @@ 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 348;" f +makeBullet src/Dodge/HeldUse.hs 376;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4775,7 +4777,7 @@ makeFragBullets src/Dodge/Bullet.hs 116;" 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 144;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 143;" f makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f @@ -4807,7 +4809,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f makeTypeCraft src/Dodge/Item/Craftable.hs 14;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 570;" f +markWallSeen src/Dodge/Update.hs 565;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxT src/Dodge/Luse.hs 138;" f @@ -4820,7 +4822,7 @@ maybeClearPaths src/Dodge/Block.hs 69;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 259;" f -maybeOpenTerminal src/Dodge/Update.hs 115;" f +maybeOpenTerminal src/Dodge/Update.hs 113;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 107;" f maybeWarmupStatus src/Dodge/Item/Display.hs 117;" f @@ -4830,13 +4832,13 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f mcPlaySound src/Dodge/Machine/Update.hs 80;" f mcProxTest src/Dodge/Machine/Update.hs 126;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f -mcSPic src/Dodge/Render/ShapePicture.hs 180;" f +mcSPic src/Dodge/Render/ShapePicture.hs 179;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f -mcShootLaser src/Dodge/HeldUse.hs 434;" f +mcShootLaser src/Dodge/HeldUse.hs 462;" f mcTriggerVal src/Dodge/Machine/Update.hs 75;" f mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f -mcUseHeld src/Dodge/HeldUse.hs 373;" f +mcUseHeld src/Dodge/HeldUse.hs 401;" f mcUseItem src/Dodge/Machine/Update.hs 61;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 69;" f @@ -4885,13 +4887,14 @@ miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f miniTree2 src/Dodge/Room/Room.hs 108;" f minimumOn src/FoldlHelp.hs 12;" f mirrorV3xz src/Dodge/Creature/HandPos.hs 52;" f -mirrorXAxis src/Geometry/Polygon.hs 45;" f +mirrorXAxis src/Geometry/Polygon.hs 41;" f mirrorxz src/Picture/Base.hs 335;" f mirroryz src/Picture/Base.hs 340;" f missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f mixAngles src/Geometry.hs 205;" f -mixColors src/Color.hs 82;" f -mixColorsLinear src/Color.hs 91;" f +mixColors src/Color.hs 86;" f +mixColorsFrac src/Color.hs 82;" f +mixColorsLinear src/Color.hs 95;" f mkCustomLenses src/ThirdPartyLens.hs 7;" f mkGraphFromEdges src/GraphHelp.hs 4;" f mkNode src/Dodge/Graph.hs 29;" f @@ -4933,12 +4936,13 @@ multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 32;" f multiLookupTrieI src/SimpleTrie.hs 41;" f muout src/Dodge/RoomLink.hs 129;" f +muzFlareAt src/Dodge/HeldUse.hs 164;" f muzFlareAt src/Dodge/WorldEvent/Flash.hs 26;" f mvBullet src/Dodge/Bullet.hs 33;" f mvButton src/Dodge/Placement/PlaceSpot.hs 174;" f mvCr src/Dodge/Placement/PlaceSpot.hs 184;" f mvFS src/Dodge/Placement/PlaceSpot.hs 187;" f -mvGust src/Dodge/Update.hs 598;" f +mvGust src/Dodge/Update.hs 593;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 181;" f @@ -4974,7 +4978,7 @@ normalizeColor src/Color.hs 76;" f normalizeV src/Geometry/Vector.hs 43;" f normalizeV3 src/Geometry/Vector3D.hs 84;" f nullCommand src/Dodge/Update/Scroll.hs 142;" f -numColor src/Color.hs 124;" f +numColor src/Color.hs 128;" f numDrawableVertices src/Shader/Parameters.hs 34;" f numGLushort src/Shader/Parameters.hs 29;" f numLayers src/Picture/Data.hs 31;" f @@ -5005,8 +5009,8 @@ orange src/Color.hs 25;" f orderAround3 src/Geometry/Vector3D.hs 105;" f orderAroundFirst src/Geometry/Polygon.hs 74;" f orderAroundFirstReverse src/Geometry/Polygon.hs 70;" f -orderPolygon src/Geometry/Polygon.hs 78;" f -orderPolygonAround src/Geometry/Polygon.hs 63;" f +orderPolygon src/Geometry/Polygon.hs 79;" f +orderPolygonAround src/Geometry/Polygon.hs 62;" f orientAttachment src/Dodge/Item/Orientation.hs 22;" f orientByLink src/Dodge/Item/Orientation.hs 15;" f orientChild src/Dodge/Item/Orientation.hs 10;" f @@ -5018,13 +5022,13 @@ outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f outwardIntegers src/Dodge/Base.hs 159;" f overCID src/Dodge/Euse.hs 168;" f overCol src/Picture/Base.hs 308;" f -overColObj src/Shape.hs 269;" f -overColSH src/Shape.hs 237;" f +overColObj src/Shape.hs 271;" f +overColSH src/Shape.hs 239;" f overLnkPosDir src/Dodge/RoomLink.hs 100;" f overLnkType src/Dodge/RoomLink.hs 87;" f overPos src/Picture/Base.hs 303;" f -overPosObj src/Shape.hs 273;" f -overPosSH src/Shape.hs 257;" f +overPosObj src/Shape.hs 275;" f +overPosSH src/Shape.hs 259;" f overPosSP src/ShapePicture.hs 41;" f overlapCircWalls src/Dodge/Base/Collide.hs 137;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 168;" f @@ -5050,7 +5054,7 @@ pauseGame src/Dodge/Update/Input/InGame.hs 213;" 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 173;" f +pauseTime src/Dodge/Update.hs 171;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 49;" f penThing src/Dodge/Bullet.hs 224;" f @@ -5066,7 +5070,7 @@ pesNearCirc src/Dodge/Zoning/Pathing.hs 43;" f pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f -picAtCrPos1 src/Dodge/Render/ShapePicture.hs 109;" f +picAtCrPos1 src/Dodge/Render/ShapePicture.hs 108;" f picFormat src/Polyhedra.hs 22;" f picMap src/Picture/Base.hs 67;" f pickUpItem src/Dodge/Inventory/Add.hs 89;" f @@ -5127,9 +5131,9 @@ pnsNearRect src/Dodge/Zoning/Pathing.hs 18;" f pnsNearSeg src/Dodge/Zoning/Pathing.hs 15;" f pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f pointInCircle src/Geometry.hs 212;" f -pointInOrOnPolygon src/Geometry/Polygon.hs 54;" f +pointInOrOnPolygon src/Geometry/Polygon.hs 51;" f pointInPolyPoints src/Geometry/ConvexPoly.hs 70;" f -pointInPolygon src/Geometry/Polygon.hs 59;" f +pointInPolygon src/Geometry/Polygon.hs 58;" f pointIsInCone src/Geometry.hs 378;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f pointTowardsImpulse src/Dodge/Path.hs 63;" f @@ -5202,8 +5206,8 @@ powlist src/Multiset.hs 55;" f powlistUpToN src/Multiset.hs 20;" f powlistUpToN' src/Multiset.hs 9;" f powlistUpToN'' src/Multiset.hs 27;" f -ppDraw src/Dodge/Render/ShapePicture.hs 166;" f -ppEvents src/Dodge/Update.hs 563;" f +ppDraw src/Dodge/Render/ShapePicture.hs 165;" f +ppEvents src/Dodge/Update.hs 558;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 92;" f preloadRender src/Preload/Render.hs 30;" f @@ -5220,8 +5224,8 @@ printInfoCheckNum src/Dodge/Tree/Shift.hs 154;" f printPartialColumns src/Dodge/Tree/Shift.hs 135;" f printPoint src/Dodge/Debug/Picture.hs 35;" f printRotPoint src/Dodge/Debug/Picture.hs 38;" f -prismBox src/Shape.hs 72;" f -prismPoly src/Shape.hs 58;" f +prismBox src/Shape.hs 73;" f +prismPoly src/Shape.hs 59;" f projV src/Geometry/Vector.hs 171;" f projV3 src/Geometry/Vector3D.hs 127;" f propDrawToggle src/Dodge/Prop/Draw.hs 39;" f @@ -5313,11 +5317,10 @@ randsOnCirc src/RandomHelp.hs 118;" f randsSpread src/RandomHelp.hs 111;" f ratIntersectLineLine src/Geometry/Intersect.hs 195;" f readSaveSlot src/Dodge/Save.hs 45;" f -rectNESW src/Geometry/Polygon.hs 13;" f -rectNSWE src/Geometry/Polygon.hs 19;" f -rectWH src/Geometry/Polygon.hs 22;" f -rectXH src/Geometry/Polygon.hs 36;" f -rectXY src/Geometry/Polygon.hs 39;" f +rectNSWE src/Geometry/Polygon.hs 13;" f +rectWH src/Geometry/Polygon.hs 17;" f +rectXH src/Geometry/Polygon.hs 32;" f +rectXY src/Geometry/Polygon.hs 35;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f red src/Color.hs 14;" f reduceSpinBy src/Dodge/Projectile/Update.hs 138;" f @@ -5340,7 +5343,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteScreen src/Dodge/Item/Scope.hs 49;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 284;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 305;" f removeDot src/ShortShow.hs 30;" f removeHotkey src/Dodge/Hotkey.hs 41;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -5427,9 +5430,9 @@ rotate3z src/Geometry/Vector3D.hs 54;" f rotateCamera src/Dodge/Update/Camera.hs 202;" f rotateCameraBy src/Dodge/Update/Camera.hs 199;" f rotateProp src/Dodge/Prop/Update.hs 49;" f -rotateSH src/Shape.hs 253;" f -rotateSHq src/Shape.hs 162;" f -rotateSHx src/Shape.hs 261;" f +rotateSH src/Shape.hs 255;" f +rotateSHq src/Shape.hs 164;" f +rotateSHx src/Shape.hs 263;" f rotateSP src/ShapePicture.hs 57;" f rotateTo src/Polyhedra/Geodesic.hs 63;" f rotateToOverlappingWall src/Dodge/Update/Camera.hs 177;" f @@ -5472,7 +5475,7 @@ scale src/Picture/Base.hs 149;" f scale3 src/Picture/Base.hs 145;" f scaleMat src/MatrixHelper.hs 59;" f scaleMatrix src/MatrixHelper.hs 56;" f -scaleSH src/Shape.hs 265;" f +scaleSH src/Shape.hs 267;" f scalp src/Dodge/Creature/Picture.hs 93;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 69;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f @@ -5488,8 +5491,8 @@ scrollCommands src/Dodge/Update/Scroll.hs 131;" f scrollDebugInfoInt src/Dodge/Debug.hs 46;" f scrollRBOption src/Dodge/Update/Scroll.hs 108;" f scrollSelectionSections src/Dodge/SelectionSections.hs 17;" f -scrollTimeBack src/Dodge/Update.hs 197;" f -scrollTimeForward src/Dodge/Update.hs 216;" f +scrollTimeBack src/Dodge/Update.hs 195;" f +scrollTimeForward src/Dodge/Update.hs 214;" f scrollWatch src/Dodge/Item/Weapon/Utility.hs 31;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 406;" f seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 476;" f @@ -5524,7 +5527,7 @@ sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f setChannelPos src/Sound.hs 149;" f -setClickWorldPos src/Dodge/Update.hs 99;" f +setClickWorldPos src/Dodge/Update.hs 97;" f setClusterID src/Dodge/Combine/Graph.hs 103;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -5543,7 +5546,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 351;" f +setOldPos src/Dodge/Update.hs 349;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5596,8 +5599,8 @@ shieldWall src/Dodge/Euse.hs 114;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDec src/Dodge/Placement/PlaceSpot.hs 136;" f -shiftDraw src/Dodge/Render/ShapePicture.hs 113;" f -shiftDraw' src/Dodge/Render/ShapePicture.hs 119;" f +shiftDraw src/Dodge/Render/ShapePicture.hs 112;" f +shiftDraw' src/Dodge/Render/ShapePicture.hs 118;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f @@ -5612,15 +5615,15 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f shineTorch src/Dodge/Creature/State.hs 206;" f -shootBullet src/Dodge/HeldUse.hs 335;" f +shootBullet src/Dodge/HeldUse.hs 363;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootL src/Dodge/Item/Weapon/TriggerType.hs 165;" f -shootLaser src/Dodge/HeldUse.hs 255;" f +shootLaser src/Dodge/HeldUse.hs 276;" f shootOutPassage src/Dodge/Room/RezBox.hs 72;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f -shootTeslaArc src/Dodge/HeldUse.hs 443;" f +shootTeslaArc src/Dodge/HeldUse.hs 471;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 234;" f +shootTractorBeam src/Dodge/HeldUse.hs 255;" f shootersRoom src/Dodge/Room/Room.hs 317;" f shootersRoom' src/Dodge/Room/Room.hs 282;" f shootersRoom1 src/Dodge/Room/Room.hs 307;" f @@ -5641,14 +5644,14 @@ showManObj src/Dodge/TestString.hs 40;" f showTerminalError src/Dodge/Debug/Terminal.hs 76;" f showTimeFlow src/Dodge/TestString.hs 87;" f shrinkGun src/Dodge/Item/Weapon/Utility.hs 44;" f -shrinkPolyOnEdges src/Geometry/Polygon.hs 119;" f -shrinkVert src/Geometry/Polygon.hs 123;" f +shrinkPolyOnEdges src/Geometry/Polygon.hs 128;" f +shrinkVert src/Geometry/Polygon.hs 132;" f shuffle src/RandomHelp.hs 46;" f shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 55;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 646;" f +simpleCrSprings src/Dodge/Update.hs 641;" f simpleDamFL src/Dodge/Flame.hs 41;" f simplePCI src/Dodge/Item/Grammar.hs 81;" f simpleTermMessage src/Dodge/Terminal.hs 249;" f @@ -5727,7 +5730,7 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 13;" f spreadOut src/Dodge/Creature/Boid.hs 157;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f -square src/Geometry/Polygon.hs 42;" f +square src/Geometry/Polygon.hs 38;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 110;" f squashNormalizeV src/Geometry/Vector.hs 146;" f @@ -5831,7 +5834,7 @@ 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 256;" f -testPic src/Dodge/Render/ShapePicture.hs 163;" f +testPic src/Dodge/Render/ShapePicture.hs 162;" f testStringInit src/Dodge/TestString.hs 22;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f @@ -5859,7 +5862,7 @@ threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f tileTexCoords src/Tile.hs 10;" f tilesFromRooms src/Dodge/Layout.hs 205;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 160;" f +timeFlowUpdate src/Dodge/Update.hs 158;" f timeModule src/Dodge/Item/Craftable.hs 34;" f timerTLS src/Dodge/LightSource/Update.hs 22;" f tinMag src/Dodge/Item/Ammo.hs 15;" f @@ -5868,10 +5871,10 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f -tmUpdate src/Dodge/Update.hs 331;" f +tmUpdate src/Dodge/Update.hs 329;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f -toColor8 src/Color.hs 144;" f +toColor8 src/Color.hs 148;" f toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f toFloatVAs src/Shader/Compile.hs 211;" f toLabel src/Dodge/Cleat.hs 16;" f @@ -5901,9 +5904,9 @@ torqueCr src/Dodge/WorldEffect.hs 70;" f torso src/Dodge/Creature/Picture.hs 102;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 244;" f +tractorBeamAt src/Dodge/HeldUse.hs 265;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 67;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 386;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 375;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 124;" f @@ -5918,9 +5921,9 @@ translatePointToHead src/Dodge/Creature/HandPos.hs 173;" f translatePointToLeftHand src/Dodge/Creature/HandPos.hs 101;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 49;" f translatePointToRightHand' src/Dodge/Creature/HandPos.hs 55;" f -translateSH src/Shape.hs 241;" f -translateSHxy src/Shape.hs 245;" f -translateSHz src/Shape.hs 249;" f +translateSH src/Shape.hs 243;" f +translateSHxy src/Shape.hs 247;" f +translateSHz src/Shape.hs 251;" f translateSP src/ShapePicture.hs 53;" f translateSPxy src/ShapePicture.hs 45;" f translateSPz src/ShapePicture.hs 49;" f @@ -5938,7 +5941,7 @@ translateToRightWrist src/Dodge/Creature/HandPos.hs 84;" f translateToRightWrist' src/Dodge/Creature/HandPos.hs 87;" f translateWallID src/Dodge/Wall/Move.hs 37;" f translateXY src/Polyhedra.hs 25;" f -trapezionBWHW src/Geometry/Polygon.hs 29;" f +trapezionBWHW src/Geometry/Polygon.hs 24;" f treeChildNums src/TreeHelp.hs 129;" f treeFromPost src/TreeHelp.hs 39;" f treeFromTrunk src/TreeHelp.hs 51;" f @@ -6008,39 +6011,38 @@ updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f -updateBullets src/Dodge/Update.hs 429;" f +updateBullets src/Dodge/Update.hs 424;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 112;" f -updateCloud src/Dodge/Update.hs 612;" f -updateClouds src/Dodge/Update.hs 458;" f +updateCloud src/Dodge/Update.hs 607;" f +updateClouds src/Dodge/Update.hs 453;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombineSections src/Dodge/DisplayInventory.hs 42;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 395;" f -updateCreatureSoundPositions src/Dodge/Update.hs 373;" f -updateDebugMessageOffset src/Dodge/Update.hs 93;" f -updateDelayedEvents src/Dodge/Update.hs 675;" f +updateCreatureGroups src/Dodge/Update.hs 393;" f +updateCreatureSoundPositions src/Dodge/Update.hs 371;" f +updateDebugMessageOffset src/Dodge/Update.hs 91;" f +updateDelayedEvents src/Dodge/Update.hs 670;" f updateDisplaySections src/Dodge/DisplayInventory.hs 92;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 416;" f +updateDistortions src/Dodge/Update.hs 414;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 446;" f +updateEnergyBalls src/Dodge/Update.hs 441;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 188;" 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 71;" f -updateFlames src/Dodge/Update.hs 443;" f +updateFlames src/Dodge/Update.hs 438;" f updateFlare src/Dodge/Flare.hs 7;" f -updateFlares src/Dodge/Update.hs 425;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateGusts src/Dodge/Update.hs 595;" f +updateGusts src/Dodge/Update.hs 590;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 387;" f -updateIMl' src/Dodge/Update.hs 391;" f +updateIMl src/Dodge/Update.hs 385;" f +updateIMl' src/Dodge/Update.hs 389;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f -updateInstantBullets src/Dodge/Update.hs 535;" f +updateInstantBullets src/Dodge/Update.hs 530;" f updateInv src/Dodge/Creature/State.hs 150;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateInventorySectionItems src/Dodge/DisplayInventory.hs 143;" f @@ -6048,20 +6050,20 @@ updateItemTargeting src/Dodge/Creature/State.hs 230;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 91;" f -updateLampoid src/Dodge/Lampoid.hs 13;" f +updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 316;" f -updateLightSources src/Dodge/Update.hs 419;" f +updateLasers src/Dodge/Update.hs 314;" f +updateLightSources src/Dodge/Update.hs 417;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f -updateMIM src/Dodge/Update.hs 548;" f +updateMIM src/Dodge/Update.hs 543;" f updateMachine src/Dodge/Machine/Update.hs 16;" f updateMovement src/Dodge/Creature/State.hs 305;" f -updateObjCatMaybes src/Dodge/Update.hs 407;" f -updateObjMapMaybe src/Dodge/Update.hs 400;" f -updatePastWorlds src/Dodge/Update.hs 305;" f +updateObjCatMaybes src/Dodge/Update.hs 405;" f +updateObjMapMaybe src/Dodge/Update.hs 398;" f +updatePastWorlds src/Dodge/Update.hs 303;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 455;" f +updatePosEvents src/Dodge/Update.hs 450;" f updatePreload src/Preload/Update.hs 20;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 66;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 69;" f @@ -6069,9 +6071,9 @@ updateProjectile src/Dodge/Projectile/Update.hs 22;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f -updateRadarBlips src/Dodge/Update.hs 422;" f +updateRadarBlips src/Dodge/Update.hs 420;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 449;" f +updateRadarSweeps src/Dodge/Update.hs 444;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 105;" f updateRootItem src/Dodge/Creature/State.hs 167;" f @@ -6082,50 +6084,50 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 185;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 164;" f -updateSeenWalls src/Dodge/Update.hs 566;" f +updateSeenWalls src/Dodge/Update.hs 561;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 440;" f +updateShockwaves src/Dodge/Update.hs 435;" 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 452;" f +updateSparks src/Dodge/Update.hs 447;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 434;" f +updateTeslaArcs src/Dodge/Update.hs 429;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 437;" f +updateTractorBeams src/Dodge/Update.hs 432;" f updateTurret src/Dodge/Machine/Update.hs 31;" f -updateUniverse src/Dodge/Update.hs 73;" f -updateUniverseFirst src/Dodge/Update.hs 84;" f -updateUniverseLast src/Dodge/Update.hs 125;" f -updateUniverseMid src/Dodge/Update.hs 144;" f +updateUniverse src/Dodge/Update.hs 71;" f +updateUniverseFirst src/Dodge/Update.hs 82;" f +updateUniverseLast src/Dodge/Update.hs 123;" f +updateUniverseMid src/Dodge/Update.hs 142;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 31;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f -updateWheelEvents src/Dodge/Update.hs 292;" f -updateWorldEventFlag src/Dodge/Update.hs 110;" f -updateWorldEventFlags src/Dodge/Update.hs 104;" f +updateWheelEvents src/Dodge/Update.hs 290;" f +updateWorldEventFlag src/Dodge/Update.hs 108;" f +updateWorldEventFlags src/Dodge/Update.hs 102;" f upperBody src/Dodge/Creature/Picture.hs 132;" f -upperBox src/Shape.hs 152;" f -upperBoxHalf src/Shape.hs 218;" f -upperBoxMT src/Shape.hs 143;" f -upperBoxST src/Shape.hs 146;" f -upperBoxSU src/Shape.hs 149;" f -upperCylinder src/Shape.hs 165;" f -upperPrismPoly src/Shape.hs 121;" f -upperPrismPolyHalf src/Shape.hs 203;" f -upperPrismPolyHalfMI src/Shape.hs 197;" f -upperPrismPolyHalfST src/Shape.hs 200;" f -upperPrismPolyMT src/Shape.hs 100;" f -upperPrismPolySE src/Shape.hs 103;" f -upperPrismPolySI src/Shape.hs 109;" f -upperPrismPolyST src/Shape.hs 106;" f -upperPrismPolySU src/Shape.hs 112;" f -upperPrismPolyTS src/Shape.hs 118;" f -upperRounded src/Shape.hs 181;" f +upperBox src/Shape.hs 154;" f +upperBoxHalf src/Shape.hs 220;" f +upperBoxMT src/Shape.hs 145;" f +upperBoxST src/Shape.hs 148;" f +upperBoxSU src/Shape.hs 151;" f +upperCylinder src/Shape.hs 167;" f +upperPrismPoly src/Shape.hs 122;" f +upperPrismPolyHalf src/Shape.hs 205;" f +upperPrismPolyHalfMI src/Shape.hs 199;" f +upperPrismPolyHalfST src/Shape.hs 202;" f +upperPrismPolyMT src/Shape.hs 101;" f +upperPrismPolySE src/Shape.hs 104;" f +upperPrismPolySI src/Shape.hs 110;" f +upperPrismPolyST src/Shape.hs 107;" f +upperPrismPolySU src/Shape.hs 113;" f +upperPrismPolyTS src/Shape.hs 119;" f +upperRounded src/Shape.hs 183;" f useBreakL' src/Dodge/Item/Grammar.hs 22;" f useBreakListsLinkTest src/Dodge/Item/Grammar.hs 28;" f useBulletPayload src/Dodge/Bullet.hs 105;" f @@ -6133,14 +6135,14 @@ useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 24;" f useEquipment src/Dodge/Creature/State.hs 144;" f -useGasParams src/Dodge/HeldUse.hs 384;" f +useGasParams src/Dodge/HeldUse.hs 412;" f useHotKey src/Dodge/Creature/YourControl.hs 48;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 99;" f useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 112;" f useL src/Dodge/Luse.hs 13;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 186;" f +useLoadedAmmo src/Dodge/HeldUse.hs 207;" f useMagShield src/Dodge/Euse.hs 69;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f @@ -6185,7 +6187,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 32;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 289;" f waistSP src/Dodge/Creature/HandPos.hs 199;" f -walkNozzle src/Dodge/HeldUse.hs 212;" f +walkNozzle src/Dodge/HeldUse.hs 233;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f @@ -6241,15 +6243,15 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f wordsBy src/ListHelp.hs 116;" f worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f -worldSPic src/Dodge/Render/ShapePicture.hs 30;" f +worldSPic src/Dodge/Render/ShapePicture.hs 29;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f wpAdd src/Dodge/Room/RezBox.hs 134;" f wristArmour src/Dodge/Item/Equipment.hs 47;" f wristInvisibility src/Dodge/Item/Equipment.hs 119;" f writeConfig src/Dodge/Menu.hs 159;" f writeSaveSlot src/Dodge/Save.hs 34;" f -xCylinder src/Shape.hs 134;" f -xCylinderST src/Shape.hs 131;" f +xCylinder src/Shape.hs 136;" f +xCylinderST src/Shape.hs 133;" f xIntercepts src/Dodge/Zoning/Base.hs 58;" f xV2 src/Geometry/Vector.hs 199;" f xyV3 src/Geometry/Vector.hs 211;" f @@ -6276,9 +6278,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 117;" f zipWithDefaults src/Dodge/Item/Display.hs 18;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 324;" f +zoneClouds src/Dodge/Update.hs 322;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 368;" f +zoneCreatures src/Dodge/Update.hs 366;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f