Commit Graph

546 Commits

Author SHA1 Message Date
Sude
5bfb00bb31 Changed gameFile format and gamedetails cache format
gameFile now contains gamename and file type info
Game details cache format has been changed to match gameFile changes
Cache also has a new "gamedetails-cache-version" field that can be used to detect cache format changes
2016-04-25 18:14:04 +03:00
Sude
2538825fb2 Add missing WTFPL license text to gameDetails and gameFile classes 2016-04-18 20:39:31 +03:00
Sude
33fb004cdd Move GOG website related members of Downloader class to new Website class
Downloader::HTTP_Login --> Website::Login
Downloader::getGames --> Website::getGames
Downloader::getFreeGames --> Website::getFreeGames
Downloader::getGameDetailsJSON --> Website::getGameDetailsJSON
Getting wishlist details is split from Downloader::showWishlist to Website::getWishlistItems function
2016-04-18 20:33:19 +03:00
Sude
519cb78d38 Fix compiling with JsonCpp 1.7.1 2016-03-25 23:09:17 +02:00
Sude
3e61a94d1e Version 2.27 2016-03-12 20:36:35 +02:00
Sude
a0650129f7 Don't print help text after login 2016-03-12 09:37:30 +02:00
Sude
0be499db7f Add support for two-step login 2016-03-12 09:30:43 +02:00
Sude
987e053ad4 Add option to save changelogs 2016-03-06 15:45:22 +02:00
Sude
852cb563ba Reduce the amount HTTP requests
Save game details json for later use when DLC info is downloaded in Downloader::getGames.
This reduces the amount of HTTP requests because we don't need to download the info again in Downloader::getGameDetails.
2016-03-06 14:02:30 +02:00
Sude
173481a6f6 Make --update-cache ignore dlc count information 2016-03-06 13:20:04 +02:00
Sude
ca97148827 Make sure that file exists before trying to automatically create xml data in Downloader::getLocalFileHash 2016-02-29 03:15:53 +02:00
Sude
21555b19f3 Fix --subdir-patches option
Forgot to set default subdirectory for patches in 4d4aaa1792
2016-02-24 01:58:03 +02:00
Sude
d6b8c42117 Merge https://github.com/darktjm/lgogdownloader 2016-02-24 01:56:31 +02:00
Thomas J. Moore
f29cf99431 Automatically create XML files (MD5sum cache) for manually downloaded
files during status check if automatic creation enabled.
2016-02-20 15:01:00 -06:00
Thomas J. Moore
9520f3f3b7 Improvements to orphan detection:
- blacklist applies to installed files only; use ignorelist for orphans
  - blacklisted but present items are orphans, as they should be
  - use exact matching for file paths: files in wrong location are orphans
2016-02-20 14:59:52 -06:00
Thomas J. Moore
d9697ea988 Apply blacklist to status checker to avoid some spurious ND messages 2016-02-20 14:57:34 -06:00
Thomas J. Moore
c0735d5993 Use cerr for password prompts, error messages, rolling status
messages, and other stuff that shouldn't clutter saved stdout.
Probably needs more work.
2016-02-20 14:56:44 -06:00
Thomas J. Moore
f786e94970 Remove excess semicolon warnings 2016-02-20 14:55:52 -06:00
Thomas J. Moore
00f7c6ba43 TinyXML does not ship with a pkgconfig file, and Gentoo doesn't have
it.  Allow for TinyXML in standard install location.
2016-02-20 14:55:03 -06:00
Sude
0de2a9f64b Add support for priority in game specific language and platform options 2016-02-20 15:34:51 +02:00
Sude
9cf9a8f378 CMake: add check for Clang
Fixes compiling with Clang
2016-02-16 19:56:05 +02:00
Sude
84aeaa6bf1 CMake: lower the required version to 3.0.0 2016-02-16 19:02:22 +02:00
Sude
4d4aaa1792 Improve game specific config options
"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>
2016-02-15 14:27:29 +02:00
Sude
37577f9a98 Revert "Lower required CMake version"
This reverts commit e00bb4d931.
2016-02-15 02:32:12 +02:00
Sude
e00bb4d931 Lower required CMake version 2016-02-15 00:15:50 +02:00
Sude
fc88679b12 Add option to set automatic XML creation in config file 2016-02-04 11:51:11 +02:00
Sude
14d9d3d89f Add -DDEBUG=1 to cmake cxx flags for debug build 2016-01-17 19:34:30 +02:00
Sude
4e97a474c6 Update README.md 2016-01-17 18:20:22 +02:00
Sude
cdac746adc Update .gitignore 2016-01-17 18:15:12 +02:00
Sude
27125c8aa6 Merge branch 'cmake' of https://github.com/bwrsandman/lgogdownloader 2016-01-17 18:13:03 +02:00
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
82aa604b3e Add language: Slovak 2015-10-06 15:44:36 +03:00
Sude
63125641ab Merge branch 'patch-1' of https://github.com/skitt/lgogdownloader 2015-10-03 21:12:47 +03:00
Stephen Kitt
70c86e45f6 Add links to Debian and Ubuntu packages 2015-10-03 20:11:19 +02:00
Sude
ddbb5d07cc Fix priority handling for DLCs 2015-10-03 19:52:19 +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
d648d3a073 Add Util::getOptionNameString to reduce some duplicate code 2015-10-03 19:03:24 +03:00
Sude
ba27e4fbcc Add version string and number to cached game details 2015-10-03 19:00:51 +03:00
Sude
8736e3dec8 Merge branch 'patch-1' of https://github.com/skitt/lgogdownloader 2015-10-03 18:52:36 +03:00
Stephen Kitt
574a315c44 Check that stdin is a tty before reading
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.
2015-09-13 15:15:21 +02: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
16b14d091b Simplify "all" value calculation to make it easier to understand
No idea why I was shifting 2 instead of 1 here.
2015-09-03 12:42:00 +03:00
Sude
d8c66707cc Fix retry on timeout
Don't delete the file on timeout
2015-09-02 16:11:03 +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