-- | 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 , configAppDataDir :: !FilePath , configUICfgFile :: !FilePath , configSavePrefix :: !String -- macros , configMacros :: ![(K.KM, K.KM)] -- ui , configFont :: !String , configHistoryMax :: !Int , configMaxFps :: !Int , configNoAnim :: !Bool } deriving Show instance NFData ConfigUI instance Binary ConfigUI where put ConfigUI{..} = do put configCommands put configAppDataDir put configUICfgFile put configSavePrefix put configMacros put configFont put configHistoryMax put configMaxFps put configNoAnim get = do configCommands <- get configAppDataDir <- get configUICfgFile <- get configSavePrefix <- get configMacros <- get configFont <- get configHistoryMax <- get configMaxFps <- get configNoAnim <- get return ConfigUI{..}