packages feed

rattletrap 0.1.6 → 0.1.7

raw patch · 23 files changed

+71/−17 lines, 23 filesbinary-addedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Rattletrap.AttributeValue: ClubColorsAttribute :: ClubColorsAttributeValue -> AttributeValue
+ Rattletrap.AttributeValue.ClubColors: ClubColorsAttributeValue :: Bool -> Word8 -> Bool -> Word8 -> ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: [clubColorsAttributeValueBlueColor] :: ClubColorsAttributeValue -> Word8
+ Rattletrap.AttributeValue.ClubColors: [clubColorsAttributeValueBlueFlag] :: ClubColorsAttributeValue -> Bool
+ Rattletrap.AttributeValue.ClubColors: [clubColorsAttributeValueOrangeColor] :: ClubColorsAttributeValue -> Word8
+ Rattletrap.AttributeValue.ClubColors: [clubColorsAttributeValueOrangeFlag] :: ClubColorsAttributeValue -> Bool
+ Rattletrap.AttributeValue.ClubColors: data ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: getClubColorsAttributeValue :: BitGet ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: instance GHC.Classes.Eq Rattletrap.AttributeValue.ClubColors.ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: instance GHC.Classes.Ord Rattletrap.AttributeValue.ClubColors.ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: instance GHC.Show.Show Rattletrap.AttributeValue.ClubColors.ClubColorsAttributeValue
+ Rattletrap.AttributeValue.ClubColors: putClubColorsAttributeValue :: ClubColorsAttributeValue -> BitPut ()
+ Rattletrap.AttributeValueType: AVClubColors :: AttributeValueType
+ Rattletrap.ReplicationValue.Spawned: [spawnedReplicationValue_className] :: SpawnedReplicationValue -> String
+ Rattletrap.ReplicationValue.Spawned: [spawnedReplicationValue_objectName] :: SpawnedReplicationValue -> String
- Rattletrap.ReplicationValue.Spawned: SpawnedReplicationValue :: Bool -> Word32 -> Initialization -> SpawnedReplicationValue
+ Rattletrap.ReplicationValue.Spawned: SpawnedReplicationValue :: Bool -> Word32 -> String -> String -> Initialization -> SpawnedReplicationValue

Files

README.markdown view
@@ -64,8 +64,8 @@ ```  [Rattletrap]: https://github.com/tfausak/rattletrap-[Version badge]: https://img.shields.io/hackage/v/rattletrap.svg-[version]: https://hackage.haskell.org/package/rattletrap+[Version badge]: https://www.stackage.org/package/rattletrap/badge/nightly?label=version+[version]: https://www.stackage.org/nightly/package/rattletrap [Windows build badge]: https://ci.appveyor.com/api/projects/status/github/tfausak/rattletrap?branch=master&svg=true [windows build]: https://ci.appveyor.com/project/TaylorFausak/rattletrap [Build badge]: https://travis-ci.org/tfausak/rattletrap.svg?branch=master
executable/Main.hs view
@@ -68,6 +68,7 @@     , ''Cache     , ''CamSettingsAttributeValue     , ''ClassMapping+    , ''ClubColorsAttributeValue     , ''CompressedWord     , ''CompressedWordVector     , ''Content
library/Rattletrap/AttributeValue.hs view
@@ -6,6 +6,7 @@ import Rattletrap.AttributeValue.Boolean as Export import Rattletrap.AttributeValue.Byte as Export import Rattletrap.AttributeValue.CamSettings as Export+import Rattletrap.AttributeValue.ClubColors as Export import Rattletrap.AttributeValue.Demolish as Export import Rattletrap.AttributeValue.Enum as Export import Rattletrap.AttributeValue.Explosion as Export@@ -42,6 +43,7 @@   = BooleanAttribute BooleanAttributeValue   | ByteAttribute ByteAttributeValue   | CamSettingsAttribute CamSettingsAttributeValue+  | ClubColorsAttribute ClubColorsAttributeValue   | DemolishAttribute DemolishAttributeValue   | EnumAttribute EnumAttributeValue   | ExplosionAttribute ExplosionAttributeValue@@ -81,6 +83,9 @@         AVCamSettings -> do           x <- getCamSettingsAttributeValue           pure (CamSettingsAttribute x)+        AVClubColors -> do+          x <- getClubColorsAttributeValue+          pure (ClubColorsAttribute x)         AVDemolish -> do           x <- getDemolishAttributeValue           pure (DemolishAttribute x)@@ -162,6 +167,7 @@     BooleanAttribute x -> putBooleanAttributeValue x     ByteAttribute x -> putByteAttributeValue x     CamSettingsAttribute x -> putCamSettingsAttributeValue x+    ClubColorsAttribute x -> putClubColorsAttributeValue x     DemolishAttribute x -> putDemolishAttributeValue x     EnumAttribute x -> putEnumAttributeValue x     ExplosionAttribute x -> putExplosionAttributeValue x
+ library/Rattletrap/AttributeValue/ClubColors.hs view
@@ -0,0 +1,29 @@+module Rattletrap.AttributeValue.ClubColors where++import Rattletrap.Word8++import qualified Data.Binary.Bits.Get as BinaryBit+import qualified Data.Binary.Bits.Put as BinaryBit++data ClubColorsAttributeValue = ClubColorsAttributeValue+  { clubColorsAttributeValueBlueFlag :: Bool+  , clubColorsAttributeValueBlueColor :: Word8+  , clubColorsAttributeValueOrangeFlag :: Bool+  , clubColorsAttributeValueOrangeColor :: Word8+  } deriving (Eq, Ord, Show)++getClubColorsAttributeValue :: BinaryBit.BitGet ClubColorsAttributeValue+getClubColorsAttributeValue = do+  blueFlag <- BinaryBit.getBool+  blueColor <- getWord8Bits+  orangeFlag <- BinaryBit.getBool+  orangeColor <- getWord8Bits+  pure (ClubColorsAttributeValue blueFlag blueColor orangeFlag orangeColor)++putClubColorsAttributeValue :: ClubColorsAttributeValue -> BinaryBit.BitPut ()+putClubColorsAttributeValue clubColorsAttributeValue = do+  BinaryBit.putBool (clubColorsAttributeValueBlueFlag clubColorsAttributeValue)+  putWord8Bits (clubColorsAttributeValueBlueColor clubColorsAttributeValue)+  BinaryBit.putBool+    (clubColorsAttributeValueOrangeFlag clubColorsAttributeValue)+  putWord8Bits (clubColorsAttributeValueOrangeColor clubColorsAttributeValue)
library/Rattletrap/AttributeValueType.hs view
@@ -4,6 +4,7 @@   = AVBoolean   | AVByte   | AVCamSettings+  | AVClubColors   | AVDemolish   | AVEnum   | AVExplosion
library/Rattletrap/Data.hs view
@@ -112,6 +112,7 @@   , ("Archetypes.GameEvent.GameEvent_Basketball", "TAGame.GameEvent_Soccar_TA")   , ("Archetypes.GameEvent.GameEvent_BasketballPrivate", "TAGame.GameEvent_SoccarPrivate_TA")   , ("Archetypes.GameEvent.GameEvent_BasketballSplitscreen", "TAGame.GameEvent_SoccarSplitscreen_TA")+  , ("Archetypes.GameEvent.GameEvent_Hockey", "TAGame.GameEvent_Soccar_TA")   , ("Archetypes.GameEvent.GameEvent_HockeyPrivate", "TAGame.GameEvent_SoccarPrivate_TA")   , ("Archetypes.GameEvent.GameEvent_HockeySplitscreen", "TAGame.GameEvent_SoccarSplitscreen_TA")   , ("Archetypes.GameEvent.GameEvent_Items", "TAGame.GameEvent_Soccar_TA")@@ -205,6 +206,7 @@   , ("TAGame.Car_TA:AddedBallForceMultiplier", AVFloat)   , ("TAGame.Car_TA:AddedCarForceMultiplier", AVFloat)   , ("TAGame.Car_TA:AttachedPickup", AVFlaggedInt)+  , ("TAGame.Car_TA:ClubColors", AVClubColors)   , ("TAGame.Car_TA:ReplicatedDemolish", AVDemolish)   , ("TAGame.Car_TA:TeamPaint", AVTeamPaint)   , ("TAGame.CrowdActor_TA:GameEvent", AVFlaggedInt)@@ -269,6 +271,7 @@   , ("TAGame.SpecialPickup_BallVelcro_TA:bHit", AVBoolean)   , ("TAGame.SpecialPickup_Targeted_TA:Targeted", AVFlaggedInt)   , ("TAGame.Team_Soccar_TA:GameScore", AVInt)+  , ("TAGame.Team_TA:ClubColors", AVClubColors)   , ("TAGame.Team_TA:CustomTeamName", AVString)   , ("TAGame.Team_TA:GameEvent", AVFlaggedInt)   , ("TAGame.Team_TA:LogoData", AVFlaggedInt)
library/Rattletrap/ReplicationValue/Spawned.hs view
@@ -4,6 +4,7 @@ import Rattletrap.ClassAttributeMap import Rattletrap.CompressedWord import Rattletrap.Initialization+import Rattletrap.Text import Rattletrap.Word32  import qualified Data.Binary.Bits.Get as BinaryBit@@ -12,6 +13,8 @@ data SpawnedReplicationValue = SpawnedReplicationValue   { spawnedReplicationValueFlag :: Bool   , spawnedReplicationValueObjectId :: Word32+  , spawnedReplicationValue_objectName :: String+  , spawnedReplicationValue_className :: String   , spawnedReplicationValueInitialization :: Initialization   } deriving (Eq, Ord, Show) @@ -35,7 +38,13 @@           let hasRotation = classHasRotation className           initialization <- getInitialization hasLocation hasRotation           pure-            (SpawnedReplicationValue flag objectId initialization, newActorMap)+            ( SpawnedReplicationValue+                flag+                objectId+                (textToString objectName)+                (textToString className)+                initialization+            , newActorMap)  putSpawnedReplicationValue :: SpawnedReplicationValue -> BinaryBit.BitPut () putSpawnedReplicationValue spawnedReplicationValue = do
rattletrap.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           rattletrap-version:        0.1.6+version:        0.1.7 synopsis:       Parse and generate Rocket League replays. description:    Rattletrap parses and generates Rocket League replays. category:       Game@@ -20,6 +20,7 @@     README.markdown     test/replays/00080014003600090000036E0F65CCEB.replay     test/replays/07E925B1423653D44CB8B4B2524792C1.replay+    test/replays/0AD21FEE4A512906BEB6C98136AAF49A.replay     test/replays/1205D96C4D819800927791820096CD49.replay     test/replays/160CA83E41083BFD8E6315B4BFCA0561.replay     test/replays/18D6738D415B70B5BE4C299588D3C141.replay@@ -27,14 +28,14 @@     test/replays/1BC2D01444ACE577D01E988EADD4DFD0.replay     test/replays/1D1DE97D4941C86E43FE0093563DB621.replay     test/replays/1EF90FCC4F719F606A5327B3CDD782A4.replay+    test/replays/1F3798E540B0C37A946561ABBB3037F9.replay     test/replays/211466D04B983F5A33CC2FA1D5928672.replay     test/replays/22BACD794ABE7B92E50E9CBDBD9C59CE.replay+    test/replays/27B6A7B64553F0F685874584F96BAB1B.replay     test/replays/29F582C34A65EB34D358A784CBE3C189.replay-    test/replays/2F817C8C44859C762980AE85B1862A31.replay     test/replays/372DBFCA4BDB340E4357B6BD43032802.replay     test/replays/387F059C47C09E253C875CA990EFD9F2.replay     test/replays/3EA147DD485B8DD24810689A7A989E44.replay-    test/replays/40D831074157F4C843EA6CBFE0A88140.replay     test/replays/4126861E477F4A03DE2A4080374D7908.replay     test/replays/42F0D8DA4FC89AE7B80FCAB7F637A8EA.replay     test/replays/504ED825482186E771FAA9B642CE5CE4.replay@@ -43,26 +44,27 @@     test/replays/551CA4D44FF2B86015DE44A6B5790D4C.replay     test/replays/6688EEE34BFEB3EC3A9E3283098CC712.replay     test/replays/6D1B06D844A5BB91B81FD4B5B28F08BA.replay+    test/replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay     test/replays/7109EB9846D303E54B7ACBA792036213.replay     test/replays/7BF6073F4614CE0A438994B9A260DA6A.replay     test/replays/89CBA30E46FA5385BDD35DA4285D4D2E.replay+    test/replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay+    test/replays/98E58A904D713F2DE202358E8573265D.replay     test/replays/A128B3AB45D5A18E3EF9CF93C9576BCE.replay     test/replays/A52F804845573D8DA65E97BF59026A43.replay     test/replays/A6711CE74272B2E663DCC9A200A218E3.replay     test/replays/A7F001A1417A19BFA8C90990D8F7C2FF.replay     test/replays/B82DDB624C393A4A425E68AB40DC2450.replay-    test/replays/B9318ACC47A5A8C12901F3B0A512CA58.replay     test/replays/B9F9B87D4A9D0A3D25D4EC91C0401DE2.replay     test/replays/C14F7E0E4D9B5E6BE9AD5D8ED56B174C.replay-    test/replays/C375E0EC4971B506C51678B465D35AE9.replay-    test/replays/C80A9959479CFE51673B3A889D717554.replay     test/replays/C8372B1345B1803DEF039F815DBD802D.replay-    test/replays/CB5B422A4424262B2877E9A121329EF2.replay     test/replays/D428F81646A98C25902CE988AE5C14C8.replay     test/replays/D7FB197A451D69075A0C99A2F49A4053.replay     test/replays/DCB3A6B94A9DBE46FDE5EAA9B012F6C8.replay     test/replays/EAE311E84BA35B590A6FDBA6DD4F2FEB.replay+    test/replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay     test/replays/F299F176491554B11E34AB91CA76B2CE.replay+    test/replays/F7B9E14545C7467B89A00895980FCD73.replay     test/replays/F811C1D24888015E23B598AD8628C742.replay     test/replays/FDC79DA84DD463D4BCCE6B892829AC88.replay @@ -95,6 +97,7 @@       Rattletrap.AttributeValue.Boolean       Rattletrap.AttributeValue.Byte       Rattletrap.AttributeValue.CamSettings+      Rattletrap.AttributeValue.ClubColors       Rattletrap.AttributeValue.Demolish       Rattletrap.AttributeValue.Enum       Rattletrap.AttributeValue.Explosion
test/Test.hs view
@@ -12,7 +12,7 @@  main :: IO () main = do-  tests <- Hspec.testSpec "rattletrap" (Hspec.parallel spec)+  tests <- Hspec.testSpec "rattletrap" spec   Tasty.defaultMain tests  spec :: Hspec.Spec@@ -42,6 +42,7 @@ replays =   [ ("00080014003600090000036E0F65CCEB", "a flip time")   , ("07E925B1423653D44CB8B4B2524792C1", "a game mode before Neo Tokyo")+  , ("0AD21FEE4A512906BEB6C98136AAF49A", "some Latin-1 text")   , ("1205D96C4D819800927791820096CD49", "rumble mode")   , ("160CA83E41083BFD8E6315B4BFCA0561", "a dedicated server IP")   , ("18D6738D415B70B5BE4C299588D3C141", "an online loadout attribute")@@ -49,14 +50,14 @@   , ("1BC2D01444ACE577D01E988EADD4DFD0", "no padding after the frames")   , ("1D1DE97D4941C86E43FE0093563DB621", "a camera pitch")   , ("1EF90FCC4F719F606A5327B3CDD782A4", "a private hoops match")+  , ("1F3798E540B0C37A946561ABBB3037F9", "splitscreen players")   , ("211466D04B983F5A33CC2FA1D5928672", "a match save")   , ("22BACD794ABE7B92E50E9CBDBD9C59CE", "a vote to forfeit")+  , ("27B6A7B64553F0F685874584F96BAB1B", "some UTF-16 text")   , ("29F582C34A65EB34D358A784CBE3C189", "frames")-  , ("2F817C8C44859C762980AE85B1862A31", "splitscreen players")   , ("372DBFCA4BDB340E4357B6BD43032802", "a camera yaw attribute")   , ("387F059C47C09E253C875CA990EFD9F2", "a frozen attribute")   , ("3EA147DD485B8DD24810689A7A989E44", "a custom team name")-  , ("40D831074157F4C843EA6CBFE0A88140", "a batarang")   , ("4126861E477F4A03DE2A4080374D7908", "a game mode after Neo Tokyo")   , ("42F0D8DA4FC89AE7B80FCAB7F637A8EA", "reservations after Neo Tokyo")   , ("504ED825482186E771FAA9B642CE5CE4", "some messages")@@ -65,26 +66,27 @@   , ("551CA4D44FF2B86015DE44A6B5790D4C", "private match settings")   , ("6688EEE34BFEB3EC3A9E3283098CC712", "a malformed byte property")   , ("6D1B06D844A5BB91B81FD4B5B28F08BA", "a flip right")+  , ("6F7CFCD24638F8A6567AB3A8B9958A90", "a map with numbers")   , ("7109EB9846D303E54B7ACBA792036213", "a boost modifier")   , ("7BF6073F4614CE0A438994B9A260DA6A", "an online loadouts attribute")   , ("89CBA30E46FA5385BDD35DA4285D4D2E", "remote user data")+  , ("9704208245D7DD851F2FB2BC7DFD9AC3", "a batarang")+  , ("98E58A904D713F2DE202358E8573265D", "a player using behind view")   , ("A128B3AB45D5A18E3EF9CF93C9576BCE", "a round count down")   , ("A52F804845573D8DA65E97BF59026A43", "some more mutators")   , ("A6711CE74272B2E663DCC9A200A218E3", "a waiting player")   , ("A7F001A1417A19BFA8C90990D8F7C2FF", "a ready attribute")   , ("B82DDB624C393A4A425E68AB40DC2450", "a vote actor and trailing bits")-  , ("B9318ACC47A5A8C12901F3B0A512CA58", "a map with numbers")   , ("B9F9B87D4A9D0A3D25D4EC91C0401DE2", "a party leader")   , ("C14F7E0E4D9B5E6BE9AD5D8ED56B174C", "some mutators")-  , ("C375E0EC4971B506C51678B465D35AE9", "some UTF-16 text")-  , ("C80A9959479CFE51673B3A889D717554", "some Latin-1 text")   , ("C8372B1345B1803DEF039F815DBD802D", "a spectator")-  , ("CB5B422A4424262B2877E9A121329EF2", "a player using behind view")   , ("D428F81646A98C25902CE988AE5C14C8", "a private hockey match")   , ("D7FB197A451D69075A0C99A2F49A4053", "an explosion attribute")   , ("DCB3A6B94A9DBE46FDE5EAA9B012F6C8", "a pawn type attribute")   , ("EAE311E84BA35B590A6FDBA6DD4F2FEB", "an actor/object ID collision")+  , ("EAE8DADA4BB2DC5422792C9B4A67392D", "custom team colors")   , ("F299F176491554B11E34AB91CA76B2CE", "a location attribute")+  , ("F7B9E14545C7467B89A00895980FCD73", "a hockey game event")   , ("F811C1D24888015E23B598AD8628C742", "no frames")   , ("FDC79DA84DD463D4BCCE6B892829AC88", "an MVP")   ]
+ test/replays/0AD21FEE4A512906BEB6C98136AAF49A.replay view

binary file changed (absent → 27949 bytes)

+ test/replays/1F3798E540B0C37A946561ABBB3037F9.replay view

binary file changed (absent → 27316 bytes)

+ test/replays/27B6A7B64553F0F685874584F96BAB1B.replay view

binary file changed (absent → 25332 bytes)

− test/replays/2F817C8C44859C762980AE85B1862A31.replay

binary file changed (348183 → absent bytes)

− test/replays/40D831074157F4C843EA6CBFE0A88140.replay

binary file changed (1057254 → absent bytes)

+ test/replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay view

binary file changed (absent → 29715 bytes)

+ test/replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay view

binary file changed (absent → 36307 bytes)

+ test/replays/98E58A904D713F2DE202358E8573265D.replay view

binary file changed (absent → 34047 bytes)

− test/replays/B9318ACC47A5A8C12901F3B0A512CA58.replay

binary file changed (1073090 → absent bytes)

− test/replays/C375E0EC4971B506C51678B465D35AE9.replay

binary file changed (341527 → absent bytes)

− test/replays/C80A9959479CFE51673B3A889D717554.replay

binary file changed (496968 → absent bytes)

− test/replays/CB5B422A4424262B2877E9A121329EF2.replay

binary file changed (157214 → absent bytes)

+ test/replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay view

binary file changed (absent → 25462 bytes)

+ test/replays/F7B9E14545C7467B89A00895980FCD73.replay view

binary file changed (absent → 25580 bytes)