Improve debris slightly

This commit is contained in:
2026-03-31 21:57:15 +01:00
parent 5701261ace
commit 074d354970
8 changed files with 227 additions and 210 deletions
+54 -17
View File
@@ -5,14 +5,17 @@ module Dodge.Block.Debris (
makeBlockDebris,
makeDebris,
makeDebrisDirected,
makeMachineDebris,
) where
import Control.Monad
import Dodge.Machine.Draw
import Color
import Data.Foldable
import qualified Data.IntMap.Strict as IM
import qualified Data.IntSet as IS
import Data.Maybe
import Dodge.Data.World
import Dodge.Material.Color
import Dodge.Material.Sound
import Dodge.ShiftPoint
import Dodge.WorldEvent.Sound
@@ -23,8 +26,20 @@ import qualified Quaternion as Q
import RandomHelp
import Shape
makeMachineDebris :: Machine -> World -> World
makeMachineDebris mc w = foldl' (flip $ makeDebrisZ 20 (MetalDebris $ mcColor mc) mt) w ps
where
pa = (mc ^. mcPos, mc ^. mcDir)
dsize = debrisSize mt
ps = fmap (shiftPointBy pa)
. gridInPolygon dsize
. shrinkPolyOnEdges dsize
$ reverse (fst <$> mc ^.. mcFootPrint . each)
mt = mc ^. mcSkin
makeDoorDebris :: Door -> World -> World
makeDoorDebris dr w = w & makeDebris mt p
makeDoorDebris dr w = w & makeDebris (BlockDebris drcol) mt p
where
p2a = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos) (dr ^. drLerp)
p = centroid . fmap fst $ (dr ^. drFootPrint) & each . each %~ shiftPointBy p2a
@@ -32,9 +47,15 @@ makeDoorDebris dr w = w & makeDebris mt p
wlids <- w ^? cWorld . lWorld . doors . ix (_drID dr) . drFootPrint
((wlid, _), _) <- IM.minViewWithKey wlids
w ^? cWorld . lWorld . walls . ix wlid . wlMaterial
drcol = case dr ^. drTrigger of
WdBlCrFilterNearPoint {} -> yellow
_ -> red
blColor :: Block -> Color
blColor _ = orange
makeBlockDebris :: Block -> World -> World
makeBlockDebris bl w = foldl' (flip $ makeDebris mt) w ps
makeBlockDebris bl w = foldl' (flip $ makeDebris (BlockDebris $ blColor bl) mt) w ps
where
dsize = debrisSize mt
ps = gridInPolygon dsize $ shrinkPolyOnEdges dsize $ reverse (_blFootprint bl)
@@ -45,21 +66,38 @@ makeBlockDebris bl w = foldl' (flip $ makeDebris mt) w ps
return $ _wlMaterial wl
-- makeDebris :: Material -> Color -> Point2 -> World -> World
makeDebris :: Material -> Point2 -> World -> World
makeDebris :: DebrisType -> Material -> Point2 -> World -> World
makeDebris = makeDebrisDirected (2 * pi) 0
makeDebrisDirected :: Float -> Float -> Material -> Point2 -> World -> World
-- makeDebrisDirected :: Float -> Float -> Material -> Color -> Point2 -> World -> World
-- makeDebrisDirected arcrad dir bm col p w =
makeDebrisDirected arcrad dir bm p w =
makeDebrisZ :: Float -> DebrisType -> Material -> Point2 -> World -> World
makeDebrisZ = makeDebrisDirectedZ (2 * pi) 0
makeDebrisDirectedZ :: Float -> Float -> Float -> DebrisType -> Material -> Point2 -> World -> World
makeDebrisDirectedZ arcrad dir z dt bm p w =
w
-- & flip (foldl' (flip $ plNew (cWorld . lWorld . props) prID)) thedebris
& cWorld
. lWorld
. debris
<>~ thedebris
& randGen
.~ newg
& cWorld . lWorld . debris <>~ thedebris
& randGen .~ newg
& soundOriginsIDsAt [MaterialSound bm i | i <- [0, 1, 2]] (destroyMatS bm) p
where
(thedebris, newg) = replicateM 4 f & runState $ _randGen w
f = do
v <- rotateV (dir - arcrad / 2) <$> randInArcStrip 1 2 arcrad
spinspeed <- randomR (-0.2, -0.1) & state
-- basedebris <- baseDebris bm
return $
DebrisChunk
{ _dbPos = p `v2z` z
, _dbType = dt
, _dbVel = v `v2z` 0
, _dbRot = Q.qID
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) spinspeed
}
makeDebrisDirected :: Float -> Float -> DebrisType -> Material -> Point2 -> World -> World
makeDebrisDirected arcrad dir dt bm p w =
w
& cWorld . lWorld . debris <>~ thedebris
& randGen .~ newg
& soundOriginsIDsAt [MaterialSound bm i | i <- [0, 1, 2]] (destroyMatS bm) p
where
(thedebris, newg) = mapM f [35, 55, 75, 95] & runState $ _randGen w
@@ -70,8 +108,7 @@ makeDebrisDirected arcrad dir bm p w =
return $
DebrisChunk
{ _dbPos = p `v2z` h
, -- , _dbType = BlockDebris col
_dbType = BlockDebris (materialColor bm)
, _dbType = dt
, _dbVel = v `v2z` 0
, _dbRot = Q.qID
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) spinspeed
+1
View File
@@ -12,6 +12,7 @@ module Dodge.Data.Machine (
module Dodge.Data.GenParams,
) where
import Color.Data
import ShortShow
import Dodge.Data.AmmoType
import Control.Lens
+1
View File
@@ -21,6 +21,7 @@ data Prop = ShapeProp
data DebrisType
= Gib { _gibSize :: Float , _gibColor :: Color }
| BlockDebris {_bdColor :: Color}
| MetalDebris {_bdColor :: Color}
data Debris = DebrisChunk
{ _dbPos :: Point3
+4 -15
View File
@@ -1,6 +1,7 @@
module Dodge.Machine.Destroy where
module Dodge.Machine.Destroy (destroyMachine) where
import Geometry.Vector3D
import Linear
import Dodge.Block.Debris
import Dodge.FloorItem
import Data.Maybe
import Dodge.Data.World
@@ -15,7 +16,7 @@ destroyMachine mc =
(cWorld . lWorld . machines %~ IM.delete (_mcID mc))
. deleteWallIDs (IM.keysSet $ _mcFootPrint mc)
. makeMachineDebris mc
. makeSmallExplosionAt (_mcPos mc `v2z` 20) 0
. makeSmallExplosionAt (20 & _xy .~ _mcPos mc) 0
. mcKillTerm mc
. mcKillBut mc
. destroyMcType (mc ^. mcType) mc
@@ -23,18 +24,6 @@ destroyMachine mc =
--explodeMachine :: Machine -> MachineType -> World -> World
--explodeMachine mc = \case
makeMachineDebris :: Machine -> World -> World
makeMachineDebris _ = id -- foldl' (flip $ makeDebris mt) w ps
--makeMachineDebris mc = id -- foldl' (flip $ makeDebris mt) w ps
-- where
-- dsize = debrisSize mt
-- ps = gridInPolygon dsize $ shrinkPolyOnEdges dsize $ reverse (_mcFootprint bl)
-- mt = fromMaybe Stone $ do
-- wlids <- w ^? cWorld . lWorld . blocks . ix (_blID bl) . blWallIDs
-- (wlid, _) <- IS.minView wlids
-- wl <- w ^? cWorld . lWorld . walls . ix wlid
-- return $ _wlMaterial wl
destroyMcType :: MachineType -> Machine -> World -> World
destroyMcType mt mc w = case mt of
McTurret tu _ -> fromMaybe w $ do
+1 -1
View File
@@ -1,4 +1,4 @@
module Dodge.Machine.Draw (drawMachine) where
module Dodge.Machine.Draw (drawMachine,mcColor) where
import Control.Lens
import qualified Data.Map.Strict as M
+6 -21
View File
@@ -110,23 +110,13 @@ placeSpotID rid ps pt w = case pt of
let i = IM.newKey (w ^. gwWorld . cWorld . lWorld . items)
in ( i
, w
& gwWorld
. cWorld
. lWorld
. floorItems
. at i
?~ FlIt p rot
& gwWorld
. cWorld
. lWorld
. items
. at i
?~ (itm & itID .~ NInt i & itLocation .~ OnFloor)
& gwWorld . cWorld . lWorld . floorItems . at i ?~ FlIt p rot
& gwWorld . cWorld . lWorld . items . at i ?~ (itm & itID .~ NInt i & itLocation .~ OnFloor)
)
PutCrit cr -> plNewUpID (gwWorld . cWorld . lWorld . creatures) crID (mvCr p rot cr) w
PutForeground fs ->
(0, w & gwWorld . cWorld . lWorld . foreShapes .:~ mvFS p rot fs)
PutMachine mc mitm -> plMachine mc mitm p rot w
PutMachine mc mitm -> plMachine (mc & mcPos .~ p & mcDir .~ rot) mitm w
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 dr wl -> plDoor (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
@@ -161,7 +151,6 @@ placeChasm rid ps shiftps cfs =
. (genRooms . ix rid . rmPos %~ filter (\rp -> not $ any (pointInPoly (_rpPos rp)) ps))
. (gwWorld %~ f)
where
-- f w = foldl' g w (loopPairs shiftps)
f w = foldl' g w cfs
g w (x, y) = obstructPathsCrossing (S.singleton ChasmObstacle) x y w
@@ -188,22 +177,20 @@ mvFS :: Point2 -> Float -> ForegroundShape -> ForegroundShape
mvFS p a = (fsDir +~ a) . (fsPos %~ ((p +) . rotateV a))
plMachine ::
-- [Point2] ->
Machine ->
Maybe Item ->
Point2 ->
Float ->
GenWorld ->
(Int, GenWorld)
plMachine mc mitm p rot gw =
plMachine mc mitm gw =
( mcid
, gw
& tolw . machines . at mcid ?~ themc
& tolw %~ maybe id placeturretitm mitm
& gwWorld %~ addwalls
-- & gwWorld %~ placeMachineWalls (_mcSkin mc) wallpoly mcid wlid
)
where
p = mc ^. mcPos
rot = mc ^. mcDir
addwalls =
insertStructureWalls
MachinePart
@@ -220,8 +207,6 @@ plMachine mc mitm p rot gw =
mcid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . machines
wlid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . walls
themc = mc
& mcPos .~ p
& mcDir .~ rot
& mcID .~ mcid
& mcFootPrint .~ IM.fromDistinctAscList (zip [wlid..] pps)
placeturretitm itm =
+5 -1
View File
@@ -12,12 +12,16 @@ import Picture
import qualified Quaternion as Q
import Shape
import ShapePicture
import Linear
debrisSPic :: Debris -> SPic
debrisSPic db = translateSP (_dbPos db) . overPosSP (Q.rotate (_dbRot db)) $
debrisSPic db = translateSP (_dbPos db & _z +~ 1) . overPosSP (Q.rotate (_dbRot db)) $
case db ^. dbType of
Gib x col -> noPic $ drawGib x col
BlockDebris m -> noPic . colorSH m $ cubeShape 4
--MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 $ [0, V2 5 0, V2 4 2]
MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 $ [0, V2 8 0, V2 6 3]
--MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 $ [0, V2 10 0, V2 8 4]
propSPic :: Prop -> SPic
propSPic pr =
+155 -155
View File
@@ -309,8 +309,8 @@ DamageLaser src/Dodge/Data/Laser.hs 15;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 19;" t
DamageType src/Dodge/Data/Damage/Type.hs 3;" t
DeathType src/Dodge/Data/Creature.hs 69;" t
Debris src/Dodge/Data/Prop.hs 25;" t
DebrisChunk src/Dodge/Data/Prop.hs 25;" C
Debris src/Dodge/Data/Prop.hs 26;" t
DebrisChunk src/Dodge/Data/Prop.hs 26;" C
DebrisType src/Dodge/Data/Prop.hs 21;" t
DebugBool src/Dodge/Data/Config.hs 77;" t
DebugItem src/Dodge/Data/Universe.hs 57;" t
@@ -757,6 +757,7 @@ MetaBranch src/Dodge/Data/MetaTree.hs 19;" t
MetaNode src/Dodge/Data/MetaTree.hs 15;" t
MetaTree src/Dodge/Data/MetaTree.hs 12;" t
Metal src/Dodge/Data/Material.hs 15;" C
MetalDebris src/Dodge/Data/Prop.hs 24;" C
Metapysics src/Dodge/Data/Scenario.hs 17;" t
Military src/Dodge/Data/Scenario.hs 45;" C
Mine src/Dodge/Data/Scenario.hs 64;" C
@@ -968,10 +969,10 @@ POISONSPRAYER src/Dodge/Data/Item/Combine.hs 173;" C
PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 88;" C
POWERLEGS src/Dodge/Data/Item/Combine.hs 130;" C
PRISM src/Dodge/Data/Item/Combine.hs 66;" C
PS src/Dodge/Data/GenWorld.hs 99;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 100;" C
PSPos src/Dodge/Data/GenWorld.hs 101;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 108;" C
PS src/Dodge/Data/GenWorld.hs 98;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 99;" C
PSPos src/Dodge/Data/GenWorld.hs 100;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 107;" C
PSType src/Dodge/Data/GenWorld.hs 32;" t
PUMP src/Dodge/Data/Item/Combine.hs 62;" C
PaletteColor src/Color/Data.hs 11;" t
@@ -994,8 +995,8 @@ Picture src/Picture/Data.hs 41;" t
Piercing src/Dodge/Data/Damage.hs 16;" C
Piezoelectric src/Dodge/Data/Material.hs 23;" C
PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C
Placement src/Dodge/Data/GenWorld.hs 114;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 98;" t
Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 88;" C
PlainDeath src/Dodge/Data/Creature.hs 69;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
@@ -1044,27 +1045,27 @@ PumpSF src/Dodge/Data/ComposedItem.hs 48;" C
PushSource src/Dodge/Data/Door.hs 23;" t
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 61;" C
PutCoord src/Dodge/Data/GenWorld.hs 45;" C
PutBlock src/Dodge/Data/GenWorld.hs 43;" C
PutButton src/Dodge/Data/GenWorld.hs 39;" C
PutChasm src/Dodge/Data/GenWorld.hs 60;" C
PutCoord src/Dodge/Data/GenWorld.hs 44;" C
PutCrit src/Dodge/Data/GenWorld.hs 33;" C
PutDoor src/Dodge/Data/GenWorld.hs 55;" C
PutFlIt src/Dodge/Data/GenWorld.hs 43;" C
PutForeground src/Dodge/Data/GenWorld.hs 57;" C
PutID src/Dodge/Data/GenWorld.hs 60;" C
PutLS src/Dodge/Data/GenWorld.hs 39;" C
PutLabel src/Dodge/Data/GenWorld.hs 66;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 48;" C
PutDoor src/Dodge/Data/GenWorld.hs 54;" C
PutFlIt src/Dodge/Data/GenWorld.hs 42;" C
PutForeground src/Dodge/Data/GenWorld.hs 56;" C
PutID src/Dodge/Data/GenWorld.hs 59;" C
PutLS src/Dodge/Data/GenWorld.hs 38;" C
PutLabel src/Dodge/Data/GenWorld.hs 65;" C
PutLineBlock src/Dodge/Data/GenWorld.hs 47;" C
PutMachine src/Dodge/Data/GenWorld.hs 34;" C
PutMod src/Dodge/Data/GenWorld.hs 46;" C
PutNothing src/Dodge/Data/GenWorld.hs 59;" C
PutMod src/Dodge/Data/GenWorld.hs 45;" C
PutNothing src/Dodge/Data/GenWorld.hs 58;" C
PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 19;" C
PutProp src/Dodge/Data/GenWorld.hs 41;" 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 58;" C
PutProp src/Dodge/Data/GenWorld.hs 40;" C
PutTerminal src/Dodge/Data/GenWorld.hs 41;" C
PutTrigger src/Dodge/Data/GenWorld.hs 46;" C
PutWall src/Dodge/Data/GenWorld.hs 53;" C
PutWorldUpdate src/Dodge/Data/GenWorld.hs 57;" C
Pyroelectric src/Dodge/Data/Material.hs 22;" C
QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 113;" C
@@ -1090,7 +1091,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 56;" C
RandPS src/Dodge/Data/GenWorld.hs 55;" 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
@@ -1126,7 +1127,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 129;" t
Room src/Dodge/Data/GenWorld.hs 128;" t
RoomClipping src/Dodge/Data/Config.hs 123;" t
RoomInt src/Dodge/Tree/Shift.hs 27;" t
RoomLink src/Dodge/Data/Room.hs 24;" t
@@ -1718,11 +1719,11 @@ _cwgRoomClipping src/Dodge/Data/CWorld.hs 43;" f
_cwgSeed src/Dodge/Data/CWorld.hs 44;" f
_cwgWorldBounds src/Dodge/Data/CWorld.hs 41;" f
_cylinderSize src/Shape/Data.hs 14;" f
_dbPos src/Dodge/Data/Prop.hs 26;" f
_dbRot src/Dodge/Data/Prop.hs 29;" f
_dbSpin src/Dodge/Data/Prop.hs 30;" f
_dbType src/Dodge/Data/Prop.hs 27;" f
_dbVel src/Dodge/Data/Prop.hs 28;" f
_dbPos src/Dodge/Data/Prop.hs 27;" f
_dbRot src/Dodge/Data/Prop.hs 30;" f
_dbSpin src/Dodge/Data/Prop.hs 31;" f
_dbType src/Dodge/Data/Prop.hs 28;" f
_dbVel src/Dodge/Data/Prop.hs 29;" f
_debris src/Dodge/Data/LWorld.hs 103;" f
_debugFunction src/Dodge/Data/Universe.hs 59;" f
_debugMessage src/Dodge/Data/Universe.hs 58;" f
@@ -2112,11 +2113,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 118;" f
_plIDCont src/Dodge/Data/GenWorld.hs 119;" f
_plMID src/Dodge/Data/GenWorld.hs 117;" f
_plSpot src/Dodge/Data/GenWorld.hs 115;" f
_plType src/Dodge/Data/GenWorld.hs 116;" f
_plExternalID src/Dodge/Data/GenWorld.hs 117;" f
_plIDCont src/Dodge/Data/GenWorld.hs 118;" f
_plMID src/Dodge/Data/GenWorld.hs 116;" f
_plSpot src/Dodge/Data/GenWorld.hs 114;" f
_plType src/Dodge/Data/GenWorld.hs 115;" f
_plasmaBalls src/Dodge/Data/LWorld.hs 106;" f
_playStatus src/Sound/Data.hs 15;" f
_playingSounds src/Dodge/Data/World.hs 41;" f
@@ -2136,39 +2137,38 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 35;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 34;" f
_proxSensorType src/Dodge/Data/Machine/Sensor.hs 25;" f
_proxToggle src/Dodge/Data/Machine/Sensor.hs 26;" f
_psFallback src/Dodge/Data/GenWorld.hs 106;" f
_psPos src/Dodge/Data/GenWorld.hs 99;" f
_psRandShift src/Dodge/Data/GenWorld.hs 110;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 105;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 109;" f
_psRot src/Dodge/Data/GenWorld.hs 99;" f
_psSelect src/Dodge/Data/GenWorld.hs 102;" f
_psFallback src/Dodge/Data/GenWorld.hs 105;" f
_psPos src/Dodge/Data/GenWorld.hs 98;" f
_psRandShift src/Dodge/Data/GenWorld.hs 109;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 104;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 108;" f
_psRot src/Dodge/Data/GenWorld.hs 98;" f
_psSelect src/Dodge/Data/GenWorld.hs 101;" f
_pullWallShader src/Data/Preload/Render.hs 22;" f
_pulseBalls src/Dodge/Data/LWorld.hs 119;" f
_pulseLasers src/Dodge/Data/LWorld.hs 118;" 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
_putChasmChasms src/Dodge/Data/GenWorld.hs 61;" f
_putChasmCliffs src/Dodge/Data/GenWorld.hs 61;" f
_putDoorDoor src/Dodge/Data/GenWorld.hs 55;" f
_putDoorWall src/Dodge/Data/GenWorld.hs 55;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 52;" f
_putID src/Dodge/Data/GenWorld.hs 60;" f
_putItem src/Dodge/Data/GenWorld.hs 43;" f
_putLS src/Dodge/Data/GenWorld.hs 39;" f
_putLabel src/Dodge/Data/GenWorld.hs 66;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 36;" f
_putMachineMaybeItem src/Dodge/Data/GenWorld.hs 37;" f
_putMachinePoly src/Dodge/Data/GenWorld.hs 35;" f
_putPoly src/Dodge/Data/GenWorld.hs 44;" f
_putStartPoint src/Dodge/Data/GenWorld.hs 51;" f
_putWall src/Dodge/Data/GenWorld.hs 44;" f
_putWall src/Dodge/Data/GenWorld.hs 49;" f
_putWidth src/Dodge/Data/GenWorld.hs 50;" f
_pwPoly src/Dodge/Data/GenWorld.hs 54;" f
_pwWall src/Dodge/Data/GenWorld.hs 54;" f
_putBlock src/Dodge/Data/GenWorld.hs 43;" f
_putButton src/Dodge/Data/GenWorld.hs 39;" f
_putChasmChasms src/Dodge/Data/GenWorld.hs 60;" f
_putChasmCliffs src/Dodge/Data/GenWorld.hs 60;" f
_putDoorDoor src/Dodge/Data/GenWorld.hs 54;" f
_putDoorWall src/Dodge/Data/GenWorld.hs 54;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 51;" f
_putID src/Dodge/Data/GenWorld.hs 59;" f
_putItem src/Dodge/Data/GenWorld.hs 42;" f
_putLS src/Dodge/Data/GenWorld.hs 38;" f
_putLabel src/Dodge/Data/GenWorld.hs 65;" f
_putMachineMachine src/Dodge/Data/GenWorld.hs 35;" f
_putMachineMaybeItem src/Dodge/Data/GenWorld.hs 36;" 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
@@ -2208,28 +2208,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 145;" f
_rmChildren src/Dodge/Data/GenWorld.hs 156;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 158;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 153;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 152;" f
_rmFloor src/Dodge/Data/GenWorld.hs 146;" f
_rmBound src/Dodge/Data/GenWorld.hs 144;" f
_rmChildren src/Dodge/Data/GenWorld.hs 155;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 157;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 152;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 151;" f
_rmFloor src/Dodge/Data/GenWorld.hs 145;" f
_rmHeight src/Dodge/Data/Room.hs 39;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 143;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 133;" f
_rmLinks src/Dodge/Data/GenWorld.hs 131;" f
_rmMID src/Dodge/Data/GenWorld.hs 154;" f
_rmMParent src/Dodge/Data/GenWorld.hs 155;" f
_rmName src/Dodge/Data/GenWorld.hs 147;" f
_rmPath src/Dodge/Data/GenWorld.hs 141;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 142;" f
_rmPolys src/Dodge/Data/GenWorld.hs 130;" f
_rmPos src/Dodge/Data/GenWorld.hs 140;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 150;" f
_rmShift src/Dodge/Data/GenWorld.hs 148;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 151;" f
_rmType src/Dodge/Data/GenWorld.hs 157;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 149;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 142;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 132;" f
_rmLinks src/Dodge/Data/GenWorld.hs 130;" f
_rmMID src/Dodge/Data/GenWorld.hs 153;" f
_rmMParent src/Dodge/Data/GenWorld.hs 154;" f
_rmName src/Dodge/Data/GenWorld.hs 146;" f
_rmPath src/Dodge/Data/GenWorld.hs 140;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 141;" f
_rmPolys src/Dodge/Data/GenWorld.hs 129;" f
_rmPos src/Dodge/Data/GenWorld.hs 139;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 149;" f
_rmShift src/Dodge/Data/GenWorld.hs 147;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 150;" f
_rmType src/Dodge/Data/GenWorld.hs 156;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 148;" f
_rmWidth src/Dodge/Data/Room.hs 38;" f
_rmngonSides src/Dodge/Data/Room.hs 42;" f
_rmngonSize src/Dodge/Data/Room.hs 43;" f
@@ -2435,7 +2435,7 @@ _unTO src/Shader/Data.hs 59;" f
_unVAO src/Shader/Data.hs 64;" f
_unfiredBarrels src/Dodge/Data/Item/Params.hs 17;" f
_unpauseClock src/Dodge/Data/World.hs 59;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 42;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 41;" f
_upscaleCloudShader src/Data/Preload/Render.hs 25;" f
_useExactly src/Dodge/Data/Muzzle.hs 63;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 38;" f
@@ -2561,7 +2561,7 @@ addIndefiniteArticle src/StringHelp.hs 17;" f
addLightsNGon src/Dodge/Room/Modify.hs 41;" f
addNodesCrossing src/Dodge/Room/Path.hs 28;" f
addNodesCrossingCirc src/Dodge/Room/Path.hs 41;" f
addPane src/Dodge/Placement/PlaceSpot.hs 174;" f
addPane src/Dodge/Placement/PlaceSpot.hs 162;" f
addPointPolygon src/Geometry/Polygon.hs 142;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
@@ -2713,6 +2713,7 @@ bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 227;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 540;" f
bingate src/Dodge/Item/Scope.hs 115;" f
blColor src/Dodge/Block/Debris.hs 53;" f
black src/Color.hs 54;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 15;" f
blinkActionFail src/Dodge/Creature/Action/Blink.hs 88;" f
@@ -2762,7 +2763,7 @@ boxXYZ src/Polyhedra.hs 91;" f
boxXYZnobase src/Polyhedra.hs 77;" f
brainHat src/Dodge/Item/Equipment.hs 62;" f
branchRectWith src/Dodge/Room/Branch.hs 16;" f
branchWith src/Dodge/Room/Room.hs 80;" f
branchWith src/Dodge/Room/Room.hs 81;" f
bright src/Color.hs 147;" f
brightX src/Color.hs 143;" f
btSPic src/Dodge/Render/ShapePicture.hs 169;" f
@@ -2947,7 +2948,7 @@ coolMinigun src/Dodge/Creature/State.hs 95;" f
copier src/Dodge/Item/Scope.hs 94;" f
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 405;" f
corDoor src/Dodge/Room/Room.hs 406;" f
cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 97;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
@@ -3023,10 +3024,10 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 887;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f
critDeadEnd src/Dodge/Room/Room.hs 258;" f
critInDeadEnd src/Dodge/Room/Room.hs 254;" f
critsPillarRoom src/Dodge/Room/Room.hs 411;" f
critsRoom src/Dodge/Room/Room.hs 419;" f
critDeadEnd src/Dodge/Room/Room.hs 259;" f
critInDeadEnd src/Dodge/Room/Room.hs 255;" f
critsPillarRoom src/Dodge/Room/Room.hs 412;" f
critsRoom src/Dodge/Room/Room.hs 420;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 28;" f
crossProd src/Geometry/Vector3D.hs 41;" f
@@ -3039,7 +3040,7 @@ crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
crsNearRect src/Dodge/Zoning/Creature.hs 40;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 120;" f
cubeShape src/Dodge/Block/Debris.hs 133;" f
cullPoint src/Dodge/Render/ShapePicture.hs 136;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
@@ -3083,7 +3084,7 @@ damageMetal src/Dodge/Material/Damage.hs 123;" f
damagePhotovoltaic src/Dodge/Material/Damage.hs 91;" f
damagePiezoelectric src/Dodge/Material/Damage.hs 87;" f
damagePyroelectric src/Dodge/Material/Damage.hs 78;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 13;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 14;" f
damageStone src/Dodge/Material/Damage.hs 41;" f
damageThingHit src/Dodge/Bullet.hs 180;" f
damageTypeThreshold src/Dodge/Machine/Update.hs 128;" f
@@ -3097,14 +3098,14 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 349;" f
deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 69;" f
deadEndRoom src/Dodge/Room/Room.hs 261;" f
deadEndRoom src/Dodge/Room/Room.hs 262;" f
deadFeet src/Dodge/Creature/Picture.hs 65;" f
deadRot src/Dodge/Creature/Picture.hs 83;" f
deadScalp src/Dodge/Creature/Picture.hs 78;" f
deadUpperBody src/Dodge/Creature/Picture.hs 104;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f
debrisSPic src/Dodge/Prop/Draw.hs 16;" f
debrisSize src/Dodge/Block/Debris.hs 89;" f
debrisSize src/Dodge/Block/Debris.hs 102;" f
debugEvent src/Dodge/Debug.hs 43;" f
debugEvent' src/Dodge/Debug.hs 49;" f
debugEvents src/Dodge/Debug.hs 28;" f
@@ -3194,7 +3195,7 @@ destroyLSFlashAt src/Dodge/LightSource.hs 44;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMachine' src/Dodge/Wall/Damage.hs 112;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 37;" f
destroyMcType src/Dodge/Machine/Destroy.hs 26;" f
destroyMount src/Dodge/Wall/Damage.hs 167;" f
destroyMounts src/Dodge/Wall/Damage.hs 164;" f
destroyProjectile src/Dodge/Projectile/Update.hs 112;" f
@@ -3223,7 +3224,7 @@ dist src/Geometry/Vector.hs 187;" f
dist3 src/Geometry/Vector3D.hs 101;" f
distributeAmmoToItem src/Dodge/WorldEffect.hs 149;" f
distributeAmmoToYou src/Dodge/WorldEffect.hs 137;" f
distributerRoom src/Dodge/Room/Room.hs 428;" f
distributerRoom src/Dodge/Room/Room.hs 429;" f
divTo src/Geometry/Zone.hs 8;" f
divideCircle src/Geometry.hs 321;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 47;" f
@@ -3302,12 +3303,12 @@ doWorldEvents src/Dodge/Update.hs 488;" f
doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 14;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f
doorCor src/Dodge/Room/Room.hs 400;" f
doorCor src/Dodge/Room/Room.hs 401;" f
doorLerp src/Dodge/Door.hs 43;" f
doorLerpWithTimer src/Dodge/Door.hs 76;" f
dotV src/Geometry/Vector.hs 78;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 291;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 292;" f
doublePair src/Geometry.hs 162;" f
doublePairSet src/Geometry.hs 166;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f
@@ -3360,7 +3361,7 @@ drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 34;" f
drawForceField src/Dodge/Wall/Draw.hs 15;" f
drawGapPlus src/Dodge/Render/Picture.hs 278;" f
drawGib src/Dodge/Prop/Draw.hs 26;" f
drawGib src/Dodge/Prop/Draw.hs 27;" f
drawHUD src/Dodge/Render/HUD.hs 53;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f
drawInspectWall src/Dodge/Debug/Picture.hs 256;" f
@@ -3684,8 +3685,8 @@ glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f
glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 707;" f
glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f
glassSwitchBack src/Dodge/Room/Room.hs 83;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 117;" f
glassSwitchBack src/Dodge/Room/Room.hs 84;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 118;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f
gluintSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
@@ -4021,7 +4022,7 @@ liShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
light src/Color.hs 131;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 78;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 65;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 33;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 34;" f
lightsToRender src/Dodge/Render/Lights.hs 12;" f
lightx4 src/Color.hs 155;" f
linGrad src/Geometry/Intersect.hs 239;" f
@@ -4104,16 +4105,16 @@ main bench/Bench.hs 15;" f
main test/Spec.hs 12;" f
makeArc src/Picture/Base.hs 149;" f
makeBlip src/Dodge/RadarSweep.hs 70;" f
makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
makeBlockDebris src/Dodge/Block/Debris.hs 56;" f
makeBullet src/Dodge/HeldUse.hs 1001;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 124;" f
makeColorTermPara src/Dodge/Terminal.hs 121;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 48;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f
makeDoorDebris src/Dodge/Block/Debris.hs 26;" f
makeDebris src/Dodge/Block/Debris.hs 68;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 71;" f
makeDoorDebris src/Dodge/Block/Debris.hs 40;" f
makeDumbSwitch src/Dodge/Room/LongDoor.hs 145;" f
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 69;" f
@@ -4124,7 +4125,7 @@ makeFlamelet src/Dodge/EnergyBall.hs 21;" f
makeFragBullets src/Dodge/Bullet.hs 132;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeIntInterval src/Dodge/Zoning/Base.hs 37;" f
makeMachineDebris src/Dodge/Machine/Destroy.hs 26;" f
makeMachineDebris src/Dodge/Block/Debris.hs 28;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 680;" f
makeParagraph src/Justify.hs 6;" f
@@ -4174,8 +4175,8 @@ mcColor src/Dodge/Machine/Draw.hs 82;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 116;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 162;" f
mcDamSensorUpdate' src/Dodge/Wall/Damage.hs 58;" f
mcKillBut src/Dodge/Machine/Destroy.hs 53;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 45;" f
mcKillBut src/Dodge/Machine/Destroy.hs 42;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 34;" f
mcNoItemsTest src/Dodge/Machine/Update.hs 170;" f
mcPlaySound src/Dodge/Machine/Update.hs 136;" f
mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 122;" f
@@ -4232,7 +4233,7 @@ miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 375;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 367;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f
miniTree2 src/Dodge/Room/Room.hs 124;" f
miniTree2 src/Dodge/Room/Room.hs 125;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 76;" f
mirrorxz src/Picture/Base.hs 330;" f
@@ -4287,16 +4288,16 @@ muzFlareAt src/Dodge/HeldUse.hs 702;" f
muzzlePos src/Dodge/HeldUse.hs 786;" f
muzzleRandPos src/Dodge/HeldUse.hs 795;" f
muzzleWallCheck src/Dodge/Update.hs 346;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 182;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 185;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 188;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f
mvGust src/Dodge/Update.hs 872;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 243;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 219;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 179;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 167;" f
myIntersectLineLine src/Geometry/Intersect.hs 196;" f
myIntersectSegSeg src/Geometry/Intersect.hs 174;" f
nRays src/Geometry.hs 182;" f
@@ -4426,26 +4427,25 @@ pincerP'' src/Dodge/Creature/Boid.hs 106;" f
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
pipe src/Dodge/Item/Craftable.hs 29;" f
pistol src/Dodge/Item/Held/Stick.hs 18;" f
pistolerRoom src/Dodge/Room/Room.hs 345;" f
pistolerRoom src/Dodge/Room/Room.hs 346;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 196;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 191;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 179;" 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
plPriority src/Dodge/Layout.hs 112;" f
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 158;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 232;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 41;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 100;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 85;" f
placeSpotUsingRoomPos src/Dodge/Placement/PlaceSpot.hs 63;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 169;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 147;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 40;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 32;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 99;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 84;" f
placeSpotUsingRoomPos src/Dodge/Placement/PlaceSpot.hs 62;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 157;" f
plainRegex src/Dodge/DisplayInventory.hs 193;" f
playIfFree src/Sound.hs 139;" f
playPositionalSoundQueue src/Sound.hs 147;" f
@@ -4552,7 +4552,7 @@ printRotPoint src/Dodge/Debug/Picture.hs 38;" f
prismBox src/Shape.hs 74;" f
prismPoly src/Shape.hs 60;" f
projV src/Geometry/Vector.hs 179;" f
propSPic src/Dodge/Prop/Draw.hs 22;" f
propSPic src/Dodge/Prop/Draw.hs 23;" f
propagateOrientation src/Dodge/Item/Orientation.hs 92;" f
ps0 src/Dodge/LevelGen/PlacementHelper.hs 52;" f
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 76;" f
@@ -4581,24 +4581,24 @@ putAutoDoor src/Dodge/Placement/Instance/Door.hs 64;" f
putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
putBlockV src/Dodge/Placement/Instance/Wall.hs 114;" f
putConvexChasm src/Dodge/Data/GenWorld.hs 70;" f
putConvexChasm src/Dodge/Data/GenWorld.hs 69;" f
putDoor src/Dodge/Room/Airlock.hs 116;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 20;" f
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 61;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 198;" f
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 64;" f
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f
putShape src/Dodge/Room/Foreground.hs 134;" f
putSingleLight src/Dodge/Room/Tutorial.hs 447;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 51;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 20;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 15;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 21;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 16;" f
putWireEnd src/Dodge/Wire.hs 29;" f
putWireStart src/Dodge/Wire.hs 32;" f
qID src/Quaternion.hs 58;" f
@@ -4749,15 +4749,15 @@ rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 84;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f
rmOutLinks src/Dodge/RoomLink.hs 153;" f
roomC src/Dodge/Room/Room.hs 51;" f
roomCCrits src/Dodge/Room/Room.hs 286;" f
roomCenterPillar src/Dodge/Room/Room.hs 137;" f
roomC src/Dodge/Room/Room.hs 52;" f
roomCCrits src/Dodge/Room/Room.hs 287;" f
roomCenterPillar src/Dodge/Room/Room.hs 138;" f
roomCritLS src/Dodge/Room/RunPast.hs 24;" f
roomCross src/Dodge/Room/Boss.hs 79;" f
roomGlassOctogon src/Dodge/Room/Boss.hs 22;" f
roomMiniIntro src/Dodge/Room/Room.hs 132;" f
roomMiniIntro src/Dodge/Room/Room.hs 133;" f
roomNgon src/Dodge/Room/Ngon.hs 16;" f
roomPadCut src/Dodge/Room/Room.hs 72;" f
roomPadCut src/Dodge/Room/Room.hs 73;" f
roomPillars src/Dodge/Room/Pillar.hs 107;" f
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
roomPillarsPassage src/Dodge/Room/Pillar.hs 94;" f
@@ -4974,10 +4974,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 1206;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 838;" f
shootersRoom src/Dodge/Room/Room.hs 339;" f
shootersRoom' src/Dodge/Room/Room.hs 306;" f
shootersRoom1 src/Dodge/Room/Room.hs 329;" f
shootingRange src/Dodge/Room/Room.hs 356;" f
shootersRoom src/Dodge/Room/Room.hs 340;" f
shootersRoom' src/Dodge/Room/Room.hs 307;" f
shootersRoom1 src/Dodge/Room/Room.hs 330;" f
shootingRange src/Dodge/Room/Room.hs 357;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f
@@ -5078,7 +5078,7 @@ sparkRandDir src/Dodge/Spark.hs 117;" f
sparkToDamage src/Dodge/Spark.hs 40;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 54;" f
spawnerRoom src/Dodge/Room/Room.hs 384;" f
spawnerRoom src/Dodge/Room/Room.hs 385;" f
speedLegs src/Dodge/Item/Equipment.hs 74;" f
splashMenu src/Dodge/Menu.hs 31;" f
splashMenuOptions src/Dodge/Menu.hs 36;" f
@@ -5265,8 +5265,8 @@ titleOptionsNoWrite src/Dodge/Menu.hs 107;" f
tlDoEffect src/Dodge/Terminal.hs 115;" f
tlSetStatus src/Dodge/Terminal.hs 112;" f
tmDistributeAmmo src/Dodge/WorldEffect.hs 117;" f
tmDistributeLines src/Dodge/Room/Room.hs 466;" f
tmMachine src/Dodge/Placement/Instance/Terminal.hs 54;" f
tmDistributeLines src/Dodge/Room/Room.hs 469;" f
tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f
toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f
@@ -5612,12 +5612,12 @@ wasdMovement src/Dodge/Creature/YourControl.hs 169;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 186;" f
weaponBehindPillar src/Dodge/Room/Room.hs 197;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 213;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 158;" f
weaponLongCorridor src/Dodge/Room/Room.hs 238;" f
weaponRoom src/Dodge/Room/Room.hs 275;" f
weaponUnderCrits src/Dodge/Room/Room.hs 176;" f
weaponBehindPillar src/Dodge/Room/Room.hs 198;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 214;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 159;" f
weaponLongCorridor src/Dodge/Room/Room.hs 239;" f
weaponRoom src/Dodge/Room/Room.hs 276;" f
weaponUnderCrits src/Dodge/Room/Room.hs 177;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f
whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f