diff options
author | Griffin Smith <root@gws.fyi> | 2019-11-29T19·33-0500 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-11-29T19·33-0500 |
commit | f37d0f75c0b4a77c8e35192c24c6fdb6f2bc4619 (patch) | |
tree | 0af3e636f1a2dcb0a0e179895e4a41f2fab45f69 /xanthous.cabal | |
parent | 2f2e5a0b684f886a7585161d30e8cda962c7eefb (diff) |
Implement saving+loading the game
Implement ToJSON and FromJSON for all of the various pieces of the game state, and add a pair of functions saveGame/loadGame implementing a prism to save the game as zlib-compressed JSON. To test this, there's now Arbitrary, CoArbitrary, and Function instances for all the parts of the game state - to get around circular imports with the concrete entities this unfortunately is happening via orphan instances, plus an hs-boot file to break a circular import that was just a little too hard to remove by moving things around. Ugh.
Diffstat (limited to 'xanthous.cabal')
-rw-r--r-- | xanthous.cabal | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/xanthous.cabal b/xanthous.cabal index f25521c5bb09..7204dc0f0f13 100644 --- a/xanthous.cabal +++ b/xanthous.cabal @@ -4,7 +4,7 @@ cabal-version: 1.12 -- -- see: https://github.com/sol/hpack -- --- hash: ac15bf59fd57f7a0bc23f010aec83824f819592494145cbce3e1db36e23f1107 +-- hash: 0ec32d45d89e30640d8d59137c5eaa80e5eed7eb31cb553d9b251db94ed1ba36 name: xanthous version: 0.1.0.0 @@ -37,10 +37,10 @@ library Xanthous.Data.EntityMap Xanthous.Data.EntityMap.Graphics Xanthous.Entities - Xanthous.Entities.Arbitrary Xanthous.Entities.Character Xanthous.Entities.Creature Xanthous.Entities.Draw.Util + Xanthous.Entities.Entities Xanthous.Entities.Environment Xanthous.Entities.Item Xanthous.Entities.Raws @@ -64,6 +64,8 @@ library Xanthous.Util Xanthous.Util.Graphics Xanthous.Util.Inflection + Xanthous.Util.JSON + Xanthous.Util.QuickCheck other-modules: Paths_xanthous hs-source-dirs: @@ -102,10 +104,12 @@ library , raw-strings-qq , reflection , stache + , text-zipper , tomland , vector , vty , yaml + , zlib default-language: Haskell2010 executable xanthous @@ -119,10 +123,10 @@ executable xanthous Xanthous.Data.EntityMap Xanthous.Data.EntityMap.Graphics Xanthous.Entities - Xanthous.Entities.Arbitrary Xanthous.Entities.Character Xanthous.Entities.Creature Xanthous.Entities.Draw.Util + Xanthous.Entities.Entities Xanthous.Entities.Environment Xanthous.Entities.Item Xanthous.Entities.Raws @@ -146,6 +150,8 @@ executable xanthous Xanthous.Util Xanthous.Util.Graphics Xanthous.Util.Inflection + Xanthous.Util.JSON + Xanthous.Util.QuickCheck Paths_xanthous hs-source-dirs: src @@ -183,11 +189,13 @@ executable xanthous , raw-strings-qq , reflection , stache + , text-zipper , tomland , vector , vty , xanthous , yaml + , zlib default-language: Haskell2010 test-suite test @@ -198,6 +206,7 @@ test-suite test Xanthous.Data.EntityMapSpec Xanthous.DataSpec Xanthous.Entities.RawsSpec + Xanthous.EntitiesSpec Xanthous.GameSpec Xanthous.Generators.UtilSpec Xanthous.MessageSpec @@ -246,9 +255,11 @@ test-suite test , tasty , tasty-hunit , tasty-quickcheck + , text-zipper , tomland , vector , vty , xanthous , yaml + , zlib default-language: Haskell2010 |