Commit Graph

433 Commits

Author SHA1 Message Date
Sude
50cc5a2565 Added DLC support 2014-03-29 01:51:39 +02:00
Sude
8435fb2566 Use duplicate handler for patches 2014-03-18 18:43:53 +02:00
Sude
8f5ef9a7a6 Urldecode extra links before getting pathname from links
Some extras had spaces in filename. This caused url encoded character %20 to be used instead of space in filenames.
2014-03-17 10:25:08 +02:00
Sude
fd5d9a4b43 More integer overflow fixes in Util::createXML 2014-02-28 03:03:35 +02:00
Sude
d31613dee7 Fix integer overflow when creating xml data
TiXmlElement::SetAttribute casted "size_t" to "int" which caused it to overflow
2014-02-27 11:52:39 +02:00
Sude
8115e591ca Fix wrong condition in f671834 2014-02-26 15:34:31 +02:00
Sude
c70a6c3775 Save xml data to subdirectories
$XDG_CACHE_HOME/lgogdownloader/xml/gamename/filename.xml
Fixes problem with some games using same filenames for extras
2014-02-26 15:04:16 +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
66bd53b714 Possible fix for some extras having wrong path names
(for example: URL as path or NUL bytes in path)
2014-02-17 16:49:29 +02:00
Sude
cae29a1c1d Add XDG Base Directory Specification support to Util::createXML
I forgot to change Util::createXML in d430af6
2014-02-17 14:26:12 +02:00
Sude
1c26af48d2 Use subdirectories for extras, patches and languagepacks
The simple extras detection in Util::makeFilePath is replaced with argument for setting subdirectory
2014-02-17 14:19:40 +02:00
Sude
cfe4311209 Save to log after each file instead of waiting until destructor is called 2014-02-13 11:16:31 +02:00
Sude
9dda0fccdc Added --report option 2014-02-13 10:05:16 +02:00
Sude
44220211d5 Fix segfault in cover download 2014-02-03 19:10:02 +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
b49c12b88c Fix automatic xml creation in Downloader::repairFile 2013-12-14 14:24:52 +02:00
Sude
d912a09b2b More changes to Downloader::repairFile 2013-12-12 14:21:43 +02:00
Sude
b0f157c710 Some changes to Downloader::repairFile 2013-12-12 11:01:25 +02:00
Sude
65f407d076 Close the file on memory and read error in Downloader::repairFile 2013-12-11 10:38:32 +02:00
Sude
388ea9e038 Call Downloader::getGameDetails() from the functions that need it instead of using conditions in Downloader::getGameList() 2013-11-26 12:59:42 +02:00
Sude
8d690a920e Simplify output of update check 2013-11-26 12:31:20 +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
1cd79a2292 Sort by title when using "--game free" 2013-11-17 11:01:35 +02:00
Sude
35e64bbe1e Change url for cover xml data 2013-11-14 15:52:14 +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
1173aff367 Fix bug in Downloader::HTTP_Login 2013-11-02 21:10:01 +02:00
Sude
359df14b4a Fix login bug 2013-10-20 02:20:04 +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
34236e3774 Don't try to get extras from account page if --no-extras is used 2013-10-13 12:53:44 +03:00
Sude
08b0e10429 API changes: preliminary support for the new "silent" flag 2013-10-13 12:21:14 +03:00
Sude
eb0208fffa API changes: "#updated" flag is replaced by "notificated" flag 2013-10-13 12:16:25 +03:00
Sude
2a253f6357 Get details about game extras from account page 2013-10-13 11:55:46 +03:00
Sude
a183bb59e6 Allow automatic xml creation durring --repair --download 2013-09-04 21:03:43 +03:00
Sude
e6994d7f5f Fix for downloading missing files with --repair --download without xml data 2013-09-04 20:52:22 +03:00
Sude
c9668c66d2 Fix listing/downloading free games using "--game free" 2013-09-04 19:58:03 +03:00
Sude
795a131c15 Show download rate in MB/s when it exceeds 1MB/s 2013-08-27 10:01:04 +03:00
Sude
fe238a2959 Added support for language packs and improved patch detection 2013-08-09 23:14:10 +03:00
Sude
e0a238b587 Fix crash caused by a change in API response for patches
Also fixes a bug that caused some patches to be ignored (patch file number was not reset after while loop that increased it)
2013-08-09 18:29:39 +03:00
Sude
b73a095f5f Move the API constants from GlobalConstants to API as private members 2013-08-02 16:18:55 +03:00
Sude
7d24c589d2 Download missing files when repairing with --repair --download 2013-07-01 16:57:55 +03:00
Sude
b3792554bf Added curlSetOpt() method to API for setting curl options 2013-06-28 16:06:08 +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
f1a138e6bf Simplify code by using std::to_string 2013-06-08 00:32:31 +03:00
Sude
d8272e30f8 Set some curl options in Downloader::init()
Removes some duplicate code
Downloader::getResponse restores write function to Downloader::writeData
2013-06-08 00:25:48 +03:00
Sude
eed1845428 Detect errors on login 2013-06-01 17:22:37 +03:00
Sude
f3ba069f50 Don't try to list extras if there aren't any 2013-05-23 22:01:57 +03:00
Sude
5b2c4ae00a Minor code cleanup, use std::to_string instead of stringstream 2013-05-23 16:04:31 +03:00
Sude
f11ff9e7e4 Added support for downloading patches 2013-05-15 01:28:37 +03:00
Sude
7a9dd503a1 Made API config private member 2013-05-04 19:46:42 +03:00
Sude
bc787e5f6c Some code cleanup for repairFile function 2013-04-29 11:06:15 +03:00
Sude
01430a5735 Code and comment cleanup 2013-04-28 18:46:37 +03:00
Sude
e27c585ed7 Verify authenticity of SSL certificates by default
Added option --unsecure to disable authenticity verification
2013-04-25 12:05:17 +03:00
Sude
9ee5f75bfb Rename global constants to better describe what they mean 2013-04-25 10:48:10 +03:00
Sude
1593c58a01 Add trailing slash to API urls 2013-04-24 14:39:00 +03:00
Sude
d4db79e783 Added version detection before resuming download
Tries to detect if remote file is different from local file before resuming
Remote XML data is saved when download is started
2013-04-08 13:43:11 +03:00
Sude
9d59b8f5cf Always close file in repair 2013-04-06 19:35:20 +03:00
Sude
cfbc61d1f7 Formatting changes to repair 2013-04-06 05:50:44 +03:00
Sude
f3f26d4da3 Added redownload option to repair. 2013-04-05 21:19:03 +03:00
Sude
55134979fb Update the url for WTFPL license 2013-03-24 23:56:57 +02:00
Sude
e2253ebeca Partially revert "Add language to installer path if it is missing"
Reverts some changes from 97e948abb4.

Revert automatically adding the language code to filename:
http://gog.com/forum/general/introducing_the_beta_release_of_the_new_gogcom_downloader/post1483
Keep language in gameFile class because it may be useful later.
2013-03-24 00:23:40 +02:00
Sude
3131b00589 Use global constants to simplify adding support for more languages/platforms 2013-03-23 20:12:49 +02:00
Sude
c40b4d96fe Added support for more languages
Chinese, Czech, Spanish, Hungarian, Italian, Japanese and Turkish
2013-03-23 16:07:42 +02:00
Sude
97e948abb4 Add language to installer path if it is missing 2013-03-23 15:42:09 +02:00
Sude
fab2ab5b94 whitespace fix 2013-03-16 23:35:57 +02:00
Sude
5ad708e5b6 Use the new "#name" variable in the API for installers 2013-03-16 23:21:01 +02:00
Sude
6aa24207c3 --verbose now also sets curlhandle in API to verbose 2013-03-16 22:33:03 +02:00
Sude
57415af1c1 increase the connection timeout to 10 seconds in API 2013-03-16 22:22:05 +02:00
Sude
dab6bd937e allow only 1 redirect when POSTing login info 2013-03-16 21:48:52 +02:00
Sude
53f82e5c96 inform the user if login was successful 2013-03-16 21:16:58 +02:00
Sude
8e1c6f81e4 return from Downloader::init() immediately after login 2013-03-16 21:04:55 +02:00
Sude
dd35019c45 Increase connection timeout to 10 seconds.
Don't convert POST requests into GET requests when following redirects (respect RFC 2616/10.3.2)
2013-03-16 20:48:35 +02:00
Sude
7bd77a7dfe Don't list extras when doing update check 2013-03-16 05:00:55 +02:00
Sude
2e2e87a76b Fix bug in update check and fix cover download condition 2013-03-16 04:56:32 +02:00
Sude
25055a03c8 add game details only once to the list of games when doing update check 2013-03-16 04:08:30 +02:00
Sude
97273e8747 Fixed a typo that caused update flag to be set true for all installers 2013-03-16 03:47:38 +02:00
Sude
580f080aaf Show update status for installers when listing details 2013-03-16 03:41:55 +02:00
Sude
14432fb9aa Added listing and automatically downloading updated files 2013-03-16 03:20:16 +02:00
Sude
90c0b2be79 Use static memory allocation for extras and installers in gameDetails 2013-03-15 23:33:53 +02:00
Sude
2d045c4052 Initial commit 2013-03-15 22:46:16 +02:00