octane 0.19.0 → 0.20.0
raw patch · 6 files changed
+61/−3 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Octane.Type.Value: ValueExtendedExplosion :: ExtendedExplosionValue -> Value
+ Octane.Type.Value.ExtendedExplosionValue: ExtendedExplosionValue :: Boolean -> Maybe Int32 -> Vector Int -> Boolean -> Int32 -> ExtendedExplosionValue
+ Octane.Type.Value.ExtendedExplosionValue: [extendedExplosionValueActorId] :: ExtendedExplosionValue -> Maybe Int32
+ Octane.Type.Value.ExtendedExplosionValue: [extendedExplosionValueActorless] :: ExtendedExplosionValue -> Boolean
+ Octane.Type.Value.ExtendedExplosionValue: [extendedExplosionValuePosition] :: ExtendedExplosionValue -> Vector Int
+ Octane.Type.Value.ExtendedExplosionValue: [extendedExplosionValueUnknown1] :: ExtendedExplosionValue -> Boolean
+ Octane.Type.Value.ExtendedExplosionValue: [extendedExplosionValueUnknown2] :: ExtendedExplosionValue -> Int32
+ Octane.Type.Value.ExtendedExplosionValue: data ExtendedExplosionValue
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.Aeson.Types.ToJSON.ToJSON Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.HasField "actorId" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue (GHC.Base.Maybe Octane.Type.Int32.Int32)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.HasField "actorless" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.HasField "position" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue (Octane.Type.Vector.Vector GHC.Types.Int)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.HasField "unknown1" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.HasField "unknown2" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Int32.Int32
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyField "actorId" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue (GHC.Base.Maybe Octane.Type.Int32.Int32) (GHC.Base.Maybe Octane.Type.Int32.Int32)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyField "actorless" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Boolean.Boolean Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyField "position" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue (Octane.Type.Vector.Vector GHC.Types.Int) (Octane.Type.Vector.Vector GHC.Types.Int)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyField "unknown1" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Boolean.Boolean Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyField "unknown2" Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue Octane.Type.Int32.Int32 Octane.Type.Int32.Int32
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "actorId" (GHC.Base.Maybe Octane.Type.Int32.Int32) cs0 => Data.OverloadedRecords.HasField "actorId" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (GHC.Base.Maybe Octane.Type.Int32.Int32)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "actorId" (GHC.Base.Maybe Octane.Type.Int32.Int32) cs0 => Data.OverloadedRecords.ModifyField "actorId" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (GHC.Base.Maybe Octane.Type.Int32.Int32) (GHC.Base.Maybe Octane.Type.Int32.Int32)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "actorless" Octane.Type.Boolean.Boolean cs0 => Data.OverloadedRecords.HasField "actorless" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "actorless" Octane.Type.Boolean.Boolean cs0 => Data.OverloadedRecords.ModifyField "actorless" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Boolean.Boolean Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "position" (Octane.Type.Vector.Vector GHC.Types.Int) cs0 => Data.OverloadedRecords.HasField "position" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Octane.Type.Vector.Vector GHC.Types.Int)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "position" (Octane.Type.Vector.Vector GHC.Types.Int) cs0 => Data.OverloadedRecords.ModifyField "position" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Octane.Type.Vector.Vector GHC.Types.Int) (Octane.Type.Vector.Vector GHC.Types.Int)
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "unknown1" Octane.Type.Boolean.Boolean cs0 => Data.OverloadedRecords.HasField "unknown1" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "unknown1" Octane.Type.Boolean.Boolean cs0 => Data.OverloadedRecords.ModifyField "unknown1" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Boolean.Boolean Octane.Type.Boolean.Boolean
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "unknown2" Octane.Type.Int32.Int32 cs0 => Data.OverloadedRecords.HasField "unknown2" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Int32.Int32
+ Octane.Type.Value.ExtendedExplosionValue: instance Data.OverloadedRecords.ModifyRec "unknown2" Octane.Type.Int32.Int32 cs0 => Data.OverloadedRecords.ModifyField "unknown2" (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) (Data.OverloadedRecords.Rec cs0 Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue) Octane.Type.Int32.Int32 Octane.Type.Int32.Int32
+ Octane.Type.Value.ExtendedExplosionValue: instance GHC.Classes.Eq Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue
+ Octane.Type.Value.ExtendedExplosionValue: instance GHC.Show.Show Octane.Type.Value.ExtendedExplosionValue.ExtendedExplosionValue
Files
- library/Octane/Type/Replay.hs +8/−0
- library/Octane/Type/Value.hs +4/−0
- library/Octane/Type/Value/ExtendedExplosionValue.hs +45/−0
- octane.cabal +2/−1
- package.yaml +1/−1
- stack.yaml +1/−1
library/Octane/Type/Replay.hs view
@@ -370,6 +370,14 @@ (Boolean.Boolean False) (Just (toInt32 (Rattletrap.explosionAttributeActorId x))) (toIntVector (Rattletrap.explosionAttributeLocation x)))+ Rattletrap.ExtendedExplosionAttributeValue x ->+ Value.ValueExtendedExplosion+ (Value.ExtendedExplosionValue+ (Boolean.Boolean False)+ (Just (toInt32 (Rattletrap.extendedExplosionAttributeActorId x)))+ (toIntVector (Rattletrap.extendedExplosionAttributeLocation x))+ (Boolean.Boolean (Rattletrap.extendedExplosionAttributeUnknown1 x))+ (toInt32 (Rattletrap.extendedExplosionAttributeUnknown2 x))) Rattletrap.FlaggedIntAttributeValue x -> Value.ValueFlaggedInt (Value.FlaggedIntValue
library/Octane/Type/Value.hs view
@@ -11,6 +11,7 @@ , module Octane.Type.Value.DemolishValue , module Octane.Type.Value.EnumValue , module Octane.Type.Value.ExplosionValue+ , module Octane.Type.Value.ExtendedExplosionValue , module Octane.Type.Value.FlaggedIntValue , module Octane.Type.Value.FloatValue , module Octane.Type.Value.GameModeValue@@ -41,6 +42,7 @@ import Octane.Type.Value.DemolishValue import Octane.Type.Value.EnumValue import Octane.Type.Value.ExplosionValue+import Octane.Type.Value.ExtendedExplosionValue import Octane.Type.Value.FlaggedIntValue import Octane.Type.Value.FloatValue import Octane.Type.Value.GameModeValue@@ -74,6 +76,7 @@ | ValueDemolish DemolishValue | ValueEnum EnumValue | ValueExplosion ExplosionValue+ | ValueExtendedExplosion ExtendedExplosionValue | ValueFlaggedInt FlaggedIntValue | ValueFloat FloatValue | ValueGameMode GameModeValue@@ -107,6 +110,7 @@ ValueDemolish x -> Aeson.toJSON x ValueEnum x -> Aeson.toJSON x ValueExplosion x -> Aeson.toJSON x+ ValueExtendedExplosion x -> Aeson.toJSON x ValueFlaggedInt x -> Aeson.toJSON x ValueFloat x -> Aeson.toJSON x ValueGameMode x -> Aeson.toJSON x
+ library/Octane/Type/Value/ExtendedExplosionValue.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}++module Octane.Type.Value.ExtendedExplosionValue+ ( ExtendedExplosionValue(..)+ ) where++import Data.Aeson ((.=))++import qualified Data.Aeson as Aeson+import qualified Data.Default.Class as Default+import qualified Data.OverloadedRecords.TH as OverloadedRecords+import qualified Data.Text as StrictText+import qualified Octane.Type.Boolean as Boolean+import qualified Octane.Type.Int32 as Int32+import qualified Octane.Type.Vector as Vector++data ExtendedExplosionValue = ExtendedExplosionValue+ { extendedExplosionValueActorless :: Boolean.Boolean+ , extendedExplosionValueActorId :: Maybe Int32.Int32+ , extendedExplosionValuePosition :: Vector.Vector Int+ , extendedExplosionValueUnknown1 :: Boolean.Boolean+ , extendedExplosionValueUnknown2 :: Int32.Int32+ } deriving (Eq, Show)++$(OverloadedRecords.overloadedRecord Default.def ''ExtendedExplosionValue)++instance Aeson.ToJSON ExtendedExplosionValue where+ toJSON x =+ Aeson.object+ [ "Type" .= ("ExtendedExplosion" :: StrictText.Text)+ , "Value" .=+ Aeson.object+ [ "Actorless" .= #actorless x+ , "ActorId" .= #actorId x+ , "Position" .= #position x+ ]+ ]
octane.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: octane-version: 0.19.0+version: 0.20.0 synopsis: Parse Rocket League replays. description: Octane parses Rocket League replays. category: Game@@ -84,6 +84,7 @@ Octane.Type.Value.DemolishValue Octane.Type.Value.EnumValue Octane.Type.Value.ExplosionValue+ Octane.Type.Value.ExtendedExplosionValue Octane.Type.Value.FlaggedIntValue Octane.Type.Value.FloatValue Octane.Type.Value.GameModeValue
package.yaml view
@@ -44,4 +44,4 @@ maintainer: Taylor Fausak name: octane synopsis: Parse Rocket League replays.-version: '0.19.0'+version: '0.20.0'
stack.yaml view
@@ -1,3 +1,3 @@ extra-deps:-- rattletrap-2.2.3+- rattletrap-2.5.0 resolver: lts-8.0