Simplify vocalization

This commit is contained in:
2026-04-01 20:30:31 +01:00
parent b77170c4bc
commit 735cc8d92d
11 changed files with 144 additions and 142 deletions
+8 -3
View File
@@ -2,6 +2,7 @@ module Dodge.Creature.ChaseCrit (
smallChaseCrit,
invisibleChaseCrit,
chaseCrit,
hoverCrit,
) where
--import Dodge.Data.Equipment.Misc
@@ -30,8 +31,12 @@ chaseCrit =
& crName .~ "chaseCrit"
& crHP .~ HP 150
& crFaction .~ ColorFaction green
& crVocalization .~ chaseCritVocalization
& crStance . strideLength .~ 30
chaseCritVocalization :: Vocalization
chaseCritVocalization = Vocalization (50, 200) 0 20
hoverCrit :: Creature
hoverCrit =
defaultCreature
& crName .~ "chaseCrit"
& crHP .~ HP 150
& crFaction .~ ColorFaction green
& crStance . strideLength .~ 30
+3 -3
View File
@@ -5,13 +5,13 @@ module Dodge.Creature.Perception (
visionCheck,
) where
import Dodge.Creature.Vocalization
import Control.Lens
import Control.Monad
import qualified Data.Map.Strict as M
import Data.Maybe
import Dodge.Base.Collide
import Dodge.Creature.Radius
import Dodge.Creature.Vocalization
import Dodge.Data.World
import Dodge.FloatFunction
import Geometry.Data
@@ -56,7 +56,7 @@ basicAwarenessUpdate cr = case _cpAttention $ _crPerception cr of
thejitter = [RandomImpulse $ RandImpulseCircMove 1]
maybeBark = fromMaybe id $ do
guard becomesCognizant
sid <- vocalizationTest cr
sid <- crVocalizationSound cr
return $
crActionPlan . apAction
.~ [ImpulsesList ([Bark sid] : replicate 5 thejitter)]
@@ -83,7 +83,7 @@ chaseCritAwarenessUpdate w cr = case _cpAttention $ _crPerception cr of
thejitter = [RandomImpulse $ RandImpulseCircMove 3]
maybeBark = fromMaybe id $ do
guard becomesCognizant
guard $ cr ^? crVocalization . vcCoolDown == Just 0
guard $ cr ^. crVocalization == VocReady
let soundid = evalState (takeOne (crWarningSounds cr)) (_randGen w)
numjits = fst $ randomR (15, 25) (_randGen w)
return $
+1 -1
View File
@@ -75,7 +75,7 @@ chaseUpperBody cr = colorSH (_skinUpper cskin)
mcool = 1 - min 10 (fromIntegral . _meleeCooldown $ _crType cr) / 10
neckq = torsoq `Q.comp` (V3 6 0 0,Q.axisAngle (V3 0 1 0) (-1.8*mcool))
headq = neckq `Q.comp` (V3 16 0 0, Q.axisAngle (V3 0 1 0) (2*mcool+vocaltilt))
vocaltilt = case cr ^? crVocalization . vcTimer of
vocaltilt = case cr ^? crVocalization . vcTime of
Just x | x < 20 -> -pi * 0.05 * (10 - abs (fromIntegral x - 10))
_ -> 0
sLen = _strideLength $ _crStance cr
+2 -2
View File
@@ -124,7 +124,7 @@ chaseCritMv w cr = case _apStrategy (_crActionPlan cr) of
WarningCry -> cr
MeleeStrike -> cr
CloseToMelee cid
| Just 0 == (cr ^? crVocalization . vcCoolDown) ->
| VocReady == (cr ^. crVocalization) ->
cr
& crActionPlan . apAction
.:~ ImpulsesList
@@ -132,7 +132,7 @@ chaseCritMv w cr = case _apStrategy (_crActionPlan cr) of
replicate numjits [RandomImpulse thejitter]
++ [[ChangeStrategy (CloseToMelee cid)]]
)
& crVocalization . vcCoolDown .~ 10
& resetCrVocCoolDown w
& crActionPlan . apStrategy .~ WarningCry
where
thejitter = RandImpulseCircMove 3
+5 -11
View File
@@ -3,7 +3,7 @@
module Dodge.Creature.Vocalization (
crWarningSounds,
crDeathSounds,
vocalizationTest,
crVocalizationSound,
resetCrVocCoolDown,
) where
@@ -59,15 +59,9 @@ defaultDeathSounds = \case
PlainDeath -> mempty
GibsDeath -> [gut1S, gut2S, gut3S, gut4S, gut5S, gut6S]
vocalizationTest :: Creature -> Maybe SoundID
vocalizationTest cr = case cr ^? crVocalization . vcCoolDown of
Just 0 -> crVocalizationSound cr
_ -> Nothing
crVocalResetTime :: Creature -> StdGen -> Int
crVocalResetTime _ = fst . randomR (50,100)
-- this should update the randgen as well
resetCrVocCoolDown :: World -> Creature -> Creature
resetCrVocCoolDown w cr = case cr ^? crVocalization . vcMaxCoolDown of
Just (i, j) -> cr & crVocalization . vcCoolDown .~ x
& crVocalization . vcTimer .~ 0
where
x = fst $ randomR (i, j) (_randGen w)
Nothing -> cr
resetCrVocCoolDown w cr = cr & crVocalization .~ VocTimer 0 (crVocalResetTime cr (w ^. randGen))
+2 -6
View File
@@ -16,12 +16,8 @@ import Dodge.Data.Material
import Geometry.Data
data Vocalization
= Mute
| Vocalization
{ _vcMaxCoolDown :: (Int, Int)
, _vcCoolDown :: Int
, _vcTimer :: Int
}
= VocTimer {_vcTime :: Int ,_vcMaxTime :: Int }
| VocReady
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrMvType
+1 -1
View File
@@ -42,7 +42,7 @@ defaultCreature =
, _posture = AtEase
, _strideLength = yourDefaultStrideLength
}
, _crVocalization = Mute
, _crVocalization = VocReady
, _crActionPlan = ActionPlan [] (StrategyActions WatchAndWait [StartSentinelPost]) [LiveLongAndProsper]
, _crPerception = defaultPerceptionState
, _crMemory = defaultCreatureMemory
+5 -2
View File
@@ -19,10 +19,13 @@ chaseCritInternal w cr =
, targetYouWhenCognizant
, const searchIfDamaged
, const (crType . meleeCooldown %~ max 0 . subtract 1)
, const (crVocalization . vcCoolDown %~ max 0 . subtract 1)
, const (crVocalization . vcTimer +~ 1)
, const (crVocalization %~ updateVocTimer)
]
updateVocTimer :: Vocalization -> Vocalization
updateVocTimer VocTimer {_vcTime=x,_vcMaxTime=y} | x < y = VocTimer (x+1) y
updateVocTimer _ = VocReady
-- SpreadGunAI ->
-- defaultImpulsive
-- [ performActions
+1
View File
@@ -7,3 +7,4 @@ import RandomHelp
randC1 :: PSType
randC1 = RandPS $ takeOne $ map PutCrit $ armourChaseCrit : replicate 50 chaseCrit
--randC1 = RandPS $ takeOne $ map PutCrit [hoverCrit]
+5 -2
View File
@@ -55,7 +55,8 @@ tutAnoTree = do
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, loadAmmoTut
, chasmSpitTerminal
-- , loadAmmoTut
, corDoor
, tToBTree "slowCrush" . return . cleatOnward <$> pushCaverns
, corDoor
@@ -445,7 +446,9 @@ loadAmmoTut = do
return $
tToBTree "loadAmmoTest" $
treePost
[ amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90))
[ croom
, door
, amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90))
, triggerDoorRoom i
, wprm & rmPmnts .:~ sps (PS 50 0) (PutFlIt burstRifle)
, triggerDoorRoom j
+111 -111
View File
@@ -73,11 +73,11 @@ AttachType src/Dodge/Data/Item/Combine.hs 91;" t
Attention src/Dodge/Data/Creature/Perception.hs 58;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoCrit src/Dodge/Data/Creature/Misc.hs 57;" C
AutoCrit src/Dodge/Data/Creature/Misc.hs 53;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 61;" C
Avatar src/Dodge/Data/Creature/Misc.hs 45;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 61;" t
AvPosture src/Dodge/Data/Creature/Misc.hs 57;" C
Avatar src/Dodge/Data/Creature/Misc.hs 41;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 57;" 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
@@ -103,10 +103,10 @@ BURSTRIFLE src/Dodge/Data/Item/Combine.hs 157;" C
BackdropCurs src/Dodge/Data/SelectionList.hs 22;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 39;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 58;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 54;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 73;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 69;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 69;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 65;" 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
@@ -203,7 +203,7 @@ CardinalPointBetween src/Dodge/Data/CardinalPoint.hs 20;" t
Carriage src/Dodge/Data/Creature/Stance.hs 22;" t
ChangePosture src/Dodge/Data/ActionPlan.hs 41;" C
ChangeStrategy src/Dodge/Data/ActionPlan.hs 43;" C
ChaseCrit src/Dodge/Data/Creature/Misc.hs 54;" C
ChaseCrit src/Dodge/Data/Creature/Misc.hs 50;" C
ChaseCritters src/Dodge/Data/Creature/State.hs 16;" C
ChasmObstacle src/Dodge/Data/PathGraph.hs 51;" C
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C
@@ -262,8 +262,8 @@ CrIsCorpse src/Dodge/Data/Creature.hs 65;" C
CrIsGibs src/Dodge/Data/Creature.hs 66;" C
CrIsPitted src/Dodge/Data/Creature.hs 67;" C
CrMouth src/Dodge/Data/SoundOrigin.hs 16;" C
CrMvType src/Dodge/Data/Creature/Misc.hs 27;" t
CrMvType src/Dodge/Data/Creature/Misc.hs 30;" C
CrMvType src/Dodge/Data/Creature/Misc.hs 23;" t
CrMvType src/Dodge/Data/Creature/Misc.hs 26;" C
CrOpenAutoDoor src/Dodge/Data/CreatureEffect.hs 21;" C
CrSound src/Dodge/Data/SoundOrigin.hs 15;" C
CrTurnAround src/Dodge/Data/CreatureEffect.hs 24;" C
@@ -279,8 +279,8 @@ 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 63;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 44;" t
CreatureShape src/Dodge/Data/Creature/Misc.hs 59;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 40;" t
Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C
CryostatisSS src/Dodge/Data/Scenario.hs 91;" C
@@ -398,7 +398,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 75;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 71;" 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
@@ -549,9 +549,9 @@ HotkeyR src/Dodge/Data/Equipment/Misc.hs 34;" C
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
HoverCrit src/Dodge/Data/Creature/Misc.hs 55;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 51;" C
Huge src/Shape/Data.hs 23;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 64;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 60;" C
IMSI src/Dodge/Data/SelectionList.hs 40;" t
IMSS src/Dodge/Data/SelectionList.hs 38;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
@@ -638,7 +638,7 @@ LabLink src/Dodge/Data/Room.hs 50;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 59;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 55;" C
Large src/Shape/Data.hs 24;" C
LasBeamCombine src/Dodge/Data/Beam.hs 38;" C
LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
@@ -773,7 +773,6 @@ Move src/Dodge/Data/ActionPlan.hs 26;" C
MoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C
MoveForward src/Dodge/Data/ActionPlan.hs 27;" C
MoveNoStride src/Dodge/Data/ActionPlan.hs 28;" C
Mute src/Dodge/Data/Creature/Misc.hs 19;" C
Muzzle src/Dodge/Data/Muzzle.hs 9;" t
MuzzleBlink src/Dodge/Data/Muzzle.hs 55;" C
MuzzleDetector src/Dodge/Data/Muzzle.hs 54;" C
@@ -796,7 +795,7 @@ MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 56;" C
Muzzle_positions src/Dodge/Data/Config.hs 110;" C
MvForward src/Dodge/Data/ActionPlan.hs 34;" C
MvTurnToward src/Dodge/Data/ActionPlan.hs 33;" C
MvWalking src/Dodge/Data/Creature/Misc.hs 29;" C
MvWalking src/Dodge/Data/Creature/Misc.hs 25;" C
NAILBOX src/Dodge/Data/Item/Combine.hs 78;" C
NInt src/NewInt.hs 16;" C
NIntMap src/NewInt.hs 22;" C
@@ -831,7 +830,7 @@ NoItemZone src/Dodge/Data/Machine/Sensor.hs 31;" C
NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C
NoLighting src/Dodge/Data/Config.hs 120;" C
NoMouseContext src/Dodge/Data/Input.hs 14;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 28;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 24;" C
NoObjShads src/Dodge/Data/Config.hs 118;" C
NoParams src/Dodge/Data/Item/Params.hs 13;" C
NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C
@@ -847,7 +846,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 70;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 66;" 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
@@ -988,7 +987,7 @@ Piercing src/Dodge/Data/Damage.hs 16;" C
Piezoelectric src/Dodge/Data/Material.hs 23;" C
Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 74;" C
PlainBarrel src/Dodge/Data/Creature/Misc.hs 70;" 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
@@ -1026,12 +1025,12 @@ ProxSensor src/Dodge/Data/Machine/Sensor.hs 24;" C
ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 33;" t
ProximitySensor src/Dodge/Data/Machine/Sensor.hs 24;" t
ProximitySensorType src/Dodge/Data/Machine/Sensor.hs 29;" t
Pulse src/Dodge/Data/Creature/Misc.hs 38;" t
Pulse src/Dodge/Data/Creature/Misc.hs 34;" t
PulseBall src/Dodge/Data/PulseLaser.hs 20;" t
PulseBallSF src/Dodge/Data/ComposedItem.hs 45;" C
PulseLaser src/Dodge/Data/PulseLaser.hs 11;" t
PulseLaserSF src/Dodge/Data/ComposedItem.hs 42;" C
PulseStatus src/Dodge/Data/Creature/Misc.hs 38;" C
PulseStatus src/Dodge/Data/Creature/Misc.hs 34;" C
PumpSF src/Dodge/Data/ComposedItem.hs 48;" C
PushSource src/Dodge/Data/Door.hs 23;" t
PushedBy src/Dodge/Data/Door.hs 25;" C
@@ -1272,7 +1271,7 @@ Survive src/Dodge/Data/Scenario.hs 5;" C
Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C
Swarm src/Dodge/Data/Creature/State.hs 25;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 56;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 52;" C
TAPE src/Dodge/Data/Item/Combine.hs 55;" C
TARGETING src/Dodge/Data/Item/Combine.hs 21;" C
TCBase src/Dodge/Data/Terminal.hs 49;" C
@@ -1439,6 +1438,8 @@ Vigilance src/Dodge/Data/Creature/Perception.hs 50;" t
Vigilant src/Dodge/Data/Creature/Perception.hs 54;" C
Virus src/Dodge/Data/Scenario.hs 25;" C
Vision src/Dodge/Data/Creature/Perception.hs 39;" t
VocReady src/Dodge/Data/Creature/Misc.hs 20;" C
VocTimer src/Dodge/Data/Creature/Misc.hs 19;" C
Vocalization src/Dodge/Data/Creature/Misc.hs 18;" t
VolleyGunTrigger src/Dodge/Data/TriggerType.hs 13;" C
VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 17;" C
@@ -1536,15 +1537,15 @@ _asDir src/Dodge/Data/ArcStep.hs 14;" f
_asObject src/Dodge/Data/ArcStep.hs 15;" f
_asPos src/Dodge/Data/ArcStep.hs 13;" f
_auDist src/Dodge/Data/Creature/Perception.hs 46;" f
_avDexterity src/Dodge/Data/Creature/Misc.hs 49;" f
_avIntelligence src/Dodge/Data/Creature/Misc.hs 50;" f
_avMoveSpeed src/Dodge/Data/Creature/Misc.hs 51;" f
_avPosture src/Dodge/Data/Creature/Misc.hs 52;" f
_avStrength src/Dodge/Data/Creature/Misc.hs 48;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 47;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 46;" f
_avDexterity src/Dodge/Data/Creature/Misc.hs 45;" f
_avIntelligence src/Dodge/Data/Creature/Misc.hs 46;" f
_avMoveSpeed src/Dodge/Data/Creature/Misc.hs 47;" f
_avPosture src/Dodge/Data/Creature/Misc.hs 48;" f
_avStrength src/Dodge/Data/Creature/Misc.hs 44;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 43;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 42;" f
_barrelShader src/Data/Preload/Render.hs 27;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 58;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 54;" f
_bdColor src/Dodge/Data/Prop.hs 23;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f
_bdMaxY src/Dodge/Data/Bounds.hs 14;" f
@@ -1930,9 +1931,9 @@ _lInvLock src/Dodge/Data/LWorld.hs 148;" f
_lTestInt src/Dodge/Data/LWorld.hs 144;" f
_lTestString src/Dodge/Data/LWorld.hs 143;" f
_lWorld src/Dodge/Data/CWorld.hs 24;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 59;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 59;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 59;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 55;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 55;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 55;" f
_lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f
_laserEmmiter src/Dodge/Data/Laser.hs 16;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 15;" f
@@ -2020,7 +2021,7 @@ _mdPoint3 src/Dodge/Data/Modification.hs 18;" f
_mdTimer src/Dodge/Data/Modification.hs 17;" f
_mdUpdate src/Dodge/Data/Modification.hs 16;" f
_mdUpdate src/Dodge/Data/Modification.hs 25;" f
_meleeCooldown src/Dodge/Data/Creature/Misc.hs 54;" f
_meleeCooldown src/Dodge/Data/Creature/Misc.hs 50;" f
_meleeTarget src/Dodge/Data/ActionPlan.hs 139;" f
_mgField src/Dodge/Data/Magnet.hs 23;" f
_mgPos src/Dodge/Data/Magnet.hs 22;" f
@@ -2041,11 +2042,11 @@ _mtBranches src/Dodge/Data/MetaTree.hs 13;" f
_mtLabel src/Dodge/Data/MetaTree.hs 13;" f
_mtTree src/Dodge/Data/MetaTree.hs 13;" f
_musicData src/Data/Preload.hs 13;" f
_mvAimSpeed src/Dodge/Data/Creature/Misc.hs 34;" f
_mvSpeed src/Dodge/Data/Creature/Misc.hs 29;" f
_mvAimSpeed src/Dodge/Data/Creature/Misc.hs 30;" f
_mvSpeed src/Dodge/Data/Creature/Misc.hs 25;" f
_mvToPoint src/Dodge/Data/Creature.hs 73;" f
_mvTurnJit src/Dodge/Data/Creature/Misc.hs 33;" f
_mvTurnRad src/Dodge/Data/Creature/Misc.hs 32;" f
_mvTurnJit src/Dodge/Data/Creature/Misc.hs 29;" f
_mvTurnRad src/Dodge/Data/Creature/Misc.hs 28;" f
_mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f
_mzEffect src/Dodge/Data/Muzzle.hs 15;" f
_mzFlareType src/Dodge/Data/Muzzle.hs 14;" f
@@ -2087,7 +2088,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 75;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 71;" 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
@@ -2133,8 +2134,8 @@ _psSelect src/Dodge/Data/GenWorld.hs 101;" f
_pullWallShader src/Data/Preload/Render.hs 22;" f
_pulseBalls src/Dodge/Data/LWorld.hs 119;" f
_pulseLasers src/Dodge/Data/LWorld.hs 118;" f
_pulseProgress src/Dodge/Data/Creature/Misc.hs 40;" f
_pulseRate src/Dodge/Data/Creature/Misc.hs 39;" f
_pulseProgress src/Dodge/Data/Creature/Misc.hs 36;" f
_pulseRate src/Dodge/Data/Creature/Misc.hs 35;" f
_putBlock src/Dodge/Data/GenWorld.hs 43;" f
_putButton src/Dodge/Data/GenWorld.hs 39;" f
_putChasmChasms src/Dodge/Data/GenWorld.hs 60;" f
@@ -2297,9 +2298,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 65;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 67;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 66;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 61;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 63;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 62;" 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
@@ -2458,9 +2459,8 @@ _vboName src/Shader/Data.hs 80;" f
_vboPtr src/Shader/Data.hs 81;" f
_vboShapes src/Data/Preload/Render.hs 44;" f
_vboVertexBytes src/Shader/Data.hs 82;" f
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
_vcTimer src/Dodge/Data/Creature/Misc.hs 23;" f
_vcMaxTime src/Dodge/Data/Creature/Misc.hs 19;" f
_vcTime src/Dodge/Data/Creature/Misc.hs 19;" f
_vertices src/Polyhedra/Data.hs 22;" f
_viDist src/Dodge/Data/Creature/Perception.hs 41;" f
_viFOV src/Dodge/Data/Creature/Perception.hs 40;" f
@@ -2657,7 +2657,7 @@ autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f
autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 551;" f
autoPistol src/Dodge/Item/Held/Stick.hs 21;" f
autoRifle src/Dodge/Item/Held/Cane.hs 27;" f
awakeLevelPerception src/Dodge/Creature/Perception.hs 161;" f
awakeLevelPerception src/Dodge/Creature/Perception.hs 162;" f
axisInt src/Geometry/Intersect.hs 246;" f
azure src/Color.hs 49;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
@@ -2688,8 +2688,8 @@ baseShoulder src/Dodge/Creature/Picture.hs 150;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 346;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 40;" f
basicCrPict src/Dodge/Creature/Picture.hs 32;" f
basicCrShape src/Dodge/Creature/Picture.hs 38;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
@@ -2772,7 +2772,7 @@ 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
byNthLink src/Dodge/Room/Warning.hs 44;" f
cChasm src/Dodge/Room/Tutorial.hs 135;" f
cChasm src/Dodge/Room/Tutorial.hs 136;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2804,16 +2804,15 @@ changeSwapWith src/Dodge/Inventory.hs 283;" f
charToTuple src/Picture/Base.hs 312;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 51;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f
chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 28;" f
chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 66;" f
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
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 33;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 62;" 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
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 372;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 306;" 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
@@ -2880,7 +2879,7 @@ clsNearCirc src/Dodge/Zoning/Cloud.hs 21;" f
clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
clsNearRect src/Dodge/Zoning/Cloud.hs 18;" f
clsNearSeg src/Dodge/Zoning/Cloud.hs 15;" f
cogRaised src/Dodge/Creature/Perception.hs 101;" f
cogRaised src/Dodge/Creature/Perception.hs 102;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 27;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f
collectDamageTypes src/Dodge/Damage.hs 53;" f
@@ -2902,7 +2901,7 @@ colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 234;" f
combinationsOf src/Multiset.hs 46;" f
combinationsTrie src/Dodge/Combine.hs 44;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineAwareness src/Dodge/Creature/Perception.hs 110;" f
combineFloors src/Dodge/Room/Procedural.hs 154;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 340;" f
combineItemListYouX src/Dodge/Combine.hs 36;" f
@@ -2952,8 +2951,8 @@ crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 35;" f
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
crCrSpring src/Dodge/Update.hs 978;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 59;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 43;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 45;" 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
@@ -2964,7 +2963,7 @@ 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 91;" f
crIntelligence src/Dodge/Creature/Statistics.hs 37;" f
crIntelligence src/Dodge/Creature/Statistics.hs 39;" f
crIsAiming src/Dodge/Creature/Test.hs 58;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 107;" f
crLeftHandWall src/Dodge/Creature/HandPos.hs 96;" f
@@ -2986,12 +2985,13 @@ crSetRoots src/Dodge/Inventory/Location.hs 56;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 965;" f
crStratConMatches src/Dodge/Creature/Test.hs 78;" f
crStrength src/Dodge/Creature/Statistics.hs 28;" f
crStrength src/Dodge/Creature/Statistics.hs 29;" f
crUpdate src/Dodge/Creature/Update.hs 70;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 67;" f
crVocalizationSound src/Dodge/Creature/Vocalization.hs 16;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 25;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 26;" 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
@@ -3117,7 +3117,7 @@ decomposeTree src/Dodge/Tree/Compose.hs 59;" f
decontamRoom src/Dodge/Room/Airlock.hs 37;" 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
decreaseAwareness src/Dodge/Creature/Perception.hs 119;" f
decrementTimer src/Sound.hs 104;" f
dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 557;" f
dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f
@@ -3129,7 +3129,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 15;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" 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
@@ -3140,13 +3140,13 @@ defaultButton src/Dodge/Default.hs 45;" 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 24;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" 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 52;" f
defaultDeathSounds src/Dodge/Creature/Vocalization.hs 55;" 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
@@ -3495,7 +3495,7 @@ equipSiteInfo src/Dodge/Item/Info.hs 252;" 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 53;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 56;" f
errorAngleVV src/Geometry.hs 59;" f
errorClosestPointOnLine src/Geometry.hs 71;" f
errorClosestPointOnLineParam src/Geometry.hs 77;" f
@@ -3573,7 +3573,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 89;" f
foldMTRS src/Dodge/Room/Tutorial.hs 90;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3634,9 +3634,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 47;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 574;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 561;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 577;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 564;" f
getDebugMouseOver src/Dodge/Update.hs 449;" f
getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3653,7 +3653,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 557;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 560;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3756,7 +3756,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 77;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 611;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f
@@ -3775,6 +3775,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
hoverCrit src/Dodge/Creature/ChaseCrit.hs 36;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 58;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
@@ -3865,11 +3866,11 @@ invertIntMap src/IntMapHelp.hs 100;" f
invertIntMap src/Multiset.hs 67;" f
invertIntMapUnique src/IntMapHelp.hs 103;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 22;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f
isAmmoIntLink src/Dodge/HeldUse.hs 738;" f
isAnimate src/Dodge/Creature/Test.hs 132;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 66;" f
isFlyable src/Dodge/WorldEvent/ThingsHit.hs 191;" f
@@ -3942,7 +3943,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 71;" f
itemWeight src/Dodge/Creature/Statistics.hs 74;" f
iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 30;" f
@@ -3968,7 +3969,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
keyPic src/Dodge/Item/Draw/SPic.hs 441;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
lChasm src/Dodge/Room/Tutorial.hs 147;" f
lChasm src/Dodge/Room/Tutorial.hs 148;" 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
@@ -4036,7 +4037,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
loadAmmoTut src/Dodge/Room/Tutorial.hs 426;" 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 +4211,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 176;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 198;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 266;" f
midChasm src/Dodge/Room/Tutorial.hs 177;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 199;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 267;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4302,9 +4303,9 @@ nearRect src/Dodge/Zoning/Common.hs 16;" f
nearSeg src/Dodge/Zoning/Common.hs 12;" f
nearZeroAngle src/Geometry/Vector.hs 140;" f
nearestAngleRep src/Geometry.hs 148;" f
newExtraAwareness src/Dodge/Creature/Perception.hs 137;" f
newExtraAwareness src/Dodge/Creature/Perception.hs 138;" f
newKey src/IntMapHelp.hs 61;" f
newSounds src/Dodge/Creature/Perception.hs 169;" f
newSounds src/Dodge/Creature/Perception.hs 170;" f
newSoundsToPlay src/Dodge/SoundSelection.hs 8;" f
newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f
nextArc src/Dodge/Tesla.hs 60;" f
@@ -4314,7 +4315,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 263;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 264;" 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
@@ -4390,7 +4391,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 639;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 642;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 66;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4405,7 +4406,7 @@ peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f
pedestalRoom src/Dodge/Room/Containing.hs 50;" f
penThing src/Dodge/Bullet.hs 214;" f
perMat src/MatrixHelper.hs 60;" f
perceptionUpdate src/Dodge/Creature/Perception.hs 24;" f
perceptionUpdate src/Dodge/Creature/Perception.hs 25;" f
performAction src/Dodge/Creature/Action.hs 54;" f
performActions src/Dodge/Creature/Action.hs 39;" f
performAimAt src/Dodge/Creature/Action.hs 103;" f
@@ -4494,8 +4495,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 349;" f
polyChasmC src/Dodge/Room/Tutorial.hs 361;" f
polyChasm src/Dodge/Room/Tutorial.hs 350;" f
polyChasmC src/Dodge/Room/Tutorial.hs 362;" f
polyCirc src/Shape.hs 47;" f
polyCircx src/Shape.hs 52;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4586,7 +4587,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 58;" f
putShape src/Dodge/Room/Foreground.hs 134;" f
putSingleLight src/Dodge/Room/Tutorial.hs 457;" f
putSingleLight src/Dodge/Room/Tutorial.hs 460;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f
@@ -4680,7 +4681,7 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 701;" f
reloadFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 799;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f
rememberSounds src/Dodge/Creature/Perception.hs 176;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteDetonator src/Dodge/Item/Scope.hs 152;" f
remoteScreen src/Dodge/Item/Scope.hs 146;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 136;" f
@@ -4700,7 +4701,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 64;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 71;" f
resetPLUse src/Dodge/PlacementSpot.hs 94;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
resetTerminal src/Dodge/WorldEffect.hs 158;" f
@@ -4872,7 +4873,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f
sensorSPic src/Dodge/Machine/Draw.hs 97;" f
sensorTut src/Dodge/Room/Tutorial.hs 583;" f
sensorTut src/Dodge/Room/Tutorial.hs 586;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
@@ -4907,7 +4908,7 @@ setSoundVolume src/Sound.hs 159;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 75;" f
setTiles src/Dodge/Layout.hs 68;" f
setTreeInts src/Dodge/Room/Tutorial.hs 96;" f
setTreeInts src/Dodge/Room/Tutorial.hs 97;" f
setViewDistance src/Dodge/Update/Camera.hs 240;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 448;" f
@@ -5030,7 +5031,7 @@ slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 326;" f
smallBattery src/Dodge/Item/Ammo.hs 57;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 15;" f
smallDrawTree src/Dodge/LevelGen.hs 93;" f
smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 825;" f
smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f
@@ -5049,7 +5050,7 @@ someCrits src/Dodge/LockAndKey.hs 122;" f
soundAngle src/Dodge/SoundLogic.hs 163;" f
soundContinue src/Dodge/SoundLogic.hs 131;" f
soundContinueVol src/Dodge/SoundLogic.hs 145;" f
soundIsClose src/Dodge/Creature/Perception.hs 182;" f
soundIsClose src/Dodge/Creature/Perception.hs 183;" f
soundMenu src/Dodge/Menu.hs 158;" f
soundMenuOptions src/Dodge/Menu.hs 161;" f
soundMultiFrom src/Dodge/SoundLogic.hs 187;" f
@@ -5093,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 227;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 242;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 228;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 243;" f
square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f
@@ -5144,8 +5145,8 @@ stopPushing src/Dodge/Wall/Damage.hs 172;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
storageShape src/Dodge/Machine/Draw.hs 30;" f
storeRoomID src/Dodge/Room/Modify.hs 23;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 50;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 64;" 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
strictify src/MaybeHelp.hs 35;" f
strideRot src/Dodge/Item/HeldOffset.hs 80;" f
@@ -5364,12 +5365,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 101;" f
tutHub src/Dodge/Room/Tutorial.hs 481;" f
tutLight src/Dodge/Room/Tutorial.hs 393;" f
tutRezBox src/Dodge/Room/Tutorial.hs 594;" f
tutDrop src/Dodge/Room/Tutorial.hs 102;" f
tutHub src/Dodge/Room/Tutorial.hs 484;" f
tutLight src/Dodge/Room/Tutorial.hs 394;" f
tutRezBox src/Dodge/Room/Tutorial.hs 597;" f
tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 619;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 622;" f
tweenAngles src/Geometry/Vector.hs 192;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f
@@ -5589,8 +5590,7 @@ viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f
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 59;" f
visionCheck src/Dodge/Creature/Perception.hs 153;" 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
@@ -5695,7 +5695,7 @@ 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 160;" f
zChasm src/Dodge/Room/Tutorial.hs 161;" 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