diff --git a/src/Dodge/Data/GenWorld.hs b/src/Dodge/Data/GenWorld.hs index 01d74eaf8..51ff99f12 100644 --- a/src/Dodge/Data/GenWorld.hs +++ b/src/Dodge/Data/GenWorld.hs @@ -52,7 +52,7 @@ data PSType , _putEndPoint :: Point2 } | PutWall {_pwPoly :: [Point2], _pwWall :: Wall} - | PutDoor Door Wall + | PutDoor {_putDoorDoor :: Door, _putDoorWall :: Wall} | RandPS (State StdGen PSType) | PutForeground ForegroundShape | PutWorldUpdate (Int -> PlacementSpot -> GenWorld -> GenWorld) diff --git a/src/Dodge/Data/LWorld.hs b/src/Dodge/Data/LWorld.hs index d5458a334..22dce910e 100644 --- a/src/Dodge/Data/LWorld.hs +++ b/src/Dodge/Data/LWorld.hs @@ -42,6 +42,7 @@ module Dodge.Data.LWorld ( module Dodge.Data.PulseLaser, ) where +import ShapePicture.Data import Dodge.Data.PulseLaser import Dodge.Data.Equipment.Misc import Control.Lens @@ -105,6 +106,7 @@ data LWorld = LWorld , _sparks :: [Spark] , _radarBlips :: [RadarBlip] , _flares :: Picture -- picture drawn for one frame + , _tempSPic :: SPic , _teslaArcs :: [TeslaArc] , _arcNode :: M.Map ArcNodeType Int , _shockwaves :: [Shockwave] diff --git a/src/Dodge/Data/MountedObject.hs b/src/Dodge/Data/MountedObject.hs index b5bbd50aa..16fbf4f51 100644 --- a/src/Dodge/Data/MountedObject.hs +++ b/src/Dodge/Data/MountedObject.hs @@ -3,12 +3,16 @@ module Dodge.Data.MountedObject where +import ShapePicture.Data +import Geometry.Data import Data.Aeson import Data.Aeson.TH data MountedObject = MountedLS Int | MountedProp Int + | MountedLight Point3 Float Point3 + | MountedSPic SPic deriving (Eq, Ord, Show, Read) --Generic, Flat) deriveJSON defaultOptions ''MountedObject diff --git a/src/Dodge/Data/Prop.hs b/src/Dodge/Data/Prop.hs index b2747cd68..de9576394 100644 --- a/src/Dodge/Data/Prop.hs +++ b/src/Dodge/Data/Prop.hs @@ -18,7 +18,7 @@ data Prop = ShapeProp , _prUpdate :: PropUpdate , _prID :: Int , _prRot :: Float - , _prToggle :: Bool +-- , _prToggle :: Bool } data DebrisType @@ -35,9 +35,6 @@ data Debris = DebrisChunk data PropUpdate = PropUpdateId - | PropUpdateAnd PropUpdate PropUpdate - | PropRotate Float - | PropSetToggleAnd WdBl PropUpdate | PropUpdates [PropUpdate] | PropUpdateLS Int PrWdLsLs | PropUpdatePosition WdP2f diff --git a/src/Dodge/Default/Prop.hs b/src/Dodge/Default/Prop.hs index 36cb1c43d..f83f548f3 100644 --- a/src/Dodge/Default/Prop.hs +++ b/src/Dodge/Default/Prop.hs @@ -10,6 +10,5 @@ defaultProp = , _prDraw = mempty , _prID = 0 , _prUpdate = PropUpdateId - , _prToggle = True , _prRot = 0 } diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index fc018a0a9..f396f1905 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -158,6 +158,7 @@ defaultLWorld = , _lAimPos = 0 , _lInvLock = False , _respawnPos = (V2 20 20, pi / 2) + , _tempSPic = mempty } defaultHUD :: HUD diff --git a/src/Dodge/DrWdWd.hs b/src/Dodge/DrWdWd.hs index 85c8c98c8..bc0b9f9aa 100644 --- a/src/Dodge/DrWdWd.hs +++ b/src/Dodge/DrWdWd.hs @@ -1,41 +1,64 @@ +{-# LANGUAGE LambdaCase #-} + module Dodge.DrWdWd (updateDoor) where +import Data.Foldable +import qualified Data.IntMap.Strict as IM +import Data.Maybe +import qualified Data.Set as S +import Dodge.Block.Debris +import Dodge.Data.World import Dodge.Door.DoorLerp import Dodge.LightSource -import Data.Foldable -import Dodge.Wall.Delete -import Dodge.Block.Debris -import qualified Data.IntMap.Strict as IM -import Dodge.Zoning.Pathing -import Dodge.Zoning.Base -import Geometry.Data -import Control.Lens -import Data.Maybe -import Dodge.Data.World import Dodge.ShiftPoint import Dodge.SoundLogic +import Dodge.Wall.Delete import Dodge.Wall.Move import Dodge.WorldBool -import qualified Data.Set as S +import Dodge.Zoning.Base +import Dodge.Zoning.Pathing +import Geometry.Data +import LensHelp +import Linear +import Picture.Data +import Shape.Data -updateDoor :: Door -> World -> (S.Set Int2, World) +updateDoor :: Door -> World -> (S.Set Int2, World) updateDoor dr w - | dr ^. drHP < 1 = destroyDoor dr w + | dr ^. drHP < 1 = destroyDoor dr w | DoorLerp x <- dr ^. drUpdate = doorLerp x dr w - | otherwise = (mempty,w) + | otherwise = + ( mempty + , foldl' (doDoorMount (doDoorLerp dr (dr ^. drLerp))) w (dr ^. drMounts) + ) -doorLerp :: Float -> Door -> World -> (S.Set Int2,World) -doorLerp speed dr w = fromMaybe (mempty,w) $ do +doDoorMount :: Point2A -> World -> MountedObject -> World +doDoorMount pa w = \case + MountedLight p r c -> + w & cWorld . lWorld . lights + .:~ LSParam (p & _xy %~ shiftPointBy pa) r c + MountedSPic x -> + w & cWorld . lWorld . tempSPic + <>~ ( x & _1 . each . sfVs . each . _xy %~ shiftPointBy pa + & _2 . each . vxPos . _xy %~ shiftPointBy pa + ) + _ -> w + +doorLerp :: Float -> Door -> World -> (S.Set Int2, World) +doorLerp speed dr w = fromMaybe (mempty,domounts (dr ^. drLerp) w) $ do x <- newlerp let ps = wlposs x is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps -- it seems possible that this will miss some paths: we don't add zones for the -- old footprint. Seems unlikely, but a possible cause of pathfinding bugs - return (is, - f x + return + ( is + , domounts x $ f x & playSound x - & cWorld . lWorld . doors . ix drid . drLerp .~ x) + & cWorld . lWorld . doors . ix drid . drLerp .~ x + ) where + domounts x w' = foldl' (doDoorMount (doDoorLerp dr x)) w' (dr ^. drMounts) f = ifoldl' (flip . moveWallID) w . wlposs wlposs x = (dr ^. drFootPrint) & each . each %~ shiftPointBy (doDoorLerp dr x) clerp = dr ^. drLerp @@ -52,14 +75,16 @@ doorLerp speed dr w = fromMaybe (mempty,w) $ do destroyDoor :: Door -> World -> (S.Set Int2, World) destroyDoor dr w = - (is,w + ( is + , w & makeDoorDebris dr & deleteWallIDs wlids & cWorld . lWorld . doors %~ IM.delete (_drID dr) --- & muchWlDustAt awl (0.5 * uncurry (+) (_drPos dr)) --- & flip (foldl' (flip $ muchWlDustAt awl)) (map (pos +.+) ps) + -- & muchWlDustAt awl (0.5 * uncurry (+) (_drPos dr)) + -- & flip (foldl' (flip $ muchWlDustAt awl)) (map (pos +.+) ps) & stopPushing (_drPushes dr) - & destroyMounts (_drMounts dr)) + & destroyMounts (_drMounts dr) + ) where is = foldMap (S.fromList . uncurry (zoneOfSeg peZoneSize)) ps ps = (dr ^. drFootPrint) & each . each %~ shiftPointBy (doDoorLerp dr (dr ^. drLerp)) @@ -72,6 +97,8 @@ destroyMount :: MountedObject -> World -> World destroyMount mo = case mo of MountedLS lsid -> destroyLS lsid MountedProp prid -> cWorld . lWorld . props . at prid .~ Nothing + MountedLight{} -> id -- should make sound + flash + MountedSPic{} -> id -- make debris? stopPushing :: Maybe Int -> World -> World stopPushing mdrid w = fromMaybe w $ do diff --git a/src/Dodge/Placement/Instance/LightSource.hs b/src/Dodge/Placement/Instance/LightSource.hs index 5b41154d6..285d31d05 100644 --- a/src/Dodge/Placement/Instance/LightSource.hs +++ b/src/Dodge/Placement/Instance/LightSource.hs @@ -58,7 +58,6 @@ moveLSThen posf off sh = propLSThen (PropUpdatePosition posf) (PrWdLsSetPosition , _prUpdate = PropUpdateId , --, _prDraw = PropDrawSPic $ noPic $ uncurryV translateSHf (_prPos pr) $ rotateSH (_pjRot pr) sh _prDraw = noPic sh - , _prToggle = True } -- | mount a light source on a shape diff --git a/src/Dodge/Prop/Update.hs b/src/Dodge/Prop/Update.hs index 8b580db48..b80ba4fbb 100644 --- a/src/Dodge/Prop/Update.hs +++ b/src/Dodge/Prop/Update.hs @@ -1,4 +1,4 @@ -module Dodge.Prop.Update where +module Dodge.Prop.Update (updateProp) where import Control.Lens import Data.Foldable @@ -11,13 +11,10 @@ import Dodge.WorldBool updateProp :: Prop -> World -> World updateProp pr = case _prUpdate pr of PropUpdateId -> id - PropRotate x -> rotateProp x pr - PropSetToggleAnd wb pu -> propSetToggleAnd wb pu pr PropUpdates pus -> doPropUpdates pr pus PropUpdateLS lsid x -> \w -> w & cWorld . lWorld . lightSources . ix lsid %~ doPrWdLsLs x pr w PropUpdatePosition x -> propUpdatePosition x pr PropUpdateWhen t x -> propUpdateIf t x PropUpdateId pr - PropUpdateAnd x y -> doPropUpdates pr [x, y] PropUpdateIf t x y -> propUpdateIf t x y pr propUpdateIf :: WdBl -> PropUpdate -> PropUpdate -> Prop -> World -> World @@ -35,16 +32,3 @@ doPropUpdates :: Prop -> [PropUpdate] -> World -> World doPropUpdates pr pus w = foldl' f w pus where f w' pu = updateProp (pr & prUpdate .~ pu) w' - -propSetToggleAnd :: WdBl -> PropUpdate -> Prop -> World -> World -propSetToggleAnd wb pu pr = setToggle (doWdBl wb) pr . updateProp (pr & prUpdate .~ pu) - --- fugly - -setToggle :: (World -> Bool) -> Prop -> World -> World -setToggle cond pr w = w & cWorld . lWorld . props . ix (_prID pr) . prToggle .~ cond w - -rotateProp :: Float -> Prop -> World -> World -rotateProp rotAmount pr w = - w - & cWorld . lWorld . props . ix (_prID pr) . prRot +~ rotAmount diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index f76ce250a..b8efb4052 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -41,6 +41,7 @@ worldSPic cfig u = <> foldup btSPic (filtOn _btPos _buttons) <> foldup (mcSPic (w ^. cWorld)) (filtOn _mcPos _machines) <> foldMap' drawChasm (w ^. cWorld . chasms) + <> w ^. cWorld . lWorld . tempSPic where w = u ^. uvWorld lw = w ^. cWorld . lWorld diff --git a/src/Dodge/Room/Airlock.hs b/src/Dodge/Room/Airlock.hs index 80c7d6c47..dba281ee6 100644 --- a/src/Dodge/Room/Airlock.hs +++ b/src/Dodge/Room/Airlock.hs @@ -3,6 +3,8 @@ {- Rooms that contain two doors and a switch alternating both. -} module Dodge.Room.Airlock where +import Dodge.Room.Foreground +import ShapePicture import Control.Lens import Control.Monad import qualified Data.IntMap.Strict as IM @@ -16,7 +18,6 @@ import Dodge.LevelGen.PlacementHelper import Dodge.LevelGen.Switch import Dodge.Placement.Instance import Dodge.Placement.Instance.Analyser -import Dodge.Room.Foreground import Dodge.Room.Path import Dodge.RoomLink import Geometry @@ -208,7 +209,8 @@ airlock90 = (PS (V2 120 120) (3 * pi / 4)) xSwitch $ \btid -> jsps (V2 5 5) 0 $ putDoor (WdBlBtOn btid) l1 x1 y1 - , mntLS vShape (V2 35 35) (V3 70 70 50) + & putDoorDoor . drMounts .~ themounts +-- , mntLS vShape (V2 35 35) (V3 70 70 50) ] , _rmBound = pure @@ -221,7 +223,14 @@ airlock90 = , _rmName = "airlock90" } where + themounts = + [ MountedLight (V3 hl hl 50) 150 0.5 + , MountedLight (V3 hl (-hl) 50) 150 0.5 + , MountedSPic . noPic $ thinHighBar 55 (V2 hl (-hl')) (V2 hl hl') + ] lnks = muout [(V2 0 40, pi / 2)] ++ muin [(V2 40 0, pi)] + hl = 27.5 + hl' = 30 l1 = 55 y1 = (0, 0) x1 = (0, pi / 2) diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index c5c1b519d..d15d1b5e2 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -45,13 +45,14 @@ tutAnoTree = do foldMTRS [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox , corDoor - , return $ tToBTree "cor" $ return $ cleatOnward corridor --- , return $ tToBTree "cor" $ return $ cleatOnward airlock90 - , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40) - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , return $ tToBTree "cor" $ return $ cleatOnward airlock0 - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , tToBTree "x" . return . cleatOnward <$> airlockSimple + , return $ tToBTree "cor" $ return $ cleatOnward $ corridor & rmPmnts .~ mempty + , return $ tToBTree "cor" $ return $ cleatOnward airlock90 + , corDoor +-- , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40) +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , return $ tToBTree "cor" $ return $ cleatOnward airlock0 +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , tToBTree "x" . return . cleatOnward <$> airlockSimple -- , tToBTree "lastun" . return . cleatOnward <$> tanksRoom [] [] -- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 47fd3c3ac..2d1b70166 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -299,8 +299,9 @@ functionalUpdate = -- . over uvWorld updateInventorySelectionList . set (uvWorld . cWorld . lWorld . flares) [] . set (uvWorld . cWorld . lWorld . lights) [] + . set (uvWorld . cWorld . lWorld . tempSPic) mempty . updateAimPos - . over uvWorld updatePastWorlds + . over uvWorld updatePastWorlds -- it might be possible to do this without storing stuff such as the temporary lights/flares etc updateAimPos :: Universe -> Universe updateAimPos u = diff --git a/tags b/tags index f08e4842b..b4a0f2e60 100644 --- a/tags +++ b/tags @@ -16,7 +16,7 @@ <$> src/Dodge/Data/CWorld.hs 49;" o <$> src/Dodge/Data/Camera.hs 38;" o <$> src/Dodge/Data/Creature.hs 89;" o -<$> src/Dodge/Data/LWorld.hs 173;" o +<$> src/Dodge/Data/LWorld.hs 175;" o <$> src/Dodge/Data/Terminal.hs 68;" o ABSOLUTE src/Dodge/Data/Item/Combine.hs 39;" C AIUNIT src/Dodge/Data/Item/Combine.hs 74;" C @@ -59,7 +59,7 @@ AmmoPerShot src/Dodge/Data/Muzzle.hs 61;" t AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C AmmoType src/Dodge/Data/AmmoType.hs 5;" t ArbitraryAction src/Dodge/Data/ActionPlan.hs 119;" C -ArcNodeType src/Dodge/Data/LWorld.hs 153;" t +ArcNodeType src/Dodge/Data/LWorld.hs 155;" t ArcShad src/Picture/Data.hs 36;" C ArcStep src/Dodge/Data/ArcStep.hs 12;" t Arcing src/Dodge/Data/Item/Params.hs 15;" C @@ -242,7 +242,7 @@ CookingDamage src/Dodge/Data/Damage/Type.hs 5;" C Corporation src/Dodge/Data/Scenario.hs 46;" C Cosmic src/Dodge/Data/Scenario.hs 74;" C CrAc src/Dodge/Data/CreatureEffect.hs 23;" t -CrArcNode src/Dodge/Data/LWorld.hs 158;" C +CrArcNode src/Dodge/Data/LWorld.hs 160;" C CrBl src/Dodge/Data/CreatureEffect.hs 20;" t CrCanShoot src/Dodge/Data/CreatureEffect.hs 20;" C CrChasm src/Dodge/Data/SoundOrigin.hs 17;" C @@ -625,7 +625,7 @@ LIGHTER src/Dodge/Data/Item/Combine.hs 66;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 79;" C LS src/Dodge/Data/LightSource.hs 21;" C LSParam src/Dodge/Data/LightSource.hs 14;" t -LWorld src/Dodge/Data/LWorld.hs 91;" t +LWorld src/Dodge/Data/LWorld.hs 92;" t LabLink src/Dodge/Data/Room.hs 46;" C LabSS src/Dodge/Data/Scenario.hs 97;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C @@ -751,9 +751,11 @@ MiniGunFlare src/Dodge/Data/Muzzle.hs 32;" C ModIDID src/Dodge/Data/Modification.hs 21;" C ModIDTimerPoint3Bool src/Dodge/Data/Modification.hs 13;" C Modification src/Dodge/Data/Modification.hs 12;" t -MountedLS src/Dodge/Data/MountedObject.hs 10;" C -MountedObject src/Dodge/Data/MountedObject.hs 9;" t -MountedProp src/Dodge/Data/MountedObject.hs 11;" C +MountedLS src/Dodge/Data/MountedObject.hs 12;" C +MountedLight src/Dodge/Data/MountedObject.hs 14;" C +MountedObject src/Dodge/Data/MountedObject.hs 11;" t +MountedProp src/Dodge/Data/MountedObject.hs 13;" C +MountedSPic src/Dodge/Data/MountedObject.hs 15;" C MouseAiming src/Dodge/Data/Input.hs 15;" C MouseContext src/Dodge/Data/Input.hs 13;" t MouseGameRotate src/Dodge/Data/Input.hs 29;" C @@ -984,10 +986,10 @@ Polyhedron src/Polyhedra/Data.hs 13;" C PosInf src/Dodge/Data/CardinalPoint.hs 36;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t Posture src/Dodge/Data/Creature/Stance.hs 33;" t -PrWdLsId src/Dodge/Data/Prop.hs 59;" C -PrWdLsLs src/Dodge/Data/Prop.hs 58;" t -PrWdLsSetColor src/Dodge/Data/Prop.hs 61;" C -PrWdLsSetPosition src/Dodge/Data/Prop.hs 60;" C +PrWdLsId src/Dodge/Data/Prop.hs 45;" C +PrWdLsLs src/Dodge/Data/Prop.hs 44;" t +PrWdLsSetColor src/Dodge/Data/Prop.hs 47;" C +PrWdLsSetPosition src/Dodge/Data/Prop.hs 46;" C PreloadData src/Data/Preload.hs 10;" t PrimitiveMode src/Shader/Data.hs 99;" t PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C @@ -997,21 +999,13 @@ ProjectileParams src/Dodge/Data/Item/Use.hs 51;" C ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 36;" C ProjectileType src/Dodge/Data/Projectile.hs 30;" t Prop src/Dodge/Data/Prop.hs 15;" t -PropDoubleLampCover src/Dodge/Data/Prop.hs 38;" C -PropDraw src/Dodge/Data/Prop.hs 36;" t -PropDrawFlatTranslate src/Dodge/Data/Prop.hs 37;" C -PropLampCover src/Dodge/Data/Prop.hs 40;" C -PropRotate src/Dodge/Data/Prop.hs 48;" C -PropSetToggleAnd src/Dodge/Data/Prop.hs 49;" C -PropUpdate src/Dodge/Data/Prop.hs 45;" t -PropUpdateAnd src/Dodge/Data/Prop.hs 47;" C -PropUpdateId src/Dodge/Data/Prop.hs 46;" C -PropUpdateIf src/Dodge/Data/Prop.hs 54;" C -PropUpdateLS src/Dodge/Data/Prop.hs 51;" C -PropUpdatePosition src/Dodge/Data/Prop.hs 52;" C -PropUpdateWhen src/Dodge/Data/Prop.hs 53;" C -PropUpdates src/Dodge/Data/Prop.hs 50;" C -PropVerticalLampCover src/Dodge/Data/Prop.hs 39;" C +PropUpdate src/Dodge/Data/Prop.hs 36;" t +PropUpdateId src/Dodge/Data/Prop.hs 37;" C +PropUpdateIf src/Dodge/Data/Prop.hs 42;" C +PropUpdateLS src/Dodge/Data/Prop.hs 39;" C +PropUpdatePosition src/Dodge/Data/Prop.hs 40;" C +PropUpdateWhen src/Dodge/Data/Prop.hs 41;" C +PropUpdates src/Dodge/Data/Prop.hs 38;" C ProxSensor src/Dodge/Data/Machine/Sensor.hs 25;" C ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 34;" t ProximitySensor src/Dodge/Data/Machine/Sensor.hs 25;" t @@ -1427,7 +1421,7 @@ WRIST_ECG src/Dodge/Data/Item/Combine.hs 135;" C WaitThen src/Dodge/Data/ActionPlan.hs 74;" C Walking src/Dodge/Data/Creature/Stance.hs 23;" C Wall src/Dodge/Data/Wall.hs 17;" t -WallArcNode src/Dodge/Data/LWorld.hs 154;" C +WallArcNode src/Dodge/Data/LWorld.hs 156;" C WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 19;" C WallDraw src/Dodge/Data/Wall.hs 37;" t WallFlag src/Dodge/Data/Wall/Structure.hs 18;" t @@ -1507,7 +1501,7 @@ _apProjectiles src/Dodge/Data/Item/Use.hs 44;" f _apStrategy src/Dodge/Data/ActionPlan.hs 19;" f _aps src/Dodge/Data/Muzzle.hs 22;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 119;" f -_arcNode src/Dodge/Data/LWorld.hs 109;" f +_arcNode src/Dodge/Data/LWorld.hs 111;" f _asDir src/Dodge/Data/ArcStep.hs 14;" f _asObject src/Dodge/Data/ArcStep.hs 15;" f _asPos src/Dodge/Data/ArcStep.hs 13;" f @@ -1535,7 +1529,7 @@ _blID src/Dodge/Data/Block.hs 21;" f _blPos src/Dodge/Data/Block.hs 26;" f _blShadows src/Dodge/Data/Block.hs 24;" f _blWallIDs src/Dodge/Data/Block.hs 22;" f -_blocks src/Dodge/Data/LWorld.hs 123;" f +_blocks src/Dodge/Data/LWorld.hs 125;" f _bloomBlurShader src/Data/Preload/Render.hs 21;" f _bmColor src/Dodge/Data/Beam.hs 21;" f _bmDamage src/Dodge/Data/Beam.hs 20;" f @@ -1571,10 +1565,10 @@ _buOldPos src/Dodge/Data/Bullet.hs 22;" f _buPayload src/Dodge/Data/Bullet.hs 18;" f _buPos src/Dodge/Data/Bullet.hs 21;" f _buVel src/Dodge/Data/Bullet.hs 19;" f -_bullets src/Dodge/Data/LWorld.hs 101;" f +_bullets src/Dodge/Data/LWorld.hs 102;" f _burstFrames src/Dodge/Data/TriggerType.hs 12;" f _burstRate src/Dodge/Data/TriggerType.hs 12;" f -_buttons src/Dodge/Data/LWorld.hs 129;" f +_buttons src/Dodge/Data/LWorld.hs 131;" f _cClock src/Dodge/Data/CWorld.hs 26;" f _cWorld src/Dodge/Data/World.hs 35;" f _camBoundBox src/Dodge/Data/Camera.hs 30;" f @@ -1587,7 +1581,7 @@ _camRot src/Dodge/Data/Camera.hs 24;" f _camViewDistance src/Dodge/Data/Camera.hs 29;" f _camViewFrom src/Dodge/Data/Camera.hs 28;" f _camZoom src/Dodge/Data/Camera.hs 25;" f -_canID src/Dodge/Data/LWorld.hs 159;" f +_canID src/Dodge/Data/LWorld.hs 161;" f _carriage src/Dodge/Data/Creature/Stance.hs 16;" f _cdtCloseLeft src/Dodge/Data/DoubleTree.hs 86;" f _cdtCloseLeft src/Dodge/Data/DoubleTree.hs 94;" f @@ -1634,7 +1628,7 @@ _closeItems src/Dodge/Data/HUD.hs 35;" f _cloudEBO src/Data/Preload/Render.hs 51;" f _cloudShader src/Data/Preload/Render.hs 50;" f _cloudVBO src/Data/Preload/Render.hs 49;" f -_clouds src/Dodge/Data/LWorld.hs 95;" f +_clouds src/Dodge/Data/LWorld.hs 96;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 22;" f @@ -1678,8 +1672,8 @@ _crType src/Dodge/Data/Creature.hs 42;" f _crVocalization src/Dodge/Data/Creature.hs 54;" f _crZVel src/Dodge/Data/Creature.hs 38;" f _crZoning src/Dodge/Data/World.hs 46;" f -_creatureGroups src/Dodge/Data/LWorld.hs 93;" f -_creatures src/Dodge/Data/LWorld.hs 92;" f +_creatureGroups src/Dodge/Data/LWorld.hs 94;" f +_creatures src/Dodge/Data/LWorld.hs 93;" f _csLinks src/Dodge/Data/RoomCluster.hs 10;" f _currentArc src/Dodge/Data/Item/Params.hs 15;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f @@ -1696,12 +1690,12 @@ _dbRot src/Dodge/Data/Prop.hs 32;" f _dbSpin src/Dodge/Data/Prop.hs 33;" f _dbType src/Dodge/Data/Prop.hs 30;" f _dbVel src/Dodge/Data/Prop.hs 31;" f -_debris src/Dodge/Data/LWorld.hs 99;" f +_debris src/Dodge/Data/LWorld.hs 100;" f _debugFunction src/Dodge/Data/Universe.hs 59;" f _debugMessage src/Dodge/Data/Universe.hs 58;" 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 128;" f +_delayedEvents src/Dodge/Data/LWorld.hs 130;" f _diCloseFilter src/Dodge/Data/HUD.hs 34;" f _diInvFilter src/Dodge/Data/HUD.hs 33;" f _diSections src/Dodge/Data/HUD.hs 31;" f @@ -1709,7 +1703,7 @@ _diSelection src/Dodge/Data/HUD.hs 32;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 14;" f _dimCenter src/Dodge/Data/Item/Misc.hs 13;" f _dimRad src/Dodge/Data/Item/Misc.hs 12;" f -_distortions src/Dodge/Data/LWorld.hs 135;" f +_distortions src/Dodge/Data/LWorld.hs 137;" f _dmAmount src/Dodge/Data/Damage.hs 16;" f _dmAmount src/Dodge/Data/Damage.hs 19;" f _dmAmount src/Dodge/Data/Damage.hs 22;" f @@ -1742,7 +1736,7 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 108;" f _doReplicateAction src/Dodge/Data/ActionPlan.hs 113;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f -_doors src/Dodge/Data/LWorld.hs 118;" f +_doors src/Dodge/Data/LWorld.hs 120;" f _drFootPrint src/Dodge/Data/Door.hs 36;" f _drHP src/Dodge/Data/Door.hs 37;" f _drID src/Dodge/Data/Door.hs 30;" f @@ -1763,7 +1757,7 @@ _dsZoning src/Dodge/Data/World.hs 48;" f _dtLeft src/Dodge/Data/DoubleTree.hs 29;" f _dtRight src/Dodge/Data/DoubleTree.hs 29;" f _dtValue src/Dodge/Data/DoubleTree.hs 29;" f -_dusts src/Dodge/Data/LWorld.hs 96;" f +_dusts src/Dodge/Data/LWorld.hs 97;" f _ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f _ebPos src/Dodge/Data/EnergyBall.hs 17;" f _ebTimer src/Dodge/Data/EnergyBall.hs 18;" f @@ -1772,7 +1766,7 @@ _ebVel src/Dodge/Data/EnergyBall.hs 16;" f _eboName src/Shader/Data.hs 89;" f _eboPtr src/Shader/Data.hs 90;" f _emoMenuOption src/Dodge/Data/Universe.hs 75;" f -_energyBalls src/Dodge/Data/LWorld.hs 103;" f +_energyBalls src/Dodge/Data/LWorld.hs 104;" f _fbSize src/Dodge/Data/EnergyBall/Type.hs 12;" f _fbo2 src/Data/Preload/Render.hs 29;" f _fbo3 src/Data/Preload/Render.hs 30;" f @@ -1788,14 +1782,14 @@ _flItRot src/Dodge/Data/FloorItem.hs 11;" f _flPos src/Dodge/Data/Flame.hs 13;" f _flTimer src/Dodge/Data/Flame.hs 12;" f _flVel src/Dodge/Data/Flame.hs 14;" f -_flames src/Dodge/Data/LWorld.hs 104;" f +_flames src/Dodge/Data/LWorld.hs 105;" f _flankTarget src/Dodge/Data/ActionPlan.hs 129;" f -_flares src/Dodge/Data/LWorld.hs 107;" f +_flares src/Dodge/Data/LWorld.hs 108;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f -_floorItems src/Dodge/Data/LWorld.hs 125;" f +_floorItems src/Dodge/Data/LWorld.hs 127;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f -_foreShapes src/Dodge/Data/LWorld.hs 130;" f +_foreShapes src/Dodge/Data/LWorld.hs 132;" f _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f _fsSPic src/Dodge/Data/ForegroundShape.hs 15;" f @@ -1837,11 +1831,11 @@ _guID src/Dodge/Data/Gust.hs 12;" f _guPos src/Dodge/Data/Gust.hs 13;" f _guTime src/Dodge/Data/Gust.hs 15;" f _guVel src/Dodge/Data/Gust.hs 14;" f -_gusts src/Dodge/Data/LWorld.hs 97;" f +_gusts src/Dodge/Data/LWorld.hs 98;" f _gwWorld src/Dodge/Data/GenWorld.hs 24;" f _heldPos src/Dodge/Data/Input.hs 43;" f _heldWorldPos src/Dodge/Data/Input.hs 45;" f -_hotkeys src/Dodge/Data/LWorld.hs 139;" f +_hotkeys src/Dodge/Data/LWorld.hs 141;" f _hud src/Dodge/Data/World.hs 44;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 79;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f @@ -1862,7 +1856,7 @@ _ilIsRoot src/Dodge/Data/Item/Location.hs 32;" f _ilIsSelected src/Dodge/Data/Item/Location.hs 33;" f _ilTuID src/Dodge/Data/Item/Location.hs 37;" f _imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f -_imHotkeys src/Dodge/Data/LWorld.hs 140;" f +_imHotkeys src/Dodge/Data/LWorld.hs 142;" f _imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _immediateEffect src/Loop/Data.hs 9;" f @@ -1891,23 +1885,23 @@ _itTgPos src/Dodge/Data/Item.hs 46;" f _itTimeLastUsed src/Dodge/Data/Item.hs 35;" f _itType src/Dodge/Data/Item.hs 29;" f _itUse src/Dodge/Data/Item.hs 27;" f -_items src/Dodge/Data/LWorld.hs 94;" f +_items src/Dodge/Data/LWorld.hs 95;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f _killTarget src/Dodge/Data/ActionPlan.hs 151;" f -_lAimPos src/Dodge/Data/LWorld.hs 141;" f -_lClock src/Dodge/Data/LWorld.hs 136;" f -_lInvLock src/Dodge/Data/LWorld.hs 142;" f -_lTestInt src/Dodge/Data/LWorld.hs 138;" f -_lTestString src/Dodge/Data/LWorld.hs 137;" f +_lAimPos src/Dodge/Data/LWorld.hs 143;" f +_lClock src/Dodge/Data/LWorld.hs 138;" f +_lInvLock src/Dodge/Data/LWorld.hs 144;" f +_lTestInt src/Dodge/Data/LWorld.hs 140;" f +_lTestString src/Dodge/Data/LWorld.hs 139;" f _lWorld src/Dodge/Data/CWorld.hs 24;" 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 16;" f _laserTypeDamage src/Dodge/Data/Laser.hs 15;" f -_lasers src/Dodge/Data/LWorld.hs 111;" f +_lasers src/Dodge/Data/LWorld.hs 113;" f _ldpPos src/Dodge/Data/SelectionList.hs 14;" f _ldpScale src/Dodge/Data/SelectionList.hs 15;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f @@ -1915,14 +1909,14 @@ _ldtLeft src/Dodge/Data/DoubleTree.hs 34;" f _ldtRight src/Dodge/Data/DoubleTree.hs 35;" f _ldtValue src/Dodge/Data/DoubleTree.hs 33;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f -_lightSources src/Dodge/Data/LWorld.hs 131;" f +_lightSources src/Dodge/Data/LWorld.hs 133;" 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 -_lights src/Dodge/Data/LWorld.hs 132;" f +_lights src/Dodge/Data/LWorld.hs 134;" f _lightsUBO src/Data/Preload/Render.hs 40;" f -_linearShockwaves src/Dodge/Data/LWorld.hs 114;" f +_linearShockwaves src/Dodge/Data/LWorld.hs 116;" f _linkGapEW src/Dodge/Data/Room.hs 36;" f _linkGapNS src/Dodge/Data/Room.hs 37;" f _locDT src/Dodge/Data/DoubleTree.hs 101;" f @@ -1945,9 +1939,9 @@ _lwPos src/Dodge/Data/LinearShockwave.hs 12;" f _lwTimer src/Dodge/Data/LinearShockwave.hs 15;" f _lyCounter src/Dodge/Data/MetaTree.hs 31;" f _lyGen src/Dodge/Data/MetaTree.hs 30;" f -_machines src/Dodge/Data/LWorld.hs 119;" f +_machines src/Dodge/Data/LWorld.hs 121;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f -_magnets src/Dodge/Data/LWorld.hs 122;" f +_magnets src/Dodge/Data/LWorld.hs 124;" f _mainAction src/Dodge/Data/ActionPlan.hs 123;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f _mapInvItmID src/Dodge/Data/HUD.hs 20;" f @@ -2002,7 +1996,7 @@ _moString src/Dodge/Data/Universe.hs 100;" f _moString src/Dodge/Data/Universe.hs 105;" f _modOption src/Dodge/Data/Universe.hs 95;" f _modString src/Dodge/Data/Universe.hs 93;" f -_modifications src/Dodge/Data/LWorld.hs 126;" f +_modifications src/Dodge/Data/LWorld.hs 128;" f _mouseButtons src/Dodge/Data/Input.hs 38;" f _mouseButtonsReleased src/Dodge/Data/Input.hs 39;" f _mouseContext src/Dodge/Data/Input.hs 35;" f @@ -2037,7 +2031,7 @@ _nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 49;" f _nzPressure src/Dodge/Data/Muzzle.hs 48;" f _nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f _offGridFromEdges src/Dodge/Data/Room.hs 82;" f -_oldMagnets src/Dodge/Data/LWorld.hs 121;" f +_oldMagnets src/Dodge/Data/LWorld.hs 123;" f _onGridFromEdges src/Dodge/Data/Room.hs 81;" f _opDraw src/Dodge/Data/Wall.hs 33;" f _opSel src/Dodge/Data/RightButtonOptions.hs 15;" f @@ -2083,12 +2077,11 @@ _prID src/Dodge/Data/Prop.hs 19;" f _prPos src/Dodge/Data/Prop.hs 16;" f _prRooms src/Dodge/Tree/Shift.hs 30;" f _prRot src/Dodge/Data/Prop.hs 20;" f -_prToggle src/Dodge/Data/Prop.hs 21;" f _prUpdate src/Dodge/Data/Prop.hs 18;" f _preloadData src/Dodge/Data/Universe.hs 31;" f _pressedKeys src/Dodge/Data/Input.hs 37;" f -_projectiles src/Dodge/Data/LWorld.hs 100;" f -_props src/Dodge/Data/LWorld.hs 98;" f +_projectiles src/Dodge/Data/LWorld.hs 101;" f +_props src/Dodge/Data/LWorld.hs 99;" f _proxReqDead src/Dodge/Data/Machine/Sensor.hs 37;" f _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 36;" f _proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 35;" f @@ -2101,8 +2094,8 @@ _psRoomEff src/Dodge/Data/GenWorld.hs 96;" f _psRoomRandPointNum src/Dodge/Data/GenWorld.hs 100;" f _psRot src/Dodge/Data/GenWorld.hs 92;" f _psSelect src/Dodge/Data/GenWorld.hs 95;" f -_pulseBalls src/Dodge/Data/LWorld.hs 113;" f -_pulseLasers src/Dodge/Data/LWorld.hs 112;" f +_pulseBalls src/Dodge/Data/LWorld.hs 115;" f +_pulseLasers src/Dodge/Data/LWorld.hs 114;" f _pulseProgress src/Dodge/Data/Creature/Misc.hs 54;" f _pulseRate src/Dodge/Data/Creature/Misc.hs 53;" f _putBlock src/Dodge/Data/GenWorld.hs 44;" f @@ -2128,8 +2121,8 @@ _pzDir src/Dodge/Data/PulseLaser.hs 14;" f _pzPhaseV src/Dodge/Data/PulseLaser.hs 12;" f _pzPos src/Dodge/Data/PulseLaser.hs 13;" f _pzTimer src/Dodge/Data/PulseLaser.hs 16;" f -_radarBlips src/Dodge/Data/LWorld.hs 106;" f -_radarSweeps src/Dodge/Data/LWorld.hs 102;" f +_radarBlips src/Dodge/Data/LWorld.hs 107;" f +_radarSweeps src/Dodge/Data/LWorld.hs 103;" f _randGen src/Dodge/Data/World.hs 38;" f _rbColor src/Dodge/Data/RadarBlip.hs 13;" f _rbMaxTime src/Dodge/Data/RadarBlip.hs 15;" f @@ -2140,7 +2133,7 @@ _rbTime src/Dodge/Data/RadarBlip.hs 14;" f _rboBaseBloom src/Data/Preload/Render.hs 38;" f _renderData src/Data/Preload.hs 11;" f _respawnDelay src/Dodge/Data/World.hs 62;" f -_respawnPos src/Dodge/Data/LWorld.hs 143;" f +_respawnPos src/Dodge/Data/LWorld.hs 145;" f _reverseAmount src/Dodge/Data/World.hs 66;" f _reverseAmount src/Dodge/Data/World.hs 72;" f _reverseAmount src/Dodge/Data/World.hs 76;" f @@ -2214,8 +2207,8 @@ _scurPos src/Dodge/Data/SelectionList.hs 24;" f _scurSize src/Dodge/Data/SelectionList.hs 25;" f _seDist src/Dodge/Data/PathGraph.hs 44;" f _seObstacles src/Dodge/Data/PathGraph.hs 45;" f -_seenLocations src/Dodge/Data/LWorld.hs 133;" f -_selLocation src/Dodge/Data/LWorld.hs 134;" f +_seenLocations src/Dodge/Data/LWorld.hs 135;" f +_selLocation src/Dodge/Data/LWorld.hs 136;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 20;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 22;" f _sensType src/Dodge/Data/Machine/Sensor.hs 21;" f @@ -2234,7 +2227,7 @@ _shapeEBO src/Data/Preload/Render.hs 26;" f _shapeHalfSize src/Shape/Data.hs 13;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shellPayload src/Dodge/Data/Item/Combine.hs 101;" f -_shockwaves src/Dodge/Data/LWorld.hs 110;" f +_shockwaves src/Dodge/Data/LWorld.hs 112;" f _siColor src/Dodge/Data/SelectionList.hs 47;" f _siHeight src/Dodge/Data/SelectionList.hs 44;" f _siIsSelectable src/Dodge/Data/SelectionList.hs 46;" f @@ -2269,7 +2262,7 @@ _soundVolumeFraction src/Sound/Data.hs 50;" f _soundsToInvestigate src/Dodge/Data/Creature.hs 76;" f _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f -_sparks src/Dodge/Data/LWorld.hs 105;" f +_sparks src/Dodge/Data/LWorld.hs 106;" f _spawnEBT src/Dodge/Data/Bullet.hs 33;" f _ssIndent src/Dodge/Data/SelectionList.hs 34;" f _ssItems src/Dodge/Data/SelectionList.hs 30;" f @@ -2303,9 +2296,10 @@ _tbPos src/Dodge/Data/TractorBeam.hs 12;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 13;" f _tbTime src/Dodge/Data/TractorBeam.hs 15;" f _tbVel src/Dodge/Data/TractorBeam.hs 14;" f +_tempSPic src/Dodge/Data/LWorld.hs 109;" f _termID src/Dodge/Data/HUD.hs 27;" f -_terminals src/Dodge/Data/LWorld.hs 120;" f -_teslaArcs src/Dodge/Data/LWorld.hs 108;" f +_terminals src/Dodge/Data/LWorld.hs 122;" f +_teslaArcs src/Dodge/Data/LWorld.hs 110;" f _testFloat src/Dodge/Data/World.hs 42;" f _textInput src/Dodge/Data/Input.hs 46;" f _textureObject src/Shader/Data.hs 95;" f @@ -2341,10 +2335,10 @@ _toPlaySoundVolumeFraction src/Sound/Data.hs 38;" f _toPlaySounds src/Dodge/Data/World.hs 39;" f _topBoxSize src/Shape/Data.hs 12;" f _tptString src/Dodge/Data/Terminal/Status.hs 15;" f -_tractorBeams src/Dodge/Data/LWorld.hs 115;" f +_tractorBeams src/Dodge/Data/LWorld.hs 117;" f _trieChildren src/SimpleTrie.hs 12;" f _trieMVal src/SimpleTrie.hs 11;" f -_triggers src/Dodge/Data/LWorld.hs 124;" f +_triggers src/Dodge/Data/LWorld.hs 126;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 44;" f _ttTriggerID src/Dodge/Data/Terminal.hs 43;" f _tuDir src/Dodge/Data/Machine.hs 53;" f @@ -2425,12 +2419,12 @@ _wCam src/Dodge/Data/World.hs 55;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f -_wallDamages src/Dodge/Data/LWorld.hs 117;" f +_wallDamages src/Dodge/Data/LWorld.hs 119;" f _wallShader src/Data/Preload/Render.hs 48;" f _wallVBO src/Data/Preload/Render.hs 47;" f -_walls src/Dodge/Data/LWorld.hs 116;" f -_wanID src/Dodge/Data/LWorld.hs 156;" f -_wanPos src/Dodge/Data/LWorld.hs 155;" f +_walls src/Dodge/Data/LWorld.hs 118;" f +_wanID src/Dodge/Data/LWorld.hs 158;" f +_wanPos src/Dodge/Data/LWorld.hs 157;" f _warmMax src/Dodge/Data/TriggerType.hs 19;" f _warmStart src/Dodge/Data/TriggerType.hs 15;" f _windowPosX src/Dodge/Data/Config.hs 53;" f @@ -2450,7 +2444,7 @@ _wlTouchThrough src/Dodge/Data/Wall.hs 21;" f _wlUnshadowed src/Dodge/Data/Wall.hs 22;" f _wlZoning src/Dodge/Data/World.hs 49;" f _worldEventFlags src/Dodge/Data/World.hs 45;" f -_worldEvents src/Dodge/Data/LWorld.hs 127;" f +_worldEvents src/Dodge/Data/LWorld.hs 129;" f _wsBlock src/Dodge/Data/Wall/Structure.hs 14;" f _wsDoor src/Dodge/Data/Wall/Structure.hs 12;" f _wsIsAutoDoor src/Dodge/Data/Wall/Structure.hs 12;" f @@ -2461,7 +2455,7 @@ _xNum src/Dodge/Data/Item/Combine.hs 170;" f aFlame src/Dodge/Gas.hs 20;" f aGasCloud src/Dodge/Gas.hs 15;" f aRadarPulse src/Dodge/RadarSweep.hs 20;" f -aShape src/Dodge/Placement/Instance/LightSource.hs 119;" f +aShape src/Dodge/Placement/Instance/LightSource.hs 118;" f aSound src/Dodge/SoundLogic.hs 74;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 54;" f @@ -2469,7 +2463,7 @@ activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 62;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 84;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f -addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f +addButtonSlowDoor src/Dodge/Room/LongDoor.hs 94;" f addCrGibs src/Dodge/Prop/Gib.hs 17;" f addDepth src/Picture/Base.hs 133;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f @@ -2495,13 +2489,13 @@ addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f addSideEffect src/Dodge/Concurrent.hs 29;" f -addSouthPillars src/Dodge/Room/LongDoor.hs 93;" f +addSouthPillars src/Dodge/Room/LongDoor.hs 86;" f addTermSignal src/Dodge/Event/Input.hs 31;" f addToTrunk src/TreeHelp.hs 157;" f addWarningTerminal src/Dodge/Room/Warning.hs 61;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 419;" f +advanceScrollAmount src/Dodge/Update.hs 420;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 60;" f aimDelaySweep src/Dodge/Render/Picture.hs 287;" f @@ -2613,7 +2607,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 231;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -barrelShape src/Dodge/Render/ShapePicture.hs 80;" f +barrelShape src/Dodge/Render/ShapePicture.hs 81;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 98;" f baseCI src/Dodge/Item/Grammar.hs 158;" f @@ -2696,7 +2690,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f branchWith src/Dodge/Room/Room.hs 69;" f bright src/Color.hs 120;" f brightX src/Color.hs 116;" f -btSPic src/Dodge/Render/ShapePicture.hs 129;" f +btSPic src/Dodge/Render/ShapePicture.hs 130;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPokedVBO src/Shader/Bind.hs 19;" f @@ -2752,13 +2746,13 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f -checkEndGame src/Dodge/Update.hs 768;" f +checkEndGame src/Dodge/Update.hs 769;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 318;" f +checkTermDist src/Dodge/Update.hs 319;" 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 @@ -2781,7 +2775,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f clAlt src/Dodge/Cloud.hs 5;" f -clClSpringVel src/Dodge/Update.hs 841;" f +clClSpringVel src/Dodge/Update.hs 842;" f clColor src/Shader/Poke/Cloud.hs 35;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 170;" f @@ -2808,7 +2802,7 @@ closeObjectInfo src/Dodge/Render/HUD.hs 226;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f -cloudEffect src/Dodge/Update.hs 793;" f +cloudEffect src/Dodge/Update.hs 794;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 11;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -2887,7 +2881,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 85;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCamouflage src/Dodge/Creature/Picture.hs 33;" f crCanSeeCr src/Dodge/Creature/Test.hs 52;" f -crCrSpring src/Dodge/Update.hs 870;" f +crCrSpring src/Dodge/Update.hs 871;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f @@ -2918,7 +2912,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f crSetRoots src/Dodge/Inventory/Location.hs 55;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 867;" f +crSpring src/Dodge/Update.hs 868;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f crUpdate src/Dodge/Creature/Update.hs 63;" f @@ -2965,7 +2959,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 39;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 66;" f cubeShape src/Dodge/Block/Debris.hs 111;" f -cullPoint src/Dodge/Render/ShapePicture.hs 96;" f +cullPoint src/Dodge/Render/ShapePicture.hs 97;" f cullPretty src/AesonHelp.hs 14;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f @@ -3070,7 +3064,7 @@ defaultDrawButton src/Dodge/Button/Draw.hs 29;" f defaultEquipment src/Dodge/Default.hs 24;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 163;" f +defaultHUD src/Dodge/Default/World.hs 164;" f defaultHeldItem src/Dodge/Default/Item.hs 9;" f defaultInanimate src/Dodge/Default/Creature.hs 62;" f defaultInput src/Dodge/Default/World.hs 11;" f @@ -3098,7 +3092,7 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f denormalEdges src/Polyhedra.hs 136;" f destroyAllInvItems src/Dodge/Inventory.hs 53;" f destroyBlock src/Dodge/Block.hs 17;" f -destroyDoor src/Dodge/DrWdWd.hs 53;" f +destroyDoor src/Dodge/DrWdWd.hs 68;" f destroyInvItem src/Dodge/Inventory.hs 40;" f destroyItem src/Dodge/Inventory.hs 62;" f destroyLS src/Dodge/LightSource.hs 32;" f @@ -3106,8 +3100,8 @@ destroyLSFlashAt src/Dodge/LightSource.hs 42;" f destroyMachine src/Dodge/Machine/Destroy.hs 13;" f destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 22;" f -destroyMount src/Dodge/DrWdWd.hs 71;" f -destroyMounts src/Dodge/DrWdWd.hs 68;" f +destroyMount src/Dodge/DrWdWd.hs 86;" f +destroyMounts src/Dodge/DrWdWd.hs 83;" f destroyProjectile src/Dodge/Projectile/Update.hs 108;" f detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f @@ -3129,7 +3123,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 51;" f displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f -displayTerminalLineString src/Dodge/Update.hs 483;" f +displayTerminalLineString src/Dodge/Update.hs 484;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -3165,6 +3159,7 @@ doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f +doDoorMount src/Dodge/DrWdWd.hs 32;" f doDrag src/Dodge/Update/Input/InGame.hs 127;" f doDrawing src/Dodge/Render.hs 34;" f doDrawing' src/Dodge/Render.hs 45;" f @@ -3181,7 +3176,7 @@ doMagnetBuBu src/Dodge/Bullet.hs 35;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f doPreload appDodge/Main.hs 139;" f -doPropUpdates src/Dodge/Prop/Update.hs 34;" f +doPropUpdates src/Dodge/Prop/Update.hs 31;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 76;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f @@ -3203,11 +3198,11 @@ doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 28;" f -doWorldEvents src/Dodge/Update.hs 428;" f +doWorldEvents src/Dodge/Update.hs 429;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 44;" f -doorLerp src/Dodge/DrWdWd.hs 27;" f +doorLerp src/Dodge/DrWdWd.hs 42;" f dotV src/Geometry/Vector.hs 76;" f dotV3 src/Geometry/Vector3D.hs 119;" f doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f @@ -3215,7 +3210,6 @@ doubleFindMax src/Dodge/Update/Scroll.hs 181;" f doubleFindMin src/Dodge/Update/Scroll.hs 160;" f doubleFindPred src/Dodge/Update/Scroll.hs 188;" f doubleFindSucc src/Dodge/Update/Scroll.hs 167;" f -doubleLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 28;" f doublePair src/Geometry.hs 162;" f doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f @@ -3229,12 +3223,12 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBoundingBox src/Dodge/Debug/Picture.hs 354;" f -drawBullet src/Dodge/Render/ShapePicture.hs 135;" f +drawBullet src/Dodge/Render/ShapePicture.hs 136;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f -drawChasm src/Dodge/Render/ShapePicture.hs 52;" f +drawChasm src/Dodge/Render/ShapePicture.hs 53;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f -drawCliff src/Dodge/Render/ShapePicture.hs 55;" f +drawCliff src/Dodge/Render/ShapePicture.hs 56;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 269;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f @@ -3242,7 +3236,7 @@ drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f drawCoord src/Dodge/Debug/Picture.hs 382;" f drawCrInfo src/Dodge/Debug.hs 135;" f drawCrInfo' src/Dodge/Debug.hs 130;" f -drawCreature src/Dodge/Render/ShapePicture.hs 71;" f +drawCreature src/Dodge/Render/ShapePicture.hs 72;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f @@ -3251,7 +3245,6 @@ drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f drawDDATest src/Dodge/Debug/Picture.hs 309;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f drawDebug src/Dodge/Debug.hs 173;" f -drawDoubleLampCover src/Dodge/Prop/Draw.hs 88;" f drawDrag src/Dodge/Render/Picture.hs 200;" f drawDragDrop src/Dodge/Render/Picture.hs 229;" f drawDragPickup src/Dodge/Render/Picture.hs 238;" f @@ -3268,7 +3261,7 @@ drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f drawForceField src/Dodge/Wall/Draw.hs 13;" f drawGapPlus src/Dodge/Render/Picture.hs 280;" f -drawGib src/Dodge/Prop/Draw.hs 38;" f +drawGib src/Dodge/Prop/Draw.hs 31;" f drawHUD src/Dodge/Render/HUD.hs 51;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f drawInspectWall src/Dodge/Debug/Picture.hs 253;" f @@ -3279,7 +3272,6 @@ drawItemConnections src/Dodge/Render/HUD.hs 319;" f drawJumpDown src/Dodge/Render/Picture.hs 192;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 212;" f -drawLampCover src/Dodge/Prop/Draw.hs 49;" f drawLaser src/Dodge/Laser/Update.hs 29;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f @@ -3306,7 +3298,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 27;" f drawProxSensor src/Dodge/Machine/Draw.hs 37;" f -drawPulseBall src/Dodge/Render/ShapePicture.hs 63;" f +drawPulseBall src/Dodge/Render/ShapePicture.hs 64;" f drawQuitTerminal src/Dodge/Render/Picture.hs 147;" f drawRBOptions src/Dodge/Render/HUD.hs 251;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f @@ -3338,7 +3330,6 @@ drawTitleBackground src/Dodge/Render/List.hs 45;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTurret src/Dodge/Machine/Draw.hs 76;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f -drawVerticalLampCover src/Dodge/Prop/Draw.hs 64;" f drawWall src/Dodge/Wall/Draw.hs 9;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 318;" f @@ -3373,7 +3364,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dummyMenuOption src/Dodge/Menu/Option.hs 72;" f dustColor src/Shader/Poke/Cloud.hs 71;" f -dustSpringVel src/Dodge/Update.hs 852;" f +dustSpringVel src/Dodge/Update.hs 853;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f @@ -3433,7 +3424,7 @@ explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f -extraPics src/Dodge/Render/ShapePicture.hs 101;" f +extraPics src/Dodge/Render/ShapePicture.hs 102;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f @@ -3486,7 +3477,7 @@ flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f flockPointTarget src/Dodge/Creature/Boid.hs 204;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 231;" f -floorItemSPic src/Dodge/Render/ShapePicture.hs 122;" f +floorItemSPic src/Dodge/Render/ShapePicture.hs 123;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f @@ -3553,7 +3544,7 @@ getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 358;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 345;" f -getDebugMouseOver src/Dodge/Update.hs 376;" f +getDebugMouseOver src/Dodge/Update.hs 377;" f getDistortions src/Dodge/Render.hs 435;" f getEdgesCrossing src/Dodge/Path.hs 49;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f @@ -3564,7 +3555,7 @@ getLaserDamage src/Dodge/HeldUse.hs 704;" f getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 388;" f +getMenuMouseContext src/Dodge/Update.hs 389;" f getNodePos src/Dodge/Path.hs 38;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f @@ -3689,7 +3680,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 188;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 185;" f -iShape src/Dodge/Placement/Instance/LightSource.hs 85;" f +iShape src/Dodge/Placement/Instance/LightSource.hs 84;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f ildtPropagate src/Dodge/DoubleTree.hs 111;" f @@ -3800,7 +3791,7 @@ isNHS src/Geometry/Intersect.hs 53;" f isNothing' src/MaybeHelp.hs 31;" f isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f -isOverTerminalScreen src/Dodge/Update.hs 399;" f +isOverTerminalScreen src/Dodge/Update.hs 400;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 132;" f isRHS src/Geometry/LHS.hs 32;" f @@ -3865,7 +3856,7 @@ itmBaseInfo src/Dodge/Item/Info.hs 30;" f itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" f itmSpaceInfo src/Dodge/Item/Info.hs 25;" f itmUsageInfo src/Dodge/Item/Info.hs 230;" f -jShape src/Dodge/Placement/Instance/LightSource.hs 97;" f +jShape src/Dodge/Placement/Instance/LightSource.hs 96;" f joinItemsInList src/Dodge/Item/Grammar.hs 206;" f joystick src/Dodge/Item/Scope.hs 149;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f @@ -3888,11 +3879,9 @@ knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f lChasm src/Dodge/Room/Tutorial.hs 151;" f lConnect src/Dodge/Render/Connectors.hs 42;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f -lShape src/Dodge/Placement/Instance/LightSource.hs 88;" f +lShape src/Dodge/Placement/Instance/LightSource.hs 87;" f lamp src/Dodge/Creature/Lamp.hs 21;" 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 85;" f +lampCrSPic src/Dodge/Render/ShapePicture.hs 86;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 412;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f @@ -3928,7 +3917,7 @@ leftRightCombine src/Dodge/Item/Grammar.hs 197;" f leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f -liShape src/Dodge/Placement/Instance/LightSource.hs 110;" f +liShape src/Dodge/Placement/Instance/LightSource.hs 109;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f @@ -4100,7 +4089,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 104;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f mcProxTest src/Dodge/Machine/Update.hs 203;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f -mcSPic src/Dodge/Render/ShapePicture.hs 132;" f +mcSPic src/Dodge/Render/ShapePicture.hs 133;" f mcShootAuto src/Dodge/HeldUse.hs 1169;" f mcShootLaser src/Dodge/HeldUse.hs 1162;" f mcTriggerVal src/Dodge/Machine/Update.hs 110;" f @@ -4162,11 +4151,11 @@ mkCustomLenses src/ThirdPartyLens.hs 7;" f mkGraphFromEdges src/GraphHelp.hs 4;" f mkNode src/Dodge/Graph.hs 29;" f mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f -mntLS src/Dodge/Placement/Instance/LightSource.hs 135;" f -mntLSCond src/Dodge/Placement/Instance/LightSource.hs 158;" f -mntLSOn src/Dodge/Placement/Instance/LightSource.hs 65;" f -mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 175;" f -mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 180;" f +mntLS src/Dodge/Placement/Instance/LightSource.hs 134;" f +mntLSCond src/Dodge/Placement/Instance/LightSource.hs 157;" f +mntLSOn src/Dodge/Placement/Instance/LightSource.hs 64;" f +mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 174;" f +mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 179;" f modTo src/Geometry/Zone.hs 10;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f mouseCursorType src/Dodge/Render/Picture.hs 92;" f @@ -4200,7 +4189,7 @@ muzzleRandPos src/Dodge/HeldUse.hs 778;" f mvButton src/Dodge/Placement/PlaceSpot.hs 184;" f mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f mvFS src/Dodge/Placement/PlaceSpot.hs 194;" f -mvGust src/Dodge/Update.hs 784;" f +mvGust src/Dodge/Update.hs 785;" f mvLS src/Dodge/Placement/PlaceSpot.hs 229;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4313,7 +4302,7 @@ pauseMenu src/Dodge/Menu.hs 59;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 183;" f -pbFlicker src/Dodge/Update.hs 469;" f +pbFlicker src/Dodge/Update.hs 470;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 94;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4480,9 +4469,8 @@ projV src/Geometry/Vector.hs 177;" f projV3 src/Geometry/Vector3D.hs 127;" f propLSThen src/Dodge/Placement/Instance/LightSource.hs 29;" f propSPic src/Dodge/Prop/Draw.hs 18;" f -propSetToggleAnd src/Dodge/Prop/Update.hs 39;" f -propUpdateIf src/Dodge/Prop/Update.hs 23;" f -propUpdatePosition src/Dodge/Prop/Update.hs 28;" f +propUpdateIf src/Dodge/Prop/Update.hs 20;" f +propUpdatePosition src/Dodge/Prop/Update.hs 25;" f propagateOrientation src/Dodge/Item/Orientation.hs 80;" f ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f @@ -4515,7 +4503,7 @@ putDoor src/Dodge/Room/Airlock.hs 113;" f putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 27;" f putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f -putLamp src/Dodge/Placement/Instance/LightSource.hs 221;" f +putLamp src/Dodge/Placement/Instance/LightSource.hs 220;" f putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f @@ -4563,7 +4551,7 @@ randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 69;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f -randWallReflect src/Dodge/Update.hs 643;" f +randWallReflect src/Dodge/Update.hs 644;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 60;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 270;" f @@ -4697,7 +4685,6 @@ rotate3y src/Geometry/Vector3D.hs 66;" f rotate3z src/Geometry/Vector3D.hs 54;" f rotateCamera src/Dodge/Update/Camera.hs 197;" f rotateList src/Padding.hs 49;" f -rotateProp src/Dodge/Prop/Update.hs 47;" f rotateSH src/Shape.hs 257;" f rotateSHq src/Shape.hs 166;" f rotateSHx src/Shape.hs 265;" f @@ -4813,7 +4800,7 @@ setLinkType src/Dodge/RoomLink.hs 78;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f setMusicVolume src/Sound.hs 162;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f -setOldPos src/Dodge/Update.hs 502;" f +setOldPos src/Dodge/Update.hs 503;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -4827,7 +4814,6 @@ setSoundVolume src/Sound.hs 157;" f setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f setTile src/Dodge/Layout.hs 70;" f setTiles src/Dodge/Layout.hs 67;" f -setToggle src/Dodge/Prop/Update.hs 44;" f setTreeInts src/Dodge/Room/Tutorial.hs 101;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f @@ -4870,7 +4856,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f shiftByV2 src/Dodge/PlacementSpot.hs 250;" f shiftChildren src/Dodge/Tree/Compose.hs 44;" f -shiftDraw src/Dodge/Render/ShapePicture.hs 90;" f +shiftDraw src/Dodge/Render/ShapePicture.hs 91;" f shiftInBy src/Dodge/PlacementSpot.hs 247;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f @@ -4923,7 +4909,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 82;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 861;" f +simpleCrSprings src/Dodge/Update.hs 862;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f @@ -4939,8 +4925,8 @@ slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f slideWindow src/ListHelp.hs 80;" f -slowDoorRoom src/Dodge/Room/LongDoor.hs 149;" f -slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 166;" f +slowDoorRoom src/Dodge/Room/LongDoor.hs 142;" f +slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 159;" f smallBattery src/Dodge/Item/Ammo.hs 60;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f @@ -4975,12 +4961,12 @@ soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f -southPillarsRoom src/Dodge/Room/LongDoor.hs 90;" f +southPillarsRoom src/Dodge/Room/LongDoor.hs 83;" f spaceAction src/Dodge/Update/Input/InGame.hs 528;" f -spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 205;" f -spanColLightI src/Dodge/Placement/Instance/LightSource.hs 198;" f -spanLS src/Dodge/Placement/Instance/LightSource.hs 190;" f -spanLightI src/Dodge/Placement/Instance/LightSource.hs 212;" f +spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 204;" f +spanColLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f +spanLS src/Dodge/Placement/Instance/LightSource.hs 189;" f +spanLightI src/Dodge/Placement/Instance/LightSource.hs 211;" f sparkDam src/Dodge/Spark.hs 36;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f sparkRandDir src/Dodge/Spark.hs 116;" f @@ -5047,7 +5033,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f stopAllSounds src/Sound.hs 125;" f stopBulletAt src/Dodge/Bullet.hs 200;" f -stopPushing src/Dodge/DrWdWd.hs 76;" f +stopPushing src/Dodge/DrWdWd.hs 93;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f @@ -5161,7 +5147,7 @@ titleOptionsMenu src/Dodge/Menu.hs 106;" f titleOptionsNoWrite src/Dodge/Menu.hs 109;" f tlDoEffect src/Dodge/Terminal.hs 102;" f tlSetStatus src/Dodge/Terminal.hs 99;" f -tmUpdate src/Dodge/Update.hs 486;" f +tmUpdate src/Dodge/Update.hs 487;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5268,7 +5254,7 @@ tutRezBox src/Dodge/Room/Tutorial.hs 378;" f tutRoomTree src/Dodge/Floor.hs 21;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 402;" f tweenAngles src/Geometry/Vector.hs 190;" f -twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 84;" f +twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 77;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 32;" f twists src/Dodge/Creature/Test.hs 102;" f twoFlat src/Dodge/Creature/Test.hs 99;" f @@ -5297,7 +5283,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f -updateAimPos src/Dodge/Update.hs 305;" f +updateAimPos src/Dodge/Update.hs 306;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5307,46 +5293,46 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f updateBounds src/Dodge/Update/Camera.hs 258;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 565;" f +updateBullets src/Dodge/Update.hs 566;" f updateCamera src/Dodge/Update/Camera.hs 30;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 798;" f -updateClouds src/Dodge/Update.hs 669;" f +updateCloud src/Dodge/Update.hs 799;" f +updateClouds src/Dodge/Update.hs 670;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 32;" f updateCreature' src/Dodge/Creature/Update.hs 41;" f -updateCreatureGroups src/Dodge/Update.hs 537;" f -updateCreatureSoundPositions src/Dodge/Update.hs 516;" f -updateDebris src/Dodge/Update.hs 572;" f +updateCreatureGroups src/Dodge/Update.hs 538;" f +updateCreatureSoundPositions src/Dodge/Update.hs 517;" f +updateDebris src/Dodge/Update.hs 573;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 96;" f -updateDelayedEvents src/Dodge/Update.hs 890;" f +updateDelayedEvents src/Dodge/Update.hs 891;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 558;" f -updateDoor src/Dodge/DrWdWd.hs 21;" f -updateDoors src/Dodge/Update.hs 310;" f -updateDust src/Dodge/Update.hs 822;" f -updateDusts src/Dodge/Update.hs 672;" f +updateDistortions src/Dodge/Update.hs 559;" f +updateDoor src/Dodge/DrWdWd.hs 25;" f +updateDoors src/Dodge/Update.hs 311;" f +updateDust src/Dodge/Update.hs 823;" f +updateDusts src/Dodge/Update.hs 673;" f updateEdge src/Dodge/Path.hs 55;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 35;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 28;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 32;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 660;" f +updateEnergyBalls src/Dodge/Update.hs 661;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 657;" f +updateFlames src/Dodge/Update.hs 658;" f updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f -updateGusts src/Dodge/Update.hs 781;" f -updateIMl src/Dodge/Update.hs 531;" f -updateIMl' src/Dodge/Update.hs 534;" f +updateGusts src/Dodge/Update.hs 782;" f +updateIMl src/Dodge/Update.hs 532;" f +updateIMl' src/Dodge/Update.hs 535;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f updateInt2Map src/Dodge/Zoning/Base.hs 98;" f @@ -5359,33 +5345,33 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 11;" f -updateLasers src/Dodge/Update.hs 435;" f +updateLasers src/Dodge/Update.hs 436;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 441;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 313;" f +updateMagnets src/Dodge/Update.hs 314;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 326;" f -updateMouseContextGame src/Dodge/Update.hs 331;" f +updateMouseContext src/Dodge/Update.hs 327;" f +updateMouseContextGame src/Dodge/Update.hs 332;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 86;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 166;" f -updateObjCatMaybes src/Dodge/Update.hs 549;" f -updateObjMapMaybe src/Dodge/Update.hs 542;" f -updatePastWorlds src/Dodge/Update.hs 424;" f +updateObjCatMaybes src/Dodge/Update.hs 550;" f +updateObjMapMaybe src/Dodge/Update.hs 543;" f +updatePastWorlds src/Dodge/Update.hs 425;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 146;" f -updatePulseBall src/Dodge/Update.hs 449;" f -updatePulseLaser src/Dodge/Update.hs 612;" f -updatePulseLasers src/Dodge/Update.hs 444;" f +updatePulseBall src/Dodge/Update.hs 450;" f +updatePulseLaser src/Dodge/Update.hs 613;" f +updatePulseLasers src/Dodge/Update.hs 445;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 561;" f +updateRadarBlips src/Dodge/Update.hs 562;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 663;" f +updateRadarSweeps src/Dodge/Update.hs 664;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 112;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5395,16 +5381,16 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 258;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 654;" f +updateShockwaves src/Dodge/Update.hs 655;" f updateSingleNodes src/TreeHelp.hs 98;" f updateSound src/Sound.hs 72;" f updateSounds src/Sound.hs 67;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 666;" f -updateTeslaArc src/Dodge/Update.hs 582;" f -updateTeslaArcs src/Dodge/Update.hs 579;" f +updateSparks src/Dodge/Update.hs 667;" f +updateTeslaArc src/Dodge/Update.hs 583;" f +updateTeslaArcs src/Dodge/Update.hs 580;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 651;" f +updateTractorBeams src/Dodge/Update.hs 652;" f updateTurret src/Dodge/Machine/Update.hs 49;" f updateUniverse src/Dodge/Update.hs 75;" f updateUniverseFirst src/Dodge/Update.hs 86;" f @@ -5415,7 +5401,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 16;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 414;" f +updateWheelEvents src/Dodge/Update.hs 415;" f updateWorldEventFlag src/Dodge/Update.hs 121;" f updateWorldEventFlags src/Dodge/Update.hs 109;" f upperBody src/Dodge/Creature/Picture.hs 120;" f @@ -5460,7 +5446,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f vInverse src/Geometry/Vector.hs 154;" f vNormal src/Geometry/Vector.hs 149;" f vNormaly src/Geometry/Vector3D.hs 72;" f -vShape src/Dodge/Placement/Instance/LightSource.hs 125;" f +vShape src/Dodge/Placement/Instance/LightSource.hs 124;" f vToL src/MatrixHelper.hs 46;" f vToQuat src/Quaternion.hs 42;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f @@ -5470,7 +5456,6 @@ vecTurnTo src/Dodge/Movement/Turn.hs 19;" f vert src/Shader/Data.hs 102;" f vertScale src/MatrixHelper.hs 80;" f vertTrans src/MatrixHelper.hs 87;" f -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 23;" f @@ -5590,11 +5575,11 @@ zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zipCountDown src/Dodge/Room/Procedural.hs 123;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 476;" f +zoneClouds src/Dodge/Update.hs 477;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f -zoneCreatures src/Dodge/Update.hs 512;" f +zoneCreatures src/Dodge/Update.hs 513;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 480;" f +zoneDusts src/Dodge/Update.hs 481;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f zoneMonoid src/Dodge/Zoning/Base.hs 89;" f