Simplify layout Annotations

This commit is contained in:
2025-08-21 17:57:02 +01:00
parent befe24e038
commit e7b52f4487
10 changed files with 109 additions and 73 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ Seed: 7114951007332849727
|
5:corDoor
|
6:sdr
6:anRoom
|
7:corDoor
|
@@ -111,7 +111,7 @@ Seed: 7114951007332849727
|
5:0:1:Corridor
6:0:sdr
6:0:anRoom
6:0:0:autoRect
+12 -10
View File
@@ -14,22 +14,24 @@ import Dodge.Tree
import LensHelp
import RandomHelp
annoToRoomTree :: Annotation -> State (StdGen, Int) MTRS
annoToRoomTree :: Annotation -> State LayoutVars MTRS
annoToRoomTree an = case an of
AnTree t -> zoom _1 t
AnTree t -> t
-- AnRoom r -> MTree "SingleRoom" . NodeTree . pure . (rmClusterStatus . csLinks . at OnwardCluster ?~ ()) <$> zoom _1 r <*> return []
OnwardList ans -> do
mts <- mapM annoToRoomTree ans
return $ foldr1 attachOnward' mts
IntAnno f -> do
(g, i) <- get
put (g, i + 1)
annoToRoomTree (f i)
PassthroughLockKeyLists ls ks i -> zoom _1 $ do
-- IntAnno f -> do
-- LayVars g i <- get
-- put $ LayVars g (i + 1)
-- annoToRoomTree (f i)
--PassthroughLockKeyLists ls ks i -> zoom lyGen $ do
PassthroughLockKeyLists ls ks -> do
i <- nextLayoutInt
(functionlockroom, randomitemidentity) <- takeOne ls
lr <- functionlockroom i
ii <- randomitemidentity
keyroom <- fromJust $ lookup ii ks
lr <- zoom lyGen $ functionlockroom i
ii <- zoom lyGen $ randomitemidentity
keyroom <- zoom lyGen . fromJust $ lookup ii ks
return $
MTree
("PassthroughLockKeyLists-" ++ show ii)
+22 -3
View File
@@ -11,14 +11,33 @@ import System.Random
type MTRS = MetaTree Room String
data LayoutVars = LayVars
{ _lyGen :: StdGen
, _lyCounter :: Int
}
data Annotation
= OnwardList [Annotation]
| IntAnno (Int -> Annotation)
-- | IntAnno (Int -> Annotation)
-- | AnRoom (State StdGen Room)
| AnTree (State StdGen (MetaTree Room String))
| AnTree (State LayoutVars (MetaTree Room String))
| PassthroughLockKeyLists
[(Int -> State StdGen (MetaTree Room String), State StdGen ItemType)]
[(ItemType, State StdGen (MetaTree Room String))]
Int
-- Int
makeLenses ''Annotation
makeLenses ''LayoutVars
instance RandomGen LayoutVars where
genWord32 x = let (y,g) = genWord32 (x ^. lyGen)
in (y,x & lyGen .~ g)
genWord64 x = let (y,g) = genWord64 (x ^. lyGen)
in (y,x & lyGen .~ g)
split x = let (g,h) = split (x ^. lyGen) in (x & lyGen .~ g, x & lyGen .~ h)
nextLayoutInt :: State LayoutVars Int
nextLayoutInt = do
LayVars g i <- get
put $ LayVars g (i + 1)
return i
+22 -14
View File
@@ -4,6 +4,7 @@ module Dodge.Floor (
tutRoomTree,
) where
import Dodge.Annotation.Data
import Dodge.Room.Tutorial
import Data.List (intersperse)
import Dodge.Annotation
@@ -18,11 +19,11 @@ import LensHelp
import RandomHelp
-- | A test level tree.
initialRoomTree :: State (StdGen, Int) (MetaTree Room String)
initialRoomTree :: State LayoutVars (MetaTree Room String)
initialRoomTree = annoToRoomTree initialAnoTree
--initialRoomTree = annoToRoomTree startWorldTreeTest
tutRoomTree :: State (StdGen, Int) (MetaTree Room String)
tutRoomTree :: State LayoutVars (MetaTree Room String)
tutRoomTree = annoToRoomTree tutAnoTree
--startWorldTreeTest :: Annotation
@@ -35,15 +36,15 @@ initialAnoTree :: Annotation
initialAnoTree =
OnwardList $
intersperse
(AnTree corDoor)
[ IntAnno $ AnTree . startRoom
, IntAnno $
(AnTree $ zoom lyGen corDoor)
[ AnTree $ intAnno startRoom
, --IntAnno $
PassthroughLockKeyLists
[(sensorRoomRunPast ElectricSensor, takeOne
[-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
HELD SPARKGUN])]
itemRooms
, IntAnno $ AnTree . lasSensorTurretTest
, AnTree $ intAnno lasSensorTurretTest
, -- , AnRoom $ tanksRoom [] [] <&> rmPmnts .~ []
-- , AnRoom $ tanksRoom [] []
-- , AnRoom $ roomCCrits 0
@@ -62,8 +63,8 @@ initialAnoTree =
-- , AnTree $ tToBTree "spawners" <$> spawnerRoom
-- , AnRoom pistolerRoom
-- , AnRoom doubleCorridorBarrels
IntAnno $ PassthroughLockKeyLists keyCardRunPastRand itemRooms
, IntAnno $ AnTree . warningRooms "INVISIBLE CREATURE AHEAD"
PassthroughLockKeyLists keyCardRunPastRand itemRooms
, AnTree . intAnno $ warningRooms "INVISIBLE CREATURE AHEAD"
, AnTree $
rToOnward "chaseCrit+armourChaseCrit rectRoom" $
return . cleatOnward $
@@ -71,11 +72,12 @@ initialAnoTree =
.++~ [ psPtPl anyUnusedSpot (PutCrit invisibleChaseCrit)
, psPtPl anyUnusedSpot (PutCrit armourChaseCrit)
]
, IntAnno $ AnTree . fmap (tToBTree "healthTest") . healthTest
, AnTree (tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward)
, IntAnno $ PassthroughLockKeyLists lockRoomKeyItems itemRooms
, AnTree . intAnno $ fmap (tToBTree "healthTest") . healthTest
, AnTree . zoom lyGen $
(tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward)
, PassthroughLockKeyLists lockRoomKeyItems itemRooms
, AnTree randomChallenges
, IntAnno $ AnTree . lasSensorTurretTest
, AnTree $ intAnno lasSensorTurretTest
, -- ,[AnTree $ fmap pure roomCCrits]
-- ,[AirlockAno]
-- ,[Corridor]
@@ -119,5 +121,11 @@ initialAnoTree =
AnTree $ randomFourCornerRoom [] >>= rToOnward "randomFourCornerRoom" . pure . cleatOnward
]
anRoom :: StateT StdGen Identity Room -> Annotation
anRoom t = AnTree $ tToBTree "anRoom" . return . cleatOnward <$> t
intAnno :: (Int -> State StdGen MTRS) -> State LayoutVars MTRS
intAnno f = do
LayVars g i <- get
put $ LayVars g (i+1)
zoom lyGen (f i)
anRoom :: State StdGen Room -> Annotation
anRoom t = AnTree $ zoom lyGen $ (tToBTree "anRoom" . return . cleatOnward <$> t)
+3 -2
View File
@@ -1,5 +1,6 @@
module Dodge.LevelGen where
module Dodge.LevelGen (generateWorldFromSeed) where
import Dodge.Annotation.Data
import Dodge.Layout
import Data.Preload.Render
import Control.Lens
@@ -50,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 tutRoomTree (g, 0)
let treecluster = evalState initialRoomTree (LayVars g 0)
let labts = decomposeSelfTree $ numSelfTree $ combineTree _rmName treecluster
appendFile "log/treeCluster" ("Seed: " ++ show seed ++ "\n")
putStrLn "MetaTree clusters:"
+1 -1
View File
@@ -22,7 +22,7 @@ lockRoomMultiItems =
)
]
lockRoomKeyItems :: RandomGen g => [(Int -> State g (MetaTree Room String), State g ItemType)]
lockRoomKeyItems :: [(Int -> State StdGen (MetaTree Room String), State StdGen ItemType)]
lockRoomKeyItems =
[ (lasCenSensEdge, takeOne [HELD RLAUNCHER, LASER, HELD SPARKGUN, HELD FLATSHIELD])
, (sensorRoomRunPast LaserSensor, return LASER)
+2 -2
View File
@@ -151,7 +151,7 @@ addButtonSlowDoor x h rm = do
Nothing
col = dim $ light red
slowDoorRoom :: RandomGen g => State g Room
slowDoorRoom :: State StdGen Room
slowDoorRoom = do
x <- state $ randomR (400, 800)
y <- state $ randomR (400, 800)
@@ -168,7 +168,7 @@ slowDoorRoom = do
proom <- southPillarsRoom x y h
addButtonSlowDoor x h (proom & rmPmnts %~ (++ (crits ++ barrels)))
slowDoorRoomRunPast :: RandomGen g => State g (MetaTree Room String)
slowDoorRoomRunPast :: State StdGen (MetaTree Room String)
slowDoorRoomRunPast = do
r <- slowDoorRoom
rToOnward "slowDoorRoomRunPast" $
+6 -4
View File
@@ -1,5 +1,6 @@
module Dodge.Room.Tutorial (tutAnoTree) where
import Dodge.Cleat
import Dodge.Room.Room
import Dodge.Annotation.Data
import Dodge.Room.Link
@@ -34,14 +35,15 @@ import Data.List (intersperse)
tutAnoTree :: Annotation
tutAnoTree = OnwardList $
intersperse
(AnTree corDoor)
[AnTree tutRooms]
(AnTree $ zoom lyGen corDoor)
[AnTree . zoom lyGen $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
,AnTree $ zoom lyGen tutRooms
]
tutRooms :: State StdGen (MetaTree Room String)
tutRooms = do
x <- tutRezBox
ys <- toggleDoorTest
return $ tToBTree "TutStartRez" $ treePost $ [x,door] <> ys
return $ tToBTree "DoorTest" $ treePost $ [] <> ys
tutRezBox :: State StdGen Room
tutRezBox = do
+1 -1
View File
@@ -21,7 +21,7 @@ import Geometry
import LensHelp
import RandomHelp
warningRooms :: RandomGen g => String -> Int -> State g (MetaTree Room String)
warningRooms :: String -> Int -> State StdGen (MetaTree Room String)
warningRooms str n = do
rm <- do
tr <- tanksRoom [] []
+38 -34
View File
@@ -58,9 +58,8 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C
AmmoPerShot src/Dodge/Data/Muzzle.hs 61;" t
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C
AmmoType src/Dodge/Data/AmmoType.hs 5;" t
AnRoom src/Dodge/Annotation/Data.hs 18;" C
AnTree src/Dodge/Annotation/Data.hs 19;" C
Annotation src/Dodge/Annotation/Data.hs 14;" t
AnTree src/Dodge/Annotation/Data.hs 23;" C
Annotation src/Dodge/Annotation/Data.hs 19;" t
ArbitraryAction src/Dodge/Data/ActionPlan.hs 166;" C
ArbitraryImpulse src/Dodge/Data/ActionPlan.hs 47;" C
ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C
@@ -604,7 +603,7 @@ 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 17;" C
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
@@ -682,7 +681,9 @@ Lasering src/Dodge/Data/Damage.hs 26;" C
LauncherAI src/Dodge/Data/Creature/Misc.hs 45;" C
LauncherAmmo src/Dodge/Data/AmmoType.hs 6;" C
LaundrySS src/Dodge/Data/Scenario.hs 115;" C
LayVars src/Dodge/Annotation/Data.hs 14;" C
Layer src/Picture/Data.hs 22;" t
LayoutVars src/Dodge/Annotation/Data.hs 14;" t
LeadTarget src/Dodge/Data/ActionPlan.hs 149;" C
LeftForward src/Dodge/Data/Creature/Stance.hs 31;" C
LeftwardDT src/Dodge/Data/DoubleTree.hs 86;" C
@@ -790,7 +791,6 @@ MiniGunFlare src/Dodge/Data/Muzzle.hs 32;" C
ModIDID src/Dodge/Data/Modification.hs 23;" C
ModIDTimerPoint3Bool src/Dodge/Data/Modification.hs 15;" C
Modification src/Dodge/Data/Modification.hs 14;" t
ModifyTree src/Dodge/Annotation/Data.hs 15;" C
MountedLS src/Dodge/Data/MountedObject.hs 12;" C
MountedObject src/Dodge/Data/MountedObject.hs 11;" t
MountedProp src/Dodge/Data/MountedObject.hs 13;" C
@@ -946,7 +946,7 @@ 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
OnwardList src/Dodge/Annotation/Data.hs 16;" 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
OpticScope src/Dodge/Data/Item/Scope.hs 14;" C
@@ -991,7 +991,7 @@ PSRoomRand src/Dodge/Data/GenWorld.hs 70;" 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
PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 20;" C
PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 24;" C
PathEdge src/Dodge/Data/PathGraph.hs 40;" t
PathEdgeNodes src/Dodge/Data/PathGraph.hs 33;" t
PathFromEdge src/Dodge/Data/Room.hs 69;" t
@@ -2013,6 +2013,8 @@ _lwID src/Dodge/Data/LinearShockwave.hs 15;" f
_lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
_lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f
_lyCounter src/Dodge/Annotation/Data.hs 16;" f
_lyGen src/Dodge/Annotation/Data.hs 15;" f
_machines src/Dodge/Data/LWorld.hs 127;" f
_magBelowID src/Dodge/Data/Muzzle.hs 22;" f
_magnets src/Dodge/Data/LWorld.hs 130;" f
@@ -2627,6 +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
analyser src/Dodge/Placement/Instance/Analyser.hs 10;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 77;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
@@ -2678,7 +2681,7 @@ arms src/Dodge/Creature/Picture.hs 70;" f
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 42;" 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
@@ -2956,9 +2959,9 @@ combineTree src/Dodge/Tree/Compose.hs 66;" f
commandColor src/Dodge/Terminal.hs 130;" f
commonPrefix src/Dodge/Debug/Terminal.hs 146;" f
comp src/Quaternion.hs 65;" f
compactDraw src/Dodge/LevelGen.hs 92;" f
compactDraw' src/Dodge/LevelGen.hs 103;" f
compactDrawTree src/Dodge/LevelGen.hs 86;" f
compactDraw src/Dodge/LevelGen.hs 93;" f
compactDraw' src/Dodge/LevelGen.hs 104;" f
compactDrawTree src/Dodge/LevelGen.hs 87;" f
compileAndCheckShader src/Shader/Compile.hs 277;" f
composeNode src/Dodge/Tree/Compose.hs 76;" f
composeTree src/Dodge/Tree/Compose.hs 46;" f
@@ -3669,10 +3672,10 @@ gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1155;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateGraphs src/Dodge/LevelGen.hs 40;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
generateLevelFromRoomList src/Dodge/Layout.hs 34;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 19;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 20;" f
geom src/Shader/Data.hs 102;" f
geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
@@ -3847,8 +3850,8 @@ initTexture2DArraySquare src/Shader/AuxAddition.hs 16;" f
initTuItemLocation src/Dodge/Item/Location/Initialize.hs 66;" f
initTusItemLocations src/Dodge/Item/Location/Initialize.hs 25;" f
initWallZoning src/Dodge/Wall/Zone.hs 12;" f
initialAnoTree src/Dodge/Floor.hs 39;" f
initialRoomTree src/Dodge/Floor.hs 20;" f
initialAnoTree src/Dodge/Floor.hs 35;" f
initialRoomTree src/Dodge/Floor.hs 22;" f
initialWorld src/Dodge/Initialisation.hs 15;" f
initialisePlaying src/Sound.hs 77;" f
initializeGLState src/Preload/Render.hs 216;" f
@@ -3868,6 +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
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
interpWith src/Dodge/Creature/Boid.hs 11;" f
intersectCircSeg src/Geometry/Intersect.hs 335;" f
@@ -4033,7 +4037,7 @@ lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f
lastMap src/Dodge/DoubleTree.hs 252;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 48;" f
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 74;" f
ldtIL src/Dodge/DoubleTree.hs 224;" f
ldtPropagate src/Dodge/DoubleTree.hs 69;" f
@@ -4583,11 +4587,11 @@ popScreen src/Dodge/Menu/PushPop.hs 6;" f
posRms src/Dodge/Tree/Shift.hs 44;" f
posSelSecYint src/Dodge/SelectionSections.hs 184;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 33;" f
postGenerationProcessing src/Dodge/LevelGen.hs 34;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f
postWorldLoad src/Dodge/WorldLoad.hs 15;" f
powerFakeout src/Dodge/Room/Start.hs 29;" f
powerFakeout' src/Dodge/Room/Start.hs 26;" f
powerFakeout src/Dodge/Room/Start.hs 28;" f
powerFakeout' src/Dodge/Room/Start.hs 25;" f
powerLegs src/Dodge/Item/Equipment.hs 85;" f
powlist src/Multiset.hs 61;" f
powlistUpToN src/Multiset.hs 23;" f
@@ -4596,7 +4600,7 @@ powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 118;" f
ppEvents src/Dodge/Update.hs 769;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 84;" f
preCritStart src/Dodge/Room/Start.hs 83;" f
prePos src/Quaternion.hs 68;" f
preloadRender src/Preload/Render.hs 30;" f
premapMaybe src/FoldlHelp.hs 26;" f
@@ -4663,7 +4667,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 106;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 54;" f
putShape src/Dodge/Room/Foreground.hs 134;" f
putStrLnAppend src/Dodge/LevelGen.hs 80;" f
putStrLnAppend src/Dodge/LevelGen.hs 81;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 51;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 23;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 18;" f
@@ -4705,7 +4709,7 @@ randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 69;" f
randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 662;" f
randomChallenges src/Dodge/Room/Start.hs 64;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 59;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 266;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 278;" f
@@ -4783,11 +4787,11 @@ resumeSound src/Dodge/SoundLogic.hs 48;" f
retreatActionsPistol src/Dodge/Humanoid.hs 249;" f
retreatFireLauncher src/Dodge/Humanoid.hs 270;" f
retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 7;" f
reversePair src/Dodge/LevelGen.hs 83;" f
reversePair src/Dodge/LevelGen.hs 84;" f
rewinder src/Dodge/Item/Held/Utility.hs 36;" f
rezBox src/Dodge/Room/RezBox.hs 31;" f
rezBox' src/Dodge/Room/RezBox.hs 46;" f
rezBoxStart src/Dodge/Room/Start.hs 79;" f
rezBoxStart src/Dodge/Room/Start.hs 78;" f
rezBoxes src/Dodge/Room/RezBox.hs 118;" f
rezBoxesWpCrit src/Dodge/Room/RezBox.hs 90;" f
rezColor src/Dodge/Room/RezBox.hs 138;" f
@@ -4862,7 +4866,7 @@ rprBool src/Dodge/PlacementSpot.hs 72;" f
rprBoolShift src/Dodge/PlacementSpot.hs 111;" f
rprShift src/Dodge/PlacementSpot.hs 102;" f
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
runPastStart src/Dodge/Room/Start.hs 73;" f
runPastStart src/Dodge/Room/Start.hs 72;" f
runStateWorld src/Dodge/Randify.hs 17;" f
sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f
safeAngleVV src/Geometry/Vector.hs 68;" f
@@ -5089,7 +5093,7 @@ slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 171;" f
smallBattery src/Dodge/Item/Ammo.hs 60;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
smallDrawTree src/Dodge/LevelGen.hs 89;" f
smallDrawTree src/Dodge/LevelGen.hs 90;" f
smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 470;" f
smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f
smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f
@@ -5173,12 +5177,12 @@ stackPicturesAtOff src/Dodge/Render/List.hs 101;" f
stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 311;" f
startCr src/Dodge/Creature.hs 93;" f
startCrafts src/Dodge/Room/Start.hs 94;" f
startCrafts src/Dodge/Room/Start.hs 93;" f
startDrag src/Dodge/Update/Input/InGame.hs 270;" f
startInvList src/Dodge/Creature.hs 108;" f
startInventory src/Dodge/Creature.hs 111;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f
startRoom src/Dodge/Room/Start.hs 54;" f
startRoom src/Dodge/Room/Start.hs 53;" f
startSeedGame src/Dodge/StartNewGame.hs 20;" f
startSeedGameConc src/Dodge/StartNewGame.hs 27;" f
statsModifier src/Dodge/Creature/Info.hs 16;" f
@@ -5319,11 +5323,11 @@ 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
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 108;" f
toggleTest src/Dodge/Room/Tutorial.hs 53;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f
tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 664;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 606;" f
@@ -5411,11 +5415,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/Floor.hs 33;" f
tutRezBox src/Dodge/Room/Tutorial.hs 34;" f
tutRoomTree src/Dodge/Floor.hs 24;" f
tutRooms src/Dodge/Room/Tutorial.hs 28;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 50;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 35;" f
tutRezBox src/Dodge/Room/Tutorial.hs 48;" f
tutRoomTree src/Dodge/Floor.hs 26;" f
tutRooms src/Dodge/Room/Tutorial.hs 43;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 64;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f