rattletrap-2.2.0: source/library/Rattletrap/Attribute/DamageState.hs
module Rattletrap.Attribute.DamageState where
import Rattletrap.Primitive
import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit
data DamageStateAttribute = DamageStateAttribute
{ damageStateAttributeUnknown1 :: Word8
, damageStateAttributeUnknown2 :: Bool
, damageStateAttributeUnknown3 :: Int32
, damageStateAttributeUnknown4 :: Vector
, damageStateAttributeUnknown5 :: Bool
, damageStateAttributeUnknown6 :: Bool
} deriving (Eq, Ord, Show)
getDamageStateAttribute :: BinaryBit.BitGet DamageStateAttribute
getDamageStateAttribute = do
unknown1 <- getWord8Bits
unknown2 <- BinaryBit.getBool
unknown3 <- getInt32Bits
unknown4 <- getVector
unknown5 <- BinaryBit.getBool
unknown6 <- BinaryBit.getBool
pure
(DamageStateAttribute
unknown1
unknown2
unknown3
unknown4
unknown5
unknown6)
putDamageStateAttribute :: DamageStateAttribute -> BinaryBit.BitPut ()
putDamageStateAttribute damageStateAttribute = do
putWord8Bits (damageStateAttributeUnknown1 damageStateAttribute)
BinaryBit.putBool (damageStateAttributeUnknown2 damageStateAttribute)
putInt32Bits (damageStateAttributeUnknown3 damageStateAttribute)
putVector (damageStateAttributeUnknown4 damageStateAttribute)
BinaryBit.putBool (damageStateAttributeUnknown5 damageStateAttribute)
BinaryBit.putBool (damageStateAttributeUnknown6 damageStateAttribute)