Simplify flamelet balls

This commit is contained in:
2025-08-05 08:47:47 +01:00
parent 22dafda9bd
commit 298238d594
5 changed files with 33 additions and 53 deletions
+7 -7
View File
@@ -6,8 +6,8 @@ import Picture
drawEnergyBall :: EnergyBall -> Picture
drawEnergyBall eb = case _ebType eb of
FlameletBall x a -> drawFlamelet x a eb
IncendiaryBall -> drawFlamelet 5 0 eb
FlameletBall x -> drawFlamelet x eb
IncendiaryBall -> drawFlamelet 5 eb
ElectricalBall{} -> drawStaticBall eb
ExplosiveBall -> drawExplosiveBall eb
FlashBall -> mempty
@@ -34,8 +34,8 @@ drawStaticBall pt =
. translate3 (_ebPos pt)
$ circleSolidCol blue (withAlpha 0.5 white) 8
drawFlamelet :: Float -> Float -> EnergyBall -> Picture
drawFlamelet size rot pt =
drawFlamelet :: Float -> EnergyBall -> Picture
drawFlamelet size pt =
fold
[ setLayer BloomLayer pic
, setLayer BloomNoZWrite piu
@@ -58,7 +58,7 @@ drawFlamelet size rot pt =
(V4 2 0 0 1)
(V4 2 0 0 0)
)
. rotate (negate (rot - 0.1 * fromIntegral time))
. rotate (0.1 * fromIntegral time)
. scale s1 s1
. polygon
$ reverse (rectNSWE siz2 (- siz2) (- siz2) siz2)
@@ -75,7 +75,7 @@ drawFlamelet size rot pt =
(V4 2 1 0 0.5)
(V4 0 0 0 0)
)
. rotate (negate (rot + 0.2 * fromIntegral time))
. rotate (negate (0.2 * fromIntegral time))
. scale s2 s2
. polygon
. reverse
@@ -91,7 +91,7 @@ drawFlamelet size rot pt =
(V4 1 1 1 3)
(V4 1 0 0 1)
)
. rotate (negate (0.1 * fromIntegral time + rot))
. rotate (negate (0.1 * fromIntegral time))
. scale (0.5 * sc) (0.5 * sc)
$ polygon $ map toV2 [(- size, - size), (size, - size), (size, size), (- size, size)]
sc = (*) 2 $ log $ 1 + fromIntegral time / 20