Start unifying door placement types

This commit is contained in:
2025-10-24 22:13:30 +01:00
parent 6457f00ba7
commit b6736e2735
7 changed files with 118 additions and 103 deletions
+2
View File
@@ -53,6 +53,7 @@ data PSType
}
| PutWall {_pwPoly :: [Point2], _pwWall :: Wall}
| PutSlideDr Door Wall Float Point2 Point2
| PutDoor' Door Wall
| PutDoor WdBl Float Point2A Point2A
| RandPS (State StdGen PSType)
| PutForeground ForegroundShape
@@ -80,6 +81,7 @@ instance ShortShow PSType where
shortShow PutWall {} = "PutWall"
shortShow PutSlideDr {} = "PutSlideDr"
shortShow PutDoor {} = "PutDoor"
shortShow PutDoor' {} = "PutDoor'"
shortShow RandPS {} = "RandPS"
shortShow PutForeground {} = "PutForeground"
shortShow PutWorldUpdate {} = "PutWorldUpdate"
+1 -3
View File
@@ -1,5 +1,6 @@
module Dodge.DrWdWd (updateDoor) where
import Dodge.Door.DoorLerp
import Dodge.LightSource
import Data.Foldable
import Dodge.Wall.Delete
@@ -49,9 +50,6 @@ doorLerp speed dr w = fromMaybe (mempty,w) $ do
soundContinue (WallSound drid) (fst $ doDoorLerp dr x) slideDoorS (Just 1)
| otherwise = id
doDoorLerp :: Door -> Float -> Point2A
doDoorLerp dr = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos)
destroyDoor :: Door -> World -> (S.Set Int2, World)
destroyDoor dr w =
(is,w
+2 -2
View File
@@ -135,9 +135,9 @@ placeSpotID rid ps pt w = case pt of
PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p' rot ls) w
RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w
PutDoor f l p1 p2 -> plDoor f l (pashift p1) (pashift p2) w
PutDoor' dr wl -> plDoor' (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
PutSlideDr wl dr off a b -> plSlideDoor wl dr off (doShift a) (doShift b) w
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
PutSlideDr wl dr off a b ->
plSlideDoor wl dr off (doShift a) (doShift b) w
PutBlock bl wl ps' ->
plBlock
(map doShift ps')
+29 -31
View File
@@ -1,8 +1,10 @@
module Dodge.Placement.PlaceSpot.TriggerDoor (
plDoor',
plDoor,
plSlideDoor,
) where
import Dodge.Door.DoorLerp
import Dodge.Data.GenWorld
import Dodge.Default.Door
import Dodge.Default.Wall
@@ -14,11 +16,35 @@ import qualified IntMapHelp as IM
import LensHelp
import Linear
plDoor' ::
Door ->
Wall ->
GenWorld ->
(Int, GenWorld)
plDoor' dr wl gw =
( drid
, over gwWorld addWalls $ gw & gwWorld . cWorld . lWorld . doors . at drid ?~ newdr
-- carefull with the ordering of addWalls
)
where
isauto = case dr ^. drTrigger of
WdBlCrFilterNearPoint{} -> True
_ -> False
drid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . doors
wlid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . walls
pps = IM.elems $ dr ^. drFootPrint
newdr = dr & drID .~ drid & drFootPrint .~ IM.fromList (zip [wlid ..] pps)
lerposa = doDoorLerp dr (dr ^. drLerp)
addWalls =
insertStructureWalls
(`DoorPart` isauto)
wl
(map fst pps & each %~ shiftPointBy lerposa)
drid
wlid
plDoor ::
-- | Opening condition
WdBl ->
-- | Door positions, closed to open.
-- Bumped out up and down by 9, not widened
Float ->
Point2A ->
Point2A ->
@@ -55,32 +81,6 @@ plDoor cond l p1 p2 gw =
drid
wlid
--addWalls w' = foldl' (addDoorWall eo drid $ switchWallCol col) w' $ zip wlids
-- foldl' (addDoorWall isauto eo drid defaultDoorWall) w' $
-- zip wlids $
-- wlps' & each . each %~ shiftPointBy p1
--addDoorWall ::
-- Bool ->
-- S.Set EdgeObstacle ->
-- Int ->
-- Wall ->
-- World ->
-- (Int, (Point2, Point2)) ->
-- World
--addDoorWall isauto eo drid wl w (wlid, wlps) =
-- w'
-- & cWorld . lWorld . walls
-- %~ IM.insert
-- wlid
-- wl
-- { _wlLine = wlps
-- , _wlID = wlid
-- , _wlStructure = DoorPart drid isauto
-- }
-- where
-- w' = uncurry (obstructPathsCrossing eo) wlps w
plSlideDoor ::
Door ->
Wall ->
@@ -90,7 +90,6 @@ plSlideDoor ::
GenWorld ->
(Int, GenWorld)
plSlideDoor dr wl shiftOffset a b gw =
--(drid, over gwWorld addDoorWalls $ gw & gwWorld . cWorld . lWorld . doors %~ addDoor)
(drid, over gwWorld addWalls $ gw & gwWorld . cWorld . lWorld . doors %~ addDoor)
where
isauto = case dr ^. drTrigger of
@@ -118,4 +117,3 @@ plSlideDoor dr wl shiftOffset a b gw =
(map fst pairs)
drid
wlid
-- addDoorWalls w' = foldl' (addDoorWall isauto eo drid wl) w' $ zip wlids pairs
+17 -2
View File
@@ -3,6 +3,9 @@
{- Rooms that contain two doors and a switch alternating both. -}
module Dodge.Room.Airlock where
import Dodge.LevelGen.DoorPane
import Dodge.Default.Door
import qualified Data.IntMap.Strict as IM
import Dodge.Default.Wall
import Dodge.Room.Path
import Control.Lens
@@ -107,8 +110,20 @@ airlockDoubleDoor ::
Point2A ->
Maybe Placement
airlockDoubleDoor p1 p2 cond l1 x1 y1 l2 x2 y2 =
jspsJ p1 0 (PutDoor cond l1 x1 y1) $
sPS p2 0 (PutDoor cond l2 x2 y2)
jspsJ p1 0 (putDoor cond l1 x1 y1) $
sPS p2 0 (putDoor cond l2 x2 y2)
putDoor :: WdBl -> Float -> Point2A -> Point2A -> PSType
putDoor cond l p1 p2 = PutDoor' dr wl
where
wl = defaultDoorWall
dr = defaultDoor
& drTrigger .~ cond
& drUpdate .~ DoorLerp 0.01
& drZeroPos .~ p1
& drOnePos .~ p2
& drFootPrint .~ IM.fromList (zip [0..] $ wlps')
wlps' = rectanglePairs 9 0 (V2 l 0)
airlockSimple :: Room
airlockSimple =
+2 -1
View File
@@ -48,10 +48,11 @@ tutAnoTree = do
-- , tToBTree "lastun" . return . cleatOnward <$> tanksRoom [] []
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
, tToBTree "lastun" . return . cleatOnward <$> cenLasTur
-- , tToBTree "lastun" . return . cleatOnward <$> cenLasTur
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward airlockSimple
, return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
+65 -64
View File
@@ -939,10 +939,10 @@ POISONSPRAYER src/Dodge/Data/Item/Combine.hs 172;" C
PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 87;" C
POWERLEGS src/Dodge/Data/Item/Combine.hs 128;" C
PRISM src/Dodge/Data/Item/Combine.hs 65;" C
PS src/Dodge/Data/GenWorld.hs 94;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 95;" C
PSPos src/Dodge/Data/GenWorld.hs 96;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 101;" C
PS src/Dodge/Data/GenWorld.hs 96;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 97;" C
PSPos src/Dodge/Data/GenWorld.hs 98;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 103;" C
PSType src/Dodge/Data/GenWorld.hs 31;" t
PUMP src/Dodge/Data/Item/Combine.hs 62;" C
PaletteColor src/Color/Data.hs 11;" t
@@ -962,8 +962,8 @@ PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 16;" C
Picture src/Picture/Data.hs 44;" t
Piercing src/Dodge/Data/Damage.hs 16;" C
PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C
Placement src/Dodge/Data/GenWorld.hs 107;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 93;" t
Placement src/Dodge/Data/GenWorld.hs 109;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 95;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 86;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlayStatus src/Sound/Data.hs 21;" t
@@ -1029,26 +1029,27 @@ PushedBy src/Dodge/Data/Door.hs 25;" C
PushesItself src/Dodge/Data/Door.hs 24;" C
PutBlock src/Dodge/Data/GenWorld.hs 44;" C
PutButton src/Dodge/Data/GenWorld.hs 40;" C
PutChasm src/Dodge/Data/GenWorld.hs 62;" C
PutChasm src/Dodge/Data/GenWorld.hs 63;" C
PutCoord src/Dodge/Data/GenWorld.hs 45;" C
PutCrit src/Dodge/Data/GenWorld.hs 32;" C
PutDoor src/Dodge/Data/GenWorld.hs 56;" C
PutDoor src/Dodge/Data/GenWorld.hs 57;" C
PutDoor' src/Dodge/Data/GenWorld.hs 56;" C
PutFlIt src/Dodge/Data/GenWorld.hs 43;" C
PutForeground src/Dodge/Data/GenWorld.hs 58;" C
PutID src/Dodge/Data/GenWorld.hs 61;" 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
PutLabel src/Dodge/Data/GenWorld.hs 63;" C
PutLabel src/Dodge/Data/GenWorld.hs 64;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 48;" C
PutMachine src/Dodge/Data/GenWorld.hs 33;" C
PutMod src/Dodge/Data/GenWorld.hs 46;" C
PutNothing src/Dodge/Data/GenWorld.hs 60;" C
PutNothing src/Dodge/Data/GenWorld.hs 61;" C
PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 19;" C
PutProp src/Dodge/Data/GenWorld.hs 41;" C
PutSlideDr src/Dodge/Data/GenWorld.hs 55;" C
PutTerminal src/Dodge/Data/GenWorld.hs 42;" C
PutTrigger src/Dodge/Data/GenWorld.hs 47;" C
PutWall src/Dodge/Data/GenWorld.hs 54;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 59;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" C
QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 98;" C
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C
@@ -1072,7 +1073,7 @@ RadialDistortion src/Dodge/Data/Distortion.hs 11;" C
RandImpulse src/Dodge/Data/ActionPlan.hs 49;" t
RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 51;" C
RandImpulseList src/Dodge/Data/ActionPlan.hs 50;" C
RandPS src/Dodge/Data/GenWorld.hs 57;" C
RandPS src/Dodge/Data/GenWorld.hs 58;" C
RandomImpulse src/Dodge/Data/ActionPlan.hs 31;" C
RandomTurn src/Dodge/Data/ActionPlan.hs 30;" C
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
@@ -1108,7 +1109,7 @@ Rocket src/Dodge/Data/Projectile.hs 32;" C
RocketHoming src/Dodge/Data/Projectile.hs 39;" t
RocketSmoke src/Dodge/Data/Projectile.hs 52;" t
RocketSmoke src/Dodge/Data/Cloud.hs 22;" C
Room src/Dodge/Data/GenWorld.hs 122;" t
Room src/Dodge/Data/GenWorld.hs 124;" t
RoomClipping src/Dodge/Data/Config.hs 108;" t
RoomInt src/Dodge/Tree/Shift.hs 26;" t
RoomLink src/Dodge/Data/Room.hs 24;" t
@@ -2074,11 +2075,11 @@ _pjSpin src/Dodge/Data/Projectile.hs 19;" f
_pjTimer src/Dodge/Data/Projectile.hs 22;" f
_pjType src/Dodge/Data/Projectile.hs 24;" f
_pjVel src/Dodge/Data/Projectile.hs 17;" f
_plExternalID src/Dodge/Data/GenWorld.hs 111;" f
_plIDCont src/Dodge/Data/GenWorld.hs 112;" f
_plMID src/Dodge/Data/GenWorld.hs 110;" f
_plSpot src/Dodge/Data/GenWorld.hs 108;" f
_plType src/Dodge/Data/GenWorld.hs 109;" f
_plExternalID src/Dodge/Data/GenWorld.hs 113;" f
_plIDCont src/Dodge/Data/GenWorld.hs 114;" f
_plMID src/Dodge/Data/GenWorld.hs 112;" f
_plSpot src/Dodge/Data/GenWorld.hs 110;" f
_plType src/Dodge/Data/GenWorld.hs 111;" f
_playStatus src/Sound/Data.hs 15;" f
_playingSounds src/Dodge/Data/World.hs 40;" f
_posture src/Dodge/Data/Creature/Stance.hs 17;" f
@@ -2099,24 +2100,24 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 36;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 35;" f
_proxSensorType src/Dodge/Data/Machine/Sensor.hs 26;" f
_proxToggle src/Dodge/Data/Machine/Sensor.hs 27;" f
_psFallback src/Dodge/Data/GenWorld.hs 99;" f
_psPos src/Dodge/Data/GenWorld.hs 94;" f
_psRandShift src/Dodge/Data/GenWorld.hs 103;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 98;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 102;" f
_psRot src/Dodge/Data/GenWorld.hs 94;" f
_psSelect src/Dodge/Data/GenWorld.hs 97;" f
_psFallback src/Dodge/Data/GenWorld.hs 101;" f
_psPos src/Dodge/Data/GenWorld.hs 96;" f
_psRandShift src/Dodge/Data/GenWorld.hs 105;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 100;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 104;" f
_psRot src/Dodge/Data/GenWorld.hs 96;" f
_psSelect src/Dodge/Data/GenWorld.hs 99;" f
_pulseBalls src/Dodge/Data/LWorld.hs 113;" f
_pulseLasers src/Dodge/Data/LWorld.hs 112;" f
_pulseProgress src/Dodge/Data/Creature/Misc.hs 54;" f
_pulseRate src/Dodge/Data/Creature/Misc.hs 53;" f
_putBlock src/Dodge/Data/GenWorld.hs 44;" f
_putButton src/Dodge/Data/GenWorld.hs 40;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 62;" f
_putChasmPoly src/Dodge/Data/GenWorld.hs 63;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 52;" f
_putID src/Dodge/Data/GenWorld.hs 61;" f
_putID src/Dodge/Data/GenWorld.hs 62;" f
_putItem src/Dodge/Data/GenWorld.hs 43;" f
_putLabel src/Dodge/Data/GenWorld.hs 63;" f
_putLabel src/Dodge/Data/GenWorld.hs 64;" 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
@@ -2154,28 +2155,28 @@ _rkSmoke src/Dodge/Data/Projectile.hs 34;" f
_rlDir src/Dodge/Data/Room.hs 27;" f
_rlPos src/Dodge/Data/Room.hs 26;" f
_rlType src/Dodge/Data/Room.hs 25;" f
_rmBound src/Dodge/Data/GenWorld.hs 137;" f
_rmChildren src/Dodge/Data/GenWorld.hs 148;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 150;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 145;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 144;" f
_rmFloor src/Dodge/Data/GenWorld.hs 138;" f
_rmBound src/Dodge/Data/GenWorld.hs 139;" f
_rmChildren src/Dodge/Data/GenWorld.hs 150;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 152;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 147;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 146;" f
_rmFloor src/Dodge/Data/GenWorld.hs 140;" f
_rmHeight src/Dodge/Data/Room.hs 39;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 136;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 126;" f
_rmLinks src/Dodge/Data/GenWorld.hs 124;" f
_rmMID src/Dodge/Data/GenWorld.hs 146;" f
_rmMParent src/Dodge/Data/GenWorld.hs 147;" f
_rmName src/Dodge/Data/GenWorld.hs 139;" f
_rmPath src/Dodge/Data/GenWorld.hs 134;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 135;" f
_rmPolys src/Dodge/Data/GenWorld.hs 123;" f
_rmPos src/Dodge/Data/GenWorld.hs 133;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 142;" f
_rmShift src/Dodge/Data/GenWorld.hs 140;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 143;" f
_rmType src/Dodge/Data/GenWorld.hs 149;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 141;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 138;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 128;" f
_rmLinks src/Dodge/Data/GenWorld.hs 126;" f
_rmMID src/Dodge/Data/GenWorld.hs 148;" f
_rmMParent src/Dodge/Data/GenWorld.hs 149;" f
_rmName src/Dodge/Data/GenWorld.hs 141;" f
_rmPath src/Dodge/Data/GenWorld.hs 136;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 137;" f
_rmPolys src/Dodge/Data/GenWorld.hs 125;" f
_rmPos src/Dodge/Data/GenWorld.hs 135;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 144;" f
_rmShift src/Dodge/Data/GenWorld.hs 142;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 145;" f
_rmType src/Dodge/Data/GenWorld.hs 151;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 143;" f
_rmWidth src/Dodge/Data/Room.hs 38;" f
_rpDir src/Dodge/Data/Room.hs 17;" f
_rpFlags src/Dodge/Data/Room.hs 18;" f
@@ -2515,12 +2516,11 @@ aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 181;" f
airlock src/Dodge/Room/Airlock.hs 24;" f
airlock0 src/Dodge/Room/Airlock.hs 72;" f
airlock90 src/Dodge/Room/Airlock.hs 199;" f
airlockCrystal src/Dodge/Room/Airlock.hs 244;" f
airlockDoor src/Dodge/Room/Airlock.hs 98;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 101;" f
airlockSimple src/Dodge/Room/Airlock.hs 116;" f
airlockZ src/Dodge/Room/Airlock.hs 154;" f
airlock90 src/Dodge/Room/Airlock.hs 196;" f
airlockCrystal src/Dodge/Room/Airlock.hs 241;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 98;" f
airlockSimple src/Dodge/Room/Airlock.hs 113;" f
airlockZ src/Dodge/Room/Airlock.hs 151;" f
allVisibleWalls src/Dodge/Base/Collide.hs 223;" f
alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -3105,7 +3105,7 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 53;" f
destroyBlock src/Dodge/Block.hs 17;" f
destroyDoor src/Dodge/DrWdWd.hs 55;" f
destroyDoor src/Dodge/DrWdWd.hs 53;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyItem src/Dodge/Inventory.hs 62;" f
destroyLS src/Dodge/LightSource.hs 32;" f
@@ -3113,8 +3113,8 @@ destroyLSFlashAt src/Dodge/LightSource.hs 42;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/DrWdWd.hs 73;" f
destroyMounts src/Dodge/DrWdWd.hs 70;" f
destroyMount src/Dodge/DrWdWd.hs 71;" f
destroyMounts src/Dodge/DrWdWd.hs 68;" f
destroyProjectile src/Dodge/Projectile/Update.hs 108;" f
detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
@@ -3171,7 +3171,7 @@ doDebugTestF12 src/Dodge/Update/Input/DebugTest.hs 84;" f
doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f
doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDoorLerp src/Dodge/DrWdWd.hs 52;" f
doDoorLerp src/Dodge/Door/DoorLerp.hs 5;" f
doDrag src/Dodge/Update/Input/InGame.hs 127;" f
doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f
@@ -4347,7 +4347,8 @@ pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolerRoom src/Dodge/Room/Room.hs 330;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 20;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 17;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 46;" f
plDoor' src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 19;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 54;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 203;" f
plNew src/Dodge/Base/NewID.hs 19;" f
@@ -4355,7 +4356,7 @@ 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 83;" f
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 84;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 230;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f
@@ -5055,7 +5056,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/DrWdWd.hs 78;" f
stopPushing src/Dodge/DrWdWd.hs 76;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f