Add Binary instances

This commit is contained in:
2022-08-21 10:58:19 +01:00
parent 386a2b4732
commit 1ce7d4a72d
95 changed files with 345 additions and 3 deletions
+2
View File
@@ -5,6 +5,7 @@
module Dodge.Data.Creature.Memory where
import Data.Binary
import Flat
import LinearHelp ()
import Control.Lens
@@ -17,6 +18,7 @@ data Memory = Memory
, _nodesSearched :: [Int]
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Memory
makeLenses ''Memory
deriveJSON defaultOptions ''Memory
+7
View File
@@ -8,6 +8,7 @@ module Dodge.Data.Creature.Misc (
module Dodge.Data.CamouflageStatus,
) where
import Data.Binary
import Flat
import Color
import Control.Lens
@@ -24,6 +25,7 @@ data CreatureStatistics = CreatureStatistics
, _intelligence :: Int
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CreatureStatistics
data Vocalization
= Mute
@@ -34,6 +36,7 @@ data Vocalization
, _vcCoolDown :: Int
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Vocalization
data CrMvType
= NoMvType
@@ -45,6 +48,7 @@ data CrMvType
, _mvAimSpeed :: FloatFloat
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CrMvType
data HumanoidAI
= YourAI
@@ -61,6 +65,7 @@ data HumanoidAI
| LongAI
| MultGunAI
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary HumanoidAI
data CreatureType
= Humanoid
@@ -73,9 +78,11 @@ data CreatureType
| Lampoid {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
| NonDrawnCreature
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CreatureType
data BarrelType = PlainBarrel | ExplosiveBarrel
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary BarrelType
makeLenses ''CreatureStatistics
makeLenses ''Vocalization
+7
View File
@@ -23,6 +23,7 @@ module Dodge.Data.Creature.Perception (
auDist,
) where
import Data.Binary
import Flat
import Control.Lens
import Data.Aeson
@@ -38,17 +39,20 @@ data Perception = Perception
, _cpAudition :: Audition
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Perception
data Vision = Eyes
{ _viFOV :: FloatFloat
, _viDist :: FloatFloat
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Vision
newtype Audition = Ears
{ _auDist :: FloatFloat
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Audition
data Vigilance
= Comatose
@@ -57,16 +61,19 @@ data Vigilance
| Vigilant
| Overstrung
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Vigilance
data Attention
= AttentiveTo {_getAttentiveTo :: IM.IntMap Awareness}
| Fixated {_getFixated :: Int}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Attention
data Awareness
= Suspicious Float
| Cognizant Float
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Awareness
makeLenses ''Perception
makeLenses ''Vision
+5
View File
@@ -5,6 +5,7 @@
module Dodge.Data.Creature.Stance where
import Data.Binary
import Flat
import LinearHelp ()
import Control.Lens
@@ -18,6 +19,7 @@ data Stance = Stance
, _strideLength :: Int
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Stance
data Carriage
= Walking
@@ -29,6 +31,7 @@ data Carriage
| Flying
| Boosting Point2
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Carriage
data FootForward
= LeftForward
@@ -36,11 +39,13 @@ data FootForward
| WasLeftForward
| WasRightForward
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary FootForward
data Posture
= Aiming
| AtEase
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Posture
makeLenses ''Stance
makeLenses ''Carriage
+6
View File
@@ -5,6 +5,7 @@
module Dodge.Data.Creature.State where
import Data.Binary
import Flat
import Color
import Control.Lens
@@ -20,17 +21,20 @@ data CreatureState = CrSt
, _csDropsOnDeath :: CreatureDropType
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CreatureState
data CreatureDropType
= DropAll
| DropAmount Int
| DropSpecific [Int]
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CreatureDropType
data CrSpState
= Barrel {_piercedPoints :: [Point2]}
| GenCr
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CrSpState
data Faction
= GenericFaction Int
@@ -42,6 +46,7 @@ data Faction
| ColorFaction Color
| PlayerFaction
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary Faction
data CrGroup
= LoneWolf
@@ -52,6 +57,7 @@ data CrGroup
| CrGroupID {_crGroupID :: Int}
| ShieldGroup
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CrGroup
makeLenses ''CreatureState
makeLenses ''CrSpState