Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- main :: IO ()
- rattletrap :: String -> [String] -> IO ()
- decodeReplayFile :: Bool -> ByteString -> Either String Replay
- encodeReplayJson :: Replay -> ByteString
- decodeReplayJson :: ByteString -> Either String Replay
- encodeReplayFile :: Bool -> Replay -> ByteString
- data AppliedDamageAttribute = AppliedDamageAttribute {}
- data Attribute = Attribute {}
- data AttributeMapping = AttributeMapping {}
- data AttributeType
- = AttributeTypeAppliedDamage
- | AttributeTypeBoolean
- | AttributeTypeByte
- | AttributeTypeCamSettings
- | AttributeTypeClubColors
- | AttributeTypeDamageState
- | AttributeTypeDemolish
- | AttributeTypeEnum
- | AttributeTypeExplosion
- | AttributeTypeExtendedExplosion
- | AttributeTypeFlaggedInt
- | AttributeTypeFloat
- | AttributeTypeGameMode
- | AttributeTypeInt
- | AttributeTypeInt64
- | AttributeTypeLoadout
- | AttributeTypeLoadoutOnline
- | AttributeTypeLoadouts
- | AttributeTypeLoadoutsOnline
- | AttributeTypeLocation
- | AttributeTypeMusicStinger
- | AttributeTypePartyLeader
- | AttributeTypePickup
- | AttributeTypePlayerHistoryKey
- | AttributeTypePrivateMatchSettings
- | AttributeTypeQWord
- | AttributeTypeReservation
- | AttributeTypeRigidBodyState
- | AttributeTypeStatEvent
- | AttributeTypeString
- | AttributeTypeTeamPaint
- | AttributeTypeTitle
- | AttributeTypeUniqueId
- | AttributeTypeWeldedInfo
- 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
- newtype Bitstream = Bitstream {
- bitstreamValue :: [Bool]
- newtype BooleanAttribute = BooleanAttribute {}
- newtype ByteAttribute = ByteAttribute {}
- data Cache = Cache {}
- data CamSettingsAttribute = CamSettingsAttribute {}
- data ClassAttributeMap = ClassAttributeMap {}
- data ClassMapping = ClassMapping {}
- data ClubColorsAttribute = ClubColorsAttribute {}
- data CompressedWord = CompressedWord {}
- data CompressedWordVector = CompressedWordVector {}
- 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
- contentUnknown :: [Word8]
- data DamageStateAttribute = DamageStateAttribute {}
- data DemolishAttribute = DemolishAttribute {}
- data DestroyedReplication = DestroyedReplication
- data Dictionary a
- = DictionaryElement Str a (Dictionary a)
- | DictionaryEnd Str
- newtype EnumAttribute = EnumAttribute {}
- data ExplosionAttribute = ExplosionAttribute {}
- data ExtendedExplosionAttribute = ExtendedExplosionAttribute {}
- data FlaggedIntAttribute = FlaggedIntAttribute {}
- newtype Float32le = Float32le {}
- newtype FloatAttribute = FloatAttribute {}
- data Frame = Frame {}
- data GameModeAttribute = GameModeAttribute {}
- data Header = Header {}
- data Initialization = Initialization {}
- newtype Int32le = Int32le {}
- newtype Int64Attribute = Int64Attribute {}
- newtype Int64le = Int64le {}
- newtype Int8le = Int8le {
- int8leValue :: Int8
- data Int8Vector = Int8Vector {}
- newtype IntAttribute = IntAttribute {}
- data KeyFrame = KeyFrame {}
- newtype List a = List {
- listValue :: [a]
- 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 LoadoutsAttribute = LoadoutsAttribute {}
- data LoadoutsOnlineAttribute = LoadoutsOnlineAttribute {}
- newtype LocationAttribute = LocationAttribute {}
- data Mark = Mark {}
- data Message = Message {}
- data MusicStingerAttribute = MusicStingerAttribute {}
- data PartyLeaderAttribute = PartyLeaderAttribute {}
- data PickupAttribute = PickupAttribute {}
- newtype PlayerHistoryKeyAttribute = PlayerHistoryKeyAttribute {}
- data PrivateMatchSettingsAttribute = PrivateMatchSettingsAttribute {}
- data ProductAttribute = ProductAttribute {
- productAttributeUnknown :: Bool
- productAttributeObjectId :: Word32le
- productAttributeObjectName :: Maybe Str
- productAttributeValue :: ProductAttributeValue
- data Property = Property {}
- data PropertyValue a
- data Quaternion = Quaternion {}
- newtype QWordAttribute = QWordAttribute {}
- data RemoteId
- data Replay = Replay {}
- data Replication = Replication {}
- data ReplicationValue
- data ReservationAttribute = ReservationAttribute {}
- data RigidBodyStateAttribute = RigidBodyStateAttribute {}
- data Rotation
- data Section a = Section {
- sectionSize :: Word32le
- sectionCrc :: Word32le
- sectionBody :: a
- data SpawnedReplication = SpawnedReplication {}
- data StatEventAttribute = StatEventAttribute {}
- newtype Str = Str {}
- newtype StringAttribute = StringAttribute {}
- data TeamPaintAttribute = TeamPaintAttribute {}
- data TitleAttribute = TitleAttribute {}
- data UniqueIdAttribute = UniqueIdAttribute {}
- newtype UpdatedReplication = UpdatedReplication {}
- data Vector = Vector {
- vectorSize :: CompressedWord
- vectorBias :: Word
- vectorX :: Int
- vectorY :: Int
- vectorZ :: Int
- data WeldedInfoAttribute = WeldedInfoAttribute {}
- newtype Word32le = Word32le {}
- newtype Word64le = Word64le {}
- newtype Word8le = Word8le {}
Documentation
decodeReplayFile :: Bool -> 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 :: Bool -> Replay -> ByteString Source #
Encodes a raw replay.
data AppliedDamageAttribute Source #
Instances
Attribute | |
|
data AttributeMapping Source #
Instances
data AttributeType Source #
Instances
data AttributeValue Source #
Instances
Bitstream | |
|
newtype BooleanAttribute Source #
Instances
newtype ByteAttribute Source #
Instances
data CamSettingsAttribute Source #
Instances
data ClassAttributeMap Source #
This data structure holds all the information about classes, objects, and
attributes in the replay. The class hierarchy is not fixed; it is encoded
in the Content
. Similarly, the attributes that belong
to each class are not fixed either. Converting the raw data into a usable
structure is tedious; see makeClassAttributeMap
.
ClassAttributeMap | |
|
Instances
Eq ClassAttributeMap Source # | |
Defined in Rattletrap.Type.ClassAttributeMap (==) :: ClassAttributeMap -> ClassAttributeMap -> Bool # (/=) :: ClassAttributeMap -> ClassAttributeMap -> Bool # | |
Ord ClassAttributeMap Source # | |
Defined in Rattletrap.Type.ClassAttributeMap compare :: ClassAttributeMap -> ClassAttributeMap -> Ordering # (<) :: ClassAttributeMap -> ClassAttributeMap -> Bool # (<=) :: ClassAttributeMap -> ClassAttributeMap -> Bool # (>) :: ClassAttributeMap -> ClassAttributeMap -> Bool # (>=) :: ClassAttributeMap -> ClassAttributeMap -> Bool # max :: ClassAttributeMap -> ClassAttributeMap -> ClassAttributeMap # min :: ClassAttributeMap -> ClassAttributeMap -> ClassAttributeMap # | |
Show ClassAttributeMap Source # | |
Defined in Rattletrap.Type.ClassAttributeMap showsPrec :: Int -> ClassAttributeMap -> ShowS # show :: ClassAttributeMap -> String # showList :: [ClassAttributeMap] -> ShowS # |
data ClassMapping Source #
Instances
data ClubColorsAttribute Source #
Instances
data CompressedWord Source #
Although there's no guarantee that these values will not overflow, it's
exceptionally unlikely. Most CompressedWord
s are very small.
Instances
data CompressedWordVector Source #
Instances
Contains low-level game data about a Replay
.
Content | |
|
data DamageStateAttribute Source #
Instances
data DemolishAttribute 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
data Dictionary a Source #
Instances
newtype EnumAttribute Source #
Instances
data ExplosionAttribute Source #
Instances
data ExtendedExplosionAttribute Source #
Instances
data FlaggedIntAttribute Source #
Instances
newtype FloatAttribute Source #
Instances
Frame | |
|
data GameModeAttribute Source #
Instances
Contains high-level metadata about a Replay
.
Header | |
|
data Initialization Source #
Initialization | |
|
Instances
newtype Int64Attribute Source #
Instances
data Int8Vector Source #
Instances
newtype IntAttribute Source #
Instances
KeyFrame | |
|
data LoadoutAttribute Source #
Instances
newtype LoadoutOnlineAttribute Source #
Instances
data LoadoutsAttribute Source #
Instances
data LoadoutsOnlineAttribute Source #
Instances
newtype LocationAttribute Source #
Instances
Message | |
|
data MusicStingerAttribute Source #
Instances
data PartyLeaderAttribute Source #
Instances
data PickupAttribute Source #
Instances
newtype PlayerHistoryKeyAttribute Source #
Instances
data PrivateMatchSettingsAttribute Source #
Instances
data ProductAttribute Source #
ProductAttribute | |
|
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
data Quaternion Source #
Quaternion | |
|
Instances
newtype QWordAttribute Source #
Instances
RemoteIdPlayStation Text [Word8] | |
RemoteIdPsyNet Bitstream | |
RemoteIdSplitscreen Word32 | |
RemoteIdSteam Word64le | |
RemoteIdSwitch Bitstream | |
RemoteIdXbox Word64le |
A Rocket League replay.
Replay | |
|
data Replication 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 ReservationAttribute Source #
Instances
data RigidBodyStateAttribute Source #
Instances
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 | |
|
data SpawnedReplication Source #
SpawnedReplication | |
|
Instances
data StatEventAttribute Source #
Instances
newtype StringAttribute Source #
Instances
data TeamPaintAttribute Source #
Instances
data TitleAttribute Source #
Instances
data UniqueIdAttribute Source #
Instances
newtype UpdatedReplication Source #
Instances
Vector | |
|
data WeldedInfoAttribute Source #