Add z level to energy balls

This commit is contained in:
2025-08-04 22:49:36 +01:00
parent bde0fa2a5c
commit 09428f2707
14 changed files with 125 additions and 110 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ updateExpBarrel ps cr w
& flip (foldl' f) ps
| otherwise =
w
& makeExplosionAt (cr ^. crPos) 0
& makeExplosionAt ((cr ^. crPos) `v2z` 20) 0
& cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
where
f w' p = makeSpark NormalSpark (p + normalizeV p + cr ^. crPos) (argV p) w'
+3 -4
View File
@@ -1,14 +1,13 @@
module Dodge.Bullet.Draw (
drawBul,
drawBullet,
) where
import Dodge.Data.Bullet
import Linear
import Picture
drawBul :: Bullet -> Picture
drawBul pt =
--setLayer BloomNoZWrite
drawBullet :: Bullet -> Picture
drawBullet pt =
setLayer BloomLayer
. setDepth 20
. color (V4 200 200 200 2)
+1 -2
View File
@@ -18,8 +18,7 @@ import Geometry.Data
data Bullet = Bullet
{ _buEffect :: BulletEffect
, _buPayload :: BulletPayload
, -- , _buTrajectory :: BulletTrajectory
_buVel :: Point2
, _buVel :: Point2
, _buDrag :: Float
, _buPos :: Point2
, _buOldPos :: Point2
+2 -2
View File
@@ -15,8 +15,8 @@ import Dodge.Data.EnergyBall.Type
import Geometry.Data
data EnergyBall = EnergyBall
{ _ebVel :: Point2
, _ebPos :: Point2
{ _ebVel :: Point3
, _ebPos :: Point3
, _ebTimer :: Int
, _ebType :: EnergyBallType
}
+19 -15
View File
@@ -17,8 +17,9 @@ import Geometry
import LensHelp
import Picture
import RandomHelp
import Linear.V3
makeFlamelet :: Point2 -> Point2 -> Float -> Int -> World -> World
makeFlamelet :: Point3 -> Point3 -> Float -> Int -> World -> World
makeFlamelet p v s t w =
w
& randGen .~ g
@@ -36,29 +37,29 @@ updateEnergyBall :: World -> EnergyBall -> (World, Maybe EnergyBall)
updateEnergyBall w eb
| _ebTimer eb <= 0 = (w, Nothing)
| otherwise =
( ebEffect eb . ebFlicker eb $ ebDamage (_ebPos eb) (_ebType eb) w
, Just $ eb & ebTimer -~ 1 & ebPos .~ bp & ebVel .~ drag * bv
( ebEffect eb . ebFlicker eb $ ebDamage (eb ^. ebPos) (_ebType eb) w
, Just $ eb & ebTimer -~ 1 & ebPos . _xy .~ bp & ebVel . _xy .~ drag * bv
)
where
drag = case eb ^. ebType of
ExplosiveBall -> 0.9
_ -> 0.85
p = eb ^. ebPos + eb ^. ebVel
(bp, bv) = fromMaybe (p, eb ^. ebVel) $ bouncePoint (const True) 0 (eb ^. ebPos) p w
p = (eb ^. ebPos + eb ^. ebVel) ^. _xy
(bp, bv) = fromMaybe (p, eb ^. ebVel . _xy) $ bouncePoint (const True) 0 (eb ^. ebPos . _xy) p w
ebEffect :: EnergyBall -> World -> World
ebEffect eb = case _ebType eb of
ElectricalBall i ->
soundContinue (EBSound i) (_ebPos eb) elecCrackleS (Just 2)
soundContinue (EBSound i) (eb ^. ebPos . _xy) elecCrackleS (Just 2)
. randSparkExtraVel
(_ebVel eb)
(eb ^. ebVel . _xy)
ElectricSpark
(state (randomR (3, 6)))
(state (randomR (0, 2 * pi)))
(_ebPos eb)
(eb ^. ebPos . _xy)
IncendiaryBall{}
| _ebTimer eb == 20 ->
soundStart (EBSound (-1)) (_ebPos eb) fireFadeS Nothing
soundStart (EBSound (-1)) (eb ^. ebPos . _xy) fireFadeS Nothing
_ -> id
energyBallAt :: EnergyBallType -> Point2 -> World -> World
@@ -66,7 +67,7 @@ energyBallAt ebt p =
cWorld . lWorld . energyBalls
.:~ EnergyBall
{ _ebVel = 0
, _ebPos = p
, _ebPos = p `v2z` 20
, _ebTimer = 20
, _ebType = ebt
}
@@ -75,8 +76,8 @@ makeMovingEB :: Point2 -> EnergyBallType -> Point2 -> World -> World
makeMovingEB v ebt p =
cWorld . lWorld . energyBalls
.:~ EnergyBall
{ _ebVel = v
, _ebPos = p
{ _ebVel = v `v2z` 0
, _ebPos = p `v2z` 20
, _ebTimer = 20
, _ebType = ebt
}
@@ -88,7 +89,7 @@ ebFlicker :: EnergyBall -> World -> World
ebFlicker pt
| _ebTimer pt `mod` 7 == 0 =
cWorld . lWorld . lights
.:~ LSParam (addZ 5 $ _ebPos pt) 70 (0.5 * xyzV4 (ebColor pt))
.:~ LSParam (pt ^. ebPos) 70 (0.5 * xyzV4 (ebColor pt))
| otherwise = id
ebColor :: EnergyBall -> Color
@@ -99,9 +100,12 @@ ebColor eb = case eb ^. ebType of
ExplosiveBall -> white
FlashBall -> white
ebDamage :: Point2 -> EnergyBallType -> World -> World
ebDamage sp dt = damageInCircle (const $ ebtToDamage sp dt) sp r
ebDamage :: Point3 -> EnergyBallType -> World -> World
ebDamage sp dt
| z > 0 && z < 25 = damageInCircle (const $ ebtToDamage (sp ^. _xy) dt) (sp ^. _xy) r
| otherwise = id
where
z = sp ^. _z
r = fromMaybe 5 $ dt ^? fbSize
ebtToDamage :: Point2 -> EnergyBallType -> Damage
+16 -12
View File
@@ -15,8 +15,9 @@ drawEnergyBall eb = case _ebType eb of
drawExplosiveBall :: EnergyBall -> Picture
drawExplosiveBall eb =
setLayer BloomLayer
. setDepth 20
. uncurryV translate (_ebPos eb)
-- . setDepth 20
-- . uncurryV translate (_ebPos eb)
. translate3 (_ebPos eb)
. color white
$ thickCircle r x
where
@@ -27,9 +28,10 @@ drawExplosiveBall eb =
drawStaticBall :: EnergyBall -> Picture
drawStaticBall pt =
setLayer BloomNoZWrite
. setDepth 20
-- . setDepth (_ebZ pt + 20)
. uncurryV translate (_ebPos pt)
-- . setDepth 20
-- -- . setDepth (_ebZ pt + 20)
-- . uncurryV translate (_ebPos pt)
. translate3 (_ebPos pt)
$ circleSolidCol blue (withAlpha 0.5 white) 8
drawFlamelet :: Float -> Float -> EnergyBall -> Picture
@@ -40,13 +42,13 @@ drawFlamelet size rot pt =
, setLayer BloomNoZWrite pi2
]
where
z = 20
sp = _ebPos pt
siz2 = size + 0.2
time = _ebTimer pt
piu =
setDepth (z + 5)
. uncurryV translate sp
translate3 sp
-- setDepth (z + 5)
-- . uncurryV translate sp
. color
( mixColors
(fromIntegral (max 0 (time -2)))
@@ -61,8 +63,9 @@ drawFlamelet size rot pt =
. polygon
$ reverse (rectNSWE siz2 (- siz2) (- siz2) siz2)
pi2 =
setDepth (z + 5)
. uncurryV translate sp
translate3 sp
--setDepth (z + 5)
-- . uncurryV translate sp
. color
( mixColors
(fromIntegral (max 0 (time -2)))
@@ -78,8 +81,9 @@ drawFlamelet size rot pt =
. reverse
$ rectNSWE siz2 (- siz2) (- siz2) siz2
pic =
setDepth (z + 2)
. uncurryV translate sp
translate3 sp
--setDepth (z + 2)
-- . uncurryV translate sp
. color
( mixColors
(fromIntegral (max 0 (time -2)))
+2 -1
View File
@@ -1,5 +1,6 @@
module Dodge.Machine.Destroy where
import Geometry.Vector3D
import Dodge.FloorItem
import Data.Maybe
import Dodge.Data.World
@@ -13,7 +14,7 @@ destroyMachine :: Machine -> World -> World
destroyMachine mc =
(cWorld . lWorld . machines %~ IM.delete (_mcID mc))
. deleteWallIDs (_mcWallIDs mc)
. makeExplosionAt (_mcPos mc) 0
. makeExplosionAt (_mcPos mc `v2z` 20) 0
. mcKillTerm mc
. mcKillBut mc
. destroyMcType (mc ^. mcType) mc
+6 -3
View File
@@ -14,15 +14,16 @@ import Dodge.SoundLogic
import Dodge.WorldEvent.Explosion
import Geometry.Data
import LensHelp
import Linear.V3
usePayload :: Payload -> Point2 -> Point2 -> World -> World
usePayload :: Payload -> Point3 -> Point3 -> World -> World
usePayload = \case
ExplosionPayload -> makeExplosionAt
ShrapnelBomb -> makeShrapnelAt
DudPayload -> const (const id)
makeShrapnelAt :: Point2 -> Point2 -> World -> World
makeShrapnelAt p v w =
makeShrapnelAt :: Point3 -> Point3 -> World -> World
makeShrapnelAt p' vel' w =
w
& soundMultiFrom [Explosion 0, Explosion 1] p bangS Nothing
& cWorld . lWorld . worldEvents
@@ -30,6 +31,8 @@ makeShrapnelAt p v w =
& makeShockwaveAt [] p 50 5 0 white
& cWorld . lWorld . bullets .++~ buls
where
p = p' ^. _xy
v = vel' ^. _xy
vs = replicateM 75 (randInCirc 10) & evalState $ _randGen w
drags :: [Float]
drags = replicateM 75 (state $ randomR (0.85,0.9)) & evalState $ _randGen w
+1 -1
View File
@@ -12,5 +12,5 @@ doPressPlateEvent ppe = case ppe of
ppLevelReset :: PressPlate -> World -> World
ppLevelReset pp w
| dist (_crPos $ you w) (_ppPos pp) < 20 = makeExplosionAt (_ppPos pp) 0 w
| dist (_crPos $ you w) (_ppPos pp) < 20 = makeExplosionAt (_ppPos pp `v2z` 20) 0 w
| otherwise = w
+3 -2
View File
@@ -187,7 +187,8 @@ doThrust pj smoke w =
& randGen .~ g
& cWorld . lWorld . projectiles . ix i . pjVel . _xy %~ (\v -> accel +.+ frict *.* v)
& soundContinue (ShellSound i) newPos missileLaunchS (Just 1)
& makeFlamelet (oldPos -.- vel) (vel +.+ rotateV (pi + sparkD) accel) 3 10
& makeFlamelet ((oldPos -.- vel) `v2z` 20)
((vel +.+ rotateV (pi + sparkD) accel) `v2z` 0) 3 10
& makeCloudAt
RocketSmoke
lifetime
@@ -285,7 +286,7 @@ explodeShell pj w =
& cWorld . lWorld . projectiles . ix pjid . pjType .~ RetiredProjectile
& cWorld . lWorld . projectiles . ix pjid . pjVel .~ 0
& cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 30
& usePayload (_pjPayload pj) (pj ^. pjPos . _xy) (pj ^. pjVel . _xy)
& usePayload (_pjPayload pj) (pj ^. pjPos) (pj ^. pjVel)
& stopSoundFrom (ShellSound pjid)
& updatedetonator
where
+1 -1
View File
@@ -102,7 +102,7 @@ extraPics cfig u =
<> foldMap drawFlame (_flames lw)
<> foldMap drawEnergyBall (_energyBalls lw)
<> foldMap drawSpark (_sparks lw)
<> foldMap drawBul (_bullets lw)
<> foldMap drawBullet (_bullets lw)
<> foldMap drawBlip (_radarBlips lw)
<> _flares lw
<> foldMap drawLightSource (_lightSources lw)
+1 -1
View File
@@ -659,7 +659,7 @@ updatePulseLaser pz = case pz ^. pzTimer of
((_, OPulseBall pb):xs) -> dodam xs
.
(cWorld . lWorld . pulseBalls . ix (_pbID pb) . pbTimer .~ 0)
. makeExplosionAt (_pbPos pb) 0
. makeExplosionAt (_pbPos pb `v2z` 20) 0
_ -> id
phasev = _pzPhaseV pz
sp = _pzPos pz
+12 -8
View File
@@ -19,6 +19,8 @@ import Geometry
import LensHelp
import Picture
import RandomHelp
import Linear.V3
import Linear.Metric
makePoisonExplosionAt ::
-- | Position
@@ -68,8 +70,8 @@ makeFlameExplosionAt p w =
-- the ( Nthing :: Maybe Int ) here is "maybe" a creature id that the
-- particle passes through for the first frame of its existence
makeExplosionAt :: Point2 -> Point2 -> World -> World
makeExplosionAt p vel w =
makeExplosionAt :: Point3 -> Point3 -> World -> World
makeExplosionAt p' vel' w =
w
& soundStart (Explosion (w ^. cWorld . lWorld . lClock)) (p) bangS Nothing
& addFlames
@@ -77,13 +79,15 @@ makeExplosionAt p vel w =
.:~ MakeTempLight (LSParam (addZ 20 p) 150 (V3 1 0.5 0)) 20
& makeShockwaveAt [] p 50 50 1 white
where
fVs = replicateM 100 (randInCirc 1) & evalState $ _randGen w
fPs' = replicateM 100 (randInCirc 5) & evalState $ _randGen w
p = p' ^. _xy
fVs = fmap (`v2z` 0) $ replicateM 100 (randInCirc 1) & evalState $ _randGen w
fPs' = fmap (`v2z` 0) $ replicateM 100 (randInCirc 5) & evalState $ _randGen w
fdamps = replicateM 100 (state $ randomR (0,1)) & evalState $ _randGen w
inversePushOut v = (15 - magV v) * 0.01 *.* v
fVs' = zipWith (+.+) fVs $ map inversePushOut fPs'
inversePushOut v = (15 - norm v) * 0.01 *.*.* v
fVs' = zipWith (+.+.+) fVs $ map inversePushOut fPs'
sizes = randomRs (2, 9) $ _randGen w
times = randomRs (15, 20) $ _randGen w
mF q v damp size time = makeFlamelet (q - (2*v + 2* vel)) (v + damp *.* vel) size time
newFs = zipWith4 (mF p) (zipWith (+) fPs' (fmap (3 *.*) fVs')) fdamps sizes times
mF q v damp size time = makeFlamelet
(q - (2*v + 2* vel')) (v + damp *.*.* vel') size time
newFs = zipWith4 (mF p') (zipWith (+) fPs' (fmap (3 *.*.*) fVs')) fdamps sizes times
addFlames w' = foldl' (flip ($)) w' newFs
+57 -57
View File
@@ -114,8 +114,8 @@ BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" 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 34;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 45;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 52;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 44;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" C
BasicFlare src/Dodge/Data/Muzzle.hs 26;" C
Beam src/Dodge/Data/Beam.hs 18;" t
BeamCombine src/Dodge/Data/Beam.hs 47;" C
@@ -126,8 +126,8 @@ BeamSimple src/Dodge/Data/Beam.hs 50;" C
BeamType src/Dodge/Data/Beam.hs 46;" t
BecomePowerful src/Dodge/Data/Scenario.hs 9;" C
BeltBulletAmmo src/Dodge/Data/AmmoType.hs 8;" C
BezierTrajectory src/Dodge/Data/Bullet.hs 46;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 53;" C
BezierTrajectory src/Dodge/Data/Bullet.hs 45;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 52;" C
Biome src/Dodge/Data/Scenario.hs 71;" t
BlBl src/Dodge/Data/BlBl.hs 11;" t
BlConst src/Dodge/Data/BlBl.hs 13;" C
@@ -152,27 +152,27 @@ BloomNoZWrite src/Picture/Data.hs 26;" C
Blunt src/Dodge/Data/Damage.hs 21;" C
Boosting src/Dodge/Data/Creature/Stance.hs 28;" C
BottomEscapeMenuOption src/Dodge/Data/Universe.hs 77;" C
BounceBullet src/Dodge/Data/Bullet.hs 32;" C
BounceBullet src/Dodge/Data/Bullet.hs 31;" C
Bound_box_screen src/Dodge/Data/Config.hs 81;" C
BoundaryCursor src/Dodge/Data/SelectionList.hs 20;" C
Bounds src/Dodge/Data/Bounds.hs 12;" t
BrigSS src/Dodge/Data/Scenario.hs 102;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
BulBall src/Dodge/Data/Bullet.hs 37;" C
BulFlak src/Dodge/Data/Bullet.hs 39;" C
BulFrag src/Dodge/Data/Bullet.hs 40;" C
BulGas src/Dodge/Data/Bullet.hs 41;" C
BulPlain src/Dodge/Data/Bullet.hs 38;" C
BulBall src/Dodge/Data/Bullet.hs 36;" C
BulFlak src/Dodge/Data/Bullet.hs 38;" C
BulFrag src/Dodge/Data/Bullet.hs 39;" C
BulGas src/Dodge/Data/Bullet.hs 40;" C
BulPlain src/Dodge/Data/Bullet.hs 37;" C
Bullet src/Dodge/Data/Bullet.hs 18;" t
BulletAmmo src/Dodge/Data/AmmoType.hs 7;" C
BulletEffect src/Dodge/Data/Bullet.hs 30;" t
BulletEffect src/Dodge/Data/Bullet.hs 29;" t
BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t
BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C
BulletModPayload src/Dodge/Data/Item/BulletMod.hs 11;" C
BulletParams src/Dodge/Data/Item/Use.hs 52;" C
BulletPayload src/Dodge/Data/Bullet.hs 36;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
BulletPayload src/Dodge/Data/Bullet.hs 35;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 43;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 50;" t
BurstTrigger src/Dodge/Data/TriggerType.hs 12;" C
Button src/Dodge/Data/Button.hs 30;" t
ButtonAccessTerminal src/Dodge/Data/Button.hs 28;" C
@@ -340,7 +340,7 @@ DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
DefaultTerminal src/Dodge/Data/Terminal.hs 55;" C
DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 31;" C
DestroyBullet src/Dodge/Data/Bullet.hs 30;" C
DestroyItem src/Dodge/Data/Scenario.hs 7;" C
Detector src/Dodge/Data/Item/Combine.hs 183;" t
Dirt src/Dodge/Data/Material.hs 11;" C
@@ -461,8 +461,8 @@ FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C
Flashing src/Dodge/Data/Damage.hs 27;" C
FlatFaces src/Shape/Data.hs 17;" C
FlatShieldParams src/Dodge/Data/Item/Params.hs 16;" C
FlechetteTrajectory src/Dodge/Data/Bullet.hs 47;" C
FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 54;" C
FlechetteTrajectory src/Dodge/Data/Bullet.hs 46;" C
FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 53;" C
Flee src/Dodge/Data/ActionPlan.hs 191;" C
Flesh src/Dodge/Data/Material.hs 11;" C
FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 16;" C
@@ -749,8 +749,8 @@ MagnetAttract src/Dodge/Data/Magnet.hs 19;" C
MagnetBuBu src/Dodge/Data/Magnet.hs 16;" t
MagnetDeflect src/Dodge/Data/Magnet.hs 18;" C
MagnetRepulse src/Dodge/Data/Magnet.hs 20;" C
MagnetTrajectory src/Dodge/Data/Bullet.hs 48;" C
MagnetTrajectoryType src/Dodge/Data/Bullet.hs 55;" C
MagnetTrajectory src/Dodge/Data/Bullet.hs 47;" C
MagnetTrajectoryType src/Dodge/Data/Bullet.hs 54;" C
MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t
MagnetUpdateTimer src/Dodge/Data/Magnet.hs 13;" C
MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C
@@ -1004,7 +1004,7 @@ Pathing src/Dodge/Data/Config.hs 76;" C
Patrol src/Dodge/Data/ActionPlan.hs 180;" C
PausedTimeFlow src/Dodge/Data/World.hs 77;" C
Payload src/Dodge/Data/Payload.hs 11;" t
PenetrateBullet src/Dodge/Data/Bullet.hs 33;" C
PenetrateBullet src/Dodge/Data/Bullet.hs 32;" C
Perception src/Dodge/Data/Creature/Perception.hs 32;" t
PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C
PhysicalSensor src/Dodge/Data/Machine/Sensor/Type.hs 14;" C
@@ -1629,14 +1629,14 @@ _btOn src/Dodge/Data/Button.hs 26;" f
_btPos src/Dodge/Data/Button.hs 31;" f
_btRot src/Dodge/Data/Button.hs 32;" f
_btTermMID src/Dodge/Data/Button.hs 35;" f
_buDam src/Dodge/Data/Bullet.hs 38;" f
_buDrag src/Dodge/Data/Bullet.hs 23;" f
_buDam src/Dodge/Data/Bullet.hs 37;" f
_buDrag src/Dodge/Data/Bullet.hs 22;" f
_buEffect src/Dodge/Data/Bullet.hs 19;" f
_buOldPos src/Dodge/Data/Bullet.hs 25;" f
_buOldPos src/Dodge/Data/Bullet.hs 24;" f
_buPayload src/Dodge/Data/Bullet.hs 20;" f
_buPos src/Dodge/Data/Bullet.hs 24;" f
_buVel src/Dodge/Data/Bullet.hs 22;" f
_buWidth src/Dodge/Data/Bullet.hs 26;" f
_buPos src/Dodge/Data/Bullet.hs 23;" f
_buVel src/Dodge/Data/Bullet.hs 21;" f
_buWidth src/Dodge/Data/Bullet.hs 25;" f
_bullets src/Dodge/Data/LWorld.hs 109;" f
_burstFrames src/Dodge/Data/TriggerType.hs 12;" f
_burstRate src/Dodge/Data/TriggerType.hs 12;" f
@@ -2394,7 +2394,7 @@ _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f
_spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f
_spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f
_sparks src/Dodge/Data/LWorld.hs 113;" f
_spawnEBT src/Dodge/Data/Bullet.hs 37;" f
_spawnEBT src/Dodge/Data/Bullet.hs 36;" f
_ssIndent src/Dodge/Data/SelectionList.hs 34;" f
_ssItems src/Dodge/Data/SelectionList.hs 30;" f
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f
@@ -3253,12 +3253,12 @@ destroyDoor src/Dodge/Block.hs 80;" f
destroyInvItem src/Dodge/Inventory.hs 43;" f
destroyLS src/Dodge/LightSource.hs 32;" f
destroyLSFlashAt src/Dodge/LightSource.hs 42;" f
destroyMachine src/Dodge/Machine/Destroy.hs 12;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/Block.hs 100;" f
destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 163;" f
destroyProjectile src/Dodge/Projectile/Update.hs 162;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 465;" f
@@ -3363,7 +3363,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 185;" f
doThrust src/Dodge/Projectile/Update.hs 184;" f
doTimeScroll src/Dodge/Update.hs 208;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 99;" f
@@ -3395,7 +3395,7 @@ drawBeam src/Dodge/Beam/Draw.hs 6;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Block/Draw.hs 7;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 336;" f
drawBul src/Dodge/Bullet/Draw.hs 9;" f
drawBullet src/Dodge/Bullet/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChasm src/Dodge/Render/ShapePicture.hs 44;" f
@@ -3429,7 +3429,7 @@ drawExamineInventory src/Dodge/Render/HUD.hs 195;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 269;" f
drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 35;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 255;" f
@@ -3490,7 +3490,7 @@ drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
drawShell src/Dodge/Projectile/Draw.hs 22;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 27;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f
drawSubInventory src/Dodge/Render/HUD.hs 161;" f
drawSwitch src/Dodge/Button/Draw.hs 17;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f
@@ -3539,11 +3539,11 @@ dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 880;" f
ebColor src/Dodge/EnergyBall.hs 94;" f
ebDamage src/Dodge/EnergyBall.hs 102;" f
ebEffect src/Dodge/EnergyBall.hs 49;" f
ebFlicker src/Dodge/EnergyBall.hs 87;" f
ebtToDamage src/Dodge/EnergyBall.hs 107;" f
ebColor src/Dodge/EnergyBall.hs 95;" f
ebDamage src/Dodge/EnergyBall.hs 103;" f
ebEffect src/Dodge/EnergyBall.hs 50;" f
ebFlicker src/Dodge/EnergyBall.hs 88;" f
ebtToDamage src/Dodge/EnergyBall.hs 111;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 436;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f
@@ -3561,7 +3561,7 @@ encircleP src/Dodge/Creature/Boid.hs 28;" f
endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f
endRegex src/Dodge/Update/Input/InGame.hs 254;" f
energyBallAt src/Dodge/EnergyBall.hs 64;" f
energyBallAt src/Dodge/EnergyBall.hs 65;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f
enterCombineInv src/Dodge/DisplayInventory.hs 323;" f
epText src/Dodge/Inventory/SelectionList.hs 76;" f
@@ -3593,7 +3593,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 186;" f
explodeShell src/Dodge/Projectile/Update.hs 282;" f
explodeShell src/Dodge/Projectile/Update.hs 283;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -4202,22 +4202,22 @@ makeDefaultCorpse src/Dodge/Corpse/Make.hs 16;" f
makeDoorDebris src/Dodge/Block/Debris.hs 24;" f
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 73;" f
makeFlak src/Dodge/Bullet.hs 143;" f
makeFlame src/Dodge/Flame.hs 45;" f
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 54;" f
makeFlamelet src/Dodge/EnergyBall.hs 21;" f
makeFlashBall src/Dodge/EnergyBall.hs 84;" f
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 56;" f
makeFlamelet src/Dodge/EnergyBall.hs 22;" f
makeFlashBall src/Dodge/EnergyBall.hs 85;" f
makeFragBullets src/Dodge/Bullet.hs 128;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMovingEB src/Dodge/EnergyBall.hs 75;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 664;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 23;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f
makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 65;" f
makeShaderEBO src/Shader/Compile.hs 53;" f
@@ -4226,7 +4226,7 @@ makeShaderUsingVAO src/Shader/Compile.hs 146;" f
makeShaderUsingVBO src/Shader/Compile.hs 69;" f
makeShaderVBO src/Shader/Compile.hs 32;" f
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeShrapnelAt src/Dodge/Payload.hs 25;" f
makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 45;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
@@ -4234,7 +4234,7 @@ makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
makeTermLine src/Dodge/Terminal.hs 120;" f
makeTermPara src/Dodge/Terminal.hs 123;" f
makeTeslaArc src/Dodge/Tesla.hs 29;" f
makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 38;" f
makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f
makeTileFromPoly src/Tile.hs 34;" f
makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f
@@ -4258,8 +4258,8 @@ maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 114;" f
mcKillBut src/Dodge/Machine/Destroy.hs 34;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
mcKillBut src/Dodge/Machine/Destroy.hs 35;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 27;" f
mcPlaySound src/Dodge/Machine/Update.hs 104;" f
mcProxTest src/Dodge/Machine/Update.hs 152;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
@@ -4342,7 +4342,7 @@ moveCombineSel src/Dodge/Update/Scroll.hs 114;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
movePenBullet src/Dodge/Bullet.hs 201;" f
moveProjectile src/Dodge/Projectile/Update.hs 250;" f
moveProjectile src/Dodge/Projectile/Update.hs 261;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 15;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 247;" f
@@ -5042,7 +5042,7 @@ shatterGunSPic src/Dodge/Item/Draw/SPic.hs 324;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 55;" f
shellHitCreature src/Dodge/Projectile/Update.hs 87;" f
shellHitFloor src/Dodge/Projectile/Update.hs 104;" f
shellHitFloor src/Dodge/Projectile/Update.hs 102;" f
shellHitWall src/Dodge/Projectile/Update.hs 66;" f
shellMag src/Dodge/Item/Ammo.hs 49;" f
shellModule src/Dodge/Item/Scope.hs 123;" f
@@ -5441,9 +5441,9 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
trySpin src/Dodge/Projectile/Update.hs 173;" f
trySpin src/Dodge/Projectile/Update.hs 172;" f
trySynthBullet src/Dodge/Creature/State.hs 249;" f
tryThrust src/Dodge/Projectile/Update.hs 179;" f
tryThrust src/Dodge/Projectile/Update.hs 178;" f
tryUseParent src/Dodge/Creature/State.hs 227;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
@@ -5508,7 +5508,7 @@ updateDistortions src/Dodge/Update.hs 587;" f
updateDoor src/Dodge/Update.hs 326;" f
updateDust src/Dodge/Update.hs 850;" f
updateDusts src/Dodge/Update.hs 701;" f
updateEnergyBall src/Dodge/EnergyBall.hs 35;" f
updateEnergyBall src/Dodge/EnergyBall.hs 36;" f
updateEnergyBalls src/Dodge/Update.hs 689;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
updateExpBarrel src/Dodge/Barreloid.hs 20;" f
@@ -5619,7 +5619,7 @@ useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 736;" f
useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
usePayload src/Dodge/Payload.hs 19;" f
useRewindGun src/Dodge/HeldUse.hs 1420;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f