Simplify placements

This commit is contained in:
2025-09-23 17:22:31 +01:00
parent 4074c40083
commit 6984a34c19
3 changed files with 80 additions and 82 deletions
+2 -2
View File
@@ -86,7 +86,7 @@ doInPlacements w =
doRoomInPlacements :: GenWorld -> Room -> (GenWorld, Room)
doRoomInPlacements w rm = foldr f (w, rm) $ _rmInPmnt rm
where
f plf (w', r') = fst $ placeSpot (w', r') (plf (w'))
f plf (w', r') = placeSpot (w', r') (plf (w'))
--doOutPlacements :: GenWorld -> GenWorld
--doOutPlacements w =
@@ -109,7 +109,7 @@ doIndividualPlacements gw =
in gw' & genRooms .~ rms
doRoomPlacements :: GenWorld -> Room -> (GenWorld, Room)
doRoomPlacements w rm = foldl' (\wr -> fst . placeSpot wr) (w, rm & rmPmnts .~ mempty)
doRoomPlacements w rm = foldl' (\wr -> placeSpot wr) (w, rm & rmPmnts .~ mempty)
$ _rmPmnts rm
setupWorldBounds :: World -> World
+9 -9
View File
@@ -28,7 +28,7 @@ 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
-- match up with the created id for the object (creature id, flitid id, etc)
placeSpot :: (GenWorld, Room) -> Placement -> ((GenWorld, Room), [Placement])
placeSpot :: (GenWorld, Room) -> Placement -> (GenWorld, Room)
placeSpot (w, rm) plmnt = case plmnt of
Placement{_plSpot = PSRoomRand i f} -> placeSpotRoomRand rm i f plmnt w
Placement{_plSpot = PSPos extract eff fallback} ->
@@ -38,20 +38,20 @@ placeSpot (w, rm) plmnt = case plmnt of
shift = _rmShift rm
placePlainPSSpot
:: GenWorld -> Room -> Placement -> DPoint2 -> ((GenWorld, Room), [Placement])
:: GenWorld -> Room -> Placement -> DPoint2 -> (GenWorld, Room)
placePlainPSSpot w rm plmnt shift =
let (i, w') = placeSpotID rm (shiftPSBy shift (_plSpot plmnt)) (_plType plmnt) w
newplmnt = plmnt & plMID ?~ i
((gw,rm'),plist) = maybe ((w', rm & rmPmnts .:~ newplmnt), [newplmnt])
((gw,rm')) = maybe ((w', rm & rmPmnts .:~ newplmnt))
(recrPlace newplmnt w') (_plIDCont plmnt w' newplmnt)
in ((f newplmnt gw,rm'),plist)
in ((f newplmnt gw,rm'))
where
f x gw = fromMaybe gw $ do
j <- x ^. plExternalID
return $ gw & genPmnt . at j ?~ x
recrPlace newplmnt w' pl =
let (wr, newplmnts) = placeSpot (w', rm & rmPmnts .:~ newplmnt) pl
in (wr, newplmnt : newplmnts)
let (wr) = placeSpot (w', rm & rmPmnts .:~ newplmnt) pl
in (wr)
-- this should be tidied up
placeSpotUsingLink ::
@@ -61,11 +61,11 @@ placeSpotUsingLink ::
(RoomPos -> Room -> Maybe (PlacementSpot, RoomPos)) ->
(RoomPos -> Room -> Room) ->
Maybe Placement ->
((GenWorld, Room), [Placement])
(GenWorld, Room)
placeSpotUsingLink w rm plmnt extract eff fallback = case searchedPoss (_rmPos rm) of
Just (ps, rmposs) -> placeSpot (w, eff (head rmposs) $ rm & rmPos .~ rmposs) (plmnt & plSpot .~ ps)
Nothing -> case fallback of
Nothing -> ((w, rm), [plmnt])
Nothing -> ((w, rm))
Just plmnt' -> placeSpot (w, rm) plmnt'
where
searchedPoss [] = Nothing
@@ -79,7 +79,7 @@ placeSpotRoomRand ::
(DPoint2 -> PlacementSpot) ->
Placement ->
GenWorld ->
((GenWorld, Room), [Placement])
(GenWorld, Room)
placeSpotRoomRand rm i f plmnt w =
let (ps, g) = runState (_rmRandPSs rm !! i) $ w ^. gwWorld . randGen
in placeSpot (w & gwWorld . randGen .~ g, rm) (plmnt & plSpot .~ f ps)
+69 -71
View File
@@ -1153,7 +1153,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 94;" t
Room src/Dodge/Data/GenWorld.hs 95;" 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
@@ -2136,7 +2136,8 @@ _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 84;" f
_plExternalID src/Dodge/Data/GenWorld.hs 84;" f
_plIDCont src/Dodge/Data/GenWorld.hs 85;" f
_plMID src/Dodge/Data/GenWorld.hs 83;" f
_plSpot src/Dodge/Data/GenWorld.hs 81;" f
_plType src/Dodge/Data/GenWorld.hs 82;" f
@@ -2233,29 +2234,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 110;" f
_rmChildren src/Dodge/Data/GenWorld.hs 121;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 123;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 118;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 117;" f
_rmFloor src/Dodge/Data/GenWorld.hs 111;" 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
_rmHeight src/Dodge/Data/Room.hs 38;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 108;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 98;" f
_rmLinks src/Dodge/Data/GenWorld.hs 96;" f
_rmMID src/Dodge/Data/GenWorld.hs 119;" f
_rmMParent src/Dodge/Data/GenWorld.hs 120;" f
_rmName src/Dodge/Data/GenWorld.hs 112;" f
_rmOutPmnt src/Dodge/Data/GenWorld.hs 109;" f
_rmPath src/Dodge/Data/GenWorld.hs 106;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 107;" f
_rmPolys src/Dodge/Data/GenWorld.hs 95;" f
_rmPos src/Dodge/Data/GenWorld.hs 105;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 115;" f
_rmShift src/Dodge/Data/GenWorld.hs 113;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 116;" f
_rmType src/Dodge/Data/GenWorld.hs 122;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 114;" 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
_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
_rmWidth src/Dodge/Data/Room.hs 37;" f
_rpDir src/Dodge/Data/Room.hs 16;" f
_rpLinkStatus src/Dodge/Data/Room.hs 18;" f
@@ -2579,7 +2579,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 143;" f
addPane src/Dodge/Placement/PlaceSpot.hs 149;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPointPolygon src/Geometry/Polygon.hs 102;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
@@ -2590,7 +2590,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 53;" 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 403;" f
@@ -2600,13 +2600,13 @@ aimDelaySweep src/Dodge/Render/Picture.hs 272;" f
aimStanceInfo src/Dodge/Item/Info.hs 244;" f
aimTurn src/Dodge/Creature/YourControl.hs 180;" f
airlock src/Dodge/Room/Airlock.hs 24;" f
airlock0 src/Dodge/Room/Airlock.hs 67;" f
airlock90 src/Dodge/Room/Airlock.hs 165;" f
airlockCrystal src/Dodge/Room/Airlock.hs 204;" f
airlockDoor src/Dodge/Room/Airlock.hs 93;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 96;" f
airlockSimple src/Dodge/Room/Airlock.hs 108;" f
airlockZ src/Dodge/Room/Airlock.hs 133;" f
airlock0 src/Dodge/Room/Airlock.hs 68;" f
airlock90 src/Dodge/Room/Airlock.hs 166;" f
airlockCrystal src/Dodge/Room/Airlock.hs 205;" f
airlockDoor src/Dodge/Room/Airlock.hs 94;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 97;" f
airlockSimple src/Dodge/Room/Airlock.hs 109;" f
airlockZ src/Dodge/Room/Airlock.hs 134;" f
allVisibleWalls src/Dodge/Base/Collide.hs 215;" f
alongSegBy src/Geometry.hs 41;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -2615,10 +2615,10 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 145;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 130;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 108;" f
analyserByDoorWithPrompt src/Dodge/Room/LasTurret.hs 111;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 79;" f
analyserByNthLinkWithPrompt src/Dodge/Room/LasTurret.hs 93;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 121;" f
analyserByDoorWithPrompt src/Dodge/Room/LasTurret.hs 124;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 81;" f
analyserByNthLinkWithPrompt src/Dodge/Room/LasTurret.hs 100;" f
analyserWithPrompt src/Dodge/Placement/Instance/Analyser.hs 15;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 161;" f
@@ -3146,7 +3146,7 @@ defaultCWCam src/Dodge/Default/World.hs 67;" f
defaultCWGen src/Dodge/Default/World.hs 57;" f
defaultCWorld src/Dodge/Default/World.hs 82;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultClusterStatus src/Dodge/Default/Room.hs 38;" f
defaultClusterStatus src/Dodge/Default/Room.hs 37;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f
defaultCorpse src/Dodge/Corpse/Make.hs 32;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f
@@ -3281,7 +3281,6 @@ doMCrAc src/Dodge/CreatureEffect.hs 57;" f
doMP2Ac src/Dodge/CreatureEffect.hs 73;" f
doMagnetBuBu src/Dodge/Bullet.hs 34;" f
doModificationEffect src/Dodge/ModificationEffect.hs 7;" f
doOutPlacements src/Dodge/Layout.hs 91;" f
doP2Ac src/Dodge/CreatureEffect.hs 69;" f
doP2Imp src/Dodge/CreatureEffect.hs 33;" f
doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f
@@ -3293,7 +3292,6 @@ doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f
doRoomInPlacements src/Dodge/Layout.hs 86;" f
doRoomOutPlacements src/Dodge/Layout.hs 96;" f
doRoomPlacements src/Dodge/Layout.hs 111;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
@@ -3532,7 +3530,7 @@ 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 130;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 135;" f
evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/WorldEffect.hs 116;" f
expandLine src/Dodge/Picture.hs 30;" f
@@ -3769,8 +3767,8 @@ headLampShape src/Dodge/Item/Draw/SPic.hs 455;" f
headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 115;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 76;" f
healthTest src/Dodge/Room/LasTurret.hs 114;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 78;" f
healthTest src/Dodge/Room/LasTurret.hs 127;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 149;" f
@@ -3986,8 +3984,8 @@ justify src/Justify.hs 9;" f
k src/ShortShow.hs 44;" f
k' src/ShortShow.hs 44;" f
keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 73;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 61;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 75;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 63;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 471;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
@@ -3999,12 +3997,12 @@ lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 74;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 133;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 146;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 424;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 126;" f
lasTunnel src/Dodge/Room/LasTurret.hs 145;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 186;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 139;" f
lasTunnel src/Dodge/Room/LasTurret.hs 158;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 199;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 40;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f
lastMap src/Dodge/DoubleTree.hs 253;" f
@@ -4034,7 +4032,7 @@ leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 48;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 49;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 38;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 42;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f
@@ -4045,7 +4043,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 59;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 57;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 58;" f
lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4090,7 +4088,7 @@ locUp' src/Dodge/DoubleTree.hs 288;" f
lockInv src/Dodge/Inventory/Lock.hs 9;" f
lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f
lockRoomMultiItems src/Dodge/LockAndKey.hs 15;" f
lockedStart src/Dodge/Room/RunPast.hs 35;" f
lockedStart src/Dodge/Room/RunPast.hs 34;" f
logistic src/Dodge/Base.hs 98;" f
longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f
longCrit src/Dodge/Creature.hs 70;" f
@@ -4286,7 +4284,7 @@ moveProjectile src/Dodge/Projectile/Update.hs 260;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 246;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 60;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 61;" 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
@@ -4302,18 +4300,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 151;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 157;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 160;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 157;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 163;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 166;" f
mvGust src/Dodge/Update.hs 770;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 218;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 224;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 154;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 160;" 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 148;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 154;" f
mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 207;" f
myIntersectSegSeg src/Geometry/Intersect.hs 185;" f
@@ -4452,22 +4450,22 @@ 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 163;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 193;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 169;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 199;" 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 169;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 207;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 39;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 30;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 84;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 71;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 52;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 137;" f
plTurret src/Dodge/Placement/PlaceSpot.hs 175;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 213;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 40;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 31;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 89;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 76;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 57;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 143;" f
plainRegex src/Dodge/DisplayInventory.hs 189;" f
playIfFree src/Sound.hs 137;" f
playPositionalSoundQueue src/Sound.hs 145;" f
@@ -4789,7 +4787,7 @@ rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 39;" f
roomCCrits src/Dodge/Room/Room.hs 263;" f
roomCenterPillar src/Dodge/Room/Room.hs 120;" f
roomCritLS src/Dodge/Room/RunPast.hs 25;" 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
@@ -5074,7 +5072,7 @@ smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f
smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f
smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 466;" f
smallPillar src/Dodge/Room/Pillar.hs 37;" f
smallRoom src/Dodge/Room/RunPast.hs 32;" f
smallRoom src/Dodge/Room/RunPast.hs 31;" f
smg src/Dodge/Item/Held/Stick.hs 58;" f
smokeReducer src/Dodge/Item/Scope.hs 162;" f
sndV2 src/Geometry/Data.hs 73;" f