-- | Personal game configuration file type definitions. module Game.LambdaHack.Client.Config ( ConfigUI(..) ) where import Control.DeepSeq import Data.Binary import Game.LambdaHack.Client.HumanCmd import qualified Game.LambdaHack.Common.Key as K -- | Fully typed contents of the UI config file. This config -- is a part of a game client. data ConfigUI = ConfigUI { -- commands configCommands :: ![(K.KM, HumanCmd)] -- files , configAppDataDirUI :: !FilePath , configUICfgFile :: !FilePath -- macros , configMacros :: ![(K.KM, K.KM)] -- ui , configFont :: !String , configHistoryMax :: !Int } deriving Show instance NFData ConfigUI instance Binary ConfigUI where put ConfigUI{..} = do put configCommands put configAppDataDirUI put configUICfgFile put configMacros put configFont put configHistoryMax get = do configCommands <- get configAppDataDirUI <- get configUICfgFile <- get configMacros <- get configFont <- get configHistoryMax <- get return ConfigUI{..}