Commit Graph

461 Commits

Author SHA1 Message Date
Sude
dd5714690c Galaxy: Use regex for language detection in --galaxy-install
Some builds use different language codes.
It looks like all of them are in format Language-Country/Region.
Added these new codes to regex in GlobalConstants::LANGUAGES.
Use regular expression to detect the language instead of language code.
2018-05-29 09:56:38 +03:00
Sude
463a9c386e Galaxy: Add hack for installing Linux games
Try to use Linux installers as replacement for Galaxy repository.
Linux installers use MojoSetup which means that the installers are Zip files that have bash script and installer binary prepended.
We can get zip file entries from zip central directory and then split the game installer to chunks based on those file entries.
Therefore we can download individual files from the installer.
2018-05-29 08:56:29 +03:00
Sude
7373d357aa Fix -Wcatch-value for GCC 8 2018-05-14 12:29:51 +03:00
Sude
8ca7722853 Skip complete files instead of trying to resume 2018-05-14 12:22:05 +03:00
Sude
04370b8b53 Better help text for galaxy-install and galaxy-show-builds 2018-05-14 11:38:56 +03:00
Sude
c6e5214910 Remove numeric option values from help text 2018-05-14 11:25:52 +03:00
Sude
ef1a344610 Remove cover download support 2018-05-14 11:12:10 +03:00
Sude
d0177031e6 Use std::string instead of JSONCPP_STRING 2018-02-15 19:42:10 +02:00
Sude
553c6dce1c Galaxy: Add support for generation 1 builds to --galaxy-show-builds 2018-02-12 19:03:56 +02:00
Sude
40cbb5fccb Galaxy: Show generation in --galaxy-show-builds output 2018-02-12 18:51:05 +02:00
Sude
e9ac6d072f Galaxy: Make --galaxy-install multithreaded 2018-02-12 18:46:17 +02:00
Sude
b384dfd0c1 Remove unused variable 2018-01-11 10:00:11 +02:00
Sude
b90b7288d4 Merge https://github.com/haphi/lgogdownloader 2018-01-11 09:58:39 +02:00
Hans Philipp Annen
5bf6a9ed97 Remove usage of obsolete Json::StyledStreamWriter class. 2017-12-20 18:17:36 +01:00
Hans Philipp Annen
76d8548fc9 Remove usage of obolete Json::Reader class. 2017-12-20 18:12:59 +01:00
Sude
90dcaf0106 Add options to set low speed timeout values for libcurl 2017-11-08 15:20:03 +02:00
Sude
8cb0b99008 Version 3.3 2017-11-03 16:23:17 +02:00
Sude
8191b9d0a3 Galaxy: Workaround for file name issue 2017-10-18 13:19:25 +03:00
Sude
3f8a8d6b68 Galaxy: Remove duplicate code
Removed duplicate code by unifying various *JsonNodeToGameFileVector functions
2017-10-18 13:13:35 +03:00
Sude
257946dbc1 Workaround for crash with older version of jsoncpp 2017-10-12 00:29:04 +03:00
Sude
b0a90f6c60 Galaxy: Use en-US locale for product info 2017-10-12 00:23:15 +03:00
Sude
eee162177f Galaxy: Fix getting file name (again)
GOG changed the url formatting in "downlink" json response again.
Check which format is in use and select proper method for the format.
2017-10-10 16:53:07 +03:00
Sude
79aa66a2d3 Galaxy: Fix getting file name
GOG changed part of the API which caused lgogdownloader to not get valid file name.
Change galaxyAPI::installerJsonNodeToGameFileVector and galaxyAPI::extraJsonNodeToGameFileVector to get proper file name.
2017-10-10 10:12:18 +03:00
Sude
6c2a3b4392 Save Galaxy tokens in destructor 2017-09-20 07:01:43 +03:00
Sude
257b6b0137 Update login check 2017-09-20 06:59:43 +03:00
Sude
edc6486637 Update login function
Downloader::login will fail if Galaxy API login is not successful.
Exporting cookies no longer works because Galaxy API login is tied to website login.
2017-09-20 06:08:45 +03:00
Sude
2d70bdfacb Galaxy: Add DLC info to game details only if DLC has any files 2017-09-15 13:06:02 +03:00
Sude
fd27b93486 Check and refresh Galaxy login before using Galaxy API handle 2017-09-15 03:11:03 +03:00
Sude
c9b6ea4a52 Galaxy: Add some checks to GalaxyConfig class
Check that json contains the node before trying to get value
2017-09-15 02:17:44 +03:00
Sude
706158d595 Get game details using Galaxy API
Game details are now acquired using Galaxy API.
Allow using most features without valid downloader API login by changing Downloader::isLoggedIn to return false only if website is not logged in.
--download-file still uses old API and will not work without valid API login. Downloader::downloadFileWithId prints error message and exits if user doesn't have valid API login.
Game details cache version is incremented because of changes to gameFile class.
Show product id for DLCs when using --list-details option.
Rewrote Downloader::repair to remove duplicated code.
Fixed serials containing <br> tags.
2017-09-13 16:46:46 +03:00
Sude
6f42fec671 Reset the value for chunk retry limit
Forgot to reset the value in 709235613f
2017-09-01 08:20:05 +03:00
Sude
709235613f Add retry limit for failed chunk repairs
If repairing a chunk failed then the downloader could get stuck in infinite loop trying to repair the chunk.
This fixes the issue by adding a retry limit for failed chunk repairs.
2017-09-01 08:08:33 +03:00
Sude
ac602f8188 Merge https://github.com/0-wiz-0/lgogdownloader 2017-08-29 13:14:54 +03:00
Thomas Klausner
da9afb175f cmake: use GNUInstallDirs for easier packaging. 2017-08-29 11:52:40 +02:00
Sude
638590ccfd Update man page
Remove old information about platform support.
2017-08-19 14:01:48 +03:00
Sude
8a71c63b20 Add option to set interval for progress bar update 2017-08-18 09:33:10 +03:00
Sude
4f8843312c Expose galaxy options as experimental options in help text 2017-08-18 09:19:48 +03:00
Sude
35192fd725 Add option to set user agent 2017-08-01 23:59:11 +03:00
Sude
a9e61b00ba API: Unescape file paths
Some file paths returned by the API are url encoded.
Use curl_easy_unescape to url decode all file paths returned by the API.
2017-07-07 16:26:33 +03:00
Sude
3fb05682c6 Fix help text for --subdir-installers 2017-06-07 11:53:10 +03:00
Sude
6b8d5ff744 Preserve timestamps
Get timestamps from server for all downloaded files and set the last modified date to that.
Should also change timestamps for previously downloaded files when using single or multi threaded mode.
Retroactively changing timestamps doesn't work for files downloaded with --galaxy-install because Downloader::galaxyInstallGame doesn't try to download the file if it already exists and is the same file as on server.
2017-06-07 11:22:42 +03:00
Sude
672e6f8207 Galaxy: Check for orphaned files
Check and list orphaned files after download/installation with --galaxy-install is finished
2017-05-23 16:53:24 +03:00
Sude
29e5febab0 Galaxy: Support selecting platform architecture
Add option --galaxy-arch to select architecture.
Supports selecting platform architecture when "osBitness" is set for depot.
If "osBitness" is not set in API response then assume that we want to download the files from depot.
2017-05-23 16:44:27 +03:00
Sude
66c1d6d51e Add language: Spanish (Latin American) 2017-05-23 12:33:47 +03:00
Sude
6c6cad4048 Add language: Ukrainian 2017-05-16 17:36:00 +03:00
Sude
8f55f3aa7a Update url for login check 2017-04-28 19:21:19 +03:00
Sude
1f7d559bfa Version 3.2 2017-03-07 07:32:13 +02:00
Sude
d4a6791e65 Galaxy: Add option to select language 2017-03-06 07:22:34 +02:00
Sude
8cbc62b8cd Galaxy: Fix downloading DLC files
Add product id from depot JSON to galaxyDepotItem struct

Previously downloader failed to download DLC files because DLCs have different product id than base game
Fix downloading DLC files by setting product id for each depot item
2017-03-06 06:58:11 +02:00
Sude
f5af312fd4 Add option to set login info on command line or read it from file
Add --login-email and --login-password to set login info on command line

Read login info from $XDG_CONFIG_HOME/lgogdownloader/login.txt if the file exists
login.txt must contain email on the first line and password on the second line
2017-03-06 05:46:48 +02:00