diff --git a/src/Dodge/Default/Door.hs b/src/Dodge/Default/Door.hs index 3384b6aec..a513cde3f 100644 --- a/src/Dodge/Default/Door.hs +++ b/src/Dodge/Default/Door.hs @@ -1,36 +1,15 @@ -module Dodge.Default.Door ( - module Dodge.Default.Door, - module Dodge.Default.Wall, -) where +module Dodge.Default.Door ( defaultDoor) where -import Control.Lens import Dodge.Data.Door -import Dodge.Data.Wall -import Dodge.Default.Wall - ---switchWallCol :: Color -> Wall ---switchWallCol col = defaultSwitchWall - -defaultAutoWall :: Wall -defaultAutoWall = - defaultDoorWall --- & wlColor .~ dim yellow - & wlOpacity .~ Opaque 9 - & wlPathFlag . at WallNotAutoOpen .~ Nothing defaultDoor :: Door defaultDoor = Door { _drID = 0 --- , _drWallIDs = mempty --- , _drStatus = DoorClosed , _drTrigger = WdBlConst False , _drUpdate = DoorDoNothing --- , _drPos = (0, 0) --- , _drOpenPos = (0, 0) --- , _drClosePos = (0, 0) - , _drZeroPos = (0,0) - , _drOnePos = (0,0) + , _drZeroPos = (0, 0) + , _drOnePos = (0, 0) , _drLerp = 0 , _drFootPrint = mempty , _drHP = 10000 diff --git a/src/Dodge/Default/Wall.hs b/src/Dodge/Default/Wall.hs index 7e034831a..2d45ab298 100644 --- a/src/Dodge/Default/Wall.hs +++ b/src/Dodge/Default/Wall.hs @@ -5,6 +5,7 @@ module Dodge.Default.Wall ( defaultCrystalWall, defaultDoorWall, defaultDirtWall, + defaultAutoWall, ) where import Control.Lens @@ -19,11 +20,7 @@ defaultWall = { _wlLine = (V2 0 0, V2 50 0) , _wlID = 0 , _wlPathFlag = - S.fromList - [ WallBlockVisibility - , WallNotAutoOpen - , WallNotDestrucable - ] + S.fromList [minBound .. maxBound] , _wlOpacity = Opaque 11 , _wlUnshadowed = True , _wlRotateTo = True @@ -34,14 +31,23 @@ defaultWall = } defaultDoorWall :: Wall -defaultDoorWall = defaultWall +defaultDoorWall = + defaultWall & wlPathFlag . at WallNotDestrucable .~ Nothing & wlMaterial .~ Metal & wlOpacity .~ Opaque 0 +defaultAutoWall :: Wall +defaultAutoWall = + defaultDoorWall + & wlOpacity .~ Opaque 9 + & wlPathFlag . at WallNotAutoOpen .~ Nothing + {- Indestructible see-through wall. -} defaultCrystalWall :: Wall -defaultCrystalWall = defaultWall & wlOpacity .~ SeeThrough & wlMaterial .~ Crystal +defaultCrystalWall = + defaultWall & wlOpacity .~ SeeThrough & wlMaterial .~ Crystal + & wlPathFlag . at WallBlockVisibility .~ Nothing defaultMachineWall :: Wall defaultMachineWall = @@ -52,24 +58,27 @@ defaultMachineWall = , _wlMaterial = Metal , _wlTouchThrough = True } + & wlPathFlag . at WallBlockVisibility .~ Nothing + & wlPathFlag . at WallNotDestrucable .~ Nothing defaultDirtWall :: Wall defaultDirtWall = defaultWall { _wlLine = (V2 0 0, V2 50 0) , _wlID = 0 --- , _wlColor = dirtColor , _wlOpacity = Opaque 6 , _wlRotateTo = False , _wlMaterial = Dirt } + & wlPathFlag . at WallNotDestrucable .~ Nothing defaultWindow :: Wall defaultWindow = defaultWall { _wlLine = (V2 0 0, V2 50 0) , _wlID = 0 --- , _wlColor = withAlpha 0.5 cyan , _wlOpacity = SeeThrough , _wlMaterial = Glass } + & wlPathFlag . at WallNotDestrucable .~ Nothing + & wlPathFlag . at WallBlockVisibility .~ Nothing diff --git a/src/Dodge/Placement/Instance/Block.hs b/src/Dodge/Placement/Instance/Block.hs index 87ac9ec43..07e88e847 100644 --- a/src/Dodge/Placement/Instance/Block.hs +++ b/src/Dodge/Placement/Instance/Block.hs @@ -16,6 +16,8 @@ decoratedBlock decf mat col h ps = PutBlock bl wl $ reverse ps & blHeight .~ h wl = defaultWall + & wlPathFlag . at WallNotDestrucable .~ Nothing + & wlPathFlag . at WallBlockVisibility .~ Nothing & wlRotateTo .~ False & wlOpacity .~ SeeAbove & wlMaterial .~ mat diff --git a/src/Dodge/Placement/Instance/Door.hs b/src/Dodge/Placement/Instance/Door.hs index 23f23feaa..c276a6f14 100644 --- a/src/Dodge/Placement/Instance/Door.hs +++ b/src/Dodge/Placement/Instance/Door.hs @@ -5,12 +5,13 @@ module Dodge.Placement.Instance.Door ( switchDoor, -- not used 9/3/22 ) where +import Dodge.Default.Wall +import Dodge.Default.Door import qualified Data.Set as S import Color import Control.Lens import Dodge.Data.CreatureEffect import Dodge.Data.GenWorld -import Dodge.Default.Door import Dodge.LevelGen.PlacementHelper import Dodge.LevelGen.Switch import Geometry diff --git a/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs b/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs index af96627f2..a2276cb04 100644 --- a/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs +++ b/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs @@ -4,6 +4,7 @@ module Dodge.Placement.PlaceSpot.TriggerDoor ( updateDoorEdges, ) where +import Dodge.Default.Wall import qualified Data.Set as S import Dodge.ShiftPoint import Linear diff --git a/src/Dodge/Room/Airlock.hs b/src/Dodge/Room/Airlock.hs index ec092991d..b31e097cd 100644 --- a/src/Dodge/Room/Airlock.hs +++ b/src/Dodge/Room/Airlock.hs @@ -3,12 +3,12 @@ {- Rooms that contain two doors and a switch alternating both. -} module Dodge.Room.Airlock where +import Dodge.Default.Wall import Dodge.Room.Path import Control.Lens import Control.Monad import Data.Maybe import Dodge.Data.GenWorld -import Dodge.Default.Door import Dodge.Default.Room import Dodge.LevelGen.PlacementHelper import Dodge.LevelGen.Switch diff --git a/src/Dodge/Room/Door.hs b/src/Dodge/Room/Door.hs index 7570c1a37..e25e77a00 100644 --- a/src/Dodge/Room/Door.hs +++ b/src/Dodge/Room/Door.hs @@ -1,9 +1,9 @@ {- Rooms that connect other rooms, blocking sight. -} module Dodge.Room.Door where +import Dodge.Default.Wall import Data.Maybe import Dodge.Data.GenWorld -import Dodge.Default.Door import Dodge.Default.Room import Dodge.Placement.Instance import Dodge.RoomLink diff --git a/src/Dodge/Room/LongDoor.hs b/src/Dodge/Room/LongDoor.hs index d3a586510..413d6fe7f 100644 --- a/src/Dodge/Room/LongDoor.hs +++ b/src/Dodge/Room/LongDoor.hs @@ -2,6 +2,7 @@ -- | Rooms containing long doors, probably with a big reveal behind them. module Dodge.Room.LongDoor where +import Dodge.Default.Wall import Control.Monad import Dodge.LevelGen.Switch import Data.Maybe diff --git a/src/Dodge/Room/Procedural.hs b/src/Dodge/Room/Procedural.hs index 6f41798eb..dfc3d18d8 100644 --- a/src/Dodge/Room/Procedural.hs +++ b/src/Dodge/Room/Procedural.hs @@ -10,6 +10,7 @@ module Dodge.Room.Procedural ( makeGrid, ) where +import Dodge.Default.Wall import Control.Monad import Tile import qualified Data.Set as S diff --git a/tags b/tags index 216b3dbac..a1cc1aea2 100644 --- a/tags +++ b/tags @@ -126,17 +126,17 @@ BlBl src/Dodge/Data/BlBl.hs 9;" t BlConst src/Dodge/Data/BlBl.hs 11;" C BlId src/Dodge/Data/BlBl.hs 12;" C BlNegate src/Dodge/Data/BlBl.hs 10;" C -BlSh src/Dodge/Data/Block.hs 42;" t -BlShConst src/Dodge/Data/Block.hs 44;" C -BlShMempty src/Dodge/Data/Block.hs 43;" C +BlSh src/Dodge/Data/Block.hs 40;" t +BlShConst src/Dodge/Data/Block.hs 42;" C +BlShMempty src/Dodge/Data/Block.hs 41;" C Block src/Dodge/Data/Block.hs 20;" t BlockDebris src/Dodge/Data/Prop.hs 29;" C BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 30;" C -BlockDraw src/Dodge/Data/Block.hs 35;" t -BlockDrawBlSh src/Dodge/Data/Block.hs 37;" C -BlockDrawColHeightPoss src/Dodge/Data/Block.hs 39;" C -BlockDrawMempty src/Dodge/Data/Block.hs 36;" C -BlockDraws src/Dodge/Data/Block.hs 38;" C +BlockDraw src/Dodge/Data/Block.hs 33;" t +BlockDrawBlSh src/Dodge/Data/Block.hs 35;" C +BlockDrawColHeightPoss src/Dodge/Data/Block.hs 37;" C +BlockDrawMempty src/Dodge/Data/Block.hs 34;" C +BlockDraws src/Dodge/Data/Block.hs 36;" C BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C BlockedLink src/Dodge/Data/Room.hs 50;" C BloomLayer src/Picture/Data.hs 23;" C @@ -354,8 +354,8 @@ DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C DoorUpdate src/Dodge/Data/Door.hs 43;" t DoubleRes src/Dodge/Data/Config.hs 98;" C DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t -DrawForceField src/Dodge/Data/Wall.hs 40;" C -DrawnWall src/Dodge/Data/Wall.hs 36;" C +DrawForceField src/Dodge/Data/Wall.hs 39;" C +DrawnWall src/Dodge/Data/Wall.hs 35;" C DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C DropItem src/Dodge/Data/ActionPlan.hs 38;" C DudPayload src/Dodge/Data/Payload.hs 11;" C @@ -916,8 +916,8 @@ OnTurret src/Dodge/Data/Item/Location.hs 37;" C OnceSound src/Dodge/Data/SoundOrigin.hs 14;" C OneHand src/Dodge/Data/AimStance.hs 14;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C -Opacity src/Dodge/Data/Wall.hs 33;" t -Opaque src/Dodge/Data/Wall.hs 37;" C +Opacity src/Dodge/Data/Wall.hs 32;" t +Opaque src/Dodge/Data/Wall.hs 36;" C OpticScope src/Dodge/Data/Item/Scope.hs 12;" C OptionScreen src/Dodge/Data/Universe.hs 80;" C OptionScreenFlag src/Dodge/Data/Universe.hs 70;" t @@ -1155,8 +1155,8 @@ ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t Search src/Dodge/Data/ActionPlan.hs 145;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 23;" t -SeeAbove src/Dodge/Data/Wall.hs 35;" C -SeeThrough src/Dodge/Data/Wall.hs 34;" C +SeeAbove src/Dodge/Data/Wall.hs 34;" C +SeeThrough src/Dodge/Data/Wall.hs 33;" C Sel src/Dodge/Data/HUD.hs 39;" C SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C @@ -1440,7 +1440,7 @@ Walking src/Dodge/Data/Creature/Stance.hs 23;" C Wall src/Dodge/Data/Wall.hs 18;" t WallArcNode src/Dodge/Data/LWorld.hs 154;" C WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 19;" C -WallDraw src/Dodge/Data/Wall.hs 40;" t +WallDraw src/Dodge/Data/Wall.hs 39;" t WallFlag src/Dodge/Data/Wall/Structure.hs 18;" t WallNotAutoOpen src/Dodge/Data/Wall/Structure.hs 20;" C WallNotDestrucable src/Dodge/Data/Wall/Structure.hs 21;" C @@ -1538,13 +1538,11 @@ _bdMinX src/Dodge/Data/Bounds.hs 11;" f _bdMinY src/Dodge/Data/Bounds.hs 13;" f _beamCombine src/Dodge/Data/Beam.hs 46;" f _blDir src/Dodge/Data/Block.hs 27;" f -_blDraw src/Dodge/Data/Block.hs 30;" f +_blDraw src/Dodge/Data/Block.hs 29;" f _blFootprint src/Dodge/Data/Block.hs 25;" f _blHP src/Dodge/Data/Block.hs 23;" f _blHeight src/Dodge/Data/Block.hs 28;" f _blID src/Dodge/Data/Block.hs 21;" f -_blMaterial src/Dodge/Data/Block.hs 29;" f -_blObstructs src/Dodge/Data/Block.hs 31;" 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 @@ -2054,9 +2052,9 @@ _nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f _offGridFromEdges src/Dodge/Data/Room.hs 82;" f _oldMagnets src/Dodge/Data/LWorld.hs 121;" f _onGridFromEdges src/Dodge/Data/Room.hs 81;" f -_opDraw src/Dodge/Data/Wall.hs 36;" f +_opDraw src/Dodge/Data/Wall.hs 35;" f _opSel src/Dodge/Data/RightButtonOptions.hs 15;" f -_opTexture src/Dodge/Data/Wall.hs 37;" f +_opTexture src/Dodge/Data/Wall.hs 36;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 18;" f _opticPos src/Dodge/Data/Item/Scope.hs 14;" f _opticZoom src/Dodge/Data/Item/Scope.hs 17;" f @@ -2453,17 +2451,17 @@ _windowPosY src/Dodge/Data/Config.hs 54;" f _windowShader src/Data/Preload/Render.hs 19;" f _windowX src/Dodge/Data/Config.hs 51;" f _windowY src/Dodge/Data/Config.hs 52;" f -_wlHeight src/Dodge/Data/Wall.hs 28;" f +_wlHeight src/Dodge/Data/Wall.hs 27;" f _wlID src/Dodge/Data/Wall.hs 20;" f _wlLine src/Dodge/Data/Wall.hs 19;" f -_wlMaterial src/Dodge/Data/Wall.hs 29;" f -_wlOpacity src/Dodge/Data/Wall.hs 22;" f -_wlPathFlag src/Dodge/Data/Wall.hs 23;" f -_wlRotateTo src/Dodge/Data/Wall.hs 26;" f +_wlMaterial src/Dodge/Data/Wall.hs 28;" f +_wlOpacity src/Dodge/Data/Wall.hs 21;" f +_wlPathFlag src/Dodge/Data/Wall.hs 22;" f +_wlRotateTo src/Dodge/Data/Wall.hs 25;" f _wlStCreature src/Dodge/Data/Wall/Structure.hs 15;" f -_wlStructure src/Dodge/Data/Wall.hs 27;" f -_wlTouchThrough src/Dodge/Data/Wall.hs 24;" f -_wlUnshadowed src/Dodge/Data/Wall.hs 25;" f +_wlStructure src/Dodge/Data/Wall.hs 26;" f +_wlTouchThrough src/Dodge/Data/Wall.hs 23;" f +_wlUnshadowed src/Dodge/Data/Wall.hs 24;" 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 @@ -2518,20 +2516,20 @@ 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 434;" f +advanceScrollAmount src/Dodge/Update.hs 419;" 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 aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f airlock src/Dodge/Room/Airlock.hs 24;" f -airlock0 src/Dodge/Room/Airlock.hs 74;" f -airlock90 src/Dodge/Room/Airlock.hs 204;" f -airlockCrystal src/Dodge/Room/Airlock.hs 249;" f -airlockDoor src/Dodge/Room/Airlock.hs 102;" f -airlockDoubleDoor src/Dodge/Room/Airlock.hs 105;" f -airlockSimple src/Dodge/Room/Airlock.hs 120;" f -airlockZ src/Dodge/Room/Airlock.hs 158;" f +airlock0 src/Dodge/Room/Airlock.hs 73;" f +airlock90 src/Dodge/Room/Airlock.hs 202;" f +airlockCrystal src/Dodge/Room/Airlock.hs 247;" f +airlockDoor src/Dodge/Room/Airlock.hs 100;" f +airlockDoubleDoor src/Dodge/Room/Airlock.hs 103;" f +airlockSimple src/Dodge/Room/Airlock.hs 118;" f +airlockZ src/Dodge/Room/Airlock.hs 156;" f allVisibleWalls src/Dodge/Base/Collide.hs 223;" f alongSegBy src/Geometry.hs 40;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f @@ -2633,7 +2631,7 @@ barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f barrelShape src/Dodge/Render/ShapePicture.hs 78;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f -baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f +baseBlockPane src/Dodge/Placement/Instance/Wall.hs 96;" f baseCI src/Dodge/Item/Grammar.hs 158;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 323;" f baseFloorTileSize src/Tile.hs 45;" f @@ -2672,7 +2670,7 @@ blinkDistortions src/Dodge/Creature/Action/Blink.hs 45;" f blinkShockwave src/Dodge/Creature/Action/Blink.hs 77;" f blinker src/Dodge/Item/Held/Utility.hs 30;" f blipAt src/Dodge/RadarSweep.hs 78;" f -blockLine src/Dodge/Placement/Instance/Wall.hs 41;" f +blockLine src/Dodge/Placement/Instance/Wall.hs 50;" f blockPillar src/Dodge/Room/Pillar.hs 22;" f blockedCorridor src/Dodge/Room/RoadBlock.hs 71;" f blockedCorridorCloseBlocks src/Dodge/Room/RoadBlock.hs 78;" f @@ -2770,13 +2768,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 783;" f +checkEndGame src/Dodge/Update.hs 768;" 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 333;" f +checkTermDist src/Dodge/Update.hs 318;" 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 @@ -2799,7 +2797,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 856;" f +clClSpringVel src/Dodge/Update.hs 841;" f clColor src/Shader/Poke/Cloud.hs 35;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 168;" f @@ -2826,7 +2824,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 808;" f +cloudEffect src/Dodge/Update.hs 793;" 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 @@ -2905,7 +2903,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 885;" f +crCrSpring src/Dodge/Update.hs 870;" 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 @@ -2936,7 +2934,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 882;" f +crSpring src/Dodge/Update.hs 867;" 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 @@ -2981,8 +2979,8 @@ crsNearCirc src/Dodge/Zoning/Creature.hs 36;" f crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f crsNearRect src/Dodge/Zoning/Creature.hs 39;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f -crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f -cubeShape src/Dodge/Block/Debris.hs 117;" f +crystalLine src/Dodge/Placement/Instance/Wall.hs 64;" f +cubeShape src/Dodge/Block/Debris.hs 113;" f cullPoint src/Dodge/Render/ShapePicture.hs 94;" f cullPretty src/AesonHelp.hs 14;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f @@ -3020,7 +3018,7 @@ damageMetal src/Dodge/Material/Damage.hs 63;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 14;" f damageStone src/Dodge/Material/Damage.hs 32;" f damageThingHit src/Dodge/Bullet.hs 180;" f -damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 35;" f +damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 34;" f damageWall src/Dodge/Wall/Damage.hs 14;" f damsToExpBarrel src/Dodge/Barreloid.hs 50;" f dark src/Color.hs 108;" f @@ -3037,7 +3035,7 @@ deadScalp src/Dodge/Creature/Picture.hs 81;" f deadUpperBody src/Dodge/Creature/Picture.hs 113;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f -debrisSize src/Dodge/Block/Debris.hs 90;" f +debrisSize src/Dodge/Block/Debris.hs 86;" f debugEvent src/Dodge/Debug.hs 36;" f debugEvents src/Dodge/Debug.hs 21;" f debugItem src/Dodge/Debug.hs 39;" f @@ -3065,7 +3063,7 @@ defSPic src/Dodge/Item/Draw/SPic.hs 309;" f defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f defaultAimingCrit src/Dodge/Default/Creature.hs 107;" f defaultAudition src/Dodge/Default/Creature.hs 92;" f -defaultAutoWall src/Dodge/Default/Door.hs 14;" f +defaultAutoWall src/Dodge/Default/Wall.hs 43;" f defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 18;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f @@ -3079,10 +3077,10 @@ defaultConfig src/Dodge/Data/Config.hs 128;" f defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f -defaultCrystalWall src/Dodge/Default/Wall.hs 43;" f -defaultDirtBlock src/Dodge/Default/Block.hs 19;" f -defaultDirtWall src/Dodge/Default/Wall.hs 63;" f -defaultDoor src/Dodge/Default/Door.hs 26;" f +defaultCrystalWall src/Dodge/Default/Wall.hs 51;" f +defaultDirtBlock src/Dodge/Default/Block.hs 17;" f +defaultDirtWall src/Dodge/Default/Wall.hs 64;" f +defaultDoor src/Dodge/Default/Door.hs 7;" f defaultDoorWall src/Dodge/Default/Wall.hs 37;" f defaultDrawButton src/Dodge/Button/Draw.hs 29;" f defaultEquipment src/Dodge/Default.hs 24;" f @@ -3097,17 +3095,15 @@ defaultInvSize src/Dodge/Default/Creature.hs 72;" f defaultLWorld src/Dodge/Default/World.hs 100;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f defaultMachine src/Dodge/Default.hs 30;" f -defaultMachineWall src/Dodge/Default/Wall.hs 50;" f +defaultMachineWall src/Dodge/Default/Wall.hs 54;" 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 -defaultSensorWall src/Dodge/Default/Wall.hs 60;" f -defaultSwitchWall src/Dodge/Default/Door.hs 20;" f defaultTerminal src/Dodge/Default/Terminal.hs 10;" f defaultVision src/Dodge/Default/Creature.hs 85;" f defaultWall src/Dodge/Default/Wall.hs 17;" f -defaultWindow src/Dodge/Default/Wall.hs 74;" f +defaultWindow src/Dodge/Default/Wall.hs 75;" f defaultWorld src/Dodge/Default/World.hs 31;" f degToRad src/Geometry/Vector.hs 118;" f deleteIMInZone src/Dodge/Base.hs 70;" f @@ -3117,7 +3113,7 @@ deleteWallID src/Dodge/Wall/Delete.hs 13;" f 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 49;" f +destroyBlock src/Dodge/Block.hs 17;" f destroyDoor src/Dodge/DrWdWd.hs 55;" f destroyInvItem src/Dodge/Inventory.hs 40;" f destroyItem src/Dodge/Inventory.hs 62;" f @@ -3149,12 +3145,12 @@ 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 498;" f +displayTerminalLineString src/Dodge/Update.hs 483;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f divideCircle src/Geometry.hs 321;" f -divideDoorPane src/Dodge/Placement/Instance/Door.hs 61;" f +divideDoorPane src/Dodge/Placement/Instance/Door.hs 63;" f divideLine src/Geometry.hs 248;" f divideLineExact src/Geometry.hs 276;" f divideLineOddNumPoints src/Geometry.hs 261;" f @@ -3196,7 +3192,7 @@ 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 196;" f +doItemTimeScroll src/Dodge/Update.hs 194;" f doLoop src/Loop.hs 60;" f doMagnetBuBu src/Dodge/Bullet.hs 35;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f @@ -3217,17 +3213,17 @@ doTestDrawing src/Dodge/Render.hs 41;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 128;" f -doTimeScroll src/Dodge/Update.hs 201;" f +doTimeScroll src/Dodge/Update.hs 199;" f doTmWdWd src/Dodge/WorldEffect.hs 89;" f doWallRotate src/Dodge/Update/Camera.hs 220;" 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 443;" f +doWorldEvents src/Dodge/Update.hs 428;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 13;" f -doorBetween src/Dodge/Placement/Instance/Door.hs 41;" f +doorBetween src/Dodge/Placement/Instance/Door.hs 43;" f doorLerp src/Dodge/DrWdWd.hs 26;" f dotV src/Geometry/Vector.hs 76;" f dotV3 src/Geometry/Vector3D.hs 119;" f @@ -3395,7 +3391,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 867;" f +dustSpringVel src/Dodge/Update.hs 852;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f @@ -3537,7 +3533,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 244;" f +functionalUpdate src/Dodge/Update.hs 242;" 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 @@ -3575,9 +3571,9 @@ getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 349;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 336;" f -getDebugMouseOver src/Dodge/Update.hs 391;" f +getDebugMouseOver src/Dodge/Update.hs 376;" f getDistortions src/Dodge/Render.hs 435;" f -getEdgesCrossing src/Dodge/Path.hs 52;" f +getEdgesCrossing src/Dodge/Path.hs 49;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f @@ -3586,8 +3582,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 403;" f -getNodePos src/Dodge/Path.hs 41;" f +getMenuMouseContext src/Dodge/Update.hs 388;" f +getNodePos src/Dodge/Path.hs 38;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f @@ -3675,7 +3671,7 @@ headPQ src/Dodge/Creature/HandPos.hs 115;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 81;" f healthTest src/Dodge/Room/LasTurret.hs 122;" f -heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f +heightWallPS src/Dodge/Placement/Instance/Wall.hs 22;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimZoom src/Dodge/Update/Camera.hs 149;" f heldEffect src/Dodge/HeldUse.hs 60;" f @@ -3740,9 +3736,9 @@ insertNewKey src/IntMapHelp.hs 65;" f insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f insertOver src/ListHelp.hs 47;" f insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f -insertWall src/Dodge/Placement/PlaceSpot/Block.hs 121;" f +insertWall src/Dodge/Placement/PlaceSpot/Block.hs 116;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f -insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 116;" f +insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 113;" f insertWithNewKeys src/IntMapHelp.hs 71;" f intAnno src/Dodge/Floor.hs 111;" f interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f @@ -3801,7 +3797,7 @@ invertIntMap src/Multiset.hs 67;" f invertIntMapUnique src/IntMapHelp.hs 103;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f -invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f +invisibleWall src/Dodge/Placement/Instance/Wall.hs 25;" f isAmmoIntLink src/Dodge/HeldUse.hs 717;" f isAnimate src/Dodge/Creature/Test.hs 134;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f @@ -3820,9 +3816,9 @@ 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 414;" f +isOverTerminalScreen src/Dodge/Update.hs 399;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f -isPutID src/Dodge/Placement/Instance/Wall.hs 127;" f +isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 32;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f isUnusedLnkType src/Dodge/PlacementSpot.hs 190;" f @@ -3952,7 +3948,7 @@ liShape src/Dodge/Placement/Instance/LightSource.hs 111;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 39;" f -lightSensor src/Dodge/Placement/Instance/Sensor.hs 42;" f +lightSensor src/Dodge/Placement/Instance/Sensor.hs 41;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f lightx4 src/Color.hs 145;" f linGrad src/Geometry/Intersect.hs 241;" f @@ -4018,7 +4014,7 @@ lookupTrie src/SimpleTrie.hs 30;" f loopPairs src/ListHelp.hs 30;" f lootRoom src/Dodge/Room/Treasure.hs 58;" f lorem src/Lorem.hs 3;" f -lowBlock src/Dodge/Placement/Instance/Block.hs 25;" f +lowBlock src/Dodge/Placement/Instance/Block.hs 24;" f lsColPos src/Dodge/LightSource.hs 23;" f lsColPosID src/Dodge/LightSource.hs 20;" f lsColPosRad src/Dodge/LightSource.hs 29;" f @@ -4044,7 +4040,7 @@ main test/Spec.hs 12;" f makeArc src/Picture/Base.hs 157;" f makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 70;" f -makeBlockDebris src/Dodge/Block/Debris.hs 40;" f +makeBlockDebris src/Dodge/Block/Debris.hs 37;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBullet src/Dodge/HeldUse.hs 979;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f @@ -4053,8 +4049,8 @@ makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeColorTermLine src/Dodge/Terminal.hs 111;" f makeColorTermPara src/Dodge/Terminal.hs 108;" f makeCorpse src/Dodge/Corpse/Make.hs 13;" f -makeDebris src/Dodge/Block/Debris.hs 55;" f -makeDebrisDirected src/Dodge/Block/Debris.hs 58;" f +makeDebris src/Dodge/Block/Debris.hs 51;" f +makeDebrisDirected src/Dodge/Block/Debris.hs 54;" f makeDoorDebris src/Dodge/Block/Debris.hs 26;" f makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f @@ -4070,9 +4066,9 @@ 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 82;" f -makePathBetweenPs src/Dodge/Path.hs 103;" f -makePathUsing src/Dodge/Path.hs 69;" f +makePathBetween src/Dodge/Path.hs 79;" f +makePathBetweenPs src/Dodge/Path.hs 100;" f +makePathUsing src/Dodge/Path.hs 66;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f makeRect src/Grid.hs 82;" f makeSelectionListPictures src/Dodge/Render/List.hs 66;" f @@ -4103,11 +4099,9 @@ 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 -maybeClearPath src/Dodge/Block.hs 71;" f -maybeClearPaths src/Dodge/Block.hs 68;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f -maybeOpenConsole src/Dodge/Update.hs 129;" f +maybeOpenConsole src/Dodge/Update.hs 127;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f @@ -4161,7 +4155,7 @@ midChasm src/Dodge/Room/Tutorial.hs 163;" f midPad src/Padding.hs 27;" f midPadL src/Padding.hs 33;" f midPoint src/Geometry.hs 83;" f -midWall src/Dodge/Placement/Instance/Wall.hs 27;" f +midWall src/Dodge/Placement/Instance/Wall.hs 36;" f minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 48;" f minOn src/FoldableHelp.hs 35;" f @@ -4221,7 +4215,7 @@ muzzleRandPos src/Dodge/HeldUse.hs 778;" f mvButton src/Dodge/Placement/PlaceSpot.hs 193;" f mvCr src/Dodge/Placement/PlaceSpot.hs 196;" f mvFS src/Dodge/Placement/PlaceSpot.hs 203;" f -mvGust src/Dodge/Update.hs 799;" f +mvGust src/Dodge/Update.hs 784;" f mvLS src/Dodge/Placement/PlaceSpot.hs 243;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4271,13 +4265,13 @@ 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 269;" f -obstructPathsCrossing src/Dodge/Path.hs 132;" f +obstructPathsCrossing src/Dodge/Path.hs 129;" 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 134;" f +openConsole src/Dodge/Update.hs 132;" 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 @@ -4319,7 +4313,7 @@ p src/ShortShow.hs 48;" f pContID src/Dodge/LevelGen/PlacementHelper.hs 15;" f pairInPolys src/Dodge/Room/Path.hs 53;" f pairPolyPointsIntersect src/Geometry/ConvexPoly.hs 68;" f -pairsToIncGraph src/Dodge/Path.hs 110;" f +pairsToIncGraph src/Dodge/Path.hs 107;" f pairsToIncidence src/Dodge/Graph.hs 20;" f pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 58;" f @@ -4327,14 +4321,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 85;" f +pathEdgeObstructed src/Dodge/Path.hs 82;" 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 185;" f -pbFlicker src/Dodge/Update.hs 484;" f +pauseTime src/Dodge/Update.hs 183;" f +pbFlicker src/Dodge/Update.hs 469;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 93;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4370,7 +4364,7 @@ plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 13;" f plNewUsing src/Dodge/Base/NewID.hs 27;" f plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f -plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 77;" f +plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 76;" f placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 234;" f placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f @@ -4403,7 +4397,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 107;" f +pointTowardsImpulse src/Dodge/Path.hs 104;" 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 @@ -4530,24 +4524,22 @@ pushOutFromWall src/Dodge/WallCreatureCollisions.hs 101;" f pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f pushR src/DoubleStack.hs 24;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f -putAutoDoor src/Dodge/Placement/Instance/Door.hs 80;" f -putBlockC src/Dodge/Placement/Instance/Wall.hs 157;" f -putBlockN src/Dodge/Placement/Instance/Wall.hs 164;" f -putBlockRect src/Dodge/Placement/Instance/Wall.hs 143;" f -putBlockRect' src/Dodge/Placement/Instance/Wall.hs 130;" f -putBlockV src/Dodge/Placement/Instance/Wall.hs 151;" f -putDoubleDoor src/Dodge/Placement/Instance/Door.hs 18;" f -putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 23;" f -putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 66;" f +putAutoDoor src/Dodge/Placement/Instance/Door.hs 82;" f +putBlockN src/Dodge/Placement/Instance/Wall.hs 166;" f +putBlockRect src/Dodge/Placement/Instance/Wall.hs 145;" f +putBlockV src/Dodge/Placement/Instance/Wall.hs 153;" f +putDoubleDoor src/Dodge/Placement/Instance/Door.hs 20;" f +putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 25;" f +putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f putLamp src/Dodge/Placement/Instance/LightSource.hs 222;" 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 putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 106;" f -putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f +putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f putShape src/Dodge/Room/Foreground.hs 134;" f putStrLnAppend src/Dodge/LevelGen.hs 82;" f -putTerminal src/Dodge/Placement/Instance/Terminal.hs 55;" f +putTerminal src/Dodge/Placement/Instance/Terminal.hs 54;" f putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 22;" f putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 17;" f putTurret src/Dodge/Placement/Instance/Turret.hs 11;" f @@ -4587,7 +4579,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 658;" f +randWallReflect src/Dodge/Update.hs 643;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 60;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f @@ -4649,7 +4641,7 @@ renderLightingNoShadows src/Render.hs 48;" f renderListAt src/Dodge/Render/List.hs 192;" f renderShadows src/Render.hs 117;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 167;" f -replacePutID src/Dodge/Placement/Instance/Wall.hs 100;" f +replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f @@ -4783,8 +4775,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 211;" f -scrollTimeForward src/Dodge/Update.hs 228;" f +scrollTimeBack src/Dodge/Update.hs 209;" f +scrollTimeForward src/Dodge/Update.hs 226;" 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 @@ -4823,7 +4815,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 104;" f +setClickWorldPos src/Dodge/Update.hs 102;" f setClip src/Dodge/Debug.hs 159;" f setClusterID src/Dodge/Combine/Graph.hs 114;" f setDepth src/Picture/Base.hs 128;" f @@ -4838,7 +4830,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 517;" f +setOldPos src/Dodge/Update.hs 502;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -4948,12 +4940,11 @@ 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 876;" f +simpleCrSprings src/Dodge/Update.hs 861;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f -singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f singleDT src/Dodge/DoubleTree.hs 10;" f singleLDT src/Dodge/DoubleTree.hs 13;" f singleton src/DoubleStack.hs 11;" f @@ -4977,11 +4968,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 97;" f +smallSnailInt2 src/Dodge/Path.hs 94;" f smg src/Dodge/Item/Held/Stick.hs 58;" f smokeReducer src/Dodge/Item/Scope.hs 162;" f -snailAround src/Dodge/Path.hs 94;" f -snapToGrid src/Dodge/Path.hs 155;" f +snailAround src/Dodge/Path.hs 91;" f +snapToGrid src/Dodge/Path.hs 149;" f sndV2 src/Geometry/Data.hs 73;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -5085,7 +5076,7 @@ stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f subInvX src/Dodge/ListDisplayParams.hs 46;" f subMap src/TreeHelp.hs 119;" f -subZipWith src/Dodge/Placement/Instance/Wall.hs 113;" f +subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f succB src/Dodge/Debug.hs 79;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 98;" f @@ -5094,7 +5085,7 @@ swapInvItems src/Dodge/Inventory/Swap.hs 22;" f swapItemWith src/Dodge/Inventory.hs 164;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f -switchDoor src/Dodge/Placement/Instance/Door.hs 106;" f +switchDoor src/Dodge/Placement/Instance/Door.hs 108;" f switchWallObs src/Dodge/Data/PathGraph.hs 54;" f t src/ShortShow.hs 48;" f tEast src/Dodge/Room/Corridor.hs 90;" f @@ -5130,7 +5121,7 @@ teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f termSoundLine src/Dodge/Terminal.hs 43;" f termTextColor src/Dodge/Terminal.hs 46;" f -terminalColor src/Dodge/Placement/Instance/Terminal.hs 74;" f +terminalColor src/Dodge/Placement/Instance/Terminal.hs 73;" f terminalReturnEffect src/Dodge/Terminal.hs 168;" f terminalSPic src/Dodge/Machine/Draw.hs 40;" f terminalScreenGlow src/Dodge/Machine/Update.hs 40;" f @@ -5174,7 +5165,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 172;" f +timeFlowUpdate src/Dodge/Update.hs 170;" 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 @@ -5189,7 +5180,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 501;" f +tmUpdate src/Dodge/Update.hs 486;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5318,14 +5309,14 @@ unpause src/Dodge/Menu.hs 212;" f unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f unsafeSwapKeys src/IntMapHelp.hs 75;" f -unshadowBlock src/Dodge/Block.hs 36;" f +unshadowBlock src/Dodge/Block.hs 14;" f untilJust src/MonadHelp.hs 7;" f untilJustCount src/MonadHelp.hs 14;" f 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 307;" f +updateAimPos src/Dodge/Update.hs 305;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5335,47 +5326,48 @@ 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 580;" f +updateBullets src/Dodge/Update.hs 565;" f updateCamera src/Dodge/Update/Camera.hs 30;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 813;" f -updateClouds src/Dodge/Update.hs 684;" f +updateCloud src/Dodge/Update.hs 798;" f +updateClouds src/Dodge/Update.hs 669;" 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 552;" f -updateCreatureSoundPositions src/Dodge/Update.hs 531;" f -updateDebris src/Dodge/Update.hs 587;" f +updateCreatureGroups src/Dodge/Update.hs 537;" f +updateCreatureSoundPositions src/Dodge/Update.hs 516;" f +updateDebris src/Dodge/Update.hs 572;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 98;" f -updateDelayedEvents src/Dodge/Update.hs 905;" f +updateDebugMessageOffset src/Dodge/Update.hs 96;" f +updateDelayedEvents src/Dodge/Update.hs 890;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 573;" f +updateDistortions src/Dodge/Update.hs 558;" f updateDoor src/Dodge/DrWdWd.hs 20;" f -updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 69;" f -updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 66;" f -updateDoors src/Dodge/Update.hs 324;" f -updateDust src/Dodge/Update.hs 837;" f -updateDusts src/Dodge/Update.hs 687;" f -updateEdge src/Dodge/Path.hs 58;" f -updateEdgeWallObs src/Dodge/Update/WallDamage.hs 28;" f -updateEdgesWall src/Dodge/Update/WallDamage.hs 25;" f +updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 68;" f +updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 65;" f +updateDoors src/Dodge/Update.hs 310;" f +updateDust src/Dodge/Update.hs 822;" f +updateDusts src/Dodge/Update.hs 672;" f +updateEdge src/Dodge/Path.hs 55;" f +updateEdgeWallObs src/Dodge/Update/WallDamage.hs 34;" f +updateEdgesWall src/Dodge/Update/WallDamage.hs 27;" f +updateEdgesWall' src/Dodge/Update/WallDamage.hs 31;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 675;" f +updateEnergyBalls src/Dodge/Update.hs 660;" 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 672;" f +updateFlames src/Dodge/Update.hs 657;" 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 796;" f -updateIMl src/Dodge/Update.hs 546;" f -updateIMl' src/Dodge/Update.hs 549;" f +updateGusts src/Dodge/Update.hs 781;" f +updateIMl src/Dodge/Update.hs 531;" f +updateIMl' src/Dodge/Update.hs 534;" 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 @@ -5388,33 +5380,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 450;" f +updateLasers src/Dodge/Update.hs 435;" 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 328;" f +updateMagnets src/Dodge/Update.hs 313;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 341;" f -updateMouseContextGame src/Dodge/Update.hs 346;" f +updateMouseContext src/Dodge/Update.hs 326;" f +updateMouseContextGame src/Dodge/Update.hs 331;" 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 564;" f -updateObjMapMaybe src/Dodge/Update.hs 557;" f -updatePastWorlds src/Dodge/Update.hs 439;" f +updateObjCatMaybes src/Dodge/Update.hs 549;" f +updateObjMapMaybe src/Dodge/Update.hs 542;" f +updatePastWorlds src/Dodge/Update.hs 424;" 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 464;" f -updatePulseLaser src/Dodge/Update.hs 627;" f -updatePulseLasers src/Dodge/Update.hs 459;" f +updatePulseBall src/Dodge/Update.hs 449;" f +updatePulseLaser src/Dodge/Update.hs 612;" f +updatePulseLasers src/Dodge/Update.hs 444;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 576;" f +updateRadarBlips src/Dodge/Update.hs 561;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 678;" f +updateRadarSweeps src/Dodge/Update.hs 663;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 112;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5424,29 +5416,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 669;" f +updateShockwaves src/Dodge/Update.hs 654;" 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 681;" f -updateTeslaArc src/Dodge/Update.hs 597;" f -updateTeslaArcs src/Dodge/Update.hs 594;" f +updateSparks src/Dodge/Update.hs 666;" f +updateTeslaArc src/Dodge/Update.hs 582;" f +updateTeslaArcs src/Dodge/Update.hs 579;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 666;" f +updateTractorBeams src/Dodge/Update.hs 651;" f updateTurret src/Dodge/Machine/Update.hs 49;" f -updateUniverse src/Dodge/Update.hs 77;" f -updateUniverseFirst src/Dodge/Update.hs 88;" f -updateUniverseLast src/Dodge/Update.hs 139;" f -updateUniverseMid src/Dodge/Update.hs 159;" 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 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 14;" f +updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 429;" f -updateWorldEventFlag src/Dodge/Update.hs 123;" f -updateWorldEventFlags src/Dodge/Update.hs 111;" f +updateWheelEvents src/Dodge/Update.hs 414;" f +updateWorldEventFlag src/Dodge/Update.hs 121;" f +updateWorldEventFlags src/Dodge/Update.hs 109;" f upperBody src/Dodge/Creature/Picture.hs 120;" f upperBox src/Shape.hs 156;" f upperBoxHalf src/Shape.hs 222;" f @@ -5515,11 +5507,10 @@ 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 88;" f +walkableNodeNear src/Dodge/Path.hs 85;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f -wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallToSurface src/Dodge/Base/Collide.hs 180;" f wallsFromRooms src/Dodge/Layout.hs 137;" f wallsToDraw src/Dodge/Render/Walls.hs 16;" f @@ -5559,8 +5550,7 @@ whiteNoiseFadeInS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 724;" f whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f wiToFloat src/Dodge/Room/Modify/Girder.hs 168;" f winConfig appDodge/Main.hs 56;" f -windowLine src/Dodge/Placement/Instance/Wall.hs 48;" f -windowLineType src/Dodge/Placement/Instance/Wall.hs 83;" f +windowLine src/Dodge/Placement/Instance/Wall.hs 57;" f windowXFloat src/Dodge/Data/Config.hs 61;" f windowYFloat src/Dodge/Data/Config.hs 63;" f withAlpha src/Color.hs 10;" f @@ -5620,11 +5610,11 @@ zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zipCountDown src/Dodge/Room/Procedural.hs 121;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 491;" f +zoneClouds src/Dodge/Update.hs 476;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f -zoneCreatures src/Dodge/Update.hs 527;" f +zoneCreatures src/Dodge/Update.hs 512;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 495;" f +zoneDusts src/Dodge/Update.hs 480;" 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