LambdaHack-0.11.0.1: A game engine library for tactical squad ASCII roguelike dungeon crawlers

Safe Haskell | None
Language | Haskell2010

Game.LambdaHack.Common.ClientOptions

Description

Options that affect the behaviour of the client.

Synopsis

- data FullscreenMode
  - = NotFullscreen
  - | BigBorderlessWindow
  - | ModeChange
- data ClientOptions = ClientOptions {
  - schosenFontset :: Maybe Text
  - sallFontsScale :: Maybe Double
  - sfonts :: [(Text, FontDefinition)]
  - sfontsets :: [(Text, FontSet)]
  - sfullscreenMode :: Maybe FullscreenMode
  - slogPriority :: Maybe Int
  - smaxFps :: Maybe Double
  - sdisableAutoYes :: Bool
  - snoAnim :: Maybe Bool
  - snewGameCli :: Bool
  - sbenchmark :: Bool
  - sbenchMessages :: Bool
  - stitle :: Maybe String
  - ssavePrefixCli :: String
  - sfrontendANSI :: Bool
  - sfrontendTeletype :: Bool
  - sfrontendNull :: Bool
  - sfrontendLazy :: Bool
  - sdbgMsgCli :: Bool
  - sstopAfterSeconds :: Maybe Int
  - sstopAfterFrames :: Maybe Int
  - sprintEachScreen :: Bool
  - sexposePlaces :: Bool
  - sexposeItems :: Bool
  - sexposeActors :: Bool
  }
- defClientOptions :: ClientOptions

# Documentation

data FullscreenMode Source #

Kinds of fullscreen or windowed mode. See https://hackage.haskell.org/package/sdl2-2.5.3.0/docs/SDL-Video.html#t:WindowMode.

Constructors

NotFullscreen | a normal window instead of fullscreen
BigBorderlessWindow | fake fullscreen; window the size of the desktop; this is the preferred one, if it works
ModeChange | real fullscreen with a video mode change

#### Instances

Instances details

Binary FullscreenMode Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods put :: FullscreenMode -> Put Source # get :: Get FullscreenMode Source # putList :: [FullscreenMode] -> Put Source #
NFData FullscreenMode Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods rnf :: FullscreenMode -> () Source #
Generic FullscreenMode Source # |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

Associated Types

type Rep FullscreenMode |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

type Rep FullscreenMode = D1 ('MetaData "FullscreenMode" "Game.LambdaHack.Common.ClientOptions" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "NotFullscreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BigBorderlessWindow" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModeChange" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: FullscreenMode -> Rep FullscreenMode x Source #

to :: Rep FullscreenMode x -> FullscreenMode Source #

Read FullscreenMode Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods readsPrec :: Int -> ReadS FullscreenMode Source # readList :: ReadS [FullscreenMode] Source # readPrec :: ReadPrec FullscreenMode Source # readListPrec :: ReadPrec [FullscreenMode] Source #
Show FullscreenMode Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods showsPrec :: Int -> FullscreenMode -> ShowS Source # show :: FullscreenMode -> String Source # showList :: [FullscreenMode] -> ShowS Source #
Eq FullscreenMode Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods (==) :: FullscreenMode -> FullscreenMode -> Bool Source # (/=) :: FullscreenMode -> FullscreenMode -> Bool Source #
type Rep FullscreenMode Source # |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

type Rep FullscreenMode = D1 ('MetaData "FullscreenMode" "Game.LambdaHack.Common.ClientOptions" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "NotFullscreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BigBorderlessWindow" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModeChange" 'PrefixI 'False) (U1 :: Type -> Type)))

data ClientOptions Source #

Options that affect the behaviour of the client (but not game rules).

Constructors

ClientOptions |

Fields

- schosenFontset :: Maybe Text

  Font set chosen by the player for the whole UI.

- sallFontsScale :: Maybe Double

  The scale applied to all fonts, resizing the whole UI.

- sfonts :: [(Text, FontDefinition)]

  Available fonts as defined in config file.

- sfontsets :: [(Text, FontSet)]

  Available font sets as defined in config file.

- sfullscreenMode :: Maybe FullscreenMode

  Whether to start in fullscreen mode and in which one.

- slogPriority :: Maybe Int

  How much to log (e.g., from SDL). 1 is all, 5 is errors, the default.

- smaxFps :: Maybe Double

  Maximal frames per second. This is better low and fixed, to avoid jerkiness and delays that tell the player there are many intelligent enemies on the level. That's better than scaling AI sofistication down based on the FPS setting and machine speed.

- sdisableAutoYes :: Bool

  Never auto-answer all prompts, even if under AI control.

- snoAnim :: Maybe Bool

  Don't show any animations.

- snewGameCli :: Bool

  Start a new game, overwriting the save file.

- sbenchmark :: Bool

  Don't create directories and files and show time stats.

- sbenchMessages :: Bool

  Display messages in realistic was under AI control (e.g., for benchmarking).

- stitle :: Maybe String
- ssavePrefixCli :: String

  Prefix of the save game file name.

- sfrontendANSI :: Bool

  Whether to use the ANSI frontend.

- sfrontendTeletype :: Bool

  Whether to use the stdout/stdin frontend.

- sfrontendNull :: Bool

  Whether to use null (no input/output) frontend.

- sfrontendLazy :: Bool

  Whether to use lazy (output not even calculated) frontend.

- sdbgMsgCli :: Bool

  Show clients' internal debug messages.

- sstopAfterSeconds :: Maybe Int
- sstopAfterFrames :: Maybe Int
- sprintEachScreen :: Bool
- sexposePlaces :: Bool
- sexposeItems :: Bool
- sexposeActors :: Bool

#### Instances

Instances details

Binary ClientOptions Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods put :: ClientOptions -> Put Source # get :: Get ClientOptions Source # putList :: [ClientOptions] -> Put Source #
Generic ClientOptions Source # |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

Associated Types

type Rep ClientOptions |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

type Rep ClientOptions = D1 ('MetaData "ClientOptions" "Game.LambdaHack.Common.ClientOptions" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "ClientOptions" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "schosenFontset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "sallFontsScale") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "sfonts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Text, FontDefinition)]))) :*: (S1 ('MetaSel ('Just "sfontsets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Text, FontSet)]) :*: (S1 ('MetaSel ('Just "sfullscreenMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FullscreenMode)) :*: S1 ('MetaSel ('Just "slogPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) :*: ((S1 ('MetaSel ('Just "smaxFps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Double)) :*: (S1 ('MetaSel ('Just "sdisableAutoYes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "snoAnim") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))) :*: (S1 ('MetaSel ('Just "snewGameCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sbenchmark") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sbenchMessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "stitle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "ssavePrefixCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 String) :*: S1 ('MetaSel ('Just "sfrontendANSI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "sfrontendTeletype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sfrontendNull") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sfrontendLazy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "sdbgMsgCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sstopAfterSeconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "sstopAfterFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "sprintEachScreen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sexposePlaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "sexposeItems") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sexposeActors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))))))

Methods

from :: ClientOptions -> Rep ClientOptions x Source #

to :: Rep ClientOptions x -> ClientOptions Source #

Show ClientOptions Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods showsPrec :: Int -> ClientOptions -> ShowS Source # show :: ClientOptions -> String Source # showList :: [ClientOptions] -> ShowS Source #
Eq ClientOptions Source # |
Instance details Defined in Game.LambdaHack.Common.ClientOptions Methods (==) :: ClientOptions -> ClientOptions -> Bool Source # (/=) :: ClientOptions -> ClientOptions -> Bool Source #
type Rep ClientOptions Source # |

Instance details

Defined in Game.LambdaHack.Common.ClientOptions

type Rep ClientOptions = D1 ('MetaData "ClientOptions" "Game.LambdaHack.Common.ClientOptions" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "ClientOptions" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "schosenFontset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "sallFontsScale") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "sfonts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Text, FontDefinition)]))) :*: (S1 ('MetaSel ('Just "sfontsets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Text, FontSet)]) :*: (S1 ('MetaSel ('Just "sfullscreenMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FullscreenMode)) :*: S1 ('MetaSel ('Just "slogPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) :*: ((S1 ('MetaSel ('Just "smaxFps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Double)) :*: (S1 ('MetaSel ('Just "sdisableAutoYes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "snoAnim") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))) :*: (S1 ('MetaSel ('Just "snewGameCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sbenchmark") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sbenchMessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "stitle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "ssavePrefixCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 String) :*: S1 ('MetaSel ('Just "sfrontendANSI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "sfrontendTeletype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sfrontendNull") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sfrontendLazy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "sdbgMsgCli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "sstopAfterSeconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "sstopAfterFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "sprintEachScreen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sexposePlaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "sexposeItems") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sexposeActors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))))))

defClientOptions :: ClientOptions Source #

Default value of client options.