diff --git a/src/Dodge/Block/Draw.hs b/src/Dodge/Block/Draw.hs index 39fd4e7e3..e4c23846d 100644 --- a/src/Dodge/Block/Draw.hs +++ b/src/Dodge/Block/Draw.hs @@ -1,12 +1,13 @@ -module Dodge.Block.Draw (drawBlock) where +--{-# LANGUAGE LambdaCase #-} +module Dodge.Block.Draw () where +-- +--import Dodge.Data.Block +--import Shape +--import ShapePicture -import Dodge.Data.Block -import Shape -import ShapePicture - -drawBlock :: BlockDraw -> Block -> SPic -drawBlock bd = case bd of - BlockDrawMempty -> const mempty - BlockDraws bds -> \bl -> foldMap (`drawBlock` bl) bds - BlockDrawColHeightPoss col h ps -> const $ noPic $ colorSH col (upperBox Medium Typical h ps) - BlockDrawBlSh x -> const $ noPic x +--drawBlock :: BlockDraw -> SPic +--drawBlock = \case +-- BlockDrawMempty -> mempty +---- BlockDraws bds -> foldMap drawBlock bds +---- BlockDrawColHeightPoss col h ps -> noPic $ colorSH col (upperBox Medium Typical h ps) +-- BlockDrawBlSh x -> noPic x diff --git a/src/Dodge/Data/Block.hs b/src/Dodge/Data/Block.hs index dab8894ba..9c70893b8 100644 --- a/src/Dodge/Data/Block.hs +++ b/src/Dodge/Data/Block.hs @@ -7,7 +7,7 @@ module Dodge.Data.Block ( module Dodge.Data.PathGraph, ) where -import Color +--import Color import Control.Lens import Data.Aeson import Data.Aeson.TH @@ -26,22 +26,23 @@ data Block = Block , _blPos :: Point2 , _blDir :: Float , _blHeight :: Float - , _blDraw :: BlockDraw +-- , _blDraw :: BlockDraw + , _blDraw :: Shape } deriving (Eq, Ord, Show, Read) --Generic, Flat) -data BlockDraw - = BlockDrawMempty - | BlockDrawBlSh Shape - | BlockDraws [BlockDraw] - | BlockDrawColHeightPoss Color Float [Point2] - deriving (Eq, Ord, Show, Read) --Generic, Flat) - -data BlSh - = BlShConst Shape - deriving (Eq, Ord, Show, Read) --Generic, Flat) +--data BlockDraw +-- = BlockDrawMempty +-- | BlockDrawBlSh Shape +---- | BlockDraws [BlockDraw] +---- | BlockDrawColHeightPoss Color Float [Point2] +-- deriving (Eq, Ord, Show, Read) --Generic, Flat) +-- +--data BlSh +-- = BlShConst Shape +-- deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''Block -deriveJSON defaultOptions ''BlSh -deriveJSON defaultOptions ''BlockDraw +--deriveJSON defaultOptions ''BlSh +--deriveJSON defaultOptions ''BlockDraw deriveJSON defaultOptions ''Block diff --git a/src/Dodge/Default/Block.hs b/src/Dodge/Default/Block.hs index 8a9015f1d..535a08e38 100644 --- a/src/Dodge/Default/Block.hs +++ b/src/Dodge/Default/Block.hs @@ -11,7 +11,7 @@ defaultBlock = Block , _blFootprint = [] , _blPos = 0 , _blDir = 0 - , _blDraw = BlockDrawMempty + , _blDraw = mempty , _blHeight = 100 } defaultDirtBlock :: Block diff --git a/src/Dodge/Draw.hs b/src/Dodge/Draw.hs index c88498ad4..1622f78ba 100644 --- a/src/Dodge/Draw.hs +++ b/src/Dodge/Draw.hs @@ -3,7 +3,7 @@ Rexports all Dodge.x.Draw files. -} module Dodge.Draw ( module Dodge.Beam.Draw, - module Dodge.Block.Draw, +-- module Dodge.Block.Draw, module Dodge.Item.Draw, module Dodge.Button.Draw, module Dodge.EnergyBall.Draw, @@ -23,7 +23,7 @@ module Dodge.Draw ( import Dodge.Beam.Draw import Dodge.Item.Draw -import Dodge.Block.Draw +--import Dodge.Block.Draw import Dodge.Button.Draw import Dodge.EnergyBall.Draw import Dodge.Flame.Draw diff --git a/src/Dodge/Placement/Instance/Block.hs b/src/Dodge/Placement/Instance/Block.hs index 3b72964b9..00978e01e 100644 --- a/src/Dodge/Placement/Instance/Block.hs +++ b/src/Dodge/Placement/Instance/Block.hs @@ -1,6 +1,6 @@ module Dodge.Placement.Instance.Block where -import Shape.Data +import Shape import Color import Dodge.Data.GenWorld import Dodge.Default.Block @@ -13,12 +13,11 @@ decoratedBlock decf mat col h ps = PutBlock bl wl $ reverse ps where bl = defaultBlock - & blDraw .~ BlockDraws [BlockDrawColHeightPoss col h ps, BlockDrawBlSh decf] + & blDraw .~ (decf <> colorSH col (upperBox Medium Typical h ps)) +-- BlockDraws [BlockDrawColHeightPoss col h ps, BlockDrawBlSh decf] & blHeight .~ h wl = defaultWall --- & wlPathFlag . at WallNotDestrucable .~ Nothing --- & wlPathFlag . at WallBlockVisibility .~ Nothing & wlRotateTo .~ False & wlOpacity .~ SeeAbove & wlMaterial .~ mat diff --git a/src/Dodge/Placement/PlaceSpot/Block.hs b/src/Dodge/Placement/PlaceSpot/Block.hs index 5c44848da..9b414063e 100644 --- a/src/Dodge/Placement/PlaceSpot/Block.hs +++ b/src/Dodge/Placement/PlaceSpot/Block.hs @@ -79,7 +79,7 @@ plLineBlock basePane blwidth a b gw = , _blFootprint = cornersAt p -- TODO check winding (clockwise, anticlockwise) , _blHeight = 100 , _blPos = p - , _blDraw = BlockDrawMempty + , _blDraw = mempty } ) insertBlocks = flip (foldr insertBlock) $ zip is blockCenPs diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index adbe1a5b1..40aba441e 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -26,7 +26,9 @@ worldSPic cfig u = <> foldMap' debrisSPic (filtOn' (xyV3 . _dbPos) _debris) <> foldup drawProjectile (filtOn (^. pjPos . _xy) _projectiles) <> foldup drawPulseBall (filtOn _pbPos _pulseBalls) - <> foldup (shiftDraw _blPos _blDir (drawBlock . _blDraw)) (filtOn _blPos _blocks) + -- <> foldup (shiftDraw _blPos _blDir (const $ drawBlock . _blDraw)) + <> foldup (shiftDraw _blPos _blDir (const $ noPic . _blDraw)) + (filtOn _blPos _blocks) <> foldup (shiftDraw _fsPos _fsDir (const _fsSPic)) (filtOn _fsPos _foreShapes) <> foldup (drawCreature (lw ^. items)) (filtOn (^. crPos . _xy) _creatures) <> foldup diff --git a/src/Dodge/Room/Tanks.hs b/src/Dodge/Room/Tanks.hs index 84af0a9fa..254109c69 100644 --- a/src/Dodge/Room/Tanks.hs +++ b/src/Dodge/Room/Tanks.hs @@ -1,5 +1,7 @@ module Dodge.Room.Tanks where + import Color +import Control.Monad import Dodge.Base.CardinalPoint import Dodge.Data.GenWorld import Dodge.LevelGen.PlacementHelper @@ -14,7 +16,6 @@ import Geometry import LensHelp import RandomHelp import Shape -import Control.Monad randomTank :: RandomGen g => State g Placement randomTank = @@ -37,18 +38,7 @@ randEdgeTank = do return $ basetank & plType . putBlock . blDraw - %~ ( \bd -> - BlockDraws - [ bd - , BlockDrawBlSh - ( colorSH - orange - ( verticalPipe 80 - <> horPipe 80 0 (70 *.* cardVec edge) - ) - ) - ] - ) + <>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *.* cardVec edge)) -- %~ fmap (<> noPic ( colorSH orange (verticalPipe 80 -- <> horPipe 80 0 (70 *.* cardVec edge)))) -- 70 is a guess, the true value depends on the distance to the wall @@ -67,18 +57,7 @@ randEdgeTanks i = do replicate i $ basetank & plType . putBlock . blDraw - %~ ( \bd -> - BlockDraws - [ bd - , BlockDrawBlSh - ( colorSH - orange - ( verticalPipe 80 - <> horPipe 80 0 (70 *.* cardVec edge) - ) - ) - ] - ) + <>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *.* cardVec edge)) -- 70 is a guess, the true value depends on the distance to the wall & plSpot .~ rprBool diff --git a/tags b/tags index 120bb863c..4900ba5bd 100644 --- a/tags +++ b/tags @@ -127,8 +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 BlSh src/Dodge/Data/Block.hs 40;" t -BlShConst src/Dodge/Data/Block.hs 42;" C -BlShMempty src/Dodge/Data/Block.hs 41;" C +BlShConst 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 @@ -354,8 +353,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 39;" C -DrawnWall src/Dodge/Data/Wall.hs 35;" C +DrawForceField src/Dodge/Data/Wall.hs 37;" C +DrawnWall src/Dodge/Data/Wall.hs 33;" 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 +915,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 32;" t -Opaque src/Dodge/Data/Wall.hs 36;" C +Opacity src/Dodge/Data/Wall.hs 30;" t +Opaque src/Dodge/Data/Wall.hs 34;" 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 +1154,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 34;" C -SeeThrough src/Dodge/Data/Wall.hs 33;" C +SeeAbove src/Dodge/Data/Wall.hs 32;" C +SeeThrough src/Dodge/Data/Wall.hs 31;" 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 @@ -1437,10 +1436,10 @@ WRISTARMOUR src/Dodge/Data/Item/Combine.hs 123;" C WRIST_ECG src/Dodge/Data/Item/Combine.hs 135;" C WaitThen src/Dodge/Data/ActionPlan.hs 74;" C Walking src/Dodge/Data/Creature/Stance.hs 23;" C -Wall src/Dodge/Data/Wall.hs 18;" t +Wall src/Dodge/Data/Wall.hs 17;" t WallArcNode src/Dodge/Data/LWorld.hs 154;" C WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 19;" C -WallDraw src/Dodge/Data/Wall.hs 39;" t +WallDraw src/Dodge/Data/Wall.hs 37;" 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 @@ -2052,9 +2051,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 35;" f +_opDraw src/Dodge/Data/Wall.hs 33;" f _opSel src/Dodge/Data/RightButtonOptions.hs 15;" f -_opTexture src/Dodge/Data/Wall.hs 36;" f +_opTexture src/Dodge/Data/Wall.hs 34;" 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 @@ -2451,16 +2450,16 @@ _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 27;" f -_wlID src/Dodge/Data/Wall.hs 20;" f -_wlLine src/Dodge/Data/Wall.hs 19;" f -_wlMaterial src/Dodge/Data/Wall.hs 28;" f -_wlOpacity src/Dodge/Data/Wall.hs 21;" f -_wlRotateTo src/Dodge/Data/Wall.hs 25;" f +_wlHeight src/Dodge/Data/Wall.hs 25;" f +_wlID src/Dodge/Data/Wall.hs 19;" f +_wlLine src/Dodge/Data/Wall.hs 18;" f +_wlMaterial src/Dodge/Data/Wall.hs 26;" f +_wlOpacity src/Dodge/Data/Wall.hs 20;" f +_wlRotateTo src/Dodge/Data/Wall.hs 23;" f _wlStCreature src/Dodge/Data/Wall/Structure.hs 15;" 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 +_wlStructure src/Dodge/Data/Wall.hs 24;" f +_wlTouchThrough src/Dodge/Data/Wall.hs 21;" f +_wlUnshadowed src/Dodge/Data/Wall.hs 22;" f _wlZoning src/Dodge/Data/World.hs 49;" f _worldEventFlags src/Dodge/Data/World.hs 45;" f _worldEvents src/Dodge/Data/LWorld.hs 127;" f @@ -2502,7 +2501,7 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f -addPane src/Dodge/Placement/PlaceSpot.hs 185;" f +addPane src/Dodge/Placement/PlaceSpot.hs 182;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f addPointPolygon src/Geometry/Polygon.hs 134;" f addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f @@ -2524,8 +2523,8 @@ 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 73;" f -airlock90 src/Dodge/Room/Airlock.hs 202;" f -airlockCrystal src/Dodge/Room/Airlock.hs 247;" f +airlock90 src/Dodge/Room/Airlock.hs 201;" f +airlockCrystal src/Dodge/Room/Airlock.hs 246;" 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 @@ -2631,7 +2630,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 96;" f +baseBlockPane src/Dodge/Placement/Instance/Wall.hs 98;" f baseCI src/Dodge/Item/Grammar.hs 158;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 323;" f baseFloorTileSize src/Tile.hs 45;" f @@ -2670,7 +2669,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 50;" f +blockLine src/Dodge/Placement/Instance/Wall.hs 52;" 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 @@ -2726,7 +2725,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f buttonFlip src/Dodge/Button/Event.hs 17;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f -cChasm src/Dodge/Room/Tutorial.hs 133;" f +cChasm src/Dodge/Room/Tutorial.hs 134;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f @@ -2761,7 +2760,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 7;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f -chasmSimpleMaze src/Dodge/Room/Tutorial.hs 200;" f +chasmSimpleMaze src/Dodge/Room/Tutorial.hs 201;" f chasmTest src/Dodge/Creature/Update.hs 132;" f chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f @@ -2911,7 +2910,7 @@ crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f crHasTarget src/Dodge/Creature/Test.hs 65;" f crHasTargetLOS src/Dodge/Creature/Test.hs 68;" f crHeight src/Dodge/Base/Collide.hs 173;" f -crHit src/Dodge/WorldEvent/ThingsHit.hs 117;" f +crHit src/Dodge/WorldEvent/ThingsHit.hs 118;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f crInAimStance src/Dodge/Creature/Test.hs 93;" f @@ -2942,7 +2941,7 @@ crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f -crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 55;" f +crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 56;" f crZoneSize src/Dodge/Zoning/Creature.hs 42;" f craftInfo src/Dodge/Item/Info.hs 169;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f @@ -2971,15 +2970,15 @@ critsRoom src/Dodge/Room/Room.hs 398;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f crossPic src/Dodge/Render/Label.hs 27;" f crossProd src/Geometry/Vector3D.hs 41;" f -crsHit src/Dodge/WorldEvent/ThingsHit.hs 65;" f -crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 154;" f -crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 76;" f +crsHit src/Dodge/WorldEvent/ThingsHit.hs 66;" f +crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 155;" f +crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 77;" f crsItmsUnused src/Dodge/Room/Containing.hs 45;" f 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 64;" f +crystalLine src/Dodge/Placement/Instance/Wall.hs 66;" f cubeShape src/Dodge/Block/Debris.hs 113;" f cullPoint src/Dodge/Render/ShapePicture.hs 94;" f cullPretty src/AesonHelp.hs 14;" f @@ -3049,7 +3048,7 @@ decodeSensorType src/Dodge/Terminal.hs 72;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f decomposeTree src/Dodge/Tree/Compose.hs 58;" f decontamRoom src/Dodge/Room/Airlock.hs 29;" f -decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f +decoratedBlock src/Dodge/Placement/Instance/Block.hs 11;" f decorationToShape src/Dodge/Placement/TopDecoration.hs 9;" f decreaseAwareness src/Dodge/Creature/Perception.hs 118;" f decrementTimer src/Sound.hs 102;" f @@ -3063,7 +3062,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/Wall.hs 40;" f +defaultAutoWall src/Dodge/Default/Wall.hs 32;" 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 @@ -3077,11 +3076,11 @@ 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 47;" f +defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f defaultDirtBlock src/Dodge/Default/Block.hs 17;" f -defaultDirtWall src/Dodge/Default/Wall.hs 64;" f +defaultDirtWall src/Dodge/Default/Wall.hs 48;" f defaultDoor src/Dodge/Default/Door.hs 5;" f -defaultDoorWall src/Dodge/Default/Wall.hs 33;" f +defaultDoorWall src/Dodge/Default/Wall.hs 29;" f defaultDrawButton src/Dodge/Button/Draw.hs 29;" f defaultEquipment src/Dodge/Default.hs 24;" f defaultFlIt src/Dodge/Default.hs 27;" f @@ -3095,15 +3094,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 52;" 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 defaultVision src/Dodge/Default/Creature.hs 85;" f -defaultWall src/Dodge/Default/Wall.hs 17;" f -defaultWindow src/Dodge/Default/Wall.hs 75;" f +defaultWall src/Dodge/Default/Wall.hs 15;" f +defaultWindow src/Dodge/Default/Wall.hs 56;" f defaultWorld src/Dodge/Default/World.hs 31;" f degToRad src/Geometry/Vector.hs 118;" f deleteIMInZone src/Dodge/Base.hs 70;" f @@ -3160,7 +3159,6 @@ doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBarrelSpin src/Dodge/Projectile/Update.hs 157;" f doBlBl src/Dodge/BlBl.hs 5;" f -doBlSh src/Dodge/Block/Draw.hs 14;" f doBounce src/Dodge/Base/Collide.hs 67;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f doConLoop src/Loop.hs 137;" f @@ -3508,7 +3506,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f -foldMTRS src/Dodge/Room/Tutorial.hs 78;" f +foldMTRS src/Dodge/Room/Tutorial.hs 79;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f followImpulse src/Dodge/Creature/Impulse.hs 24;" f @@ -3569,8 +3567,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f getCommand src/Dodge/Terminal.hs 52;" f 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 +getCrsFromRooms src/Dodge/Room/Tutorial.hs 350;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 337;" f getDebugMouseOver src/Dodge/Update.hs 376;" f getDistortions src/Dodge/Render.hs 435;" f getEdgesCrossing src/Dodge/Path.hs 49;" f @@ -3587,7 +3585,7 @@ 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 -getRoomsFromInts src/Dodge/Room/Tutorial.hs 332;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 333;" f getRootItemBounds src/Dodge/Render/HUD.hs 100;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3672,7 +3670,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 22;" f +heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimZoom src/Dodge/Update/Camera.hs 149;" f heldEffect src/Dodge/HeldUse.hs 60;" f @@ -3737,9 +3735,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 116;" f +insertWall src/Dodge/Placement/PlaceSpot/Block.hs 108;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f -insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 113;" f +insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 105;" f insertWithNewKeys src/IntMapHelp.hs 71;" f intAnno src/Dodge/Floor.hs 111;" f interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f @@ -3798,14 +3796,14 @@ 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 25;" f +invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f isAmmoIntLink src/Dodge/HeldUse.hs 717;" f isAnimate src/Dodge/Creature/Test.hs 134;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 65;" f isElectrical src/Dodge/Machine/Update.hs 84;" f -isFlyable src/Dodge/WorldEvent/ThingsHit.hs 162;" f +isFlyable src/Dodge/WorldEvent/ThingsHit.hs 163;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f isInLnk src/Dodge/PlacementSpot.hs 161;" f isJust' src/MaybeHelp.hs 27;" f @@ -3819,14 +3817,14 @@ isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f isOverTerminalScreen src/Dodge/Update.hs 399;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f -isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f +isPutID src/Dodge/Placement/Instance/Wall.hs 132;" f isRHS src/Geometry/LHS.hs 32;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f isUnusedLnkType src/Dodge/PlacementSpot.hs 190;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 174;" f isValidCommand src/Dodge/Debug/Terminal.hs 134;" f isVowel src/StringHelp.hs 8;" f -isWalkable src/Dodge/WorldEvent/ThingsHit.hs 169;" f +isWalkable src/Dodge/WorldEvent/ThingsHit.hs 170;" f isoMatrix src/MatrixHelper.hs 30;" f isotriBWH src/Geometry/Polygon.hs 22;" f itDim src/Dodge/Item/InvSize.hs 21;" f @@ -3902,7 +3900,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyPic src/Dodge/Item/Draw/SPic.hs 459;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f -lChasm src/Dodge/Room/Tutorial.hs 142;" f +lChasm src/Dodge/Room/Tutorial.hs 143;" f lConnect src/Dodge/Render/Connectors.hs 42;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lShape src/Dodge/Placement/Instance/LightSource.hs 89;" f @@ -4015,7 +4013,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 26;" f +lowBlock src/Dodge/Placement/Instance/Block.hs 25;" f lsColPos src/Dodge/LightSource.hs 23;" f lsColPosID src/Dodge/LightSource.hs 20;" f lsColPosRad src/Dodge/LightSource.hs 29;" f @@ -4152,11 +4150,11 @@ mglCreate src/GLHelp.hs 8;" f mglDelete src/GLHelp.hs 14;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f midBounds src/Dodge/Room/Foreground.hs 151;" f -midChasm src/Dodge/Room/Tutorial.hs 163;" f +midChasm src/Dodge/Room/Tutorial.hs 164;" 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 36;" f +midWall src/Dodge/Placement/Instance/Wall.hs 38;" f minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 48;" f minOn src/FoldableHelp.hs 35;" f @@ -4213,16 +4211,16 @@ muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 678;" f muzzlePos src/Dodge/HeldUse.hs 769;" f 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 +mvButton src/Dodge/Placement/PlaceSpot.hs 190;" f +mvCr src/Dodge/Placement/PlaceSpot.hs 193;" f +mvFS src/Dodge/Placement/PlaceSpot.hs 200;" f mvGust src/Dodge/Update.hs 784;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 243;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 240;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f -mvProp src/Dodge/Placement/PlaceSpot.hs 190;" f +mvProp src/Dodge/Placement/PlaceSpot.hs 187;" f myIntersectLineLine src/Geometry/Intersect.hs 198;" f myIntersectSegSeg src/Geometry/Intersect.hs 176;" f myParams src/Dodge/Combine/Graph.hs 101;" f @@ -4330,7 +4328,7 @@ pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 183;" f pbFlicker src/Dodge/Update.hs 469;" f -pbsHit src/Dodge/WorldEvent/ThingsHit.hs 93;" f +pbsHit src/Dodge/WorldEvent/ThingsHit.hs 94;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f penThing src/Dodge/Bullet.hs 214;" f @@ -4356,10 +4354,10 @@ pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 40;" f pistolerRoom src/Dodge/Room/Room.hs 330;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f -plBlock src/Dodge/Placement/PlaceSpot/Block.hs 17;" f +plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 20;" f -plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 49;" f -plMachine src/Dodge/Placement/PlaceSpot.hs 206;" f +plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 41;" f +plMachine src/Dodge/Placement/PlaceSpot.hs 203;" f plNew src/Dodge/Base/NewID.hs 19;" f plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 13;" f @@ -4367,13 +4365,13 @@ plNewUsing src/Dodge/Base/NewID.hs 27;" f plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 87;" f placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 234;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 231;" f placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f placeSpot src/Dodge/Placement/PlaceSpot.hs 34;" f placeSpotID src/Dodge/Placement/PlaceSpot.hs 105;" f placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 90;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 68;" f -placeWallPoly src/Dodge/Placement/PlaceSpot.hs 179;" f +placeWallPoly src/Dodge/Placement/PlaceSpot.hs 177;" f plainRegex src/Dodge/DisplayInventory.hs 189;" f playIfFree src/Sound.hs 137;" f playPositionalSoundQueue src/Sound.hs 145;" f @@ -4443,8 +4441,8 @@ pokeWall src/Shader/Poke.hs 78;" f pokeWallsWindows src/Shader/Poke.hs 50;" f poly3 src/Picture/Base.hs 84;" f poly3Col src/Picture/Base.hs 88;" f -polyChasm src/Dodge/Room/Tutorial.hs 184;" f -polyChasmC src/Dodge/Room/Tutorial.hs 193;" f +polyChasm src/Dodge/Room/Tutorial.hs 185;" f +polyChasmC src/Dodge/Room/Tutorial.hs 194;" f polyCirc src/Shape.hs 46;" f polyCircx src/Shape.hs 51;" f polyCornerDist src/Geometry/Polygon.hs 61;" f @@ -4526,9 +4524,9 @@ 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 91;" 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 +putBlockN src/Dodge/Placement/Instance/Wall.hs 169;" f +putBlockRect src/Dodge/Placement/Instance/Wall.hs 148;" f +putBlockV src/Dodge/Placement/Instance/Wall.hs 156;" f putDoubleDoor src/Dodge/Placement/Instance/Door.hs 19;" f putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 31;" f putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f @@ -4564,7 +4562,7 @@ randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 56;" f randDirSpark src/Dodge/Spark.hs 55;" f randEdgeTank src/Dodge/Room/Tanks.hs 33;" f -randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f +randEdgeTanks src/Dodge/Room/Tanks.hs 62;" f randFirstWeapon src/Dodge/Placement/Random.hs 8;" f randFromPair src/RandomHelp.hs 141;" f randInArc src/RandomHelp.hs 81;" f @@ -4630,7 +4628,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f -removeLights src/Dodge/Room/Tutorial.hs 249;" f +removeLights src/Dodge/Room/Tutorial.hs 250;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f @@ -4642,7 +4640,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 102;" f +replacePutID src/Dodge/Placement/Instance/Wall.hs 105;" 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 @@ -4809,7 +4807,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 197;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorSPic src/Dodge/Machine/Draw.hs 81;" f -sensorTut src/Dodge/Room/Tutorial.hs 358;" f +sensorTut src/Dodge/Room/Tutorial.hs 359;" f sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 81;" f @@ -4836,7 +4834,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f -setRoomInt src/Dodge/Room/Tutorial.hs 85;" f +setRoomInt src/Dodge/Room/Tutorial.hs 86;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f @@ -4846,7 +4844,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f setTile src/Dodge/Layout.hs 70;" f setTiles src/Dodge/Layout.hs 67;" f setToggle src/Dodge/Prop/Update.hs 44;" f -setTreeInts src/Dodge/Room/Tutorial.hs 92;" f +setTreeInts src/Dodge/Room/Tutorial.hs 93;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewport src/Dodge/Render.hs 440;" f @@ -4973,7 +4971,7 @@ 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 91;" f -snapToGrid src/Dodge/Path.hs 149;" f +snapToGrid src/Dodge/Path.hs 138;" f sndV2 src/Geometry/Data.hs 73;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -5077,7 +5075,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 115;" f +subZipWith src/Dodge/Placement/Instance/Wall.hs 118;" f succB src/Dodge/Debug.hs 79;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 98;" f @@ -5104,8 +5102,8 @@ takeWhileArb src/ListHelp.hs 99;" f takeWhileArb' src/ListHelp.hs 107;" f tankShape src/Dodge/Placement/Instance/Tank.hs 22;" f tankSquareDec src/Dodge/Placement/Instance/Tank.hs 15;" f -tanksPipesRoom src/Dodge/Room/Tanks.hs 92;" f -tanksRoom src/Dodge/Room/Tanks.hs 100;" f +tanksPipesRoom src/Dodge/Room/Tanks.hs 90;" f +tanksRoom src/Dodge/Room/Tanks.hs 98;" f tap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 630;" f tap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 562;" f tap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f @@ -5156,11 +5154,11 @@ thickCircle src/Picture/Base.hs 272;" f thickLine src/Picture/Base.hs 244;" f thickLineCol src/Picture/Base.hs 255;" f thinHighBar src/Dodge/Room/Foreground.hs 77;" f -thingHit src/Dodge/WorldEvent/ThingsHit.hs 114;" f -thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 102;" f -thingsHit src/Dodge/WorldEvent/ThingsHit.hs 40;" f -thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 123;" f -thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 48;" f +thingHit src/Dodge/WorldEvent/ThingsHit.hs 115;" f +thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 103;" f +thingsHit src/Dodge/WorldEvent/ThingsHit.hs 41;" f +thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 124;" f +thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 49;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f throwItem src/Dodge/Creature/Action.hs 191;" f tileTexCoords src/Tile.hs 11;" f @@ -5280,13 +5278,13 @@ tryUseParent src/Dodge/Creature/State.hs 145;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turret src/Dodge/Placement/Instance/Turret.hs 35;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f -tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f -tutDrop src/Dodge/Room/Tutorial.hs 97;" f -tutHub src/Dodge/Room/Tutorial.hs 256;" f -tutLight src/Dodge/Room/Tutorial.hs 221;" f -tutRezBox src/Dodge/Room/Tutorial.hs 369;" f +tutAnoTree src/Dodge/Room/Tutorial.hs 42;" f +tutDrop src/Dodge/Room/Tutorial.hs 98;" f +tutHub src/Dodge/Room/Tutorial.hs 257;" f +tutLight src/Dodge/Room/Tutorial.hs 222;" f +tutRezBox src/Dodge/Room/Tutorial.hs 370;" f tutRoomTree src/Dodge/Floor.hs 21;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 393;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 394;" f tweenAngles src/Geometry/Vector.hs 190;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 30;" f @@ -5352,9 +5350,9 @@ 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 +updateEdgeWallObs src/Dodge/Update/WallDamage.hs 35;" f +updateEdgesWall src/Dodge/Update/WallDamage.hs 28;" f +updateEdgesWall' src/Dodge/Update/WallDamage.hs 32;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBalls src/Dodge/Update.hs 660;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f @@ -5435,7 +5433,7 @@ 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 15;" f +updateWallDamages src/Dodge/Update/WallDamage.hs 16;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f updateWheelEvents src/Dodge/Update.hs 414;" f updateWorldEventFlag src/Dodge/Update.hs 121;" f @@ -5551,7 +5549,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 57;" f +windowLine src/Dodge/Placement/Instance/Wall.hs 59;" f windowXFloat src/Dodge/Data/Config.hs 61;" f windowYFloat src/Dodge/Data/Config.hs 63;" f withAlpha src/Color.hs 10;" f @@ -5566,9 +5564,9 @@ wlOpaqueDraw src/Dodge/Render/Walls.hs 47;" f wlSeeThroughDraw src/Dodge/Render/Walls.hs 50;" f wlZoneSize src/Dodge/Zoning/Wall.hs 52;" f wlsFromIXs src/Dodge/Zoning/Wall.hs 35;" f -wlsHit src/Dodge/WorldEvent/ThingsHit.hs 137;" f -wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 147;" f -wlsHitUnsorted src/Dodge/WorldEvent/ThingsHit.hs 140;" f +wlsHit src/Dodge/WorldEvent/ThingsHit.hs 138;" f +wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 148;" f +wlsHitUnsorted src/Dodge/WorldEvent/ThingsHit.hs 141;" f wlsNearCirc src/Dodge/Zoning/Wall.hs 49;" f wlsNearPoint src/Dodge/Zoning/Wall.hs 39;" f wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f @@ -5602,7 +5600,7 @@ yourInv src/Dodge/Base/You.hs 28;" f yourRootItem src/Dodge/Base/You.hs 22;" f yourSelectedItem src/Dodge/Base/You.hs 16;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f -zChasm src/Dodge/Room/Tutorial.hs 151;" f +zChasm src/Dodge/Room/Tutorial.hs 152;" f zConnect src/Dodge/Render/Connectors.hs 17;" f zConnectCol src/Dodge/Render/Connectors.hs 28;" f zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f