octane-0.14.0: Parse Rocket League replays.

Safe HaskellNone
LanguageHaskell2010

Octane.Type.Vector

Synopsis

Documentation

data Vector a Source #

Three values packed together. Although the fields are called x, y, and z, that may not be what they actually represent.

This cannot be an instance of BinaryBit because it is not always serialized the same way. Sometimes it is three values run together, but other times it has a flag for the presence of each value.

Constructors

Vector 

Fields

Instances

ModifyField "location" Initialization Initialization (Maybe (Vector Int)) (Maybe (Vector Int)) # 
ModifyField "rotation" Initialization Initialization (Maybe (Vector Int8)) (Maybe (Vector Int8)) # 
HasField "location" Initialization (Maybe (Vector Int)) # 

Methods

getField :: Proxy# Symbol "location" -> Initialization -> Maybe (Vector Int) #

HasField "rotation" Initialization (Maybe (Vector Int8)) # 

Methods

getField :: Proxy# Symbol "rotation" -> Initialization -> Maybe (Vector Int8) #

HasField "x" (Vector a0) a0 Source # 

Methods

getField :: Proxy# Symbol "x" -> Vector a0 -> a0 #

HasField "y" (Vector a0) a0 Source # 

Methods

getField :: Proxy# Symbol "y" -> Vector a0 -> a0 #

HasField "z" (Vector a0) a0 Source # 

Methods

getField :: Proxy# Symbol "z" -> Vector a0 -> a0 #

ModifyField "x" (Vector a0) (Vector a0) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "x" -> (a0 -> a0) -> Vector a0 -> Vector a0 #

setField :: Proxy# Symbol "x" -> Vector a0 -> a0 -> Vector a0 #

fieldLens :: Functor f => Proxy# Symbol "x" -> (a0 -> f a0) -> Vector a0 -> f (Vector a0) #

ModifyField "y" (Vector a0) (Vector a0) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "y" -> (a0 -> a0) -> Vector a0 -> Vector a0 #

setField :: Proxy# Symbol "y" -> Vector a0 -> a0 -> Vector a0 #

fieldLens :: Functor f => Proxy# Symbol "y" -> (a0 -> f a0) -> Vector a0 -> f (Vector a0) #

ModifyField "z" (Vector a0) (Vector a0) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "z" -> (a0 -> a0) -> Vector a0 -> Vector a0 #

setField :: Proxy# Symbol "z" -> Vector a0 -> a0 -> Vector a0 #

fieldLens :: Functor f => Proxy# Symbol "z" -> (a0 -> f a0) -> Vector a0 -> f (Vector a0) #

ModifyRec "x" a0 cs0 => HasField "x" (Rec cs0 (Vector a0)) a0 Source # 

Methods

getField :: Proxy# Symbol "x" -> Rec cs0 (Vector a0) -> a0 #

ModifyRec "y" a0 cs0 => HasField "y" (Rec cs0 (Vector a0)) a0 Source # 

Methods

getField :: Proxy# Symbol "y" -> Rec cs0 (Vector a0) -> a0 #

ModifyRec "z" a0 cs0 => HasField "z" (Rec cs0 (Vector a0)) a0 Source # 

Methods

getField :: Proxy# Symbol "z" -> Rec cs0 (Vector a0) -> a0 #

ModifyRec "location" (Maybe (Vector Int)) cs0 => HasField "location" (Rec cs0 Initialization) (Maybe (Vector Int)) # 

Methods

getField :: Proxy# Symbol "location" -> Rec cs0 Initialization -> Maybe (Vector Int) #

ModifyRec "rotation" (Maybe (Vector Int8)) cs0 => HasField "rotation" (Rec cs0 Initialization) (Maybe (Vector Int8)) # 

Methods

getField :: Proxy# Symbol "rotation" -> Rec cs0 Initialization -> Maybe (Vector Int8) #

ModifyRec "x" a0 cs0 => ModifyField "x" (Rec cs0 (Vector a0)) (Rec cs0 (Vector a0)) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "x" -> (a0 -> a0) -> Rec cs0 (Vector a0) -> Rec cs0 (Vector a0) #

setField :: Proxy# Symbol "x" -> Rec cs0 (Vector a0) -> a0 -> Rec cs0 (Vector a0) #

fieldLens :: Functor f => Proxy# Symbol "x" -> (a0 -> f a0) -> Rec cs0 (Vector a0) -> f (Rec cs0 (Vector a0)) #

ModifyRec "y" a0 cs0 => ModifyField "y" (Rec cs0 (Vector a0)) (Rec cs0 (Vector a0)) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "y" -> (a0 -> a0) -> Rec cs0 (Vector a0) -> Rec cs0 (Vector a0) #

setField :: Proxy# Symbol "y" -> Rec cs0 (Vector a0) -> a0 -> Rec cs0 (Vector a0) #

fieldLens :: Functor f => Proxy# Symbol "y" -> (a0 -> f a0) -> Rec cs0 (Vector a0) -> f (Rec cs0 (Vector a0)) #

ModifyRec "z" a0 cs0 => ModifyField "z" (Rec cs0 (Vector a0)) (Rec cs0 (Vector a0)) a0 a0 Source # 

Methods

modifyField :: Proxy# Symbol "z" -> (a0 -> a0) -> Rec cs0 (Vector a0) -> Rec cs0 (Vector a0) #

setField :: Proxy# Symbol "z" -> Rec cs0 (Vector a0) -> a0 -> Rec cs0 (Vector a0) #

fieldLens :: Functor f => Proxy# Symbol "z" -> (a0 -> f a0) -> Rec cs0 (Vector a0) -> f (Rec cs0 (Vector a0)) #

ModifyRec "location" (Maybe (Vector Int)) cs0 => ModifyField "location" (Rec cs0 Initialization) (Rec cs0 Initialization) (Maybe (Vector Int)) (Maybe (Vector Int)) # 

Methods

modifyField :: Proxy# Symbol "location" -> (Maybe (Vector Int) -> Maybe (Vector Int)) -> Rec cs0 Initialization -> Rec cs0 Initialization #

setField :: Proxy# Symbol "location" -> Rec cs0 Initialization -> Maybe (Vector Int) -> Rec cs0 Initialization #

fieldLens :: Functor f => Proxy# Symbol "location" -> (Maybe (Vector Int) -> f (Maybe (Vector Int))) -> Rec cs0 Initialization -> f (Rec cs0 Initialization) #

ModifyRec "rotation" (Maybe (Vector Int8)) cs0 => ModifyField "rotation" (Rec cs0 Initialization) (Rec cs0 Initialization) (Maybe (Vector Int8)) (Maybe (Vector Int8)) # 

Methods

modifyField :: Proxy# Symbol "rotation" -> (Maybe (Vector Int8) -> Maybe (Vector Int8)) -> Rec cs0 Initialization -> Rec cs0 Initialization #

setField :: Proxy# Symbol "rotation" -> Rec cs0 Initialization -> Maybe (Vector Int8) -> Rec cs0 Initialization #

fieldLens :: Functor f => Proxy# Symbol "rotation" -> (Maybe (Vector Int8) -> f (Maybe (Vector Int8))) -> Rec cs0 Initialization -> f (Rec cs0 Initialization) #

Eq a => Eq (Vector a) Source # 

Methods

(==) :: Vector a -> Vector a -> Bool #

(/=) :: Vector a -> Vector a -> Bool #

Show a => Show (Vector a) Source # 

Methods

showsPrec :: Int -> Vector a -> ShowS #

show :: Vector a -> String #

showList :: [Vector a] -> ShowS #

Generic (Vector a) Source # 

Associated Types

type Rep (Vector a) :: * -> * #

Methods

from :: Vector a -> Rep (Vector a) x #

to :: Rep (Vector a) x -> Vector a #

ToJSON a => ToJSON (Vector a) Source #

Encoded as a JSON array with 3 elements.

Aeson.encode (Vector 1 2 3 :: Vector Int) "[1,2,3]"

NFData a => NFData (Vector a) Source # 

Methods

rnf :: Vector a -> () #

type UpdateType "location" Initialization (Maybe (Vector Int)) # 
type UpdateType "rotation" Initialization (Maybe (Vector Int8)) # 
type FieldType "x" (Vector a0) Source # 
type FieldType "x" (Vector a0) = a0
type FieldType "y" (Vector a0) Source # 
type FieldType "y" (Vector a0) = a0
type FieldType "z" (Vector a0) Source # 
type FieldType "z" (Vector a0) = a0
type UpdateType "x" (Vector a0) a0 Source # 
type UpdateType "x" (Vector a0) a0 = Vector a0
type UpdateType "y" (Vector a0) a0 Source # 
type UpdateType "y" (Vector a0) a0 = Vector a0
type UpdateType "z" (Vector a0) a0 Source # 
type UpdateType "z" (Vector a0) a0 = Vector a0
type Rep (Vector a) Source # 
type Rep (Vector a) = D1 (MetaData "Vector" "Octane.Type.Vector" "octane-0.14.0-IznL7Q8DYDX3jshGLPoKHr" False) (C1 (MetaCons "Vector" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "vectorX") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 a)) ((:*:) (S1 (MetaSel (Just Symbol "vectorY") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 a)) (S1 (MetaSel (Just Symbol "vectorZ") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 a)))))

getInt8Vector :: BitGet (Vector Int8) Source #

Gets a Vector full of Int8s.

putInt8Vector :: Vector Int8 -> BitPut () Source #

Puts a Vector full of Int8s.

putIntVector :: Vector Int -> BitPut () Source #

Puts a Vector full of Ints.