Move Proj datatype

This commit is contained in:
2022-07-23 19:12:32 +01:00
parent 9d92cbfb9e
commit 248dec79e4
2 changed files with 34 additions and 31 deletions
+2 -26
View File
@@ -74,7 +74,9 @@ module Dodge.Data
, module Dodge.Data.RadarBlip , module Dodge.Data.RadarBlip
, module Dodge.Data.PathGraph , module Dodge.Data.PathGraph
, module Dodge.Data.Gust , module Dodge.Data.Gust
, module Dodge.Data.Projectile
) where ) where
import Dodge.Data.Projectile
import Dodge.Data.Gust import Dodge.Data.Gust
import Dodge.Data.CrGroupParams import Dodge.Data.CrGroupParams
import Dodge.Data.Corpse import Dodge.Data.Corpse
@@ -440,31 +442,6 @@ data Modification
, _mdExternalID2 :: Int , _mdExternalID2 :: Int
, _mdUpdate :: Modification -> World -> World , _mdUpdate :: Modification -> World -> World
} }
data Proj
= RemoteShell
{ _prjPos :: Point2
, _prjStartPos :: Point2
, _prjVel :: Point2
, _prjDraw :: ProjectileDraw
, _prjID :: Int
, _prjPayload :: Payload
, _prjMITID :: Maybe Int
}
| Shell
{ _prjPos :: Point2
, _prjStartPos :: Point2
, _prjVel :: Point2
, _prjAcc :: Point2
, _prjDir :: Float
, _prjSpin :: Float
, _prjDraw :: ProjectileDraw
, _prjID :: Int
, _prjPayload :: Payload
, _prjTimer :: Int
, _prjZ :: Float
, _prjUpdates :: [ProjectileUpdate]
, _prjMITID :: Maybe Int
}
data Prop data Prop
= PropZ = PropZ
{ _prPos :: Point2 { _prPos :: Point2
@@ -723,7 +700,6 @@ data InPlacement = InPlacement
makeLenses ''World makeLenses ''World
makeLenses ''FloorItem makeLenses ''FloorItem
makeLenses ''Prop makeLenses ''Prop
makeLenses ''Proj
makeLenses ''Modification makeLenses ''Modification
makeLenses ''Particle makeLenses ''Particle
makeLenses ''PressPlate makeLenses ''PressPlate
+32 -5
View File
@@ -1,8 +1,35 @@
--{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
--{-# LANGUAGE StrictData #-} {-# LANGUAGE StrictData #-}
module Dodge.Data.Projectile where module Dodge.Data.Projectile where
--import Dodge.Data.Ammo import Dodge.Data.Payload
--import Geometry.Data import Dodge.Data.Ammo
--import Control.Lens import Geometry.Data
import Control.Lens
data ProjectileType = ShellType data ProjectileType = ShellType
data Proj
= RemoteShell
{ _prjPos :: Point2
, _prjStartPos :: Point2
, _prjVel :: Point2
, _prjDraw :: ProjectileDraw
, _prjID :: Int
, _prjPayload :: Payload
, _prjMITID :: Maybe Int
}
| Shell
{ _prjPos :: Point2
, _prjStartPos :: Point2
, _prjVel :: Point2
, _prjAcc :: Point2
, _prjDir :: Float
, _prjSpin :: Float
, _prjDraw :: ProjectileDraw
, _prjID :: Int
, _prjPayload :: Payload
, _prjTimer :: Int
, _prjZ :: Float
, _prjUpdates :: [ProjectileUpdate]
, _prjMITID :: Maybe Int
}
makeLenses ''Proj