Refactor, try to limit dependencies

This commit is contained in:
2022-07-28 00:59:56 +01:00
parent 8aa5c17ab9
commit 160560af5f
418 changed files with 15104 additions and 13342 deletions
+32 -26
View File
@@ -8,42 +8,48 @@ flash : short, abrupt changes in alpha
glow : continuous, potentially long, fading, slow changes in alpha
flicker : potentially long, moving, abrupt changes in alpha
-}
module Dodge.WorldEvent.Flash
( explosionFlashAt
, muzFlareAt
, flareCircleAt
) where
import Dodge.Data
module Dodge.WorldEvent.Flash (
explosionFlashAt,
muzFlareAt,
flareCircleAt,
) where
import Dodge.Data.World
import Dodge.LightSource
--import Dodge.Default
import Picture
import Geometry
import LensHelp
import Picture
import System.Random
muzFlareAt :: Color -> Point3 -> Float -> World -> World
muzFlareAt col tranv dir w = w & cWorld . flares .:~ MuzFlare
{ _flarePoly = map (rotateV dir)
[ V2 0 0
, V2 a (-b)
, V2 c d
]
, _flareColor = col
, _flareTran3 = tranv
, _flareTime = 2
}
muzFlareAt col tranv dir w =
w & cWorld . flares
.:~ MuzFlare
{ _flarePoly =
map
(rotateV dir)
[ V2 0 0
, V2 a (- b)
, V2 c d
]
, _flareColor = col
, _flareTran3 = tranv
, _flareTime = 2
}
where
(a:b:c:d:_) = randomRs (2,20) (_randGen w)
(a : b : c : d : _) = randomRs (2, 20) (_randGen w)
flareCircleAt :: Color -> Float -> Point3 -> World -> World
flareCircleAt col alphax tranv = cWorld . flares .:~ CircFlare
{ _flareTime = 2
, _flareColor = col
, _flareAlpha = alphax
, _flareTran3 = tranv
}
flareCircleAt col alphax tranv =
cWorld . flares
.:~ CircFlare
{ _flareTime = 2
, _flareColor = col
, _flareAlpha = alphax
, _flareTran3 = tranv
}
explosionFlashAt :: Point2 -> World -> World
explosionFlashAt p = cWorld . tempLightSources .:~ tlsTimeRadFunPos 20 150 (TLSFade 1 10) (addZ 20 p)