derrod
005089ee9b
[core] Adjust default install paths
...
- Native Mac apps should go into /Applications
- On Windows we keep %USERPROFILE%\legendary for now
- On Linux we use ~/Games/legendary now to keep the home folder more tidy
2022-01-04 15:11:43 +01:00
derrod
8e4bb8d3dd
[core] Fix required disk space calculation, once and for all
2022-01-02 13:08:14 +01:00
derrod
05aac59836
[cli/core] Allow bottle downloads to specify a base url
2021-12-31 21:24:47 +01:00
derrod
8a9ca14391
[core] Remove unnecessary os check
2021-12-31 18:56:30 +01:00
derrod
0298a53315
[cli/core/utils] Add (janky) EOS overlay install support on non-Windows
2021-12-31 18:48:07 +01:00
derrod
ecb230511f
[core/utils] Clean up crossover bottle code a bit
2021-12-31 17:46:15 +01:00
derrod
cd74af8832
[core] Fix remove_bottle parameters
2021-12-30 19:04:44 +01:00
derrod
0f481e1f31
[core/utils] Remove missing folder creation
...
Instead, the manifest will just use zero-byte ".keep" files in empty
folders, so they are still created when a bottle is downloaded.
2021-12-30 18:09:11 +01:00
derrod
013792f7b9
[cli/core/utils] Add experimental automatic bottle setup
...
Not sure if this will make it into the release yet, but
it doesn't seem like a bad idea. And it should work even
if the user has never run CrossOver.
It's quite a lot of work to package a bottle this way
(read: not including personal data, and without broken symlinks)
2021-12-30 17:21:56 +01:00
derrod
03ef95923d
[api/cli/core] Make API timeout configurable
2021-12-30 12:03:43 +01:00
derrod
dd099c0afd
[core] Change overlay install path
2021-12-30 11:52:23 +01:00
derrod
2adc0b1a3e
[core] Avoid unnecessary disk writes when assets didn't change
2021-12-29 20:29:07 +01:00
derrod
3d877185b0
[core] Add support for launching via CrossOver
2021-12-29 13:21:34 +01:00
derrod
0e4ab85b2f
[core] Do not attempt to load overlay info on non-Windows systems
2021-12-29 11:32:11 +01:00
derrod
bc1c27b8d2
[core] Ignore path parameter if overlay is already installed
2021-12-28 19:21:33 +01:00
derrod
8d71df0cc4
[cli/core/lfs] Add update check for installed overlay
2021-12-28 17:48:24 +01:00
derrod
efaf25b9d9
[cli/core/lfs] Add EOS overlay management command/backend
...
- Supports installing and updating the overlay
- Supports enabling/disabling the overlay
- Can find existing EGL overlay for enabling/disabling
- Should work!
2021-12-28 17:47:48 +01:00
derrod
fbb4acbc88
[core] Add option to force refresh token instead of session resumption
2021-12-28 10:57:22 +01:00
derrod
3e4c70ece2
[core] Only use installed manifest for repair if it actually exists
...
Fixes #380
2021-12-20 23:15:47 +01:00
derrod
c3ade2994e
[cli/core/utils] Re-enable SDL for Mac platform
...
Currently, this only affects Fortnite and UE.
2021-12-17 01:25:24 +01:00
derrod
57d88b2db4
[core] Fix non-threaded metadata updates
2021-12-08 00:44:24 +01:00
derrod
9d18ef03fa
[cli/core/models] Add property for partner link id/type
2021-12-06 18:10:30 +01:00
derrod
694a275dac
[core] Fix platform linking warning
2021-12-03 18:08:21 +01:00
derrod
c8189460c2
[cli/core] Fix some plurals
2021-12-03 17:21:48 +01:00
derrod
1c8349a28e
[core] Do not show fetching metadata message unless there's data to fetch
2021-12-03 17:14:45 +01:00
derrod
20f934dc12
[core] Avoid unnecessary copy()
2021-12-03 16:27:19 +01:00
derrod
8dadf3c1a1
[core] Do not delete unused asset information when updating
...
Previously this would remove asset information for platforms not
currently in-use. This change retains those, but doesn't update
them if they're not required.
2021-12-03 16:27:00 +01:00
derrod
d737ca57a7
[core/egs] Use thread pool for fetching metadata
2021-12-03 16:23:48 +01:00
derrod
5671448264
[core] Rework Uplay warning
2021-12-03 14:30:01 +01:00
derrod
90a4efdfbf
[core] Fix path expansion for macOS savegame variables
2021-12-02 17:05:50 +01:00
derrod
32e9ef1cd3
[core] Fix wrong property name for SaveGame
2021-12-02 16:55:02 +01:00
derrod
9511d9d65b
[core] Fix metadata prune removing required data
2021-12-02 16:53:09 +01:00
derrod
6f7989ab50
[cli/core/utils/lfs] Also enable update notification on macOS
2021-12-02 16:51:48 +01:00
derrod
1dfc5aabe7
[cli/core/models/utils] macOS cloud save support
2021-12-02 15:24:01 +01:00
derrod
7151470197
[core] Fix getting game metadata for new titles
2021-12-02 15:10:54 +01:00
derrod
4fd50a93a0
[core] Always update asset information for all in-use platforms
2021-12-02 14:29:08 +01:00
derrod
356f0f84f5
[cli/core/models] Access namespace/catalog item id directly
2021-12-02 14:28:21 +01:00
derrod
42aae4eccf
[core] Do not show locale error on macOS
2021-12-01 21:59:53 +01:00
derrod
f00d23c8c4
[core] Cleanup imports
2021-12-01 21:58:56 +01:00
derrod
0fb3d39a0a
[core] Check if game is not-None before updating asset info
2021-12-01 21:38:44 +01:00
derrod
c83bf7218c
[core] Remove remaining hardcoded platform strings
2021-12-01 21:30:41 +01:00
derrod
8c56bd93d5
[core/lfs] Include platform in saved manifest name
2021-12-01 21:26:21 +01:00
derrod
081cca2c19
[core] Check all platforms for metadata prune
2021-12-01 21:20:11 +01:00
derrod
e8207d53cd
[cli/core] Ensure update checks use the right platform(s)
2021-12-01 21:02:38 +01:00
derrod
f280d53496
[cli/core/lfs] Add support for mixing platforms
2021-12-01 20:57:43 +01:00
derrod
c43833146a
[core] Subtract reusable size from required disk space
...
Fixes #362
2021-10-29 17:30:16 +02:00
derrod
33ad64f0a4
[core] Only fail if absolutely no base-url can be found
...
Overrides without a known base-url should work.
2021-10-28 10:34:28 +02:00
derrod
aaf7e0934f
[core/utils] Attempt to find save path case-insensitively
2021-10-22 04:29:39 +02:00
derrod
106ed16a49
[cli/core] Do not delete merely incomplete saves unless user says so
2021-10-21 14:27:08 +02:00
derrod
658cc94dbe
[core] Include app name in clean-saves command for specific game
2021-10-21 14:11:53 +02:00
derrod
8181f9faeb
[core] Log number of deleted files (if any)
2021-10-21 14:10:14 +02:00
derrod
964ee08d05
[core] Add references to "clean-saves" in error message
2021-10-21 13:28:33 +02:00
derrod
355b1107e6
[cli/core] Add "clean-saves" command to remove obsolete/broken cloud save data
2021-10-21 13:26:36 +02:00
derrod
85a275950d
[core] Show warnings and error out if save data is corrupted
2021-10-21 13:26:00 +02:00
derrod
d5ec14b556
[core] Fix resolving "{AppData}" in save path
...
Why did they decide that {AppData} should match to %LOCALAPPDATA%?
2021-10-21 12:15:44 +02:00
derrod
0ef916e9c5
[cli/lfs] Prune game metadata that's no longer needed
2021-10-16 19:44:48 +02:00
derrod
8c002a76e0
[cli/core] Replace old manual game store query with new property
2021-10-16 19:44:15 +02:00
derrod
841db6bcb6
[core] Add "asset_available" helper function
2021-10-16 18:59:18 +02:00
derrod
e6bb64f16f
[core] Only delete files that are actually installed (based on tags)
2021-10-12 15:24:49 +02:00
derrod
0bc543518c
[core] Properly construct Origin launch URI
2021-10-10 12:30:25 +02:00
derrod
74bc2fecc0
[core] Check if base path exists, add failure condition if it doesn't
2021-10-10 08:36:36 +02:00
derrod
aafba86a94
[core] Validate session expiry time before skipping login
2021-10-08 10:36:32 +02:00
derrod
9471ca41e1
[core] Do not check egstore folder for DLC
2021-10-08 10:17:15 +02:00
derrod
b3b5470947
[core] Make auth() return immediately if already logged in
2021-10-08 10:15:07 +02:00
derrod
b857967dfa
[cli/core] Add WebView killswitch to Legendary update data
...
In case epic breaks it, this at least lets us disable it remotely.
2021-10-07 05:20:08 +02:00
derrod
c4695d2b99
[cli/models/lfs] Clean up some old code/comments
2021-10-05 09:22:17 +02:00
derrod
8460fdfd2a
[cli/core/lfs] Add support for trying multiple encryption keys
...
Should Epic change the key used for EGL in the future we want to
be backwards-compatible to existing (outdated) EGL installs as well
as new ones without having to push out a new release.
Also forces updating of version data before attempting the import to
get the latest key(s) and adds a log message when auth data is deleted.
2021-10-05 07:34:52 +02:00
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
e7ce2e5cb7
[core] Force-refresh aliases when fetching games without assets
2021-10-02 21:21:46 +02:00
derrod
0d8b74a9e0
[cli/core/utils/lfs] Add automatic alias generation
2021-10-02 21:10:25 +02:00
derrod
7509550eb1
[cli/core] Add option to force refresh game metadata
2021-09-28 05:56:19 +02:00
derrod
a1993eb568
[core] Refactor getting wine/wrapper launch command into its own function
2021-09-28 05:21:16 +02:00
derrod
b5d4224664
[cli/core] Only return legendary-defined environment variables
2021-09-28 05:07:06 +02:00
derrod
888d62a96d
[cli/core/models] Refactor launch parameters and add --json option
...
Primarily intended to make it easier for third-party applications
(mainly Heroic) to handle launch options on their own by simply
taking the necessary information from legendary and ignoring
user-defined stuff.
Also useful for debugging.
2021-09-28 04:06:54 +02:00
derrod
ee2432c443
[cli/core/lfs] Allow specifying custom config file
2021-09-28 03:07:15 +02:00
derrod
e881e42d5f
[core] Save non-install game metadata
2021-09-18 20:02:52 +02:00
derrod
fbd0df1ecc
[cli/core] Include DLCs in installed games list
...
This should be replaced later on by including information
about the main game in the InstalledGame metadata.
2021-09-10 20:30:53 +02:00
derrod
6b4cf6558b
[core] Warn if parsing manifest-defined launch parameters fails
2021-09-09 09:55:48 +02:00
derrod
0bf7110653
[core] Move getting env vars to separate method
2021-09-08 10:37:40 +02:00
derrod
b12798e6b0
[cli/core/lfs/utils] Fetch SDL data from API
2021-09-05 09:41:54 +02:00
derrod
791bc77c7c
[core/lfs] Enable update notification for PyInstaller on Linux
2021-09-05 00:49:11 +02:00
derrod
5a8de3a3bc
[core/utils] Update auth EGL version and game workarounds from API
2021-09-03 23:20:17 +02:00
derrod
ba6ec3ecca
[cli/core] Add option to launch games via Origin (Windows only)
2021-09-03 22:59:47 +02:00
derrod
315bdfb4a4
[cli/core/lfs] Enable update check by default, make notice optional
...
This will allow legendary to force checking for updates in critical
situations where it may be required. Also enables updating configuration
data on Linux by default.
2021-09-03 20:10:30 +02:00
derrod
d3026672d1
[core] Fix for epic authentication API changes
2021-09-03 19:16:37 +02:00
derrod
a465966954
[api/cli/core/lfs] Add Legendary update check
2021-09-02 19:31:04 +02:00
derrod
4d5539c889
[cli/utils] Automatically create missing config sections
2021-09-02 19:31:04 +02:00
derrod
f78674b3ed
[core] Formatting and type hint fixes
2021-09-01 15:29:25 +02:00
derrod
a80244ed37
[cli/core] Add flag to show non-installable games/DLCs
...
This primarily means titles that have to be activated on external stores
such as Battlefront II which has to be installed via Origin.
Addresses half of #202
2021-09-01 15:28:25 +02:00
derrod
7ff16aad44
[core/downloader] Move downloader to new sub-package
...
Preparing to add a new AIO based downloader
2021-08-14 05:12:10 +02:00
derrod
d86039dd9b
[cli/core] Add option to disable HTTPS for downloads
...
The EGS client does not use HTTPS for downloads in order to facilitate
the use of tools such as LanCache that use DNS based CDN redirection.
Legendary should be usable in such an environment as well,
but HTTPS will remain on by default.
See: https://lancache.net/news/2019/06/15/steamcache-is-rebranding-to-lancachenet/
2021-08-09 11:31:03 +02:00
derrod
1760c34703
[cli/core] Add option for preferred CDN host
...
Allows a user to specify a preferred CDN via config or command line.
Also changes selection process to match EGS client
(no random selection anymore).
2021-08-09 11:17:15 +02:00
derrod
bb3d6f9348
[core/utils] Improve minimum disk space calculation when updating
2021-06-17 15:00:34 +02: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
3c71229b7e
[core] Fix missing {} around KnownFolders GUID
2020-12-26 22:01:30 +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
1a015a3ba7
[core] Only attempt to delete untagged files that exist
2020-12-18 17:01:52 +01:00
derrod
1cec4c6cb0
[core] Add method to remove untagged files
2020-12-17 15:25:01 +01:00
derrod
86ea066e8d
[core] Save install tags to InstalledGame
2020-12-17 15:23:06 +01:00