octane-0.16.1: Parse Rocket League replays.

Safe HaskellNone
LanguageHaskell2010

Octane.Type.RawReplay

Synopsis

Documentation

data RawReplay Source #

A raw, unprocessed replay. Only enough parsing is done to make sure that the CRCs are valid.

See ReplayWithoutFrames.

Constructors

RawReplay 

Fields

Instances

Eq RawReplay Source # 
Show RawReplay Source # 
Generic RawReplay Source # 

Associated Types

type Rep RawReplay :: * -> * #

Binary RawReplay Source #

Decoding will fail if the CRCs don't match, but it is possible to encode invalid replays. That means decode (encode rawReplay) can fail.

NFData RawReplay Source # 

Methods

rnf :: RawReplay -> () #

HasField "content" RawReplay ByteString Source # 

Methods

getField :: Proxy# Symbol "content" -> RawReplay -> ByteString

HasField "contentCRC" RawReplay Word32 Source # 

Methods

getField :: Proxy# Symbol "contentCRC" -> RawReplay -> Word32

HasField "contentSize" RawReplay Word32 Source # 

Methods

getField :: Proxy# Symbol "contentSize" -> RawReplay -> Word32

HasField "footer" RawReplay ByteString Source # 

Methods

getField :: Proxy# Symbol "footer" -> RawReplay -> ByteString

HasField "header" RawReplay ByteString Source # 

Methods

getField :: Proxy# Symbol "header" -> RawReplay -> ByteString

HasField "headerCRC" RawReplay Word32 Source # 

Methods

getField :: Proxy# Symbol "headerCRC" -> RawReplay -> Word32

HasField "headerSize" RawReplay Word32 Source # 

Methods

getField :: Proxy# Symbol "headerSize" -> RawReplay -> Word32

ModifyField "content" RawReplay RawReplay ByteString ByteString Source # 
ModifyField "contentCRC" RawReplay RawReplay Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "contentCRC" -> (Word32 -> Word32) -> RawReplay -> RawReplay

setField :: Proxy# Symbol "contentCRC" -> RawReplay -> Word32 -> RawReplay

fieldLens :: Functor f => Proxy# Symbol "contentCRC" -> (Word32 -> f Word32) -> RawReplay -> f RawReplay

ModifyField "contentSize" RawReplay RawReplay Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "contentSize" -> (Word32 -> Word32) -> RawReplay -> RawReplay

setField :: Proxy# Symbol "contentSize" -> RawReplay -> Word32 -> RawReplay

fieldLens :: Functor f => Proxy# Symbol "contentSize" -> (Word32 -> f Word32) -> RawReplay -> f RawReplay

ModifyField "footer" RawReplay RawReplay ByteString ByteString Source # 
ModifyField "header" RawReplay RawReplay ByteString ByteString Source # 
ModifyField "headerCRC" RawReplay RawReplay Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "headerCRC" -> (Word32 -> Word32) -> RawReplay -> RawReplay

setField :: Proxy# Symbol "headerCRC" -> RawReplay -> Word32 -> RawReplay

fieldLens :: Functor f => Proxy# Symbol "headerCRC" -> (Word32 -> f Word32) -> RawReplay -> f RawReplay

ModifyField "headerSize" RawReplay RawReplay Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "headerSize" -> (Word32 -> Word32) -> RawReplay -> RawReplay

setField :: Proxy# Symbol "headerSize" -> RawReplay -> Word32 -> RawReplay

fieldLens :: Functor f => Proxy# Symbol "headerSize" -> (Word32 -> f Word32) -> RawReplay -> f RawReplay

ModifyRec "content" ByteString cs0 => HasField "content" (Rec cs0 RawReplay) ByteString Source # 

Methods

getField :: Proxy# Symbol "content" -> Rec cs0 RawReplay -> ByteString

ModifyRec "contentCRC" Word32 cs0 => HasField "contentCRC" (Rec cs0 RawReplay) Word32 Source # 

Methods

getField :: Proxy# Symbol "contentCRC" -> Rec cs0 RawReplay -> Word32

ModifyRec "contentSize" Word32 cs0 => HasField "contentSize" (Rec cs0 RawReplay) Word32 Source # 

Methods

getField :: Proxy# Symbol "contentSize" -> Rec cs0 RawReplay -> Word32

ModifyRec "footer" ByteString cs0 => HasField "footer" (Rec cs0 RawReplay) ByteString Source # 

Methods

getField :: Proxy# Symbol "footer" -> Rec cs0 RawReplay -> ByteString

ModifyRec "header" ByteString cs0 => HasField "header" (Rec cs0 RawReplay) ByteString Source # 

Methods

getField :: Proxy# Symbol "header" -> Rec cs0 RawReplay -> ByteString

ModifyRec "headerCRC" Word32 cs0 => HasField "headerCRC" (Rec cs0 RawReplay) Word32 Source # 

Methods

getField :: Proxy# Symbol "headerCRC" -> Rec cs0 RawReplay -> Word32

ModifyRec "headerSize" Word32 cs0 => HasField "headerSize" (Rec cs0 RawReplay) Word32 Source # 

Methods

getField :: Proxy# Symbol "headerSize" -> Rec cs0 RawReplay -> Word32

ModifyRec "content" ByteString cs0 => ModifyField "content" (Rec cs0 RawReplay) (Rec cs0 RawReplay) ByteString ByteString Source # 

Methods

modifyField :: Proxy# Symbol "content" -> (ByteString -> ByteString) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "content" -> Rec cs0 RawReplay -> ByteString -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "content" -> (ByteString -> f ByteString) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "contentCRC" Word32 cs0 => ModifyField "contentCRC" (Rec cs0 RawReplay) (Rec cs0 RawReplay) Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "contentCRC" -> (Word32 -> Word32) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "contentCRC" -> Rec cs0 RawReplay -> Word32 -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "contentCRC" -> (Word32 -> f Word32) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "contentSize" Word32 cs0 => ModifyField "contentSize" (Rec cs0 RawReplay) (Rec cs0 RawReplay) Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "contentSize" -> (Word32 -> Word32) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "contentSize" -> Rec cs0 RawReplay -> Word32 -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "contentSize" -> (Word32 -> f Word32) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "footer" ByteString cs0 => ModifyField "footer" (Rec cs0 RawReplay) (Rec cs0 RawReplay) ByteString ByteString Source # 

Methods

modifyField :: Proxy# Symbol "footer" -> (ByteString -> ByteString) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "footer" -> Rec cs0 RawReplay -> ByteString -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "footer" -> (ByteString -> f ByteString) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "header" ByteString cs0 => ModifyField "header" (Rec cs0 RawReplay) (Rec cs0 RawReplay) ByteString ByteString Source # 

Methods

modifyField :: Proxy# Symbol "header" -> (ByteString -> ByteString) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "header" -> Rec cs0 RawReplay -> ByteString -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "header" -> (ByteString -> f ByteString) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "headerCRC" Word32 cs0 => ModifyField "headerCRC" (Rec cs0 RawReplay) (Rec cs0 RawReplay) Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "headerCRC" -> (Word32 -> Word32) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "headerCRC" -> Rec cs0 RawReplay -> Word32 -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "headerCRC" -> (Word32 -> f Word32) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

ModifyRec "headerSize" Word32 cs0 => ModifyField "headerSize" (Rec cs0 RawReplay) (Rec cs0 RawReplay) Word32 Word32 Source # 

Methods

modifyField :: Proxy# Symbol "headerSize" -> (Word32 -> Word32) -> Rec cs0 RawReplay -> Rec cs0 RawReplay

setField :: Proxy# Symbol "headerSize" -> Rec cs0 RawReplay -> Word32 -> Rec cs0 RawReplay

fieldLens :: Functor f => Proxy# Symbol "headerSize" -> (Word32 -> f Word32) -> Rec cs0 RawReplay -> f (Rec cs0 RawReplay)

type Rep RawReplay Source # 
type FieldType "content" RawReplay Source # 
type FieldType "content" RawReplay = ByteString
type FieldType "contentCRC" RawReplay Source # 
type FieldType "contentCRC" RawReplay = Word32
type FieldType "contentSize" RawReplay Source # 
type FieldType "contentSize" RawReplay = Word32
type FieldType "footer" RawReplay Source # 
type FieldType "footer" RawReplay = ByteString
type FieldType "header" RawReplay Source # 
type FieldType "header" RawReplay = ByteString
type FieldType "headerCRC" RawReplay Source # 
type FieldType "headerCRC" RawReplay = Word32
type FieldType "headerSize" RawReplay Source # 
type FieldType "headerSize" RawReplay = Word32
type UpdateType "content" RawReplay ByteString Source # 
type UpdateType "content" RawReplay ByteString = RawReplay
type UpdateType "contentCRC" RawReplay Word32 Source # 
type UpdateType "contentCRC" RawReplay Word32 = RawReplay
type UpdateType "contentSize" RawReplay Word32 Source # 
type UpdateType "contentSize" RawReplay Word32 = RawReplay
type UpdateType "footer" RawReplay ByteString Source # 
type UpdateType "footer" RawReplay ByteString = RawReplay
type UpdateType "header" RawReplay ByteString Source # 
type UpdateType "header" RawReplay ByteString = RawReplay
type UpdateType "headerCRC" RawReplay Word32 Source # 
type UpdateType "headerCRC" RawReplay Word32 = RawReplay
type UpdateType "headerSize" RawReplay Word32 Source # 
type UpdateType "headerSize" RawReplay Word32 = RawReplay

newRawReplay Source #

Arguments

:: ByteString

The header.

-> ByteString

The content.

-> ByteString

The footer.

-> RawReplay 

Creates a new RawReplay. You should prefer this over directly using the constructor so that the sizes and CRCs are set correctly.