Work on rooms

This commit is contained in:
2026-03-21 18:48:44 +00:00
parent b52964f606
commit 5394450800
9 changed files with 170 additions and 173 deletions
+1 -1
View File
@@ -143,7 +143,7 @@ updateDisplaySections w cfig =
(sfclose, sclose) =
filterSectionsPair closefiltcurs plainRegex closeitms "NEARBY ITEMS" $
w ^? hud . diCloseFilter . _Just
interfaceshead = if null btitems then mempty else makehead "NEARBY INTERFACES"
interfaceshead = if null btitems then mempty else makehead "INTERFACES"
btitems =
IM.fromDistinctAscList . zip [0 ..] $
mapMaybe (closeButtonToSelectionItem w) (w ^. hud . closeButtons)
+5 -5
View File
@@ -26,11 +26,11 @@ lockRoomMultiItems =
lockRoomKeyItems :: [(Int -> State LayoutVars (MetaTree Room String), State LayoutVars ItemType)]
lockRoomKeyItems =
-- [ (lasCenSensEdge, takeOne [LASER,HELD TESLACOIL, HELD FLATSHIELD])
[ (sensorRoomRunPast LaserSensor, return LASER)
-- , (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3))
-- , (const longRoomRunPast, takeOne [HELD SNIPERRIFLE, HELD FLATSHIELD])
-- , (const glassLessonRunPast, takeOne [LASER])
-- , (const $ lasTunnelRunPast 400, takeOne [HELD FLATSHIELD])
-- , (sensorRoomRunPast LaserSensor, return LASER)
-- [ (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3))
-- [ (const longRoomRunPast, takeOne [HELD SNIPERRIFLE, HELD FLATSHIELD])
-- [ (const glassLessonRunPast, takeOne [LASER])
[ (const $ lasTunnelRunPast 400, takeOne [HELD FLATSHIELD])
-- , (keyCardRoomRunPast 0, return (HELD $ KEYCARD 0))
]
+1 -1
View File
@@ -90,7 +90,7 @@ damagePiezoelectric = damageStone
damagePhotovoltaic :: Damage -> ECW -> World -> (Int,World)
damagePhotovoltaic dm ecw w = case dm of
Lasering _ p t -> f (3*dmam) $ laserSpark (outTo p t) (rdir p t)
Lasering _ p t -> f (10*dmam) $ laserSpark (outTo p t) (rdir p t)
Piercing _ p t ->
f dmam $ makeSpark NormalSpark (outTo p t) (rdir p t)
. makeDustAt Stone 200 (addZ 20 (outTo p t))
@@ -16,6 +16,7 @@ module Dodge.Placement.Instance.LightSource (
spanLightY,
mntLightLnkCond',
spanLS,
mntLightLnkShape,
) where
import Color
@@ -148,6 +149,9 @@ mntLightLnkCond ps = do
shp <- takeOne [vShape, lShape, jShape, liShape]
return $ mntLSCond (fmap (fmap $ colorSH black) shp) ps
mntLightLnkShape :: (Point2 -> Point3 -> Shape) -> PlacementSpot -> Placement
mntLightLnkShape shp ps = mntLSCond (fmap (fmap $ colorSH black) shp) ps
mntLightLnkCond' :: PlacementSpot -> Placement
mntLightLnkCond' = mntLSCond (fmap (fmap $ colorSH black) vShape)
+3 -2
View File
@@ -118,8 +118,9 @@ gridRoomPos xs ys = map makeonpos (grid xs ys) <> map makeoffpos (grid (mids xs)
-- to do so)
roomRectAutoLights :: RandomGen g => Float -> Float -> State g Room
roomRectAutoLights x y = do
l1 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isInLnk rp
l2 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isOutLnk rp
shp <- takeOne [vShape, lShape, jShape, liShape]
let l1 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isInLnk rp
l2 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnk rp
return $ roomRect x y (f x) (f y)
& rmName .~ "autoRect"
& rmPmnts .~ [ l1 , l2 ]
+5 -4
View File
@@ -15,6 +15,7 @@ module Dodge.Room.Room (
critDeadEnd,
) where
import Data.Maybe
import Linear
import Color
import Dodge.Placement.Instance.Pipe
@@ -428,8 +429,8 @@ distributerRoom :: AmmoType -> Int -> State LayoutVars Room
distributerRoom atype aamount = do
i <- nextLayoutInt
i1 <- nextLayoutInt
w <- state $ randomR (100, 400)
h <- state $ randomR (200, 400)
w <- state $ randomR (100, 200)
h <- state $ randomR (200, 200)
r <- roomRectAutoLights w h
let mcstore = defaultMachine
& mcMaterial .~ Metal
@@ -446,8 +447,8 @@ distributerRoom atype aamount = do
& plSpot .~ unusedOffPathAwayFromLink 50
& plExternalID ?~ i1
thepipe gw =
let p1 = gw ^?! genPmnt . ix i . plSpot . psPos
p2 = gw ^?! genPmnt . ix i1 . plSpot . psPos
let p1 = fromMaybe (error "distributerRoom pipe") $ gw ^? genPmnt . ix i . plSpot . psPos
p2 = fromMaybe (error "distributerRoom pipe") $ gw ^? genPmnt . ix i1 . plSpot . psPos
in sps (PS p1 0)
(PutForeground
(ForegroundShape 0 0
+17 -13
View File
@@ -2,8 +2,6 @@
module Dodge.Room.SensorDoor (sensAboveDoor, sensorRoomRunPast) where
import Dodge.RoomLink
import Dodge.Room.Procedural
import Control.Monad
import qualified Data.Set as S
import Dodge.Cleat
@@ -17,6 +15,8 @@ import Dodge.Room.Door
import Dodge.Room.Link
import Dodge.Room.Modify
import Dodge.Room.Ngon
import Dodge.Room.Procedural
import Dodge.RoomLink
import Dodge.Terminal
import Dodge.Tree
import Dodge.Wire
@@ -28,8 +28,12 @@ import RandomHelp
-- for roomRectAutoLinks-- make the locked door a center door?
sensorRoom :: SensorType -> Int -> State LayoutVars (Tree Room)
sensorRoom senseType n = do
--rm <- join $ takeOne [addLightsNGon =<< roomNgon 8 200, roomRectAutoLights 200 200]
rm <- join $ takeOne [ roomRectAutoLights 200 200 <&> rmLinks %~ setOutLinks nonCornerLinks]
rm <-
join $
takeOne
[ addLightsNGon =<< roomNgon 8 200
, roomRectAutoLights 200 200 <&> rmLinks %~ setOutLinks nonCornerLinks
]
cenroom <- shuffleLinks $ sensInsideDoor senseType n rm
return $
treePost
@@ -75,7 +79,8 @@ sensAboveDoor sensetype wth ps =
sensInsideDoor :: SensorType -> Int -> Room -> Room
sensInsideDoor senseType i rm =
rm
& rmName .++~ take 4 (show senseType)
& rmName
.++~ take 4 (show senseType)
& rmPmnts
.++~ [ psPt atFstLnkOut . PutForeground $ floorWire (V2 20 0) (V2 20 (-100))
, psPt atFstLnkOut . PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100))
@@ -87,12 +92,11 @@ sensInsideDoor senseType i rm =
, sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
]
where
termpos rp rm' = isUnusedLnk rp rm'
&& all ((>30) . dist (_rpPos rp) . _rpPos) (filter usedlnks $ rm' ^. rmPos)
termpos rp rm' =
isUnusedLnk rp rm'
&& all ((> 30) . dist (_rpPos rp) . _rpPos) (filter usedlnks $ rm' ^. rmPos)
usedlnks rp = case _rpType rp of
UsedOutLink {} -> True
UsedInLink {} -> True
UnusedLink {} -> False
NotLink {} -> False
UsedOutLink{} -> True
UsedInLink{} -> True
UnusedLink{} -> False
NotLink{} -> False
+46 -61
View File
@@ -2,7 +2,6 @@
module Dodge.Room.Tutorial where
import Dodge.Room.Modify
import Control.Monad
import qualified Data.IntMap.Strict as IM
import qualified Data.IntSet as IS
@@ -29,6 +28,7 @@ import Dodge.Room.Door
import Dodge.Room.LasTurret
import Dodge.Room.Link
import Dodge.Room.LongDoor
import Dodge.Room.Modify
import Dodge.Room.Ngon
import Dodge.Room.Path
import Dodge.Room.Pillar
@@ -54,48 +54,31 @@ tutAnoTree = do
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, passthroughLockKeyLists lockRoomKeyItems itemRooms
--bbb , -- , return . tToBTree "door" $ treePost [corridor, cleatOnward door]
--bbb corDoor
--bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb lasRunRand
--bbb , corDoor
--bbb , passthroughLockKeyLists lockRoomKeyItems itemRooms
--bbb , -- , passthroughLockKeyLists lockRoomKeyItems itemRooms
--bbb tToBTree "door" . return <$> return (cleatOnward door)
--bbb , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb -- , passthroughLockKeyLists
--bbb -- [(sensorRoomRunPast ElectricSensor, takeOne
--bbb -- [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
--bbb -- HELD SPARKGUN])]
--bbb -- itemRooms
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
--bbb tToBTree "sdr" . return . cleatOnward
--bbb <$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
--bbb -- aaa---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
--bbb -- aaa-- , return $ tToBTree "door" $ return $ cleatOnward door
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa-- , tToBTree "sdr" . return . cleatOnward <$>
--bbb -- aaa-- (shuffleLinks =<< tanksPipesRoom)
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa , return $ tToBTree "door" $ return $ cleatOnward door
--bbb -- aaa , tutHub
--bbb -- aaa , chasmSpitTerminal
--bbb -- aaa , tutLight
--bbb -- aaa , tutDrop
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
--bbb -- aaa ---- , AnTree $ pickupTut
--bbb -- aaa ---- , AnTree $ weaponTut
, chasmSpitTerminal
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, corDoor
, tToBTree "sdr" . return . cleatOnward
<$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
, -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
-- , return $ tToBTree "door" $ return $ cleatOnward door
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , tToBTree "sdr" . return . cleatOnward <$>
-- (shuffleLinks =<< tanksPipesRoom)
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
return $ tToBTree "door" $ return $ cleatOnward door
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, tutHub
, chasmSpitTerminal
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, tutLight
, tutDrop
, return $ tToBTree "cor" $ return $ cleatOnward corridor
---- , AnTree $ pickupTut
---- , AnTree $ weaponTut
]
foldMTRS ::
@@ -131,8 +114,7 @@ tutDrop = do
isUnusedLnk
(\(p, a) -> ((p + 10 *.* unitVectorAtAngle (a - pi / 2), a), S.singleton UsedPosLow))
ss =
[ makeTermLine "--------------------------------------------"
, makeTermLine "YOU CAN ONLY CARRY A LIMITED AMOUNT OF ITEMS"
[ makeTermLine "YOU CAN ONLY CARRY A LIMITED AMOUNT OF ITEMS"
, makeTermLine "--------------------------------------------"
]
<> tlSetStatus (TerminalPressTo "CONTINUE")
@@ -273,19 +255,21 @@ midChasmSpit = do
y = 300
r <- roomRectAutoLights x y
cs <- join $ takeOne [censquare x y]
foutlnks <-
takeOne
[ \rl ->
isMidEdgeLink r North rl
|| isMidEdgeLink r East rl
|| isMidEdgeLink r West rl
, \rl -> OnEdge North `S.member` (rl ^. rlType)
&& not (FromEdge East 0 `S.member` (rl ^. rlType))
&& not (FromEdge West 0 `S.member` (rl ^. rlType))
]
shuffleLinks $
r
& rmLinks
%~ setOutLinks
( \rl ->
isMidEdgeLink r North rl
|| isMidEdgeLink r East rl
|| isMidEdgeLink r West rl
)
& rmLinks
%~ setInLinks (isMidEdgeLink r South)
& rmPmnts
.~ cs
& rmLinks %~ setOutLinks foutlnks
& rmLinks %~ setInLinks (isMidEdgeLink r South)
& rmPmnts .~ cs
where
censquare x y = do
z <- state $ randomR (40, 60)
@@ -304,8 +288,11 @@ chasmSpitTerminal :: State LayoutVars MTRS
chasmSpitTerminal = do
i1 <- nextLayoutInt
y <- midChasmSpit
l3 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 0 rp
l4 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 1 rp
shp <- takeOne [vShape, lShape, jShape, liShape]
let l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 0 rp
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 1 rp
l5 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 2 rp
-- let y' = y & rmPmnts <>~ [l3, l4, l5]
let y' = y & rmPmnts <>~ [l3, l4]
return $
tToBTree "chasmTerm" $
@@ -430,9 +417,7 @@ tutHub = do
where
ds = ["DESTROY THIS TO OPEN THE DOOR"]
ss =
[ makeTermLine "---------------------------------------------"
, makeTermLine "YOU CAN INTERACT WITH SOME TERMINALS DIRECTLY"
, makeTermLine " THESE WILL DISPLAY A PROMPT SYMBOL"
[ makeTermLine "SOME TERMINALS HAVE A PROMPT"
, makeTermLine " *****"
, makeTermLine " * * TYPE OR SCROLL TO ENTER COMMANDS"
, makeTermLine " * > *"
+88 -86
View File
@@ -2505,11 +2505,11 @@ _wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f
_xNum src/Dodge/Data/Item/Combine.hs 140;" f
_xNum src/Dodge/Data/Item/Combine.hs 150;" f
_xNum src/Dodge/Data/Item/Combine.hs 170;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 66;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 67;" f
aFlame src/Dodge/Gas.hs 20;" f
aGasCloud src/Dodge/Gas.hs 15;" f
aRadarPulse src/Dodge/RadarSweep.hs 20;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 91;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 92;" f
aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 65;" f
@@ -2741,7 +2741,7 @@ boxXYZ src/Polyhedra.hs 91;" f
boxXYZnobase src/Polyhedra.hs 77;" f
brainHat src/Dodge/Item/Equipment.hs 62;" f
branchRectWith src/Dodge/Room/Branch.hs 16;" f
branchWith src/Dodge/Room/Room.hs 79;" f
branchWith src/Dodge/Room/Room.hs 80;" f
bright src/Color.hs 147;" f
brightX src/Color.hs 143;" f
btSPic src/Dodge/Render/ShapePicture.hs 169;" f
@@ -2759,7 +2759,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f
cChasm src/Dodge/Room/Tutorial.hs 147;" f
cChasm src/Dodge/Room/Tutorial.hs 126;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2778,7 +2778,7 @@ ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 51;" f
centerText src/Picture/Base.hs 176;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 270;" f
centroid src/Geometry/Polygon.hs 177;" f
centroidNum src/Geometry/Polygon.hs 180;" f
chainPairs src/Geometry.hs 360;" f
@@ -2795,8 +2795,8 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmRotate src/Dodge/Creature/Update.hs 173;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 340;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 302;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 319;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 281;" f
chasmTestCorpse src/Dodge/Creature/Update.hs 155;" f
chasmTestLiving src/Dodge/Creature/Update.hs 137;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
@@ -2835,7 +2835,7 @@ circleSolidCol src/Picture/Base.hs 160;" f
clAlt src/Dodge/Cloud.hs 5;" f
clColor src/Shader/Poke/Cloud.hs 39;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 24;" f
clampPath src/Dodge/Room/Procedural.hs 146;" f
clampPath src/Dodge/Room/Procedural.hs 147;" f
clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 817;" f
clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 733;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 577;" f
@@ -2885,11 +2885,11 @@ colorSH src/Shape.hs 234;" f
combinationsOf src/Multiset.hs 46;" f
combinationsTrie src/Dodge/Combine.hs 44;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 152;" f
combineFloors src/Dodge/Room/Procedural.hs 153;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 340;" f
combineItemListYouX src/Dodge/Combine.hs 36;" f
combineList src/Dodge/Combine.hs 21;" f
combineRooms src/Dodge/Room/Procedural.hs 132;" f
combineRooms src/Dodge/Room/Procedural.hs 133;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 743;" f
combineTree src/Dodge/Tree/Compose.hs 68;" f
commandColor src/Dodge/Terminal.hs 127;" f
@@ -2921,7 +2921,7 @@ coolMinigun src/Dodge/Creature/State.hs 95;" f
copier src/Dodge/Item/Scope.hs 94;" f
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 404;" f
corDoor src/Dodge/Room/Room.hs 405;" f
cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 98;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
@@ -2995,10 +2995,10 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 883;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f
critDeadEnd src/Dodge/Room/Room.hs 257;" f
critInDeadEnd src/Dodge/Room/Room.hs 253;" f
critsPillarRoom src/Dodge/Room/Room.hs 410;" f
critsRoom src/Dodge/Room/Room.hs 418;" f
critDeadEnd src/Dodge/Room/Room.hs 258;" f
critInDeadEnd src/Dodge/Room/Room.hs 254;" f
critsPillarRoom src/Dodge/Room/Room.hs 411;" f
critsRoom src/Dodge/Room/Room.hs 419;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 28;" f
crossProd src/Geometry/Vector3D.hs 41;" f
@@ -3069,7 +3069,7 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 339;" f
deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 260;" f
deadEndRoom src/Dodge/Room/Room.hs 261;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 86;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
@@ -3194,7 +3194,7 @@ dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f
distributeAmmoToItem src/Dodge/WorldEffect.hs 151;" f
distributeAmmoToYou src/Dodge/WorldEffect.hs 139;" f
distributerRoom src/Dodge/Room/Room.hs 427;" f
distributerRoom src/Dodge/Room/Room.hs 428;" f
divTo src/Geometry/Zone.hs 8;" f
divideCircle src/Geometry.hs 321;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 65;" f
@@ -3272,11 +3272,11 @@ doWorldEvents src/Dodge/Update.hs 463;" f
doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 13;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f
doorCor src/Dodge/Room/Room.hs 399;" f
doorCor src/Dodge/Room/Room.hs 400;" f
doorLerp src/Dodge/Door.hs 40;" f
dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 290;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 291;" f
doublePair src/Geometry.hs 162;" f
doublePairSet src/Geometry.hs 166;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f
@@ -3547,7 +3547,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f
foldMTRS src/Dodge/Room/Tutorial.hs 100;" f
foldMTRS src/Dodge/Room/Tutorial.hs 80;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 25;" f
@@ -3609,8 +3609,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 489;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 476;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 466;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 453;" f
getDebugMouseOver src/Dodge/Update.hs 424;" f
getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3628,7 +3628,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1268;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomFromID src/Dodge/Room/Modify.hs 31;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 472;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 449;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3652,8 +3652,8 @@ glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f
glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 707;" f
glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f
glassSwitchBack src/Dodge/Room/Room.hs 82;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 116;" f
glassSwitchBack src/Dodge/Room/Room.hs 83;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 117;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f
gluintSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
@@ -3748,7 +3748,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 54;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 55;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
inLink src/Dodge/RoomLink.hs 128;" f
@@ -3922,7 +3922,7 @@ itmBaseInfo src/Dodge/Item/Info.hs 30;" f
itmEquipSiteInfo src/Dodge/Item/Info.hs 249;" f
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 229;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 69;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 70;" f
joinItemsInList src/Dodge/Item/Grammar.hs 211;" f
joystick src/Dodge/Item/Scope.hs 158;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
@@ -3942,11 +3942,11 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
lChasm src/Dodge/Room/Tutorial.hs 159;" f
lChasm src/Dodge/Room/Tutorial.hs 138;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 57;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 58;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
@@ -3983,7 +3983,7 @@ leftRightCombine src/Dodge/Item/Grammar.hs 201;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 82;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 447;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 82;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 83;" f
light src/Color.hs 131;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 77;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 64;" f
@@ -4177,9 +4177,9 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 188;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 210;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 269;" f
midChasm src/Dodge/Room/Tutorial.hs 167;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 189;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 248;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4193,7 +4193,7 @@ miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 374;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 366;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f
miniTree2 src/Dodge/Room/Room.hs 123;" f
miniTree2 src/Dodge/Room/Room.hs 124;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 76;" f
mirrorxz src/Picture/Base.hs 330;" f
@@ -4208,11 +4208,12 @@ mkDustCloudLike src/Shader/Poke/Cloud.hs 27;" f
mkGraphFromEdges src/GraphHelp.hs 4;" f
mkNode src/Dodge/Graph.hs 29;" f
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 106;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 129;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 34;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 146;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 151;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 107;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 130;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 35;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 147;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 155;" f
mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 152;" f
modTo src/Geometry/Zone.hs 18;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
mouseCursorType src/Dodge/Render/Picture.hs 90;" f
@@ -4276,6 +4277,7 @@ noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 23;" f
nodesNear src/Dodge/Path.hs 75;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 55;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f
normalTo8 src/Shader/Poke.hs 466;" f
normalizeAngle src/Geometry/Vector.hs 128;" f
@@ -4350,7 +4352,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 554;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 531;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 66;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4381,7 +4383,7 @@ pincerP'' src/Dodge/Creature/Boid.hs 106;" f
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
pipe src/Dodge/Item/Craftable.hs 29;" f
pistol src/Dodge/Item/Held/Stick.hs 18;" f
pistolerRoom src/Dodge/Room/Room.hs 344;" f
pistolerRoom src/Dodge/Room/Room.hs 345;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 196;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
@@ -4455,8 +4457,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 76;" f
poly3Col src/Picture/Base.hs 80;" f
polyChasm src/Dodge/Room/Tutorial.hs 318;" f
polyChasmC src/Dodge/Room/Tutorial.hs 330;" f
polyChasm src/Dodge/Room/Tutorial.hs 297;" f
polyChasmC src/Dodge/Room/Tutorial.hs 309;" f
polyCirc src/Shape.hs 47;" f
polyCircx src/Shape.hs 52;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4543,7 +4545,7 @@ putDoor src/Dodge/Room/Airlock.hs 114;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 203;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 207;" f
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 98;" f
@@ -4561,8 +4563,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 193;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 157;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 194;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 158;" f
quitCommand src/Dodge/Terminal.hs 106;" f
qz src/Quaternion.hs 67;" f
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
@@ -4594,8 +4596,8 @@ randSparkExtraVel src/Dodge/Spark.hs 93;" f
randWallReflect src/Dodge/Update.hs 702;" f
randomChallenges src/Dodge/Room/Start.hs 64;" f
randomCompass src/Dodge/Layout.hs 60;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 246;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 258;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 247;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 259;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
randomMediumRoom src/Dodge/Room/Boss.hs 70;" f
randomPath src/TreeHelp.hs 145;" f
@@ -4706,15 +4708,15 @@ rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 74;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f
rmOutLinks src/Dodge/RoomLink.hs 153;" f
roomC src/Dodge/Room/Room.hs 50;" f
roomCCrits src/Dodge/Room/Room.hs 285;" f
roomCenterPillar src/Dodge/Room/Room.hs 136;" f
roomC src/Dodge/Room/Room.hs 51;" f
roomCCrits src/Dodge/Room/Room.hs 286;" f
roomCenterPillar src/Dodge/Room/Room.hs 137;" f
roomCritLS src/Dodge/Room/RunPast.hs 24;" f
roomCross src/Dodge/Room/Boss.hs 79;" f
roomGlassOctogon src/Dodge/Room/Boss.hs 22;" f
roomMiniIntro src/Dodge/Room/Room.hs 131;" f
roomMiniIntro src/Dodge/Room/Room.hs 132;" f
roomNgon src/Dodge/Room/Ngon.hs 16;" f
roomPadCut src/Dodge/Room/Room.hs 71;" f
roomPadCut src/Dodge/Room/Room.hs 72;" f
roomPillars src/Dodge/Room/Pillar.hs 106;" f
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f
@@ -4825,15 +4827,15 @@ selSecSelSize src/Dodge/SelectionSections.hs 143;" f
selSecYint src/Dodge/SelectionSections.hs 152;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 47;" f
semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 785;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 64;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 73;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 70;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 79;" f
senseDamage src/Dodge/Machine/Update.hs 264;" f
senseDamage' src/Dodge/Wall/Damage.hs 61;" f
sensorReqToString src/Dodge/Machine/Update.hs 242;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 31;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 55;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 29;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 61;" f
sensorSPic src/Dodge/Machine/Draw.hs 99;" f
sensorTut src/Dodge/Room/Tutorial.hs 498;" f
sensorTut src/Dodge/Room/Tutorial.hs 475;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 288;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
@@ -4868,7 +4870,7 @@ setSoundVolume src/Sound.hs 159;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 107;" f
setTreeInts src/Dodge/Room/Tutorial.hs 87;" f
setViewDistance src/Dodge/Update/Camera.hs 245;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 448;" f
@@ -4930,10 +4932,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 1203;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 831;" f
shootersRoom src/Dodge/Room/Room.hs 338;" f
shootersRoom' src/Dodge/Room/Room.hs 305;" f
shootersRoom1 src/Dodge/Room/Room.hs 328;" f
shootingRange src/Dodge/Room/Room.hs 355;" f
shootersRoom src/Dodge/Room/Room.hs 339;" f
shootersRoom' src/Dodge/Room/Room.hs 306;" f
shootersRoom1 src/Dodge/Room/Room.hs 329;" f
shootingRange src/Dodge/Room/Room.hs 356;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f
@@ -5021,17 +5023,17 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
spaceAction src/Dodge/Update/Input/InGame.hs 534;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 176;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 169;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 161;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
spanLightY src/Dodge/Placement/Instance/LightSource.hs 187;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 180;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 173;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 165;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 187;" f
spanLightY src/Dodge/Placement/Instance/LightSource.hs 191;" f
sparkDam src/Dodge/Spark.hs 37;" f
sparkRandDir src/Dodge/Spark.hs 117;" f
sparkToDamage src/Dodge/Spark.hs 40;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 54;" f
spawnerRoom src/Dodge/Room/Room.hs 383;" f
spawnerRoom src/Dodge/Room/Room.hs 384;" f
speedLegs src/Dodge/Item/Equipment.hs 74;" f
splashMenu src/Dodge/Menu.hs 31;" f
splashMenuOptions src/Dodge/Menu.hs 36;" f
@@ -5048,8 +5050,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 239;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 254;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 218;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 233;" f
square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f
@@ -5216,7 +5218,7 @@ titleOptionsNoWrite src/Dodge/Menu.hs 107;" f
tlDoEffect src/Dodge/Terminal.hs 115;" f
tlSetStatus src/Dodge/Terminal.hs 112;" f
tmDistributeAmmo src/Dodge/WorldEffect.hs 119;" f
tmDistributeLines src/Dodge/Room/Room.hs 465;" f
tmDistributeLines src/Dodge/Room/Room.hs 466;" f
tmMachine src/Dodge/Placement/Instance/Terminal.hs 54;" f
toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
@@ -5317,13 +5319,13 @@ tryThrust src/Dodge/Projectile/Update.hs 126;" f
tryUseParent src/Dodge/Creature/State.hs 145;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 51;" f
tutDrop src/Dodge/Room/Tutorial.hs 112;" f
tutHub src/Dodge/Room/Tutorial.hs 394;" f
tutLight src/Dodge/Room/Tutorial.hs 362;" f
tutRezBox src/Dodge/Room/Tutorial.hs 509;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 52;" f
tutDrop src/Dodge/Room/Tutorial.hs 92;" f
tutHub src/Dodge/Room/Tutorial.hs 373;" f
tutLight src/Dodge/Room/Tutorial.hs 341;" f
tutRezBox src/Dodge/Room/Tutorial.hs 486;" f
tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 534;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 511;" f
tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
@@ -5521,7 +5523,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 154;" f
vNormal src/Geometry/Vector.hs 149;" f
vNormaly src/Geometry/Vector3D.hs 72;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 96;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 97;" f
vToL src/MatrixHelper.hs 56;" f
vToQuat src/Quaternion.hs 42;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
@@ -5564,12 +5566,12 @@ wasdMovement src/Dodge/Creature/YourControl.hs 169;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 185;" f
weaponBehindPillar src/Dodge/Room/Room.hs 196;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 212;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 157;" f
weaponLongCorridor src/Dodge/Room/Room.hs 237;" f
weaponRoom src/Dodge/Room/Room.hs 274;" f
weaponUnderCrits src/Dodge/Room/Room.hs 175;" f
weaponBehindPillar src/Dodge/Room/Room.hs 197;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 213;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 158;" f
weaponLongCorridor src/Dodge/Room/Room.hs 238;" f
weaponRoom src/Dodge/Room/Room.hs 275;" f
weaponUnderCrits src/Dodge/Room/Room.hs 176;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f
whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f
@@ -5644,7 +5646,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 172;" f
zChasm src/Dodge/Room/Tutorial.hs 151;" f
zConnect src/Dodge/Render/Connectors.hs 18;" f
zConnectCol src/Dodge/Render/Connectors.hs 29;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f