Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- decodeReplayFile :: ByteString -> Either String Replay
- encodeReplayJson :: Replay -> ByteString
- decodeReplayJson :: ByteString -> Either String Replay
- encodeReplayFile :: Replay -> ByteString
- data Replay = Replay {}
- data Section a = Section {
- sectionSize :: Word32le
- sectionCrc :: Word32le
- sectionBody :: a
- data Header = Header {}
- newtype Word32le = Word32le {}
- newtype Str = Str {}
- data Dictionary a
- = DictionaryElement Str a (Dictionary a)
- | DictionaryEnd Str
- data Property = Property {}
- newtype Word64le = Word64le {}
- data PropertyValue a
- newtype List a = List {
- listValue :: [a]
- newtype Word8le = Word8le {}
- newtype Float32le = Float32le {}
- newtype Int32le = Int32le {}
- data Content = Content {
- contentLevels :: List Str
- contentKeyFrames :: List KeyFrame
- contentStreamSize :: Word32le
- contentFrames :: [Frame]
- contentMessages :: List Message
- contentMarks :: List Mark
- contentPackages :: List Str
- contentObjects :: List Str
- contentNames :: List Str
- contentClassMappings :: List ClassMapping
- contentCaches :: List Cache
- data KeyFrame = KeyFrame {}
- data Frame = Frame {}
- data Replication = Replication {}
- data CompressedWord = CompressedWord {}
- data ReplicationValue
- data SpawnedReplication = SpawnedReplication {}
- data Initialization = Initialization {}
- data Vector = Vector {
- vectorSize :: CompressedWord
- vectorBias :: Word
- vectorX :: Int
- vectorY :: Int
- vectorZ :: Int
- data Int8Vector = Int8Vector {}
- newtype Int8le = Int8le {
- int8leValue :: Int8
- newtype UpdatedReplication = UpdatedReplication {}
- data Attribute = Attribute {}
- data AttributeValue
- = AttributeValueAppliedDamage AppliedDamageAttribute
- | AttributeValueBoolean BooleanAttribute
- | AttributeValueByte ByteAttribute
- | AttributeValueCamSettings CamSettingsAttribute
- | AttributeValueClubColors ClubColorsAttribute
- | AttributeValueDamageState DamageStateAttribute
- | AttributeValueDemolish DemolishAttribute
- | AttributeValueEnum EnumAttribute
- | AttributeValueExplosion ExplosionAttribute
- | AttributeValueExtendedExplosion ExtendedExplosionAttribute
- | AttributeValueFlaggedInt FlaggedIntAttribute
- | AttributeValueFloat FloatAttribute
- | AttributeValueGameMode GameModeAttribute
- | AttributeValueInt IntAttribute
- | AttributeValueInt64 Int64Attribute
- | AttributeValueLoadout LoadoutAttribute
- | AttributeValueLoadoutOnline LoadoutOnlineAttribute
- | AttributeValueLoadouts LoadoutsAttribute
- | AttributeValueLoadoutsOnline LoadoutsOnlineAttribute
- | AttributeValueLocation LocationAttribute
- | AttributeValueMusicStinger MusicStingerAttribute
- | AttributeValuePartyLeader PartyLeaderAttribute
- | AttributeValuePickup PickupAttribute
- | AttributeValuePlayerHistoryKey PlayerHistoryKeyAttribute
- | AttributeValuePrivateMatchSettings PrivateMatchSettingsAttribute
- | AttributeValueQWord QWordAttribute
- | AttributeValueReservation ReservationAttribute
- | AttributeValueRigidBodyState RigidBodyStateAttribute
- | AttributeValueStatEvent StatEventAttribute
- | AttributeValueString StringAttribute
- | AttributeValueTeamPaint TeamPaintAttribute
- | AttributeValueTitle TitleAttribute
- | AttributeValueUniqueId UniqueIdAttribute
- | AttributeValueWeldedInfo WeldedInfoAttribute
- data AppliedDamageAttribute = AppliedDamageAttribute {}
- newtype BooleanAttribute = BooleanAttribute {}
- newtype ByteAttribute = ByteAttribute {}
- data CamSettingsAttribute = CamSettingsAttribute {}
- data ClubColorsAttribute = ClubColorsAttribute {}
- data DamageStateAttribute = DamageStateAttribute {}
- data DemolishAttribute = DemolishAttribute {}
- newtype EnumAttribute = EnumAttribute {}
- data ExplosionAttribute = ExplosionAttribute {}
- data ExtendedExplosionAttribute = ExtendedExplosionAttribute {}
- data FlaggedIntAttribute = FlaggedIntAttribute {}
- newtype FloatAttribute = FloatAttribute {}
- data GameModeAttribute = GameModeAttribute {}
- newtype IntAttribute = IntAttribute {}
- data LoadoutAttribute = LoadoutAttribute {
- loadoutAttributeVersion :: Word8le
- loadoutAttributeBody :: Word32le
- loadoutAttributeDecal :: Word32le
- loadoutAttributeWheels :: Word32le
- loadoutAttributeRocketTrail :: Word32le
- loadoutAttributeAntenna :: Word32le
- loadoutAttributeTopper :: Word32le
- loadoutAttributeUnknown1 :: Word32le
- loadoutAttributeUnknown2 :: Maybe Word32le
- loadoutAttributeEngineAudio :: Maybe Word32le
- loadoutAttributeTrail :: Maybe Word32le
- loadoutAttributeGoalExplosion :: Maybe Word32le
- loadoutAttributeBanner :: Maybe Word32le
- loadoutAttributeUnknown3 :: Maybe Word32le
- loadoutAttributeUnknown4 :: Maybe Word32le
- loadoutAttributeUnknown5 :: Maybe Word32le
- loadoutAttributeUnknown6 :: Maybe Word32le
- newtype LoadoutOnlineAttribute = LoadoutOnlineAttribute {}
- data ProductAttribute = ProductAttribute {}
- data LoadoutsAttribute = LoadoutsAttribute {}
- data LoadoutsOnlineAttribute = LoadoutsOnlineAttribute {}
- newtype LocationAttribute = LocationAttribute {}
- data MusicStingerAttribute = MusicStingerAttribute {}
- data PartyLeaderAttribute = PartyLeaderAttribute {}
- data RemoteId
- data PickupAttribute = PickupAttribute {}
- data PrivateMatchSettingsAttribute = PrivateMatchSettingsAttribute {}
- newtype QWordAttribute = QWordAttribute {}
- data ReservationAttribute = ReservationAttribute {}
- data UniqueIdAttribute = UniqueIdAttribute {}
- data RigidBodyStateAttribute = RigidBodyStateAttribute {}
- data CompressedWordVector = CompressedWordVector {}
- newtype StringAttribute = StringAttribute {}
- data TeamPaintAttribute = TeamPaintAttribute {}
- data WeldedInfoAttribute = WeldedInfoAttribute {}
- data DestroyedReplication = DestroyedReplication
- data Message = Message {}
- data Mark = Mark {}
- data ClassMapping = ClassMapping {}
- data Cache = Cache {}
- data AttributeMapping = AttributeMapping {}
Documentation
decodeReplayFile :: ByteString -> Either String Replay Source #
Parses a raw replay.
encodeReplayJson :: Replay -> ByteString Source #
Encodes a replay as JSON.
decodeReplayJson :: ByteString -> Either String Replay Source #
Parses a JSON replay.
encodeReplayFile :: Replay -> ByteString Source #
Encodes a raw replay.
A Rocket League replay.
Replay | |
|
A section is a large piece of a Replay
. It has a
32-bit size (in bytes), a 32-bit CRC (see Rattletrap.Utility.Crc), and then a
bunch of data (the body). This interface is provided so that you don't have
to think about the size and CRC.
Section | |
|
Contains high-level metadata about a Replay
.
Header | |
|
data Dictionary a Source #
Instances
Property | |
|
data PropertyValue a Source #
PropertyValueArray (List (Dictionary a)) | Yes, a list of dictionaries. No, it doesn't make sense. These usually only have one element. |
PropertyValueBool Word8le | |
PropertyValueByte Str (Maybe Str) | This is a strange name for essentially a key-value pair. |
PropertyValueFloat Float32le | |
PropertyValueInt Int32le | |
PropertyValueName Str | It's unclear how exactly this is different than a |
PropertyValueQWord Word64le | |
PropertyValueStr Str |
Instances
Contains low-level game data about a Replay
.
Content | |
|
KeyFrame | |
|
Frame | |
|
data Replication Source #
Instances
data CompressedWord Source #
Instances
data ReplicationValue Source #
ReplicationValueSpawned SpawnedReplication | Creates a new actor. |
ReplicationValueUpdated UpdatedReplication | Updates an existing actor. |
ReplicationValueDestroyed DestroyedReplication | Destroys an existing actor. |
Instances
data SpawnedReplication Source #
SpawnedReplication | |
|
Instances
data Initialization Source #
Initialization | |
|
Instances
Vector | |
|
data Int8Vector Source #
Instances
newtype UpdatedReplication Source #
Instances
Attribute | |
|
data AttributeValue Source #
Instances
data AppliedDamageAttribute Source #
Instances
newtype BooleanAttribute Source #
Instances
newtype ByteAttribute Source #
Instances
data CamSettingsAttribute Source #
Instances
data ClubColorsAttribute Source #
Instances
data DamageStateAttribute Source #
Instances
data DemolishAttribute Source #
Instances
newtype EnumAttribute Source #
Instances
data ExplosionAttribute Source #
Instances
data ExtendedExplosionAttribute Source #
Instances
data FlaggedIntAttribute Source #
Instances
newtype FloatAttribute Source #
Instances
data GameModeAttribute Source #
Instances
newtype IntAttribute Source #
Instances
data LoadoutAttribute Source #
Instances
newtype LoadoutOnlineAttribute Source #
Instances
data ProductAttribute Source #
Instances
data LoadoutsAttribute Source #
Instances
data LoadoutsOnlineAttribute Source #
Instances
newtype LocationAttribute Source #
Instances
data MusicStingerAttribute Source #
Instances
data PartyLeaderAttribute Source #
Instances
RemoteIdPlayStation Text [Word8] | |
RemoteIdPsyNet Bitstream | |
RemoteIdSplitscreen Word32 | |
RemoteIdSteam Word64le | |
RemoteIdSwitch Bitstream | |
RemoteIdXbox Word64le |
data PickupAttribute Source #
Instances
data PrivateMatchSettingsAttribute Source #
Instances
newtype QWordAttribute Source #
Instances
data ReservationAttribute Source #
Instances
data UniqueIdAttribute Source #
Instances
data RigidBodyStateAttribute Source #
Instances
data CompressedWordVector Source #
Instances
newtype StringAttribute Source #
Instances
data TeamPaintAttribute Source #
Instances
data WeldedInfoAttribute Source #
Instances
data DestroyedReplication Source #
Destroyed replications don't actually contain any extra information. All
you need to know is the actor's ID, which is given by the
Replication
.
Instances
Message | |
|
data ClassMapping Source #
Instances
data AttributeMapping Source #