Commit before changing logging of placement spots

This commit is contained in:
2025-09-29 21:58:02 +01:00
parent 9ed6d75853
commit bf9a2250da
14 changed files with 294 additions and 288 deletions
+3 -3
View File
@@ -8,16 +8,16 @@
"_graphics_cloud_shadows": true,
"_graphics_distortion_resolution": "FullRes",
"_graphics_distortions": true,
"_graphics_downsize_resolution": "QuarterRes",
"_graphics_downsize_resolution": "EighthRes",
"_graphics_num_shadow_casters": "NumShadowCasters20",
"_graphics_shadow_rendering": "GeoObjShads",
"_graphics_shadow_size": "Typical",
"_graphics_world_resolution": "HalfRes",
"_graphics_world_resolution": "QuarterRes",
"_volume_master": 1,
"_volume_music": 0,
"_volume_sound": 1,
"_windowPosX": 0,
"_windowPosY": 29,
"_windowX": 800,
"_windowX": 1600,
"_windowY": 835
}
+11 -23
View File
@@ -6,9 +6,9 @@ Room layout (compact):
|
+- 6,7
|
+- 8,9,10,11,12,13,14,15,16,17,18,19
+- 8,9,10
|
20,21
11,12,13,14,15
Layout with room names:
tutRezBox-0
@@ -31,27 +31,15 @@ doorToggle-6gon-3
| |
| autoDoor-9
| |
| Corridor-10
| |
| Corridor-11
| |
| roomCenterPillar-12
| |
| corridorN-13
| |
| autoDoor-14
| |
| Corridor-15
| |
| 6gon-16
| |
| defaultRoom-17
| |
| autoRect-18
| |
| Corridor-19
| glassSwitchBack-10
|
triggerDoorRoom-20
triggerDoorRoom-11
|
autoRect-21
6gon-12
|
defaultRoom-13
|
autoRect-14
|
Corridor-15
+1 -1
View File
@@ -1,4 +1,4 @@
Generating level with seed 7114951007332849727
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
22 rooms in total
16 rooms in total
+14 -38
View File
@@ -5,15 +5,9 @@ Seed: 7114951007332849727
|
2:DoorTest
|
3:corDoor
3:TutDrop
|
4:critroom
|
5:corDoor
|
6:TutDrop
|
7:cor
4:cor
0:0:TutStartRez
@@ -38,38 +32,20 @@ Seed: 7114951007332849727
| 2:0:4:autoRect
|
+- 2:0:5:Corridor
| |
| 2:0:6:autoDoor
| |
| 2:0:7:glassSwitchBack
|
2:0:6:triggerDoorRoom
2:0:8:triggerDoorRoom
3:0:TutDrop
3:0:0:6gon
|
2:0:7:autoRect
3:0:corDoor
3:0:0:autoDoor
3:0:1:defaultRoom
|
3:0:1:Corridor
3:0:2:autoRect
4:0:critroom
4:0:0:Corridor
|
4:0:1:roomCenterPillar
|
4:0:2:corridorN
5:0:corDoor
5:0:0:autoDoor
|
5:0:1:Corridor
6:0:TutDrop
6:0:0:6gon
|
6:0:1:defaultRoom
|
6:0:2:autoRect
7:0:Corridor
4:0:Corridor
+1 -1
View File
File diff suppressed because one or more lines are too long
+6
View File
@@ -76,6 +76,12 @@ data RoomPosType
| RoomPosLab Int
deriving (Eq, Ord, Show)
data UsedPos
= UsedPosLow
| UsedPosMid
| UsedPosHigh
deriving (Eq, Ord, Show)
makeLenses ''RoomLink
makeLenses ''RoomPos
makeLenses ''RoomPosType
+2 -2
View File
@@ -60,8 +60,8 @@ initialRoomTree =
, psPtPl anyUnusedSpot (PutCrit armourChaseCrit)
])
, intAnno $ fmap (tToBTree "healthTest") . healthTest
, zoom lyGen $
(tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward)
, zoom lyGen
$ tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward
, passthroughLockKeyLists lockRoomKeyItems itemRooms
, randomChallenges
, intAnno lasSensorTurretTest
+1 -2
View File
@@ -4,14 +4,13 @@ module Dodge.Layout (
tilesFromRooms,
) where
import Data.List (sortOn)
import Dodge.Path.Translate
import qualified Control.Foldl as L
import Control.Lens
import Data.Foldable
import Data.Function
import Data.Graph.Inductive (labEdges, labNodes)
import Data.List (nubBy)
import Data.List (nubBy,sortOn)
import Data.Maybe
import Data.Tile
--import Data.Traversable
@@ -165,6 +165,9 @@ mntLightLnkCond ps = do
shp <- takeOne [vShape, lShape, jShape, liShape]
return $ mntLSCond (fmap (fmap $ colorSH black) shp) ps
mntLightLnkCond' :: PlacementSpot -> Placement
mntLightLnkCond' = mntLSCond (fmap (fmap $ colorSH black) vShape)
spanLSLightI :: LightSource -> Float -> Point2 -> Point2 -> Placement
spanLSLightI ls h a b =
ps0j (PutLS $ ls & lsParam . lsPos .~ V3 x y h) $
+21 -16
View File
@@ -23,7 +23,7 @@ import Geometry
import qualified IntMapHelp as IM
import LensHelp
import NewInt
import System.Random
--import System.Random
-- when placing a placement, we update the world and the room and assign an id
-- to the placement. This id should be associated with the type of placement and
@@ -38,14 +38,17 @@ placeSpot rid w plmnt = case plmnt of
where
shift = _rmShift $ w ^?! genRooms . ix rid
placePlainPSSpot
:: GenWorld -> Int -> Placement -> DPoint2 -> GenWorld
placePlainPSSpot w rid plmnt shift =
let (i, w') = placeSpotID rid (shiftPSBy shift (_plSpot plmnt)) (_plType plmnt) w
newplmnt = plmnt & plMID ?~ i
gw = maybe (w' & genRooms . ix rid . rmPmnts .:~ newplmnt)
(recrPlace newplmnt w') (_plIDCont plmnt w' newplmnt)
in (f newplmnt gw)
placePlainPSSpot :: GenWorld -> Int -> Placement -> DPoint2 -> GenWorld
placePlainPSSpot w rid plmnt shift = case plmnt ^. plType of
RandPS rgn ->
let (x, g) = runState rgn (w ^. gwWorld . randGen)
in placePlainPSSpot (w & gwWorld . randGen .~ g) rid (plmnt & plType .~ x) shift
_ ->
let (i, w') = placeSpotID rid (shiftPSBy shift (_plSpot plmnt)) (_plType plmnt) w
newplmnt = plmnt & plMID ?~ i
gw = maybe (w' & genRooms . ix rid . rmPmnts .:~ newplmnt)
(recrPlace newplmnt w') (_plIDCont plmnt w' newplmnt)
in f newplmnt gw
where
f x gw = fromMaybe gw $ do
j <- x ^. plExternalID
@@ -90,7 +93,8 @@ placeSpotID rid ps pt w = case pt of
PutTrigger cnd -> plNewID (gwWorld . cWorld . lWorld . triggers) cnd w
PutMod mdi -> plNewUpID (gwWorld . cWorld . lWorld . modifications) mdID mdi w
PutProp prp -> plNewUpID (gwWorld . cWorld . lWorld . props) prID (mvProp p rot prp) w
PutButton bt -> plNewUpID (gwWorld . cWorld . lWorld . buttons) btID (mvButton p rot bt) w
PutButton bt -> plNewUpID (gwWorld . cWorld . lWorld . buttons) btID
(mvButton p rot bt) w
PutTerminal tm -> plNewUpID (gwWorld . cWorld . lWorld . terminals) tmID tm w
PutFlIt itm ->
let i = IM.newKey (w ^. gwWorld . cWorld . lWorld . items)
@@ -108,7 +112,7 @@ placeSpotID rid ps pt w = case pt of
PutMachine pps mc wl mitm -> plMachine (map doShift pps) mc wl mitm p rot w
PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p' rot ls) w
PutPPlate pp -> plNewUpID (gwWorld . cWorld . lWorld . pressPlates) ppID (mvPP p rot pp) w
RandPS rgn -> evaluateRandPS rid rgn ps w
RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w
PutDoor col eo f pss -> plDoor col eo f (map (bimap doShift doShift) pss) w
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
PutSlideDr wl dr eo off a b ->
@@ -131,11 +135,12 @@ placeSpotID rid ps pt w = case pt of
rot = _psRot ps
doShift = shiftPointBy (p, rot)
evaluateRandPS
:: Int -> State StdGen PSType -> PlacementSpot -> GenWorld -> (Int, GenWorld)
evaluateRandPS rid rgen ps w = placeSpotID rid ps evaluatedType (set (gwWorld . randGen) g w)
where
(evaluatedType, g) = runState rgen (_randGen $ _gwWorld w)
--evaluateRandPS
-- :: Int -> State StdGen PSType -> PlacementSpot -> GenWorld -> (Int, GenWorld)
--evaluateRandPS rid rgen ps w = placeSpotID rid ps evaluatedType
-- $ set (gwWorld . randGen) g w
-- where
-- (evaluatedType, g) = runState rgen (_randGen $ _gwWorld w)
-- this function is the reason for the warning suppression
-- remove the warning suppression if it changes
+29 -8
View File
@@ -9,6 +9,7 @@ module Dodge.Room.Room (
spawnerRoom,
corDoor,
weaponBehindPillar,
critsRoom,
) where
import qualified Data.Set as S
@@ -73,6 +74,7 @@ glassSwitchBack = do
wth <- state $ randomR (200, 400)
hgt <- state $ randomR (400, 600)
wllen <- state $ randomR (60, wth / 2 -40)
l1 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isInLnk rp)
let hf = hgt / 5
awindow h xl xr = windowLine (V2 xl h) (V2 xr h)
plmnts =
@@ -84,7 +86,8 @@ glassSwitchBack = do
, blockLine (V2 (wth - wllen) (2 * hf)) (V2 wth (2 * hf))
, blockLine (V2 0 (3 * hf)) (V2 wllen (3 * hf))
, blockLine (V2 (wth - wllen) (4 * hf)) (V2 wth (4 * hf))
, sPS (V2 (wth / 2) (hgt / 2)) 0 putLamp
, l1
-- , sPS (V2 (wth / 2) (10 + hgt / 2)) 0 putLamp
]
let northPSs = do
cry <- randomRanges [3 * hf + 10, 4 * hf -10, 4 * hf + 10, 5 * hf -10]
@@ -120,7 +123,8 @@ roomMiniIntro = do
roomCenterPillar :: RandomGen g => State g Room
roomCenterPillar = do
l1 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isInLnk rp)
l2 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isOutLnk rp)
l2 <- mntLightLnkCond ((resetPLUse $ rprBool $ \rp _ -> isOutLnk rp)
& psFallback ?~ mntLightLnkCond' (resetPLUse useUnusedLnk))
let plmnts =
[ blockLine (V2 115 115) (V2 115 125)
, blockLine (V2 125 115) (V2 125 125)
@@ -299,15 +303,16 @@ shootersRoom' = do
]
toPS x y = return (V2 x y, -0.5 * pi)
roomRectAutoLinks w 600
<&> rmPmnts .~ plmnts
<&> rmRandPSs .~ [toPS x1 y1, toPS x2 y2, toPS x3 y3]
<&> rmPmnts .~ plmnts
<&> rmRandPSs .~ [toPS x1 y1, toPS x2 y2, toPS x3 y3]
shootersRoom1 :: RandomGen g => State g Room
shootersRoom1 = do
pl <- takeOne $
map
(\i -> psPtPl (PSRoomRand i (uncurry PS)) (PutCrit autoCrit))
[0, 1, 2]
pl <-
takeOne $
map
(\i -> psPtPl (PSRoomRand i (uncurry PS)) (PutCrit autoCrit))
[0, 1, 2]
shootersRoom' <&> rmPmnts
.:~ pl
@@ -377,5 +382,21 @@ corDoor = do
cor <- shuffleLinks (cleatOnward corridor) <&> rmPmnts .~ []
return $ tToBTree "corDoor" $ treePost [door, cor]
critsPillarRoom :: Int -> State LayoutVars Room
critsPillarRoom i = do
xs <- takeN i $ [V2 x y | x <- [20, 220], y <- [20, 40]] ++ [V2 120 160, V2 120 200]
rcp <- roomCenterPillar
return $ rcp & rmPmnts <>~ fmap f xs
where
f x = sPS x (argV $ V2 120 80 -.- x) randC1
critsRoom :: Int -> State LayoutVars (Tree Room)
critsRoom i =
join $
takeOne
--[return <$> critsPillarRoom i]
--[return <$> roomC 200 200]
[return <$> glassSwitchBack]
-- cor <- shuffleLinks corridor
-- return $ tToBTree "corDoor" $ treePost [door,cor,cleatOnward door]
+16 -17
View File
@@ -41,14 +41,10 @@ import qualified Data.IntMap.Strict as IM
tutAnoTree :: State LayoutVars MTRS
tutAnoTree = do
(is,wbp) <- setTreeInts =<< weaponBehindPillar
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, tutRooms is
, corDoor
, tToBTree "critroom" <$> return wbp
, corDoor
, tutHub
, tutDrop
, return $ tToBTree "cor" $ return $ cleatOnward corridor
---- , AnTree $ pickupTut
@@ -106,22 +102,24 @@ tutDrop = do
, makeTermLine "-------------------------------------------"
]
tutRooms :: [Int] -> State LayoutVars (MetaTree Room String)
tutRooms is = do
tutHub :: State LayoutVars (MetaTree Room String)
tutHub = do
(is,wbp) <- setTreeInts =<< critsRoom 2
i <- nextLayoutInt
j <- nextLayoutInt
k <- nextLayoutInt
let a gw = analyserByNthLinkWithPrompt
3 (makeTermPara $ show is <> show (getRoomsFromInts is gw)
<>(getCrsFromRooms' is gw))
3 --(makeTermPara $ show is <> show (getRoomsFromInts is gw)
-- <> getCrsFromRooms' is gw)
[]
(RequireDeadCreatures $ getCrsFromRooms is gw) k
x <-
shuffleLinks
. analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
. analyserByDoorWithPrompt [] (RequireEquipment (AMMOMAG DRUMMAG)) i
. (rmInPmnt .:~ (0,a))
=<< addDoorAtNthLinkToggleTerminal 1 ss j
<$> roomNgon 6 100
bcor <- blockedCorridor
. addDoorAtNthLinkToggleTerminal 1 ss j
=<< roomNgon 6 100
bcor <- treeAttachDeep (return door) <$> blockedCorridor
r1 <- r burstRifle <&> rmPmnts .:~ t
r2 <- r (drumMag & itConsumables ?~ 500)
return $
@@ -130,8 +128,9 @@ tutRooms is = do
x
[ treeFromPost [triggerDoorRoom i] r1
, treeFromPost [triggerDoorRoom j] r2
, bcor
, treeFromPost [triggerDoorRoom k & rmInPmnt . ix 0 . _1 .~ 1] r2
, (rmClusterStatus . csLinks . at OnwardCluster .~ Nothing)
<$> treeAttachDeep wbp bcor
, treeFromPost [] (cleatOnward $ triggerDoorRoom k & rmInPmnt . ix 0 . _1 .~ 1)
]
where
ss =
@@ -192,7 +191,7 @@ getCrsFromRooms' is gw = fmap h $ show $ foldMap f (IM.restrictKeys (gw ^. genRo
getCrsFromRooms :: [Int] -> GenWorld -> [Int]
getCrsFromRooms is gw = foldMap f (IM.restrictKeys (gw ^. genRooms) js)
where
js = foldMap IS.singleton $ IM.restrictKeys (gw ^. genInts) (IS.fromList is)
js = getRoomsFromInts is gw
f rm = foldMap g $ rm ^. rmPmnts
g x = case x ^. plType of
PutCrit _ -> [x ^?! plMID . _Just]
@@ -206,7 +205,7 @@ sensorTut =
, makeTermLine " | / - \\"
, makeTermLine "--------------------------------------------"
]
<> tlSetStatus (TerminalPressTo "CONTINUE")
-- <> tlSetStatus (TerminalPressTo "CONTINUE")
tutRezBox :: RandomGen g => State g Room
tutRezBox = do
+5
View File
@@ -26,6 +26,7 @@ module TreeHelp (
updateRandNode,
safeUpdateSingleNode,
numTraversable,
treeAttachDeep,
) where
import Control.Lens
@@ -188,3 +189,7 @@ numTraversable = snd . mapAccumL f 0
-- untested
inorderNumberTree :: Tree a -> Tree (a, Int)
inorderNumberTree = numTraversable
treeAttachDeep :: Tree a -> Tree a -> Tree a
treeAttachDeep t (Node y (z:zs)) = Node y (treeAttachDeep t z:zs)
treeAttachDeep t (Node y []) = Node y [t]
+181 -177
View File
@@ -505,7 +505,7 @@ GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" t
GasParams src/Dodge/Data/Item/Use.hs 54;" C
GenFloat src/Dodge/Data/GenFloat.hs 11;" t
GenParams src/Dodge/Data/GenParams.hs 15;" t
GenWorld src/Dodge/Data/GenWorld.hs 23;" t
GenWorld src/Dodge/Data/GenWorld.hs 24;" t
GenericFaction src/Dodge/Data/Creature/State.hs 15;" C
GeoObjShads src/Dodge/Data/Config.hs 101;" C
GetTo src/Dodge/Data/ActionPlan.hs 189;" C
@@ -980,11 +980,11 @@ PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 89;" C
POWERLEGS src/Dodge/Data/Item/Combine.hs 130;" C
PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C
PRISM src/Dodge/Data/Item/Combine.hs 66;" C
PS src/Dodge/Data/GenWorld.hs 68;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 69;" C
PSPos src/Dodge/Data/GenWorld.hs 70;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 75;" C
PSType src/Dodge/Data/GenWorld.hs 31;" t
PS src/Dodge/Data/GenWorld.hs 93;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 94;" C
PSPos src/Dodge/Data/GenWorld.hs 95;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 100;" C
PSType src/Dodge/Data/GenWorld.hs 32;" t
PUMP src/Dodge/Data/Item/Combine.hs 63;" C
PaletteColor src/Color/Data.hs 14;" t
PathEdge src/Dodge/Data/PathGraph.hs 40;" t
@@ -1002,8 +1002,8 @@ PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 18;" C
Picture src/Picture/Data.hs 46;" t
Piercing src/Dodge/Data/Damage.hs 20;" C
PistolAI src/Dodge/Data/Creature/Misc.hs 43;" C
Placement src/Dodge/Data/GenWorld.hs 81;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 67;" t
Placement src/Dodge/Data/GenWorld.hs 106;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 92;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 88;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlayStatus src/Sound/Data.hs 23;" t
@@ -1071,28 +1071,28 @@ PulseStatus src/Dodge/Data/Creature/Misc.hs 54;" C
PushSource src/Dodge/Data/Door.hs 27;" t
PushedBy src/Dodge/Data/Door.hs 29;" C
PushesItself src/Dodge/Data/Door.hs 28;" C
PutBlock src/Dodge/Data/GenWorld.hs 45;" C
PutButton src/Dodge/Data/GenWorld.hs 40;" C
PutChasm src/Dodge/Data/GenWorld.hs 63;" C
PutCoord src/Dodge/Data/GenWorld.hs 46;" C
PutCrit src/Dodge/Data/GenWorld.hs 32;" C
PutDoor src/Dodge/Data/GenWorld.hs 57;" C
PutFlIt src/Dodge/Data/GenWorld.hs 43;" C
PutForeground src/Dodge/Data/GenWorld.hs 59;" C
PutID src/Dodge/Data/GenWorld.hs 62;" C
PutLS src/Dodge/Data/GenWorld.hs 39;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 49;" C
PutMachine src/Dodge/Data/GenWorld.hs 33;" C
PutMod src/Dodge/Data/GenWorld.hs 47;" C
PutNothing src/Dodge/Data/GenWorld.hs 61;" C
PutBlock src/Dodge/Data/GenWorld.hs 46;" C
PutButton src/Dodge/Data/GenWorld.hs 41;" C
PutChasm src/Dodge/Data/GenWorld.hs 64;" C
PutCoord src/Dodge/Data/GenWorld.hs 47;" C
PutCrit src/Dodge/Data/GenWorld.hs 33;" C
PutDoor src/Dodge/Data/GenWorld.hs 58;" C
PutFlIt src/Dodge/Data/GenWorld.hs 44;" C
PutForeground src/Dodge/Data/GenWorld.hs 60;" C
PutID src/Dodge/Data/GenWorld.hs 63;" C
PutLS src/Dodge/Data/GenWorld.hs 40;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 50;" C
PutMachine src/Dodge/Data/GenWorld.hs 34;" C
PutMod src/Dodge/Data/GenWorld.hs 48;" C
PutNothing src/Dodge/Data/GenWorld.hs 62;" C
PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 21;" C
PutPPlate src/Dodge/Data/GenWorld.hs 44;" C
PutProp src/Dodge/Data/GenWorld.hs 41;" C
PutSlideDr src/Dodge/Data/GenWorld.hs 56;" C
PutTerminal src/Dodge/Data/GenWorld.hs 42;" C
PutTrigger src/Dodge/Data/GenWorld.hs 48;" C
PutWall src/Dodge/Data/GenWorld.hs 55;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" C
PutPPlate src/Dodge/Data/GenWorld.hs 45;" C
PutProp src/Dodge/Data/GenWorld.hs 42;" C
PutSlideDr src/Dodge/Data/GenWorld.hs 57;" C
PutTerminal src/Dodge/Data/GenWorld.hs 43;" C
PutTrigger src/Dodge/Data/GenWorld.hs 49;" C
PutWall src/Dodge/Data/GenWorld.hs 56;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 61;" C
QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 97;" C
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C
@@ -1116,7 +1116,7 @@ RadialDistortion src/Dodge/Data/Distortion.hs 13;" C
RandImpulse src/Dodge/Data/ActionPlan.hs 62;" t
RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 64;" C
RandImpulseList src/Dodge/Data/ActionPlan.hs 63;" C
RandPS src/Dodge/Data/GenWorld.hs 58;" C
RandPS src/Dodge/Data/GenWorld.hs 59;" C
RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C
RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
@@ -1152,7 +1152,7 @@ Rocket src/Dodge/Data/Projectile.hs 34;" C
RocketHoming src/Dodge/Data/Projectile.hs 41;" t
RocketSmoke src/Dodge/Data/Projectile.hs 54;" t
RocketSmoke src/Dodge/Data/Cloud.hs 24;" C
Room src/Dodge/Data/GenWorld.hs 96;" t
Room src/Dodge/Data/GenWorld.hs 121;" t
RoomClipping src/Dodge/Data/Config.hs 107;" t
RoomInt src/Dodge/Tree/Shift.hs 26;" t
RoomLink src/Dodge/Data/Room.hs 23;" t
@@ -1860,9 +1860,9 @@ _fullscreenShader src/Data/Preload/Render.hs 20;" f
_futureWorlds src/Dodge/Data/World.hs 67;" f
_futureWorlds src/Dodge/Data/World.hs 73;" f
_gameplay_rotate_to_wall src/Dodge/Data/Config.hs 55;" f
_genInts src/Dodge/Data/GenWorld.hs 27;" f
_genPmnt src/Dodge/Data/GenWorld.hs 26;" f
_genRooms src/Dodge/Data/GenWorld.hs 25;" f
_genInts src/Dodge/Data/GenWorld.hs 28;" f
_genPmnt src/Dodge/Data/GenWorld.hs 27;" f
_genRooms src/Dodge/Data/GenWorld.hs 26;" f
_getAttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" f
_getCombAmount src/Dodge/Data/CombAmount.hs 12;" f
_getFixated src/Dodge/Data/Creature/Perception.hs 62;" f
@@ -1895,7 +1895,7 @@ _guPos src/Dodge/Data/Gust.hs 15;" f
_guTime src/Dodge/Data/Gust.hs 17;" f
_guVel src/Dodge/Data/Gust.hs 16;" f
_gusts src/Dodge/Data/LWorld.hs 103;" f
_gwWorld src/Dodge/Data/GenWorld.hs 24;" f
_gwWorld src/Dodge/Data/GenWorld.hs 25;" f
_heldPos src/Dodge/Data/Input.hs 43;" f
_heldWorldPos src/Dodge/Data/Input.hs 45;" f
_hotkeys src/Dodge/Data/LWorld.hs 147;" f
@@ -2130,11 +2130,11 @@ _pjSpin src/Dodge/Data/Projectile.hs 21;" f
_pjTimer src/Dodge/Data/Projectile.hs 24;" f
_pjType src/Dodge/Data/Projectile.hs 26;" f
_pjVel src/Dodge/Data/Projectile.hs 19;" f
_plExternalID src/Dodge/Data/GenWorld.hs 85;" f
_plIDCont src/Dodge/Data/GenWorld.hs 86;" f
_plMID src/Dodge/Data/GenWorld.hs 84;" f
_plSpot src/Dodge/Data/GenWorld.hs 82;" f
_plType src/Dodge/Data/GenWorld.hs 83;" f
_plExternalID src/Dodge/Data/GenWorld.hs 110;" f
_plIDCont src/Dodge/Data/GenWorld.hs 111;" f
_plMID src/Dodge/Data/GenWorld.hs 109;" f
_plSpot src/Dodge/Data/GenWorld.hs 107;" f
_plType src/Dodge/Data/GenWorld.hs 108;" f
_playStatus src/Sound/Data.hs 17;" f
_playingSounds src/Dodge/Data/World.hs 42;" f
_pnZoning src/Dodge/Data/World.hs 52;" f
@@ -2174,34 +2174,34 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 38;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 37;" f
_proxSensorType src/Dodge/Data/Machine/Sensor.hs 28;" f
_proxToggle src/Dodge/Data/Machine/Sensor.hs 29;" f
_psFallback src/Dodge/Data/GenWorld.hs 73;" f
_psPos src/Dodge/Data/GenWorld.hs 68;" f
_psRandShift src/Dodge/Data/GenWorld.hs 77;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 72;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 76;" f
_psRot src/Dodge/Data/GenWorld.hs 68;" f
_psSelect src/Dodge/Data/GenWorld.hs 71;" f
_psFallback src/Dodge/Data/GenWorld.hs 98;" f
_psPos src/Dodge/Data/GenWorld.hs 93;" f
_psRandShift src/Dodge/Data/GenWorld.hs 102;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 97;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 101;" f
_psRot src/Dodge/Data/GenWorld.hs 93;" f
_psSelect src/Dodge/Data/GenWorld.hs 96;" f
_pulseBalls src/Dodge/Data/LWorld.hs 119;" f
_pulseLasers src/Dodge/Data/LWorld.hs 118;" f
_pulseProgress src/Dodge/Data/Creature/Misc.hs 56;" f
_pulseRate src/Dodge/Data/Creature/Misc.hs 55;" f
_putBlock src/Dodge/Data/GenWorld.hs 45;" f
_putButton src/Dodge/Data/GenWorld.hs 40;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 63;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 53;" f
_putID src/Dodge/Data/GenWorld.hs 62;" f
_putItem src/Dodge/Data/GenWorld.hs 43;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 35;" f
_putMachineMaybeItem src/Dodge/Data/GenWorld.hs 37;" f
_putMachinePoly src/Dodge/Data/GenWorld.hs 34;" f
_putMachineWall src/Dodge/Data/GenWorld.hs 36;" f
_putPoly src/Dodge/Data/GenWorld.hs 45;" f
_putStartPoint src/Dodge/Data/GenWorld.hs 52;" f
_putWall src/Dodge/Data/GenWorld.hs 45;" f
_putWall src/Dodge/Data/GenWorld.hs 50;" f
_putWidth src/Dodge/Data/GenWorld.hs 51;" f
_pwPoly src/Dodge/Data/GenWorld.hs 55;" f
_pwWall src/Dodge/Data/GenWorld.hs 55;" f
_putBlock src/Dodge/Data/GenWorld.hs 46;" f
_putButton src/Dodge/Data/GenWorld.hs 41;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 64;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 54;" f
_putID src/Dodge/Data/GenWorld.hs 63;" f
_putItem src/Dodge/Data/GenWorld.hs 44;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 36;" f
_putMachineMaybeItem src/Dodge/Data/GenWorld.hs 38;" f
_putMachinePoly src/Dodge/Data/GenWorld.hs 35;" f
_putMachineWall src/Dodge/Data/GenWorld.hs 37;" f
_putPoly src/Dodge/Data/GenWorld.hs 46;" f
_putStartPoint src/Dodge/Data/GenWorld.hs 53;" f
_putWall src/Dodge/Data/GenWorld.hs 46;" f
_putWall src/Dodge/Data/GenWorld.hs 51;" f
_putWidth src/Dodge/Data/GenWorld.hs 52;" f
_pwPoly src/Dodge/Data/GenWorld.hs 56;" f
_pwWall src/Dodge/Data/GenWorld.hs 56;" f
_pyFaces src/Polyhedra/Data.hs 14;" f
_pzDamage src/Dodge/Data/PulseLaser.hs 15;" f
_pzDir src/Dodge/Data/PulseLaser.hs 14;" f
@@ -2229,28 +2229,28 @@ _rkSmoke src/Dodge/Data/Projectile.hs 36;" f
_rlDir src/Dodge/Data/Room.hs 26;" f
_rlPos src/Dodge/Data/Room.hs 25;" f
_rlType src/Dodge/Data/Room.hs 24;" f
_rmBound src/Dodge/Data/GenWorld.hs 111;" f
_rmChildren src/Dodge/Data/GenWorld.hs 122;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 124;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 119;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 118;" f
_rmFloor src/Dodge/Data/GenWorld.hs 112;" f
_rmBound src/Dodge/Data/GenWorld.hs 136;" f
_rmChildren src/Dodge/Data/GenWorld.hs 147;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 149;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 144;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 143;" f
_rmFloor src/Dodge/Data/GenWorld.hs 137;" f
_rmHeight src/Dodge/Data/Room.hs 38;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 110;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 100;" f
_rmLinks src/Dodge/Data/GenWorld.hs 98;" f
_rmMID src/Dodge/Data/GenWorld.hs 120;" f
_rmMParent src/Dodge/Data/GenWorld.hs 121;" f
_rmName src/Dodge/Data/GenWorld.hs 113;" f
_rmPath src/Dodge/Data/GenWorld.hs 108;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 109;" f
_rmPolys src/Dodge/Data/GenWorld.hs 97;" f
_rmPos src/Dodge/Data/GenWorld.hs 107;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 116;" f
_rmShift src/Dodge/Data/GenWorld.hs 114;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 117;" f
_rmType src/Dodge/Data/GenWorld.hs 123;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 115;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 135;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 125;" f
_rmLinks src/Dodge/Data/GenWorld.hs 123;" f
_rmMID src/Dodge/Data/GenWorld.hs 145;" f
_rmMParent src/Dodge/Data/GenWorld.hs 146;" f
_rmName src/Dodge/Data/GenWorld.hs 138;" f
_rmPath src/Dodge/Data/GenWorld.hs 133;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 134;" f
_rmPolys src/Dodge/Data/GenWorld.hs 122;" f
_rmPos src/Dodge/Data/GenWorld.hs 132;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 141;" f
_rmShift src/Dodge/Data/GenWorld.hs 139;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 142;" f
_rmType src/Dodge/Data/GenWorld.hs 148;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 140;" f
_rmWidth src/Dodge/Data/Room.hs 37;" f
_rpDir src/Dodge/Data/Room.hs 16;" f
_rpLinkStatus src/Dodge/Data/Room.hs 18;" f
@@ -2441,12 +2441,12 @@ _unNInt src/NewInt.hs 17;" f
_unNIntMap src/NewInt.hs 23;" f
_unNIntSet src/NewInt.hs 20;" f
_unPrimitiveMode src/Shader/Data.hs 99;" f
_unPutCrit src/Dodge/Data/GenWorld.hs 32;" f
_unPutCrit src/Dodge/Data/GenWorld.hs 33;" f
_unST src/Dodge/Data/MetaTree.hs 20;" f
_unTO src/Shader/Data.hs 59;" f
_unfiredBarrels src/Dodge/Data/Item/Params.hs 19;" f
_unpauseClock src/Dodge/Data/World.hs 56;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 42;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 43;" f
_useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f
_useExactly src/Dodge/Data/Muzzle.hs 62;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 40;" f
@@ -2574,7 +2574,7 @@ addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
addIndefiniteArticle src/StringHelp.hs 17;" f
addNodes src/Dodge/Path.hs 115;" f
addPane src/Dodge/Placement/PlaceSpot.hs 147;" f
addPane src/Dodge/Placement/PlaceSpot.hs 153;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPointPolygon src/Geometry/Polygon.hs 102;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
@@ -2584,7 +2584,7 @@ addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f
addSideEffect src/Dodge/Concurrent.hs 29;" f
addSouthPillars src/Dodge/Room/LongDoor.hs 89;" f
addTermSignal src/Dodge/Event/Input.hs 31;" f
addToTrunk src/TreeHelp.hs 156;" f
addToTrunk src/TreeHelp.hs 157;" f
addWarningTerminal src/Dodge/Room/Warning.hs 54;" f
addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 81;" f
@@ -2639,10 +2639,10 @@ applySoundCME src/Dodge/HeldUse.hs 441;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyToNode src/TreeHelp.hs 65;" f
applyToRandomNode src/TreeHelp.hs 151;" f
applyToSubforest src/TreeHelp.hs 78;" f
applyToSubtree src/TreeHelp.hs 71;" f
applyTorqueCME src/Dodge/HeldUse.hs 562;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
@@ -2781,7 +2781,7 @@ boxXYZ src/Polyhedra.hs 94;" f
boxXYZnobase src/Polyhedra.hs 80;" f
brainHat src/Dodge/Item/Equipment.hs 73;" f
branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 68;" 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 124;" f
@@ -2963,7 +2963,7 @@ coolMinigun src/Dodge/Creature/State.hs 94;" f
copier src/Dodge/Item/Scope.hs 88;" f
copierItemUpdate src/Dodge/Creature/State.hs 130;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 375;" f
corDoor src/Dodge/Room/Room.hs 378;" f
cornerList src/Preload/Render.hs 198;" f
corpseOrGib src/Dodge/Creature/Update.hs 110;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
@@ -3035,7 +3035,9 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 859;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 53;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 74;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 63;" f
critInDeadEnd src/Dodge/Room/Room.hs 234;" f
critInDeadEnd src/Dodge/Room/Room.hs 236;" f
critsPillarRoom src/Dodge/Room/Room.hs 383;" f
critsRoom src/Dodge/Room/Room.hs 391;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 29;" f
crossPic src/Dodge/Render/Label.hs 27;" f
crossProd src/Geometry/Vector3D.hs 41;" f
@@ -3096,7 +3098,7 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 314;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 237;" f
deadEndRoom src/Dodge/Room/Room.hs 239;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
@@ -3263,8 +3265,8 @@ doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1184;" f
doGravityPU src/Dodge/Projectile/Update.hs 36;" f
doHeldUseEffect src/Dodge/HeldUse.hs 343;" f
doInPlacements src/Dodge/Layout.hs 82;" f
doIndividualPlacements src/Dodge/Layout.hs 96;" f
doInPlacements src/Dodge/Layout.hs 81;" f
doIndividualPlacements src/Dodge/Layout.hs 95;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
doIntImp src/Dodge/CreatureEffect.hs 24;" f
doItemTimeScroll src/Dodge/Update.hs 191;" f
@@ -3283,7 +3285,7 @@ doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f
doRoomPlacements src/Dodge/Layout.hs 99;" f
doRoomPlacements src/Dodge/Layout.hs 98;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
doSectionSize src/Dodge/DisplayInventory.hs 211;" f
@@ -3309,7 +3311,7 @@ doorMechanism src/Dodge/DrWdWd.hs 24;" f
doorMechanismStepwise src/Dodge/DrWdWd.hs 59;" f
dotV src/Geometry/Vector.hs 75;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 267;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 269;" f
doubleFindMax src/Dodge/Update/Scroll.hs 181;" f
doubleFindMin src/Dodge/Update/Scroll.hs 160;" f
doubleFindPred src/Dodge/Update/Scroll.hs 188;" f
@@ -3520,7 +3522,6 @@ errorHead src/ListHelp.hs 76;" f
errorIsLHS src/Geometry.hs 66;" f
errorNormalizeV src/Geometry.hs 55;" f
errorPointInPolygon src/Geometry.hs 47;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 133;" f
evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/WorldEffect.hs 116;" f
expandLine src/Dodge/Picture.hs 30;" f
@@ -3533,7 +3534,7 @@ explodeShell src/Dodge/Projectile/Update.hs 282;" f
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
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 203;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 81;" f
extraPics src/Dodge/Render/ShapePicture.hs 91;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f
@@ -3598,7 +3599,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 117;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
foldMTRS src/Dodge/Room/Tutorial.hs 57;" f
foldMTRS src/Dodge/Room/Tutorial.hs 54;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 39;" f
@@ -3645,7 +3646,7 @@ gasType src/Dodge/HeldUse.hs 1141;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
generateGraphs src/Dodge/LevelGen.hs 41;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
generateLevelFromRoomList src/Dodge/Layout.hs 34;" f
generateLevelFromRoomList src/Dodge/Layout.hs 33;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 19;" f
geom src/Shader/Data.hs 102;" f
geometryQuickCheckTests test/Spec.hs 55;" f
@@ -3663,7 +3664,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 173;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 191;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 179;" f
getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3678,6 +3680,7 @@ getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1283;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 175;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3700,8 +3703,8 @@ glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f
glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f
glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f
glassSwitchBack src/Dodge/Room/Room.hs 71;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 100;" f
glassSwitchBack src/Dodge/Room/Room.hs 72;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 101;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 412;" f
glushortSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
@@ -3819,7 +3822,7 @@ initializeGLState src/Preload/Render.hs 216;" f
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
initializeTexture2D src/Framebuffer/Update.hs 221;" f
inorderNumberTree src/TreeHelp.hs 189;" f
inorderNumberTree src/TreeHelp.hs 190;" f
insertAt src/Padding.hs 63;" f
insertIMInZone src/Dodge/Base.hs 54;" f
insertInTrie src/SimpleTrie.hs 24;" f
@@ -4243,7 +4246,7 @@ miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 384;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 381;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
miniTree2 src/Dodge/Room/Room.hs 107;" f
miniTree2 src/Dodge/Room/Room.hs 108;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 49;" f
mirrorxz src/Picture/Base.hs 335;" f
@@ -4262,6 +4265,7 @@ mntLSLampCol src/Dodge/Placement/Instance/LightSource.hs 133;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 54;" f
mntLight src/Dodge/Placement/Instance/LightSource.hs 158;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 163;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 168;" f
modTo src/Geometry/Zone.hs 10;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f
mouseCursorType src/Dodge/Render/Picture.hs 86;" f
@@ -4291,18 +4295,18 @@ multiLookupTrie src/SimpleTrie.hs 57;" f
multiLookupTrieI src/SimpleTrie.hs 66;" f
muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 674;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 155;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 161;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 164;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 161;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 167;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 170;" f
mvGust src/Dodge/Update.hs 770;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 222;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 228;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 158;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 164;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 314;" f
mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 152;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 158;" f
mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 207;" f
myIntersectSegSeg src/Geometry/Intersect.hs 185;" f
@@ -4344,7 +4348,7 @@ numSelfTree src/Dodge/Tree/Compose.hs 107;" f
numSelfTree' src/Dodge/Tree/Compose.hs 110;" f
numShads src/Picture/Data.hs 42;" f
numSubElements src/Shader/Parameters.hs 39;" f
numTraversable src/TreeHelp.hs 183;" f
numTraversable src/TreeHelp.hs 184;" f
obstacleColor src/Dodge/Debug/Picture.hs 262;" f
obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
@@ -4437,28 +4441,27 @@ pincerP''' src/Dodge/Creature/Boid.hs 75;" f
pingPongBetween src/Render.hs 221;" f
pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolerRoom src/Dodge/Room/Room.hs 320;" f
pistolerRoom src/Dodge/Room/Room.hs 323;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 225;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 167;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 197;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 173;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 203;" f
plNew src/Dodge/Base/NewID.hs 19;" f
plNewID src/Dodge/Base/NewID.hs 7;" f
plNewUpID src/Dodge/Base/NewID.hs 13;" f
plNewUsing src/Dodge/Base/NewID.hs 27;" f
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f
plTurret src/Dodge/Placement/PlaceSpot.hs 173;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 211;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 40;" f
plTurret src/Dodge/Placement/PlaceSpot.hs 179;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 217;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 41;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 31;" f
placeSpot' src/Dodge/Layout.hs 105;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 87;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 74;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 55;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 141;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 91;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 78;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 59;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 147;" f
plainRegex src/Dodge/DisplayInventory.hs 189;" f
playIfFree src/Sound.hs 137;" f
playPositionalSoundQueue src/Sound.hs 145;" f
@@ -4619,11 +4622,11 @@ putBlockN src/Dodge/Placement/Instance/Wall.hs 166;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 145;" f
putBlockRect' src/Dodge/Placement/Instance/Wall.hs 132;" f
putBlockV src/Dodge/Placement/Instance/Wall.hs 153;" f
putColorLamp src/Dodge/Placement/Instance/LightSource.hs 203;" f
putColorLamp src/Dodge/Placement/Instance/LightSource.hs 206;" 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 66;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 206;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 209;" f
putLasTurret src/Dodge/Placement/Instance/Turret.hs 24;" f
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f
@@ -4673,12 +4676,12 @@ randSpark src/Dodge/Spark.hs 69;" f
randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 626;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 58;" f
randomCompass src/Dodge/Layout.hs 57;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 265;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 277;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
randomMediumRoom src/Dodge/Room/Boss.hs 75;" f
randomPath src/TreeHelp.hs 144;" f
randomPath src/TreeHelp.hs 145;" f
randomPoints bench/Bench.hs 37;" f
randomRanges src/RandomHelp.hs 16;" f
randomSelectionFromList src/RandomHelp.hs 65;" f
@@ -4777,15 +4780,15 @@ rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 73;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 39;" f
roomCCrits src/Dodge/Room/Room.hs 262;" f
roomCenterPillar src/Dodge/Room/Room.hs 120;" f
roomC src/Dodge/Room/Room.hs 40;" f
roomCCrits src/Dodge/Room/Room.hs 264;" f
roomCenterPillar src/Dodge/Room/Room.hs 121;" f
roomCritLS src/Dodge/Room/RunPast.hs 24;" f
roomCross src/Dodge/Room/Boss.hs 84;" f
roomGlassOctogon src/Dodge/Room/Boss.hs 21;" f
roomMiniIntro src/Dodge/Room/Room.hs 115;" f
roomMiniIntro src/Dodge/Room/Room.hs 116;" f
roomNgon src/Dodge/Room/Ngon.hs 15;" f
roomPadCut src/Dodge/Room/Room.hs 60;" f
roomPadCut src/Dodge/Room/Room.hs 61;" 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
@@ -4844,7 +4847,7 @@ safeMinimumOnMaybeL src/FoldableHelp.hs 57;" f
safeNormalizeV src/Geometry/Vector.hs 164;" f
safeSwapKeys src/IntMapHelp.hs 77;" f
safeUncons src/ListHelp.hs 72;" f
safeUpdateSingleNode src/TreeHelp.hs 115;" f
safeUpdateSingleNode src/TreeHelp.hs 116;" f
saveConfig src/Dodge/Config/Update.hs 20;" f
saveQuit src/Dodge/Menu.hs 76;" f
saveQuitConc src/Dodge/Menu.hs 79;" f
@@ -4905,7 +4908,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 196;" 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 181;" f
sensorTut src/Dodge/Room/Tutorial.hs 200;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 233;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
@@ -4931,17 +4934,17 @@ setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f
setRoomInt src/Dodge/Room/Tutorial.hs 63;" f
setRoomInt src/Dodge/Room/Tutorial.hs 60;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f
setTile src/Dodge/Layout.hs 67;" f
setTiles src/Dodge/Layout.hs 64;" f
setTile src/Dodge/Layout.hs 66;" f
setTiles src/Dodge/Layout.hs 63;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 70;" f
setTreeInts src/Dodge/Room/Tutorial.hs 67;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f
@@ -5013,10 +5016,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1211;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 794;" f
shootersRoom src/Dodge/Room/Room.hs 314;" f
shootersRoom' src/Dodge/Room/Room.hs 282;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f
shootingRange src/Dodge/Room/Room.hs 331;" f
shootersRoom src/Dodge/Room/Room.hs 317;" f
shootersRoom' src/Dodge/Room/Room.hs 284;" f
shootersRoom1 src/Dodge/Room/Room.hs 307;" f
shootingRange src/Dodge/Room/Room.hs 334;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f
@@ -5035,7 +5038,7 @@ shrinkPolyOnEdges src/Geometry/Polygon.hs 142;" f
shrinkVert src/Geometry/Polygon.hs 146;" f
shuffle src/RandomHelp.hs 49;" f
shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 77;" f
shuffleRoomPos src/Dodge/Layout.hs 76;" f
shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 847;" f
@@ -5090,18 +5093,18 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 86;" f
spaceAction src/Dodge/Update/Input/InGame.hs 528;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 190;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 193;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 186;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 178;" f
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 171;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 200;" f
sparkDam src/Dodge/Spark.hs 36;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f
sparkRandDir src/Dodge/Spark.hs 116;" f
sparkToDamage src/Dodge/Spark.hs 39;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 56;" f
spawnerRoom src/Dodge/Room/Room.hs 359;" f
spawnerRoom src/Dodge/Room/Room.hs 362;" f
speedLegs src/Dodge/Item/Equipment.hs 90;" f
splashMenu src/Dodge/Menu.hs 30;" f
splashMenuOptions src/Dodge/Menu.hs 35;" f
@@ -5110,8 +5113,8 @@ splinterBlock src/Dodge/Block.hs 26;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f
splitTrunk src/TreeHelp.hs 178;" f
splitTrunkAt src/TreeHelp.hs 166;" f
splitTrunk src/TreeHelp.hs 179;" f
splitTrunkAt src/TreeHelp.hs 167;" f
spreadAroundCenter src/Dodge/Base.hs 173;" f
spreadCenter src/Dodge/Base.hs 187;" f
spreadFromCenter src/Dodge/Base.hs 176;" f
@@ -5172,7 +5175,7 @@ stringToList src/Picture/Base.hs 313;" f
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 118;" f
subMap src/TreeHelp.hs 119;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 56;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
@@ -5340,13 +5343,14 @@ translateToRightLeg src/Dodge/Creature/HandPos.hs 112;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 24;" f
treeChildNums src/TreeHelp.hs 129;" f
treeFromPost src/TreeHelp.hs 39;" f
treeFromTrunk src/TreeHelp.hs 51;" f
treeAttachDeep src/TreeHelp.hs 193;" f
treeChildNums src/TreeHelp.hs 130;" f
treeFromPost src/TreeHelp.hs 40;" f
treeFromTrunk src/TreeHelp.hs 52;" f
treeMaxDepthFromTrunk src/Dodge/Layout/Generate.hs 21;" f
treePath src/Dodge/Tree/GenerateStructure.hs 13;" f
treePaths src/TreeHelp.hs 138;" f
treePost src/TreeHelp.hs 45;" f
treePaths src/TreeHelp.hs 139;" f
treePost src/TreeHelp.hs 46;" f
treeToPotentialFunction src/Dodge/Item/Grammar.hs 143;" f
triLootRoom src/Dodge/Room/Treasure.hs 22;" f
triggerDoorRoom src/Dodge/Room/Door.hs 31;" f
@@ -5355,7 +5359,7 @@ triggerSwitchSPic src/Dodge/Placement/Instance/Button.hs 14;" f
triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 31;" f
truncFaces src/Polyhedra/Geodesic.hs 53;" f
truncate src/Polyhedra/Geodesic.hs 38;" f
trunkDepth src/TreeHelp.hs 161;" f
trunkDepth src/TreeHelp.hs 162;" f
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 236;" f
tryCombine src/Dodge/Update/Input/InGame.hs 545;" f
@@ -5376,12 +5380,12 @@ tryUseParent src/Dodge/Creature/State.hs 144;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 37;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f
tutDrop src/Dodge/Room/Tutorial.hs 75;" f
tutRezBox src/Dodge/Room/Tutorial.hs 191;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 42;" f
tutDrop src/Dodge/Room/Tutorial.hs 72;" f
tutHub src/Dodge/Room/Tutorial.hs 105;" f
tutRezBox src/Dodge/Room/Tutorial.hs 210;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutRooms src/Dodge/Room/Tutorial.hs 108;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 213;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 232;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
@@ -5413,7 +5417,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 144;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 126;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 200;" f
updateAimPos src/Dodge/Update.hs 302;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateAllNodes src/TreeHelp.hs 86;" f
updateArc src/Dodge/Tesla.hs 44;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f
updateBarrel src/Dodge/Barreloid.hs 42;" f
@@ -5497,7 +5501,7 @@ updateRadarBlip src/Dodge/RadarBlip.hs 11;" f
updateRadarBlips src/Dodge/Update.hs 545;" f
updateRadarSweep src/Dodge/RadarSweep.hs 39;" f
updateRadarSweeps src/Dodge/Update.hs 646;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRandNode src/TreeHelp.hs 109;" f
updateRenderSplit appDodge/Main.hs 110;" f
updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f
updateRootItemID src/Dodge/Inventory/Location.hs 41;" f
@@ -5507,7 +5511,7 @@ updateSection src/Dodge/DisplayInventory.hs 258;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f
updateShockwave src/Dodge/Shockwave/Update.hs 8;" f
updateShockwaves src/Dodge/Update.hs 637;" f
updateSingleNodes src/TreeHelp.hs 97;" f
updateSingleNodes src/TreeHelp.hs 98;" f
updateSound src/Sound.hs 72;" f
updateSounds src/Sound.hs 67;" f
updateSpark src/Dodge/Spark.hs 19;" f
@@ -5615,12 +5619,12 @@ wasdWithAiming src/Dodge/Creature/YourControl.hs 125;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 179;" f
weakenMatS src/Dodge/Material/Sound.hs 18;" f
weaponBehindPillar src/Dodge/Room/Room.hs 177;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 193;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 138;" f
weaponLongCorridor src/Dodge/Room/Room.hs 218;" f
weaponRoom src/Dodge/Room/Room.hs 251;" f
weaponUnderCrits src/Dodge/Room/Room.hs 156;" f
weaponBehindPillar src/Dodge/Room/Room.hs 179;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 195;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 140;" f
weaponLongCorridor src/Dodge/Room/Room.hs 220;" f
weaponRoom src/Dodge/Room/Room.hs 253;" f
weaponUnderCrits src/Dodge/Room/Room.hs 158;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f
whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 712;" f