rattletrap-9.3.2: src/lib/Rattletrap/Decode/LoadoutAttribute.hs
module Rattletrap.Decode.LoadoutAttribute
( decodeLoadoutAttributeBits
)
where
import Rattletrap.Decode.Common
import Rattletrap.Decode.Word32le
import Rattletrap.Decode.Word8le
import Rattletrap.Type.LoadoutAttribute
import Rattletrap.Type.Word8le
decodeLoadoutAttributeBits :: DecodeBits LoadoutAttribute
decodeLoadoutAttributeBits = do
version <- decodeWord8leBits
LoadoutAttribute version
<$> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWord32leBits
<*> decodeWhen (version >= Word8le 11) decodeWord32leBits
<*> decodeWhen (version >= Word8le 16) decodeWord32leBits
<*> decodeWhen (version >= Word8le 16) decodeWord32leBits
<*> decodeWhen (version >= Word8le 16) decodeWord32leBits
<*> decodeWhen (version >= Word8le 17) decodeWord32leBits
<*> decodeWhen (version >= Word8le 19) decodeWord32leBits
<*> decodeWhen (version >= Word8le 22) decodeWord32leBits
<*> decodeWhen (version >= Word8le 22) decodeWord32leBits
<*> decodeWhen (version >= Word8le 22) decodeWord32leBits