Commit graph

364 commits

Author SHA1 Message Date
derrod edad963200 [models/utils] Track file offset for chunk parts
Preparation for smarter patching with downloader rewrite.
2021-01-10 14:25:35 +01:00
derrod a2280edea8 [cli/core] Add option to override launch executable 2021-01-10 14:24:06 +01:00
derrod ee3b3fb9fe Fix various typos and some style complaints
Closes #175
2021-01-02 06:53:21 +01:00
derrod 58edb22fce [cli] egl-sync: Error out if asset information missing 2021-01-02 06:31:47 +01:00
derrod 19c66bee11 Bump version to 0.20.6 2020-12-27 22:01:45 +01:00
derrod 3c71229b7e [core] Fix missing {} around KnownFolders GUID 2020-12-26 22:01:30 +01:00
derrod ba867f1ce6 [cli] Sort game names case-insensitively 2020-12-23 18:04:53 +01:00
derrod d861668bc1 [models] Update CustomFields with items() method 2020-12-22 18:10:03 +01:00
derrod bd0b9248ee Bump version to 0.20.5 2020-12-20 20:48:31 +01:00
derrod 104b928e3a [core] Increase default shared memory to 2048 MiB
This should still be reasonable for most machines people are going to run games on,
and means no manual increases are required for every game it has been previously
needed for.
2020-12-18 17:26:51 +01:00
derrod 254c22eaec Update README & Bump version 2020-12-18 17:02:00 +01:00
derrod 1a015a3ba7 [core] Only attempt to delete untagged files that exist 2020-12-18 17:01:52 +01:00
derrod f42d63767c [cli] Fix crash when not installing 2020-12-17 16:31:38 +01:00
derrod 1226cd1b08 [cli] Remove untagged files when install tags changed 2020-12-17 15:25:01 +01:00
derrod 1cec4c6cb0 [core] Add method to remove untagged files 2020-12-17 15:25:01 +01:00
derrod 40f8c553ba [utils] Allow silent deletion of files 2020-12-17 15:25:01 +01:00
derrod 51c8b67f91 [cli] Add flag to reset SDL selection 2020-12-17 15:24:59 +01:00
derrod efad90d951 [cli] Do not run SDL for DLC 2020-12-17 15:23:06 +01:00
derrod dca216d053 [cli] Fix repair-and-update not working correctly 2020-12-17 15:23:06 +01:00
derrod 86ea066e8d [core] Save install tags to InstalledGame 2020-12-17 15:23:06 +01:00
derrod cff8abd0da [core] Import/Export install tags to EGL 2020-12-17 15:23:05 +01:00
derrod 30acc7d55e [models] Add install tags to game models 2020-12-17 15:23:05 +01:00
derrod df9380ab3d [core] Fix calculating install size *again* 2020-12-17 15:23:05 +01:00
Simão Gomes Viana 34677cc02e
[cli/README] Fix typo in CLI help (manfiests -> manifests) (#157) 2020-12-16 20:21:20 +01:00
derrod 1430e321e6 [core/utils] Miscellaneous whitespace, comment, text fixes 2020-12-16 12:37:12 +01:00
derrod 7609553b12 [core/utils] More generic/robust selective dl, add support for Fortnite
Existing installations should ask for the install tags that should be used
on first update. It will now be easier to add more games as well.
2020-12-16 12:35:31 +01:00
derrod fd004db4b9 [downloader] Move optional file deletion tasks to the end 2020-12-16 12:32:19 +01:00
derrod 4d138c1a22 [downloader] Silently attempt to delete files not selected for install
This is to clean up when changes are made to the selected install tags
2020-12-16 12:29:26 +01:00
derrod 08c2008281 [downloader/models] Add silent deletion task flag 2020-12-16 12:28:37 +01:00
derrod 691fd9bc8f [core] Fix calculating install size (again) 2020-12-16 12:15:18 +01:00
derrod bece6ef5de [downloader] Fix skipping unneeded chunks
This was erroneously removed in daeee2e
2020-12-16 12:14:31 +01:00
derrod e710bb893f [core] Fall back to default wine prefix location
This and the previous commit fix #41
2020-12-16 11:29:39 +01:00
derrod 5e061d6946 [core/utils] Add save path resolution on Linux
If a wine prefix is specified in the config, attempt to
find savegames in there.
2020-12-16 11:18:58 +01:00
derrod 3e2a6011ff [core] Ignore comments in configuration environment variables
Comments are treated as keys with no value by configparser, but env
variables with None as the value are not valid so this would crash.

Fixes #156
2020-12-16 05:45:05 +01:00
derrod 5e1896cf2c [downloader] Make insufficient memory message error more helpful 2020-12-14 08:42:22 +01:00
derrod cb7ea25a18 [core/utils] Add version check to game workarounds
Also add more games to the list of optimizations being enabled by default.

This will bring Pillars of Eternity down to around ~2 GiB shared memory,
which is still too much but without implementing another workaround that
adds a prefix filter I cannot really fix this. Certainly better than 24...
2020-12-14 08:27:02 +01:00
derrod daeee2eb8d [downloader] Rework order optimizer to be significantly faster
Also allow for a larger amount of files to be optimized.
2020-12-14 08:04:28 +01:00
derrod 9c87f8ab4f [downloader] Log optimization time and increase upper file limit 2020-12-14 06:28:03 +01:00
derrod b7db0ac721 [api/core/downloader] Update User-Agents 2020-12-13 03:14:55 +01:00
derrod 8e012c0441 Bump version to 0.20.4 2020-12-08 23:05:52 +01:00
derrod 80153d07b5 [cli/utils] Add Cyberpunk 2077 language pack hack 2020-12-08 06:43:43 +01:00
derrod 1640a47d6a [downloader] Correctly support empty install tag 2020-12-08 06:12:47 +01:00
derrod 5db6d9c73f [core/README] Add max_workers config option
Addresses #148
2020-12-07 23:52:43 +01:00
derrod 3aeb48efdf [core] Always initialize locale on startup 2020-11-25 18:50:09 +01:00
derrod 81463e6908 Bump version to 0.20.3 2020-11-25 06:53:36 +01:00
derrod 8a98c14055 [core] Fix CDN URI building for new Akamai CDN 2020-11-21 17:57:54 +01:00
derrod 22b7db7a29 [cli] Allow -y/--yes to be specified as part of the subcommand arguments 2020-11-21 14:30:30 +01:00
derrod 1598844bc6 [core] Always use default.env
Also fixes minor typo
2020-11-21 06:21:59 +01:00
derrod 3f3366c632 Bump version to 0.20.2 and Update README 2020-11-12 17:52:02 +01:00
derrod 3e6e173772 [core] Fix Uplay installer check 2020-11-05 15:25:37 +01:00
derrod 8206283755 [core/cli] Warn/Fail if game requires Uplay
Addresses #69 but does not fix it.
2020-11-02 19:08:06 +01:00
derrod 3310f7e7a7 [core] Fix crash if no old manifest present 2020-11-02 18:35:22 +01:00
derrod 80841f89bb [cli] Add "--keep-files" to uninstall without deleting 2020-11-02 15:55:36 +01:00
derrod 477827033e [cli/lfs] Add "cleanup" command to remove unused files 2020-11-02 15:53:11 +01:00
derrod e97941327e [core] Return empty asset list if not authenticated
Fixes #106
2020-11-02 15:26:10 +01:00
derrod 3ea394937b [lfs] Migrate old manifest structure to new 2020-11-02 15:14:59 +01:00
derrod 83e3af344f [core/lfs] Remove unversioned local manifest saving/loading 2020-11-02 14:58:23 +01:00
derrod effc74b73b [core] Exclude mods from games list 2020-11-01 16:38:43 +01:00
derrod 37083b01de [core] Disable delta manifests if versions identical 2020-11-01 15:38:18 +01:00
derrod 7046b06f14 [api/core/downloader] User-Agent update 2020-11-01 14:34:36 +01:00
derrod ace9ce8b5d [core] Show warning when looking up DLC fails
Might fix #101
2020-10-31 19:48:08 +01:00
derrod d842780c73 [lfs] Do not remove comments from ini files
Fixes #105
2020-10-24 19:23:40 +02:00
derrod d95fd20e76 [core] Use non-POSIX mode for parsing manifest launch arguments
(hopefully) Fixes #128
2020-10-24 19:19:25 +02:00
derrod 28f0b72f42 Bump version to 0.20.1 2020-09-09 10:32:37 +02:00
derrod f03a0a46fd [cli] Add --delta-manifest override 2020-09-09 10:29:57 +02:00
derrod dcbf8db54d [core] Properly handle Delta manifests (update base manifest)
Also removes the old workaround.
2020-09-09 10:29:46 +02:00
derrod 36d02fa5ce [downloader] Fix original file offset when using delta manifests 2020-09-09 10:28:28 +02:00
derrod e898fe03fc [downloader] Remove delta manifest workarounds 2020-09-09 10:13:21 +02:00
derrod 70ed243b32 [utils] Add manifest combiner for delta manifests 2020-09-09 10:13:03 +02:00
derrod 515705c061 [cli] list-files: Error out of invalid AppName specified
Closes #94
2020-09-09 09:53:05 +02:00
derrod b8b8a5d953 [cli] Add --version and --debug aliases for -V/-v 2020-09-08 18:10:05 +02:00
derrod b7fd2031f9 [cli] Fix status command when not logged in yet 2020-09-08 17:50:36 +02:00
derrod 09b918d156 Bump version to 0.20.0 2020-09-08 05:15:23 +02:00
derrod 6f53964b49 [cli] Add --json output format for some commands 2020-09-08 05:12:14 +02:00
derrod d4f4571f85 [core] Allow "wrapper" and "no_wine" in "default" section
The entire config crap will have to be rewritten to be "nicer"...
2020-09-08 04:56:56 +02:00
derrod acb7476a22 [cli] Add basic "status" command 2020-09-08 04:50:14 +02:00
derrod 5b855b0d3e [cli] Add note about potentially missing games when importing 2020-09-08 04:38:29 +02:00
derrod 6bae5d3081 [core] Prevent importing unknown games from EGL 2020-09-08 04:38:11 +02:00
derrod 7575b8f3a7 [cli/core] Prevent crash when game asset metadata is missing 2020-09-08 04:25:34 +02:00
derrod 9c9fee8f11 [core] Don't request delta manifest if old == new 2020-09-06 06:18:43 +02:00
derrod a55f75d5e8 [core/downloader] Prevent file deletion when using delta manifest
This is technically not how we should do this. In theory we should
"overlay" the delta manifest over the proper one and simply add/replace
the chunk/file list entries with the one from the delta manifest.
However simply not deleting files also works for the time being since files
are rarely deleted anyways.
2020-09-06 05:57:28 +02:00
derrod bd66d6c5dc [api/core/downloader] Update User-Agents 2020-09-06 03:16:06 +02:00
derrod 0430204f59 [core] Add debug message for delta manifest unavailability 2020-09-05 05:27:44 +02:00
derrod e9e40a3782 [cli] Add install size and path to CSV/TSV output
Fixes #91 and closes #68
2020-09-05 05:25:13 +02:00
derrod ade9080152 [cli] Convert import path to absolute
Fixes #61
2020-09-05 05:21:36 +02:00
derrod 6711897750 [cli] Add flags for new installer options
'--repair-and-update' for updating when repairing (duh)
'--ignore-free-space' to make the free space error a warning instead
'--disable-delta-manifests' to disable the use of delta manifests

Also closes #70
2020-09-05 05:20:27 +02:00
derrod fb9e8d4138 [core] Fix disk space check for initial install and add override 2020-09-05 05:18:15 +02:00
derrod d1b8412b27 [core] Add options for delta manifests and update-when-repairing 2020-09-05 05:16:05 +02:00
derrod 4b4483c580 [core] Implement delta manifests 2020-09-05 05:05:21 +02:00
derrod e1fc3df180 [manager] Improve chunk reuse algorithm
This will mostly be important for delta manifests,
which are yet to be implemented.
2020-09-05 04:51:20 +02:00
derrod f4a1e4610b [core] Skip savegame download if manifest empty 2020-08-06 09:28:35 +02:00
derrod 5b4a6e6d9f [downloader] Fix temporary file name in result handler 2020-08-06 09:28:25 +02:00
derrod bfbd86b01c Bump version to 0.0.19 2020-06-14 02:57:00 +02:00
derrod 0a5b53ab6f [cli/core/utils] Only remove files in manifest during uninstall
Some games are using the installation directory to store savegames.
To avoid deleting those, only remove files that are actually in the
manifest and only delete the directory if it is empty.
2020-06-10 18:21:47 +02:00
derrod 2647fa4915 [core] Do not sync DLC to EGL 2020-06-10 17:59:04 +02:00
derrod 4720b59d99 [core/cli] Fix typos in function names 2020-06-05 15:01:02 +02:00
derrod 8d46d7ad2e [core] Fix save path when downloading multiple saves 2020-06-04 15:55:16 +02:00
derrod 0e2a61aca5 [cli] list-installed: Show warning if game dir is missing 2020-06-02 12:12:42 +02:00
derrod 1ec6ef1899 [cli] launch: error out if game directory is missing 2020-06-02 12:12:03 +02:00
derrod 6d84307134 [core] Fix crash if EGL installation has been removed 2020-06-02 11:35:54 +02:00