From 6f3632d4956e1280aa6311ece23eee67c097a54d Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 9 Nov 2025 15:41:19 +0000 Subject: [PATCH] Cleanup --- src/Dodge/Block.hs | 6 +- src/Dodge/Debug/Picture.hs | 10 +- src/Dodge/Wall/Damage.hs | 28 ++- tags | 448 ++++++++++++++++++------------------- 4 files changed, 231 insertions(+), 261 deletions(-) diff --git a/src/Dodge/Block.hs b/src/Dodge/Block.hs index cd36b1fe7..b07c9c37f 100644 --- a/src/Dodge/Block.hs +++ b/src/Dodge/Block.hs @@ -14,9 +14,9 @@ import qualified IntMapHelp as IM unshadowBlock :: World -> Int -> World unshadowBlock w wlid = w & cWorld . lWorld . walls . ix wlid . wlUnshadowed .~ True -destroyBlock :: S.Set Int2 -> Block -> World -> (S.Set Int2,World) -destroyBlock is bl w = - (js<>is,w +destroyBlock :: Block -> World -> (S.Set Int2,World) +destroyBlock bl w = + (js,w & flip (foldl' unshadowBlock) (_blShadows bl) & makeBlockDebris bl & deleteWallIDs wlids diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index 8b5379c0f..eb5cb690b 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -253,18 +253,10 @@ drawInspectWalls w = concat $ do ) drawInspectWall :: World -> Wall -> Picture -drawInspectWall _ wl = - setLayer DebugLayer $ - color rose (thickLine 3 [a, b]) --- <> foldMap (drawDoorPaths w) (wl ^? wlStructure . wsDoor) +drawInspectWall _ wl = setLayer DebugLayer $ color rose (thickLine 3 [a, b]) where (a, b) = _wlLine wl ---drawDoorPaths :: World -> Int -> Picture ---drawDoorPaths w drid = concat $ do --- paths <- w ^? cWorld . lWorld . doors . ix drid . drObstructs --- return $ foldMap' (drawPathEdge . (^. penPathEdge)) paths - drawPathEdge :: Point2 -> Point2 -> S.Set EdgeObstacle -> Picture drawPathEdge x y pe = setLayer DebugLayer $ multiArrow x y green (S.map obstacleColor pe) diff --git a/src/Dodge/Wall/Damage.hs b/src/Dodge/Wall/Damage.hs index 727b9a03a..81fb1e0d1 100644 --- a/src/Dodge/Wall/Damage.hs +++ b/src/Dodge/Wall/Damage.hs @@ -25,31 +25,29 @@ import qualified Data.Set as S -- maybeDestroyDoor should rather happen during the door mechanism update damageWall :: Damage -> Wall -> (S.Set Int2,World) -> (S.Set Int2,World) damageWall dt wl (is,w) = case _wlStructure wl of - MachinePart mcid -> f $ w' & cWorld . lWorld . machines . ix mcid . mcDamage .:~ dt + MachinePart mcid -> (,) is $ w' & cWorld . lWorld . machines . ix mcid . mcDamage .:~ dt BlockPart blid -> w' & cWorld . lWorld . blocks . ix blid . blHP -~ dmam - & maybeDestroyBlock is blid + & maybeDestroyBlock blid + & _1 <>~ is DoorPart drid _ -> w' & cWorld . lWorld . doors . ix drid . drHP -~ dmam - & maybeDestroyDoor is drid - _ -> f w' + & maybeDestroyDoor drid + & _1 <>~ is + _ -> (is, w') where - f = (,) is --- x = case dt of --- Explosive y _ -> y * 100 --- _ -> dt ^. dmAmount (dmam,w') = damMatSideEffect dt (_wlMaterial wl) (Right wl) w -- block destruction is convoluted... -maybeDestroyBlock :: S.Set Int2 -> Int -> World -> (S.Set Int2,World) -maybeDestroyBlock is blid w = case w ^? cWorld . lWorld . blocks . ix blid of - Just bl | _blHP bl < 1 -> destroyBlock is bl w - _ -> (is,w) +maybeDestroyBlock :: Int -> World -> (S.Set Int2,World) +maybeDestroyBlock blid w = case w ^? cWorld . lWorld . blocks . ix blid of + Just bl | _blHP bl < 1 -> destroyBlock bl w + _ -> (mempty,w) -maybeDestroyDoor :: S.Set Int2 -> Int -> World -> (S.Set Int2, World) -maybeDestroyDoor is drid w = case w ^? cWorld . lWorld . doors . ix drid of +maybeDestroyDoor :: Int -> World -> (S.Set Int2, World) +maybeDestroyDoor drid w = case w ^? cWorld . lWorld . doors . ix drid of Just dr | _drHP dr < 1 -> destroyDoor dr w - _ -> (is,w) + _ -> (mempty,w) destroyDoor :: Door -> World -> (S.Set Int2, World) destroyDoor dr w = diff --git a/tags b/tags index b1c4a2e76..18c128078 100644 --- a/tags +++ b/tags @@ -127,7 +127,7 @@ BlConst src/Dodge/Data/BlBl.hs 11;" C BlId src/Dodge/Data/BlBl.hs 12;" C BlNegate src/Dodge/Data/BlBl.hs 10;" C Block src/Dodge/Data/Block.hs 20;" t -BlockDebris src/Dodge/Data/Prop.hs 26;" C +BlockDebris src/Dodge/Data/Prop.hs 23;" C BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 30;" C BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C BlockedLink src/Dodge/Data/Room.hs 50;" C @@ -305,9 +305,9 @@ DamageHitSound src/Dodge/Data/SoundOrigin.hs 40;" C DamageLaser src/Dodge/Data/Laser.hs 15;" C DamageSensor src/Dodge/Data/Machine/Sensor.hs 19;" t DamageType src/Dodge/Data/Damage/Type.hs 3;" t -Debris src/Dodge/Data/Prop.hs 28;" t -DebrisChunk src/Dodge/Data/Prop.hs 28;" C -DebrisType src/Dodge/Data/Prop.hs 24;" t +Debris src/Dodge/Data/Prop.hs 25;" t +DebrisChunk src/Dodge/Data/Prop.hs 25;" C +DebrisType src/Dodge/Data/Prop.hs 21;" t DebugBool src/Dodge/Data/Config.hs 66;" t DebugItem src/Dodge/Data/Universe.hs 59;" t DebugLayer src/Picture/Data.hs 25;" C @@ -484,7 +484,7 @@ GenericFaction src/Dodge/Data/Creature/State.hs 13;" C GeoObjShads src/Dodge/Data/Config.hs 104;" C GetTo src/Dodge/Data/ActionPlan.hs 141;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C -Gib src/Dodge/Data/Prop.hs 25;" C +Gib src/Dodge/Data/Prop.hs 22;" C Glass src/Dodge/Data/Material.hs 14;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 33;" C Goal src/Dodge/Data/ActionPlan.hs 149;" t @@ -987,10 +987,6 @@ Polyhedron src/Polyhedra/Data.hs 13;" C PosInf src/Dodge/Data/CardinalPoint.hs 44;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t Posture src/Dodge/Data/Creature/Stance.hs 33;" t -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 @@ -999,14 +995,7 @@ Projectile src/Dodge/Data/Projectile.hs 15;" t 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 -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 +Prop src/Dodge/Data/Prop.hs 14;" t 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 @@ -1164,7 +1153,7 @@ ShaderTexture src/Shader/Data.hs 94;" t ShadowFidelity src/Shape/Data.hs 19;" t ShadowRendering src/Dodge/Data/Config.hs 103;" t Shape src/Shape/Data.hs 48;" t -ShapeProp src/Dodge/Data/Prop.hs 15;" C +ShapeProp src/Dodge/Data/Prop.hs 14;" C ShapeType src/Shape/Data.hs 11;" t Shattering src/Dodge/Data/Damage.hs 20;" C Shell src/Dodge/Data/Projectile.hs 15;" C @@ -1513,9 +1502,9 @@ _avMoveSpeed src/Dodge/Data/Creature/Misc.hs 65;" f _avStrength src/Dodge/Data/Creature/Misc.hs 62;" f _avatarMaterial src/Dodge/Data/Creature/Misc.hs 61;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 60;" f -_barrelShader src/Data/Preload/Render.hs 24;" f +_barrelShader src/Data/Preload/Render.hs 25;" f _barrelType src/Dodge/Data/Creature/Misc.hs 71;" f -_bdColor src/Dodge/Data/Prop.hs 26;" f +_bdColor src/Dodge/Data/Prop.hs 23;" f _bdMaxX src/Dodge/Data/Bounds.hs 12;" f _bdMaxY src/Dodge/Data/Bounds.hs 14;" f _bdMinX src/Dodge/Data/Bounds.hs 11;" f @@ -1531,7 +1520,7 @@ _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 125;" f -_bloomBlurShader src/Data/Preload/Render.hs 22;" f +_bloomBlurShader src/Data/Preload/Render.hs 23;" f _bmColor src/Dodge/Data/Beam.hs 21;" f _bmDamage src/Dodge/Data/Beam.hs 20;" f _bmDir src/Dodge/Data/Beam.hs 19;" f @@ -1597,8 +1586,8 @@ _cdtUp src/Dodge/Data/DoubleTree.hs 92;" f _ceSideEffect src/Dodge/Data/Universe.hs 66;" f _ceString src/Dodge/Data/Universe.hs 67;" f _ceilingStencilShader src/Data/Preload/Render.hs 18;" f -_chasmShader src/Data/Preload/Render.hs 48;" f -_chasmVBO src/Data/Preload/Render.hs 47;" f +_chasmShader src/Data/Preload/Render.hs 49;" f +_chasmVBO src/Data/Preload/Render.hs 48;" f _chasms src/Dodge/Data/CWorld.hs 33;" f _ciFilter src/Dodge/Data/HUD.hs 25;" f _ciInvIDs src/Dodge/Data/Combine.hs 9;" f @@ -1627,11 +1616,11 @@ _clickPos src/Dodge/Data/Input.hs 42;" f _clickWorldPos src/Dodge/Data/Input.hs 44;" f _closeButtons src/Dodge/Data/HUD.hs 36;" f _closeItems src/Dodge/Data/HUD.hs 35;" f -_cloudEBO src/Data/Preload/Render.hs 53;" f -_cloudShader src/Data/Preload/Render.hs 52;" f -_cloudVBO src/Data/Preload/Render.hs 51;" f +_cloudEBO src/Data/Preload/Render.hs 54;" f +_cloudShader src/Data/Preload/Render.hs 53;" f +_cloudVBO src/Data/Preload/Render.hs 52;" f _clouds src/Dodge/Data/LWorld.hs 96;" f -_colorBlurShader src/Data/Preload/Render.hs 23;" f +_colorBlurShader src/Data/Preload/Render.hs 24;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 22;" f _coolStart src/Dodge/Data/TriggerType.hs 16;" f @@ -1687,11 +1676,11 @@ _cwgRoomClipping src/Dodge/Data/CWorld.hs 41;" f _cwgSeed src/Dodge/Data/CWorld.hs 42;" f _cwgWorldBounds src/Dodge/Data/CWorld.hs 39;" f _cylinderSize src/Shape/Data.hs 14;" f -_dbPos src/Dodge/Data/Prop.hs 29;" f -_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 +_dbPos src/Dodge/Data/Prop.hs 26;" f +_dbRot src/Dodge/Data/Prop.hs 29;" f +_dbSpin src/Dodge/Data/Prop.hs 30;" f +_dbType src/Dodge/Data/Prop.hs 27;" f +_dbVel src/Dodge/Data/Prop.hs 28;" f _debris src/Dodge/Data/LWorld.hs 100;" f _debugFunction src/Dodge/Data/Universe.hs 61;" f _debugMessage src/Dodge/Data/Universe.hs 60;" f @@ -1770,16 +1759,16 @@ _eboPtr src/Shader/Data.hs 90;" f _emoMenuOption src/Dodge/Data/Universe.hs 77;" f _energyBalls src/Dodge/Data/LWorld.hs 104;" f _fbSize src/Dodge/Data/EnergyBall/Type.hs 12;" f -_fbo2 src/Data/Preload/Render.hs 30;" f -_fbo3 src/Data/Preload/Render.hs 31;" f -_fboBase src/Data/Preload/Render.hs 34;" f -_fboBloom src/Data/Preload/Render.hs 37;" f -_fboCloud src/Data/Preload/Render.hs 35;" f -_fboHalf1 src/Data/Preload/Render.hs 32;" f -_fboHalf2 src/Data/Preload/Render.hs 33;" f -_fboLighting src/Data/Preload/Render.hs 39;" f -_fboPos src/Data/Preload/Render.hs 38;" f -_fboWindow src/Data/Preload/Render.hs 36;" f +_fbo2 src/Data/Preload/Render.hs 31;" f +_fbo3 src/Data/Preload/Render.hs 32;" f +_fboBase src/Data/Preload/Render.hs 35;" f +_fboBloom src/Data/Preload/Render.hs 38;" f +_fboCloud src/Data/Preload/Render.hs 36;" f +_fboHalf1 src/Data/Preload/Render.hs 33;" f +_fboHalf2 src/Data/Preload/Render.hs 34;" f +_fboLighting src/Data/Preload/Render.hs 40;" f +_fboPos src/Data/Preload/Render.hs 39;" f +_fboWindow src/Data/Preload/Render.hs 37;" f _flItPos src/Dodge/Data/FloorItem.hs 11;" f _flItRot src/Dodge/Data/FloorItem.hs 11;" f _flPos src/Dodge/Data/Flame.hs 13;" f @@ -1790,8 +1779,8 @@ _flankTarget src/Dodge/Data/ActionPlan.hs 129;" f _flares src/Dodge/Data/LWorld.hs 108;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f _floorItems src/Dodge/Data/LWorld.hs 127;" f -_floorShader src/Data/Preload/Render.hs 46;" f -_floorVBO src/Data/Preload/Render.hs 45;" f +_floorShader src/Data/Preload/Render.hs 47;" f +_floorVBO src/Data/Preload/Render.hs 46;" 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 @@ -1810,8 +1799,8 @@ _getSoundID src/Sound/Data.hs 30;" f _gfConstant src/Dodge/Data/GenFloat.hs 9;" f _gfMax src/Dodge/Data/GenFloat.hs 10;" f _gfMin src/Dodge/Data/GenFloat.hs 10;" f -_gibColor src/Dodge/Data/Prop.hs 25;" f -_gibSize src/Dodge/Data/Prop.hs 25;" f +_gibColor src/Dodge/Data/Prop.hs 22;" f +_gibSize src/Dodge/Data/Prop.hs 22;" f _gnHitEffect src/Dodge/Data/Projectile.hs 31;" f _grBound src/Dodge/GameRoom.hs 15;" f _grDir src/Dodge/GameRoom.hs 17;" f @@ -1828,7 +1817,7 @@ _gr_num_shadow_casters src/Dodge/Data/Config.hs 50;" f _gr_shadow_rendering src/Dodge/Data/Config.hs 45;" f _gr_shadow_size src/Dodge/Data/Config.hs 46;" f _gr_world_res src/Dodge/Data/Config.hs 48;" f -_grayscaleShader src/Data/Preload/Render.hs 25;" f +_grayscaleShader src/Data/Preload/Render.hs 26;" f _gsZoning src/Dodge/Data/World.hs 54;" f _guID src/Dodge/Data/Gust.hs 12;" f _guPos src/Dodge/Data/Gust.hs 13;" f @@ -1918,7 +1907,7 @@ _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 134;" f -_lightsUBO src/Data/Preload/Render.hs 42;" f +_lightsUBO src/Data/Preload/Render.hs 43;" 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 @@ -1950,7 +1939,7 @@ _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f _mapInvItmID src/Dodge/Data/HUD.hs 20;" f _mapInvOffset src/Dodge/Data/HUD.hs 18;" f _mapInvZoom src/Dodge/Data/HUD.hs 19;" f -_matUBO src/Data/Preload/Render.hs 41;" f +_matUBO src/Data/Preload/Render.hs 42;" f _mbAttach src/Dodge/Data/MetaTree.hs 18;" f _mbTree src/Dodge/Data/MetaTree.hs 18;" f _mcColor src/Dodge/Data/Machine.hs 34;" f @@ -2053,7 +2042,7 @@ _phRemoteID src/Dodge/Data/Projectile.hs 41;" f _phTargetingID src/Dodge/Data/Projectile.hs 42;" f _pickUpLevel src/Dodge/Layout/Generate.hs 14;" f _pickUps src/Dodge/Layout/Generate.hs 15;" f -_pictureShaders src/Data/Preload/Render.hs 29;" f +_pictureShaders src/Data/Preload/Render.hs 30;" f _piercedPoints src/Dodge/Data/Creature/Misc.hs 87;" f _pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f @@ -2075,12 +2064,11 @@ _playStatus src/Sound/Data.hs 15;" f _playingSounds src/Dodge/Data/World.hs 40;" f _posture src/Dodge/Data/Creature/Stance.hs 17;" f _prBounds src/Dodge/Tree/Shift.hs 29;" f -_prDraw src/Dodge/Data/Prop.hs 17;" f -_prID src/Dodge/Data/Prop.hs 19;" f -_prPos src/Dodge/Data/Prop.hs 16;" f +_prDraw src/Dodge/Data/Prop.hs 16;" f +_prID src/Dodge/Data/Prop.hs 17;" f +_prPos src/Dodge/Data/Prop.hs 15;" f _prRooms src/Dodge/Tree/Shift.hs 30;" f -_prRot src/Dodge/Data/Prop.hs 20;" f -_prUpdate src/Dodge/Data/Prop.hs 18;" f +_prRot src/Dodge/Data/Prop.hs 18;" f _preloadData src/Dodge/Data/Universe.hs 32;" f _pressedKeys src/Dodge/Data/Input.hs 37;" f _projectiles src/Dodge/Data/LWorld.hs 101;" f @@ -2135,7 +2123,7 @@ _rbPos src/Dodge/Data/RadarBlip.hs 17;" f _rbRad src/Dodge/Data/RadarBlip.hs 16;" f _rbState src/Dodge/Data/World.hs 43;" f _rbTime src/Dodge/Data/RadarBlip.hs 14;" f -_rboBaseBloom src/Data/Preload/Render.hs 40;" f +_rboBaseBloom src/Data/Preload/Render.hs 41;" f _renderData src/Data/Preload.hs 11;" f _respawnDelay src/Dodge/Data/World.hs 62;" f _respawnPos src/Dodge/Data/LWorld.hs 145;" f @@ -2198,7 +2186,7 @@ _scOptions src/Dodge/Data/Universe.hs 84;" f _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f -_screenTextureVAO src/Data/Preload/Render.hs 54;" f +_screenTextureVAO src/Data/Preload/Render.hs 55;" f _scrollAmount src/Dodge/Data/Input.hs 40;" f _scrollItemID src/Dodge/Data/World.hs 68;" f _scrollItemID src/Dodge/Data/World.hs 77;" f @@ -2228,9 +2216,9 @@ _sfVs src/Shape/Data.hs 38;" f _shaderPrimitive src/Shader/Data.hs 53;" f _shaderUINT src/Shader/Data.hs 52;" f _shaderVAO src/Shader/Data.hs 54;" f -_shapeEBO src/Data/Preload/Render.hs 27;" f +_shapeEBO src/Data/Preload/Render.hs 28;" f _shapeHalfSize src/Shape/Data.hs 13;" f -_shapeShader src/Data/Preload/Render.hs 26;" f +_shapeShader src/Data/Preload/Render.hs 27;" f _shellPayload src/Dodge/Data/Item/Combine.hs 101;" f _shockwaves src/Dodge/Data/LWorld.hs 112;" f _siColor src/Dodge/Data/SelectionList.hs 47;" f @@ -2242,7 +2230,7 @@ _siPictures src/Dodge/Data/SelectionList.hs 43;" f _siWidth src/Dodge/Data/SelectionList.hs 45;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f -_silhouetteEBO src/Data/Preload/Render.hs 28;" f +_silhouetteEBO src/Data/Preload/Render.hs 29;" f _skOldPos src/Dodge/Data/Spark.hs 14;" f _skPos src/Dodge/Data/Spark.hs 13;" f _skType src/Dodge/Data/Spark.hs 15;" f @@ -2341,6 +2329,7 @@ _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 117;" f +_transparencyCompShader src/Data/Preload/Render.hs 22;" f _trieChildren src/SimpleTrie.hs 12;" f _trieMVal src/SimpleTrie.hs 11;" f _triggers src/Dodge/Data/LWorld.hs 126;" f @@ -2402,9 +2391,9 @@ _vaType src/Shader/Data.hs 70;" f _vaoName src/Shader/Data.hs 65;" f _vboName src/Shader/Data.hs 82;" f _vboPtr src/Shader/Data.hs 83;" f -_vboShapes src/Data/Preload/Render.hs 44;" f +_vboShapes src/Data/Preload/Render.hs 45;" f _vboVertexBytes src/Shader/Data.hs 84;" f -_vboWindows src/Data/Preload/Render.hs 43;" f +_vboWindows src/Data/Preload/Render.hs 44;" f _vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f _vertices src/Polyhedra/Data.hs 22;" f @@ -2426,8 +2415,8 @@ _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 119;" f -_wallShader src/Data/Preload/Render.hs 50;" f -_wallVBO src/Data/Preload/Render.hs 49;" f +_wallShader src/Data/Preload/Render.hs 51;" f +_wallVBO src/Data/Preload/Render.hs 50;" 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 @@ -2458,11 +2447,11 @@ _wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f _xNum src/Dodge/Data/Item/Combine.hs 139;" f _xNum src/Dodge/Data/Item/Combine.hs 149;" f _xNum src/Dodge/Data/Item/Combine.hs 170;" f -aBar src/Dodge/Placement/Instance/LightSource.hs 100;" f +aBar src/Dodge/Placement/Instance/LightSource.hs 63;" 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 125;" f +aShape src/Dodge/Placement/Instance/LightSource.hs 88;" f aSound src/Dodge/SoundLogic.hs 74;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 59;" f @@ -2503,7 +2492,7 @@ 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 420;" f +advanceScrollAmount src/Dodge/Update.hs 417;" 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 @@ -2701,7 +2690,7 @@ brightX src/Color.hs 116;" f btSPic src/Dodge/Render/ShapePicture.hs 129;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f bufferEBO src/Shader/Bind.hs 28;" f -bufferPerspectiveMatrixUBO src/Dodge/Render.hs 456;" f +bufferPerspectiveMatrixUBO src/Dodge/Render.hs 464;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f @@ -2756,13 +2745,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 769;" f +checkEndGame src/Dodge/Update.hs 766;" 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 319;" f +checkTermDist src/Dodge/Update.hs 316;" 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 @@ -2785,7 +2774,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 842;" f +clClSpringVel src/Dodge/Update.hs 839;" f clColor src/Shader/Poke/Cloud.hs 49;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 146;" f @@ -2794,7 +2783,7 @@ clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f cleanUpPreload src/Preload.hs 10;" f -cleanUpRenderPreload src/Preload/Render.hs 240;" f +cleanUpRenderPreload src/Preload/Render.hs 243;" f cleanUpSoundPreload src/Preload.hs 15;" f cleanupHalted src/Sound.hs 117;" f cleatLabel src/Dodge/Cleat.hs 30;" f @@ -2812,7 +2801,7 @@ closeObjectInfo src/Dodge/Render/HUD.hs 227;" 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 794;" f +cloudEffect src/Dodge/Update.hs 791;" 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 @@ -2880,7 +2869,7 @@ copier src/Dodge/Item/Scope.hs 88;" f copierItemUpdate src/Dodge/Creature/State.hs 131;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 385;" f -cornerList src/Preload/Render.hs 217;" f +cornerList src/Preload/Render.hs 220;" f corpseOrGib src/Dodge/Creature/Update.hs 111;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f @@ -2891,7 +2880,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 871;" f +crCrSpring src/Dodge/Update.hs 868;" 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 @@ -2922,7 +2911,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 868;" f +crSpring src/Dodge/Update.hs 865;" 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 @@ -3006,14 +2995,14 @@ damageSensor src/Dodge/Placement/Instance/Sensor.hs 14;" f damageStone src/Dodge/Material/Damage.hs 33;" f damageThingHit src/Dodge/Bullet.hs 180;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 34;" f -damageWall src/Dodge/Wall/Damage.hs 14;" f +damageWall src/Dodge/Wall/Damage.hs 26;" f damsToExpBarrel src/Dodge/Barreloid.hs 50;" f dark src/Color.hs 108;" f darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f dbArg src/Dodge/Base.hs 165;" f dbArgChain src/Dodge/Base.hs 170;" f dbwMuzzles src/Dodge/HeldUse.hs 322;" f -deZoneIX src/Dodge/Zoning/Base.hs 116;" f +deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deadEndRoom src/Dodge/Room/Room.hs 246;" f deadFeet src/Dodge/Creature/Picture.hs 68;" f @@ -3088,7 +3077,6 @@ defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f defaultMachine src/Dodge/Default.hs 30;" f defaultMachineWall src/Dodge/Default/Wall.hs 38;" f defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f -defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProximitySensor src/Dodge/Default.hs 54;" f defaultRoom src/Dodge/Default/Room.hs 9;" f defaultTerminal src/Dodge/Default/Terminal.hs 10;" f @@ -3104,15 +3092,15 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 27;" f denormalEdges src/Polyhedra.hs 136;" f destroyAllInvItems src/Dodge/Inventory.hs 53;" f destroyBlock src/Dodge/Block.hs 17;" f -destroyDoor src/Dodge/Door.hs 76;" f +destroyDoor src/Dodge/Wall/Damage.hs 52;" f destroyInvItem src/Dodge/Inventory.hs 40;" f destroyItem src/Dodge/Inventory.hs 62;" f destroyLSFlashAt src/Dodge/LightSource.hs 44;" 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/Door.hs 97;" f -destroyMounts src/Dodge/Door.hs 94;" f +destroyMount src/Dodge/Wall/Damage.hs 73;" f +destroyMounts src/Dodge/Wall/Damage.hs 70;" f destroyProjectile src/Dodge/Projectile/Update.hs 109;" f detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f @@ -3134,7 +3122,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 484;" f +displayTerminalLineString src/Dodge/Update.hs 481;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 8;" f @@ -3172,7 +3160,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/Door.hs 35;" f +doDoorMount src/Dodge/Door.hs 30;" f doDrag src/Dodge/Update/Input/InGame.hs 127;" f doDrawing src/Dodge/Render.hs 34;" f doDrawing' src/Dodge/Render.hs 45;" f @@ -3183,13 +3171,11 @@ doHeldUseEffect src/Dodge/HeldUse.hs 351;" f doInPlacements src/Dodge/Layout.hs 87;" f doIndividualPlacements src/Dodge/Layout.hs 101;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f -doItemTimeScroll src/Dodge/Update.hs 194;" f +doItemTimeScroll src/Dodge/Update.hs 193;" f doLoop src/Loop.hs 60;" f 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 140;" f -doPropUpdates src/Dodge/Prop/Update.hs 31;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f @@ -3204,18 +3190,18 @@ doTestDrawing src/Dodge/Render.hs 41;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 129;" f -doTimeScroll src/Dodge/Update.hs 199;" f +doTimeScroll src/Dodge/Update.hs 198;" f doTmWdWd src/Dodge/WorldEffect.hs 94;" f doWallRotate src/Dodge/Update/Camera.hs 223;" f 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 429;" f +doWorldEvents src/Dodge/Update.hs 426;" 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/Door.hs 45;" f +doorLerp src/Dodge/Door.hs 40;" f dotV src/Geometry/Vector.hs 76;" f dotV3 src/Geometry/Vector3D.hs 119;" f doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f @@ -3235,7 +3221,7 @@ drawArrowDown src/Dodge/Render/Picture.hs 221;" f drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f -drawBoundingBox src/Dodge/Debug/Picture.hs 367;" f +drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f drawBullet src/Dodge/Render/ShapePicture.hs 135;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f @@ -3246,7 +3232,7 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 269;" f drawCombineInventory src/Dodge/Render/HUD.hs 183;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f -drawCoord src/Dodge/Debug/Picture.hs 395;" f +drawCoord src/Dodge/Debug/Picture.hs 386;" f drawCrInfo src/Dodge/Debug.hs 169;" f drawCrInfo' src/Dodge/Debug.hs 164;" f drawCreature src/Dodge/Render/ShapePicture.hs 71;" f @@ -3255,7 +3241,7 @@ drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 72;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f -drawDDATest src/Dodge/Debug/Picture.hs 311;" f +drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f drawDebug src/Dodge/Debug.hs 207;" f drawDrag src/Dodge/Render/Picture.hs 200;" f @@ -3269,10 +3255,10 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 127;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f -drawFarWallDetect src/Dodge/Debug/Picture.hs 278;" f +drawFarWallDetect src/Dodge/Debug/Picture.hs 270;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f -drawForceField src/Dodge/Wall/Draw.hs 13;" f +drawForceField src/Dodge/Wall/Draw.hs 15;" f drawGapPlus src/Dodge/Render/Picture.hs 280;" f drawGib src/Dodge/Prop/Draw.hs 26;" f drawHUD src/Dodge/Render/HUD.hs 52;" f @@ -3301,11 +3287,11 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMouseCursor src/Dodge/Render/Picture.hs 85;" f drawMouseOver src/Dodge/Render/HUD.hs 110;" f -drawMousePosition src/Dodge/Debug/Picture.hs 385;" f +drawMousePosition src/Dodge/Debug/Picture.hs 376;" f drawOptions src/Dodge/Render/MenuScreen.hs 22;" f drawPathBetween src/Dodge/Debug/Picture.hs 202;" f -drawPathEdge src/Dodge/Debug/Picture.hs 268;" f -drawPathing src/Dodge/Debug/Picture.hs 416;" f +drawPathEdge src/Dodge/Debug/Picture.hs 260;" f +drawPathing src/Dodge/Debug/Picture.hs 407;" f drawPlus src/Dodge/Render/Picture.hs 165;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f @@ -3342,18 +3328,18 @@ 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 -drawWall src/Dodge/Wall/Draw.hs 9;" f +drawWall src/Dodge/Wall/Draw.hs 11;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f -drawWallSearchRays src/Dodge/Debug/Picture.hs 331;" f +drawWallSearchRays src/Dodge/Debug/Picture.hs 322;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 232;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f drawWeapon src/Dodge/Creature/Volition.hs 15;" f -drawWlIDs src/Dodge/Debug/Picture.hs 403;" f +drawWlIDs src/Dodge/Debug/Picture.hs 394;" f drawZone src/Dodge/Debug/Picture.hs 152;" f -drawZoneCirc src/Dodge/Debug/Picture.hs 300;" f +drawZoneCirc src/Dodge/Debug/Picture.hs 292;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f -drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 293;" f +drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f dropAll src/Dodge/Creature/Update.hs 129;" f dropInventoryPath src/Dodge/HeldUse.hs 1351;" f dropItem src/Dodge/Creature/Action.hs 155;" f @@ -3377,14 +3363,14 @@ 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 64;" f -dustSpringVel src/Dodge/Update.hs 853;" f +dustSpringVel src/Dodge/Update.hs 850;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f edgeFormatting src/Dodge/Combine/Graph.hs 129;" f -edgeToPic src/Dodge/Debug/Picture.hs 425;" f +edgeToPic src/Dodge/Debug/Picture.hs 416;" f effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnRemove src/Dodge/Equipment.hs 19;" f eitType src/Dodge/Data/EquipType.hs 15;" f @@ -3520,7 +3506,7 @@ fromV3 src/Geometry/Data.hs 63;" f frontArmour src/Dodge/Item/Equipment.hs 38;" f fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 53;" f -functionalUpdate src/Dodge/Update.hs 242;" f +functionalUpdate src/Dodge/Update.hs 241;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f @@ -3558,9 +3544,9 @@ getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f -getDebugMouseOver src/Dodge/Update.hs 377;" f -getDistortions src/Dodge/Render.hs 462;" f -getEdgesCrossing src/Dodge/Path.hs 42;" f +getDebugMouseOver src/Dodge/Update.hs 374;" f +getDistortions src/Dodge/Render.hs 470;" f +getEdgesCrossing src/Dodge/Path.hs 37;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f @@ -3569,8 +3555,8 @@ 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 389;" f -getNodePos src/Dodge/Path.hs 39;" f +getMenuMouseContext src/Dodge/Update.hs 386;" f +getNodePos src/Dodge/Path.hs 34;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f @@ -3693,7 +3679,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 88;" f +iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f ildtPropagate src/Dodge/DoubleTree.hs 111;" f @@ -3711,10 +3697,10 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f initialRoomTree src/Dodge/Floor.hs 24;" f initialWorld src/Dodge/Initialisation.hs 15;" f initialisePlaying src/Sound.hs 77;" f -initializeGLState src/Preload/Render.hs 235;" f +initializeGLState src/Preload/Render.hs 238;" f initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f -initializeTexture2D src/Framebuffer/Update.hs 201;" f +initializeTexture2D src/Framebuffer/Update.hs 203;" f inorderNumberTree src/TreeHelp.hs 190;" f insertAt src/Padding.hs 63;" f insertIMInZone src/Dodge/Base.hs 54;" f @@ -3804,7 +3790,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 400;" f +isOverTerminalScreen src/Dodge/Update.hs 397;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 132;" f isRHS src/Geometry/LHS.hs 32;" f @@ -3869,7 +3855,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 103;" f +jShape src/Dodge/Placement/Instance/LightSource.hs 66;" f joinItemsInList src/Dodge/Item/Grammar.hs 206;" f joystick src/Dodge/Item/Scope.hs 149;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f @@ -3892,7 +3878,7 @@ knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f lChasm src/Dodge/Room/Tutorial.hs 148;" f lConnect src/Dodge/Render/Connectors.hs 42;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f -lShape src/Dodge/Placement/Instance/LightSource.hs 91;" f +lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f lamp src/Dodge/Creature/Lamp.hs 21;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 85;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f @@ -3931,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 116;" f +liShape src/Dodge/Placement/Instance/LightSource.hs 79;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f @@ -4046,13 +4032,13 @@ makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 55;" f makeFlamelet src/Dodge/EnergyBall.hs 21;" f makeFragBullets src/Dodge/Bullet.hs 132;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f -makeIntInterval src/Dodge/Zoning/Base.hs 39;" f +makeIntInterval src/Dodge/Zoning/Base.hs 37;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f makeParagraph src/Justify.hs 6;" f -makePathBetween src/Dodge/Path.hs 68;" f -makePathBetweenPs src/Dodge/Path.hs 92;" f -makePathUsing src/Dodge/Path.hs 56;" f +makePathBetween src/Dodge/Path.hs 63;" f +makePathBetweenPs src/Dodge/Path.hs 87;" f +makePathUsing src/Dodge/Path.hs 51;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f makeSelectionListPictures src/Dodge/Render/List.hs 66;" f makeShaderEBO src/Shader/Compile.hs 53;" f @@ -4082,9 +4068,10 @@ maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f maxShowX src/Dodge/Combine/Graph.hs 48;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f -maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f +maybeDestroyBlock src/Dodge/Wall/Damage.hs 42;" f +maybeDestroyDoor src/Dodge/Wall/Damage.hs 47;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f -maybeOpenConsole src/Dodge/Update.hs 127;" f +maybeOpenConsole src/Dodge/Update.hs 126;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f @@ -4163,11 +4150,11 @@ mkDustCloudLike src/Shader/Poke/Cloud.hs 27;" 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 140;" f -mntLSCond src/Dodge/Placement/Instance/LightSource.hs 163;" f -mntLSOn src/Dodge/Placement/Instance/LightSource.hs 68;" f -mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 180;" f -mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 185;" f +mntLS src/Dodge/Placement/Instance/LightSource.hs 103;" f +mntLSCond src/Dodge/Placement/Instance/LightSource.hs 126;" f +mntLSOn src/Dodge/Placement/Instance/LightSource.hs 31;" f +mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 143;" f +mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 148;" f modTo src/Geometry/Zone.hs 18;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f mouseCursorType src/Dodge/Render/Picture.hs 92;" f @@ -4175,7 +4162,6 @@ mouseWorldPos src/Dodge/Base/Coordinate.hs 25;" f moveBullet src/Dodge/Bullet.hs 197;" f moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f -moveLSThen src/Dodge/Placement/Instance/LightSource.hs 47;" f movePenBullet src/Dodge/Bullet.hs 203;" f moveProjectile src/Dodge/Projectile/Update.hs 210;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f @@ -4201,7 +4187,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 785;" f +mvGust src/Dodge/Update.hs 782;" f mvLS src/Dodge/Placement/PlaceSpot.hs 229;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4231,7 +4217,7 @@ noPic src/ShapePicture.hs 25;" f noShape src/ShapePicture.hs 29;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 23;" f nodeFormatting src/Dodge/Combine/Graph.hs 145;" f -nodesNear src/Dodge/Path.hs 80;" f +nodesNear src/Dodge/Path.hs 75;" f normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f normalizeAngle src/Geometry/Vector.hs 128;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4251,14 +4237,14 @@ numSelfTree' src/Dodge/Tree/Compose.hs 110;" f numShads src/Picture/Data.hs 40;" f numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 184;" f -obstacleColor src/Dodge/Debug/Picture.hs 271;" f -obstructPathsCrossing src/Dodge/Path.hs 126;" f +obstacleColor src/Dodge/Debug/Picture.hs 263;" f +obstructPathsCrossing src/Dodge/Path.hs 120;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 96;" f -openConsole src/Dodge/Update.hs 132;" f +openConsole src/Dodge/Update.hs 131;" f optionMenu src/Dodge/Menu.hs 112;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 43;" f @@ -4299,7 +4285,7 @@ overwriteLabel src/Dodge/Tree/Compose.hs 31;" f p src/ShortShow.hs 48;" f pContID src/Dodge/LevelGen/PlacementHelper.hs 15;" f pairPolyPointsIntersect src/Geometry/ConvexPoly.hs 68;" f -pairsToIncGraph src/Dodge/Path.hs 99;" f +pairsToIncGraph src/Dodge/Path.hs 94;" f pairsToIncidence src/Dodge/Graph.hs 20;" f pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 58;" f @@ -4307,14 +4293,14 @@ parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f passthroughLockKeyLists src/Dodge/Floor.hs 120;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f -pathEdgeObstructed src/Dodge/Path.hs 71;" f +pathEdgeObstructed src/Dodge/Path.hs 66;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseGame src/Dodge/Update/Input/InGame.hs 525;" f pauseMenu src/Dodge/Menu.hs 59;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f -pauseTime src/Dodge/Update.hs 183;" f -pbFlicker src/Dodge/Update.hs 470;" f +pauseTime src/Dodge/Update.hs 182;" f +pbFlicker src/Dodge/Update.hs 467;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 95;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4382,7 +4368,7 @@ pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f pointInPoly src/Geometry/Polygon.hs 86;" f pointIsInCone src/Geometry.hs 375;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f -pointTowardsImpulse src/Dodge/Path.hs 96;" f +pointTowardsImpulse src/Dodge/Path.hs 91;" f pointerToItem src/Dodge/Item/Location.hs 39;" f pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f @@ -4477,10 +4463,7 @@ prismBox src/Shape.hs 73;" f prismPoly src/Shape.hs 59;" f projV src/Geometry/Vector.hs 177;" f projV3 src/Geometry/Vector3D.hs 127;" f -propLSThen src/Dodge/Placement/Instance/LightSource.hs 33;" f propSPic src/Dodge/Prop/Draw.hs 22;" 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 52;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 80;" f @@ -4513,7 +4496,7 @@ putDoor src/Dodge/Room/Airlock.hs 114;" 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 236;" f +putLamp src/Dodge/Placement/Instance/LightSource.hs 199;" 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 @@ -4561,7 +4544,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 644;" f +randWallReflect src/Dodge/Update.hs 641;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 60;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 246;" f @@ -4627,9 +4610,9 @@ resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f resetTerminal src/Dodge/WorldEffect.hs 109;" f -resizeFBOTO src/Framebuffer/Update.hs 183;" f -resizeFBOTO2 src/Framebuffer/Update.hs 131;" f -resizeFBOTO3 src/Framebuffer/Update.hs 155;" f +resizeFBOTO src/Framebuffer/Update.hs 185;" f +resizeFBOTO2 src/Framebuffer/Update.hs 133;" f +resizeFBOTO3 src/Framebuffer/Update.hs 157;" f resizeRBO src/Framebuffer/Update.hs 74;" f respawn src/Dodge/SpawnAt.hs 12;" f restrictInLinks src/Dodge/RoomLink.hs 44;" f @@ -4757,8 +4740,8 @@ scrollAugInvSel src/Dodge/Inventory.hs 191;" f scrollAugNextInSection src/Dodge/Inventory.hs 204;" f scrollRBOption src/Dodge/Update/Scroll.hs 202;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f -scrollTimeBack src/Dodge/Update.hs 209;" f -scrollTimeForward src/Dodge/Update.hs 226;" f +scrollTimeBack src/Dodge/Update.hs 208;" f +scrollTimeForward src/Dodge/Update.hs 225;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 570;" f seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 654;" f seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 666;" f @@ -4797,7 +4780,7 @@ sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 81;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f setAimPosture src/Dodge/Creature/YourControl.hs 145;" f setChannelPos src/Sound.hs 150;" f -setClickWorldPos src/Dodge/Update.hs 102;" f +setClickWorldPos src/Dodge/Update.hs 101;" f setClip src/Dodge/Debug.hs 193;" f setClusterID src/Dodge/Combine/Graph.hs 114;" f setDepth src/Picture/Base.hs 128;" f @@ -4812,7 +4795,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 503;" f +setOldPos src/Dodge/Update.hs 500;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -4829,7 +4812,7 @@ setTiles src/Dodge/Layout.hs 67;" f setTreeInts src/Dodge/Room/Tutorial.hs 98;" f setViewDistance src/Dodge/Update/Camera.hs 239;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f -setViewport src/Dodge/Render.hs 467;" f +setViewport src/Dodge/Render.hs 475;" f setVol src/Dodge/Config.hs 47;" f setWristShieldPos src/Dodge/Equipment.hs 49;" f setWristShieldPos src/Dodge/Euse.hs 38;" f @@ -4920,7 +4903,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 862;" f +simpleCrSprings src/Dodge/Update.hs 859;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f @@ -4948,11 +4931,11 @@ smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 466;" f smallPillar src/Dodge/Room/Pillar.hs 37;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f -smallSnailInt2 src/Dodge/Path.hs 86;" f +smallSnailInt2 src/Dodge/Path.hs 81;" f smg src/Dodge/Item/Held/Stick.hs 58;" f smokeReducer src/Dodge/Item/Scope.hs 162;" f -snailAround src/Dodge/Path.hs 83;" f -snapToGrid src/Dodge/Path.hs 135;" f +snailAround src/Dodge/Path.hs 78;" f +snapToGrid src/Dodge/Path.hs 129;" f sndV2 src/Geometry/Data.hs 73;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -4966,7 +4949,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f -soundPic src/Dodge/Debug/Picture.hs 372;" f +soundPic src/Dodge/Debug/Picture.hs 363;" f soundStart src/Dodge/SoundLogic.hs 118;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f @@ -4974,11 +4957,11 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f spaceAction src/Dodge/Update/Input/InGame.hs 528;" f -spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 210;" f -spanColLightI src/Dodge/Placement/Instance/LightSource.hs 203;" f -spanLS src/Dodge/Placement/Instance/LightSource.hs 195;" f -spanLightI src/Dodge/Placement/Instance/LightSource.hs 217;" f -spanLightY src/Dodge/Placement/Instance/LightSource.hs 220;" f +spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 173;" f +spanColLightI src/Dodge/Placement/Instance/LightSource.hs 166;" f +spanLS src/Dodge/Placement/Instance/LightSource.hs 158;" f +spanLightI src/Dodge/Placement/Instance/LightSource.hs 180;" f +spanLightY src/Dodge/Placement/Instance/LightSource.hs 183;" f sparkDam src/Dodge/Spark.hs 36;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f sparkRandDir src/Dodge/Spark.hs 116;" f @@ -5045,7 +5028,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/Door.hs 102;" f +stopPushing src/Dodge/Wall/Damage.hs 78;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f @@ -5143,7 +5126,7 @@ throwItem src/Dodge/Creature/Action.hs 191;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 196;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 170;" f +timeFlowUpdate src/Dodge/Update.hs 169;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeStopper src/Dodge/Item/Held/Utility.hs 39;" f tinMag src/Dodge/Item/Ammo.hs 28;" f @@ -5158,7 +5141,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 487;" f +tmUpdate src/Dodge/Update.hs 484;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5294,7 +5277,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 306;" f +updateAimPos src/Dodge/Update.hs 303;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5304,50 +5287,50 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f updateBounds src/Dodge/Update/Camera.hs 261;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 566;" f +updateBullets src/Dodge/Update.hs 563;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 799;" f -updateClouds src/Dodge/Update.hs 670;" f +updateCloud src/Dodge/Update.hs 796;" f +updateClouds src/Dodge/Update.hs 667;" 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 538;" f -updateCreatureSoundPositions src/Dodge/Update.hs 517;" f -updateDebris src/Dodge/Update.hs 573;" f +updateCreatureGroups src/Dodge/Update.hs 535;" f +updateCreatureSoundPositions src/Dodge/Update.hs 514;" f +updateDebris src/Dodge/Update.hs 570;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 96;" f -updateDelayedEvents src/Dodge/Update.hs 891;" f +updateDebugMessageOffset src/Dodge/Update.hs 95;" f +updateDelayedEvents src/Dodge/Update.hs 888;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 559;" f -updateDoor src/Dodge/Door.hs 26;" 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 48;" f +updateDistortions src/Dodge/Update.hs 556;" f +updateDoor src/Dodge/Door.hs 22;" f +updateDoors src/Dodge/Update.hs 308;" f +updateDust src/Dodge/Update.hs 820;" f +updateDusts src/Dodge/Update.hs 670;" f +updateEdge src/Dodge/Path.hs 43;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 41;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 25;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 38;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 661;" f +updateEnergyBalls src/Dodge/Update.hs 658;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFBOTO src/Framebuffer/Update.hs 77;" f -updateFBOTO2 src/Framebuffer/Update.hs 93;" f -updateFBOTO3 src/Framebuffer/Update.hs 111;" f +updateFBOTO2 src/Framebuffer/Update.hs 95;" f +updateFBOTO3 src/Framebuffer/Update.hs 113;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 658;" f +updateFlames src/Dodge/Update.hs 655;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f -updateGusts src/Dodge/Update.hs 782;" f -updateIMl src/Dodge/Update.hs 532;" f -updateIMl' src/Dodge/Update.hs 535;" f +updateGusts src/Dodge/Update.hs 779;" f +updateIMl src/Dodge/Update.hs 529;" f +updateIMl' src/Dodge/Update.hs 532;" f updateInGameCamera src/Dodge/Update/Camera.hs 82;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f -updateInt2Map src/Dodge/Zoning/Base.hs 119;" f +updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 260;" f updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f @@ -5357,33 +5340,32 @@ 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 436;" f +updateLasers src/Dodge/Update.hs 433;" 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 314;" f +updateMagnets src/Dodge/Update.hs 311;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 327;" f -updateMouseContextGame src/Dodge/Update.hs 332;" f +updateMouseContext src/Dodge/Update.hs 324;" f +updateMouseContextGame src/Dodge/Update.hs 329;" 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 550;" f -updateObjMapMaybe src/Dodge/Update.hs 543;" f -updatePastWorlds src/Dodge/Update.hs 425;" f +updateObjCatMaybes src/Dodge/Update.hs 547;" f +updateObjMapMaybe src/Dodge/Update.hs 540;" f +updatePastWorlds src/Dodge/Update.hs 422;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 146;" f -updatePulseBall src/Dodge/Update.hs 450;" f -updatePulseLaser src/Dodge/Update.hs 613;" f -updatePulseLasers src/Dodge/Update.hs 445;" f +updatePulseBall src/Dodge/Update.hs 447;" f +updatePulseLaser src/Dodge/Update.hs 610;" f +updatePulseLasers src/Dodge/Update.hs 442;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 562;" f +updateRadarBlips src/Dodge/Update.hs 559;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 664;" f +updateRadarSweeps src/Dodge/Update.hs 661;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 113;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5393,29 +5375,29 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 258;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 655;" f +updateShockwaves src/Dodge/Update.hs 652;" 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 667;" f -updateTeslaArc src/Dodge/Update.hs 583;" f -updateTeslaArcs src/Dodge/Update.hs 580;" f +updateSparks src/Dodge/Update.hs 664;" f +updateTeslaArc src/Dodge/Update.hs 580;" f +updateTeslaArcs src/Dodge/Update.hs 577;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 652;" f +updateTractorBeams src/Dodge/Update.hs 649;" f updateTurret src/Dodge/Machine/Update.hs 49;" f -updateUniverse src/Dodge/Update.hs 75;" f -updateUniverseFirst src/Dodge/Update.hs 86;" f -updateUniverseLast src/Dodge/Update.hs 137;" f -updateUniverseMid src/Dodge/Update.hs 157;" f +updateUniverse src/Dodge/Update.hs 74;" f +updateUniverseFirst src/Dodge/Update.hs 85;" f +updateUniverseLast src/Dodge/Update.hs 136;" f +updateUniverseMid src/Dodge/Update.hs 156;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 45;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 16;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 415;" f -updateWorldEventFlag src/Dodge/Update.hs 121;" f -updateWorldEventFlags src/Dodge/Update.hs 109;" f +updateWheelEvents src/Dodge/Update.hs 412;" f +updateWorldEventFlag src/Dodge/Update.hs 120;" f +updateWorldEventFlags src/Dodge/Update.hs 108;" f upperBody src/Dodge/Creature/Picture.hs 120;" f upperBox src/Shape.hs 156;" f upperBoxHalf src/Shape.hs 222;" f @@ -5458,7 +5440,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 130;" f +vShape src/Dodge/Placement/Instance/LightSource.hs 93;" f vToL src/MatrixHelper.hs 56;" f vToQuat src/Quaternion.hs 42;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f @@ -5472,8 +5454,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 23;" f vgunMuzzles src/Dodge/HeldUse.hs 341;" f -viewBoundaries src/Dodge/Debug/Picture.hs 340;" f -viewClipBounds src/Dodge/Debug/Picture.hs 349;" f +viewBoundaries src/Dodge/Debug/Picture.hs 331;" f +viewClipBounds src/Dodge/Debug/Picture.hs 340;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 197;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f violet src/Color.hs 21;" f @@ -5483,7 +5465,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f walkNozzle src/Dodge/HeldUse.hs 809;" f -walkableNodeNear src/Dodge/Path.hs 74;" f +walkableNodeNear src/Dodge/Path.hs 69;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f @@ -5560,14 +5542,12 @@ writeConfig src/Dodge/Menu.hs 182;" f writeSaveSlot src/Dodge/Save.hs 36;" f xCylinder src/Shape.hs 137;" f xCylinderST src/Shape.hs 134;" f -xIntercepts src/Dodge/Zoning/Base.hs 69;" f -xIntercepts' src/Dodge/Zoning/Base.hs 85;" f +xIntercepts src/Dodge/Zoning/Base.hs 66;" f xSwitch src/Dodge/Room/Airlock.hs 33;" f xV2 src/Geometry/Vector.hs 201;" f xyV3 src/Geometry/Vector.hs 213;" f xyzV4 src/Geometry/Vector.hs 209;" f -yIntercepts src/Dodge/Zoning/Base.hs 97;" f -yIntercepts' src/Dodge/Zoning/Base.hs 103;" f +yIntercepts src/Dodge/Zoning/Base.hs 78;" f yV2 src/Geometry/Vector.hs 205;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 13;" f @@ -5588,30 +5568,30 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 477;" f +zoneClouds src/Dodge/Update.hs 474;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 513;" f +zoneCreatures src/Dodge/Update.hs 510;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 481;" f -zoneExtract src/Dodge/Zoning/Base.hs 61;" f +zoneDusts src/Dodge/Update.hs 478;" f +zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f -zoneMonoid src/Dodge/Zoning/Base.hs 110;" f -zoneOfCirc src/Dodge/Zoning/Base.hs 28;" f +zoneMonoid src/Dodge/Zoning/Base.hs 85;" f +zoneOfCirc src/Dodge/Zoning/Base.hs 26;" f zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f zoneOfCr src/Dodge/Zoning/Creature.hs 46;" f zoneOfDs src/Dodge/Zoning/Cloud.hs 45;" f zoneOfIncPe src/Dodge/Zoning/Pathing.hs 52;" f zoneOfPn src/Dodge/Zoning/Pathing.hs 29;" f -zoneOfPoint src/Dodge/Zoning/Base.hs 48;" f -zoneOfRect src/Dodge/Zoning/Base.hs 32;" f -zoneOfSeg src/Dodge/Zoning/Base.hs 51;" f -zoneOfSegSet src/Dodge/Zoning/Base.hs 56;" f +zoneOfPoint src/Dodge/Zoning/Base.hs 46;" f +zoneOfRect src/Dodge/Zoning/Base.hs 30;" f +zoneOfSeg src/Dodge/Zoning/Base.hs 49;" f +zoneOfSegSet src/Dodge/Zoning/Base.hs 53;" f zoneOfSight src/Dodge/Zoning/World.hs 9;" f zoneOfWl src/Dodge/Zoning/Wall.hs 55;" f zonePn src/Dodge/Zoning/Pathing.hs 32;" f zoneWall src/Dodge/Zoning/Wall.hs 65;" f -zonesAroundPoint src/Dodge/Zoning/Base.hs 123;" f -zonesExtract src/Dodge/Zoning/Base.hs 65;" f +zonesAroundPoint src/Dodge/Zoning/Base.hs 98;" f +zonesExtract src/Dodge/Zoning/Base.hs 62;" f zoomFloatingCamera src/Dodge/Update/Camera.hs 74;" f zoomInLongGun src/Dodge/Update/Scroll.hs 105;" f zoomOutLongGun src/Dodge/Update/Scroll.hs 113;" f