f37d0f75c0
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.
265 lines
6.8 KiB
Text
265 lines
6.8 KiB
Text
cabal-version: 1.12
|
|
|
|
-- This file has been generated from package.yaml by hpack version 0.31.2.
|
|
--
|
|
-- see: https://github.com/sol/hpack
|
|
--
|
|
-- hash: 0ec32d45d89e30640d8d59137c5eaa80e5eed7eb31cb553d9b251db94ed1ba36
|
|
|
|
name: xanthous
|
|
version: 0.1.0.0
|
|
synopsis: A WIP TUI RPG
|
|
description: Please see the README on GitHub at <https://github.com/glittershark/xanthous>
|
|
category: Game
|
|
homepage: https://github.com/glittershark/xanthous#readme
|
|
bug-reports: https://github.com/glittershark/xanthous/issues
|
|
author: Griffin Smith
|
|
maintainer: root@gws.fyi
|
|
copyright: 2019 Griffin Smith
|
|
license: GPL-3
|
|
license-file: LICENSE
|
|
build-type: Simple
|
|
extra-source-files:
|
|
README.org
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/glittershark/xanthous
|
|
|
|
library
|
|
exposed-modules:
|
|
Data.Aeson.Generic.DerivingVia
|
|
Main
|
|
Xanthous.AI.Gormlak
|
|
Xanthous.App
|
|
Xanthous.Command
|
|
Xanthous.Data
|
|
Xanthous.Data.EntityMap
|
|
Xanthous.Data.EntityMap.Graphics
|
|
Xanthous.Entities
|
|
Xanthous.Entities.Character
|
|
Xanthous.Entities.Creature
|
|
Xanthous.Entities.Draw.Util
|
|
Xanthous.Entities.Entities
|
|
Xanthous.Entities.Environment
|
|
Xanthous.Entities.Item
|
|
Xanthous.Entities.Raws
|
|
Xanthous.Entities.RawTypes
|
|
Xanthous.Game
|
|
Xanthous.Game.Arbitrary
|
|
Xanthous.Game.Draw
|
|
Xanthous.Game.Lenses
|
|
Xanthous.Game.Prompt
|
|
Xanthous.Game.State
|
|
Xanthous.Generators
|
|
Xanthous.Generators.CaveAutomata
|
|
Xanthous.Generators.LevelContents
|
|
Xanthous.Generators.Util
|
|
Xanthous.Messages
|
|
Xanthous.Monad
|
|
Xanthous.Orphans
|
|
Xanthous.Prelude
|
|
Xanthous.Random
|
|
Xanthous.Resource
|
|
Xanthous.Util
|
|
Xanthous.Util.Graphics
|
|
Xanthous.Util.Inflection
|
|
Xanthous.Util.JSON
|
|
Xanthous.Util.QuickCheck
|
|
other-modules:
|
|
Paths_xanthous
|
|
hs-source-dirs:
|
|
src
|
|
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
|
|
ghc-options: -Wall
|
|
build-depends:
|
|
MonadRandom
|
|
, QuickCheck
|
|
, aeson
|
|
, array
|
|
, base
|
|
, brick
|
|
, checkers
|
|
, classy-prelude
|
|
, constraints
|
|
, containers
|
|
, data-default
|
|
, deepseq
|
|
, file-embed
|
|
, filepath
|
|
, generic-arbitrary
|
|
, generic-lens
|
|
, generic-monoid
|
|
, groups
|
|
, lens
|
|
, megaparsec
|
|
, mtl
|
|
, optparse-applicative
|
|
, quickcheck-instances
|
|
, quickcheck-text
|
|
, random
|
|
, random-extras
|
|
, random-fu
|
|
, random-source
|
|
, raw-strings-qq
|
|
, reflection
|
|
, stache
|
|
, text-zipper
|
|
, tomland
|
|
, vector
|
|
, vty
|
|
, yaml
|
|
, zlib
|
|
default-language: Haskell2010
|
|
|
|
executable xanthous
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Data.Aeson.Generic.DerivingVia
|
|
Xanthous.AI.Gormlak
|
|
Xanthous.App
|
|
Xanthous.Command
|
|
Xanthous.Data
|
|
Xanthous.Data.EntityMap
|
|
Xanthous.Data.EntityMap.Graphics
|
|
Xanthous.Entities
|
|
Xanthous.Entities.Character
|
|
Xanthous.Entities.Creature
|
|
Xanthous.Entities.Draw.Util
|
|
Xanthous.Entities.Entities
|
|
Xanthous.Entities.Environment
|
|
Xanthous.Entities.Item
|
|
Xanthous.Entities.Raws
|
|
Xanthous.Entities.RawTypes
|
|
Xanthous.Game
|
|
Xanthous.Game.Arbitrary
|
|
Xanthous.Game.Draw
|
|
Xanthous.Game.Lenses
|
|
Xanthous.Game.Prompt
|
|
Xanthous.Game.State
|
|
Xanthous.Generators
|
|
Xanthous.Generators.CaveAutomata
|
|
Xanthous.Generators.LevelContents
|
|
Xanthous.Generators.Util
|
|
Xanthous.Messages
|
|
Xanthous.Monad
|
|
Xanthous.Orphans
|
|
Xanthous.Prelude
|
|
Xanthous.Random
|
|
Xanthous.Resource
|
|
Xanthous.Util
|
|
Xanthous.Util.Graphics
|
|
Xanthous.Util.Inflection
|
|
Xanthous.Util.JSON
|
|
Xanthous.Util.QuickCheck
|
|
Paths_xanthous
|
|
hs-source-dirs:
|
|
src
|
|
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
|
|
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
|
build-depends:
|
|
MonadRandom
|
|
, QuickCheck
|
|
, aeson
|
|
, array
|
|
, base
|
|
, brick
|
|
, checkers
|
|
, classy-prelude
|
|
, constraints
|
|
, containers
|
|
, data-default
|
|
, deepseq
|
|
, file-embed
|
|
, filepath
|
|
, generic-arbitrary
|
|
, generic-lens
|
|
, generic-monoid
|
|
, groups
|
|
, lens
|
|
, megaparsec
|
|
, mtl
|
|
, optparse-applicative
|
|
, quickcheck-instances
|
|
, quickcheck-text
|
|
, random
|
|
, random-extras
|
|
, random-fu
|
|
, random-source
|
|
, raw-strings-qq
|
|
, reflection
|
|
, stache
|
|
, text-zipper
|
|
, tomland
|
|
, vector
|
|
, vty
|
|
, xanthous
|
|
, yaml
|
|
, zlib
|
|
default-language: Haskell2010
|
|
|
|
test-suite test
|
|
type: exitcode-stdio-1.0
|
|
main-is: Spec.hs
|
|
other-modules:
|
|
Test.Prelude
|
|
Xanthous.Data.EntityMapSpec
|
|
Xanthous.DataSpec
|
|
Xanthous.Entities.RawsSpec
|
|
Xanthous.EntitiesSpec
|
|
Xanthous.GameSpec
|
|
Xanthous.Generators.UtilSpec
|
|
Xanthous.MessageSpec
|
|
Xanthous.OrphansSpec
|
|
Xanthous.Util.GraphicsSpec
|
|
Xanthous.Util.InflectionSpec
|
|
Xanthous.UtilSpec
|
|
Paths_xanthous
|
|
hs-source-dirs:
|
|
test
|
|
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
|
|
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
|
build-depends:
|
|
MonadRandom
|
|
, QuickCheck
|
|
, aeson
|
|
, array
|
|
, base
|
|
, brick
|
|
, checkers
|
|
, classy-prelude
|
|
, constraints
|
|
, containers
|
|
, data-default
|
|
, deepseq
|
|
, file-embed
|
|
, filepath
|
|
, generic-arbitrary
|
|
, generic-lens
|
|
, generic-monoid
|
|
, groups
|
|
, lens
|
|
, lens-properties
|
|
, megaparsec
|
|
, mtl
|
|
, optparse-applicative
|
|
, quickcheck-instances
|
|
, quickcheck-text
|
|
, random
|
|
, random-extras
|
|
, random-fu
|
|
, random-source
|
|
, raw-strings-qq
|
|
, reflection
|
|
, stache
|
|
, tasty
|
|
, tasty-hunit
|
|
, tasty-quickcheck
|
|
, text-zipper
|
|
, tomland
|
|
, vector
|
|
, vty
|
|
, xanthous
|
|
, yaml
|
|
, zlib
|
|
default-language: Haskell2010
|