module Rattletrap.Attribute.ExtendedExplosion where import Rattletrap.Primitive import qualified Control.Monad as Monad import qualified Data.Binary.Bits.Get as BinaryBit import qualified Data.Binary.Bits.Put as BinaryBit newtype ExtendedExplosionAttribute = ExtendedExplosionAttribute { extendedExplosionAttributeUnknown :: [Word8] -- ^ Warning: This field should be considered experimental and could change -- at any time! } deriving (Eq, Ord, Show) getExtendedExplosionAttribute :: BinaryBit.BitGet ExtendedExplosionAttribute getExtendedExplosionAttribute = do unknown <- Monad.replicateM 14 getWord8Bits pure (ExtendedExplosionAttribute unknown) putExtendedExplosionAttribute :: ExtendedExplosionAttribute -> BinaryBit.BitPut () putExtendedExplosionAttribute extendedExplosionAttribute = do mapM_ putWord8Bits (extendedExplosionAttributeUnknown extendedExplosionAttribute)