rattletrap-4.0.0: library/Rattletrap/Encode/Attribute.hs
module Rattletrap.Encode.Attribute
( putAttributes
, putAttribute
) where
import Rattletrap.Encode.AttributeValue
import Rattletrap.Encode.CompressedWord
import Rattletrap.Type.Attribute
import qualified Data.Binary.Bits.Put as BinaryBits
putAttributes :: [Attribute] -> BinaryBits.BitPut ()
putAttributes attributes = do
mapM_ putAttribute attributes
BinaryBits.putBool False
putAttribute :: Attribute -> BinaryBits.BitPut ()
putAttribute attribute = do
BinaryBits.putBool True
putCompressedWord (attributeId attribute)
putAttributeValue (attributeValue attribute)