module Rattletrap.Decode.UniqueIdAttribute ( decodeUniqueIdAttributeBits ) where import Rattletrap.Decode.Common import Rattletrap.Decode.RemoteId import Rattletrap.Decode.Word8le import Rattletrap.Type.UniqueIdAttribute decodeUniqueIdAttributeBits :: (Int, Int, Int) -> DecodeBits UniqueIdAttribute decodeUniqueIdAttributeBits :: (Int, Int, Int) -> DecodeBits UniqueIdAttribute decodeUniqueIdAttributeBits (Int, Int, Int) version = do Word8le systemId <- DecodeBits Word8le decodeWord8leBits Word8le -> RemoteId -> Word8le -> UniqueIdAttribute UniqueIdAttribute Word8le systemId (RemoteId -> Word8le -> UniqueIdAttribute) -> BitGet RemoteId -> BitGet (Word8le -> UniqueIdAttribute) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> (Int, Int, Int) -> Word8le -> BitGet RemoteId decodeRemoteIdBits (Int, Int, Int) version Word8le systemId BitGet (Word8le -> UniqueIdAttribute) -> DecodeBits Word8le -> DecodeBits UniqueIdAttribute forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> DecodeBits Word8le decodeWord8leBits