404 Commits

Author SHA1 Message Date
Dominik Kreutzer
05df996b12 Correctly create empty files during Galaxy install
Empty files have no chunks and were therefore skipped when
installing. Some games require these empty files to function
correctly.
2023-05-28 23:35:32 +02:00
Sude
ed1a61e2b3 Improve include/exclude options
DLC files can now be included/excluded separately
Bumped game details cache version number

Game specific config file changes:
- "dlc" option is deprecated and will be ignored
- "include" option is added
2023-05-17 18:03:31 +03:00
Sude
06c033eda1 Add support for exceptions in transformation rules 2023-04-26 13:59:57 +03:00
Sude
b4fdc2929c Add helper function Util::readJsonFile 2023-04-26 12:36:43 +03:00
Sude
a1a7fb4a28 Fix transforming gamename using multiple rules
The transformation was always applied to original name.
This fixes it by applying additional rules to already transfromed name.
2023-04-16 13:08:31 +03:00
Sude
19815109c3 Don't print file size or hash for missing files in --status output 2023-04-16 02:39:56 +03:00
Sude
dabfcfc180 Add option to transform gamenames
Configuration file $XDG_CONFIG_HOME/lgogdownloader/transformations.json can be used to set rules for transforming gamenames.
New subdir templates: %gamename_transformed% and %gamename_transformed_firstletter%
"--list transformations" can be used to show transformed gamenames
2023-04-15 22:19:07 +03:00
Sude
546982c717 Show total size before download and add option to check for free space
The downloader now shows total size to be downloaded
Added --check-free-space option to check if there is enough free space and abort if not enough is available
2023-04-03 14:52:09 +03:00
Sude
9cd85f69cb Don't try to get details for unowned DLCs 2023-03-28 00:57:00 +03:00
Sude
b520eb8f2f Speedup cache update
Don't override Globals::globalConfig.sIgnoreDLCCountRegex in Downloader::updateCache()
Changed how getting game details JSON is handled in Downloader::getGameDetailsThread
2023-03-27 22:20:09 +03:00
Sude
3f6b2315eb Fix getting DLC names 2023-03-27 22:09:13 +03:00
Sude
a81d63b375 Fix cookies getting overwritten
Sometimes curl handles in downloader and galaxy api class could overwrite cookies with blank cookies
Fixed this by not setting CURLOPT_COOKIEJAR by default and only using it for curl handles in website class
2023-03-24 16:08:01 +02:00
Sude
20cce5abbb Make --list able to list tags
Removed --list-tags option
Also changed the default option name "no_details" to "games"
2023-03-14 22:24:52 +02:00
Sude
9e49b6fa20 Always use array value when listing game details in JSON format 2023-03-14 09:57:10 +02:00
Sude
c9198d672d Added option to list game details as JSON
Removed --list-details option
Added --list-format to select a format that --list uses

"no_details" is the same as --list previously and the default value
"details" is the same as --list-details was previously
"json" is JSON formatted output
2023-03-13 22:25:33 +02:00
Sude
dcfd368fa0 Be more clear which url to copy & paste during login 2023-03-12 15:57:53 +02:00
Sude
c26e28a564 Refactor login code
Users can now get around reCATPCHA without the downloader being built with GUI enabled by using their browser to login
2023-03-12 15:16:49 +02:00
Sude
78c8f43576 Don't use depracated libcurl options
Use CURLINFO_SPEED_DOWNLOAD_T instead of CURLINFO_SPEED_DOWNLOAD
Use CURLOPT_UPLOAD instead of CURLOPT_PUT
2022-12-28 00:46:29 +02:00
Sude
e5d347d5b2 Add option to set message verbosity level
Replaced --verbose option with --verbosity to better control message verbosity
2022-12-16 13:35:37 +02:00
Gordon
ba4d04e4c8 Extended global flag bSizeOnly into status text generation 2022-11-18 18:17:16 +00:00
Sude
211a0a80b3 Galaxy: Add initial support for ignoring DLCs
Adds support to ignore all DLCs when installing game with --galaxy-install
2022-10-01 20:31:04 +03:00
Sude
626aa681c9 Galaxy: Fix MojoSetup hack for files that have missing XML data
Try to get file size using Content-Length header if XML data is missing
2022-10-01 20:28:03 +03:00
loki-47-6F-64
b778370a52 Fix rare error for logging in 2022-08-09 11:07:08 +02:00
loki-47-6F-64
aba2c3c9c5 Handle default locations 2022-08-08 14:20:52 +02:00
loki-47-6F-64
f8852e9ad5 Add the abillity to delete cloud saves 2022-08-04 23:55:18 +02:00
loki-47-6F-64
6870330eab Add the abillity to force upload/download of cloud saves even if up-to-date 2022-08-04 23:27:04 +02:00
loki-47-6F-64
4ff846e5cd Add a whitelist and blacklist for cloud saves 2022-08-04 23:04:37 +02:00
loki-47-6F-64
5db36f6b7f show shorter path for cloud saves 2022-08-04 20:44:05 +02:00
loki-47-6F-64
0b8a762953 Don't skip incomplete download coud saves 2022-08-04 20:18:14 +02:00
loki-47-6F-64
33ec0434aa Upload local saves to the cloud 2022-08-04 16:57:15 +02:00
loki-47-6F-64
829d263bc7 Show local cloud save files 2022-08-03 14:53:45 +02:00
loki-47-6F-64
c97a828aa7 Download cloud save files 2022-08-02 18:36:31 +02:00
loki-47-6F-64
c4f604aec0 Show cloud save paths 2022-07-31 14:11:32 +02:00
loki-47-6F-64
8e046e977d Rudimentary support for showing location of local saves for cloud saves 2022-07-28 21:11:44 +02:00
Sude
983592d09e Reduce the amount of request to cdn with --galaxy-install
Should fix the issue of getting temporarily blocked by GOG cdn when installing game with lots of small files
2022-02-17 10:30:38 +02:00
Sude
30f698867c Fix getting XML data
GOG changed something and now the server sometimes responds with gzip compressed XML data
Set CURLOPT_ACCEPT_ENCODING to enable decoding of a response when Content-Encoding header is received
Moved zlib decompression from GalaxyAPI::getResponse to GalaxyAPI::getResponseJson and made it automatic when detecting zlib header
2022-02-16 14:50:19 +02:00
Sude
ab3a2019e4 Fix --download-file option not showing progress bar 2021-11-20 12:02:42 +02:00
Sude
695916af4c Add support for tags
Adds basic support for filtering games using tags that the user can set on account page
Add option --list-tags to list all the tags user has assigned
Add option --tag to filter games using the tags
2021-11-09 14:59:42 +02:00
Dmitry Khalanskiy
554de90f46 Add a flag to avoid hash checks 2021-09-12 10:25:37 +03:00
Sude
209d83143e Skip files that are listed by API for information purposes only
For some games the API shows files with "count" and "total_size" of zero meaning that they are not available to download
These are listed on account page for information purpose only (for example to show DLCs included in the installer)
2021-08-13 15:22:48 +03:00
Sude
4e09d6357e Add directory template %gamename_firstletter%
Feature request by "coffeecup" on GOG forums
Useful for sorting big libraries with --subdir-game option
Takes the first letter from %gamename%
If %gamename% begins with a number then 0 (zero) is used instead
2021-08-06 11:46:07 +03:00
Sude
d307d22195 Check for invalid path in GalaxyAPI::fileJsonNodeToGameFileVector
Skip the file if we get invalid path for some reason.
This should help with issue #200 (Crashes when downloading "secure")
2021-08-06 11:25:54 +03:00
Sude
584fef3988 Use duplicate handler for extras
Makes downloader use duplicate handler for extras
This should help to avoid a race condition mentioned in issue #200 (Crashes when downloading "secure") because the downloader no longer tries to download the same file from multiple threads
2021-08-06 11:23:02 +03:00
Sude
eef1d4d15e Make failure to set timestamp not critical
Print warning message about the error but continue instead of dying
2021-04-06 18:16:35 +03:00
Sude
04592d512a Don't change globalConfig.bLogin value in Downloader::isLoggedIn 2021-03-31 15:39:18 +03:00
Sude
36181afb4d Fix return value of Downloader::login
https://github.com/Sude-/lgogdownloader/issues/194
2021-03-30 16:22:52 +03:00
Ismo Toijala
3bc9efef6c Retry download also on CURLE_SSL_CONNECT_ERROR
Sometimes the download fails with CURLE_SSL_CONNECT_ERROR and retrying
is successful.
Sometimes multiple retries are needed, but that is already handled by
the existing code.
2020-12-30 11:36:38 +02:00
Timotej Lazar
649fa40656 Improve recaptcha detection
Recaptcha form can be served from different domains, so look for the
form class instead.
2020-11-29 10:37:44 +01:00
Timotej Lazar
8fe1fc4118 Fix getting redirect URL from curl
The char* set by curl_easy_getinfo may not be valid after the next
curl_easy_perform, so copy it to a std::string instead.
2020-11-28 22:31:54 +01:00
Sude
fe7fad300b Show installer and patch version when listing game details 2020-11-27 21:46:12 +02:00