module Rattletrap.Decode.UpdatedReplication ( decodeUpdatedReplicationBits ) where import Rattletrap.Decode.Attribute import Rattletrap.Decode.Common import Rattletrap.Type.ClassAttributeMap import Rattletrap.Type.CompressedWord import Rattletrap.Type.UpdatedReplication import Rattletrap.Type.Word32le import qualified Data.Map as Map decodeUpdatedReplicationBits :: (Int, Int, Int) -> ClassAttributeMap -> Map.Map CompressedWord Word32le -> CompressedWord -> DecodeBits UpdatedReplication decodeUpdatedReplicationBits :: (Int, Int, Int) -> ClassAttributeMap -> Map CompressedWord Word32le -> CompressedWord -> DecodeBits UpdatedReplication decodeUpdatedReplicationBits (Int, Int, Int) version ClassAttributeMap classes Map CompressedWord Word32le actors CompressedWord actor = [Attribute] -> UpdatedReplication UpdatedReplication ([Attribute] -> UpdatedReplication) -> BitGet [Attribute] -> DecodeBits UpdatedReplication forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> (Int, Int, Int) -> ClassAttributeMap -> Map CompressedWord Word32le -> CompressedWord -> BitGet [Attribute] decodeAttributesBits (Int, Int, Int) version ClassAttributeMap classes Map CompressedWord Word32le actors CompressedWord actor