Simplify grid/lattice creation

This commit is contained in:
2025-10-27 12:21:18 +00:00
parent 437f5d44d8
commit c88fc1c729
6 changed files with 138 additions and 222 deletions
+2 -1
View File
@@ -18,12 +18,13 @@ import LensHelp
import RandomHelp
import Control.Monad
-- pathing needs to be done
roomGlassOctogon ::
-- | Size
Float ->
Room
roomGlassOctogon x =
createPathGrid $
-- createPathGrid $
defaultRoom
{ _rmPolys =
[ rectNSWE x (- x) (- x) x
+2 -28
View File
@@ -1,39 +1,20 @@
module Dodge.Room.Path (
gridPoints,
linksGridToPath,
makeGrid,
createPathGrid,
-- makeGrid,
-- createPathGrid,
gridPoints'',
linksGridToPath',
) where
import Control.Lens
import qualified Control.Foldl as L
import Data.Function (on)
import Data.List
import Data.Maybe
import qualified Data.Set as S
import Dodge.Data.GenWorld
import Dodge.LevelGen.StaticWalls
import Geometry
import Grid
createPathGrid :: Room -> Room
createPathGrid rm = rm & rmPath .~ linksGridToPath (_rmLinks rm) filterGrid
where
filterGrid = filter
(\p -> pairInPolys (_rmPolys rm) p && testCrossWalls outerWalls p) grid
grid = fromMaybe [] $ shiftedGrid <$> minx <*> maxx <*> miny <*> maxy
outerWalls = foldr cutPoly [] $ _rmPolys rm
outerPoints = map fst outerWalls
(minx, maxx, miny, maxy) = L.fold theFold outerPoints
theFold =
(,,,)
<$> L.premap fstV2 L.minimum
<*> L.premap fstV2 L.maximum
<*> L.premap sndV2 L.minimum
<*> L.premap sndV2 L.maximum
-- assumes subpth is symmetric
linksGridToPath :: [RoomLink] -> [(Point2, Point2)] -> S.Set (Point2, Point2)
linksGridToPath lnks subpth = S.fromList subpth <> foldMap (linkClosest . (^. rlPos)) lnks
@@ -45,10 +26,3 @@ linksGridToPath' lnks subpth' = subpth <> foldMap (linkClosest . (^. rlPos)) lnk
where
subpth = foldMap doublePairSet subpth'
linkClosest p = doublePairSet (p, minimumBy (compare `on` dist p) $ S.map fst subpth)
testCrossWalls :: [(Point2, Point2)] -> (Point2, Point2) -> Bool
testCrossWalls wls (a, b) = not $ any (isJust . uncurry (intersectSegSeg a b)) wls
--extra test whether both members of the path edge are in some poly
pairInPolys :: [[Point2]] -> (Point2, Point2) -> Bool
pairInPolys polys (a, b) = any (pointInPoly a) polys && any (pointInPoly b) polys
+9 -13
View File
@@ -7,9 +7,10 @@ module Dodge.Room.Procedural (
centerVaultRoom,
combineRooms,
-- linksAndPath,
makeGrid,
-- makeGrid,
) where
import Grid
import Dodge.Door.PutSlideDoor
import Dodge.Default.Wall
import Control.Monad
@@ -37,16 +38,7 @@ import RandomHelp
-- This will need a cleanup, but it might change a bit first
{- A simple rectangular room with a light in the center.
Creates links and pathfinding graph. -}
roomRect ::
-- | Width
Float ->
-- | Height
Float ->
-- | Number of links on vertical walls
Int ->
-- | Number of links on horizontal walls
Int ->
Room
roomRect :: Float -> Float -> Int -> Int -> Room
roomRect x y xn yn =
defaultRoom
{ _rmPolys = [rectNSWE y 0 0 x]
@@ -82,8 +74,14 @@ roomRect x y xn yn =
}
}
where
xs = take (xn + 1) [0,xd..] & each +~ 20
ys = take (yn + 1) [0,yd..] & each +~ 20
yd = (y - 40) / fromIntegral yn
xd = (x - 40) / fromIntegral xn
pth = linksGridToPath lnks
$ latticeXsYs xs ys
--pth = linksGridToPath lnks
-- $ map (bimap (+.+ V2 20 20) (+.+ V2 20 20)) (makeGrid xd xn yd yn)
somelnks poffset ps a = zip (map (+.+ poffset) ps) (repeat a)
wlnks = somelnks (V2 0 20) (gridPoints 0 1 yd (yn + 1)) (pi / 2)
elnks = somelnks (V2 x 20) (gridPoints 0 1 yd (yn + 1)) (- pi / 2)
@@ -97,8 +95,6 @@ roomRect x y xn yn =
m edge edgefrom1 edgefrom2 =
zipWith (lnkBothAnd (OnEdge edge) edgefrom1 edgefrom2) [0 ..]
. zipCountDown
pth = linksGridToPath lnks
$ map (bimap (+.+ V2 20 20) (+.+ V2 20 20)) (makeGrid xd xn yd yn)
makeonpos (p, a) = RoomPos p 0 (S.singleton $ RoomPosOnGrid $ makerpedges a)
(NotLink True) mempty
makerpedges (a, b) =
+2 -1
View File
@@ -1,6 +1,7 @@
{-# OPTIONS_GHC -Wno-unused-imports #-}
module Dodge.Room.Tutorial where
import Dodge.Room.Boss
import Dodge.Room.Tanks
import Dodge.Room.LongDoor
import Dodge.Layout
@@ -46,7 +47,7 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
-- , return $ tToBTree "cor" $ return $ cleatOnward $ corridor & rmPmnts .~ mempty
-- , return $ tToBTree "cor" $ return $ cleatOnward airlock90
, return $ tToBTree "cor" $ return $ cleatOnward $ roomGlassOctogon 200
-- , corDoor
-- , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40)
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
+3 -71
View File
@@ -1,15 +1,12 @@
module Grid (
makeGrid,
gridInPolygon,
shiftedGrid,
gridPoints,
gridPoints'',
latticeXsYs,
) where
import Bound
import Control.Lens
import Data.List
import qualified Data.Tuple.Extra as Tup
import Geometry
gridInPolygon :: Float -> [Point2] -> [Point2]
@@ -25,65 +22,14 @@ boundedGrid gap (n, s, e, w) = gridPointsOff w s gap nx gap ny
nx = floor $ (e - w) / gap
ny = floor $ (n - s) / gap
shiftedGrid ::
-- | x min
Float ->
-- | x max
Float ->
-- | y min
Float ->
-- | y max
Float ->
[(Point2, Point2)]
shiftedGrid xmin xmax ymin ymax = grid
where
xd = xmax - xmin
yd = ymax - ymin
xsteps = ceiling $ (xd - 40) / 60
ysteps = ceiling $ (yd - 40) / 60
shift p = bimap (p +.+) (p +.+)
grid = map (shift (V2 (xmin + 20) (ymin + 20))) $ makeGrid 60 xsteps 60 ysteps
-- creates a DAG
gridXsYs :: [Float] -> [Float] -> [(Point2, Point2)]
gridXsYs xs ys =
latticeXsYs :: [Float] -> [Float] -> [(Point2, Point2)]
latticeXsYs xs ys =
foldMap (\y -> mkpairs xs & each . each %~ (`V2` y)) ys
<> foldMap (\x -> mkpairs ys & each . each %~ V2 x) xs
where
mkpairs zs = zip zs $ tail zs
makeGrid ::
-- | horizontal step size
Float ->
-- | number of horizontal steps
Int ->
-- | vertical step size
Float ->
-- | number of vertical steps
Int ->
[(Point2, Point2)]
makeGrid x nx y ny =
foldMap doublePair $
gridXsYs (take (nx + 1) [0, x ..]) (take (ny + 1) [0, y ..])
-- creates a rectangular grid starting at (0,0) in the positive orthant
-- needs fixing in degenerate (xstep or ystep == 0) cases
makeGrid' ::
-- | horizontal step size
Float ->
-- | number of horizontal steps
Int ->
-- | vertical step size
Float ->
-- | number of vertical steps
Int ->
[(Point2, Point2)]
makeGrid' x nx y ny =
nub
. concatMap doublePair
. concatMap (\p -> map (Tup.both (p +.+)) $ makeRect x y)
$ gridPoints x nx y ny
gridPointsOff :: Float -> Float -> Float -> Int -> Float -> Int -> [Point2]
gridPointsOff xoff yoff x nx y ny = map f $ gridPoints' nx ny
where
@@ -92,10 +38,6 @@ gridPointsOff xoff yoff x nx y ny = map f $ gridPoints' nx ny
gridPoints :: Float -> Int -> Float -> Int -> [Point2]
gridPoints = gridPointsOff 0 0
-- map f $ gridPoints' nx ny
-- where
-- f (a,b) = V2 (fromIntegral a * x) (fromIntegral b * y)
gridPoints'' :: Float -> Int -> Float -> Int -> [(Point2, (Int, Int))]
gridPoints'' x nx y ny = map f $ gridPoints' nx ny
where
@@ -103,13 +45,3 @@ gridPoints'' x nx y ny = map f $ gridPoints' nx ny
gridPoints' :: Int -> Int -> [(Int, Int)]
gridPoints' nx ny = [(x, y) | x <- [0 .. nx -1], y <- [0 .. ny -1]]
makeRect :: Float -> Float -> [(Point2, Point2)]
makeRect x y =
map
(bimap toV2 toV2)
[ ((0, 0), (x, 0))
, ((0, 0), (0, y))
, ((x, y), (x, 0))
, ((x, y), (0, y))
]
+120 -108
View File
@@ -2533,7 +2533,7 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 342;" f
applyCME src/Dodge/HeldUse.hs 369;" f
applyClip src/Dodge/Debug.hs 119;" f
applyClip src/Dodge/Debug.hs 187;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyEventIO src/Loop.hs 90;" f
applyGravityPU src/Dodge/Projectile/Update.hs 40;" f
@@ -2683,7 +2683,7 @@ bounceDir src/Dodge/Bullet.hs 111;" f
bouncePoint src/Dodge/Base/Collide.hs 86;" f
bounceSound src/Dodge/Projectile/Update.hs 73;" f
boundPoints src/Bound.hs 10;" f
boundedGrid src/Grid.hs 19;" f
boundedGrid src/Grid.hs 21;" f
boxABC src/Polyhedra.hs 108;" f
boxEdgeIndices src/Shader/Poke.hs 358;" f
boxSurfaces src/Shader/Poke.hs 277;" f
@@ -2724,10 +2724,11 @@ cardVec src/Dodge/Base/CardinalPoint.hs 10;" f
cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 28;" f
cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f
ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 25;" f
centerText src/Picture/Base.hs 184;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 293;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 297;" f
centroid src/Geometry/Polygon.hs 168;" f
centroidNum src/Geometry/Polygon.hs 171;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
@@ -2744,7 +2745,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 211;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 214;" f
chasmTest src/Dodge/Creature/Update.hs 132;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2783,7 +2784,7 @@ clAlt src/Dodge/Cloud.hs 5;" f
clClSpringVel src/Dodge/Update.hs 842;" f
clColor src/Shader/Poke/Cloud.hs 35;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 170;" f
clampPath src/Dodge/Room/Procedural.hs 174;" f
clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f
clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
@@ -2840,11 +2841,11 @@ combinationsGraph src/Dodge/Combine/Graph.hs 72;" f
combinationsOf src/Multiset.hs 46;" f
combinationsTrie src/Dodge/Combine.hs 43;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 176;" f
combineFloors src/Dodge/Room/Procedural.hs 180;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 337;" f
combineItemListYouX src/Dodge/Combine.hs 35;" f
combineList src/Dodge/Combine.hs 21;" f
combineRooms src/Dodge/Room/Procedural.hs 156;" f
combineRooms src/Dodge/Room/Procedural.hs 160;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f
combineTree src/Dodge/Tree/Compose.hs 67;" f
commandColor src/Dodge/Terminal.hs 114;" f
@@ -3009,7 +3010,7 @@ darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f
dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 322;" f
deZoneIX src/Dodge/Zoning/Base.hs 95;" f
deZoneIX src/Dodge/Zoning/Base.hs 116;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 246;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
@@ -3019,18 +3020,22 @@ deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 21;" f
debrisSize src/Dodge/Block/Debris.hs 84;" f
debugEvent src/Dodge/Debug.hs 36;" f
debugEvents src/Dodge/Debug.hs 21;" f
debugGet src/Dodge/Debug.hs 91;" f
debugItem src/Dodge/Debug.hs 39;" f
debugEvent src/Dodge/Debug.hs 42;" f
debugEvents src/Dodge/Debug.hs 27;" f
debugGet src/Dodge/Debug.hs 79;" f
debugGet1 src/Dodge/Debug.hs 86;" f
debugGet2 src/Dodge/Debug.hs 94;" f
debugGet3 src/Dodge/Debug.hs 111;" f
debugItem src/Dodge/Debug.hs 45;" f
debugMenu src/Dodge/Menu.hs 124;" f
debugMenuOptions src/Dodge/Menu.hs 130;" f
debugMouseClickPos src/Dodge/Debug.hs 134;" f
debugMouseClickPos src/Dodge/Debug.hs 202;" f
debugOn src/Dodge/Data/Config.hs 154;" f
debugPut src/Dodge/Debug.hs 82;" f
debugPutN src/Dodge/Debug.hs 79;" f
debugShowPath src/Dodge/Debug.hs 94;" f
debugWritableValues src/Dodge/Debug.hs 107;" f
debugPutDraw src/Dodge/Debug.hs 136;" f
debugPutItems src/Dodge/Debug.hs 119;" f
debugPutN src/Dodge/Debug.hs 125;" f
debugShowPath src/Dodge/Debug.hs 162;" f
debugWritableValues src/Dodge/Debug.hs 175;" f
decodeSensorType src/Dodge/Terminal.hs 72;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
@@ -3100,15 +3105,15 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 53;" f
destroyBlock src/Dodge/Block.hs 17;" f
destroyDoor src/Dodge/DrWdWd.hs 78;" f
destroyDoor src/Dodge/DrWdWd.hs 76;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyItem src/Dodge/Inventory.hs 62;" f
destroyLSFlashAt src/Dodge/LightSource.hs 44;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/DrWdWd.hs 99;" f
destroyMounts src/Dodge/DrWdWd.hs 96;" f
destroyMount src/Dodge/DrWdWd.hs 97;" f
destroyMounts src/Dodge/DrWdWd.hs 94;" f
destroyProjectile src/Dodge/Projectile/Update.hs 108;" f
detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
@@ -3133,7 +3138,7 @@ displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f
displayTerminalLineString src/Dodge/Update.hs 484;" f
dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f
divTo src/Geometry/Zone.hs 8;" f
divideCircle src/Geometry.hs 321;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 71;" f
divideLine src/Geometry.hs 248;" f
@@ -3157,8 +3162,8 @@ doCrWdAc src/Dodge/CreatureEffect.hs 47;" f
doDamage src/Dodge/Creature/State.hs 43;" f
doDeathToggle src/Dodge/WorldEffect.hs 91;" f
doDeathTriggers src/Dodge/WorldEffect.hs 84;" f
doDebugGet src/Dodge/Debug.hs 85;" f
doDebugPut src/Dodge/Debug.hs 73;" f
doDebugGet src/Dodge/Debug.hs 155;" f
doDebugPut src/Dodge/Debug.hs 128;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f
@@ -3231,7 +3236,7 @@ drawArrowDown src/Dodge/Render/Picture.hs 221;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 355;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 367;" f
drawBullet src/Dodge/Render/ShapePicture.hs 135;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
@@ -3242,18 +3247,18 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 269;" f
drawCombineInventory src/Dodge/Render/HUD.hs 182;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f
drawCoord src/Dodge/Debug/Picture.hs 383;" f
drawCrInfo src/Dodge/Debug.hs 158;" f
drawCrInfo' src/Dodge/Debug.hs 153;" f
drawCoord src/Dodge/Debug/Picture.hs 395;" f
drawCrInfo src/Dodge/Debug.hs 226;" f
drawCrInfo' src/Dodge/Debug.hs 221;" f
drawCreature src/Dodge/Render/ShapePicture.hs 71;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" 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
drawCursorAt src/Dodge/Render/List.hs 72;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f
drawDDATest src/Dodge/Debug/Picture.hs 310;" f
drawDDATest src/Dodge/Debug/Picture.hs 311;" f
drawDamSensor src/Dodge/Machine/Draw.hs 27;" f
drawDebug src/Dodge/Debug.hs 196;" f
drawDebug src/Dodge/Debug.hs 264;" f
drawDrag src/Dodge/Render/Picture.hs 200;" f
drawDragDrop src/Dodge/Render/Picture.hs 229;" f
drawDragPickup src/Dodge/Render/Picture.hs 238;" f
@@ -3265,7 +3270,7 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 127;" f
drawExamineInventory src/Dodge/Render/HUD.hs 198;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 277;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 278;" f
drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f
drawForceField src/Dodge/Wall/Draw.hs 13;" f
@@ -3273,8 +3278,8 @@ drawGapPlus src/Dodge/Render/Picture.hs 280;" f
drawGib src/Dodge/Prop/Draw.hs 31;" f
drawHUD src/Dodge/Render/HUD.hs 51;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f
drawInspectWall src/Dodge/Debug/Picture.hs 254;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 242;" f
drawInspectWall src/Dodge/Debug/Picture.hs 255;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 243;" f
drawInventory src/Dodge/Render/HUD.hs 58;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 329;" f
drawItemConnections src/Dodge/Render/HUD.hs 319;" f
@@ -3297,11 +3302,11 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f
drawMouseCursor src/Dodge/Render/Picture.hs 85;" f
drawMouseOver src/Dodge/Render/HUD.hs 109;" f
drawMousePosition src/Dodge/Debug/Picture.hs 373;" f
drawMousePosition src/Dodge/Debug/Picture.hs 385;" f
drawOptions src/Dodge/Render/MenuScreen.hs 22;" f
drawPathBetween src/Dodge/Debug/Picture.hs 201;" f
drawPathEdge src/Dodge/Debug/Picture.hs 267;" f
drawPathing src/Dodge/Debug/Picture.hs 404;" f
drawPathBetween src/Dodge/Debug/Picture.hs 202;" f
drawPathEdge src/Dodge/Debug/Picture.hs 268;" f
drawPathing src/Dodge/Debug/Picture.hs 416;" f
drawPlus src/Dodge/Render/Picture.hs 165;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
@@ -3341,15 +3346,18 @@ drawTurret src/Dodge/Machine/Draw.hs 76;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f
drawWall src/Dodge/Wall/Draw.hs 9;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f
drawWallSearchRays src/Dodge/Debug/Picture.hs 319;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 231;" f
drawWallSearchRays src/Dodge/Debug/Picture.hs 331;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 232;" f
drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 222;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f
drawWeapon src/Dodge/Creature/Volition.hs 15;" f
drawWlIDs src/Dodge/Debug/Picture.hs 391;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 299;" f
drawWlIDs src/Dodge/Debug/Picture.hs 403;" f
drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 300;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 292;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 293;" f
drawthedoor src/Dodge/Debug.hs 146;" f
drawthezones src/Dodge/Debug.hs 139;" f
dropAll src/Dodge/Creature/Update.hs 129;" f
dropInventoryPath src/Dodge/HeldUse.hs 1351;" f
dropItem src/Dodge/Creature/Action.hs 155;" f
@@ -3380,7 +3388,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 129;" f
edgeToPic src/Dodge/Debug/Picture.hs 413;" f
edgeToPic src/Dodge/Debug/Picture.hs 425;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f
effectOnRemove src/Dodge/Equipment.hs 19;" f
eitType src/Dodge/Data/EquipType.hs 15;" f
@@ -3487,6 +3495,7 @@ flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f
flockPointTarget src/Dodge/Creature/Boid.hs 204;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 231;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 122;" f
floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
@@ -3551,11 +3560,11 @@ 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 360;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 347;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 363;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 350;" f
getDebugMouseOver src/Dodge/Update.hs 377;" f
getDistortions src/Dodge/Render.hs 435;" f
getEdgesCrossing src/Dodge/Path.hs 41;" f
getEdgesCrossing src/Dodge/Path.hs 42;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f
@@ -3565,11 +3574,11 @@ getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
getLinksOfType src/Dodge/RoomLink.hs 41;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 389;" f
getNodePos src/Dodge/Path.hs 38;" f
getNodePos src/Dodge/Path.hs 39;" 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 343;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 346;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3608,11 +3617,12 @@ graphicsMenu src/Dodge/Menu.hs 185;" f
graphicsMenuOptions src/Dodge/Menu.hs 188;" f
green src/Color.hs 15;" f
greyN src/Color.hs 124;" f
gridInPolygon src/Grid.hs 12;" f
gridPoints src/Grid.hs 67;" f
gridPoints' src/Grid.hs 79;" f
gridPoints'' src/Grid.hs 74;" f
gridPointsOff src/Grid.hs 62;" f
gridInPolygon src/Grid.hs 14;" f
gridPoints src/Grid.hs 73;" f
gridPoints' src/Grid.hs 81;" f
gridPoints'' src/Grid.hs 76;" f
gridPointsOff src/Grid.hs 68;" f
gridXsYs src/Grid.hs 47;" f
groupSplitItemAmounts src/Dodge/Combine.hs 51;" f
gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 678;" f
gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f
@@ -3953,7 +3963,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 195;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 126;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 130;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
@@ -4043,16 +4053,15 @@ makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 56;" f
makeFlamelet src/Dodge/EnergyBall.hs 21;" f
makeFragBullets src/Dodge/Bullet.hs 132;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 37;" f
makeGrid src/Grid.hs 54;" f
makeIntInterval src/Dodge/Zoning/Base.hs 39;" 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 67;" f
makePathBetweenPs src/Dodge/Path.hs 88;" f
makePathUsing src/Dodge/Path.hs 55;" f
makePathBetween src/Dodge/Path.hs 68;" f
makePathBetweenPs src/Dodge/Path.hs 92;" f
makePathUsing src/Dodge/Path.hs 56;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f
makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 66;" f
makeShaderEBO src/Shader/Compile.hs 53;" f
makeShaderProgram src/Shader/Compile.hs 241;" f
@@ -4133,7 +4142,7 @@ 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 150;" f
midChasm src/Dodge/Room/Tutorial.hs 174;" f
midChasm src/Dodge/Room/Tutorial.hs 177;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4165,7 +4174,7 @@ mntLSCond src/Dodge/Placement/Instance/LightSource.hs 163;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 68;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 180;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 185;" f
modTo src/Geometry/Zone.hs 10;" f
modTo src/Geometry/Zone.hs 18;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f
mouseCursorType src/Dodge/Render/Picture.hs 92;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 25;" f
@@ -4228,6 +4237,7 @@ noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 23;" f
nodeFormatting src/Dodge/Combine/Graph.hs 145;" f
nodesNear src/Dodge/Path.hs 80;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f
normalizeAngle src/Geometry/Vector.hs 128;" f
normalizeAnglePi src/Dodge/Base.hs 154;" f
@@ -4247,8 +4257,8 @@ numSelfTree' src/Dodge/Tree/Compose.hs 110;" f
numShads src/Picture/Data.hs 40;" f
numSubElements src/Shader/Parameters.hs 39;" f
numTraversable src/TreeHelp.hs 184;" f
obstacleColor src/Dodge/Debug/Picture.hs 270;" f
obstructPathsCrossing src/Dodge/Path.hs 122;" f
obstacleColor src/Dodge/Debug/Picture.hs 271;" f
obstructPathsCrossing src/Dodge/Path.hs 126;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f
onRemoveWristShield src/Dodge/Equipment.hs 24;" f
@@ -4278,7 +4288,7 @@ outwardIntegers src/Dodge/Base.hs 181;" f
overCol src/Picture/Base.hs 308;" f
overColObj src/Shape.hs 273;" f
overColSH src/Shape.hs 241;" f
overDebugEvent src/Dodge/Debug.hs 30;" f
overDebugEvent src/Dodge/Debug.hs 36;" f
overLnkPosDir src/Dodge/RoomLink.hs 115;" f
overLnkType src/Dodge/RoomLink.hs 105;" f
overPos src/Picture/Base.hs 303;" f
@@ -4296,7 +4306,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 95;" f
pairsToIncGraph src/Dodge/Path.hs 99;" f
pairsToIncidence src/Dodge/Graph.hs 20;" f
pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 58;" f
@@ -4304,7 +4314,7 @@ 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 70;" f
pathEdgeObstructed src/Dodge/Path.hs 71;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 525;" f
pauseMenu src/Dodge/Menu.hs 59;" f
@@ -4379,7 +4389,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 92;" f
pointTowardsImpulse src/Dodge/Path.hs 96;" 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
@@ -4424,8 +4434,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 195;" f
polyChasmC src/Dodge/Room/Tutorial.hs 204;" f
polyChasm src/Dodge/Room/Tutorial.hs 198;" f
polyChasmC src/Dodge/Room/Tutorial.hs 207;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 61;" f
@@ -4531,8 +4541,8 @@ qID src/Quaternion.hs 58;" f
qToAng src/Quaternion.hs 55;" f
qToV2 src/Quaternion.hs 52;" f
qToV3 src/Quaternion.hs 49;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 217;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 181;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 221;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 185;" f
quitCommand src/Dodge/Terminal.hs 93;" f
qz src/Quaternion.hs 67;" f
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
@@ -4563,8 +4573,8 @@ randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 644;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 60;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 270;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 282;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 274;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 286;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
randomMediumRoom src/Dodge/Room/Boss.hs 76;" f
randomPath src/TreeHelp.hs 145;" f
@@ -4609,7 +4619,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 260;" f
removeLights src/Dodge/Room/Tutorial.hs 263;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f
@@ -4677,7 +4687,7 @@ roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f
roomPillarsSquare src/Dodge/Room/Pillar.hs 49;" f
roomRect src/Dodge/Room/Procedural.hs 40;" f
roomRectAutoLinks src/Dodge/Room/Procedural.hs 143;" f
roomRectAutoLinks src/Dodge/Room/Procedural.hs 147;" f
roomShuriken src/Dodge/Room/Boss.hs 123;" f
roomTwistCross src/Dodge/Room/Boss.hs 154;" f
roomsContaining src/Dodge/Room/Containing.hs 20;" f
@@ -4787,7 +4797,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 369;" f
sensorTut src/Dodge/Room/Tutorial.hs 372;" 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
@@ -4795,7 +4805,7 @@ sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f
setAimPosture src/Dodge/Creature/YourControl.hs 145;" f
setChannelPos src/Sound.hs 150;" f
setClickWorldPos src/Dodge/Update.hs 102;" f
setClip src/Dodge/Debug.hs 182;" f
setClip src/Dodge/Debug.hs 250;" f
setClusterID src/Dodge/Combine/Graph.hs 114;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
@@ -4881,7 +4891,7 @@ shiftRelativeToPS src/Dodge/Placement/Shift.hs 18;" f
shiftRoomBy src/Dodge/Room/Link.hs 37;" f
shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shiftedGrid src/Grid.hs 27;" f
shineTargetLaser src/Dodge/Creature/State.hs 201;" f
shineTorch src/Dodge/Creature/State.hs 238;" f
shootBullet src/Dodge/HeldUse.hs 973;" f
@@ -4946,11 +4956,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 82;" f
smallSnailInt2 src/Dodge/Path.hs 86;" f
smg src/Dodge/Item/Held/Stick.hs 58;" f
smokeReducer src/Dodge/Item/Scope.hs 162;" f
snailAround src/Dodge/Path.hs 79;" f
snapToGrid src/Dodge/Path.hs 131;" f
snailAround src/Dodge/Path.hs 83;" f
snapToGrid src/Dodge/Path.hs 135;" f
sndV2 src/Geometry/Data.hs 73;" f
sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f
someCrits src/Dodge/LockAndKey.hs 120;" f
@@ -4964,7 +4974,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f
soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f
soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f
soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f
soundPic src/Dodge/Debug/Picture.hs 360;" f
soundPic src/Dodge/Debug/Picture.hs 372;" f
soundStart src/Dodge/SoundLogic.hs 118;" f
soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
@@ -5043,7 +5053,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/DrWdWd.hs 104;" f
stopPushing src/Dodge/DrWdWd.hs 102;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
@@ -5056,7 +5066,7 @@ 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
succB src/Dodge/Debug.hs 102;" f
succB src/Dodge/Debug.hs 170;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f
swapInOutLinks src/Dodge/RoomLink.hs 98;" f
swapIndices src/ListHelp.hs 50;" f
@@ -5258,11 +5268,11 @@ turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 43;" f
tutDrop src/Dodge/Room/Tutorial.hs 108;" f
tutHub src/Dodge/Room/Tutorial.hs 267;" f
tutLight src/Dodge/Room/Tutorial.hs 232;" f
tutRezBox src/Dodge/Room/Tutorial.hs 380;" f
tutHub src/Dodge/Room/Tutorial.hs 270;" f
tutLight src/Dodge/Room/Tutorial.hs 235;" f
tutRezBox src/Dodge/Room/Tutorial.hs 383;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 404;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 407;" f
tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
@@ -5325,7 +5335,7 @@ updateDoor src/Dodge/DrWdWd.hs 26;" f
updateDoors src/Dodge/Update.hs 311;" f
updateDust src/Dodge/Update.hs 823;" f
updateDusts src/Dodge/Update.hs 673;" f
updateEdge src/Dodge/Path.hs 47;" f
updateEdge src/Dodge/Path.hs 48;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 33;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 24;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 30;" f
@@ -5345,7 +5355,7 @@ updateIMl src/Dodge/Update.hs 532;" f
updateIMl' src/Dodge/Update.hs 535;" f
updateInGameCamera src/Dodge/Update/Camera.hs 79;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f
updateInt2Map src/Dodge/Zoning/Base.hs 98;" f
updateInt2Map src/Dodge/Zoning/Base.hs 119;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 260;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f
@@ -5470,8 +5480,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 23;" f
vgunMuzzles src/Dodge/HeldUse.hs 341;" f
viewBoundaries src/Dodge/Debug/Picture.hs 328;" f
viewClipBounds src/Dodge/Debug/Picture.hs 337;" f
viewBoundaries src/Dodge/Debug/Picture.hs 340;" f
viewClipBounds src/Dodge/Debug/Picture.hs 349;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f
violet src/Color.hs 21;" f
@@ -5481,7 +5491,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f
walkNozzle src/Dodge/HeldUse.hs 809;" f
walkableNodeNear src/Dodge/Path.hs 73;" f
walkableNodeNear src/Dodge/Path.hs 74;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
@@ -5558,12 +5568,14 @@ writeConfig src/Dodge/Menu.hs 182;" f
writeSaveSlot src/Dodge/Save.hs 36;" f
xCylinder src/Shape.hs 137;" f
xCylinderST src/Shape.hs 134;" f
xIntercepts src/Dodge/Zoning/Base.hs 66;" f
xIntercepts src/Dodge/Zoning/Base.hs 69;" f
xIntercepts' src/Dodge/Zoning/Base.hs 85;" f
xSwitch src/Dodge/Room/Airlock.hs 33;" f
xV2 src/Geometry/Vector.hs 201;" f
xyV3 src/Geometry/Vector.hs 213;" f
xyzV4 src/Geometry/Vector.hs 209;" f
yIntercepts src/Dodge/Zoning/Base.hs 82;" f
yIntercepts src/Dodge/Zoning/Base.hs 97;" f
yIntercepts' src/Dodge/Zoning/Base.hs 103;" f
yV2 src/Geometry/Vector.hs 205;" f
yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 13;" f
@@ -5576,39 +5588,39 @@ 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 162;" f
zChasm src/Dodge/Room/Tutorial.hs 163;" 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
zeroZ src/Geometry/Vector.hs 9;" f
zipArcs src/Dodge/Tesla.hs 52;" f
zipCount src/Dodge/Tree/Shift.hs 136;" f
zipCountDown src/Dodge/Room/Procedural.hs 123;" f
zipCountDown src/Dodge/Room/Procedural.hs 127;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 477;" f
zoneCreature src/Dodge/Zoning/Creature.hs 55;" f
zoneCreatures src/Dodge/Update.hs 513;" f
zoneDust src/Dodge/Zoning/Cloud.hs 48;" f
zoneDusts src/Dodge/Update.hs 481;" f
zoneExtract src/Dodge/Zoning/Base.hs 58;" f
zoneExtract src/Dodge/Zoning/Base.hs 61;" f
zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f
zoneMonoid src/Dodge/Zoning/Base.hs 89;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 26;" f
zoneMonoid src/Dodge/Zoning/Base.hs 110;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 28;" f
zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f
zoneOfCr src/Dodge/Zoning/Creature.hs 45;" f
zoneOfDs src/Dodge/Zoning/Cloud.hs 45;" f
zoneOfIncPe src/Dodge/Zoning/Pathing.hs 52;" f
zoneOfPn src/Dodge/Zoning/Pathing.hs 29;" f
zoneOfPoint src/Dodge/Zoning/Base.hs 46;" f
zoneOfRect src/Dodge/Zoning/Base.hs 30;" f
zoneOfSeg src/Dodge/Zoning/Base.hs 49;" f
zoneOfSegSet src/Dodge/Zoning/Base.hs 53;" f
zoneOfPoint src/Dodge/Zoning/Base.hs 48;" f
zoneOfRect src/Dodge/Zoning/Base.hs 32;" f
zoneOfSeg src/Dodge/Zoning/Base.hs 51;" f
zoneOfSegSet src/Dodge/Zoning/Base.hs 56;" f
zoneOfSight src/Dodge/Zoning/World.hs 9;" f
zoneOfWl src/Dodge/Zoning/Wall.hs 55;" f
zonePn src/Dodge/Zoning/Pathing.hs 32;" f
zoneWall src/Dodge/Zoning/Wall.hs 65;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 102;" f
zonesExtract src/Dodge/Zoning/Base.hs 62;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 123;" f
zonesExtract src/Dodge/Zoning/Base.hs 65;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 71;" f
zoomInLongGun src/Dodge/Update/Scroll.hs 105;" f
zoomOutLongGun src/Dodge/Update/Scroll.hs 113;" f