Start adding machines for storing/distributing items

This commit is contained in:
2025-12-08 22:37:43 +00:00
parent 9e98cdc34b
commit 8b028c7f94
12 changed files with 251 additions and 181 deletions
+4
View File
@@ -1,6 +1,9 @@
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.AmmoType where
import Data.Aeson
import Data.Aeson.TH
data AmmoType
= LauncherAmmo
@@ -12,3 +15,4 @@ data AmmoType
| PrintMaterial
| ExplosivePutty
deriving (Eq, Ord, Show, Read) --Generic, Flat)
deriveJSON defaultOptions ''AmmoType
+1 -1
View File
@@ -22,7 +22,7 @@ data Block = Block
, _blWallIDs :: IS.IntSet
, _blHP :: Int
, _blShadows :: [Int] -- a list of walls that are not shown when this block exists
, _blFootprint :: [Point2] -- TODO check whether this should be clockwise/anticlockwise
, _blFootprint :: [Point2] --clockwise!
, _blPos :: Point2
, _blDir :: Float
, _blHeight :: Float
+15 -2
View File
@@ -1,4 +1,5 @@
{-# LANGUAGE StrictData #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Machine (
@@ -11,6 +12,8 @@ module Dodge.Data.Machine (
module Dodge.Data.GenParams,
) where
import ShortShow
import Dodge.Data.AmmoType
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
@@ -43,10 +46,20 @@ data MachineType
| McDamSensor DamageSensor
| McProxSensor ProximitySensor
| McTurret {_mctTurret :: Turret}
-- | McStorage
-- | McDistributer
| McStorage {_mcsType :: AmmoType, _mcsAmount :: Int}
| McDistributer {_mcdStorageMachine :: Maybe Int}
-- | McSynthesiser
instance ShortShow MachineType where
shortShow = \case
McStatic -> "McStatic"
McTerminal -> "McTerm"
McDamSensor {} -> "McDamSen"
McProxSensor {} -> "McProxSen"
McTurret {} -> "McTur"
McStorage {} -> "McStor"
McDistributer {} -> "McDist"
data Turret = Turret
{ _tuWeapon :: Int
, _tuTurnSpeed :: Float
+11
View File
@@ -1,5 +1,6 @@
module Dodge.Machine.Draw (drawMachine) where
import Dodge.Room.Foreground
import Control.Lens
import qualified Data.Map.Strict as M
import Data.Maybe
@@ -20,10 +21,18 @@ drawMachine cw mc = case _mcType mc of
McTurret tu -> drawBaseMachine 20 mc <> drawTurret lw tu mc
McDamSensor se -> drawBaseMachine 25 mc <> drawDamSensor gp se
McProxSensor {} -> drawBaseMachine 25 mc
McStorage {} -> noPic $ colorSH (mcColor mc) storageShape
McDistributer {} -> drawBaseMachine 25 mc
where
lw = cw ^. lWorld
gp = cw ^. cwGen . cwgParams . sensorCoding
storageShape :: Shape
storageShape = upperBox Large Typical 31 (polyCirc 4 20) <>
foldMap toprail (take 8 [0, pi / 4 ..])
where
toprail a = rotateSH a $ thinHighBar 31 (V2 0 20) (rotateV (pi / 4) $ V2 0 20)
drawDamSensor ::
M.Map SensorType (PaletteColor, DecorationShape) ->
DamageSensor ->
@@ -76,6 +85,8 @@ mcColor mc = case mc ^. mcType of
McDamSensor {} -> yellow
McProxSensor {} -> aquamarine
McTurret {} -> blue
McStorage {} -> orange
McDistributer {} -> red
drawTurret :: LWorld -> Turret -> Machine -> SPic
+2
View File
@@ -36,6 +36,8 @@ mcTypeUpdate mc = \case
McTurret tu -> updateTurret (_tuTurnSpeed tu) mc
McDamSensor se -> mcDamSensorTriggerUpdate se mc . mcDamSensorUpdate se mc
McProxSensor se -> mcProxSensorTriggerUpdate se mc . mcProxSensorUpdate se mc
McStorage {} -> id
McDistributer {} -> id
terminalScreenGlow :: Machine -> World -> World
terminalScreenGlow mc w = fromMaybe w $ do
+17 -23
View File
@@ -28,32 +28,32 @@ midBarDecoration w h z =
where
w' = 0.3 * w
embossingR =
prismPoly
Medium
Typical
[V3 w h z, V3 w (0.3 * h) 41, V3 w (-0.3 * h) 41, V3 w (- h) z]
[V3 w' h z, V3 w' (0.3 * h) 41, V3 w' (-0.3 * h) 41, V3 w' (- h) z]
prismPoly
Medium
Typical
[V3 w h z, V3 w (0.3 * h) 41, V3 w (-0.3 * h) 41, V3 w (- h) z]
[V3 w' h z, V3 w' (0.3 * h) 41, V3 w' (-0.3 * h) 41, V3 w' (- h) z]
fourEmbossDecoration :: Float -> Float -> Float -> Shape
fourEmbossDecoration w h z = foldMap f [(w, h), (- w, h), (w, - h), (- w, - h)]
where
f (a, b) = translateSH (V3 (a / 2) (b / 2) z) embossing
embossing = upperBoxHalf Large Typical 10 $ rectNSWE (h / 2) (- h / 2) (- w / 2) (w / 2)
embossing = upperBoxHalf Large Typical 10 $ rectWH (w/2) (h/2)
plusDecoration :: Float -> Float -> Float -> Shape
plusDecoration w h z =
thinHighBar z (V2 w 0) (V2 (- w) 0)
<> thinHighBar z (V2 0 h) (V2 0 (- h))
thinHighBar z (V2 w 0) (V2 (- w) 0)
<> thinHighBar z (V2 0 h) (V2 0 (- h))
squareDecoration :: Float -> Float -> Float -> Shape
squareDecoration w h z =
foldMap
f
[ (w', - w', h', h')
, (w', - w', - h', - h')
, (w', w', h', - h')
, (- w', - w', h', - h')
]
foldMap
f
[ (w', - w', h', h')
, (w', - w', - h', - h')
, (w', w', h', - h')
, (- w', - w', h', - h')
]
where
w' = w - 1.5
h' = h - 1.5
@@ -65,14 +65,8 @@ circleDecoration w _ z = foldMap toprail (take 8 [0, pi / 4 ..])
toprail a = rotateSH a $ thinHighBar z (V2 0 w) (rotateV (pi / 4) $ V2 0 w)
threeLineDecoration :: Float -> Float -> Float -> Shape
threeLineDecoration w h z =
foldMap
f
[ (w', - w', h', h')
, (w', - w', 0, 0)
, (w', - w', - h', - h')
]
threeLineDecoration w h z = foldMap f [h', 0, - h']
where
w' = w - 1.5
h' = h - 1.5
f (a, c, b, d) = thinHighBar z (V2 a b) (V2 c d)
f x = thinHighBar z (V2 w' x) (V2 (- w') x)
+24
View File
@@ -10,8 +10,12 @@ module Dodge.Room.Room (
corDoor,
weaponBehindPillar,
critsRoom,
distributerRoom,
) where
import Shape
import Dodge.Default
import Dodge.Data.AmmoType
import qualified Data.Set as S
import Dodge.Cleat
import Dodge.Creature
@@ -404,5 +408,25 @@ critsRoom i =
, return <$> glassSwitchBackCrits i
]
distributerRoom :: AmmoType -> Int -> State LayoutVars Room
distributerRoom atype aamount = do
i <- nextLayoutInt
w <- state $ randomR (100, 400)
h <- state $ randomR (200, 400)
r <- roomRectAutoLinks w h
let mcstore = defaultMachine
& mcMaterial .~ Metal
& mcType .~ McStorage atype aamount
mcdist mj = defaultMachine
& mcMaterial .~ Metal
& mcType .~ McDistributer mj
store = sps (unusedOffPathAwayFromLink 50)
(PutMachine (reverse $ polyCirc 4 20) mcstore Nothing) & plExternalID ?~ i
dst gw = let mj = gw ^? genPmnt . ix i . plMID . _Just
in sps (unusedOffPathAwayFromLink 50)
(PutMachine (reverse $ square 10) (mcdist mj) Nothing)
return $ r & rmPmnts .:~ store
& rmInPmnt .:~ (0,dst)
-- cor <- shuffleLinks corridor
-- return $ tToBTree "corDoor" $ treePost [door,cor,cleatOnward door]
+3 -3
View File
@@ -12,8 +12,8 @@ import Dodge.PlacementSpot
import Dodge.Room.Foreground
import Dodge.Room.Modify.Girder
import Dodge.Room.Procedural
import Geometry
import LensHelp
import Linear
import RandomHelp
import Shape
@@ -38,7 +38,7 @@ randEdgeTank = do
return $
basetank
& plType . putBlock . blDraw
<>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *.* cardVec edge))
<>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *^ cardVec edge))
-- %~ fmap (<> noPic ( colorSH orange (verticalPipe 80
-- <> horPipe 80 0 (70 *.* cardVec edge))))
-- 70 is a guess, the true value depends on the distance to the wall
@@ -57,7 +57,7 @@ randEdgeTanks i = do
replicate i $
basetank
& plType . putBlock . blDraw
<>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *.* cardVec edge))
<>~ colorSH orange (verticalPipe 80 <> horPipe 80 0 (70 *^ cardVec edge))
-- 70 is a guess, the true value depends on the distance to the wall
& plSpot
.~ rprBool
+10 -1
View File
@@ -1,6 +1,7 @@
{-# OPTIONS_GHC -Wno-unused-imports #-}
module Dodge.Room.Tutorial where
import Dodge.Data.AmmoType
import Dodge.Room.Path
import Dodge.Room.Pillar
import Dodge.Room.Boss
@@ -49,12 +50,20 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, tToBTree "sdr" . return . cleatOnward <$>
(shuffleLinks =<< distributerRoom BulletAmmo 10000000)
, return $ tToBTree "cor" $ return $ cleatOnward corridor
--, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
, tToBTree "sdr" . return . cleatOnward <$> tanksPipesRoom
-- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
, return $ tToBTree "door" $ return $ cleatOnward door
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, tToBTree "sdr" . return . cleatOnward <$>
(shuffleLinks =<< tanksPipesRoom)
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "door" $ return $ cleatOnward door
, tutHub
, tutLight
, tutDrop
+6 -1
View File
@@ -32,7 +32,12 @@ import Data.Foldable
import Data.Monoid
testStringInit :: Universe -> [String]
testStringInit u = [show $ u^. uvWorld . wCam . camZoom]
testStringInit u = map show
(u ^.. uvWorld . cWorld . lWorld . machines . traverse .mcType . _McDistributer)
<>
map f (u ^.. uvWorld . cWorld . lWorld . machines . traverse)
where
f mc = show (mc ^. mcID) <> shortShow (mc ^. mcType)
-- [show $ foldMap (foldMap (Sum . length . (^. seObstacles)))
-- $ u ^. uvWorld . cWorld . incGraph]
-- foldMap prettyShort $ u ^? uvWorld . cWorld . lWorld . machines . ix 0 . mcType . _McProxSensor
+2 -1
View File
@@ -43,6 +43,7 @@ import qualified Quaternion as Q
import Shape.Data
-- - approximate a circle around the z axis by a polygon with n*2 points of radius x
-- should be anticlockwise
polyCirc :: Int -> Float -> [Point2]
{-# INLINE polyCirc #-}
polyCirc n x = map (\a -> rotateV a (V2 x 0)) $ take (n * 2) [0, pi / fromIntegral n ..]
@@ -149,9 +150,9 @@ upperBoxSU :: Float -> [Point2] -> Shape
upperBoxSU = upperBox Small Unimportant
upperBox ::
-- | height, expected to be strictly positive
Size ->
Importance ->
-- | height, expected to be strictly positive
Float ->
[Point2] ->
Shape
+156 -149
View File
@@ -57,7 +57,7 @@ AmmoParams src/Dodge/Data/Item/Use.hs 49;" t
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
AmmoType src/Dodge/Data/AmmoType.hs 8;" t
ArbitraryAction src/Dodge/Data/ActionPlan.hs 119;" C
ArcNodeType src/Dodge/Data/LWorld.hs 156;" t
ArcShad src/Picture/Data.hs 34;" C
@@ -118,7 +118,7 @@ BeamDrawColor src/Dodge/Data/Beam.hs 33;" C
BeamSimple src/Dodge/Data/Beam.hs 48;" C
BeamType src/Dodge/Data/Beam.hs 44;" t
BecomePowerful src/Dodge/Data/Scenario.hs 9;" C
BeltBulletAmmo src/Dodge/Data/AmmoType.hs 8;" C
BeltBulletAmmo src/Dodge/Data/AmmoType.hs 11;" C
BezierTrajectory src/Dodge/Data/Bullet.hs 42;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 49;" C
Biome src/Dodge/Data/Scenario.hs 71;" t
@@ -148,7 +148,7 @@ BulFrag src/Dodge/Data/Bullet.hs 36;" C
BulGas src/Dodge/Data/Bullet.hs 37;" C
BulPlain src/Dodge/Data/Bullet.hs 34;" C
Bullet src/Dodge/Data/Bullet.hs 16;" t
BulletAmmo src/Dodge/Data/AmmoType.hs 7;" C
BulletAmmo src/Dodge/Data/AmmoType.hs 10;" C
BulletEffect src/Dodge/Data/Bullet.hs 26;" t
BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t
BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C
@@ -350,7 +350,7 @@ DoubleRes src/Dodge/Data/Config.hs 111;" C
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t
DrawForceField src/Dodge/Data/Wall.hs 37;" C
DrawnWall src/Dodge/Data/Wall.hs 33;" C
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
DroneAmmo src/Dodge/Data/AmmoType.hs 13;" C
DropItem src/Dodge/Data/ActionPlan.hs 38;" C
DudPayload src/Dodge/Data/Payload.hs 11;" C
Dungeon src/Dodge/Data/Scenario.hs 66;" C
@@ -369,7 +369,7 @@ Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricSensor src/Dodge/Data/Machine/Sensor.hs 14;" C
ElectricSpark src/Dodge/Data/Spark.hs 19;" C
Electrical src/Dodge/Data/Damage.hs 24;" C
ElectricalAmmo src/Dodge/Data/AmmoType.hs 9;" C
ElectricalAmmo src/Dodge/Data/AmmoType.hs 12;" C
ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 13;" C
Electronics src/Dodge/Data/Material.hs 18;" C
EllShad src/Picture/Data.hs 35;" C
@@ -394,7 +394,7 @@ ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
Explosive src/Dodge/Data/Damage.hs 25;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 87;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 13;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C
ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t
Eyes src/Dodge/Data/Creature/Perception.hs 39;" C
FBO src/Shader/Data.hs 57;" t
@@ -474,7 +474,7 @@ GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C
GameOverOptions src/Dodge/Data/Universe.hs 72;" C
GameRoom src/Dodge/GameRoom.hs 12;" t
Gas src/Dodge/Data/Cloud.hs 34;" t
GasAmmo src/Dodge/Data/AmmoType.hs 11;" C
GasAmmo src/Dodge/Data/AmmoType.hs 14;" C
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" t
GasParams src/Dodge/Data/Item/Use.hs 52;" C
@@ -646,7 +646,7 @@ LaserType src/Dodge/Data/Laser.hs 14;" t
LaserWeaponSF src/Dodge/Data/ComposedItem.hs 40;" C
Lasering src/Dodge/Data/Damage.hs 22;" C
LauncherAI src/Dodge/Data/Creature/Misc.hs 43;" C
LauncherAmmo src/Dodge/Data/AmmoType.hs 6;" C
LauncherAmmo src/Dodge/Data/AmmoType.hs 9;" C
LaundrySS src/Dodge/Data/Scenario.hs 115;" C
LayVars src/Dodge/Data/MetaTree.hs 29;" C
Layer src/Picture/Data.hs 20;" t
@@ -701,11 +701,11 @@ MOTOR src/Dodge/Data/Item/Combine.hs 63;" C
MPO src/Dodge/Base/Collide.hs 96;" t
MTRS src/Dodge/Data/MTRS.hs 6;" t
MTree src/Dodge/Data/MetaTree.hs 11;" C
Machine src/Dodge/Data/Machine.hs 27;" t
Machine src/Dodge/Data/Machine.hs 28;" t
MachineAltSound src/Dodge/Data/SoundOrigin.hs 22;" C
MachinePart src/Dodge/Data/Wall/Structure.hs 13;" C
MachineSound src/Dodge/Data/SoundOrigin.hs 21;" C
MachineType src/Dodge/Data/Machine.hs 40;" t
MachineType src/Dodge/Data/Machine.hs 41;" t
MagBelow src/Dodge/Data/Muzzle.hs 22;" C
Magnet src/Dodge/Data/Magnet.hs 21;" t
MagnetAlign src/Dodge/Data/Magnet.hs 15;" C
@@ -730,11 +730,13 @@ MapperSF src/Dodge/Data/ComposedItem.hs 39;" C
Material src/Dodge/Data/Material.hs 10;" t
MaterialSound src/Dodge/Data/SoundOrigin.hs 34;" C
Maybe' src/MaybeHelp.hs 11;" t
McDamSensor src/Dodge/Data/Machine.hs 43;" C
McProxSensor src/Dodge/Data/Machine.hs 44;" C
McStatic src/Dodge/Data/Machine.hs 41;" C
McTerminal src/Dodge/Data/Machine.hs 42;" C
McTurret src/Dodge/Data/Machine.hs 45;" C
McDamSensor src/Dodge/Data/Machine.hs 44;" C
McDistributer src/Dodge/Data/Machine.hs 48;" C
McProxSensor src/Dodge/Data/Machine.hs 45;" C
McStatic src/Dodge/Data/Machine.hs 42;" C
McStorage src/Dodge/Data/Machine.hs 47;" C
McTerminal src/Dodge/Data/Machine.hs 43;" C
McTurret src/Dodge/Data/Machine.hs 46;" C
MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 54;" C
MdSetLSCol src/Dodge/Data/WorldEffect.hs 53;" C
MdTrigIf src/Dodge/Data/WorldEffect.hs 52;" C
@@ -1006,7 +1008,7 @@ PosInf src/Dodge/Data/CardinalPoint.hs 44;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 33;" t
PreloadData src/Data/Preload.hs 10;" t
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
PrintMaterial src/Dodge/Data/AmmoType.hs 15;" C
Prison src/Dodge/Data/Scenario.hs 65;" C
Projectile src/Dodge/Data/Projectile.hs 15;" t
ProjectileParams src/Dodge/Data/Item/Use.hs 51;" C
@@ -1358,7 +1360,7 @@ TurnTo src/Dodge/Data/ActionPlan.hs 35;" C
TurnToPoint src/Dodge/Data/ActionPlan.hs 71;" C
TurnToward src/Dodge/Data/ActionPlan.hs 32;" C
TurnTowardCr src/Dodge/Data/CreatureEffect.hs 9;" C
Turret src/Dodge/Data/Machine.hs 50;" t
Turret src/Dodge/Data/Machine.hs 51;" t
TurretInt src/Dodge/Data/Item/Location.hs 19;" t
TwistGoal src/Dodge/Data/Scenario.hs 15;" C
TwoHandFlat src/Dodge/Data/AimStance.hs 13;" C
@@ -1969,15 +1971,16 @@ _mapInvZoom src/Dodge/Data/HUD.hs 19;" f
_matUBO src/Data/Preload/Render.hs 42;" f
_mbAttach src/Dodge/Data/MetaTree.hs 18;" f
_mbTree src/Dodge/Data/MetaTree.hs 18;" f
_mcDamage src/Dodge/Data/Machine.hs 35;" f
_mcDir src/Dodge/Data/Machine.hs 32;" f
_mcHP src/Dodge/Data/Machine.hs 34;" f
_mcID src/Dodge/Data/Machine.hs 28;" f
_mcMaterial src/Dodge/Data/Machine.hs 30;" f
_mcMounts src/Dodge/Data/Machine.hs 37;" f
_mcPos src/Dodge/Data/Machine.hs 31;" f
_mcType src/Dodge/Data/Machine.hs 36;" f
_mcWallIDs src/Dodge/Data/Machine.hs 29;" f
_mcDamage src/Dodge/Data/Machine.hs 36;" f
_mcDir src/Dodge/Data/Machine.hs 33;" f
_mcHP src/Dodge/Data/Machine.hs 35;" f
_mcID src/Dodge/Data/Machine.hs 29;" f
_mcMaterial src/Dodge/Data/Machine.hs 31;" f
_mcMounts src/Dodge/Data/Machine.hs 38;" f
_mcPos src/Dodge/Data/Machine.hs 32;" f
_mcType src/Dodge/Data/Machine.hs 37;" f
_mcWallIDs src/Dodge/Data/Machine.hs 30;" f
_mcdStorageMachine src/Dodge/Data/Machine.hs 48;" f
_mcoCombCombine src/Dodge/Data/Input.hs 24;" f
_mcoCombSelect src/Dodge/Data/Input.hs 23;" f
_mcoDBBool src/Dodge/Data/Input.hs 30;" f
@@ -1991,7 +1994,9 @@ _mcoSecSelStart src/Dodge/Data/Input.hs 20;" f
_mcoSelEnd src/Dodge/Data/Input.hs 20;" f
_mcoTermID src/Dodge/Data/Input.hs 27;" f
_mcoTermStatus src/Dodge/Data/Input.hs 27;" f
_mctTurret src/Dodge/Data/Machine.hs 45;" f
_mcsAmount src/Dodge/Data/Machine.hs 47;" f
_mcsType src/Dodge/Data/Machine.hs 47;" f
_mctTurret src/Dodge/Data/Machine.hs 46;" f
_mdBool src/Dodge/Data/Modification.hs 19;" f
_mdExternalID src/Dodge/Data/Modification.hs 15;" f
_mdExternalID1 src/Dodge/Data/Modification.hs 23;" f
@@ -2372,10 +2377,10 @@ _trieMVal src/SimpleTrie.hs 11;" f
_triggers src/Dodge/Data/LWorld.hs 127;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 43;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 42;" f
_tuDir src/Dodge/Data/Machine.hs 54;" f
_tuFireTime src/Dodge/Data/Machine.hs 53;" f
_tuTurnSpeed src/Dodge/Data/Machine.hs 52;" f
_tuWeapon src/Dodge/Data/Machine.hs 51;" f
_tuDir src/Dodge/Data/Machine.hs 55;" f
_tuFireTime src/Dodge/Data/Machine.hs 54;" f
_tuTurnSpeed src/Dodge/Data/Machine.hs 53;" f
_tuWeapon src/Dodge/Data/Machine.hs 52;" f
_turnToPoint src/Dodge/Data/ActionPlan.hs 71;" f
_uInt src/Dodge/Data/Item/Use.hs 31;" f
_uScope src/Dodge/Data/Item/Use.hs 34;" f
@@ -2725,7 +2730,7 @@ boxXYZ src/Polyhedra.hs 94;" f
boxXYZnobase src/Polyhedra.hs 80;" f
brainHat src/Dodge/Item/Equipment.hs 73;" f
branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 69;" f
branchWith src/Dodge/Room/Room.hs 73;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 131;" f
@@ -2743,7 +2748,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f
cChasm src/Dodge/Room/Tutorial.hs 120;" f
cChasm src/Dodge/Room/Tutorial.hs 129;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2778,7 +2783,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 189;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 198;" f
chasmTest src/Dodge/Creature/Update.hs 109;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2810,7 +2815,7 @@ circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f
circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 66;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
clAlt src/Dodge/Cloud.hs 5;" f
@@ -2865,7 +2870,7 @@ collidePointTestFilter src/Dodge/Base/Collide.hs 188;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 202;" f
color src/Picture/Base.hs 108;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 232;" f
colorSH src/Shape.hs 233;" f
combinationsDotGraph src/Dodge/Combine/Graph.hs 93;" f
combinationsGraph src/Dodge/Combine/Graph.hs 72;" f
combinationsOf src/Multiset.hs 46;" f
@@ -2905,7 +2910,7 @@ coolMinigun src/Dodge/Creature/State.hs 95;" f
copier src/Dodge/Item/Scope.hs 88;" f
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 385;" f
corDoor src/Dodge/Room/Room.hs 389;" f
cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 88;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
@@ -2978,9 +2983,9 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 873;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 68;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 89;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 78;" f
critInDeadEnd src/Dodge/Room/Room.hs 243;" f
critsPillarRoom src/Dodge/Room/Room.hs 390;" f
critsRoom src/Dodge/Room/Room.hs 398;" f
critInDeadEnd src/Dodge/Room/Room.hs 247;" f
critsPillarRoom src/Dodge/Room/Room.hs 394;" f
critsRoom src/Dodge/Room/Room.hs 402;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 27;" f
crossProd src/Geometry/Vector3D.hs 41;" f
@@ -3013,7 +3018,7 @@ cycleOptions src/Dodge/Menu/Option.hs 75;" f
cycleR src/DoubleStack.hs 32;" f
cylinderIndices src/Shader/Poke.hs 382;" f
cylinderOnSeg src/Geometry.hs 122;" f
cylinderPoly src/Shape.hs 82;" f
cylinderPoly src/Shape.hs 83;" f
cylinderRoundIndices src/Shader/Poke.hs 389;" f
dShadCol src/Dodge/Render/List.hs 222;" f
damMatSideEffect src/Dodge/Material/Damage.hs 20;" f
@@ -3045,7 +3050,7 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 322;" f
deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 246;" f
deadEndRoom src/Dodge/Room/Room.hs 250;" f
deadFeet src/Dodge/Creature/Picture.hs 68;" f
deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
@@ -3070,8 +3075,8 @@ decodeSensorType src/Dodge/Terminal.hs 72;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
decontamRoom src/Dodge/Room/Airlock.hs 38;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 11;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 17;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 14;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 16;" f
decreaseAwareness src/Dodge/Creature/Perception.hs 118;" f
decrementTimer src/Sound.hs 103;" f
dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 712;" f
@@ -3166,6 +3171,7 @@ displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f
displayTerminalLineString src/Dodge/Update.hs 480;" f
dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f
distributerRoom src/Dodge/Room/Room.hs 411;" f
divTo src/Geometry/Zone.hs 8;" f
divideCircle src/Geometry.hs 321;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 65;" f
@@ -3245,7 +3251,7 @@ doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f
doorLerp src/Dodge/Door.hs 40;" f
dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 280;" f
doubleFindMax src/Dodge/Update/Scroll.hs 181;" f
doubleFindMin src/Dodge/Update/Scroll.hs 160;" f
doubleFindPred src/Dodge/Update/Scroll.hs 188;" f
@@ -3259,7 +3265,7 @@ drawAimSweep src/Dodge/Render/Picture.hs 292;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
drawArrowDown src/Dodge/Render/Picture.hs 219;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 64;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 73;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Render/ShapePicture.hs 51;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f
@@ -3284,7 +3290,7 @@ drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 72;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f
drawDDATest src/Dodge/Debug/Picture.hs 303;" f
drawDamSensor src/Dodge/Machine/Draw.hs 27;" f
drawDamSensor src/Dodge/Machine/Draw.hs 36;" f
drawDebug src/Dodge/Debug.hs 207;" f
drawDrag src/Dodge/Render/Picture.hs 198;" f
drawDragDrop src/Dodge/Render/Picture.hs 227;" f
@@ -3321,7 +3327,7 @@ drawListElement src/Dodge/Render/List.hs 187;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 96;" f
drawListYoff src/Dodge/Render/List.hs 93;" f
drawLoadingScreen src/Dodge/Render/MenuScreen.hs 24;" f
drawMachine src/Dodge/Machine/Draw.hs 16;" f
drawMachine src/Dodge/Machine/Draw.hs 17;" f
drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f
drawMapperInventory src/Dodge/Render/HUD.hs 174;" f
drawMenuClick src/Dodge/Render/Picture.hs 166;" f
@@ -3367,7 +3373,7 @@ drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 49;" f
drawTitleBackground src/Dodge/Render/List.hs 45;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTurret src/Dodge/Machine/Draw.hs 81;" f
drawTurret src/Dodge/Machine/Draw.hs 92;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f
drawWall src/Dodge/Wall/Draw.hs 11;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f
@@ -3521,7 +3527,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 580;" f
foldMTRS src/Dodge/Room/Tutorial.hs 66;" f
foldMTRS src/Dodge/Room/Tutorial.hs 75;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3533,7 +3539,7 @@ forceElements src/StrictHelp.hs 10;" f
forceField src/Dodge/Wall/ForceField.hs 6;" f
forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 39;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 37;" f
fpsText src/Dodge/Render/Picture.hs 57;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 146;" f
frag src/Shader/Data.hs 110;" f
@@ -3583,8 +3589,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 338;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 325;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 347;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 334;" f
getDebugMouseOver src/Dodge/Update.hs 375;" f
getDistortions src/Dodge/Render.hs 433;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3601,7 +3607,7 @@ getNodePos src/Dodge/Path.hs 34;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 321;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 330;" f
getRootItemBounds src/Dodge/Render/HUD.hs 101;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3625,8 +3631,8 @@ glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 686;" f
glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 652;" f
glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f
glassSwitchBack src/Dodge/Room/Room.hs 72;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f
glassSwitchBack src/Dodge/Room/Room.hs 76;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 110;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f
gluintSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
@@ -3818,7 +3824,7 @@ isAnimate src/Dodge/Creature/Test.hs 134;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 65;" f
isElectrical src/Dodge/Machine/Update.hs 84;" f
isElectrical src/Dodge/Machine/Update.hs 86;" f
isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f
isInLnk src/Dodge/PlacementSpot.hs 161;" f
@@ -3916,7 +3922,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 40;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
lChasm src/Dodge/Room/Tutorial.hs 129;" f
lChasm src/Dodge/Room/Tutorial.hs 138;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f
@@ -4026,7 +4032,7 @@ lookupTrie src/SimpleTrie.hs 30;" f
loopPairs src/ListHelp.hs 30;" f
lootRoom src/Dodge/Room/Treasure.hs 58;" f
lorem src/Lorem.hs 3;" f
lowBlock src/Dodge/Placement/Instance/Block.hs 25;" f
lowBlock src/Dodge/Placement/Instance/Block.hs 28;" f
lsColPos src/Dodge/LightSource.hs 24;" f
lsColPosID src/Dodge/LightSource.hs 21;" f
lsColPosRad src/Dodge/LightSource.hs 30;" f
@@ -4115,25 +4121,25 @@ maybeOpenConsole src/Dodge/Update.hs 126;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 129;" f
mcColor src/Dodge/Machine/Draw.hs 72;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 98;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 136;" f
mcApplyDamage src/Dodge/Machine/Update.hs 131;" f
mcColor src/Dodge/Machine/Draw.hs 81;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 100;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 138;" f
mcKillBut src/Dodge/Machine/Destroy.hs 37;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f
mcNoItemsTest src/Dodge/Machine/Update.hs 144;" f
mcPlaySound src/Dodge/Machine/Update.hs 113;" f
mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 104;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f
mcProxTest src/Dodge/Machine/Update.hs 203;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f
mcNoItemsTest src/Dodge/Machine/Update.hs 146;" f
mcPlaySound src/Dodge/Machine/Update.hs 115;" f
mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 106;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 141;" f
mcProxTest src/Dodge/Machine/Update.hs 205;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 173;" f
mcSPic src/Dodge/Render/ShapePicture.hs 134;" f
mcShootAuto src/Dodge/HeldUse.hs 1169;" f
mcShootLaser src/Dodge/HeldUse.hs 1162;" f
mcTriggerVal src/Dodge/Machine/Update.hs 110;" f
mcTriggerVal src/Dodge/Machine/Update.hs 112;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f
mcUseHeld src/Dodge/HeldUse.hs 1086;" f
mcUseItem src/Dodge/Machine/Update.hs 89;" f
mcUseItem src/Dodge/Machine/Update.hs 91;" f
megaBattery src/Dodge/Item/Ammo.hs 55;" f
megaShellMag src/Dodge/Item/Ammo.hs 44;" f
megaTinMag src/Dodge/Item/Ammo.hs 23;" f
@@ -4160,9 +4166,9 @@ metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 562;" f
metalPlate src/Dodge/Item/Craftable.hs 35;" f
mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 24;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 152;" f
midChasm src/Dodge/Room/Tutorial.hs 161;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4176,7 +4182,7 @@ miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 373;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 370;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 756;" f
miniTree2 src/Dodge/Room/Room.hs 113;" f
miniTree2 src/Dodge/Room/Room.hs 117;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 68;" f
mirrorxz src/Picture/Base.hs 335;" f
@@ -4309,14 +4315,14 @@ outLink src/Dodge/RoomLink.hs 120;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
outwardIntegers src/Dodge/Base.hs 181;" f
overCol src/Picture/Base.hs 308;" f
overColObj src/Shape.hs 268;" f
overColSH src/Shape.hs 236;" f
overColObj src/Shape.hs 269;" f
overColSH src/Shape.hs 237;" f
overDebugEvent src/Dodge/Debug.hs 31;" f
overLnkPosDir src/Dodge/RoomLink.hs 115;" f
overLnkType src/Dodge/RoomLink.hs 105;" f
overPos src/Picture/Base.hs 303;" f
overPosObj src/Shape.hs 272;" f
overPosSH src/Shape.hs 256;" f
overPosObj src/Shape.hs 273;" f
overPosSH src/Shape.hs 257;" f
overPosSP src/ShapePicture.hs 41;" f
overlapCircWalls src/Dodge/Base/Collide.hs 230;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 272;" f
@@ -4368,7 +4374,7 @@ pincerP''' src/Dodge/Creature/Boid.hs 77;" f
pingPongBetween src/Render.hs 210;" f
pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolerRoom src/Dodge/Room/Room.hs 330;" f
pistolerRoom src/Dodge/Room/Room.hs 334;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 173;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
@@ -4393,7 +4399,7 @@ playPositionalSoundQueue src/Sound.hs 146;" f
playSoundAndUpdate src/Sound.hs 54;" f
playSoundQueue src/Sound.hs 133;" f
playSoundUnlessRewinding appDodge/Main.hs 110;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 45;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 43;" f
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 209;" f
@@ -4441,10 +4447,10 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 173;" f
polyChasmC src/Dodge/Room/Tutorial.hs 182;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyChasm src/Dodge/Room/Tutorial.hs 182;" f
polyChasmC src/Dodge/Room/Tutorial.hs 191;" f
polyCirc src/Shape.hs 47;" f
polyCircx src/Shape.hs 52;" f
polyCornerDist src/Geometry/Polygon.hs 61;" f
polyOrthDist src/Geometry/Polygon.hs 51;" f
polyPointsIntersect src/Geometry/ConvexPoly.hs 60;" f
@@ -4489,8 +4495,8 @@ printInfoCheckNum src/Dodge/Tree/Shift.hs 161;" f
printPartialColumns src/Dodge/Tree/Shift.hs 142;" f
printPoint src/Dodge/Debug/Picture.hs 35;" f
printRotPoint src/Dodge/Debug/Picture.hs 38;" f
prismBox src/Shape.hs 73;" f
prismPoly src/Shape.hs 59;" f
prismBox src/Shape.hs 74;" f
prismPoly src/Shape.hs 60;" f
projV src/Geometry/Vector.hs 177;" f
projV3 src/Geometry/Vector3D.hs 127;" f
propSPic src/Dodge/Prop/Draw.hs 22;" f
@@ -4624,7 +4630,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f
removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 238;" f
removeLights src/Dodge/Room/Tutorial.hs 247;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 27;" f
@@ -4683,15 +4689,15 @@ rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 74;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f
rmOutLinks src/Dodge/RoomLink.hs 153;" f
roomC src/Dodge/Room/Room.hs 40;" f
roomCCrits src/Dodge/Room/Room.hs 271;" f
roomCenterPillar src/Dodge/Room/Room.hs 126;" f
roomC src/Dodge/Room/Room.hs 44;" f
roomCCrits src/Dodge/Room/Room.hs 275;" f
roomCenterPillar src/Dodge/Room/Room.hs 130;" 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 121;" f
roomMiniIntro src/Dodge/Room/Room.hs 125;" f
roomNgon src/Dodge/Room/Ngon.hs 16;" f
roomPadCut src/Dodge/Room/Room.hs 61;" f
roomPadCut src/Dodge/Room/Room.hs 65;" f
roomPillars src/Dodge/Room/Pillar.hs 106;" f
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f
@@ -4714,9 +4720,9 @@ rotate3y src/Geometry/Vector3D.hs 66;" f
rotate3z src/Geometry/Vector3D.hs 54;" f
rotateCamera src/Dodge/Update/Camera.hs 204;" f
rotateList src/Padding.hs 49;" f
rotateSH src/Shape.hs 252;" f
rotateSHq src/Shape.hs 161;" f
rotateSHx src/Shape.hs 260;" f
rotateSH src/Shape.hs 253;" f
rotateSHq src/Shape.hs 162;" f
rotateSHx src/Shape.hs 261;" f
rotateSP src/ShapePicture.hs 57;" f
rotateTo src/Polyhedra/Geodesic.hs 64;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 216;" f
@@ -4760,7 +4766,7 @@ scale src/Picture/Base.hs 149;" f
scale3 src/Picture/Base.hs 145;" f
scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 264;" f
scaleSH src/Shape.hs 265;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
@@ -4802,13 +4808,13 @@ selSecYint src/Dodge/SelectionSections.hs 152;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
senseDamage src/Dodge/Machine/Update.hs 215;" f
sensorReqToString src/Dodge/Machine/Update.hs 197;" f
senseDamage src/Dodge/Machine/Update.hs 217;" f
sensorReqToString src/Dodge/Machine/Update.hs 199;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 86;" f
sensorTut src/Dodge/Room/Tutorial.hs 347;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f
sensorSPic src/Dodge/Machine/Draw.hs 97;" f
sensorTut src/Dodge/Room/Tutorial.hs 356;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 236;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f
@@ -4834,7 +4840,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 73;" f
setRoomInt src/Dodge/Room/Tutorial.hs 82;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f
setShaderSource src/Shader/Compile.hs 121;" f
@@ -4843,7 +4849,7 @@ setSoundVolume src/Sound.hs 158;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 80;" f
setTreeInts src/Dodge/Room/Tutorial.hs 89;" f
setViewDistance src/Dodge/Update/Camera.hs 243;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 438;" f
@@ -4905,10 +4911,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 1186;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 821;" f
shootersRoom src/Dodge/Room/Room.hs 324;" f
shootersRoom' src/Dodge/Room/Room.hs 291;" f
shootersRoom1 src/Dodge/Room/Room.hs 314;" f
shootingRange src/Dodge/Room/Room.hs 341;" f
shootersRoom src/Dodge/Room/Room.hs 328;" f
shootersRoom' src/Dodge/Room/Room.hs 295;" f
shootersRoom1 src/Dodge/Room/Room.hs 318;" f
shootingRange src/Dodge/Room/Room.hs 345;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 7;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 748;" f
@@ -4994,7 +5000,7 @@ sparkRandDir src/Dodge/Spark.hs 116;" f
sparkToDamage src/Dodge/Spark.hs 39;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 54;" f
spawnerRoom src/Dodge/Room/Room.hs 369;" f
spawnerRoom src/Dodge/Room/Room.hs 373;" f
speedLegs src/Dodge/Item/Equipment.hs 90;" f
splashMenu src/Dodge/Menu.hs 33;" f
splashMenuOptions src/Dodge/Menu.hs 38;" f
@@ -5012,7 +5018,7 @@ spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
square src/Geometry/Polygon.hs 48;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 51;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f
squashNormalizeV src/Geometry/Vector.hs 158;" f
ssLookupDown src/Dodge/SelectionSections.hs 82;" f
@@ -5057,6 +5063,7 @@ stopAllSounds src/Sound.hs 126;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/Wall/Damage.hs 95;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
storageShape src/Dodge/Machine/Draw.hs 30;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
@@ -5111,9 +5118,9 @@ termScreenColor src/Dodge/Terminal/Color.hs 8;" f
termSoundLine src/Dodge/Terminal.hs 43;" f
termTextColor src/Dodge/Terminal.hs 46;" f
terminalReturnEffect src/Dodge/Terminal.hs 168;" f
terminalSPic src/Dodge/Machine/Draw.hs 36;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 40;" f
terminalShape src/Dodge/Machine/Draw.hs 39;" f
terminalSPic src/Dodge/Machine/Draw.hs 45;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 42;" f
terminalShape src/Dodge/Machine/Draw.hs 48;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
@@ -5147,7 +5154,7 @@ thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 106;" f
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 44;" f
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 127;" f
thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 52;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 71;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f
throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 534;" f
throwItem src/Dodge/Creature/Action.hs 191;" f
tileTexCoords src/Tile.hs 11;" f
@@ -5216,9 +5223,9 @@ translateFloatingCameraKeys src/Dodge/Update/Camera.hs 66;" f
translateH src/Picture/Base.hs 112;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 36;" f
translateSH src/Shape.hs 240;" f
translateSHxy src/Shape.hs 244;" f
translateSHz src/Shape.hs 248;" f
translateSH src/Shape.hs 241;" f
translateSHxy src/Shape.hs 245;" f
translateSHz src/Shape.hs 249;" f
translateSP src/ShapePicture.hs 53;" f
translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f
@@ -5266,13 +5273,13 @@ tryThrust src/Dodge/Projectile/Update.hs 123;" f
tryUseParent src/Dodge/Creature/State.hs 145;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 46;" f
tutDrop src/Dodge/Room/Tutorial.hs 85;" f
tutHub src/Dodge/Room/Tutorial.hs 245;" f
tutLight src/Dodge/Room/Tutorial.hs 210;" f
tutRezBox src/Dodge/Room/Tutorial.hs 358;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 47;" f
tutDrop src/Dodge/Room/Tutorial.hs 94;" f
tutHub src/Dodge/Room/Tutorial.hs 254;" f
tutLight src/Dodge/Room/Tutorial.hs 219;" f
tutRezBox src/Dodge/Room/Tutorial.hs 367;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 381;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 390;" f
tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
@@ -5410,7 +5417,7 @@ updateTeslaArc src/Dodge/Update.hs 579;" f
updateTeslaArcs src/Dodge/Update.hs 576;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 648;" f
updateTurret src/Dodge/Machine/Update.hs 49;" f
updateTurret src/Dodge/Machine/Update.hs 51;" f
updateUniverse src/Dodge/Update.hs 74;" f
updateUniverseFirst src/Dodge/Update.hs 85;" f
updateUniverseLast src/Dodge/Update.hs 136;" f
@@ -5424,23 +5431,23 @@ updateWheelEvents src/Dodge/Update.hs 410;" f
updateWorldEventFlag src/Dodge/Update.hs 120;" f
updateWorldEventFlags src/Dodge/Update.hs 108;" f
upperBody src/Dodge/Creature/Picture.hs 121;" f
upperBox src/Shape.hs 151;" f
upperBoxHalf src/Shape.hs 217;" f
upperBoxMT src/Shape.hs 142;" f
upperBoxST src/Shape.hs 145;" f
upperBoxSU src/Shape.hs 148;" f
upperCylinder src/Shape.hs 164;" f
upperPrismPoly src/Shape.hs 118;" f
upperPrismPolyHalf src/Shape.hs 202;" f
upperPrismPolyHalfMI src/Shape.hs 196;" f
upperPrismPolyHalfST src/Shape.hs 199;" f
upperPrismPolyMT src/Shape.hs 97;" f
upperPrismPolySE src/Shape.hs 100;" f
upperPrismPolySI src/Shape.hs 106;" f
upperPrismPolyST src/Shape.hs 103;" f
upperPrismPolySU src/Shape.hs 109;" f
upperPrismPolyTS src/Shape.hs 115;" f
upperRounded src/Shape.hs 180;" f
upperBox src/Shape.hs 152;" f
upperBoxHalf src/Shape.hs 218;" f
upperBoxMT src/Shape.hs 143;" f
upperBoxST src/Shape.hs 146;" f
upperBoxSU src/Shape.hs 149;" f
upperCylinder src/Shape.hs 165;" f
upperPrismPoly src/Shape.hs 119;" f
upperPrismPolyHalf src/Shape.hs 203;" f
upperPrismPolyHalfMI src/Shape.hs 197;" f
upperPrismPolyHalfST src/Shape.hs 200;" f
upperPrismPolyMT src/Shape.hs 98;" f
upperPrismPolySE src/Shape.hs 101;" f
upperPrismPolySI src/Shape.hs 107;" f
upperPrismPolyST src/Shape.hs 104;" f
upperPrismPolySU src/Shape.hs 110;" f
upperPrismPolyTS src/Shape.hs 116;" f
upperRounded src/Shape.hs 181;" f
useBulletPayload src/Dodge/Bullet.hs 117;" f
useGasParams src/Dodge/HeldUse.hs 1091;" f
useHotkey src/Dodge/Creature/YourControl.hs 77;" f
@@ -5508,12 +5515,12 @@ wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 185;" f
weakenMatS src/Dodge/Material/Sound.hs 19;" f
weaponBehindPillar src/Dodge/Room/Room.hs 186;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 202;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 147;" f
weaponLongCorridor src/Dodge/Room/Room.hs 227;" f
weaponRoom src/Dodge/Room/Room.hs 260;" f
weaponUnderCrits src/Dodge/Room/Room.hs 165;" f
weaponBehindPillar src/Dodge/Room/Room.hs 190;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 206;" f
weaponEmptyRoom src/Dodge/Room/Room.hs 151;" f
weaponLongCorridor src/Dodge/Room/Room.hs 231;" f
weaponRoom src/Dodge/Room/Room.hs 264;" f
weaponUnderCrits src/Dodge/Room/Room.hs 169;" f
wedgeGeom src/Dodge/Base.hs 42;" f
wedgeOfThickness src/Dodge/Picture.hs 9;" f
whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 752;" f
@@ -5568,8 +5575,8 @@ wristArmour src/Dodge/Item/Equipment.hs 43;" f
wristInvisibility src/Dodge/Item/Equipment.hs 96;" f
writeConfig src/Dodge/Menu.hs 182;" f
writeSaveSlot src/Dodge/Save.hs 36;" f
xCylinder src/Shape.hs 132;" f
xCylinderST src/Shape.hs 129;" f
xCylinder src/Shape.hs 133;" f
xCylinderST src/Shape.hs 130;" f
xIntercepts src/Dodge/Zoning/Base.hs 66;" f
xSwitch src/Dodge/Room/Airlock.hs 33;" f
xV2 src/Geometry/Vector.hs 201;" f
@@ -5588,7 +5595,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 139;" f
zChasm src/Dodge/Room/Tutorial.hs 148;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f