Implement slime splitting

This commit is contained in:
2026-04-11 23:53:54 +01:00
parent 5052ee7a9e
commit 6f2e862c65
4 changed files with 122 additions and 76 deletions
+6 -1
View File
@@ -22,7 +22,12 @@ cardVec = \case
West -> V2 (-1) 0 West -> V2 (-1) 0
vecCard :: Point2 -> CardinalPoint vecCard :: Point2 -> CardinalPoint
vecCard (V2 x y) = undefined vecCard 0 = error "vecCard null"
vecCard (V2 x y)
| x > abs y = East
| -x > abs y = West
| y > 0 = North
| otherwise = South
card8Vec :: Cardinal8 -> Point2 card8Vec :: Cardinal8 -> Point2
card8Vec cp = case cp of card8Vec cp = case cp of
+41 -5
View File
@@ -6,7 +6,7 @@ import Dodge.Base.Collide
import Dodge.Creature.Radius import Dodge.Creature.Radius
import Color import Color
import Control.Monad import Control.Monad
import qualified Data.IntMap.Strict as IM import qualified IntMapHelp as IM
import Data.Maybe import Data.Maybe
import Dodge.Barreloid import Dodge.Barreloid
import Dodge.Base.You import Dodge.Base.You
@@ -70,7 +70,15 @@ updateLivingCreature cr = case _crType cr of
cid = cr ^. crID cid = cr ^. crID
slimeCritUpdate :: Int -> World -> World slimeCritUpdate :: Int -> World -> World
slimeCritUpdate cid w = w slimeCritUpdate cid w
| Just hitp <- w ^? cWorld . lWorld . creatures . ix cid . crDamage . ix 0 . dmPos
, Just hitv <- w ^? cWorld . lWorld . creatures . ix cid . crDamage . ix 0 . dmVector
, Just (cr1,cr2) <- splitSlimeCrit hitp hitv cr
=
let cid' = IM.newKey $ w ^. cWorld . lWorld . creatures
in w & cWorld . lWorld . creatures . ix cid .~ cr1
& cWorld . lWorld . creatures . at cid' ?~ (cr2 & crID .~ cid')
| otherwise = w
& cWorld . lWorld . creatures . ix cid .~ mvslime & cWorld . lWorld . creatures . ix cid .~ mvslime
where where
txy = w ^?! cWorld . lWorld . creatures . ix 0 . crPos . _xy txy = w ^?! cWorld . lWorld . creatures . ix 0 . crPos . _xy
@@ -80,11 +88,12 @@ slimeCritUpdate cid w = w
| hasLOS cxy txy w = mvslime' | hasLOS cxy txy w = mvslime'
| otherwise = cr | otherwise = cr
mvslime' = cr & crType . slimeCompression .~ p' + x mvslime' = cr & crType . slimeCompression .~ p' + x
& crPos . _xy +~ g (0.5*x) -- & crPos . _xy +~ g (x)
& crPos . _xy +~ 0.1 *^ normalize (txy-cxy)
& crType . slimeIsCompressing %~ (f . f') & crType . slimeIsCompressing %~ (f . f')
& crDir .~ argV (txy-cxy) & crDir .~ argV (txy-cxy)
g | cr ^?! crType . slimeIsCompressing = negate -- g | cr ^?! crType . slimeIsCompressing = negate
| otherwise = id -- | otherwise = id
s | cr ^?! crType . slimeIsCompressing = 2/3 s | cr ^?! crType . slimeIsCompressing = 2/3
| otherwise = 1.5 | otherwise = 1.5
f | abs (norm v - norm p') < 0.1 = not f | abs (norm v - norm p') < 0.1 = not
@@ -99,6 +108,33 @@ slimeCritUpdate cid w = w
| otherwise = (-(r*r/norm p) *^ normalize (vNormal p), not) | otherwise = (-(r*r/norm p) *^ normalize (vNormal p), not)
x = 0.1 *^ normalize (v - p') x = 0.1 *^ normalize (v - p')
splitSlimeCrit :: Point2 -> Point2 -> Creature -> Maybe (Creature, Creature)
splitSlimeCrit p v cr = do
let mp = closestPointOnLine p (p+v) cxy
h = r - distance mp cxy
nv = normalize v
guard $ h > 0
let a1 = segmentArea r h
a2 = pi*r*r - a1
r1 = sqrt (a1/pi)
r2 = sqrt (a2/pi)
guard $ r1 > 5 && r2 > 5
return (cr' & crPos . _xy +~ r2 *^ vNormal nv
& crType . slimeRad .~ r1
& crType . slimeCompression .~ V2 r1 0
,cr' & crPos . _xy -~ r1 *^ vNormal nv
& crType . slimeRad .~ r2
& crType . slimeCompression .~ V2 r2 0
)
where
cxy = cr ^. crPos . _xy
r = cr ^?! crType . slimeRad
cr' = cr & crDamage .~ []
-- h is the height of the segment, ie r - distance to center
segmentArea :: Float -> Float -> Float
segmentArea r h = r*r*acos(1-h/r) - (r-h)*sqrt(h*(2*r-h))
slinkCritUpdate :: Int -> World -> World slinkCritUpdate :: Int -> World -> World
slinkCritUpdate cid w = slinkCritUpdate cid w =
w w
+2
View File
@@ -45,6 +45,8 @@ testStringInit u = u ^.. tocrs . ix 1 . crPos . _xy . to show
<> u ^.. tocrs . ix 1 . crType . slimeCompression . to show <> u ^.. tocrs . ix 1 . crType . slimeCompression . to show
<> u ^.. tocrs . ix 1 . crType . slimeIsCompressing . to show <> u ^.. tocrs . ix 1 . crType . slimeIsCompressing . to show
<> u ^.. tocrs . ix 1 . crDir . to show <> u ^.. tocrs . ix 1 . crDir . to show
<> u ^.. tocrs . ix 1 . crDamage . to show
-- <> u ^.. tocrs . each . crID . to show
-- where -- where
-- tocr = uvWorld . cWorld . lWorld . creatures . ix 0 -- tocr = uvWorld . cWorld . lWorld . creatures . ix 0
-- f = fromMaybe 0 -- f = fromMaybe 0
+73 -70
View File
@@ -73,11 +73,11 @@ AttachType src/Dodge/Data/Item/Combine.hs 91;" t
Attention src/Dodge/Data/Creature/Perception.hs 58;" t Attention src/Dodge/Data/Creature/Perception.hs 58;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
Audition src/Dodge/Data/Creature/Perception.hs 45;" t Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoCrit src/Dodge/Data/Creature/Misc.hs 78;" C AutoCrit src/Dodge/Data/Creature/Misc.hs 79;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 82;" C AvPosture src/Dodge/Data/Creature/Misc.hs 83;" C
Avatar src/Dodge/Data/Creature/Misc.hs 47;" C Avatar src/Dodge/Data/Creature/Misc.hs 47;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 82;" t AvatarPosture src/Dodge/Data/Creature/Misc.hs 83;" t
Awareness src/Dodge/Data/Creature/Perception.hs 63;" t Awareness src/Dodge/Data/Creature/Perception.hs 63;" t
BANGCONE src/Dodge/Data/Item/Combine.hs 149;" C BANGCONE src/Dodge/Data/Item/Combine.hs 149;" C
BANGROD src/Dodge/Data/Item/Combine.hs 158;" 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 23;" C BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 40;" C Bark src/Dodge/Data/ActionPlan.hs 40;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 79;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 80;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 94;" t BarrelType src/Dodge/Data/Creature/Misc.hs 95;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 90;" C Barreloid src/Dodge/Data/Creature/Misc.hs 91;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 41;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 41;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 48;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 48;" C
@@ -281,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 CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
Creature src/Dodge/Data/Creature.hs 35;" t Creature src/Dodge/Data/Creature.hs 35;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 84;" t CreatureShape src/Dodge/Data/Creature/Misc.hs 85;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 46;" t CreatureType src/Dodge/Data/Creature/Misc.hs 46;" t
Crushing src/Dodge/Data/Damage.hs 19;" C Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C
@@ -400,7 +400,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 9;" C ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
Explosive src/Dodge/Data/Damage.hs 25;" C Explosive src/Dodge/Data/Damage.hs 25;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 96;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 97;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C
ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t
Eyes src/Dodge/Data/Creature/Perception.hs 39;" C Eyes src/Dodge/Data/Creature/Perception.hs 39;" C
@@ -554,7 +554,7 @@ HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 68;" C HoverCrit src/Dodge/Data/Creature/Misc.hs 68;" C
Huge src/Shape/Data.hs 24;" C Huge src/Shape/Data.hs 24;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 85;" C Humanoid src/Dodge/Data/Creature/Misc.hs 86;" C
IMSI src/Dodge/Data/SelectionList.hs 41;" t IMSI src/Dodge/Data/SelectionList.hs 41;" t
IMSS src/Dodge/Data/SelectionList.hs 39;" t IMSS src/Dodge/Data/SelectionList.hs 39;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
@@ -642,7 +642,7 @@ LabLink src/Dodge/Data/Room.hs 50;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
Laboratory src/Dodge/Data/Scenario.hs 61;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 80;" C LampCrit src/Dodge/Data/Creature/Misc.hs 81;" C
Large src/Shape/Data.hs 25;" C Large src/Shape/Data.hs 25;" C
LasBeamCombine src/Dodge/Data/Beam.hs 38;" C LasBeamCombine src/Dodge/Data/Beam.hs 38;" C
LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
@@ -850,7 +850,7 @@ NoWorldEffect src/Dodge/Data/WorldEffect.hs 26;" C
Noclip src/Dodge/Data/Config.hs 83;" C Noclip src/Dodge/Data/Config.hs 83;" C
NodeMTree src/Dodge/Data/MetaTree.hs 17;" C NodeMTree src/Dodge/Data/MetaTree.hs 17;" C
NodeTree src/Dodge/Data/MetaTree.hs 16;" C NodeTree src/Dodge/Data/MetaTree.hs 16;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 91;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 92;" C
NonInf src/Dodge/Data/CardinalPoint.hs 44;" C NonInf src/Dodge/Data/CardinalPoint.hs 44;" C
NormalOptions src/Dodge/Data/Universe.hs 71;" C NormalOptions src/Dodge/Data/Universe.hs 71;" C
NormalSpark src/Dodge/Data/Spark.hs 19;" C NormalSpark src/Dodge/Data/Spark.hs 19;" C
@@ -994,7 +994,7 @@ Piezoelectric src/Dodge/Data/Material.hs 23;" C
Pitted src/Dodge/Data/Creature.hs 68;" C Pitted src/Dodge/Data/Creature.hs 68;" C
Placement src/Dodge/Data/GenWorld.hs 113;" t Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 95;" C PlainBarrel src/Dodge/Data/Creature/Misc.hs 96;" C
PlainDeath src/Dodge/Data/Creature.hs 70;" C PlainDeath src/Dodge/Data/Creature.hs 70;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlasmaBall src/Dodge/Data/PlasmaBall.hs 13;" t PlasmaBall src/Dodge/Data/PlasmaBall.hs 13;" t
@@ -1279,7 +1279,7 @@ Survive src/Dodge/Data/Scenario.hs 5;" C
Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C
Swarm src/Dodge/Data/Creature/State.hs 25;" C Swarm src/Dodge/Data/Creature/State.hs 25;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 77;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 78;" C
TAPE src/Dodge/Data/Item/Combine.hs 55;" C TAPE src/Dodge/Data/Item/Combine.hs 55;" C
TARGETING src/Dodge/Data/Item/Combine.hs 21;" C TARGETING src/Dodge/Data/Item/Combine.hs 21;" C
TCBase src/Dodge/Data/Terminal.hs 49;" C TCBase src/Dodge/Data/Terminal.hs 49;" C
@@ -1556,7 +1556,7 @@ _avStrength src/Dodge/Data/Creature/Misc.hs 50;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 49;" f _avatarMaterial src/Dodge/Data/Creature/Misc.hs 49;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 48;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 48;" f
_barrelShader src/Data/Preload/Render.hs 27;" f _barrelShader src/Data/Preload/Render.hs 27;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 79;" f _barrelType src/Dodge/Data/Creature/Misc.hs 80;" f
_bdColor src/Dodge/Data/Prop.hs 23;" f _bdColor src/Dodge/Data/Prop.hs 23;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f _bdMaxX src/Dodge/Data/Bounds.hs 12;" f
_bdMaxY src/Dodge/Data/Bounds.hs 14;" f _bdMaxY src/Dodge/Data/Bounds.hs 14;" f
@@ -1948,9 +1948,9 @@ _lInvLock src/Dodge/Data/LWorld.hs 148;" f
_lTestInt src/Dodge/Data/LWorld.hs 144;" f _lTestInt src/Dodge/Data/LWorld.hs 144;" f
_lTestString src/Dodge/Data/LWorld.hs 143;" f _lTestString src/Dodge/Data/LWorld.hs 143;" f
_lWorld src/Dodge/Data/CWorld.hs 24;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 80;" f _lampColor src/Dodge/Data/Creature/Misc.hs 81;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 80;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 81;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 80;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 81;" f
_lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f _lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f
_laserEmmiter src/Dodge/Data/Laser.hs 16;" f _laserEmmiter src/Dodge/Data/Laser.hs 16;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 15;" f _laserTypeDamage src/Dodge/Data/Laser.hs 15;" f
@@ -2111,7 +2111,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 42;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 15;" f _pickUpLevel src/Dodge/Layout/Generate.hs 15;" f
_pickUps src/Dodge/Layout/Generate.hs 16;" f _pickUps src/Dodge/Layout/Generate.hs 16;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f _pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 96;" f _piercedPoints src/Dodge/Data/Creature/Misc.hs 97;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f _pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f
_pjDir src/Dodge/Data/Projectile.hs 18;" f _pjDir src/Dodge/Data/Projectile.hs 18;" f
@@ -2322,13 +2322,14 @@ _skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f _skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f _skType src/Dodge/Data/Spark.hs 15;" f
_skVel src/Dodge/Data/Spark.hs 12;" f _skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 86;" f _skinHead src/Dodge/Data/Creature/Misc.hs 87;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 88;" f _skinLower src/Dodge/Data/Creature/Misc.hs 89;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 87;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 88;" f
_slInt src/Dodge/Data/HUD.hs 39;" f _slInt src/Dodge/Data/HUD.hs 39;" f
_slSec src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f
_slSet src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f
_slimeCompression src/Dodge/Data/Creature/Misc.hs 75;" f _slimeCompression src/Dodge/Data/Creature/Misc.hs 75;" f
_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 76;" f
_slimeRad src/Dodge/Data/Creature/Misc.hs 74;" f _slimeRad src/Dodge/Data/Creature/Misc.hs 74;" f
_slinkSpine src/Dodge/Data/Creature/Misc.hs 71;" f _slinkSpine src/Dodge/Data/Creature/Misc.hs 71;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 41;" f _smoothScrollAmount src/Dodge/Data/Input.hs 41;" f
@@ -2660,7 +2661,7 @@ argV src/Geometry/Vector.hs 89;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f
armouredChasers src/Dodge/Room/Boss.hs 58;" f armouredChasers src/Dodge/Room/Boss.hs 58;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 321;" f arms src/Dodge/Creature/Picture.hs 325;" f
arrow src/Picture/Composite.hs 19;" f arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f
@@ -2703,7 +2704,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Creature/Picture.hs 372;" f barrelShape src/Dodge/Creature/Picture.hs 376;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 165;" f baseCI src/Dodge/Item/Grammar.hs 165;" f
@@ -2712,14 +2713,14 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f
baseShoulder src/Dodge/Creature/Picture.hs 359;" f baseShoulder src/Dodge/Creature/Picture.hs 363;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 346;" f baseStickSpread src/Dodge/HeldUse.hs 346;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 137;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 137;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 31;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 31;" f
basicCrPict src/Dodge/Creature/Picture.hs 68;" f basicCrPict src/Dodge/Creature/Picture.hs 72;" f
basicCrShape src/Dodge/Creature/Picture.hs 74;" f basicCrShape src/Dodge/Creature/Picture.hs 78;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMuzFlare src/Dodge/HeldUse.hs 731;" f basicMuzFlare src/Dodge/HeldUse.hs 731;" f
@@ -2812,11 +2813,11 @@ canSeeIndirect src/Dodge/Base/Collide.hs 335;" f
canSpring src/Dodge/Update.hs 989;" f canSpring src/Dodge/Update.hs 989;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f
capacitor src/Dodge/Item/Ammo.hs 67;" f capacitor src/Dodge/Item/Ammo.hs 67;" f
card8Vec src/Dodge/Base/CardinalPoint.hs 24;" f card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f
cardList src/Dodge/Base/CardinalPoint.hs 7;" f cardList src/Dodge/Base/CardinalPoint.hs 7;" f
cardReverse src/Dodge/Base/CardinalPoint.hs 10;" f cardReverse src/Dodge/Base/CardinalPoint.hs 10;" f
cardVec src/Dodge/Base/CardinalPoint.hs 17;" f cardVec src/Dodge/Base/CardinalPoint.hs 17;" f
cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 35;" f cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 43;" f
cardinalVectors src/Dodge/FloorItem.hs 24;" f cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f
ceilingTo src/Geometry/Zone.hs 15;" f ceilingTo src/Geometry/Zone.hs 15;" f
@@ -2834,11 +2835,11 @@ changeSwapWith src/Dodge/Inventory.hs 283;" f
charToTuple src/Picture/Base.hs 312;" f charToTuple src/Picture/Base.hs 312;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 51;" f chartreuse src/Color.hs 51;" f
chaseCorpse src/Dodge/Creature/Picture.hs 270;" f chaseCorpse src/Dodge/Creature/Picture.hs 274;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 33;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 33;" f
chaseCritInternal src/Dodge/Humanoid.hs 12;" f chaseCritInternal src/Dodge/Humanoid.hs 12;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 148;" f chaseUpperBody src/Dodge/Creature/Picture.hs 152;" f
chasmRotate src/Dodge/Creature/State/WalkCycle.hs 123;" f chasmRotate src/Dodge/Creature/State/WalkCycle.hs 123;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 378;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 378;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 311;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 311;" f
@@ -2846,8 +2847,8 @@ chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 105;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 121;" f chasmWallToSurface src/Dodge/Base/Collide.hs 121;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 119;" f checkDeath src/Dodge/Creature/Update.hs 152;" f
checkDeath' src/Dodge/Creature/Update.hs 122;" f checkDeath' src/Dodge/Creature/Update.hs 155;" f
checkEndGame src/Dodge/Update.hs 875;" f checkEndGame src/Dodge/Update.hs 875;" f
checkErrorGL src/Shader/Compile.hs 86;" f checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2970,7 +2971,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 136;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 411;" f corDoor src/Dodge/Room/Room.hs 411;" f
cornerList src/Preload/Render.hs 236;" f cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 168;" f corpseOrGib src/Dodge/Creature/Update.hs 201;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f corridorN src/Dodge/Room/Corridor.hs 58;" f
@@ -2978,7 +2979,7 @@ corridorWallN src/Dodge/Room/Corridor.hs 77;" f
crAdd src/Dodge/Room/RezBox.hs 116;" f crAdd src/Dodge/Room/RezBox.hs 116;" f
crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crAwayFromPost src/Dodge/Creature/Test.hs 83;" f
crBlips src/Dodge/RadarSweep.hs 88;" f crBlips src/Dodge/RadarSweep.hs 88;" f
crCamouflage src/Dodge/Creature/Picture.hs 71;" f crCamouflage src/Dodge/Creature/Picture.hs 75;" f
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
crCrSpring src/Dodge/Update.hs 997;" f crCrSpring src/Dodge/Update.hs 997;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 67;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 67;" f
@@ -3019,7 +3020,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 984;" f crSpring src/Dodge/Update.hs 984;" f
crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 112;" f crUpdate src/Dodge/Creature/Update.hs 145;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 65;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 65;" f
@@ -3030,12 +3031,12 @@ crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 62;" f
crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 72;" f crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 72;" f
crZoneSize src/Dodge/Zoning/Creature.hs 43;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f
crabActionUpdate src/Dodge/Creature/ReaderUpdate.hs 124;" f crabActionUpdate src/Dodge/Creature/ReaderUpdate.hs 124;" f
crabCorpse src/Dodge/Creature/Picture.hs 289;" f crabCorpse src/Dodge/Creature/Picture.hs 293;" f
crabCrit src/Dodge/Creature/ChaseCrit.hs 40;" f crabCrit src/Dodge/Creature/ChaseCrit.hs 40;" f
crabCritInternal src/Dodge/Humanoid.hs 29;" f crabCritInternal src/Dodge/Humanoid.hs 29;" f
crabFeet src/Dodge/Creature/Picture.hs 200;" f crabFeet src/Dodge/Creature/Picture.hs 204;" f
crabRoom src/Dodge/Room/Tutorial.hs 432;" f crabRoom src/Dodge/Room/Tutorial.hs 432;" f
crabUpperBody src/Dodge/Creature/Picture.hs 124;" f crabUpperBody src/Dodge/Creature/Picture.hs 128;" f
craftInfo src/Dodge/Item/Info.hs 168;" f craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f
@@ -3132,10 +3133,10 @@ deZoneIX src/Dodge/Zoning/Base.hs 91;" f
deZoneWall src/Dodge/Zoning/Wall.hs 69;" f deZoneWall src/Dodge/Zoning/Wall.hs 69;" f
deadEndPSType src/Dodge/Room/Room.hs 264;" f deadEndPSType src/Dodge/Room/Room.hs 264;" f
deadEndRoom src/Dodge/Room/Room.hs 267;" f deadEndRoom src/Dodge/Room/Room.hs 267;" f
deadFeet src/Dodge/Creature/Picture.hs 317;" f deadFeet src/Dodge/Creature/Picture.hs 321;" f
deadRot src/Dodge/Creature/Picture.hs 335;" f deadRot src/Dodge/Creature/Picture.hs 339;" f
deadScalp src/Dodge/Creature/Picture.hs 330;" f deadScalp src/Dodge/Creature/Picture.hs 334;" f
deadUpperBody src/Dodge/Creature/Picture.hs 356;" f deadUpperBody src/Dodge/Creature/Picture.hs 360;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
debrisSPic src/Dodge/Prop/Draw.hs 17;" f debrisSPic src/Dodge/Prop/Draw.hs 17;" f
debrisSize src/Dodge/Block/Debris.hs 131;" f debrisSize src/Dodge/Block/Debris.hs 131;" f
@@ -3358,7 +3359,7 @@ drawBoundingBox src/Dodge/Debug/Picture.hs 368;" f
drawBullet src/Dodge/Render/ShapePicture.hs 156;" f drawBullet src/Dodge/Render/ShapePicture.hs 156;" f
drawButton src/Dodge/Button/Draw.hs 11;" f drawButton src/Dodge/Button/Draw.hs 11;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChaseCrit src/Dodge/Creature/Picture.hs 115;" f drawChaseCrit src/Dodge/Creature/Picture.hs 119;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
@@ -3369,7 +3370,7 @@ drawCoord src/Dodge/Debug/Picture.hs 396;" f
drawCountMod src/Render.hs 231;" f drawCountMod src/Render.hs 231;" f
drawCrInfo src/Dodge/Debug.hs 215;" f drawCrInfo src/Dodge/Debug.hs 215;" f
drawCrInfo' src/Dodge/Debug.hs 210;" f drawCrInfo' src/Dodge/Debug.hs 210;" f
drawCrabCrit src/Dodge/Creature/Picture.hs 107;" f drawCrabCrit src/Dodge/Creature/Picture.hs 111;" f
drawCreature src/Dodge/Creature/Picture.hs 36;" f drawCreature src/Dodge/Creature/Picture.hs 36;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f
drawCross src/Dodge/Render/Label.hs 25;" f drawCross src/Dodge/Render/Label.hs 25;" f
@@ -3388,7 +3389,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f
drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f
drawEmptySet src/Dodge/Render/Picture.hs 153;" f drawEmptySet src/Dodge/Render/Picture.hs 153;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 368;" f drawEquipment src/Dodge/Creature/Picture.hs 372;" f
drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f
@@ -3398,7 +3399,7 @@ drawForceField src/Dodge/Wall/Draw.hs 15;" f
drawGapPlus src/Dodge/Render/Picture.hs 284;" f drawGapPlus src/Dodge/Render/Picture.hs 284;" f
drawGib src/Dodge/Prop/Draw.hs 31;" f drawGib src/Dodge/Prop/Draw.hs 31;" f
drawHUD src/Dodge/Render/HUD.hs 53;" f drawHUD src/Dodge/Render/HUD.hs 53;" f
drawHoverCrit src/Dodge/Creature/Picture.hs 97;" f drawHoverCrit src/Dodge/Creature/Picture.hs 101;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f
drawInspectWall src/Dodge/Debug/Picture.hs 256;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f
@@ -3452,7 +3453,7 @@ drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShell src/Dodge/Projectile/Draw.hs 22;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f
drawSlimeCrit src/Dodge/Creature/Picture.hs 56;" f drawSlimeCrit src/Dodge/Creature/Picture.hs 56;" f
drawSlinkCrit src/Dodge/Creature/Picture.hs 89;" f drawSlinkCrit src/Dodge/Creature/Picture.hs 93;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f
drawSubInventory src/Dodge/Render/HUD.hs 173;" f drawSubInventory src/Dodge/Render/HUD.hs 173;" f
@@ -3480,7 +3481,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 206;" f dropAll src/Dodge/Creature/Update.hs 239;" f
dropInventoryPath src/Dodge/HeldUse.hs 1371;" f dropInventoryPath src/Dodge/HeldUse.hs 1371;" f
dropItem src/Dodge/Creature/Action.hs 169;" f dropItem src/Dodge/Creature/Action.hs 169;" f
dropper src/Dodge/Item/Scope.hs 82;" f dropper src/Dodge/Item/Scope.hs 82;" f
@@ -3570,7 +3571,7 @@ faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 245;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f
fdiv src/ShortShow.hs 41;" f fdiv src/ShortShow.hs 41;" f
feet src/Dodge/Creature/Picture.hs 186;" f feet src/Dodge/Creature/Picture.hs 190;" f
filter3 src/FoldableHelp.hs 76;" f filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f
findBlips src/Dodge/RadarSweep.hs 63;" f findBlips src/Dodge/RadarSweep.hs 63;" f
@@ -3823,7 +3824,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
hoverCrit src/Dodge/Creature/ChaseCrit.hs 73;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 73;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 89;" f hoverCritHoverSound src/Dodge/Creature/Update.hs 122;" f
hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f
hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f
hoverDeathSounds src/Dodge/Creature/Vocalization.hs 58;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 58;" f
@@ -4025,7 +4026,7 @@ lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Creature/Picture.hs 377;" f lampCrSPic src/Dodge/Creature/Picture.hs 381;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f
@@ -4153,7 +4154,7 @@ makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 124;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f
makeColorTermPara src/Dodge/Terminal.hs 121;" f makeColorTermPara src/Dodge/Terminal.hs 121;" f
makeCorpse src/Dodge/Creature/Picture.hs 252;" f makeCorpse src/Dodge/Creature/Picture.hs 256;" f
makeCrGibs src/Dodge/Prop/Gib.hs 19;" f makeCrGibs src/Dodge/Prop/Gib.hs 19;" f
makeDebris src/Dodge/Block/Debris.hs 75;" f makeDebris src/Dodge/Block/Debris.hs 75;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 101;" f makeDebrisDirected src/Dodge/Block/Debris.hs 101;" f
@@ -4399,7 +4400,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f
onEquipWristShield src/Dodge/Euse.hs 89;" f onEquipWristShield src/Dodge/Euse.hs 89;" f
onRemoveWristShield src/Dodge/Euse.hs 79;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f
oneH src/Dodge/Creature/Test.hs 95;" f oneH src/Dodge/Creature/Test.hs 95;" f
oneSmooth src/Dodge/Creature/Picture.hs 183;" f oneSmooth src/Dodge/Creature/Picture.hs 187;" f
openConsole src/Dodge/Update.hs 140;" f openConsole src/Dodge/Update.hs 140;" f
optionMenu src/Dodge/Menu.hs 110;" f optionMenu src/Dodge/Menu.hs 110;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f
@@ -4519,7 +4520,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 202;" f poisonSPic src/Dodge/Creature/Update.hs 235;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 518;" f poke34 src/Shader/Poke.hs 518;" f
pokeArrayOff src/Shader/Poke.hs 530;" f pokeArrayOff src/Shader/Poke.hs 530;" f
@@ -4881,14 +4882,14 @@ sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 809;" f
scToTS src/Dodge/Event/Input.hs 34;" f scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 141;" f scale src/Picture/Base.hs 141;" f
scale3 src/Picture/Base.hs 137;" f scale3 src/Picture/Base.hs 137;" f
scaleAlong src/Dodge/Creature/Picture.hs 64;" f scaleAlong src/Dodge/Creature/Picture.hs 68;" f
scaleMat src/MatrixHelper.hs 71;" f scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 271;" f scaleSH src/Shape.hs 271;" f
scalp src/Dodge/Creature/Picture.hs 344;" f scalp src/Dodge/Creature/Picture.hs 348;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 199;" f scorchSPic src/Dodge/Creature/Update.hs 232;" f
screenBox src/Dodge/Base/Window.hs 54;" f screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f
@@ -5045,10 +5046,10 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 130;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 101;" f showManObj src/Dodge/TestString.hs 102;" f
showMuzzlePositions src/Dodge/Debug.hs 292;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 118;" f showTimeFlow src/Dodge/TestString.hs 119;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
shrinkVert src/Geometry/Polygon.hs 202;" f shrinkVert src/Geometry/Polygon.hs 202;" f
shuffle src/RandomHelp.hs 68;" f shuffle src/RandomHelp.hs 68;" f
@@ -5085,9 +5086,9 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f
slideWindow src/ListHelp.hs 81;" f slideWindow src/ListHelp.hs 81;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 65;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 65;" f
slimeCritUpdate src/Dodge/Creature/Update.hs 70;" f slimeCritUpdate src/Dodge/Creature/Update.hs 72;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 54;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 54;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 73;" f slinkCritUpdate src/Dodge/Creature/Update.hs 106;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f
@@ -5142,13 +5143,14 @@ spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 54;" f spawnerCrit src/Dodge/Creature.hs 54;" f
spawnerRoom src/Dodge/Room/Room.hs 390;" f spawnerRoom src/Dodge/Room/Room.hs 390;" f
speedLegs src/Dodge/Item/Equipment.hs 74;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f
spiderJoint src/Dodge/Creature/Picture.hs 234;" f spiderJoint src/Dodge/Creature/Picture.hs 238;" f
splashMenu src/Dodge/Menu.hs 31;" f splashMenu src/Dodge/Menu.hs 31;" f
splashMenuOptions src/Dodge/Menu.hs 36;" f splashMenuOptions src/Dodge/Menu.hs 36;" f
splashScreen src/Dodge/Initialisation.hs 10;" f splashScreen src/Dodge/Initialisation.hs 10;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f splitLookupTrie src/SimpleTrie.hs 39;" f
splitSlimeCrit src/Dodge/Creature/Update.hs 103;" f
splitTrunk src/TreeHelp.hs 181;" f splitTrunk src/TreeHelp.hs 181;" f
splitTrunkAt src/TreeHelp.hs 169;" f splitTrunkAt src/TreeHelp.hs 169;" f
spreadAroundCenter src/Dodge/Base.hs 173;" f spreadAroundCenter src/Dodge/Base.hs 173;" f
@@ -5186,7 +5188,7 @@ stackText src/Picture/Base.hs 180;" f
stackedInventory src/Dodge/Creature.hs 326;" f stackedInventory src/Dodge/Creature.hs 326;" f
startCr src/Dodge/Creature.hs 90;" f startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 94;" f startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 153;" f startDeathTimer src/Dodge/Creature/Update.hs 186;" f
startDrag src/Dodge/Update/Input/InGame.hs 319;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f
startInvList src/Dodge/Creature.hs 105;" f startInvList src/Dodge/Creature.hs 105;" f
startInventory src/Dodge/Creature.hs 108;" f startInventory src/Dodge/Creature.hs 108;" f
@@ -5337,7 +5339,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 158;" f toColor8 src/Color.hs 158;" f
toDeathCarriage src/Dodge/Creature/Update.hs 161;" f toDeathCarriage src/Dodge/Creature/Update.hs 194;" f
toFloatVAs src/Shader/Compile.hs 66;" f toFloatVAs src/Shader/Compile.hs 66;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
@@ -5361,11 +5363,11 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f
topInvW src/Dodge/ListDisplayParams.hs 56;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f
topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f
topPrismIndices src/Shader/Poke.hs 419;" f topPrismIndices src/Shader/Poke.hs 419;" f
topTestPart src/Dodge/TestString.hs 96;" f topTestPart src/Dodge/TestString.hs 97;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 85;" f torqueCr src/Dodge/WorldEffect.hs 85;" f
torso src/Dodge/Creature/Picture.hs 349;" f torso src/Dodge/Creature/Picture.hs 353;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 850;" f tractorBeamAt src/Dodge/HeldUse.hs 850;" f
@@ -5490,7 +5492,7 @@ updateCloud src/Dodge/Update.hs 904;" f
updateClouds src/Dodge/Update.hs 773;" f updateClouds src/Dodge/Update.hs 773;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f
updateCreature src/Dodge/Creature/Update.hs 38;" f updateCreature src/Dodge/Creature/Update.hs 40;" f
updateCreatureGroups src/Dodge/Update.hs 634;" f updateCreatureGroups src/Dodge/Update.hs 634;" f
updateCreatureSoundPositions src/Dodge/Update.hs 613;" f updateCreatureSoundPositions src/Dodge/Update.hs 613;" f
updateCreatureStride src/Dodge/Update.hs 376;" f updateCreatureStride src/Dodge/Update.hs 376;" f
@@ -5539,7 +5541,7 @@ updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 513;" f updateLasers src/Dodge/Update.hs 513;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 47;" f updateLivingCreature src/Dodge/Creature/Update.hs 49;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 405;" f updateMagnets src/Dodge/Update.hs 405;" f
@@ -5556,7 +5558,7 @@ updatePlasmaBall src/Dodge/Update.hs 527;" f
updatePlasmaBalls src/Dodge/Update.hs 669;" f updatePlasmaBalls src/Dodge/Update.hs 669;" f
updatePreload src/Preload/Update.hs 21;" f updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 214;" f updatePulse src/Dodge/Creature/Update.hs 247;" f
updatePulseBall src/Dodge/Update.hs 547;" f updatePulseBall src/Dodge/Update.hs 547;" f
updatePulseLaser src/Dodge/Update.hs 716;" f updatePulseLaser src/Dodge/Update.hs 716;" f
updatePulseLasers src/Dodge/Update.hs 522;" f updatePulseLasers src/Dodge/Update.hs 522;" f
@@ -5598,7 +5600,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f
updateWheelEvents src/Dodge/Update.hs 492;" f updateWheelEvents src/Dodge/Update.hs 492;" f
updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f
updateWorldEventFlags src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f
upperBody src/Dodge/Creature/Picture.hs 364;" f upperBody src/Dodge/Creature/Picture.hs 368;" f
upperBox src/Shape.hs 149;" f upperBox src/Shape.hs 149;" f
upperBoxHalf src/Shape.hs 224;" f upperBoxHalf src/Shape.hs 224;" f
upperBoxMT src/Shape.hs 140;" f upperBoxMT src/Shape.hs 140;" f
@@ -5647,6 +5649,7 @@ vToQuat src/Quaternion.hs 45;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
vasTightStride src/Shader/Compile.hs 128;" f vasTightStride src/Shader/Compile.hs 128;" f
vecBetweenSpeed src/Dodge/Base.hs 146;" f vecBetweenSpeed src/Dodge/Base.hs 146;" f
vecCard src/Dodge/Base/CardinalPoint.hs 24;" f
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
vert src/Shader/Data.hs 110;" f vert src/Shader/Data.hs 110;" f
vertScale src/MatrixHelper.hs 95;" f vertScale src/MatrixHelper.hs 95;" f