Work on gibs and chasms

This commit is contained in:
2025-08-01 09:39:13 +01:00
parent 7110ddb7a6
commit eeb7c8ac88
22 changed files with 586 additions and 373 deletions
+1
View File
@@ -104,6 +104,7 @@ data LWorld = LWorld
, _dusts :: [Dust]
, _gusts :: IM.IntMap Gust
, _props :: IM.IntMap Prop
, _debris :: [Debris]
, _projectiles :: IM.IntMap Projectile
, _bullets :: [Bullet]
, _radarSweeps :: [RadarSweep]
+20 -1
View File
@@ -5,6 +5,7 @@
module Dodge.Data.Prop where
import Dodge.Data.Material
import Color
import Control.Lens
import Data.Aeson
@@ -25,7 +26,6 @@ data Prop
, _prID :: Int
, _prPosZ :: Float
, _prVelZ :: Float
, _prTimer :: Int
, _prQuat :: Q.Quaternion Float
, _prQuatSpin :: Q.Quaternion Float
, _prColor :: Color
@@ -40,6 +40,21 @@ data Prop
}
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data DebrisType =
Gib {_gibSize :: Float
,_gibColor :: Color
}
data Debris = DebrisChunk
{ _dbPos :: Point3
, _dbType :: DebrisType
, _dbVel :: Point3
, _dbRot :: Q.Quaternion Float
, _dbSpin :: Q.Quaternion Float
}
data PropType = FallingBlock Material
data PropDraw
= PropDrawSPic SPic
| PropDrawMovingShapeCol Shape
@@ -73,6 +88,10 @@ data PrWdLsLs
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Prop
makeLenses ''Debris
makeLenses ''DebrisType
deriveJSON defaultOptions ''DebrisType
deriveJSON defaultOptions ''Debris
deriveJSON defaultOptions ''PropDraw
deriveJSON defaultOptions ''PrWdLsLs
deriveJSON defaultOptions ''PropUpdate