Commit graph

89 commits

Author SHA1 Message Date
derrod 638578283b [core/utils/lfs] Fix auth import with now encrypted EGL user data
It took way too long to find the key.
It's not even hidden, I'm just dumb.
2021-10-04 09:26:44 +02:00
derrod a116013f05 [utils] Also make raw game name (lowercase) a valid alias 2021-10-02 23:48:44 +02:00
derrod 3f04de448b [utils] Improve alias generation and fix explanation 2021-10-02 22:19:11 +02:00
derrod 0d8b74a9e0 [cli/core/utils/lfs] Add automatic alias generation 2021-10-02 21:10:25 +02:00
derrod 55f9f05206 [utils] Change wording of SDL prompt, support space-separated list 2021-09-29 09:04:09 +02:00
derrod b12798e6b0 [cli/core/lfs/utils] Fetch SDL data from API 2021-09-05 09:41:54 +02:00
derrod 43bb09a1ad [utils] Add helper to determine if running PyInstaller package 2021-09-05 00:49:04 +02:00
derrod 5a8de3a3bc [core/utils] Update auth EGL version and game workarounds from API 2021-09-03 23:20:17 +02:00
derrod ad2912a88e [lfs] Move optionxform to custom config parser 2021-09-03 19:58:06 +02:00
derrod 4d5539c889 [cli/utils] Automatically create missing config sections 2021-09-02 19:31:04 +02:00
derrod 454e2a2a69 [utils] Set config modified state and mod time on write 2021-06-21 12:22:08 +02:00
derrod a4cbf5892a [cli/utils] Save manually specified install tags to config
Requires some testing, may cause issues with supported SDL titles.
2021-06-17 15:21:46 +02:00
derrod bb3d6f9348 [core/utils] Improve minimum disk space calculation when updating 2021-06-17 15:00:34 +02:00
derrod 0e6b63d1a2 [utils/lfs] Use custom configparser wrapper
The main reason is to prevent user configs from being overwritten
and also to only actually write the config file if it has been
modified from within Legendary itself.

Closes #279
2021-05-30 18:57:23 +02:00
derrod 7ae4eda5b8 [utils] Fix manifest combiner for delta patching
Previously this would result in duplicated chunks,
causing calculations for download sizes to be incorrect.

Fixes #278
2021-05-24 18:18:28 +02:00
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 40f8c553ba [utils] Allow silent deletion of files 2020-12-17 15:25:01 +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 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 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 80153d07b5 [cli/utils] Add Cyberpunk 2077 language pack hack 2020-12-08 06:43:43 +01:00
derrod 70ed243b32 [utils] Add manifest combiner for delta manifests 2020-09-09 10:13:03 +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 09c8d1f80d [utils] Add cli helper for command line prompts 2020-05-29 23:04:58 +02:00
derrod 1ac1875a86 [models/utils] Catch and log exception when opening file fails 2020-05-23 16:55:18 +02:00
derrod 9cc5d071d0 [utils] Return hashes from validate_files 2020-05-20 12:03:44 +02:00
derrod 5b2ebada78 [cli/utils/models] Add "verify-game" command to check game install 2020-05-19 18:29:16 +02:00
derrod 1622b415ea [core/utils] Move lfs helpers to utils 2020-05-19 17:45:46 +02:00
derrod ecf6572e5f [utils] Show warning if savegame got truncated during packing 2020-05-16 16:55:30 +02:00
derrod 03c503b4e6 [core/utils] Show warning/info if no save files have been found
This should alert users in cases the exclude/include filters fail
2020-05-16 12:29:33 +02:00
derrod 2ba036a654 [core/utils] Implement save game file filters 2020-05-16 12:19:06 +02:00
derrod 98df2a0a38 [cli/core/models/utils] Add basic cloud save syncing support 2020-05-14 14:52:33 +02:00
derrod 36c1a9591f [utils] Add helper for packing save data
This helper creates manifests + chunks from
a given directory for uploading to the EOS
save game storage service.
2020-05-12 04:03:03 +02:00
derrod ddd115812b [utils] Fix typo in rolling hash function 2020-05-09 11:00:13 +02:00
derrod 5d91b2b59f [utils] Add FRollingHash implementation
Seems to be a variation on CRC-64-ECMA.
This python version is of course very slow.
That should not be a big issue however, since
it is only required for serialising rather
small save game data.
2020-05-06 19:49:45 +02:00
derrod ac5856afe1 [utils] Apply reorder opts to Metro Exodus 2020-05-05 16:04:22 +02:00
derrod 4d0ac96bdc [cli/utils] Add aliases to download command
Eventually the "download" command will be changed to
set the --no-install flag by default and "update" will
become --update-only. For now remain backwards compatible
to give people a chance to adjust their scripts and habits.

Fixes #18
2020-05-04 14:21:25 +02:00
derrod bd3095a6be [utils] Add new helper for game specific workaround
In the future we might extend this with other features,
such as specific post-install things that some games
may require to work or preconfigured WINE settings.
2020-05-04 14:08:35 +02:00