Refactor wall zoning, remove streaming
This commit is contained in:
@@ -7,6 +7,7 @@ module Dodge.Update.Camera
|
||||
, streamViewpoints
|
||||
, farWallDistDirection
|
||||
) where
|
||||
import Dodge.Zoning.Wall
|
||||
import Dodge.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Zone
|
||||
@@ -18,10 +19,8 @@ import Dodge.GameRoom
|
||||
import LensHelp
|
||||
import Bound
|
||||
|
||||
import Data.Foldable
|
||||
import qualified Data.Map.Strict as M
|
||||
--import qualified Data.List.NonEmpty as NEL
|
||||
--import Control.Applicative
|
||||
--import Data.Foldable
|
||||
import Data.Maybe
|
||||
import Control.Monad
|
||||
import qualified Data.Set as Set
|
||||
@@ -156,7 +155,7 @@ rotateToOverlappingWall :: World -> World
|
||||
rotateToOverlappingWall w = maybe
|
||||
id
|
||||
(doWallRotate . snd)
|
||||
(overlapCircWallsClosest p (_crRad cr + 5) (S.filter _wlRotateTo $ wlsNearPoint p w))
|
||||
(overlapCircWallsClosest p (_crRad cr + 5) (filter _wlRotateTo $ wlsNearPoint p w))
|
||||
w
|
||||
where
|
||||
cr = you w
|
||||
@@ -228,8 +227,8 @@ farWallDistDirection :: Point2 -> World -> Maybe (Float,Float,Float,Float)
|
||||
farWallDistDirection p w = boundPoints
|
||||
$ S.map f vps
|
||||
where
|
||||
f q = runIdentity (S.fold_ findPoint q (rotateV (negate $ _cameraRot w) . (-.- p)) (wls q))
|
||||
wls q = S.filter wlIsOpaque $ wlsNearSeg p q w
|
||||
f q = (rotateV (negate $ _cameraRot w) . (-.- p)) (foldl' findPoint q (wls q))
|
||||
wls q = filter wlIsOpaque $ wlsNearSeg p q w
|
||||
findPoint q = fromMaybe q . uncurry (intersectSegSeg p q) . _wlLine
|
||||
vps = streamViewpoints p w
|
||||
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
module Dodge.Update.Cloud where
|
||||
import Dodge.Zoning.Creature
|
||||
import Dodge.Data
|
||||
import Dodge.Zone
|
||||
import Geometry.Vector3D
|
||||
import LensHelp
|
||||
import StreamingHelp
|
||||
import qualified Streaming.Prelude as S
|
||||
import Data.Foldable
|
||||
cloudPoisonDamage :: Cloud -> World -> World
|
||||
cloudPoisonDamage c w = w & dodamagesto (filter f $ crsNearPoint clpos w)
|
||||
|
||||
Reference in New Issue
Block a user