Work on weapon positioning, analyser terminal positioning

This commit is contained in:
2026-03-31 13:16:24 +01:00
parent ab04516279
commit 6bcf03b30d
18 changed files with 252 additions and 178 deletions
+9
View File
@@ -3,8 +3,12 @@ module Dodge.Base.You
, yourInv
, yourSelectedItem
, yourRootItem
, yourRootItemDT
)where
import Dodge.Item.Grammar
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import NewInt
import Dodge.Data.World
--import qualified IntMapHelp as IM
@@ -25,6 +29,11 @@ yourRootItem w = do
j <- _crInv (you w) ^? ix i
w ^? cWorld . lWorld . items . ix j
yourRootItemDT :: World -> Maybe (DTree OItem)
yourRootItemDT w = do
i <- you w ^? crManipulation . manObject . imRootSelectedItem . unNInt
invIMDT ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> you w ^. crInv) ^? ix i
yourInv :: World -> NewIntMap InvInt Item
yourInv w = fmap (\i -> w ^?! cWorld . lWorld . items . ix i) . _crInv . you $ w
+1 -1
View File
@@ -99,7 +99,7 @@ startCr =
& crInv .~ mempty
& crFaction .~ PlayerFaction
-- & crMvType .~ MvWalking yourDefaultSpeed
& crType .~ Avatar (PulseStatus 55 0) Flesh 50 50 50 3
& crType .~ Avatar (PulseStatus 55 0) Flesh 50 50 50 3 AvPosture
-- | Items you start with.
startInvList :: [Item]
+2
View File
@@ -65,6 +65,8 @@ rightHandPQ cr
| oneH cr = (V3 11 (-3) 20, Q.qID)
| twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0, Q.qz 1)
| twoFlat cr = (V3 4 (-8) 12, Q.qID)
-- | Just dt <- yourRootItemDT w
-- , Just as <- itemAimStance
| Just p <- crRightHandWall cr = (20 & _xy .~ p, Q.qID)
| otherwise = (handWalkingPos LeftForward (-8) cr, Q.qID)
-1
View File
@@ -5,7 +5,6 @@ import Dodge.Data.Creature.Misc
crMass :: CreatureType -> Float
crMass = \case
Avatar {} -> 10
AvatarDead -> 10
ChaseCrit {} -> 10
SwarmCrit -> 2
AutoCrit -> 10
-1
View File
@@ -8,7 +8,6 @@ import Dodge.Data.Material
crMaterial :: CreatureType -> Material
crMaterial = \case
Avatar{_avatarMaterial = mt} -> mt
AvatarDead -> Flesh
ChaseCrit {} -> Flesh
SwarmCrit -> Flesh
AutoCrit -> Flesh
-1
View File
@@ -6,7 +6,6 @@ import Dodge.Data.Creature.Misc
crMaxHP :: CreatureType -> Int
crMaxHP = \case
Avatar {} -> 15000
AvatarDead -> 0
ChaseCrit {} -> 150
SwarmCrit -> 50
AutoCrit -> 100
-1
View File
@@ -6,7 +6,6 @@ import Dodge.Data.Creature
crMvType :: Creature -> CrMvType
crMvType cr = case _crType cr of
Avatar {_avMoveSpeed = s} -> MvWalking s
AvatarDead -> defaultAimMvType
ChaseCrit {} -> defaultChaseMvType
SwarmCrit -> defaultChaseMvType
AutoCrit -> defaultAimMvType
-1
View File
@@ -8,7 +8,6 @@ crRad :: CreatureType -> Float
{-# INLINE crRad #-}
crRad = \case
Avatar {} -> 10
AvatarDead -> 10
ChaseCrit {} -> 10
SwarmCrit -> 2
AutoCrit -> 10
-1
View File
@@ -11,6 +11,5 @@ crShape = \case
ChaseCrit {} -> Humanoid (greyN 0.9) (lightx4 green) (greyN 0.3) ChaseAI
SwarmCrit -> Humanoid (greyN 0.9) (lightx4 yellow) (greyN 0.3) SwarmAI
AutoCrit -> Humanoid (greyN 0.9) (lightx4 red) (greyN 0.3) AutoAI
AvatarDead -> Humanoid (greyN 0.9) (lightx4 black) (greyN 0.3) InanimateAI
BarrelCrit {} -> Barreloid
LampCrit {} -> NonDrawnCreature
-3
View File
@@ -19,7 +19,6 @@ import qualified Data.IntSet as IS
crDexterity :: Creature -> Int
crDexterity cr = case cr ^. crType of
Avatar { _avDexterity = x } -> x
AvatarDead -> 0
ChaseCrit {} -> 46
SwarmCrit -> 46
AutoCrit -> 46
@@ -29,7 +28,6 @@ crDexterity cr = case cr ^. crType of
crStrength :: Creature -> Int
crStrength cr = case cr ^. crType of
Avatar { _avStrength = x } -> x
AvatarDead -> 0
ChaseCrit {} -> 46
SwarmCrit -> 40
AutoCrit -> 46
@@ -39,7 +37,6 @@ crStrength cr = case cr ^. crType of
crIntelligence :: Creature -> Int
crIntelligence cr = case cr ^. crType of
Avatar { _avIntelligence = x } -> x
AvatarDead -> 0
ChaseCrit {} -> 20
SwarmCrit -> 20
AutoCrit -> 20
-1
View File
@@ -53,7 +53,6 @@ updateLivingCreature cr =
. yourControl cr
LampCrit{} -> updateLampoid cr
BarrelCrit bt -> updateBarreloid bt cr
AvatarDead -> id
ChaseCrit{} -> \w ->
crUpdate cid . performActions cid $
over (cWorld . lWorld . creatures . ix cid) (chaseCritInternal w) w
-3
View File
@@ -16,7 +16,6 @@ import System.Random
crVocalizationSound :: Creature -> Maybe SoundID
crVocalizationSound cr = case cr ^. crType of
Avatar{} -> Nothing
AvatarDead -> Nothing
ChaseCrit{} -> Just seagullChatterS
SwarmCrit -> Nothing
AutoCrit -> Nothing
@@ -26,7 +25,6 @@ crVocalizationSound cr = case cr ^. crType of
crWarningSounds :: Creature -> [SoundID]
crWarningSounds cr = case cr ^. crType of
Avatar{} -> mempty
AvatarDead -> mempty
ChaseCrit{} ->
[ seagullBarkS
, seagullChatterS
@@ -45,7 +43,6 @@ crWarningSounds cr = case cr ^. crType of
crDeathSounds :: Creature -> DeathType -> [SoundID]
crDeathSounds cr dt = case cr ^. crType of
Avatar{} -> mempty
AvatarDead -> mempty
ChaseCrit{} -> defaultDeathSounds dt
SwarmCrit -> mempty
AutoCrit -> mempty
+4 -1
View File
@@ -63,14 +63,16 @@ data CreatureType
, _avDexterity :: Int
, _avIntelligence :: Int
, _avMoveSpeed :: Float
, _avPosture :: AvatarPosture
}
| AvatarDead
| ChaseCrit {_meleeCooldown :: Int}
| SwarmCrit
| AutoCrit
| BarrelCrit {_barrelType :: BarrelType}
| LampCrit {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
data AvatarPosture = AvPosture
data CreatureShape
= Humanoid
{ _skinHead :: Color
@@ -102,4 +104,5 @@ deriveJSON defaultOptions ''Vocalization
--deriveJSON defaultOptions ''CrMvType
deriveJSON defaultOptions ''HumanoidAI
deriveJSON defaultOptions ''BarrelType
deriveJSON defaultOptions ''AvatarPosture
deriveJSON defaultOptions ''CreatureType
+2 -2
View File
@@ -31,8 +31,8 @@ data RoomLink = RoomLink
data RoomType
= DefaultRoomType
| RectRoomType
{ _numLinkEW :: Int
, _numLinkNS :: Int
{ _numLinkEW :: Int -- note this is ONE LESS than might be expected
, _numLinkNS :: Int -- note this is ONE LESS than might be expected
, _linkGapEW :: Float
, _linkGapNS :: Float
, _rmWidth :: Float
+4 -1
View File
@@ -17,6 +17,7 @@ module Dodge.Room.LasTurret (
storeRoomID,
) where
import Dodge.Room.Warning
import Dodge.Room.Modify
import Color
import Control.Monad
@@ -112,13 +113,15 @@ analyserByNthLink :: Int -> ProximityRequirement -> Int -> Placement
analyserByNthLink n proxreq i =
analyser
(SensorWithRequirement proxreq)
-- (byNthLink n)
( atNthLnkOutShiftBy
n
( \(p, a) ->
((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)
)
)
(atNthLnkOutShiftBy n sensorshift)
(byNthLink n)
-- (atNthLnkOutShiftBy n sensorshift)
& plExternalID
?~ i
where
+112 -53
View File
@@ -2,9 +2,8 @@
module Dodge.Room.Tutorial where
import Dodge.Room.Foreground
import Data.Foldable
import Control.Monad
import Data.Foldable
import qualified Data.IntMap.Strict as IM
import qualified Data.IntSet as IS
import Data.Maybe
@@ -26,6 +25,7 @@ import Dodge.Room.Airlock
import Dodge.Room.Boss
import Dodge.Room.Corridor
import Dodge.Room.Door
import Dodge.Room.Foreground
import Dodge.Room.LasTurret
import Dodge.Room.Link
import Dodge.Room.LongDoor
@@ -55,33 +55,35 @@ tutAnoTree = do
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, loadAmmoTut
, corDoor
, tToBTree "slowCrush" . return . cleatOnward <$> pushCaverns
, corDoor
, chasmSpitTerminal
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a , corDoor
--a , tToBTree "sdr" . return . cleatOnward
--a <$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
--a , -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a -- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
--a ---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
--a -- , return $ tToBTree "door" $ return $ cleatOnward door
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a -- , tToBTree "sdr" . return . cleatOnward <$>
--a -- (shuffleLinks =<< tanksPipesRoom)
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a return $ tToBTree "door" $ return $ cleatOnward door
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a , tutHub
--a , chasmSpitTerminal
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a , tutLight
--a , tutDrop
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
--a ---- , AnTree $ pickupTut
--a ---- , AnTree $ weaponTut
-- a , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a , corDoor
-- a , tToBTree "sdr" . return . cleatOnward
-- a <$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
-- a , -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a -- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
-- a ---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
-- a -- , return $ tToBTree "door" $ return $ cleatOnward door
-- a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a -- , tToBTree "sdr" . return . cleatOnward <$>
-- a -- (shuffleLinks =<< tanksPipesRoom)
-- a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a return $ tToBTree "door" $ return $ cleatOnward door
-- a , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a , tutHub
-- a , chasmSpitTerminal
-- a , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a , tutLight
-- a , tutDrop
-- a , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- a ---- , AnTree $ pickupTut
-- a ---- , AnTree $ weaponTut
]
foldMTRS ::
@@ -240,8 +242,8 @@ sqPlatformChasm b a =
sqSpitChasm :: Float -> Float -> ([[Point2]], [[Point2]])
sqSpitChasm b a =
( [[ibr, obr, otr, itr], [itr, otr, otl, itl], [itl, otl, obl, ibl]]
-- ( earClip clfs
, [clfs]
, -- ( earClip clfs
[clfs]
)
where
clfs = [ibr, obr, otr, otl, obl, ibl, itl, itr]
@@ -253,6 +255,7 @@ sqSpitChasm b a =
ibl = V2 (-b) (-a)
itl = V2 (-b) b
itr = V2 b b
-- otl---------otr
-- | itl-itr |
-- obr-ibl ibr-obl
@@ -272,15 +275,19 @@ midChasmSpit = do
isMidEdgeLink r North rl
|| isMidEdgeLink r East rl
|| isMidEdgeLink r West rl
, \rl -> OnEdge North `S.member` (rl ^. rlType)
&& not (FromEdge East 0 `S.member` (rl ^. rlType))
&& not (FromEdge West 0 `S.member` (rl ^. rlType))
, \rl ->
OnEdge North `S.member` (rl ^. rlType)
&& not (FromEdge East 0 `S.member` (rl ^. rlType))
&& not (FromEdge West 0 `S.member` (rl ^. rlType))
]
shuffleLinks $
r
& rmLinks %~ setOutLinks foutlnks
& rmLinks %~ setInLinks (isMidEdgeLink r South)
& rmPmnts .~ cs
& rmLinks
%~ setOutLinks foutlnks
& rmLinks
%~ setInLinks (isMidEdgeLink r South)
& rmPmnts
.~ cs
where
censquare x y = do
z <- state $ randomR (40, 60)
@@ -300,26 +307,31 @@ chasmSpitTerminal = do
i1 <- nextLayoutInt
y <- midChasmSpit
shp <- takeOne [vShape, lShape, jShape, liShape]
let l1 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp North East
let l1 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp North East
l2 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp North West
l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East North
l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East North
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East South
ls <- takeOne [[l1,l2],[l3,l4]
-- ,[spanLightI (V2 120 0) (V2 120 300)]
-- , [spanLightI (V2 0 128) (V2 300 128)]
-- , [spanLightI (V2 300 0) (V2 0 300), sps0 $ putShape $ thinHighBar 95 0 300]
]
gh <- takeOne [55,75,97]
gird <- takeOne [girderZ gh 30 10,girder gh 30 10,girderV gh 30 10]
dec <- takeOne $ replicate 3 [] <>
[[sps0 $ putShape $ gird (V2 30 0) (V2 30 300)]
,[sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
,[sps0 $ putShape $ gird (V2 30 0) (V2 30 300),sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20)]
,[sps0 $ putShape $ gird (V2 0 200) (V2 300 200)]
,[sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20),sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
ls <-
takeOne
[ [l1, l2]
, [l3, l4]
-- ,[spanLightI (V2 120 0) (V2 120 300)]
-- , [spanLightI (V2 0 128) (V2 300 128)]
-- , [spanLightI (V2 300 0) (V2 0 300), sps0 $ putShape $ thinHighBar 95 0 300]
]
gh <- takeOne [55, 75, 97]
gird <- takeOne [girderZ gh 30 10, girder gh 30 10, girderV gh 30 10]
dec <-
takeOne $
replicate 3 []
<> [ [sps0 $ putShape $ gird (V2 30 0) (V2 30 300)]
, [sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
, [sps0 $ putShape $ gird (V2 30 0) (V2 30 300), sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
, [sps0 $ putShape $ gird (V2 0 20) (V2 300 20)]
, [sps0 $ putShape $ gird (V2 0 200) (V2 300 200)]
, [sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
, [sps0 $ putShape $ gird (V2 0 20) (V2 300 20), sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
]
let y' = y & rmPmnts <>~ ls <> dec
return $
tToBTree "chasmTerm" $
@@ -330,8 +342,9 @@ chasmSpitTerminal = do
, return $ cleatOnward $ triggerDoorRoom i1
]
where
f rp a b = FromEdge a 2 `S.member` fold (rp ^? rpType . rplsType)
&& OnEdge b `S.member` fold (rp ^? rpType . rplsType)
f rp a b =
FromEdge a 2 `S.member` fold (rp ^? rpType . rplsType)
&& OnEdge b `S.member` fold (rp ^? rpType . rplsType)
polyChasm :: Int -> Float -> State LayoutVars Room
polyChasm n x =
@@ -409,6 +422,52 @@ tutLight = do
)
_ -> Nothing
loadAmmoTut :: State LayoutVars (MetaTree Room String)
loadAmmoTut = do
i <- nextLayoutInt
amrm <-
putSingleLight
. analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
=<< shuffleLinks
=<< roomRectAutoLights 100 100
j <- nextLayoutInt
wprm <-
putSingleLight
. addDoorAtNthLinkToggleInterrupt 0 ["DOOR LOCKDOWN ACTIVE"] j
=<< shuffleLinks
=<< roomRectAutoLights 100 100
return $
tToBTree "loadAmmoTest" $
treeFromPost
[amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90))
, triggerDoorRoom i
, wprm & rmPmnts .:~ sps (PS 50 0) (PutFlIt burstRifle)
] (triggerDoorRoom j)
putSingleLight :: Room -> State LayoutVars Room
putSingleLight rm = do
f <- case rm ^. rmType of
DefaultRoomType -> pure id
RectRoomType{_rmWidth = x, _rmHeight = y, _numLinkEW = nx, _numLinkNS = ny} -> do
x' <-
if odd nx
then pure $ x / 2
else takeOne [x / 2 + 21, x / 2 - 21]
y' <-
if odd ny
then pure $ y / 2
else takeOne [y / 2 + 21, y / 2 - 21]
ps <-
takeOne
[ (V2 x' 0, V2 x' y)
, (V2 0 y', V2 x y')
]
return $ rmPmnts .:~ uncurry spanLightI ps
RoomNgon{_rmngonSize = x} -> do
y <- takeOne [21, -21]
return $ rmPmnts .:~ spanLightI (V2 (-x) y) (V2 x y)
return . f $ removeLights rm
tutHub :: State LayoutVars (MetaTree Room String)
tutHub = do
(is, wbp) <- setTreeInts =<< critsRoom 1
+5 -1
View File
@@ -5,6 +5,7 @@ module Dodge.Room.Warning (
addDoorToggleTerminal',
addDoorAtNthLinkToggleTerminal,
addDoorAtNthLinkToggleInterrupt,
byNthLink,
) where
import Dodge.LevelGen.PlacementHelper
@@ -40,6 +41,9 @@ warningRooms str n = do
addDoorToggleTerminal :: [TerminalLine] -> Int -> Room -> Room
addDoorToggleTerminal = addDoorAtNthLinkToggleTerminal 0
byNthLink :: Int -> PlacementSpot
byNthLink = rprShift . moveToSideNthOutLink (S.singleton UsedPosLow)
addDoorAtNthLinkToggleInterrupt :: Int -> [String] -> Int -> Room -> Room
addDoorAtNthLinkToggleInterrupt j x i =
(rmName .++~ "doorInterrupt-")
@@ -47,7 +51,7 @@ addDoorAtNthLinkToggleInterrupt j x i =
where
outplace =
extTrigLitPos
(atNthLnkOutShiftBy j (\(p, a) -> ((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)))
(atNthLnkOutShiftBy j (\(p, a) -> ((p + rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)))
( Just . set plSpot (rprShift (moveToSideNthOutLink (S.singleton UsedPosLow) j))
. putInterrupt
)
+113 -106
View File
@@ -76,8 +76,9 @@ Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoAI src/Dodge/Data/Creature/Misc.hs 45;" C
AutoCrit src/Dodge/Data/Creature/Misc.hs 70;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 74;" C
Avatar src/Dodge/Data/Creature/Misc.hs 59;" C
AvatarDead src/Dodge/Data/Creature/Misc.hs 67;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 74;" t
Awareness src/Dodge/Data/Creature/Perception.hs 63;" t
BANGCONE src/Dodge/Data/Item/Combine.hs 149;" C
BANGROD src/Dodge/Data/Item/Combine.hs 158;" C
@@ -105,8 +106,8 @@ BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 39;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 71;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 85;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 81;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 41;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 48;" C
@@ -280,7 +281,7 @@ CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
Creature src/Dodge/Data/Creature.hs 35;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 74;" t
CreatureShape src/Dodge/Data/Creature/Misc.hs 76;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 58;" t
Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C
@@ -399,7 +400,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 38;" C
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
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 89;" 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
@@ -551,7 +552,7 @@ HotkeyV src/Dodge/Data/Equipment/Misc.hs 38;" C
HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
Huge src/Shape/Data.hs 23;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 75;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 77;" C
HumanoidAI src/Dodge/Data/Creature/Misc.hs 37;" t
IMSI src/Dodge/Data/SelectionList.hs 40;" t
IMSS src/Dodge/Data/SelectionList.hs 38;" t
@@ -854,7 +855,7 @@ NoWorldEffect src/Dodge/Data/WorldEffect.hs 26;" C
Noclip src/Dodge/Data/Config.hs 83;" C
NodeMTree src/Dodge/Data/MetaTree.hs 17;" C
NodeTree src/Dodge/Data/MetaTree.hs 16;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 82;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C
NonInf src/Dodge/Data/CardinalPoint.hs 44;" C
NormalOptions src/Dodge/Data/Universe.hs 71;" C
NormalSpark src/Dodge/Data/Spark.hs 19;" C
@@ -996,7 +997,7 @@ 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
PlainBarrel src/Dodge/Data/Creature/Misc.hs 86;" C
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
PlasmaBall src/Dodge/Data/PlasmaBall.hs 13;" t
@@ -1552,6 +1553,7 @@ _auDist src/Dodge/Data/Creature/Perception.hs 46;" f
_avDexterity src/Dodge/Data/Creature/Misc.hs 63;" f
_avIntelligence src/Dodge/Data/Creature/Misc.hs 64;" f
_avMoveSpeed src/Dodge/Data/Creature/Misc.hs 65;" f
_avPosture src/Dodge/Data/Creature/Misc.hs 66;" f
_avStrength src/Dodge/Data/Creature/Misc.hs 62;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 61;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 60;" f
@@ -1882,7 +1884,7 @@ _heldWorldPos src/Dodge/Data/Input.hs 45;" f
_highlightItems src/Dodge/Data/CWorld.hs 36;" f
_hotkeys src/Dodge/Data/LWorld.hs 145;" f
_hud src/Dodge/Data/World.hs 46;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 79;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 81;" f
_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f
_ibtAttach src/Dodge/Data/Item/Combine.hs 19;" f
_ibtBulletMod src/Dodge/Data/Item/Combine.hs 22;" f
@@ -2098,7 +2100,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 42;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 15;" f
_pickUps src/Dodge/Layout/Generate.hs 16;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 87;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 89;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f
_pjDir src/Dodge/Data/Projectile.hs 18;" f
@@ -2309,9 +2311,9 @@ _skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f
_skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 76;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 78;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 77;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 78;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 80;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 79;" f
_slInt src/Dodge/Data/HUD.hs 39;" f
_slSec src/Dodge/Data/HUD.hs 39;" f
_slSet src/Dodge/Data/HUD.hs 39;" f
@@ -2538,10 +2540,10 @@ addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f
addCrGibs src/Dodge/Prop/Gib.hs 17;" f
addDepth src/Picture/Base.hs 125;" f
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 43;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 62;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 40;" f
addDoorToggleTerminal' src/Dodge/Room/Warning.hs 83;" f
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 58;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 77;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 41;" f
addDoorToggleTerminal' src/Dodge/Room/Warning.hs 98;" f
addGib4 src/Dodge/Prop/Gib.hs 52;" f
addGibAt src/Dodge/Prop/Gib.hs 63;" f
addGibAtDir src/Dodge/Prop/Gib.hs 69;" f
@@ -2560,6 +2562,7 @@ 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
addPlAtNthLinkToggleLight src/Dodge/Room/Warning.hs 44;" f
addPointPolygon src/Geometry/Polygon.hs 142;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
@@ -2569,7 +2572,7 @@ addSideEffect src/Dodge/Concurrent.hs 29;" f
addSouthPillars src/Dodge/Room/LongDoor.hs 92;" f
addTermSignal src/Dodge/Event/Input.hs 31;" f
addToTrunk src/TreeHelp.hs 157;" f
addWarningTerminal src/Dodge/Room/Warning.hs 94;" f
addWarningTerminal src/Dodge/Room/Warning.hs 109;" f
addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 479;" f
@@ -2593,7 +2596,7 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 129;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 116;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 127;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 128;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 111;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 158;" f
@@ -2671,7 +2674,7 @@ axisInt src/Geometry/Intersect.hs 246;" f
azure src/Color.hs 49;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
backPQ src/Dodge/Creature/HandPos.hs 166;" f
backPQ src/Dodge/Creature/HandPos.hs 168;" f
backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 729;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 188;" f
@@ -2778,7 +2781,8 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 18;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f
cChasm src/Dodge/Room/Tutorial.hs 133;" f
byNthLink src/Dodge/Room/Warning.hs 55;" f
cChasm src/Dodge/Room/Tutorial.hs 135;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2816,16 +2820,16 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 122;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmRotate src/Dodge/Creature/Update.hs 178;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 358;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 298;" f
chasmTestCorpse src/Dodge/Creature/Update.hs 161;" f
chasmTestLiving src/Dodge/Creature/Update.hs 137;" f
chasmRotate src/Dodge/Creature/Update.hs 177;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 371;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 305;" f
chasmTestCorpse src/Dodge/Creature/Update.hs 160;" f
chasmTestLiving src/Dodge/Creature/Update.hs 136;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 120;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 78;" f
checkDeath' src/Dodge/Creature/Update.hs 81;" f
checkDeath src/Dodge/Creature/Update.hs 77;" f
checkDeath' src/Dodge/Creature/Update.hs 80;" f
checkEndGame src/Dodge/Update.hs 856;" f
checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2837,7 +2841,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f
chestPQ src/Dodge/Creature/HandPos.hs 163;" f
chestPQ src/Dodge/Creature/HandPos.hs 165;" f
chooseCursorBorders src/Dodge/Render/List.hs 141;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
@@ -2946,7 +2950,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 405;" f
cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 98;" f
corpseOrGib src/Dodge/Creature/Update.hs 97;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f
@@ -2957,8 +2961,8 @@ crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 33;" f
crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
crCrSpring src/Dodge/Update.hs 978;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 45;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 59;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 43;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f
@@ -2969,10 +2973,10 @@ crHit src/Dodge/WorldEvent/ThingsHit.hs 136;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f
crInAimStance src/Dodge/Creature/Test.hs 94;" f
crIntelligence src/Dodge/Creature/Statistics.hs 39;" f
crIntelligence src/Dodge/Creature/Statistics.hs 37;" f
crIsAiming src/Dodge/Creature/Test.hs 61;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 109;" f
crLeftHandWall src/Dodge/Creature/HandPos.hs 89;" f
crLeftHandWall src/Dodge/Creature/HandPos.hs 91;" f
crMass src/Dodge/Creature/Mass.hs 5;" f
crMaterial src/Dodge/Creature/Material.hs 8;" f
crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f
@@ -2985,18 +2989,18 @@ crMvType src/Dodge/Creature/MoveType.hs 6;" f
crNearPoint src/Dodge/Creature/Test.hs 132;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 71;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 73;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 75;" f
crSetRoots src/Dodge/Inventory/Location.hs 55;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 965;" f
crStratConMatches src/Dodge/Creature/Test.hs 81;" f
crStrength src/Dodge/Creature/Statistics.hs 29;" f
crUpdate src/Dodge/Creature/Update.hs 71;" f
crStrength src/Dodge/Creature/Statistics.hs 28;" f
crUpdate src/Dodge/Creature/Update.hs 70;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f
crVocalizationSound src/Dodge/Creature/Vocalization.hs 16;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 26;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 25;" f
crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 60;" f
crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 70;" f
crZoneSize src/Dodge/Zoning/Creature.hs 43;" f
@@ -3134,7 +3138,7 @@ defEquipment src/Dodge/Default.hs 24;" f
defHeldItem src/Dodge/Default/Item.hs 9;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 310;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 15;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 109;" f
defaultAudition src/Dodge/Default/Creature.hs 94;" f
defaultAutoWall src/Dodge/Default/Wall.hs 32;" f
@@ -3145,13 +3149,13 @@ defaultButton src/Dodge/Default.hs 44;" f
defaultCWCam src/Dodge/Default/World.hs 73;" f
defaultCWGen src/Dodge/Default/World.hs 63;" f
defaultCWorld src/Dodge/Default/World.hs 88;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 24;" f
defaultClusterStatus src/Dodge/Default/Room.hs 37;" f
defaultConfig src/Dodge/Data/Config.hs 152;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 67;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f
defaultDeathSounds src/Dodge/Creature/Vocalization.hs 55;" f
defaultDeathSounds src/Dodge/Creature/Vocalization.hs 52;" f
defaultDirtBlock src/Dodge/Default/Block.hs 17;" f
defaultDirtWall src/Dodge/Default/Wall.hs 47;" f
defaultDoor src/Dodge/Default/Door.hs 5;" f
@@ -3438,7 +3442,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 134;" f
dropAll src/Dodge/Creature/Update.hs 133;" f
dropInventoryPath src/Dodge/HeldUse.hs 1371;" f
dropItem src/Dodge/Creature/Action.hs 155;" f
dropper src/Dodge/Item/Scope.hs 82;" f
@@ -3499,7 +3503,7 @@ equipSiteInfo src/Dodge/Item/Info.hs 253;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 32;" f
equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 56;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 53;" f
errorAngleVV src/Geometry.hs 59;" f
errorClosestPointOnLine src/Geometry.hs 71;" f
errorClosestPointOnLineParam src/Geometry.hs 77;" f
@@ -3577,7 +3581,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f
foldMTRS src/Dodge/Room/Tutorial.hs 87;" f
foldMTRS src/Dodge/Room/Tutorial.hs 89;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 25;" f
@@ -3638,9 +3642,9 @@ getBulletType src/Dodge/HeldUse.hs 937;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 509;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 505;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 492;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 47;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 564;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 551;" f
getDebugMouseOver src/Dodge/Update.hs 449;" f
getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3657,7 +3661,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1271;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomFromID src/Dodge/Room/Modify.hs 31;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 488;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 547;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3742,10 +3746,10 @@ head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 68;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f
headMap src/Dodge/DoubleTree.hs 118;" f
headPQ src/Dodge/Creature/HandPos.hs 157;" f
headPQ src/Dodge/Creature/HandPos.hs 159;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 108;" f
healthTest src/Dodge/Room/LasTurret.hs 130;" f
healthTest src/Dodge/Room/LasTurret.hs 131;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f
heldAimStance src/Dodge/Item/AimStance.hs 27;" f
heldAimZoom src/Dodge/Update/Camera.hs 158;" f
@@ -3760,7 +3764,7 @@ heldItemMuzVel src/Dodge/HeldUse.hs 1022;" f
heldItemMuzzles src/Dodge/HeldUse.hs 198;" f
heldItemRifling src/Dodge/HeldUse.hs 1064;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 235;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 77;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 611;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f
@@ -3946,7 +3950,7 @@ itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 111;" f
itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f
itemWeight src/Dodge/Creature/Statistics.hs 74;" f
itemWeight src/Dodge/Creature/Statistics.hs 71;" f
iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 30;" f
@@ -3972,26 +3976,26 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
keyPic src/Dodge/Item/Draw/SPic.hs 439;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
lChasm src/Dodge/Room/Tutorial.hs 145;" f
lChasm src/Dodge/Room/Tutorial.hs 147;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 398;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 471;" f
lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 363;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 165;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 310;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 399;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 472;" f
lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 364;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 166;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f
lasRunRand src/Dodge/Room/LasTurret.hs 468;" f
lasRunYinYang src/Dodge/Room/LasTurret.hs 186;" f
lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 249;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 142;" f
lasTunnel src/Dodge/Room/LasTurret.hs 509;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 550;" f
lasRunRand src/Dodge/Room/LasTurret.hs 469;" f
lasRunYinYang src/Dodge/Room/LasTurret.hs 187;" f
lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 250;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 143;" f
lasTunnel src/Dodge/Room/LasTurret.hs 510;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 551;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 27;" f
laserSpark src/Dodge/Material/Damage.hs 37;" f
@@ -4005,13 +4009,13 @@ leaveResetQuitTerminal src/Dodge/WorldEffect.hs 163;" f
led src/Dodge/Item/Held/Utility.hs 23;" f
left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 193;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 113;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 115;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 170;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 205;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 127;" f
legPQ src/Dodge/Creature/HandPos.hs 133;" f
legPQ' src/Dodge/Creature/HandPos.hs 138;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 129;" f
legPQ src/Dodge/Creature/HandPos.hs 135;" f
legPQ' src/Dodge/Creature/HandPos.hs 140;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
@@ -4027,7 +4031,7 @@ lineCol src/Picture/Base.hs 234;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 128;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 99;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 114;" f
lineSplit src/Justify.hs 26;" f
lineUp src/Dodge/Creature/Boid.hs 150;" f
linksDAGToPath src/Dodge/Room/Path.hs 19;" f
@@ -4040,6 +4044,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f
loadAmmoTut src/Dodge/Room/Tutorial.hs 425;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 654;" f
@@ -4210,9 +4215,9 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 174;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 196;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 263;" f
midChasm src/Dodge/Room/Tutorial.hs 176;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 198;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 266;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4261,7 +4266,7 @@ moveProjectile src/Dodge/Projectile/Update.hs 249;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 228;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 102;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 117;" f
moveWall src/Dodge/Wall/Move.hs 23;" f
moveWallID src/Dodge/Wall/Move.hs 18;" f
moveWallIDUnsafe src/Dodge/Wall/Move.hs 13;" f
@@ -4314,7 +4319,7 @@ noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f
nodesNear src/Dodge/Path.hs 75;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 260;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 263;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f
normalTo8 src/Shader/Poke.hs 466;" f
@@ -4389,7 +4394,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 570;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 629;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 66;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4460,7 +4465,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 130;" f
poisonSPic src/Dodge/Creature/Update.hs 129;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 509;" f
pokeArrayOff src/Shader/Poke.hs 521;" f
@@ -4494,8 +4499,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 76;" f
poly3Col src/Picture/Base.hs 80;" f
polyChasm src/Dodge/Room/Tutorial.hs 336;" f
polyChasmC src/Dodge/Room/Tutorial.hs 348;" f
polyChasm src/Dodge/Room/Tutorial.hs 349;" f
polyChasmC src/Dodge/Room/Tutorial.hs 361;" f
polyCirc src/Shape.hs 47;" f
polyCircx src/Shape.hs 52;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4587,6 +4592,7 @@ 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
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
@@ -4697,7 +4703,7 @@ renderListAt src/Dodge/Render/List.hs 177;" f
renderShadows src/Render.hs 116;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 169;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 67;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 64;" f
resetPLUse src/Dodge/PlacementSpot.hs 94;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
resetTerminal src/Dodge/WorldEffect.hs 157;" f
@@ -4735,7 +4741,7 @@ rightHandPQ src/Dodge/Creature/HandPos.hs 63;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 181;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 110;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 112;" f
rlPosDir src/Dodge/RoomLink.hs 112;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 399;" f
rmInLinks src/Dodge/RoomLink.hs 153;" f
@@ -4824,7 +4830,7 @@ scaleSH src/Shape.hs 266;" f
scalp src/Dodge/Creature/Picture.hs 92;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 127;" f
scorchSPic src/Dodge/Creature/Update.hs 126;" f
screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f
@@ -4868,7 +4874,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 242;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f
sensorSPic src/Dodge/Machine/Draw.hs 99;" f
sensorTut src/Dodge/Room/Tutorial.hs 514;" f
sensorTut src/Dodge/Room/Tutorial.hs 573;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 288;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
@@ -4903,7 +4909,7 @@ setSoundVolume src/Sound.hs 159;" 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 94;" f
setTreeInts src/Dodge/Room/Tutorial.hs 96;" f
setViewDistance src/Dodge/Update/Camera.hs 240;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 448;" f
@@ -5088,8 +5094,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 225;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 240;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 227;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 242;" f
square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f
@@ -5117,7 +5123,7 @@ stackedInventory src/Dodge/Creature.hs 326;" f
startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 94;" f
startDrag src/Dodge/Update/Input/InGame.hs 286;" f
startFalling src/Dodge/Creature/Update.hs 155;" f
startFalling src/Dodge/Creature/Update.hs 154;" f
startInvList src/Dodge/Creature.hs 105;" f
startInventory src/Dodge/Creature.hs 108;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f
@@ -5139,8 +5145,8 @@ stopPushing src/Dodge/Wall/Damage.hs 172;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
storageShape src/Dodge/Machine/Draw.hs 31;" f
storeRoomID src/Dodge/Room/Modify.hs 23;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 50;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 64;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
strictify src/MaybeHelp.hs 35;" f
strideRot src/Dodge/Item/HeldOffset.hs 83;" f
@@ -5306,7 +5312,7 @@ translate3 src/Picture/Base.hs 112;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 50;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 68;" f
translateH src/Picture/Base.hs 104;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 121;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 123;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 42;" f
translateSH src/Shape.hs 242;" f
translateSHxy src/Shape.hs 246;" f
@@ -5316,10 +5322,10 @@ translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f
translateScreenPos src/Dodge/ScreenPos.hs 12;" f
translateToES src/Dodge/Creature/HandPos.hs 29;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 124;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 130;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 107;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 154;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 126;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 132;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 109;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 156;" f
translateXY src/Polyhedra.hs 23;" f
trapTBH src/Geometry/Polygon.hs 22;" f
trapezionBWHW src/Geometry/Polygon.hs 34;" f
@@ -5358,12 +5364,12 @@ tryUseParent src/Dodge/Creature/State.hs 145;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f
tutDrop src/Dodge/Room/Tutorial.hs 99;" f
tutHub src/Dodge/Room/Tutorial.hs 412;" f
tutLight src/Dodge/Room/Tutorial.hs 380;" f
tutRezBox src/Dodge/Room/Tutorial.hs 525;" f
tutDrop src/Dodge/Room/Tutorial.hs 101;" f
tutHub src/Dodge/Room/Tutorial.hs 471;" f
tutLight src/Dodge/Room/Tutorial.hs 393;" f
tutRezBox src/Dodge/Room/Tutorial.hs 584;" f
tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 550;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 609;" f
tweenAngles src/Geometry/Vector.hs 192;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f
@@ -5477,7 +5483,7 @@ updatePlasmaBall src/Dodge/Update.hs 509;" f
updatePlasmaBalls src/Dodge/Update.hs 650;" f
updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 185;" f
updatePulse src/Dodge/Creature/Update.hs 184;" f
updatePulseBall src/Dodge/Update.hs 529;" f
updatePulseLaser src/Dodge/Update.hs 697;" f
updatePulseLasers src/Dodge/Update.hs 504;" f
@@ -5583,7 +5589,7 @@ viewTarget src/Dodge/Creature/ReaderUpdate.hs 156;" f
violet src/Color.hs 48;" f
visibleWalls src/Dodge/Base/Collide.hs 218;" f
visionCheck src/Dodge/Creature/Perception.hs 152;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 59;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f
walkNozzle src/Dodge/HeldUse.hs 826;" f
@@ -5596,7 +5602,7 @@ wallToSurface src/Dodge/Base/Collide.hs 182;" f
wallsFromRooms src/Dodge/Layout.hs 141;" f
wallsToDraw src/Dodge/Render/Walls.hs 18;" f
warmupSound src/Dodge/HeldUse.hs 1396;" f
warningRooms src/Dodge/Room/Warning.hs 33;" f
warningRooms src/Dodge/Room/Warning.hs 34;" f
warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f
wasdAim src/Dodge/Creature/YourControl.hs 133;" f
wasdDir src/Dodge/WASD.hs 17;" f
@@ -5677,17 +5683,18 @@ xyzV4 src/Geometry/Vector.hs 211;" f
yIntercepts src/Dodge/Zoning/Base.hs 78;" f
yV2 src/Geometry/Vector.hs 207;" f
yellow src/Color.hs 44;" f
you src/Dodge/Base/You.hs 13;" f
you src/Dodge/Base/You.hs 17;" f
youDropItem src/Dodge/Creature/Action.hs 177;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 240;" f
yourControl src/Dodge/Creature/YourControl.hs 28;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 112;" f
yourInfo src/Dodge/Creature/Info.hs 10;" f
yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourInv src/Dodge/Base/You.hs 37;" f
yourRootItem src/Dodge/Base/You.hs 26;" f
yourRootItemDT src/Dodge/Base/You.hs 32;" f
yourSelectedItem src/Dodge/Base/You.hs 20;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 158;" f
zChasm src/Dodge/Room/Tutorial.hs 160;" f
zConnect src/Dodge/Render/Connectors.hs 18;" f
zConnectCol src/Dodge/Render/Connectors.hs 29;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f