"platform" and "language" options allow using string to set them.
This allows user to set them more easily without needing to calculate the sum of integer values and makes the config easier to understand later.
For example: this allows setting "language" to English, German and French with "en+de+fr" which is much easier to understand than setting it to "7".
Directory options can be overridden using game specific config file
New options in game specific config file:
- "subdirectories" - <bool>
- "directory" - <string>
- "subdir-game" - <string>
- "subdir-installers" - <string>
- "subdir-extras" - <string>
- "subdir-patches" - <string>
- "subdir-language-packs" - <string>
- "subdir-dlc" - <string>
Find libraries using cmake/Find*.cmake scripts
Replace Version String with CMake implementation based on CMake Version and
git ref-parse.
Compile manpages in man/CMakeLists.txt to build:
cmake .
make manpage
Set debug and release versions with
cmake -DCMAKE_BUILD_TYPE=Debug
and
cmake -DCMAKE_BUILD_TYPE=Release
Build and install process can be:
cmake -DCMAKE_BUILD_TYPE=Release .
make
make install
More build options can be found with
cmake .
make help
Codeblocks project can be generated using
cmake -G "CodeBlocks - Unix Makefiles" .
If stdin isn't a tty, the behaviour of std::getline(std::cin, email) and getpass() is different (the latter always uses /dev/tty). If input is redirected, it's probably best to just fail.
Selecting languages with --language and --language-priority
- Whatever code GOG happens to use in their API (mostly ISO 639-1)
- ISO 639-1
- ISO 639-2/T
- ISO 639-2/B
- English name
Selecting platforms with --platform and --platform-priority
- Windows: "w, win, windows"
- Linux: "l, lin, linux"
- Mac: "m, mac, osx"
Having duplicate values in priority string caused platform/language to be set to wrong value
For example --platform 1 --platform-priority 4,1,1 caused platform to be set to 6 instead of 5
Continue running commands if login was forced due to missing configuration
Allow downloading of files even if config is missing with only one prompt
for username and password