packages feed

rattletrap 2.0.0 → 2.1.0

raw patch · 113 files changed

+331/−189 lines, 113 filesbinary-added

Files

+ CHANGELOG.markdown view
@@ -0,0 +1,7 @@+# Change log++Rattletrap uses [Semantic Versioning][].+The change log is available through the [releases on GitHub][].++[Semantic Versioning]: http://semver.org/spec/v2.0.0.html+[releases on GitHub]: https://github.com/tfausak/rattletrap/releases
README.markdown view
@@ -65,7 +65,7 @@  [Rattletrap]: https://github.com/tfausak/rattletrap [Version badge]: https://www.stackage.org/package/rattletrap/badge/nightly?label=version-[version]: https://www.stackage.org/package/rattletrap+[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
+ data/replays/00080014003600090000036E0F65CCEB.replay view

binary file changed (absent → 94347 bytes)

+ data/replays/07E925B1423653D44CB8B4B2524792C1.replay view

binary file changed (absent → 30063 bytes)

+ data/replays/0AD21FEE4A512906BEB6C98136AAF49A.replay view

binary file changed (absent → 27949 bytes)

+ data/replays/1205D96C4D819800927791820096CD49.replay view

binary file changed (absent → 461470 bytes)

+ data/replays/160CA83E41083BFD8E6315B4BFCA0561.replay view

binary file changed (absent → 565359 bytes)

+ data/replays/18D6738D415B70B5BE4C299588D3C141.replay view

binary file changed (absent → 21996 bytes)

+ data/replays/1A126AC24CAA0DB0E98835BD960B8AF8.replay view

binary file changed (absent → 98814 bytes)

+ data/replays/1AE415514DFC65DCBF8B8391AD35488D.replay view

binary file changed (absent → 25926 bytes)

+ data/replays/1BC2D01444ACE577D01E988EADD4DFD0.replay view

binary file changed (absent → 22739 bytes)

+ data/replays/1D1DE97D4941C86E43FE0093563DB621.replay view

binary file changed (absent → 59943 bytes)

+ data/replays/1EF90FCC4F719F606A5327B3CDD782A4.replay view

binary file changed (absent → 737542 bytes)

+ data/replays/1F3798E540B0C37A946561ABBB3037F9.replay view

binary file changed (absent → 27316 bytes)

+ data/replays/211466D04B983F5A33CC2FA1D5928672.replay view

binary file changed (absent → 38258 bytes)

+ data/replays/22BACD794ABE7B92E50E9CBDBD9C59CE.replay view

binary file changed (absent → 315922 bytes)

+ data/replays/27B6A7B64553F0F685874584F96BAB1B.replay view

binary file changed (absent → 25332 bytes)

+ data/replays/29F582C34A65EB34D358A784CBE3C189.replay view

binary file changed (absent → 21607 bytes)

+ data/replays/372DBFCA4BDB340E4357B6BD43032802.replay view

binary file changed (absent → 28065 bytes)

+ data/replays/387F059C47C09E253C875CA990EFD9F2.replay view

binary file changed (absent → 737279 bytes)

+ data/replays/3EA147DD485B8DD24810689A7A989E44.replay view

binary file changed (absent → 596690 bytes)

+ data/replays/4126861E477F4A03DE2A4080374D7908.replay view

binary file changed (absent → 26284 bytes)

+ data/replays/42F0D8DA4FC89AE7B80FCAB7F637A8EA.replay view

binary file changed (absent → 116440 bytes)

+ data/replays/504ED825482186E771FAA9B642CE5CE4.replay view

binary file changed (absent → 145094 bytes)

+ data/replays/52AA67F94090C19D33C5009E54D31FE4.replay view

binary file changed (absent → 570657 bytes)

+ data/replays/540DA764423C8FB24EB9D486D982F16F.replay view

binary file changed (absent → 34674 bytes)

+ data/replays/551CA4D44FF2B86015DE44A6B5790D4C.replay view

binary file changed (absent → 754887 bytes)

+ data/replays/6320E51C49066A7C210A2993C2201D5F.replay view

binary file changed (absent → 391424 bytes)

+ data/replays/6688EEE34BFEB3EC3A9E3283098CC712.replay view

binary file changed (absent → 1026 bytes)

+ data/replays/6D1B06D844A5BB91B81FD4B5B28F08BA.replay view

binary file changed (absent → 91217 bytes)

+ data/replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay view

binary file changed (absent → 29715 bytes)

+ data/replays/7109EB9846D303E54B7ACBA792036213.replay view

binary file changed (absent → 65002 bytes)

+ data/replays/7BF6073F4614CE0A438994B9A260DA6A.replay view

binary file changed (absent → 22841 bytes)

+ data/replays/89CBA30E46FA5385BDD35DA4285D4D2E.replay view

binary file changed (absent → 212429 bytes)

+ data/replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay view

binary file changed (absent → 36307 bytes)

+ data/replays/98E58A904D713F2DE202358E8573265D.replay view

binary file changed (absent → 34047 bytes)

+ data/replays/A128B3AB45D5A18E3EF9CF93C9576BCE.replay view

binary file changed (absent → 743537 bytes)

+ data/replays/A52F804845573D8DA65E97BF59026A43.replay view

binary file changed (absent → 73064 bytes)

+ data/replays/A6711CE74272B2E663DCC9A200A218E3.replay view

binary file changed (absent → 221897 bytes)

+ data/replays/A7F001A1417A19BFA8C90990D8F7C2FF.replay view

binary file changed (absent → 396148 bytes)

+ data/replays/B9F9B87D4A9D0A3D25D4EC91C0401DE2.replay view

binary file changed (absent → 25888 bytes)

+ data/replays/C14F7E0E4D9B5E6BE9AD5D8ED56B174C.replay view

binary file changed (absent → 25904 bytes)

+ data/replays/C8372B1345B1803DEF039F815DBD802D.replay view

binary file changed (absent → 23625 bytes)

+ data/replays/CC4CA70D4F7A67EBAD0ED9B9923106F7.replay view

binary file changed (absent → 30103 bytes)

+ data/replays/D428F81646A98C25902CE988AE5C14C8.replay view

binary file changed (absent → 476589 bytes)

+ data/replays/D7FB197A451D69075A0C99A2F49A4053.replay view

binary file changed (absent → 29095 bytes)

+ data/replays/DCB3A6B94A9DBE46FDE5EAA9B012F6C8.replay view

binary file changed (absent → 1055071 bytes)

+ data/replays/EAE311E84BA35B590A6FDBA6DD4F2FEB.replay view

binary file changed (absent → 30151 bytes)

+ data/replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay view

binary file changed (absent → 25462 bytes)

+ data/replays/F299F176491554B11E34AB91CA76B2CE.replay view

binary file changed (absent → 22732 bytes)

+ data/replays/F7B9E14545C7467B89A00895980FCD73.replay view

binary file changed (absent → 25580 bytes)

+ data/replays/F811C1D24888015E23B598AD8628C742.replay view

binary file changed (absent → 605 bytes)

+ data/replays/FDC79DA84DD463D4BCCE6B892829AC88.replay view

binary file changed (absent → 783619 bytes)

+ package.yaml view
@@ -0,0 +1,61 @@+category: Game+description: Rattletrap parses and generates Rocket League replays.+executables:+  rattletrap:+    dependencies:+    - base+    - rattletrap+    ghc-options:+    - -rtsopts+    - -threaded+    - -with-rtsopts=-N+    main: Main.hs+    source-dirs: source/executables+extra-source-files:+- CHANGELOG.markdown+- data/replays/*.replay+- package.yaml+- README.markdown+- stack.yaml+ghc-options: -Wall+github: tfausak/rattletrap+library:+  default-extensions:+  - Strict+  dependencies:+  - aeson >=0.11 && <1.1+  - aeson-casing >=0.1 && <0.2+  - base >=4.9 && <4.10+  - bimap >=0.3 && <0.4+  - binary >=0.8 && <0.9+  - binary-bits >=0.5 && <0.6+  - bytestring >=0.10 && <0.11+  - containers >=0.5 && <0.6+  - data-binary-ieee754 >=0.4 && <0.5+  - template-haskell >=2.11 && <2.12+  - text >=1.2 && <1.3+  - vector >=0.11 && <0.12+  other-modules: Paths_rattletrap+  source-dirs: source/library+license: MIT+license-file: LICENSE.markdown+maintainer: Taylor Fausak+name: rattletrap+synopsis: Parse and generate Rocket League replays.+tests:+  test:+    dependencies:+    - base+    - bytestring+    - filepath >=1.4 && <1.5+    - rattletrap+    - tasty >=0.11 && <0.12+    - tasty-hspec >=1.1 && <1.2+    - temporary >=1.2 && <1.3+    ghc-options:+    - -rtsopts+    - -threaded+    - -with-rtsopts=-N+    main: Main.hs+    source-dirs: source/tests+version: '2.1.0'
rattletrap.cabal view
@@ -1,198 +1,200 @@--- This file has been generated from package.yaml by hpack version 0.14.0.+-- This file has been generated from package.yaml by hpack version 0.15.0. -- -- see: https://github.com/sol/hpack  name:           rattletrap-version:        2.0.0-cabal-version:  >= 1.10-build-type:     Simple-license:        MIT-license-file:   LICENSE.markdown-maintainer:     Taylor Fausak-homepage:       https://github.com/tfausak/rattletrap#readme-bug-reports:    https://github.com/tfausak/rattletrap/issues+version:        2.1.0 synopsis:       Parse and generate Rocket League replays. description:    Rattletrap parses and generates Rocket League replays. category:       Game+homepage:       https://github.com/tfausak/rattletrap#readme+bug-reports:    https://github.com/tfausak/rattletrap/issues+maintainer:     Taylor Fausak+license:        MIT+license-file:   LICENSE.markdown+build-type:     Simple+cabal-version:  >= 1.10  extra-source-files:+    CHANGELOG.markdown+    data/replays/00080014003600090000036E0F65CCEB.replay+    data/replays/07E925B1423653D44CB8B4B2524792C1.replay+    data/replays/0AD21FEE4A512906BEB6C98136AAF49A.replay+    data/replays/1205D96C4D819800927791820096CD49.replay+    data/replays/160CA83E41083BFD8E6315B4BFCA0561.replay+    data/replays/18D6738D415B70B5BE4C299588D3C141.replay+    data/replays/1A126AC24CAA0DB0E98835BD960B8AF8.replay+    data/replays/1AE415514DFC65DCBF8B8391AD35488D.replay+    data/replays/1BC2D01444ACE577D01E988EADD4DFD0.replay+    data/replays/1D1DE97D4941C86E43FE0093563DB621.replay+    data/replays/1EF90FCC4F719F606A5327B3CDD782A4.replay+    data/replays/1F3798E540B0C37A946561ABBB3037F9.replay+    data/replays/211466D04B983F5A33CC2FA1D5928672.replay+    data/replays/22BACD794ABE7B92E50E9CBDBD9C59CE.replay+    data/replays/27B6A7B64553F0F685874584F96BAB1B.replay+    data/replays/29F582C34A65EB34D358A784CBE3C189.replay+    data/replays/372DBFCA4BDB340E4357B6BD43032802.replay+    data/replays/387F059C47C09E253C875CA990EFD9F2.replay+    data/replays/3EA147DD485B8DD24810689A7A989E44.replay+    data/replays/4126861E477F4A03DE2A4080374D7908.replay+    data/replays/42F0D8DA4FC89AE7B80FCAB7F637A8EA.replay+    data/replays/504ED825482186E771FAA9B642CE5CE4.replay+    data/replays/52AA67F94090C19D33C5009E54D31FE4.replay+    data/replays/540DA764423C8FB24EB9D486D982F16F.replay+    data/replays/551CA4D44FF2B86015DE44A6B5790D4C.replay+    data/replays/6320E51C49066A7C210A2993C2201D5F.replay+    data/replays/6688EEE34BFEB3EC3A9E3283098CC712.replay+    data/replays/6D1B06D844A5BB91B81FD4B5B28F08BA.replay+    data/replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay+    data/replays/7109EB9846D303E54B7ACBA792036213.replay+    data/replays/7BF6073F4614CE0A438994B9A260DA6A.replay+    data/replays/89CBA30E46FA5385BDD35DA4285D4D2E.replay+    data/replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay+    data/replays/98E58A904D713F2DE202358E8573265D.replay+    data/replays/A128B3AB45D5A18E3EF9CF93C9576BCE.replay+    data/replays/A52F804845573D8DA65E97BF59026A43.replay+    data/replays/A6711CE74272B2E663DCC9A200A218E3.replay+    data/replays/A7F001A1417A19BFA8C90990D8F7C2FF.replay+    data/replays/B9F9B87D4A9D0A3D25D4EC91C0401DE2.replay+    data/replays/C14F7E0E4D9B5E6BE9AD5D8ED56B174C.replay+    data/replays/C8372B1345B1803DEF039F815DBD802D.replay+    data/replays/CC4CA70D4F7A67EBAD0ED9B9923106F7.replay+    data/replays/D428F81646A98C25902CE988AE5C14C8.replay+    data/replays/D7FB197A451D69075A0C99A2F49A4053.replay+    data/replays/DCB3A6B94A9DBE46FDE5EAA9B012F6C8.replay+    data/replays/EAE311E84BA35B590A6FDBA6DD4F2FEB.replay+    data/replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay+    data/replays/F299F176491554B11E34AB91CA76B2CE.replay+    data/replays/F7B9E14545C7467B89A00895980FCD73.replay+    data/replays/F811C1D24888015E23B598AD8628C742.replay+    data/replays/FDC79DA84DD463D4BCCE6B892829AC88.replay+    package.yaml     README.markdown-    replays/00080014003600090000036E0F65CCEB.replay-    replays/07E925B1423653D44CB8B4B2524792C1.replay-    replays/0AD21FEE4A512906BEB6C98136AAF49A.replay-    replays/1205D96C4D819800927791820096CD49.replay-    replays/160CA83E41083BFD8E6315B4BFCA0561.replay-    replays/18D6738D415B70B5BE4C299588D3C141.replay-    replays/1A126AC24CAA0DB0E98835BD960B8AF8.replay-    replays/1AE415514DFC65DCBF8B8391AD35488D.replay-    replays/1BC2D01444ACE577D01E988EADD4DFD0.replay-    replays/1D1DE97D4941C86E43FE0093563DB621.replay-    replays/1EF90FCC4F719F606A5327B3CDD782A4.replay-    replays/1F3798E540B0C37A946561ABBB3037F9.replay-    replays/211466D04B983F5A33CC2FA1D5928672.replay-    replays/22BACD794ABE7B92E50E9CBDBD9C59CE.replay-    replays/27B6A7B64553F0F685874584F96BAB1B.replay-    replays/29F582C34A65EB34D358A784CBE3C189.replay-    replays/372DBFCA4BDB340E4357B6BD43032802.replay-    replays/387F059C47C09E253C875CA990EFD9F2.replay-    replays/3EA147DD485B8DD24810689A7A989E44.replay-    replays/4126861E477F4A03DE2A4080374D7908.replay-    replays/42F0D8DA4FC89AE7B80FCAB7F637A8EA.replay-    replays/504ED825482186E771FAA9B642CE5CE4.replay-    replays/52AA67F94090C19D33C5009E54D31FE4.replay-    replays/540DA764423C8FB24EB9D486D982F16F.replay-    replays/551CA4D44FF2B86015DE44A6B5790D4C.replay-    replays/6320E51C49066A7C210A2993C2201D5F.replay-    replays/6688EEE34BFEB3EC3A9E3283098CC712.replay-    replays/6D1B06D844A5BB91B81FD4B5B28F08BA.replay-    replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay-    replays/7109EB9846D303E54B7ACBA792036213.replay-    replays/7BF6073F4614CE0A438994B9A260DA6A.replay-    replays/89CBA30E46FA5385BDD35DA4285D4D2E.replay-    replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay-    replays/98E58A904D713F2DE202358E8573265D.replay-    replays/A128B3AB45D5A18E3EF9CF93C9576BCE.replay-    replays/A52F804845573D8DA65E97BF59026A43.replay-    replays/A6711CE74272B2E663DCC9A200A218E3.replay-    replays/A7F001A1417A19BFA8C90990D8F7C2FF.replay-    replays/B9F9B87D4A9D0A3D25D4EC91C0401DE2.replay-    replays/C14F7E0E4D9B5E6BE9AD5D8ED56B174C.replay-    replays/C8372B1345B1803DEF039F815DBD802D.replay-    replays/CC4CA70D4F7A67EBAD0ED9B9923106F7.replay-    replays/D428F81646A98C25902CE988AE5C14C8.replay-    replays/D7FB197A451D69075A0C99A2F49A4053.replay-    replays/DCB3A6B94A9DBE46FDE5EAA9B012F6C8.replay-    replays/EAE311E84BA35B590A6FDBA6DD4F2FEB.replay-    replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay-    replays/F299F176491554B11E34AB91CA76B2CE.replay-    replays/F7B9E14545C7467B89A00895980FCD73.replay-    replays/F811C1D24888015E23B598AD8628C742.replay-    replays/FDC79DA84DD463D4BCCE6B892829AC88.replay+    stack.yaml  source-repository head-    type: git-    location: https://github.com/tfausak/rattletrap+  type: git+  location: https://github.com/tfausak/rattletrap  library-    exposed-modules:-        Rattletrap-        Rattletrap.ActorMap-        Rattletrap.Attribute-        Rattletrap.Attribute.Boolean-        Rattletrap.Attribute.Byte-        Rattletrap.Attribute.CamSettings-        Rattletrap.Attribute.ClubColors-        Rattletrap.Attribute.Demolish-        Rattletrap.Attribute.Enum-        Rattletrap.Attribute.Explosion-        Rattletrap.Attribute.FlaggedInt-        Rattletrap.Attribute.Float-        Rattletrap.Attribute.GameMode-        Rattletrap.Attribute.Int-        Rattletrap.Attribute.Loadout-        Rattletrap.Attribute.LoadoutOnline-        Rattletrap.Attribute.Loadouts-        Rattletrap.Attribute.LoadoutsOnline-        Rattletrap.Attribute.Location-        Rattletrap.Attribute.MusicStinger-        Rattletrap.Attribute.PartyLeader-        Rattletrap.Attribute.Pickup-        Rattletrap.Attribute.PrivateMatchSettings-        Rattletrap.Attribute.QWord-        Rattletrap.Attribute.Reservation-        Rattletrap.Attribute.RigidBodyState-        Rattletrap.Attribute.String-        Rattletrap.Attribute.TeamPaint-        Rattletrap.Attribute.UniqueId-        Rattletrap.Attribute.WeldedInfo-        Rattletrap.AttributeMapping-        Rattletrap.AttributeType-        Rattletrap.AttributeValue-        Rattletrap.Cache-        Rattletrap.ClassAttributeMap-        Rattletrap.ClassMapping-        Rattletrap.Content-        Rattletrap.Crc-        Rattletrap.Data-        Rattletrap.Frame-        Rattletrap.Header-        Rattletrap.Initialization-        Rattletrap.Json-        Rattletrap.KeyFrame-        Rattletrap.Main-        Rattletrap.Mark-        Rattletrap.Message-        Rattletrap.Primitive-        Rattletrap.Primitive.CompressedWord-        Rattletrap.Primitive.CompressedWordVector-        Rattletrap.Primitive.Dictionary-        Rattletrap.Primitive.Float32-        Rattletrap.Primitive.Int32-        Rattletrap.Primitive.Int8-        Rattletrap.Primitive.Int8Vector-        Rattletrap.Primitive.List-        Rattletrap.Primitive.Section-        Rattletrap.Primitive.Text-        Rattletrap.Primitive.Vector-        Rattletrap.Primitive.Word32-        Rattletrap.Primitive.Word64-        Rattletrap.Primitive.Word8-        Rattletrap.Property-        Rattletrap.PropertyValue-        Rattletrap.RemoteId-        Rattletrap.Replay-        Rattletrap.Replication-        Rattletrap.Replication.Destroyed-        Rattletrap.Replication.Spawned-        Rattletrap.Replication.Updated-        Rattletrap.ReplicationValue-        Rattletrap.Utility-        Rattletrap.Version-    build-depends:-        aeson >=0.11 && <1.1,-        aeson-casing >=0.1 && <0.2,-        base >=4.9 && <4.10,-        bimap >=0.3 && <0.4,-        binary >=0.8 && <0.9,-        binary-bits >=0.5 && <0.6,-        bytestring >=0.10 && <0.11,-        containers >=0.5 && <0.6,-        data-binary-ieee754 >=0.4 && <0.5,-        template-haskell >=2.11 && <2.12,-        text >=1.2 && <1.3,-        vector >=0.11 && <0.12-    default-language: Haskell2010-    default-extensions: Strict-    hs-source-dirs:-        source/library-    other-modules:-        Paths_rattletrap-    ghc-options: -Wall+  hs-source-dirs:+      source/library+  default-extensions: Strict+  ghc-options: -Wall+  build-depends:+      aeson >=0.11 && <1.1+    , aeson-casing >=0.1 && <0.2+    , base >=4.9 && <4.10+    , bimap >=0.3 && <0.4+    , binary >=0.8 && <0.9+    , binary-bits >=0.5 && <0.6+    , bytestring >=0.10 && <0.11+    , containers >=0.5 && <0.6+    , data-binary-ieee754 >=0.4 && <0.5+    , template-haskell >=2.11 && <2.12+    , text >=1.2 && <1.3+    , vector >=0.11 && <0.12+  exposed-modules:+      Rattletrap+      Rattletrap.ActorMap+      Rattletrap.Attribute+      Rattletrap.Attribute.Boolean+      Rattletrap.Attribute.Byte+      Rattletrap.Attribute.CamSettings+      Rattletrap.Attribute.ClubColors+      Rattletrap.Attribute.Demolish+      Rattletrap.Attribute.Enum+      Rattletrap.Attribute.Explosion+      Rattletrap.Attribute.FlaggedInt+      Rattletrap.Attribute.Float+      Rattletrap.Attribute.GameMode+      Rattletrap.Attribute.Int+      Rattletrap.Attribute.Loadout+      Rattletrap.Attribute.LoadoutOnline+      Rattletrap.Attribute.Loadouts+      Rattletrap.Attribute.LoadoutsOnline+      Rattletrap.Attribute.Location+      Rattletrap.Attribute.MusicStinger+      Rattletrap.Attribute.PartyLeader+      Rattletrap.Attribute.Pickup+      Rattletrap.Attribute.PrivateMatchSettings+      Rattletrap.Attribute.QWord+      Rattletrap.Attribute.Reservation+      Rattletrap.Attribute.RigidBodyState+      Rattletrap.Attribute.String+      Rattletrap.Attribute.TeamPaint+      Rattletrap.Attribute.UniqueId+      Rattletrap.Attribute.WeldedInfo+      Rattletrap.AttributeMapping+      Rattletrap.AttributeType+      Rattletrap.AttributeValue+      Rattletrap.Cache+      Rattletrap.ClassAttributeMap+      Rattletrap.ClassMapping+      Rattletrap.Content+      Rattletrap.Crc+      Rattletrap.Data+      Rattletrap.Frame+      Rattletrap.Header+      Rattletrap.Helper+      Rattletrap.Initialization+      Rattletrap.Json+      Rattletrap.KeyFrame+      Rattletrap.Main+      Rattletrap.Mark+      Rattletrap.Message+      Rattletrap.Primitive+      Rattletrap.Primitive.CompressedWord+      Rattletrap.Primitive.CompressedWordVector+      Rattletrap.Primitive.Dictionary+      Rattletrap.Primitive.Float32+      Rattletrap.Primitive.Int32+      Rattletrap.Primitive.Int8+      Rattletrap.Primitive.Int8Vector+      Rattletrap.Primitive.List+      Rattletrap.Primitive.Section+      Rattletrap.Primitive.Text+      Rattletrap.Primitive.Vector+      Rattletrap.Primitive.Word32+      Rattletrap.Primitive.Word64+      Rattletrap.Primitive.Word8+      Rattletrap.Property+      Rattletrap.PropertyValue+      Rattletrap.RemoteId+      Rattletrap.Replay+      Rattletrap.Replication+      Rattletrap.Replication.Destroyed+      Rattletrap.Replication.Spawned+      Rattletrap.Replication.Updated+      Rattletrap.ReplicationValue+      Rattletrap.Utility+      Rattletrap.Version+  other-modules:+      Paths_rattletrap+  default-language: Haskell2010  executable rattletrap-    main-is: Main.hs-    build-depends:-        base,-        rattletrap-    default-language: Haskell2010-    default-extensions: Strict-    hs-source-dirs:-        source/executables-    ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N+  main-is: Main.hs+  hs-source-dirs:+      source/executables+  ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N+  build-depends:+      base+    , rattletrap+  default-language: Haskell2010  test-suite test-    type: exitcode-stdio-1.0-    main-is: Main.hs-    build-depends:-        base,-        bytestring,-        filepath >=1.4 && <1.5,-        rattletrap,-        tasty >=0.11 && <0.12,-        tasty-hspec >=1.1 && <1.2,-        temporary >=1.2 && <1.3-    default-language: Haskell2010-    default-extensions: Strict-    hs-source-dirs:-        source/tests-    ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N+  type: exitcode-stdio-1.0+  main-is: Main.hs+  hs-source-dirs:+      source/tests+  ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N+  build-depends:+      base+    , bytestring+    , filepath >=1.4 && <1.5+    , rattletrap+    , tasty >=0.11 && <0.12+    , tasty-hspec >=1.1 && <1.2+    , temporary >=1.2 && <1.3+  default-language: Haskell2010
− replays/00080014003600090000036E0F65CCEB.replay

binary file changed (94347 → absent bytes)

− replays/07E925B1423653D44CB8B4B2524792C1.replay

binary file changed (30063 → absent bytes)

− replays/0AD21FEE4A512906BEB6C98136AAF49A.replay

binary file changed (27949 → absent bytes)

− replays/1205D96C4D819800927791820096CD49.replay

binary file changed (461470 → absent bytes)

− replays/160CA83E41083BFD8E6315B4BFCA0561.replay

binary file changed (565359 → absent bytes)

− replays/18D6738D415B70B5BE4C299588D3C141.replay

binary file changed (21996 → absent bytes)

− replays/1A126AC24CAA0DB0E98835BD960B8AF8.replay

binary file changed (98814 → absent bytes)

− replays/1AE415514DFC65DCBF8B8391AD35488D.replay

binary file changed (25926 → absent bytes)

− replays/1BC2D01444ACE577D01E988EADD4DFD0.replay

binary file changed (22739 → absent bytes)

− replays/1D1DE97D4941C86E43FE0093563DB621.replay

binary file changed (59943 → absent bytes)

− replays/1EF90FCC4F719F606A5327B3CDD782A4.replay

binary file changed (737542 → absent bytes)

− replays/1F3798E540B0C37A946561ABBB3037F9.replay

binary file changed (27316 → absent bytes)

− replays/211466D04B983F5A33CC2FA1D5928672.replay

binary file changed (38258 → absent bytes)

− replays/22BACD794ABE7B92E50E9CBDBD9C59CE.replay

binary file changed (315922 → absent bytes)

− replays/27B6A7B64553F0F685874584F96BAB1B.replay

binary file changed (25332 → absent bytes)

− replays/29F582C34A65EB34D358A784CBE3C189.replay

binary file changed (21607 → absent bytes)

− replays/372DBFCA4BDB340E4357B6BD43032802.replay

binary file changed (28065 → absent bytes)

− replays/387F059C47C09E253C875CA990EFD9F2.replay

binary file changed (737279 → absent bytes)

− replays/3EA147DD485B8DD24810689A7A989E44.replay

binary file changed (596690 → absent bytes)

− replays/4126861E477F4A03DE2A4080374D7908.replay

binary file changed (26284 → absent bytes)

− replays/42F0D8DA4FC89AE7B80FCAB7F637A8EA.replay

binary file changed (116440 → absent bytes)

− replays/504ED825482186E771FAA9B642CE5CE4.replay

binary file changed (145094 → absent bytes)

− replays/52AA67F94090C19D33C5009E54D31FE4.replay

binary file changed (570657 → absent bytes)

− replays/540DA764423C8FB24EB9D486D982F16F.replay

binary file changed (34674 → absent bytes)

− replays/551CA4D44FF2B86015DE44A6B5790D4C.replay

binary file changed (754887 → absent bytes)

− replays/6320E51C49066A7C210A2993C2201D5F.replay

binary file changed (391424 → absent bytes)

− replays/6688EEE34BFEB3EC3A9E3283098CC712.replay

binary file changed (1026 → absent bytes)

− replays/6D1B06D844A5BB91B81FD4B5B28F08BA.replay

binary file changed (91217 → absent bytes)

− replays/6F7CFCD24638F8A6567AB3A8B9958A90.replay

binary file changed (29715 → absent bytes)

− replays/7109EB9846D303E54B7ACBA792036213.replay

binary file changed (65002 → absent bytes)

− replays/7BF6073F4614CE0A438994B9A260DA6A.replay

binary file changed (22841 → absent bytes)

− replays/89CBA30E46FA5385BDD35DA4285D4D2E.replay

binary file changed (212429 → absent bytes)

− replays/9704208245D7DD851F2FB2BC7DFD9AC3.replay

binary file changed (36307 → absent bytes)

− replays/98E58A904D713F2DE202358E8573265D.replay

binary file changed (34047 → absent bytes)

− replays/A128B3AB45D5A18E3EF9CF93C9576BCE.replay

binary file changed (743537 → absent bytes)

− replays/A52F804845573D8DA65E97BF59026A43.replay

binary file changed (73064 → absent bytes)

− replays/A6711CE74272B2E663DCC9A200A218E3.replay

binary file changed (221897 → absent bytes)

− replays/A7F001A1417A19BFA8C90990D8F7C2FF.replay

binary file changed (396148 → absent bytes)

− replays/B9F9B87D4A9D0A3D25D4EC91C0401DE2.replay

binary file changed (25888 → absent bytes)

− replays/C14F7E0E4D9B5E6BE9AD5D8ED56B174C.replay

binary file changed (25904 → absent bytes)

− replays/C8372B1345B1803DEF039F815DBD802D.replay

binary file changed (23625 → absent bytes)

− replays/CC4CA70D4F7A67EBAD0ED9B9923106F7.replay

binary file changed (30103 → absent bytes)

− replays/D428F81646A98C25902CE988AE5C14C8.replay

binary file changed (476589 → absent bytes)

− replays/D7FB197A451D69075A0C99A2F49A4053.replay

binary file changed (29095 → absent bytes)

− replays/DCB3A6B94A9DBE46FDE5EAA9B012F6C8.replay

binary file changed (1055071 → absent bytes)

− replays/EAE311E84BA35B590A6FDBA6DD4F2FEB.replay

binary file changed (30151 → absent bytes)

− replays/EAE8DADA4BB2DC5422792C9B4A67392D.replay

binary file changed (25462 → absent bytes)

− replays/F299F176491554B11E34AB91CA76B2CE.replay

binary file changed (22732 → absent bytes)

− replays/F7B9E14545C7467B89A00895980FCD73.replay

binary file changed (25580 → absent bytes)

− replays/F811C1D24888015E23B598AD8628C742.replay

binary file changed (605 → absent bytes)

− replays/FDC79DA84DD463D4BCCE6B892829AC88.replay

binary file changed (783619 → absent bytes)

source/library/Rattletrap.hs view
@@ -39,6 +39,7 @@   , module Rattletrap.Data   , module Rattletrap.Frame   , module Rattletrap.Header+  , module Rattletrap.Helper   , module Rattletrap.Initialization   , module Rattletrap.KeyFrame   , module Rattletrap.Main@@ -68,6 +69,7 @@ import Rattletrap.Data import Rattletrap.Frame import Rattletrap.Header+import Rattletrap.Helper import Rattletrap.Initialization import Rattletrap.Json () import Rattletrap.KeyFrame
source/library/Rattletrap/ActorMap.hs view
@@ -10,4 +10,4 @@ makeActorMap = Map.empty  updateActorMap :: CompressedWord -> Word32 -> ActorMap -> ActorMap-updateActorMap actorId objectId actorMap = Map.insert actorId objectId actorMap+updateActorMap = Map.insert
+ source/library/Rattletrap/Helper.hs view
@@ -0,0 +1,72 @@+-- | This module provides helper functions for converting replays to and from+-- both their binary format and JSON.+module Rattletrap.Helper where++import Rattletrap.Json ()+import Rattletrap.Replay++import qualified Data.Aeson as Aeson+import qualified Data.Binary.Get as Binary+import qualified Data.Binary.Put as Binary+import qualified Data.ByteString.Lazy as ByteString+import qualified System.IO as IO++-- * Lazy byte strings+-- | Parses a raw replay.+decodeReplay :: ByteString.ByteString -> Either String Replay+decodeReplay contents =+  case Binary.runGetOrFail getReplay contents of+    Left (_, _, message) -> fail message+    Right (_, _, replay) -> pure replay++-- | Encodes a replay as JSON.+encodeJson :: Replay -> ByteString.ByteString+encodeJson = Aeson.encode++-- | Parses a JSON replay.+decodeJson :: ByteString.ByteString -> Either String Replay+decodeJson = Aeson.eitherDecode++-- | Encodes a raw replay.+encodeReplay :: Replay -> ByteString.ByteString+encodeReplay replay = Binary.runPut (putReplay replay)++-- * File paths+-- | 'decodeReplay'+decodeReplayFile :: FilePath -> IO (Either String Replay)+decodeReplayFile file = IO.withBinaryFile file IO.ReadMode decodeReplayHandle++-- | 'encodeJson'+encodeJsonFile :: Replay -> FilePath -> IO ()+encodeJsonFile replay file =+  IO.withBinaryFile file IO.WriteMode (encodeJsonHandle replay)++-- | 'decodeJson'+decodeJsonFile :: FilePath -> IO (Either String Replay)+decodeJsonFile file = IO.withBinaryFile file IO.ReadMode decodeJsonHandle++-- | 'encodeReplay'+encodeReplayFile :: Replay -> FilePath -> IO ()+encodeReplayFile replay file =+  IO.withBinaryFile file IO.WriteMode (encodeReplayHandle replay)++-- * Handles+-- | 'decodeReplay'+decodeReplayHandle :: IO.Handle -> IO (Either String Replay)+decodeReplayHandle handle = do+  contents <- ByteString.hGetContents handle+  pure (decodeReplay contents)++-- | 'encodeJson'+encodeJsonHandle :: Replay -> IO.Handle -> IO ()+encodeJsonHandle replay handle = ByteString.hPut handle (encodeJson replay)++-- | 'decodeJson'+decodeJsonHandle :: IO.Handle -> IO (Either String Replay)+decodeJsonHandle handle = do+  contents <- ByteString.hGetContents handle+  pure (decodeJson contents)++-- | 'encodeReplay'+encodeReplayHandle :: Replay -> IO.Handle -> IO ()+encodeReplayHandle replay handle = ByteString.hPut handle (encodeReplay replay)
source/library/Rattletrap/Primitive/Text.hs view
@@ -99,7 +99,7 @@     else encodeLatin1 text  dropNull :: Text.Text -> Text.Text-dropNull text = Text.dropWhileEnd (== '\x00') text+dropNull = Text.dropWhileEnd (== '\x00')  addNull :: Text.Text -> Text.Text addNull text =
source/library/Rattletrap/Utility.hs view
@@ -30,4 +30,4 @@   Bits.shiftL (byte Bits..&. Bits.bit 0) 7  reverseBytes :: ByteString.ByteString -> ByteString.ByteString-reverseBytes bytes = ByteString.map reverseByte bytes+reverseBytes = ByteString.map reverseByte
source/tests/Main.hs view
@@ -12,10 +12,7 @@   Tasty.defaultMain tests  spec :: Hspec.Spec-spec =-  Hspec.describe-    "Rattletrap"-    (mapM_ (\(uuid, description) -> itCanRoundTrip uuid description) replays)+spec = Hspec.describe "Rattletrap" (mapM_ (uncurry itCanRoundTrip) replays)  itCanRoundTrip :: String -> String -> Hspec.Spec itCanRoundTrip uuid description =@@ -42,7 +39,7 @@  pathToReplay :: String -> FilePath pathToReplay uuid =-  FilePath.joinPath ["replays", FilePath.addExtension uuid ".replay"]+  FilePath.joinPath ["data", "replays", FilePath.addExtension uuid ".replay"]  replays :: [(String, String)] replays =
+ stack.yaml view
@@ -0,0 +1,1 @@+resolver: nightly-2016-12-14