octane-0.16.0: 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 :: * -> * #

ToJSON CompressedWord Source #

Encoded as an object.

BinaryBit CompressedWord Source #

Abuses the first argument to getBits as the maximum value.

NFData CompressedWord Source # 

Methods

rnf :: 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 # 
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 # 
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)]] # 
type Rep CompressedWord Source # 
type Rep CompressedWord = D1 (MetaData "CompressedWord" "Octane.Type.CompressedWord" "octane-0.16.0-8BIJ4bXbBDKEzLgGTEoU4w" False) (C1 (MetaCons "CompressedWord" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "compressedWordLimit") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Word)) (S1 (MetaSel (Just Symbol "compressedWordValue") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Word))))
type FieldType "limit" CompressedWord Source # 
type FieldType "value" CompressedWord Source # 
type UpdateType "actorId" Replication CompressedWord # 
type UpdateType "limit" CompressedWord Word Source # 
type UpdateType "number" ReservationValue CompressedWord # 
type UpdateType "value" CompressedWord Word Source # 
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.