rattletrap-2.4.0: library/Rattletrap/Attribute/LoadoutsOnline.hs
module Rattletrap.Attribute.LoadoutsOnline where
import Rattletrap.Attribute.LoadoutOnline
import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit
data LoadoutsOnlineAttribute = LoadoutsOnlineAttribute
{ loadoutsOnlineAttributeBlue :: LoadoutOnlineAttribute
, loadoutsOnlineAttributeOrange :: LoadoutOnlineAttribute
, loadoutsOnlineAttributeUnknown1 :: Bool
, loadoutsOnlineAttributeUnknown2 :: Bool
} deriving (Eq, Ord, Show)
getLoadoutsOnlineAttribute :: (Int, Int) -> BinaryBit.BitGet LoadoutsOnlineAttribute
getLoadoutsOnlineAttribute version = do
blueLoadout <- getLoadoutOnlineAttribute version
orangeLoadout <- getLoadoutOnlineAttribute version
unknown1 <- BinaryBit.getBool
unknown2 <- BinaryBit.getBool
pure (LoadoutsOnlineAttribute blueLoadout orangeLoadout unknown1 unknown2)
putLoadoutsOnlineAttribute :: LoadoutsOnlineAttribute -> BinaryBit.BitPut ()
putLoadoutsOnlineAttribute loadoutsOnlineAttribute = do
putLoadoutOnlineAttribute
(loadoutsOnlineAttributeBlue loadoutsOnlineAttribute)
putLoadoutOnlineAttribute
(loadoutsOnlineAttributeOrange loadoutsOnlineAttribute)
BinaryBit.putBool (loadoutsOnlineAttributeUnknown1 loadoutsOnlineAttribute)
BinaryBit.putBool (loadoutsOnlineAttributeUnknown2 loadoutsOnlineAttribute)