alexeevdv/falltergeist — pull request #103 by smaximov (2014-09-19 12:17:56+00:00)
Title: Read engine settings from configuration file

Configuration file is read from `$HOME/.falltergeist/config.ini`. Sample config:

```
# Video settings
[video]
width=640
height=480
# sdl or opengl
renderer=sdl

# Audio settings
[audio]
enabled=no
```

Config file is a regular INI file.

1. Property (keys) and section names are case-insensitive.
2. Lines starting with `#` and `;` are treated like comments and ignored.
3. Parser supports four value types:

**Type** | **Description**
:---------: | ---------------
bool | a boolean value; literal values `on`, `true`, `yes` are truthy, `off`, `false`, `no` are falsy
int | signed integer
double | floating value with optional exponent
string | all values which was not parsed as the bool, int, or double.

`EngineSettings` class was created (`src/Engine/Settings.{h,cpp}`). EngineSettings currently support three options: screen width and height and rendered.