Split gasses and clouds

This commit is contained in:
2025-12-02 21:47:17 +00:00
parent 984a114310
commit b2cb8cfe11
11 changed files with 262 additions and 192 deletions
+9
View File
@@ -9,6 +9,9 @@ import Dodge.Zoning.Common
clsNearPoint :: Point2 -> World -> [Cloud]
clsNearPoint = nearPoint clZoneSize _clZoning
gassesNearPoint :: Point2 -> World -> [Gas]
gassesNearPoint = nearPoint clZoneSize _gasZoning
clsNearSeg :: Point2 -> Point2 -> World -> [Cloud]
clsNearSeg = nearSeg clZoneSize _clZoning
@@ -24,9 +27,15 @@ clZoneSize = 20
zoneOfCl :: Cloud -> Int2
zoneOfCl = zoneOfPoint clZoneSize . xyV3 . _clPos
zoneOfGas :: Gas -> Int2
zoneOfGas = zoneOfPoint clZoneSize . xyV3 . _gsPos
zoneCloud :: Cloud -> IM.IntMap (IM.IntMap [Cloud]) -> IM.IntMap (IM.IntMap [Cloud])
zoneCloud cl = zoneMonoid (zoneOfCl cl) [cl]
zoneGas :: Gas -> IM.IntMap (IM.IntMap [Gas]) -> IM.IntMap (IM.IntMap [Gas])
zoneGas cl = zoneMonoid (zoneOfGas cl) [cl]
dssNearPoint :: Point2 -> World -> [Dust]
dssNearPoint = nearPoint dsZoneSize _dsZoning