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)