Work on placements/room generation

This commit is contained in:
2025-08-22 13:42:51 +01:00
parent e7b52f4487
commit f641805845
14 changed files with 294 additions and 596 deletions
+14 -148
View File
@@ -1,161 +1,27 @@
Seed: 7114951007332849727
Room layout (compact):
0,1,2,3,4,5,6
0,1,2,3
|
+- 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
| |
| +- 22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46
| | |
| | +- 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63
| | |
| | 64,65
| |
| 66,67,68
+- 4,5,6,7
|
69,70,71
8
Layout with room names:
rezBox-0
tutRezBox-0
|
autoDoor-1
|
rectPillars-2
Corridor-2
|
autoDoor-3
doorToggle-6gon-3
|
Corridor-4
+- triggerDoorRoom-4
| |
| 6gon-5
| |
| triggerDoorRoom-6
| |
| 6gon-7
|
autoDoor-5
|
ElecautoRect-6
|
+- triggerDoorRoom-7
| |
| autoDoor-8
| |
| autoDoor-9
| |
| Corridor-10
| |
| autoDoor-11
| |
| 8gon-12
| |
| triggerDoorRoom-13
| |
| autoDoor-14
| |
| autoDoor-15
| |
| Corridor-16
| |
| autoRect-17
| |
| autoDoor-18
| |
| Corridor-19
| |
| autoDoor-20
| |
| 6gon-21
| |
| +- triggerDoorRoom-22
| | |
| | autoDoor-23
| | |
| | autoDoor-24
| | |
| | Corridor-25
| | |
| | autoDoor-26
| | |
| | warningTerm-8gon-27
| | |
| | triggerDoorRoom-28
| | |
| | autoDoor-29
| | |
| | autoDoor-30
| | |
| | Corridor-31
| | |
| | autoRect-32
| | |
| | autoDoor-33
| | |
| | Corridor-34
| | |
| | autoDoor-35
| | |
| | Corridor-36
| | |
| | 8gon-37
| | |
| | triggerDoorRoom-38
| | |
| | autoDoor-39
| | |
| | autoDoor-40
| | |
| | Corridor-41
| | |
| | tanksRoom-42
| | |
| | autoDoor-43
| | |
| | Corridor-44
| | |
| | autoDoor-45
| | |
| | rect-46
| | |
| | +- autoDoor-47
| | | |
| | | autoDoor-48
| | | |
| | | Corridor-49
| | | |
| | | autoRect-50
| | | |
| | | defaultRoom-51
| | | |
| | | autoRect-52
| | | |
| | | defaultRoom-53
| | | |
| | | autoRect-54
| | | |
| | | autoDoor-55
| | | |
| | | Corridor-56
| | | |
| | | autoDoor-57
| | | |
| | | 8gon-58
| | | |
| | | triggerDoorRoom-59
| | | |
| | | autoDoor-60
| | | |
| | | autoDoor-61
| | | |
| | | Corridor-62
| | | |
| | | defaultRoom-63
| | |
| | Corridor-64
| | |
| | autoDoor-65
| |
| autoDoor-66
| |
| Corridor-67
| |
| autoRect-68
|
autoDoor-69
|
Corridor-70
|
autoRect-71
triggerDoorRoom-8
+1 -1
View File
@@ -1,4 +1,4 @@
Generating level with seed 7114951007332849727
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
72 rooms in total
9 rooms in total
+16 -246
View File
@@ -1,65 +1,17 @@
Seed: 7114951007332849727
0:startThenWeaponRoom
0:TutStartRez
|
1:corDoor
|
2:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
2:DoorTest
|
3:corDoor
3:PickupTest
|
4:lasSensorTurretTest
|
5:corDoor
|
6:anRoom
|
7:corDoor
|
8:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
9:corDoor
|
10:warningRooms
|
11:corDoor
|
12:chaseCrit+armourChaseCrit rectRoom
|
13:corDoor
|
14:healthTest
|
15:corDoor
|
16:empty tanksRoom
|
17:corDoor
|
18:PassthroughLockKeyLists-HELD {_ibtHeld = SNIPERRIFLE}
|
19:corDoor
|
20:shootingRange
|
21:corDoor
|
22:lasSensorTurretTest
|
23:corDoor
|
24:randomFourCornerRoom
4:WeaponTestTest
0:0:startThenWeaponRoom
|
0:1:weaponBetweenPillars_BANGSTICK4
0:0:TutStartRez
0:0:0:rezBox'
0:0:0:0:rezBox
|
0:0:0:1:autoDoor
0:1:0:rectPillars
0:0:0:tutRezBox
1:0:corDoor
@@ -67,201 +19,19 @@ Seed: 7114951007332849727
|
1:0:1:Corridor
2:0:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
2:0:DoorTest
2:0:0:RassThroughLockKeyLists
2:0:0:doorToggle-6gon
|
2:0:1:roomsContaining chaseCritchaseCritTRANSFORMERCANCAN
2:0:0:0:sensorRoomRunPast
2:0:0:0:0:autoDoor
+- 2:0:1:triggerDoorRoom
|
2:0:0:0:1:ElecautoRect
2:0:2:triggerDoorRoom
3:0:PickupTest
3:0:0:6gon
|
+- 2:0:0:0:2:triggerDoorRoom
| |
| 2:0:0:0:3:autoDoor
|
2:0:0:0:4:autoDoor
|
2:0:0:0:5:Corridor
3:0:1:triggerDoorRoom
2:0:1:0:autoRect
3:0:corDoor
3:0:0:autoDoor
|
3:0:1:Corridor
4:0:lasSensorTurretTest
4:0:0:autoDoor
|
4:0:1:8gon
|
4:0:2:triggerDoorRoom
|
4:0:3:autoDoor
5:0:corDoor
5:0:0:autoDoor
|
5:0:1:Corridor
6:0:anRoom
6:0:0:autoRect
7:0:corDoor
7:0:0:autoDoor
|
7:0:1:Corridor
8:0:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
8:0:0:RassThroughLockKeyLists
|
8:0:1:roomsContaining chaseCritchaseCritchaseCritKEYCARD 0
8:0:0:0:keyCardRoomRunPast
8:0:0:0:0:autoDoor
|
8:0:0:0:1:6gon
|
+- 8:0:0:0:2:triggerDoorRoom
| |
| 8:0:0:0:3:autoDoor
|
8:0:0:0:4:autoDoor
|
8:0:0:0:5:Corridor
8:0:1:0:autoRect
9:0:corDoor
9:0:0:autoDoor
|
9:0:1:Corridor
10:0:warningRooms
10:0:0:autoDoor
|
10:0:1:warningTerm-8gon
|
10:0:2:triggerDoorRoom
|
10:0:3:autoDoor
11:0:corDoor
11:0:0:autoDoor
|
11:0:1:Corridor
12:0:chaseCrit+armourChaseCrit rectRoom
12:0:0:autoRect
13:0:corDoor
13:0:0:autoDoor
|
13:0:1:Corridor
14:0:healthTest
14:0:0:autoDoor
|
14:0:1:Corridor
|
14:0:2:8gon
|
14:0:3:triggerDoorRoom
|
14:0:4:autoDoor
15:0:corDoor
15:0:0:autoDoor
|
15:0:1:Corridor
16:0:empty tanksRoom
16:0:0:tanksRoom
17:0:corDoor
17:0:0:autoDoor
|
17:0:1:Corridor
18:0:PassthroughLockKeyLists-HELD {_ibtHeld = SNIPERRIFLE}
18:0:0:RassThroughLockKeyLists
|
18:0:1:roomsContaining chaseCritchaseCritSNIPERRIFLE
18:0:0:0:longRoomRunPast
18:0:0:0:0:autoDoor
|
18:0:0:0:1:rect
|
+- 18:0:0:0:2:autoDoor
|
18:0:0:0:3:Corridor
|
18:0:0:0:4:autoDoor
18:0:1:0:rectPillars
19:0:corDoor
19:0:0:autoDoor
|
19:0:1:Corridor
20:0:shootingRange
20:0:0:autoRect
|
20:0:1:defaultRoom
|
20:0:2:autoRect
|
20:0:3:defaultRoom
|
20:0:4:autoRect
21:0:corDoor
21:0:0:autoDoor
|
21:0:1:Corridor
22:0:lasSensorTurretTest
22:0:0:autoDoor
|
22:0:1:8gon
|
22:0:2:triggerDoorRoom
|
22:0:3:autoDoor
23:0:corDoor
23:0:0:autoDoor
|
23:0:1:Corridor
24:0:defaultRoom
4:0:6gon
+1 -1
View File
File diff suppressed because one or more lines are too long
+5 -1
View File
@@ -29,7 +29,11 @@ data GenWorld = GenWorld
---- ROOM DATATYPES
data PSType
= PutCrit {_unPutCrit :: Creature}
| PutMachine {_putMachinePoly :: [Point2], _putMachineMachine :: Machine, _putMachineWall :: Wall}
| PutMachine
{ _putMachinePoly :: [Point2]
, _putMachineMachine :: Machine
, _putMachineWall :: Wall
}
| PutLS LightSource
| PutButton {_putButton :: Button}
| PutProp Prop
+1 -2
View File
@@ -7,8 +7,7 @@ import Control.Lens
import qualified Data.Set as S
data ClusterStatus = ClusterStatus
{ _csName :: String
, _csLinks :: S.Set ClusterLink
{ _csLinks :: S.Set ClusterLink
}
data ClusterLink = OnwardCluster | SideCluster | LabelCluster Int
+1 -1
View File
@@ -36,4 +36,4 @@ defaultRoom =
}
defaultClusterStatus :: ClusterStatus
defaultClusterStatus = ClusterStatus "defRoomClust" S.empty
defaultClusterStatus = ClusterStatus S.empty
+1 -1
View File
@@ -51,7 +51,7 @@ layoutLevelFromSeed i seed = do
putStrLnAppend "log/attemptedSeeds" $ "Generating level with seed " ++ show seed
appendFile "log/attemptedSeeds" "\n"
let g = mkStdGen seed
let treecluster = evalState initialRoomTree (LayVars g 0)
let treecluster = evalState tutRoomTree (LayVars g 0)
let labts = decomposeSelfTree $ numSelfTree $ combineTree _rmName treecluster
appendFile "log/treeCluster" ("Seed: " ++ show seed ++ "\n")
putStrLn "MetaTree clusters:"
+6 -1
View File
@@ -1,6 +1,7 @@
--{-# LANGUAGE LambdaCase #-}
module Dodge.PlacementSpot
( atFstLnkOut
, atNthLnkOutShiftBy
, rpIsOnPath
, rpIsOffPath
, rpOffPathFromEdge
@@ -34,6 +35,7 @@ module Dodge.PlacementSpot
, shiftByV2
, usedRoomLinkPoss
, usedRoomInLinkPoss
, atNthLinkOut
) where
import Dodge.Data.GenWorld
@@ -209,7 +211,10 @@ usedRoomLinkPoss r = mapMaybe f $ _rmPos r
_ -> Nothing
atFstLnkOut :: PlacementSpot
atFstLnkOut = rprBool $ \rp _ -> rp ^? rpLinkStatus . rplsChildNum == Just 0
atFstLnkOut = atNthLinkOut 0
atNthLinkOut :: Int -> PlacementSpot
atNthLinkOut n = rprBool $ \rp _ -> rp ^? rpLinkStatus . rplsChildNum == Just n
atNthLnkOutShiftBy :: Int -> ((Point2,Float) -> (Point2,Float)) -> PlacementSpot
atNthLnkOutShiftBy n = rprBoolShift
+18 -15
View File
@@ -22,14 +22,15 @@ import LensHelp
import RandomHelp
cenLasTur :: Room
cenLasTur = roomNgon 8 200 & rmPmnts .~
[ putLasTurret 0.02
, heightWallPS
(resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100))
30
covershape
, mntLightLnkCond $ rprBool $ const . isInLnk
]
cenLasTur =
roomNgon 8 200 & rmPmnts
.~ [ putLasTurret 0.02
, heightWallPS
(resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100))
30
covershape
, mntLightLnkCond $ rprBool $ const . isInLnk
]
where
covershape = rectNSWE 10 (-10) (-20) 20
@@ -74,24 +75,26 @@ keyCardAnalyserByDoor keyid = analyserByDoor (RequireEquipment (HELD (KEYCARD ke
healthAnalyserByDoor :: Int -> Room -> Room
healthAnalyserByDoor = analyserByDoor (RequireHealth 1100)
analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
analyserByDoor proxreq outplid rm =
analyserByNthLink :: Int -> ProximityRequirement -> Int -> Room -> Room
analyserByNthLink n proxreq outplid rm =
rm
& rmPmnts
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
]
& rmOutPmnt
.~ [ OutPlacement
.:~ OutPlacement
( analyser
proxreq
(atFstLnkOutShiftBy (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
(atFstLnkOutShiftBy sensorshift)
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
(atNthLnkOutShiftBy n sensorshift)
)
outplid
]
where
sensorshift (p, a) = (p +.+ rotateV a (V2 30 (-10)), a)
analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
analyserByDoor = analyserByNthLink 0
healthTest :: RandomGen g => Int -> State g (Tree Room)
healthTest n = do
cenroom <- shuffleLinks $ healthAnalyserByDoor n $ roomNgon 8 200
+1 -1
View File
@@ -373,7 +373,7 @@ spawnerRoom = do
aRoom <- airlock
return $ treeFromTrunk [aRoom, corridor] $ pure $ cleatOnward roomWithSpawner
corDoor :: State StdGen (MetaTree Room String)
corDoor :: RandomGen g => State g (MetaTree Room String)
corDoor = do
cor <- shuffleLinks (cleatOnward corridor) <&> rmPmnts .~ []
return $ tToBTree "corDoor" $ treePost [door, cor]
+48 -24
View File
@@ -1,14 +1,9 @@
module Dodge.Room.Tutorial (tutAnoTree) where
import Dodge.Cleat
import Dodge.Room.Room
import Dodge.Item.Held.Cane
import Dodge.Item.Ammo
import Dodge.Annotation.Data
import Dodge.Room.Link
import Dodge.Room.Ngon
import Dodge.Room.Door
import TreeHelp
import Dodge.Tree.Compose
import Dodge.Room.RezBox
import Dodge.Cleat
--import Control.Monad
--import qualified Data.Set as S
--import Dodge.Cleat
@@ -18,34 +13,68 @@ import Dodge.Default.Terminal
import Dodge.LevelGen.PlacementHelper
--import Dodge.LightSource
import Dodge.Placement.Instance
import Dodge.Room.Door
import Dodge.Room.LasTurret
import Dodge.Room.Link
import Dodge.Room.Ngon
--import Dodge.Room.Corridor
--import Dodge.Room.Door
--import Dodge.Room.Link
import Dodge.Room.Procedural
import Dodge.Room.RezBox
import Dodge.Room.Room
import Dodge.Room.Warning
--import Dodge.Room.RoadBlock
import Dodge.RoomLink
import Dodge.Terminal
import Dodge.Tree.Compose
--import Dodge.Tree
import Geometry
import LensHelp
--import Padding
import RandomHelp
import Data.List (intersperse)
import TreeHelp
--import Data.List (intersperse)
tutAnoTree :: Annotation
tutAnoTree = OnwardList $
intersperse
(AnTree $ zoom lyGen corDoor)
[AnTree . zoom lyGen $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
,AnTree $ zoom lyGen tutRooms
]
tutAnoTree =
OnwardList $
[ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, AnTree corDoor
, AnTree $ tutRooms
, AnTree $ pickupTut
, AnTree $ weaponTut
]
tutRooms :: State StdGen (MetaTree Room String)
weaponTut :: State LayoutVars (MetaTree Room String)
weaponTut = do
x <- shuffleLinks $ roomNgon 6 100
& rmPmnts .:~ sps (PS 0 0) (PutFlIt $ burstRifle)
return $ tToBTree "WeaponTestTest" $ treePost $ [x]
pickupTut :: State LayoutVars (MetaTree Room String)
pickupTut = do
i <- nextLayoutInt
x <- shuffleLinks $ analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i $ roomNgon 6 100
& rmPmnts .:~ sps (PS 0 0) (PutFlIt $ drumMag & itConsumables ?~ 100)
return $ tToBTree "PickupTest" $ treePost $ [x, cleatOnward $ triggerDoorRoom i]
tutRooms :: State LayoutVars (MetaTree Room String)
tutRooms = do
ys <- toggleDoorTest
return $ tToBTree "DoorTest" $ treePost $ [] <> ys
i <- nextLayoutInt
j <- nextLayoutInt
x <- shuffleLinks $ analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
$ addDoorAtNthLinkToggleTerminal 1 (makeTermPara s) j
$ roomNgon 6 100
return $ tToBTree "DoorTest" $ Node x
[Node (cleatOnward $ triggerDoorRoom i) []
,Node ( triggerDoorRoom j) []
]
where
s = "INTERACTION TEST 1: USE KEYBOARD OR SCROLL TO ENTER COMMANDS."
tutRezBox :: State StdGen Room
tutRezBox :: RandomGen g => State g Room
tutRezBox = do
ls <- rezColor
return $
@@ -63,8 +92,3 @@ tutRezBox = do
tutorialMessage1 :: String
tutorialMessage1 = "SYNTHESIS SUCCESSFUL. MOVEMENT TEST 1 INITIATED [WASD]. INTERACTION TEST 1 IN QUEUE [SPACE]."
toggleDoorTest :: State StdGen [Room]
toggleDoorTest = do
x <- shuffleLinks $ roomNgon 6 100
return [x,door]
+34 -10
View File
@@ -1,6 +1,8 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.Warning (warningRooms) where
module Dodge.Room.Warning (warningRooms,addDoorToggleTerminal
, addDoorAtNthLinkToggleTerminal) where
import Control.Monad
import Dodge.Default.Terminal
import Dodge.Data.BlBl
import Color
@@ -29,28 +31,36 @@ warningRooms str n = do
cenroom <- shuffleLinks $ addWarningTerminal str n rm
rToOnward "warningRooms" $ treePost [door, cenroom, triggerDoorRoom n, cleatOnward door]
addWarningTerminal :: String -> Int -> Room -> Room
addWarningTerminal str outplid = (rmName .++~ "warningTerm-")
. (rmOutPmnt .~ [OutPlacement outplace outplid])
addDoorToggleTerminal :: [TerminalLine] -> Int -> Room -> Room
addDoorToggleTerminal = addDoorAtNthLinkToggleTerminal 0
addDoorAtNthLinkToggleTerminal :: Int -> [TerminalLine] -> Int -> Room -> Room
addDoorAtNthLinkToggleTerminal j xs i = (rmName .++~ "doorToggle-")
. (rmOutPmnt .:~ OutPlacement outplace i)
where
outplace =
extTrigLitPos
(atFstLnkOutShiftBy (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
( Just . set plSpot (rprShift moveToSideFirstOutLink)
(atNthLnkOutShiftBy j (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
( Just . set plSpot (rprShift (moveToSideNthOutLink j))
. putMessageTerminal terminalColor
. termMessages
)
termMessages trpl =
lineOutputTerminal (makeColorTermLine red "WARNING" : makeTermPara str)
lineOutputTerminal xs --(makeColorTermLine red "WARNING" : makeTermPara str)
& tmToggles .~ M.fromList
[("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))]
addWarningTerminal :: String -> Int -> Room -> Room
addWarningTerminal str = addDoorToggleTerminal (makeColorTermLine red "WARNING" : makeTermPara str)
lineOutputTerminal :: [TerminalLine] -> Terminal
lineOutputTerminal tls = defaultTerminal & tmBootLines .~ connectionBlurbLines tls
moveToSideFirstOutLink :: RoomPos -> Room -> Maybe (Point2, Float)
moveToSideFirstOutLink rp rm = do
0 <- rp ^? rpLinkStatus . rplsChildNum
moveToSideNthOutLink :: Int -> RoomPos -> Room -> Maybe (Point2, Float)
moveToSideNthOutLink i rp rm = do
j <- rp ^? rpLinkStatus . rplsChildNum
guard $ i == j
let rppos = _rpPos rp
rpdir = _rpDir rp
inpos = rppos +.+ rotateV rpdir (V2 0 (-12.5))
@@ -61,6 +71,20 @@ moveToSideFirstOutLink rp rm = do
-- complicated, it should really use created walls...
(rtpos, rpdir)
else (ltpos, rpdir)
--moveToSideFirstOutLink :: RoomPos -> Room -> Maybe (Point2, Float)
--moveToSideFirstOutLink rp rm = do
-- 0 <- rp ^? rpLinkStatus . rplsChildNum
-- let rppos = _rpPos rp
-- rpdir = _rpDir rp
-- inpos = rppos +.+ rotateV rpdir (V2 0 (-12.5))
-- rtpos = inpos +.+ rotateV rpdir (V2 30 0)
-- ltpos = inpos +.+ rotateV rpdir (V2 (-30) 0)
-- return $ if any (isJust . intersectSegPolyFirst inpos ltpos) (_rmPolys rm)
-- then -- the above test may not work properly if the room polys are
-- -- complicated, it should really use created walls...
-- (rtpos, rpdir)
-- else (ltpos, rpdir)
--moveToSideFirstOutLink rp rm = case rp ^? rpLinkStatus . rplsChildNum of
-- Just 0 ->
-- let rppos = _rpPos rp
+147 -144
View File
@@ -226,7 +226,7 @@ CloseToggle src/Dodge/Data/Machine/Sensor.hs 43;" t
Close_shape_culling src/Dodge/Data/Config.hs 79;" C
Cloud src/Dodge/Data/Cloud.hs 14;" t
CloudType src/Dodge/Data/Cloud.hs 22;" t
ClusterLink src/Dodge/Data/RoomCluster.hs 14;" t
ClusterLink src/Dodge/Data/RoomCluster.hs 13;" t
ClusterStatus src/Dodge/Data/RoomCluster.hs 9;" t
Cognizant src/Dodge/Data/Creature/Perception.hs 67;" C
Collision_test src/Dodge/Data/Config.hs 84;" C
@@ -590,7 +590,7 @@ InDream src/Dodge/Data/Scenario.hs 19;" C
InInv src/Dodge/Data/Item/Location.hs 29;" C
InLink src/Dodge/Data/Room.hs 44;" C
InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C
InPlacement src/Dodge/Data/GenWorld.hs 132;" t
InPlacement src/Dodge/Data/GenWorld.hs 136;" t
InRealWorld src/Dodge/Data/Scenario.hs 18;" C
InSimulation src/Dodge/Data/Scenario.hs 20;" C
InVoid src/Dodge/Data/Item/Location.hs 39;" C
@@ -603,7 +603,6 @@ InputScreen src/Dodge/Data/Universe.hs 92;" C
Inspect_wall src/Dodge/Data/Config.hs 91;" C
Institution src/Dodge/Data/Scenario.hs 42;" t
Int2 src/Geometry/Data.hs 21;" t
IntAnno src/Dodge/Annotation/Data.hs 21;" C
IntID src/Dodge/Data/Universe.hs 113;" t
IntImp src/Dodge/Data/CreatureEffect.hs 20;" t
Intention src/Dodge/Data/Creature.hs 68;" t
@@ -665,7 +664,7 @@ LWorld src/Dodge/Data/LWorld.hs 99;" t
LabLink src/Dodge/Data/Room.hs 45;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelAction src/Dodge/Data/ActionPlan.hs 79;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 14;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 24;" t
Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 74;" C
@@ -945,7 +944,7 @@ OnSpecial src/Dodge/Data/Equipment/Misc.hs 28;" C
OnTurret src/Dodge/Data/Item/Location.hs 37;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C
OneHand src/Dodge/Data/AimStance.hs 9;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C
OnwardList src/Dodge/Annotation/Data.hs 20;" C
Opacity src/Dodge/Data/Wall.hs 40;" t
Opaque src/Dodge/Data/Wall.hs 44;" C
@@ -954,7 +953,7 @@ OptionScreen src/Dodge/Data/Universe.hs 82;" C
OptionScreenFlag src/Dodge/Data/Universe.hs 72;" t
OutAction src/Dodge/Creature/Action.hs 45;" t
OutLink src/Dodge/Data/Room.hs 43;" C
OutPlacement src/Dodge/Data/GenWorld.hs 127;" t
OutPlacement src/Dodge/Data/GenWorld.hs 131;" t
OutsideTerminal src/Dodge/Data/Input.hs 33;" C
OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C
OverCombCombine src/Dodge/Data/Input.hs 29;" C
@@ -984,10 +983,10 @@ 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 63;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 64;" C
PSPos src/Dodge/Data/GenWorld.hs 65;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 70;" C
PS src/Dodge/Data/GenWorld.hs 67;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 68;" C
PSPos src/Dodge/Data/GenWorld.hs 69;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 74;" C
PSType src/Dodge/Data/GenWorld.hs 30;" t
PUMP src/Dodge/Data/Item/Combine.hs 63;" C
PaletteColor src/Color/Data.hs 14;" t
@@ -1004,13 +1003,13 @@ PenetrateBullet src/Dodge/Data/Bullet.hs 31;" C
Perception src/Dodge/Data/Creature/Perception.hs 32;" t
PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C
PhysicalSensor src/Dodge/Data/Machine/Sensor/Type.hs 15;" C
PickOnePlacement src/Dodge/Data/GenWorld.hs 86;" C
PickOnePlacement src/Dodge/Data/GenWorld.hs 90;" 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 76;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 62;" t
PlacementUsingPos src/Dodge/Data/GenWorld.hs 84;" C
Placement src/Dodge/Data/GenWorld.hs 80;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 66;" t
PlacementUsingPos src/Dodge/Data/GenWorld.hs 88;" C
PlainBarrel src/Dodge/Data/Creature/Misc.hs 88;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlayStatus src/Sound/Data.hs 23;" t
@@ -1075,29 +1074,29 @@ 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 39;" C
PutButton src/Dodge/Data/GenWorld.hs 34;" C
PutChasm src/Dodge/Data/GenWorld.hs 58;" C
PutCoord src/Dodge/Data/GenWorld.hs 40;" C
PutBlock src/Dodge/Data/GenWorld.hs 43;" C
PutButton src/Dodge/Data/GenWorld.hs 38;" C
PutChasm src/Dodge/Data/GenWorld.hs 62;" C
PutCoord src/Dodge/Data/GenWorld.hs 44;" C
PutCrit src/Dodge/Data/GenWorld.hs 31;" C
PutDoor src/Dodge/Data/GenWorld.hs 51;" C
PutFlIt src/Dodge/Data/GenWorld.hs 37;" C
PutForeground src/Dodge/Data/GenWorld.hs 53;" C
PutID src/Dodge/Data/GenWorld.hs 57;" C
PutLS src/Dodge/Data/GenWorld.hs 33;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 43;" C
PutDoor src/Dodge/Data/GenWorld.hs 55;" C
PutFlIt src/Dodge/Data/GenWorld.hs 41;" C
PutForeground src/Dodge/Data/GenWorld.hs 57;" C
PutID src/Dodge/Data/GenWorld.hs 61;" C
PutLS src/Dodge/Data/GenWorld.hs 37;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 47;" C
PutMachine src/Dodge/Data/GenWorld.hs 32;" C
PutMod src/Dodge/Data/GenWorld.hs 41;" C
PutNothing src/Dodge/Data/GenWorld.hs 55;" C
PutMod src/Dodge/Data/GenWorld.hs 45;" C
PutNothing src/Dodge/Data/GenWorld.hs 59;" C
PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C
PutPPlate src/Dodge/Data/GenWorld.hs 38;" C
PutProp src/Dodge/Data/GenWorld.hs 35;" C
PutSlideDr src/Dodge/Data/GenWorld.hs 50;" C
PutTerminal src/Dodge/Data/GenWorld.hs 36;" C
PutTrigger src/Dodge/Data/GenWorld.hs 42;" C
PutUsingGenParams src/Dodge/Data/GenWorld.hs 56;" C
PutWall src/Dodge/Data/GenWorld.hs 49;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 54;" C
PutPPlate src/Dodge/Data/GenWorld.hs 42;" C
PutProp src/Dodge/Data/GenWorld.hs 39;" C
PutSlideDr src/Dodge/Data/GenWorld.hs 54;" C
PutTerminal src/Dodge/Data/GenWorld.hs 40;" C
PutTrigger src/Dodge/Data/GenWorld.hs 46;" C
PutUsingGenParams src/Dodge/Data/GenWorld.hs 60;" C
PutWall src/Dodge/Data/GenWorld.hs 53;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 58;" C
QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 97;" C
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C
@@ -1121,9 +1120,9 @@ 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 52;" C
RandPS src/Dodge/Data/GenWorld.hs 56;" C
RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C
RandomPlacement src/Dodge/Data/GenWorld.hs 85;" C
RandomPlacement src/Dodge/Data/GenWorld.hs 89;" C
RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
@@ -1157,7 +1156,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 95;" t
Room src/Dodge/Data/GenWorld.hs 99;" 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
@@ -1245,7 +1244,7 @@ Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C
ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C
ShrinkGunStatus src/Dodge/Data/Item/Params.hs 28;" t
Shrunk src/Dodge/Data/Item/Params.hs 28;" C
SideCluster src/Dodge/Data/RoomCluster.hs 14;" C
SideCluster src/Dodge/Data/RoomCluster.hs 13;" C
SideEffect src/Dodge/Data/Universe.hs 64;" t
SixteenthRes src/Dodge/Data/Config.hs 97;" C
Size src/Shape/Data.hs 28;" t
@@ -1735,8 +1734,7 @@ _crZVel src/Dodge/Data/Creature.hs 41;" f
_crZoning src/Dodge/Data/World.hs 47;" f
_creatureGroups src/Dodge/Data/LWorld.hs 101;" f
_creatures src/Dodge/Data/LWorld.hs 100;" f
_csLinks src/Dodge/Data/RoomCluster.hs 11;" f
_csName src/Dodge/Data/RoomCluster.hs 10;" f
_csLinks src/Dodge/Data/RoomCluster.hs 10;" f
_currentArc src/Dodge/Data/Item/Params.hs 17;" f
_currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f
_cursSides src/Dodge/Data/SelectionList.hs 20;" f
@@ -1943,8 +1941,8 @@ _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f
_impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f
_impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f
_input src/Dodge/Data/World.hs 42;" f
_ipPlacement src/Dodge/Data/GenWorld.hs 133;" f
_ipPlacementID src/Dodge/Data/GenWorld.hs 134;" f
_ipPlacement src/Dodge/Data/GenWorld.hs 137;" f
_ipPlacementID src/Dodge/Data/GenWorld.hs 138;" f
_isWarming src/Dodge/Data/Item/Params.hs 23;" f
_ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" f
_ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f
@@ -2111,8 +2109,8 @@ _offPathFromEdges src/Dodge/Data/Room.hs 74;" f
_oldMagnets src/Dodge/Data/LWorld.hs 129;" f
_onPathFromEdges src/Dodge/Data/Room.hs 73;" f
_opDraw src/Dodge/Data/Wall.hs 43;" f
_opPlacement src/Dodge/Data/GenWorld.hs 128;" f
_opPlacementID src/Dodge/Data/GenWorld.hs 129;" f
_opPlacement src/Dodge/Data/GenWorld.hs 132;" f
_opPlacementID src/Dodge/Data/GenWorld.hs 133;" f
_opSel src/Dodge/Data/RightButtonOptions.hs 15;" f
_opTexture src/Dodge/Data/Wall.hs 44;" f
_opticDefaultZoom src/Dodge/Data/Item/Scope.hs 20;" f
@@ -2151,11 +2149,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
_plIDCont src/Dodge/Data/GenWorld.hs 82;" f
_plMID src/Dodge/Data/GenWorld.hs 81;" f
_plOrder src/Dodge/Data/GenWorld.hs 78;" f
_plSpot src/Dodge/Data/GenWorld.hs 79;" f
_plType src/Dodge/Data/GenWorld.hs 80;" f
_plIDCont src/Dodge/Data/GenWorld.hs 86;" f
_plMID src/Dodge/Data/GenWorld.hs 85;" f
_plOrder src/Dodge/Data/GenWorld.hs 82;" f
_plSpot src/Dodge/Data/GenWorld.hs 83;" f
_plType src/Dodge/Data/GenWorld.hs 84;" f
_playStatus src/Sound/Data.hs 17;" f
_playingSounds src/Dodge/Data/World.hs 41;" f
_pnZoning src/Dodge/Data/World.hs 51;" f
@@ -2195,33 +2193,33 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 38;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 37;" f
_proxRequirement src/Dodge/Data/Machine/Sensor.hs 30;" f
_proxStatus src/Dodge/Data/Machine/Sensor.hs 28;" f
_psFallback src/Dodge/Data/GenWorld.hs 68;" f
_psPos src/Dodge/Data/GenWorld.hs 63;" f
_psRandShift src/Dodge/Data/GenWorld.hs 72;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 67;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 71;" f
_psRot src/Dodge/Data/GenWorld.hs 63;" f
_psSelect src/Dodge/Data/GenWorld.hs 66;" f
_psFallback src/Dodge/Data/GenWorld.hs 72;" f
_psPos src/Dodge/Data/GenWorld.hs 67;" f
_psRandShift src/Dodge/Data/GenWorld.hs 76;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 71;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 75;" f
_psRot src/Dodge/Data/GenWorld.hs 67;" f
_psSelect src/Dodge/Data/GenWorld.hs 70;" f
_pulseBalls src/Dodge/Data/LWorld.hs 121;" f
_pulseLasers src/Dodge/Data/LWorld.hs 120;" 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 39;" f
_putButton src/Dodge/Data/GenWorld.hs 34;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 58;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 47;" f
_putID src/Dodge/Data/GenWorld.hs 57;" f
_putItem src/Dodge/Data/GenWorld.hs 37;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 32;" f
_putMachinePoly src/Dodge/Data/GenWorld.hs 32;" f
_putMachineWall src/Dodge/Data/GenWorld.hs 32;" f
_putPoly src/Dodge/Data/GenWorld.hs 39;" f
_putStartPoint src/Dodge/Data/GenWorld.hs 46;" f
_putWall src/Dodge/Data/GenWorld.hs 39;" f
_putWall src/Dodge/Data/GenWorld.hs 44;" f
_putWidth src/Dodge/Data/GenWorld.hs 45;" f
_pwPoly src/Dodge/Data/GenWorld.hs 49;" f
_pwWall src/Dodge/Data/GenWorld.hs 49;" f
_putBlock src/Dodge/Data/GenWorld.hs 43;" f
_putButton src/Dodge/Data/GenWorld.hs 38;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 62;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 51;" f
_putID src/Dodge/Data/GenWorld.hs 61;" f
_putItem src/Dodge/Data/GenWorld.hs 41;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 34;" f
_putMachinePoly src/Dodge/Data/GenWorld.hs 33;" f
_putMachineWall src/Dodge/Data/GenWorld.hs 35;" f
_putPoly src/Dodge/Data/GenWorld.hs 43;" f
_putStartPoint src/Dodge/Data/GenWorld.hs 50;" f
_putWall src/Dodge/Data/GenWorld.hs 43;" f
_putWall src/Dodge/Data/GenWorld.hs 48;" f
_putWidth src/Dodge/Data/GenWorld.hs 49;" f
_pwPoly src/Dodge/Data/GenWorld.hs 53;" f
_pwWall src/Dodge/Data/GenWorld.hs 53;" f
_pyFaces src/Polyhedra/Data.hs 14;" f
_pzDamage src/Dodge/Data/PulseLaser.hs 15;" f
_pzDir src/Dodge/Data/PulseLaser.hs 14;" f
@@ -2249,29 +2247,29 @@ _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 115;" f
_rmChildren src/Dodge/Data/GenWorld.hs 126;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 128;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 123;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 122;" f
_rmFloor src/Dodge/Data/GenWorld.hs 116;" f
_rmHeight src/Dodge/Data/Room.hs 38;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 109;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 99;" f
_rmLinks src/Dodge/Data/GenWorld.hs 97;" 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
_rmOutPmnt src/Dodge/Data/GenWorld.hs 110;" f
_rmPath src/Dodge/Data/GenWorld.hs 107;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 108;" f
_rmPolys src/Dodge/Data/GenWorld.hs 96;" f
_rmPos src/Dodge/Data/GenWorld.hs 106;" 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 113;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 103;" f
_rmLinks src/Dodge/Data/GenWorld.hs 101;" f
_rmMID src/Dodge/Data/GenWorld.hs 124;" f
_rmMParent src/Dodge/Data/GenWorld.hs 125;" f
_rmName src/Dodge/Data/GenWorld.hs 117;" f
_rmOutPmnt src/Dodge/Data/GenWorld.hs 114;" f
_rmPath src/Dodge/Data/GenWorld.hs 111;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 112;" f
_rmPolys src/Dodge/Data/GenWorld.hs 100;" f
_rmPos src/Dodge/Data/GenWorld.hs 110;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 120;" f
_rmShift src/Dodge/Data/GenWorld.hs 118;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 121;" f
_rmType src/Dodge/Data/GenWorld.hs 127;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 119;" 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
@@ -2463,12 +2461,12 @@ _unNInt src/NewInt.hs 15;" f
_unNIntMap src/NewInt.hs 18;" f
_unPrimitiveMode src/Shader/Data.hs 99;" f
_unPutCrit src/Dodge/Data/GenWorld.hs 31;" f
_unRandomPlacement src/Dodge/Data/GenWorld.hs 85;" f
_unRandomPlacement src/Dodge/Data/GenWorld.hs 89;" f
_unST src/Dodge/Data/MetaTree.hs 18;" f
_unTO src/Shader/Data.hs 59;" f
_unfiredBarrels src/Dodge/Data/Item/Params.hs 19;" f
_unpauseClock src/Dodge/Data/World.hs 55;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 36;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 40;" 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
@@ -2577,6 +2575,8 @@ addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 97;" f
addCrGibs src/Dodge/Prop/Gib.hs 16;" f
addDepth src/Picture/Base.hs 133;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 37;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 33;" f
addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 53;" f
addEdges src/Dodge/Path.hs 122;" f
addGib4 src/Dodge/Prop/Gib.hs 51;" f
@@ -2605,7 +2605,7 @@ 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
addWarningTerminal src/Dodge/Room/Warning.hs 32;" f
addWarningTerminal src/Dodge/Room/Warning.hs 54;" f
addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 433;" f
@@ -2629,7 +2629,7 @@ alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
ammoMagInfo src/Dodge/Item/Info.hs 49;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 145;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 129;" f
anRoom src/Dodge/Floor.hs 130;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 10;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 77;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
@@ -2637,7 +2637,7 @@ angleBetween src/Geometry.hs 161;" f
angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 67;" f
anythingHitCirc src/Dodge/Base/Collide.hs 338;" f
applyCME src/Dodge/HeldUse.hs 367;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
@@ -2682,11 +2682,11 @@ arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 13;" f
assignPushDoors src/Dodge/LevelGen.hs 43;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 211;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 226;" f
atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 229;" f
atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 214;" f
atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 232;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 212;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 227;" f
atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 230;" f
atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 215;" f
atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 233;" f
attachBranch src/Dodge/Tree/Compose.hs 83;" f
attachInfo src/Dodge/Item/Info.hs 58;" f
attachList' src/Dodge/Tree/Compose.hs 80;" f
@@ -3871,7 +3871,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 70;" f
intAnno src/Dodge/Floor.hs 123;" f
intAnno src/Dodge/Floor.hs 124;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
interpWith src/Dodge/Creature/Boid.hs 11;" f
intersectCircSeg src/Geometry/Intersect.hs 335;" f
@@ -3932,7 +3932,7 @@ isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f
isElectrical src/Dodge/Machine/Update.hs 80;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 188;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
isInLnk src/Dodge/PlacementSpot.hs 161;" f
isJust' src/MaybeHelp.hs 29;" f
isLHS src/Geometry/LHS.hs 8;" f
isLeftOf src/Geometry.hs 202;" f
@@ -3940,14 +3940,14 @@ isLeftOfA src/Geometry.hs 196;" f
isNHS src/Geometry/Intersect.hs 51;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 240;" f
isOutLnk src/Dodge/PlacementSpot.hs 164;" f
isOutLnk src/Dodge/PlacementSpot.hs 165;" f
isOverTerminalScreen src/Dodge/Update.hs 414;" f
isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 62;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 187;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 173;" f
isValidCommand src/Dodge/Debug/Terminal.hs 131;" f
isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 317;" f
@@ -4071,7 +4071,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 48;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 57;" f
lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4310,7 +4310,8 @@ moveProjectile src/Dodge/Projectile/Update.hs 262;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 248;" f
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 51;" f
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 74;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 60;" f
moveWall src/Dodge/Wall/Move.hs 29;" f
moveWallID src/Dodge/Wall/Move.hs 24;" f
moveWallIDToward src/Dodge/Wall/Move.hs 47;" f
@@ -4357,6 +4358,7 @@ newSounds src/Dodge/Creature/Perception.hs 171;" f
newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f
nextArc src/Dodge/Tesla.hs 61;" f
nextInSectionSS src/Dodge/SelectionSections.hs 36;" f
nextLayoutInt src/Dodge/Annotation/Data.hs 39;" f
noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f
@@ -4463,6 +4465,7 @@ picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 107;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 113;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
pickupTut src/Dodge/Room/Tutorial.hs 56;" f
pincerP src/Dodge/Creature/Boid.hs 61;" f
pincerP' src/Dodge/Creature/Boid.hs 94;" f
pincerP'' src/Dodge/Creature/Boid.hs 104;" f
@@ -4636,9 +4639,9 @@ psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f
psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f
psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f
psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f
psRandRanges src/Dodge/PlacementSpot.hs 249;" f
psRandRanges src/Dodge/PlacementSpot.hs 250;" f
psj src/Dodge/LevelGen/PlacementHelper.hs 70;" f
psposAddLabel src/Dodge/PlacementSpot.hs 69;" f
psposAddLabel src/Dodge/PlacementSpot.hs 70;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 54;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 103;" f
@@ -4689,7 +4692,7 @@ radBounds src/Dodge/Room/Foreground.hs 154;" f
radToDeg src/Geometry/Vector.hs 122;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randDirPS src/Dodge/PlacementSpot.hs 56;" f
randDirPS src/Dodge/PlacementSpot.hs 57;" f
randDirSpark src/Dodge/Spark.hs 55;" f
randEdgeTank src/Dodge/Room/Tanks.hs 33;" f
randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f
@@ -4771,7 +4774,7 @@ renderShadows src/Render.hs 117;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 162;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
resetPLUse src/Dodge/PlacementSpot.hs 96;" f
resetPLUse src/Dodge/PlacementSpot.hs 97;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 24;" f
resetTerminal src/Dodge/WorldEffect.hs 101;" f
resizeFBOTO src/Framebuffer/Update.hs 203;" f
@@ -4858,13 +4861,13 @@ rotateXY src/Polyhedra.hs 31;" f
roundPoint2 src/Geometry/Intersect.hs 246;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 25;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 31;" f
rpIsOffPath src/Dodge/PlacementSpot.hs 80;" f
rpIsOnPath src/Dodge/PlacementSpot.hs 75;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 85;" f
rpOnPathFromEdge src/Dodge/PlacementSpot.hs 91;" f
rprBool src/Dodge/PlacementSpot.hs 72;" f
rprBoolShift src/Dodge/PlacementSpot.hs 111;" f
rprShift src/Dodge/PlacementSpot.hs 102;" f
rpIsOffPath src/Dodge/PlacementSpot.hs 81;" f
rpIsOnPath src/Dodge/PlacementSpot.hs 76;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 86;" f
rpOnPathFromEdge src/Dodge/PlacementSpot.hs 92;" f
rprBool src/Dodge/PlacementSpot.hs 73;" f
rprBoolShift src/Dodge/PlacementSpot.hs 112;" f
rprShift src/Dodge/PlacementSpot.hs 103;" f
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
runPastStart src/Dodge/Room/Start.hs 72;" f
runStateWorld src/Dodge/Randify.hs 17;" f
@@ -4950,8 +4953,8 @@ setChannelPos src/Sound.hs 150;" f
setClickWorldPos src/Dodge/Update.hs 106;" f
setClusterID src/Dodge/Combine/Graph.hs 116;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 127;" f
setDirPS src/Dodge/PlacementSpot.hs 50;" f
setFallback src/Dodge/PlacementSpot.hs 128;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
@@ -5015,11 +5018,11 @@ shellMag src/Dodge/Item/Ammo.hs 49;" f
shellModule src/Dodge/Item/Scope.hs 123;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
shiftByV2 src/Dodge/PlacementSpot.hs 240;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 78;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 84;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInBy src/Dodge/PlacementSpot.hs 237;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 299;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 338;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 332;" f
@@ -5323,7 +5326,6 @@ toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 318;" f
toggleCommands src/Dodge/Terminal.hs 93;" f
toggleDoorTest src/Dodge/Room/Tutorial.hs 67;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 65;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 103;" f
toggleJust src/MaybeHelp.hs 41;" f
@@ -5415,11 +5417,11 @@ tryUseParent src/Dodge/Creature/State.hs 143;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 35;" f
tutRezBox src/Dodge/Room/Tutorial.hs 48;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 40;" f
tutRezBox src/Dodge/Room/Tutorial.hs 77;" f
tutRoomTree src/Dodge/Floor.hs 26;" f
tutRooms src/Dodge/Room/Tutorial.hs 43;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 64;" f
tutRooms src/Dodge/Room/Tutorial.hs 63;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 93;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
@@ -5427,7 +5429,7 @@ twists src/Dodge/Creature/Test.hs 109;" f
twoFlat src/Dodge/Creature/Test.hs 106;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 80;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 544;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 596;" f
twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f
@@ -5446,10 +5448,10 @@ unsafeSwapKeys src/IntMapHelp.hs 74;" f
unshadowBlock src/Dodge/Block.hs 39;" f
untilJust src/MonadHelp.hs 7;" f
untilJustCount src/MonadHelp.hs 14;" f
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f
unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 134;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 140;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 123;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 192;" f
updateAimPos src/Dodge/Update.hs 321;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla.hs 44;" f
@@ -5590,19 +5592,19 @@ useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1446;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 245;" f
useLoadedAmmo src/Dodge/HeldUse.hs 719;" f
useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1406;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 179;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 182;" f
useStopWatch src/Dodge/HeldUse.hs 1387;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1395;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 170;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 197;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 204;" f
v2z src/Geometry/Vector3D.hs 93;" f
vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 153;" f
@@ -5643,7 +5645,7 @@ wallToSurface src/Dodge/Base/Collide.hs 172;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1440;" f
warningRooms src/Dodge/Room/Warning.hs 24;" f
warningRooms src/Dodge/Room/Warning.hs 25;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f
wasdM src/Dodge/WASD.hs 9;" f
@@ -5657,6 +5659,7 @@ weaponBetweenPillars src/Dodge/Room/Room.hs 191;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 137;" f
weaponLongCorridor src/Dodge/Room/Room.hs 216;" f
weaponRoom src/Dodge/Room/Room.hs 249;" f
weaponTut src/Dodge/Room/Tutorial.hs 50;" f
weaponUnderCrits src/Dodge/Room/Room.hs 154;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f