octane-0.16.1: Parse Rocket League replays.

Safe HaskellNone
LanguageHaskell2010

Octane.Type.CompressedWord

Synopsis

Documentation

data CompressedWord Source #

A compressed, unsigned integer. When serialized, the least significant bit is first. Bits are serialized until the next bit would be greater than the limit, or the number of bits necessary to reach the limit has been reached, whichever comes first.

Instances

Eq CompressedWord Source # 
Show CompressedWord Source # 
Generic CompressedWord Source # 

Associated Types

type Rep CompressedWord :: * -> * #

NFData CompressedWord Source # 

Methods

rnf :: CompressedWord -> () #

ToJSON CompressedWord Source #

Encoded as an object.

Methods

toJSON :: CompressedWord -> Value

toEncoding :: CompressedWord -> Encoding

toJSONList :: [CompressedWord] -> Value

toEncodingList :: [CompressedWord] -> Encoding

BinaryBit CompressedWord Source #

Abuses the first argument to getBits as the maximum value.

Methods

putBits :: Int -> CompressedWord -> BitPut ()

getBits :: Int -> BitGet CompressedWord

HasField "actorId" Replication CompressedWord 

Methods

getField :: Proxy# Symbol "actorId" -> Replication -> CompressedWord

HasField "limit" CompressedWord Word Source # 

Methods

getField :: Proxy# Symbol "limit" -> CompressedWord -> Word

HasField "number" ReservationValue CompressedWord 
HasField "value" CompressedWord Word Source # 

Methods

getField :: Proxy# Symbol "value" -> CompressedWord -> Word

ModifyField "actorId" Replication Replication CompressedWord CompressedWord 
ModifyField "limit" CompressedWord CompressedWord Word Word Source # 
ModifyField "number" ReservationValue ReservationValue CompressedWord CompressedWord 
ModifyField "value" CompressedWord CompressedWord Word Word Source # 
ModifyField "unpack" LoadoutOnlineValue LoadoutOnlineValue [[(Word32, CompressedWord)]] [[(Word32, CompressedWord)]] 
HasField "unpack" LoadoutOnlineValue [[(Word32, CompressedWord)]] 
ModifyRec "actorId" CompressedWord cs0 => HasField "actorId" (Rec cs0 Replication) CompressedWord 

Methods

getField :: Proxy# Symbol "actorId" -> Rec cs0 Replication -> CompressedWord

ModifyRec "limit" Word cs0 => HasField "limit" (Rec cs0 CompressedWord) Word Source # 

Methods

getField :: Proxy# Symbol "limit" -> Rec cs0 CompressedWord -> Word

ModifyRec "number" CompressedWord cs0 => HasField "number" (Rec cs0 ReservationValue) CompressedWord 

Methods

getField :: Proxy# Symbol "number" -> Rec cs0 ReservationValue -> CompressedWord

ModifyRec "value" Word cs0 => HasField "value" (Rec cs0 CompressedWord) Word Source # 

Methods

getField :: Proxy# Symbol "value" -> Rec cs0 CompressedWord -> Word

ModifyRec "unpack" [[(Word32, CompressedWord)]] cs0 => HasField "unpack" (Rec cs0 LoadoutOnlineValue) [[(Word32, CompressedWord)]] 

Methods

getField :: Proxy# Symbol "unpack" -> Rec cs0 LoadoutOnlineValue -> [[(Word32, CompressedWord)]]

ModifyRec "actorId" CompressedWord cs0 => ModifyField "actorId" (Rec cs0 Replication) (Rec cs0 Replication) CompressedWord CompressedWord 

Methods

modifyField :: Proxy# Symbol "actorId" -> (CompressedWord -> CompressedWord) -> Rec cs0 Replication -> Rec cs0 Replication

setField :: Proxy# Symbol "actorId" -> Rec cs0 Replication -> CompressedWord -> Rec cs0 Replication

fieldLens :: Functor f => Proxy# Symbol "actorId" -> (CompressedWord -> f CompressedWord) -> Rec cs0 Replication -> f (Rec cs0 Replication)

ModifyRec "limit" Word cs0 => ModifyField "limit" (Rec cs0 CompressedWord) (Rec cs0 CompressedWord) Word Word Source # 

Methods

modifyField :: Proxy# Symbol "limit" -> (Word -> Word) -> Rec cs0 CompressedWord -> Rec cs0 CompressedWord

setField :: Proxy# Symbol "limit" -> Rec cs0 CompressedWord -> Word -> Rec cs0 CompressedWord

fieldLens :: Functor f => Proxy# Symbol "limit" -> (Word -> f Word) -> Rec cs0 CompressedWord -> f (Rec cs0 CompressedWord)

ModifyRec "number" CompressedWord cs0 => ModifyField "number" (Rec cs0 ReservationValue) (Rec cs0 ReservationValue) CompressedWord CompressedWord 
ModifyRec "value" Word cs0 => ModifyField "value" (Rec cs0 CompressedWord) (Rec cs0 CompressedWord) Word Word Source # 

Methods

modifyField :: Proxy# Symbol "value" -> (Word -> Word) -> Rec cs0 CompressedWord -> Rec cs0 CompressedWord

setField :: Proxy# Symbol "value" -> Rec cs0 CompressedWord -> Word -> Rec cs0 CompressedWord

fieldLens :: Functor f => Proxy# Symbol "value" -> (Word -> f Word) -> Rec cs0 CompressedWord -> f (Rec cs0 CompressedWord)

ModifyRec "unpack" [[(Word32, CompressedWord)]] cs0 => ModifyField "unpack" (Rec cs0 LoadoutOnlineValue) (Rec cs0 LoadoutOnlineValue) [[(Word32, CompressedWord)]] [[(Word32, CompressedWord)]] 

Methods

modifyField :: Proxy# Symbol "unpack" -> ([[(Word32, CompressedWord)]] -> [[(Word32, CompressedWord)]]) -> Rec cs0 LoadoutOnlineValue -> Rec cs0 LoadoutOnlineValue

setField :: Proxy# Symbol "unpack" -> Rec cs0 LoadoutOnlineValue -> [[(Word32, CompressedWord)]] -> Rec cs0 LoadoutOnlineValue

fieldLens :: Functor f => Proxy# Symbol "unpack" -> ([[(Word32, CompressedWord)]] -> f [[(Word32, CompressedWord)]]) -> Rec cs0 LoadoutOnlineValue -> f (Rec cs0 LoadoutOnlineValue)

type Rep CompressedWord Source # 
type Rep CompressedWord = D1 (MetaData "CompressedWord" "Octane.Type.CompressedWord" "octane-0.16.1-GutvkXgevkCABZiWZysr0h" False) (C1 (MetaCons "CompressedWord" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "compressedWordLimit") NoSourceUnpackedness NoSourceStrictness DecidedUnpack) (Rec0 Word)) (S1 (MetaSel (Just Symbol "compressedWordValue") NoSourceUnpackedness NoSourceStrictness DecidedUnpack) (Rec0 Word))))
type FieldType "limit" CompressedWord Source # 
type FieldType "limit" CompressedWord = Word
type FieldType "value" CompressedWord Source # 
type FieldType "value" CompressedWord = Word
type UpdateType "actorId" Replication CompressedWord 
type UpdateType "actorId" Replication CompressedWord = Replication
type UpdateType "limit" CompressedWord Word Source # 
type UpdateType "limit" CompressedWord Word = CompressedWord
type UpdateType "number" ReservationValue CompressedWord 
type UpdateType "value" CompressedWord Word Source # 
type UpdateType "value" CompressedWord Word = CompressedWord
type UpdateType "unpack" LoadoutOnlineValue [[(Word32, CompressedWord)]] 

fromCompressedWord :: Integral a => CompressedWord -> a Source #

Converts a CompressedWord into any integral value. This is a lossy conversion because it discards the compressed word's maximum value.