Files
loop/src/LoadConfig.hs
T
2021-05-17 23:23:10 +02:00

30 lines
742 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
module LoadConfig where
import Data.Aeson
--import Foreign.C.Types
import GHC.Generics
--import qualified GHC.Int
--import qualified SDL
--import System.Directory
data Configuration = Configuration
{ windowxsize :: Int,
windowysize :: Int
}
deriving (Generic, Show)
instance ToJSON Configuration where
toEncoding = genericToEncoding defaultOptions
instance FromJSON Configuration
loadConfig :: IO (Int, Int)
loadConfig = do
mayConfig <- decodeFileStrict "config.json"
case mayConfig of
Just config -> return (windowxsize config, windowysize config)
Nothing -> do
putStrLn "invalid config.json, loading default config"
return (800, 600)