Commit Graph

165 Commits

Author SHA1 Message Date
Sandy Carter
a5cc950192 CMake: Convert Makefile build to CMake
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" .
2016-01-03 16:50:29 -05:00
Sude
8780b9c53c Possible fix for crash after login 2015-11-18 15:21:22 +02:00
Sude
97d01b2de6 Version 2.26 2015-10-14 15:24:02 +03:00
Sude
3465384e0b Use include/exclude options to select what to download/list/repair
The default is "--include all --exclude covers"
2015-10-07 11:52:04 +03:00
Sude
211aa3a3e6 Combine priority handling with --platform and --language options
Use "+" as separator to combine values and "," to set priority
2015-10-03 19:09:50 +03:00
Sude
ba27e4fbcc Add version string and number to cached game details 2015-10-03 19:00:51 +03:00
Sude
d9587e4544 Version 2.25 2015-09-05 11:15:15 +03:00
Sude
0a7e3a217e Update help text of --download-file option 2015-09-05 11:11:12 +03:00
Sude
63145eef0d Simplify string parsing for downloading with file ids 2015-09-03 13:18:30 +03:00
Sude
b4fd9fcf5c Use regular expressions for getting language and platform option values
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"
2015-09-02 11:16:00 +03:00
Sude
2206e988a6 Initial support for using platform/language strings to set options 2015-09-01 14:45:34 +03:00
Sude
9b560d786e Some minor code cleanup 2015-09-01 13:59:54 +03:00
Sude
887ac52563 Some improvements to priority handling
Fixes issues with some strings that caused issues previously
For example: 4,,1 is now handled correctly
2015-08-29 16:18:20 +03:00
Sude
a8e09a7f48 Use same structure for language and platform structs 2015-08-29 15:03:20 +03:00
Sude
06d211f534 Simplify and remove duplicate code for getting config directory paths 2015-08-29 14:26:36 +03:00
Sude
f992466ddf Fix priority handling with duplicate values
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
2015-08-29 14:22:18 +03:00
Sude
f9c15dfaca Make automatic xml creation default for --create-xml 2015-08-29 14:18:10 +03:00
Sandy Carter
9c2f35bb27 Only return if --save-config is specified
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
2015-08-17 19:27:23 -04:00
Sandy Carter
a066e99bad If no login method is defined default to api 2015-08-17 19:20:57 -04:00
Sandy Carter
5c9488fc13 Prevent the use of --output-file when downloading multiple files 2015-08-15 07:57:43 +03:00
Sude
b6d07f5343 Merge branch 'outname' of https://github.com/bwrsandman/lgogdownloader 2015-08-15 07:56:53 +03:00
Sandy Carter
bc92655702 Add output filename option
Add -o option to specify path and downloaded file name when using
--download-file
Overrides --directory
2015-08-14 23:15:15 -04:00
Sandy Carter
b19314af78 Enable multiple file download with protocol address
Implement download of gog addresses containing commas of the form:
    gogdownloader://GAME_NAME_1/FILE_ID1,GAME_NAME_2/FILE_ID2,...
2015-08-14 21:48:58 -04:00
Sandy Carter
04251776d3 Interpret protocol-prefixed argument as download argument 2015-08-14 21:48:58 -04:00
Sandy Carter
1eb2e8deaa Strip out protocol substring for file download 2015-08-14 21:48:55 -04:00
Sude
6132b7a96c Add .sh to orphan check regex 2015-08-14 20:36:23 +03:00
Sude
b65084dd65 Remove --no-deb and --no-targz options
GOG no longer provides deb and tarball archives
2015-08-12 17:15:14 +03:00
Sude
f51cca5dff Add options to login separately to website and API 2015-08-12 16:42:54 +03:00
Sude
4c6ac86619 Version 2.24 2015-07-11 14:51:11 +03:00
Sude
64690d0368 Add status code for file size mismatch 2015-07-02 03:01:21 +03:00
Sude
0f2268cb67 Use ".*" as default for --ignore-dlc-count 2015-06-21 17:25:45 +03:00
Sude
9c80ed1d39 Implicitly set the default value for ignore-dlc-count option 2015-06-21 05:57:30 +03:00
Sude
834e6baa7a Add options to ignore DLC count information
Ignoring DLC count information helps in situations where the account page doesn't provide accurate information about DLCs.
--ignore-dlc-count sets regular expression filter for games to ignore DLC count information.
Game specific option "ignore-dlc-count" can be used to ignore DLC count for specific game.
2015-06-01 10:45:30 +03:00
Sude
8caaf30f16 Version 2.23 2015-05-17 19:04:59 +03:00
Sude
61cc4187e6 Wishlist option should not be saved to config file 2015-05-17 18:47:04 +03:00
Sude
6a8d21b5f7 Version 2.22 2015-05-16 23:52:52 +03:00
Sude
29e6b6290c Add option to show wishlist 2015-05-13 17:13:30 +03:00
Sude
d97849818e Add option to download files using file id 2015-04-11 16:42:10 +03:00
Sude
84c3385e87 Version 2.21 2015-04-07 13:45:56 +03:00
Sude
3834c1e612 Add option to skip fast platform detection
Useful in case platform identifier is missing for some games in the game shelf.
Using --platform with --list doesn't work when using --no-platform-detection
2015-03-28 12:52:41 +02:00
Sude
216cfaedfe Add support for saving serial numbers 2015-03-19 09:50:50 +02:00
Sude
61e0c31775 Version 2.20 2014-12-06 20:10:13 +02:00
Sude
6751205ff3 Fix regex alias "all" for cached details 2014-11-17 16:28:43 +02:00
Sude
cb2395b0ba Make config and cookie files only readable/writable by current user 2014-10-28 21:03:02 +02:00
Gael Le Mignot
1204ea247e Preparation work on priority mode: config file parsing, documentation. 2014-10-25 17:57:04 +02:00
Sude
ffaed76c34 Version 2.19 2014-10-21 13:36:20 +03:00
Sude
eef4712b6e Make sure that cache directory exists 2014-10-16 11:31:08 +03:00
Sude
9235ee8b4a Add support for caching game details
Helps with large libraries when running the downloader multiple times.
Getting game details for many games takes a long time. Caching the game details makes the process much faster for subsequent runs.

Game details are cached to "$XDG_CACHE_HOME/lgogdownloader/gamedetails.json"
--update-cache creates and updates the cache.
--use-cache enables loading game details from cache.
--cache-valid specifies how long cached game details are considered valid
2014-10-16 11:05:57 +03:00
Sude
b954df2bbc Version 2.18 2014-09-21 14:37:29 +03:00
Sude
5f7d04334f Use current directory if directory wasn't specified 2014-09-19 23:07:16 +03:00
Sude
5635909e20 Add support for setting subdirectories
Allows user to specify subdirectories for games, installers, extras, patches, language packs and dlc
2014-09-19 22:46:03 +03:00
Sude
4d404fc7df Rename old file instead of deleting it during --repair --download 2014-09-17 13:05:04 +03:00
Sude
7a15a93676 Change --report option to allow setting the filename of report 2014-09-17 12:41:01 +03:00
Stephen Kitt
a6eaeb1a5b Avoid touching $HOME when displaying help or version
Currently any execution of lgogdownloader touches $HOME, even if the
user only requested help or the version number. This fixes main() to
handle --help and --version before doing anything to the filesystem.

This also helps some build environments where $HOME is undefined
(e.g. the Debian build platform).

Signed-off-by: Stephen Kitt <steve@sk2.org>
2014-09-11 23:38:23 +02:00
Sude
369e8bb10b Add --no-cover option back
Used to override --cover option.
2014-09-05 20:25:40 +03:00
Sude
83ef937089 Allow unrecognized options in config file 2014-09-05 14:02:08 +03:00
Sude
10233291eb Version 2.17 2014-08-30 11:13:53 +03:00
Sude
cd2d1f22f8 Added --cover-list option to set url for cover list 2014-08-28 16:00:24 +03:00
Sude
6fa03e1219 Version 2.16 2014-08-21 11:49:11 +03:00
Sude
5dd8332b9e Add --no-deb and --no-targz command line options 2014-08-18 07:59:04 +03:00
Sude
11be8a79cd Add .pkg to to orphan check regex
.pkg is used for Mac patches
2014-08-18 07:49:22 +03:00
Sude
214a843e2c Change --no-cover to --cover
Don't download covers by default
2014-08-15 16:51:48 +03:00
Sude
eda6c67854 Add .deb and .tar.gz to orphan check regex 2014-07-31 15:12:00 +03:00
Sude
027b25a5e8 Version 2.15 2014-07-24 17:26:26 +03:00
Sude
630d8a31c3 Add support for Linux installers 2014-07-24 15:36:50 +03:00
Sude
9c1fe65e81 Version 2.14 2014-07-07 15:59:14 +03:00
Sude
31c547be8a Fix saving config when init fails but --login was not used 2014-07-07 15:57:07 +03:00
Sude
92b8ef3750 Don't print config values when saving config file 2014-07-06 17:22:26 +03:00
Sude
ce26a4b020 Don't reset options set in config file on --login 2014-07-06 17:20:06 +03:00
Petr Běhan
95fd2bbff1 implemented blacklist for --download, --repair and --check-orphans 2014-07-02 19:56:18 +03:00
Petr Běhan
80cb7ee27a remove duplicated code in path initialization 2014-07-02 19:56:18 +03:00
Sude
610f9da809 Version 2.13 2014-06-20 11:57:23 +03:00
Sude
f25c37074a Added --wait option to set delay for http requests
May help with some errors that could be caused by too many requests in short time
2014-06-10 12:16:49 +03:00
Sude
50cc5a2565 Added DLC support 2014-03-29 01:51:39 +02:00
Sude
3d102bf954 Version 2.12 2014-03-09 23:04:17 +02:00
Sude
4dba1c2890 Make --check-orphans work with --download 2014-02-28 12:54:40 +02:00
Sude
f671834068 Retry failed/partially downloaded files
Added --retries option to set maximum number of retries
2014-02-26 14:59:23 +02:00
Sude
3f7669a775 Added --no-subdirectories option 2014-02-23 03:16:10 +02:00
Sude
9dda0fccdc Added --report option 2014-02-13 10:05:16 +02:00
Sude
d2421ba4f8 Added --version 2014-02-06 09:27:30 +02:00
Sude
3b4def2ebe Add support for setting default options in config file
Added --save-config and --reset-config options
2014-02-03 19:28:48 +02:00
Sude
d31a5c05b7 Version 2.11 2014-01-05 16:06:19 +02:00
Sude
1238f54143 Remove environment check because it's not used for anything 2014-01-05 16:04:23 +02:00
Sude
b59210c251 Changed --check-orphans to set regular expression filter for orphan check.
If no argument is given then the regex defaults to '.*\.(zip|exe|bin|dmg|old)$'
2013-12-22 13:02:48 +02:00
Sude
d430af63d0 Support XDG Base Directory Specification
Configuration files and cookies are now stored in "$XDG_CONFIG_HOME/lgogdownloader"
if $XDG_CONFIG_HOME is not set it will use "$HOME/.config/lgogdownloader"

XML files are now stored in "$XDG_CACHE_HOME/lgogdownloader/xml"
if $XDG_CACHE_HOME is not set it will use "$HOME/.cache/lgogdownloader/xml"
2013-12-11 11:27:53 +02:00
Sude
c998207e08 Version 2.10 2013-11-29 15:47:08 +02:00
Sude
6b4010d9c5 Changed all remaining "negative" variables to "positive" in config.h
Code was becoming really confusing with all the double negatives in conditions, for example: if(!bNoInstallers)
Added some comments to code
2013-11-19 12:47:10 +02:00
Sude
c4585d3d61 API change: added duplicate handler for installers
API::getGameDetails now has a parameter to enable duplicate handling (default: false)
The duplicate handler applies a language id flag on the original installer so it shows support for multiple languages

Downloader uses duplicate handler by default
Added --no-duplicate-handling option to disable duplicate handler
2013-11-18 13:28:27 +02:00
Sude
0d9c27d20a Added --status command and made createXML output easier to read
Version check before download now works without local XML data. However it is much slower without the XML data because it calculates MD5 for the files

Some changes to config.h
- Removed "bHelp" from config because it was not needed
- Changed "bNoColor" to "bColor"
- Changed "bNoUnicode" to "bUnicode"
2013-11-14 15:40:59 +02:00
Sude
4584b81a4b Version 2.9 2013-10-15 14:56:32 +03:00
Sude
f2794ededf Added --check-orphans to check for orphaned files
Checks for orphaned files (files found on local filesystem that are not found on GOG servers) and prints their path
2013-10-14 22:31:12 +03:00
Sude
a05f9f8d60 Version 2.8 2013-08-11 16:37:22 +03:00
Sude
fe238a2959 Added support for language packs and improved patch detection 2013-08-09 23:14:10 +03:00
Sude
7a1aae0a06 Version 2.7 2013-08-02 16:22:51 +03:00
Sude
f992816465 Use proper English: renamed --unsecure to --insecure 2013-08-02 15:54:37 +03:00
Sude
9f715aa2d1 Enable --limit-rate for 32-bit systems 2013-06-28 15:49:00 +03:00
Sude
fe70090b74 Added --timeout option to set timeout for connection phase 2013-06-10 15:15:08 +03:00
Sude
b1db888094 Version 2.6 2013-06-08 00:51:30 +03:00
Sude
f11ff9e7e4 Added support for downloading patches 2013-05-15 01:28:37 +03:00
Sude
1c8f1d9885 Version 2.5 2013-05-04 19:49:49 +03:00