Add a base to blocks

This commit is contained in:
2025-11-23 14:14:37 +00:00
parent 2cffe81b75
commit 581d832569
7 changed files with 90 additions and 122 deletions
+10 -10
View File
@@ -2,17 +2,17 @@
module Dodge.Material.Color (materialColor) where
import Dodge.Data.Material
import Color
import Dodge.Data.Material
materialColor :: Material -> Color
materialColor = \case
Wood -> dark yellow
Dirt -> dark $ dark orange
Stone -> greyN 0.5
Glass -> aquamarine
Metal -> orange
Crystal -> green
Flesh -> red
Electronics -> greyN 0.2
ForceField -> magenta
Wood -> dark yellow
Dirt -> dark $ dark orange
Stone -> greyN 0.5
Glass -> aquamarine
Metal -> orange
Crystal -> green
Flesh -> red
Electronics -> greyN 0.2
ForceField -> magenta
-44
View File
@@ -38,14 +38,6 @@ invisibleWall ps =
midWall :: [Point2] -> Placement
midWall = heightWallPS (PS 0 0) 50
--singleBlock :: Point2 -> [Placement]
--singleBlock a =
-- [ sPS a 0 $
-- PutBlock defaultBlock baseBlockPane $
-- reverse $
-- square 10
-- ]
{-
Places a line of blocks between two points.
-}
@@ -66,17 +58,6 @@ Width 7, also extends out from each point by 7.
crystalLine :: Point2 -> Point2 -> Placement
crystalLine a = sps0 . PutLineBlock defaultCrystalWall 7 a
--crystalLine a b = sps0 $ PutWall ps defaultCrystalWall
-- where
-- ps =
-- [ a +.+ left +.+ up
-- , (a +.+ left) -.- up
-- , (b -.- left) -.- up
-- , (b -.- left) +.+ up
-- ]
-- left = 7 *.* normalizeV (a-.-b)
-- up = vNormal left
--
--{- Places an unbreakable wall between two points.
--Depth 15, does not extend wider than points.
-- -}
@@ -92,14 +73,9 @@ crystalLine a = sps0 . PutLineBlock defaultCrystalWall 7 a
-- left = 15 *.* normalizeV (a -.- b)
-- up = vNormal left
--windowLineType :: Point2 -> Point2 -> PSType
--windowLineType = PutLineBlock defaultWindow 8
baseBlockPane :: Wall
baseBlockPane = defaultWall & wlOpacity .~ Opaque 17
-- & wlPathFlag .~ S.fromList [WallBlockVisibility, WallNotAutoOpen]
-- TODO find home for this
{- Replaces instances of a given 'PutID' with 'PSType's drawn from a list. -}
replacePutID ::
@@ -132,19 +108,6 @@ subZipWith f g xs ys =
isPutID :: Int -> Placement -> Bool
isPutID i ps = Just i == ps ^? plType . putID
--putBlockRect' :: Float -> Float -> Placement
--putBlockRect' w h =
-- ps0jPushPS (aline tl tr) $
-- ps0jPushPS (aline tr br) $
-- ps0jPushPS (aline br bl) $
-- sps0 (aline bl tl)
-- where
-- tl = V2 (- w) h
-- tr = V2 w h
-- br = V2 w (- h)
-- bl = V2 (- w) (- h)
-- aline = PutLineBlock baseBlockPane 9
putBlockRect :: Float -> Float -> Float -> Float -> [Placement]
putBlockRect a x b y = uncurry blockLine <$> loopPairs (rectNSWE b y a x)
@@ -154,13 +117,6 @@ putBlockV a x b y = uncurry blockLine <$>
, (V2 x b, V2 a b)
]
--putBlockC :: Float -> Float -> Float -> Float -> [Placement]
--putBlockC a x b y =
-- [ blockLine (V2 a b) (V2 a y)
-- , blockLine (V2 x b) (V2 a b)
-- , blockLine (V2 a y) (V2 x y)
-- ]
putBlockN :: Float -> Float -> Float -> Float -> [Placement]
putBlockN a x b y = uncurry blockLine <$>
[ (V2 a b, V2 a y)
+16 -2
View File
@@ -6,7 +6,11 @@ module Dodge.Placement.PlaceSpot.Block (
insertStructureWalls,
) where
import Control.Lens
import Dodge.Material.Color
import Linear
import ShapePicture
import Shape
import LensHelp
import qualified Data.IntSet as IS
import Data.List
import qualified Data.Set as S
@@ -53,6 +57,7 @@ insertStructureWalls f wl ps sid wid =
plLineBlock ::
-- | Base pane
Wall ->
-- | Block width
Float ->
-- | Start point (symmetric)
Point2 ->
@@ -62,7 +67,7 @@ plLineBlock ::
(Int, GenWorld)
plLineBlock basePane blwidth a b gw =
( 0
, over gwWorld insertBlocks gw
, over gwWorld (insertBase . insertBlocks) gw
)
where
depth = blwidth
@@ -76,6 +81,15 @@ plLineBlock basePane blwidth a b gw =
linesAt p = loopPairs $ cornersAt p
wlid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . walls
blid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . blocks
insertBase =
cWorld . lWorld . foreShapes .:~ ForegroundShape
midp 0 (noPic . colorSH (materialColor $ basePane ^. wlMaterial)
$ upperBox Medium Typical 3
[a + x + n - midp, a + x - (n + midp), b - (n + x + midp), b + n - (x + midp)]
)
midp = (0.5 * (a + b))
x = (blwidth + 1) *^ (normalize $ a - b)
n = vNormal x
insertBlock (i, p) =
insertWalls (makeWallAt p i)
. over
+4 -2
View File
@@ -26,8 +26,7 @@ worldSPic cfig u =
<> foldMap' debrisSPic (filtOn' (xyV3 . _dbPos) _debris)
<> foldup drawProjectile (filtOn (^. pjPos . _xy) _projectiles)
<> foldup drawPulseBall (filtOn _pbPos _pulseBalls)
<> foldup (shiftDraw _blPos _blDir (const $ noPic . _blDraw))
(filtOn _blPos _blocks)
<> foldup (shiftDraw _blPos _blDir (const drawBlock)) (filtOn _blPos _blocks)
<> foldMap' (shiftDraw _fsPos _fsDir (const _fsSPic)) (filtOn' _fsPos _foreShapes)
<> foldup (drawCreature (lw ^. items)) (filtOn (^. crPos . _xy) _creatures)
<> foldup
@@ -49,6 +48,9 @@ worldSPic cfig u =
filtOn' f g = filter (pointIsClose . f) (g lw)
pointIsClose = cullPoint cfig w
drawBlock :: Block -> SPic
drawBlock = (noPic . _blDraw)
drawChasm :: [Point2] -> SPic
drawChasm = foldMap (Prelude.uncurry drawCliff) . loopPairs
+2 -2
View File
@@ -25,7 +25,7 @@ sizeFBOs cfig rdata =
(getWindowSize _gr_world_res cfig)
GL_NEAREST
GL_NEAREST
GL_RGBA16F
GL_RGBA16F -- not sure if the alpha is necessary here
GL_RGB16F -- could possibly recover using depth in a clever way
-- but probably not, because the projection matrix is
-- not always on-center
@@ -54,7 +54,7 @@ sizeFBOs cfig rdata =
GL_LINEAR_MIPMAP_LINEAR
GL_LINEAR
GL_RGBA16F
[fboBloom, fboPos]
[fboBloom, fboPos] -- fboPos probably doesn't need the alpha channel
>>= foldUpdateFBOTO
_gr_downsize_res
GL_LINEAR_MIPMAP_LINEAR
+1 -6
View File
@@ -70,12 +70,7 @@ prismPoly size shads upps downps = [Surface (RoundedFaces n) (cp : cp : f upps d
f (a : as) (b : bs) = a : b : f as bs
f _ _ = []
prismBox ::
Size ->
Importance ->
[Point3] ->
[Point3] ->
Shape
prismBox :: Size -> Importance -> [Point3] -> [Point3] -> Shape
{-# INLINE prismBox #-}
prismBox size shads upps downps = [Surface (FlatFaces n) (f upps downps) white shads size]
where
+57 -56
View File
@@ -1596,8 +1596,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 19;" f
_chasmShader src/Data/Preload/Render.hs 46;" f
_chasmVBO src/Data/Preload/Render.hs 45;" f
_chasmShader src/Data/Preload/Render.hs 45;" f
_chasmVBO src/Data/Preload/Render.hs 44;" 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
@@ -1626,8 +1626,8 @@ _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
_cloudShader src/Data/Preload/Render.hs 50;" f
_cloudVBO src/Data/Preload/Render.hs 49;" f
_cloudShader src/Data/Preload/Render.hs 49;" f
_cloudVBO src/Data/Preload/Render.hs 48;" f
_clouds src/Dodge/Data/LWorld.hs 96;" f
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f
_coolSound src/Dodge/Data/Item/Params.hs 22;" f
@@ -1756,7 +1756,7 @@ _dsZoning src/Dodge/Data/World.hs 48;" f
_dtLeft src/Dodge/Data/DoubleTree.hs 29;" f
_dtRight src/Dodge/Data/DoubleTree.hs 29;" f
_dtValue src/Dodge/Data/DoubleTree.hs 29;" f
_dummyVAO src/Data/Preload/Render.hs 51;" f
_dummyVAO src/Data/Preload/Render.hs 50;" f
_dusts src/Dodge/Data/LWorld.hs 97;" f
_ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f
_ebPos src/Dodge/Data/EnergyBall.hs 17;" f
@@ -1766,14 +1766,14 @@ _ebVel src/Dodge/Data/EnergyBall.hs 16;" 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
_fboBase src/Data/Preload/Render.hs 33;" f
_fboBloom src/Data/Preload/Render.hs 36;" f
_fboCloud src/Data/Preload/Render.hs 34;" f
_fboHalf1 src/Data/Preload/Render.hs 31;" f
_fboHalf2 src/Data/Preload/Render.hs 32;" f
_fboLighting src/Data/Preload/Render.hs 38;" f
_fboPos src/Data/Preload/Render.hs 37;" f
_fboWindow src/Data/Preload/Render.hs 35;" f
_fboBase src/Data/Preload/Render.hs 32;" f
_fboBloom src/Data/Preload/Render.hs 35;" f
_fboCloud src/Data/Preload/Render.hs 33;" f
_fboHalf1 src/Data/Preload/Render.hs 30;" f
_fboHalf2 src/Data/Preload/Render.hs 31;" f
_fboLighting src/Data/Preload/Render.hs 37;" f
_fboPos src/Data/Preload/Render.hs 36;" f
_fboWindow src/Data/Preload/Render.hs 34;" 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
@@ -1787,8 +1787,8 @@ _flboName src/Shader/Data.hs 86;" f
_flboPtr src/Shader/Data.hs 87;" f
_flboStride src/Shader/Data.hs 88;" f
_floorItems src/Dodge/Data/LWorld.hs 127;" f
_floorShader src/Data/Preload/Render.hs 44;" f
_floorVBO src/Data/Preload/Render.hs 43;" f
_floorShader src/Data/Preload/Render.hs 43;" f
_floorVBO src/Data/Preload/Render.hs 42;" 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
@@ -1909,7 +1909,7 @@ _ldtRight src/Dodge/Data/DoubleTree.hs 35;" f
_ldtValue src/Dodge/Data/DoubleTree.hs 33;" f
_leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f
_lightSources src/Dodge/Data/LWorld.hs 133;" f
_lightUBO src/Data/Preload/Render.hs 41;" f
_lightUBO src/Data/Preload/Render.hs 40;" f
_lightingCapShader src/Data/Preload/Render.hs 16;" f
_lightingCloudShader src/Data/Preload/Render.hs 18;" f
_lightingLineShadowShader src/Data/Preload/Render.hs 15;" f
@@ -1946,7 +1946,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 40;" f
_matUBO src/Data/Preload/Render.hs 39;" 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
@@ -2131,7 +2131,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 39;" f
_rboBaseBloom src/Data/Preload/Render.hs 38;" f
_rdDist1 src/Dodge/Data/Distortion.hs 13;" f
_rdDist2 src/Dodge/Data/Distortion.hs 14;" f
_rdPos src/Dodge/Data/Distortion.hs 12;" f
@@ -2407,7 +2407,7 @@ _vaOffset src/Shader/Data.hs 70;" f
_vaType src/Shader/Data.hs 68;" f
_vboName src/Shader/Data.hs 80;" f
_vboPtr src/Shader/Data.hs 81;" f
_vboShapes src/Data/Preload/Render.hs 42;" f
_vboShapes src/Data/Preload/Render.hs 41;" f
_vboVertexBytes src/Shader/Data.hs 82;" f
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
@@ -2430,13 +2430,13 @@ _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
_wallVBO src/Data/Preload/Render.hs 48;" f
_wallVBO src/Data/Preload/Render.hs 47;" f
_walls src/Dodge/Data/LWorld.hs 118;" f
_wanID src/Dodge/Data/LWorld.hs 158;" f
_wanPos src/Dodge/Data/LWorld.hs 157;" f
_warmMax src/Dodge/Data/TriggerType.hs 19;" f
_warmStart src/Dodge/Data/TriggerType.hs 15;" f
_winVBO src/Data/Preload/Render.hs 47;" f
_winVBO src/Data/Preload/Render.hs 46;" f
_windowPosX src/Dodge/Data/Config.hs 63;" f
_windowPosY src/Dodge/Data/Config.hs 64;" f
_windowPullShader src/Data/Preload/Render.hs 21;" f
@@ -2620,9 +2620,9 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 80;" f
barrelShape src/Dodge/Render/ShapePicture.hs 82;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 98;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 324;" f
baseFloorTileSize src/Tile.hs 45;" f
@@ -2660,7 +2660,7 @@ blinkDistortions src/Dodge/Creature/Action/Blink.hs 45;" f
blinkShockwave src/Dodge/Creature/Action/Blink.hs 78;" f
blinker src/Dodge/Item/Held/Utility.hs 30;" f
blipAt src/Dodge/RadarSweep.hs 78;" f
blockLine src/Dodge/Placement/Instance/Wall.hs 52;" f
blockLine src/Dodge/Placement/Instance/Wall.hs 44;" 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
@@ -2703,10 +2703,10 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 69;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
btSPic src/Dodge/Render/ShapePicture.hs 131;" f
btText src/Dodge/Inventory/SelectionList.hs 237;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 393;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 397;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 32;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
@@ -2969,9 +2969,9 @@ crsNearCirc src/Dodge/Zoning/Creature.hs 36;" f
crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
crsNearRect src/Dodge/Zoning/Creature.hs 40;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 66;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 110;" f
cullPoint src/Dodge/Render/ShapePicture.hs 96;" f
cullPoint src/Dodge/Render/ShapePicture.hs 98;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3234,13 +3234,14 @@ drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
drawArrowDown src/Dodge/Render/Picture.hs 219;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Render/ShapePicture.hs 51;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f
drawBullet src/Dodge/Render/ShapePicture.hs 135;" f
drawBullet src/Dodge/Render/ShapePicture.hs 137;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChasm src/Dodge/Render/ShapePicture.hs 52;" f
drawChasm src/Dodge/Render/ShapePicture.hs 54;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 55;" f
drawCliff src/Dodge/Render/ShapePicture.hs 57;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 267;" f
drawCombineInventory src/Dodge/Render/HUD.hs 183;" f
@@ -3249,7 +3250,7 @@ drawCoord src/Dodge/Debug/Picture.hs 386;" f
drawCountMod src/Shader.hs 20;" f
drawCrInfo src/Dodge/Debug.hs 169;" f
drawCrInfo' src/Dodge/Debug.hs 164;" f
drawCreature src/Dodge/Render/ShapePicture.hs 71;" f
drawCreature src/Dodge/Render/ShapePicture.hs 73;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f
drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
@@ -3310,7 +3311,7 @@ drawPlus src/Dodge/Render/Picture.hs 163;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProxSensor src/Dodge/Machine/Draw.hs 37;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 63;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 65;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f
drawRBOptions src/Dodge/Render/HUD.hs 252;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
@@ -3437,7 +3438,7 @@ explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 101;" f
extraPics src/Dodge/Render/ShapePicture.hs 103;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3490,7 +3491,7 @@ flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f
flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f
flockPointTarget src/Dodge/Creature/Boid.hs 204;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 232;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 122;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 124;" f
floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
@@ -3558,7 +3559,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 332;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 319;" f
getDebugMouseOver src/Dodge/Update.hs 374;" f
getDistortions src/Dodge/Render.hs 405;" f
getDistortions src/Dodge/Render.hs 409;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3722,10 +3723,10 @@ 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
insertStructureWalls src/Dodge/Placement/PlaceSpot/Block.hs 37;" f
insertWall src/Dodge/Placement/PlaceSpot/Block.hs 120;" f
insertStructureWalls src/Dodge/Placement/PlaceSpot/Block.hs 40;" f
insertWall src/Dodge/Placement/PlaceSpot/Block.hs 129;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 126;" f
insertWithNewKeys src/IntMapHelp.hs 71;" f
intAnno src/Dodge/Floor.hs 111;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
@@ -3805,7 +3806,7 @@ isOnSeg src/Geometry.hs 237;" f
isOutLnk src/Dodge/PlacementSpot.hs 166;" f
isOverTerminalScreen src/Dodge/Update.hs 394;" f
isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 132;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f
isRHS src/Geometry/LHS.hs 32;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 190;" f
@@ -3893,7 +3894,7 @@ lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" 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
lampCrSPic src/Dodge/Render/ShapePicture.hs 87;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 141;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
@@ -4093,7 +4094,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 104;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f
mcProxTest src/Dodge/Machine/Update.hs 203;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f
mcSPic src/Dodge/Render/ShapePicture.hs 132;" f
mcSPic src/Dodge/Render/ShapePicture.hs 134;" f
mcShootAuto src/Dodge/HeldUse.hs 1169;" f
mcShootLaser src/Dodge/HeldUse.hs 1162;" f
mcTriggerVal src/Dodge/Machine/Update.hs 110;" f
@@ -4335,9 +4336,9 @@ 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 173;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 20;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 23;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 53;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 56;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 188;" f
plNew src/Dodge/Base/NewID.hs 19;" f
plNewID src/Dodge/Base/NewID.hs 7;" f
@@ -4484,9 +4485,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 87;" f
putBlockN src/Dodge/Placement/Instance/Wall.hs 164;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 148;" f
putBlockV src/Dodge/Placement/Instance/Wall.hs 151;" f
putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
putBlockV src/Dodge/Placement/Instance/Wall.hs 114;" f
putDoor src/Dodge/Room/Airlock.hs 114;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
@@ -4555,7 +4556,7 @@ randomTreeStructure src/Dodge/Layout/Generate.hs 18;" f
randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 216;" f
rdToVec2s src/Dodge/Render.hs 388;" f
rdToVec2s src/Dodge/Render.hs 392;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 467;" f
rectNSWE src/Geometry/Polygon.hs 15;" f
@@ -4601,7 +4602,7 @@ renderLightingNoShadows src/Render.hs 51;" f
renderListAt src/Dodge/Render/List.hs 192;" f
renderShadows src/Render.hs 119;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 105;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" 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
@@ -4808,7 +4809,7 @@ setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 73;" f
setViewDistance src/Dodge/Update/Camera.hs 241;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 410;" f
setViewport src/Dodge/Render.hs 414;" f
setVol src/Dodge/Config.hs 47;" f
setWindowColor src/Dodge/Render/Walls.hs 32;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f
@@ -4839,7 +4840,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 250;" f
shiftChildren src/Dodge/Tree/Compose.hs 44;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 90;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 92;" f
shiftInBy src/Dodge/PlacementSpot.hs 247;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f
@@ -5028,7 +5029,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 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f
succB src/Dodge/Debug.hs 113;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f
swapInOutLinks src/Dodge/RoomLink.hs 98;" f
@@ -5298,9 +5299,9 @@ updateDoors src/Dodge/Update.hs 308;" f
updateDust src/Dodge/Update.hs 817;" f
updateDusts src/Dodge/Update.hs 667;" f
updateEdge src/Dodge/Path.hs 43;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 38;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 22;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 35;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 655;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
@@ -5496,7 +5497,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 59;" f
windowLine src/Dodge/Placement/Instance/Wall.hs 51;" f
windowXFloat src/Dodge/Data/Config.hs 71;" f
windowYFloat src/Dodge/Data/Config.hs 73;" f
withAlpha src/Color.hs 10;" f