derrod
f7f13ed749
[cli] Add "move" command to move existing game installations
2022-01-07 16:22:24 +01:00
derrod
ce68ae87bf
[cli] Drop unnecessary "game(s)" from command names
...
Aliases make sure that users can still use legendary as usual,
but they may be removed in the future
2022-01-07 16:22:24 +01:00
derrod
58bd76c39e
[cli/utils] Reintroduce custom parser for hidden aliases
...
I don't want to break people's muscle memory, but I also don't want
to have the help output be messier than it needs to be.
2022-01-07 14:32:36 +01:00
derrod
cf8bccc569
[core] Final adjustments to default path, separate config option for Mac
2022-01-07 13:51:25 +01:00
derrod
8f2d42892b
[cli/utils] Remove custom subparser (no longer required)
...
Apparently this was *never* required? I just didn't know?
Genuinely I have no idea what made me add this.
2022-01-05 19:56:01 +01:00
derrod
df1c3e6a3c
[core] Handle legacy AppData paths on Linux and Mac
2022-01-05 19:56:01 +01:00
derrod
48baba6adc
[core] Try to resolve legacy AppData paths when using CrossOver
2022-01-05 19:56:01 +01:00
derrod
557724339d
[utils] Fix case-insensitive path searcher
2022-01-05 19:56:00 +01:00
derrod
b30de01cc7
[core] Also look for CrossOver bottle in get_save_path
2022-01-05 19:56:00 +01:00
derrod
586aeaf6de
[cli] Do not set a default bottle choice if known names not found
2022-01-05 19:56:00 +01:00
derrod
9bcfb15cf8
[cli] Use two spaces instead of tabs in CrossOver choice lists
2022-01-05 19:56:00 +01:00
derrod
ba1e05af53
[cli] Add option to disable CX version check
2022-01-05 14:37:51 +01:00
derrod
976b7cebf0
[cli] Add some whitespace to make console less cramped
2022-01-05 14:37:51 +01:00
derrod
cc5c7a90b8
[cli] Check CX version against list rather than string
2022-01-05 14:28:31 +01:00
derrod
4bccd460ad
[core] Create parent directories of symlinks if required
2022-01-05 14:24:46 +01:00
derrod
ac5af04980
[utils] Fix CrossOver running check detecting the CD helper
2022-01-05 14:21:24 +01:00
derrod
de3f3f93af
[cli] Do not try to delete (~)/Applications on macOS
...
It would fail, but is not considered polite either.
2022-01-04 15:39:24 +01:00
derrod
840210040f
[core] Use ~/Applications on Mac, only omit game folder for .app root dirs
2022-01-04 15:31:48 +01:00
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
bec119bc03
[cli] Accurately track verified file size
2022-01-04 12:11:46 +01:00
derrod
ecb04324d5
[utils] Show speed while verifying large files
2022-01-04 12:11:24 +01:00
derrod
cea5f42425
[cli] Run preqreq installers in shell mode and handle exceptions
2022-01-03 16:03:00 +01:00
derrod
9a3652086b
[cli] Show average disk read speed during verification
2022-01-03 15:32:32 +01:00
derrod
d3ea2c6cfd
[utils] Show more verbose verification progress with large files
2022-01-03 15:02:19 +01:00
derrod
cc44149e68
[cli] Fall back to "Windows" platform by default
2022-01-02 13:17:18 +01:00
derrod
e44998b786
[cli] Hide and add warning to automatic bottle setup for now
...
Needs some more testing to see if this is actually viable.
2022-01-02 13:10:42 +01:00
derrod
8e4bb8d3dd
[core] Fix required disk space calculation, once and for all
2022-01-02 13:08:14 +01:00
derrod
202f07973a
[downloader/models] Calculate maximum disk space delta during installation
2022-01-02 13:06:59 +01:00
derrod
05aac59836
[cli/core] Allow bottle downloads to specify a base url
2021-12-31 21:24:47 +01:00
derrod
edadf1c780
[cli] Fix argument dest for --bottle
2021-12-31 18:59:34 +01:00
derrod
0a63b8b007
[cli] Also fall back to default if no app-specific config exists
2021-12-31 18:58:36 +01:00
derrod
6a408e8404
[cli] Log prefix used / error if it doesn't exist
2021-12-31 18:56:52 +01:00
derrod
8a9ca14391
[core] Remove unnecessary os check
2021-12-31 18:56:30 +01:00
derrod
4a4e1397d4
[utils] Add missing null check
2021-12-31 18:50:05 +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
d15f05fc60
[utils] Add janky WINE registry manipulation
2021-12-31 17:31:04 +01:00
derrod
08267025b4
[cli] Stop adding registry entries that already exist
2021-12-31 17:06:44 +01:00
derrod
9469d3cb6f
[cli] Add crossover parameters to skip interactive selection
2021-12-31 14:48:08 +01:00
derrod
2e6335bf09
[cli/utils] Simplify imports
2021-12-31 14:44:32 +01:00
derrod
688910bf91
[cli] Make --yes work with crossover command
2021-12-31 14:38:23 +01:00
derrod
e771ccdf19
[cli] Fix conflict between timeout/third-party flags
2021-12-31 14:35:05 +01:00
derrod
a4c6dee7ef
[cli] Allow downloading a bottle more than once
2021-12-30 19:16:29 +01:00
derrod
d70f0daa22
[utils] Fix get_integer_choice behaviour
...
In my defense, the original function was 100% generated by
GitHub Copilot.
2021-12-30 19:05:23 +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
3fed7d2614
[api] Treat timeout <= 0 as no timeout
2021-12-30 17:42:18 +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
8512a9a7a1
[utils] Also only allow two empty invalid inputs
2021-12-30 17:11:52 +01:00
derrod
af08f5d11b
[cli] Fix overlay install error message (no resume)
2021-12-30 16:25:02 +01:00
derrod
dfaccba2cb
[cli] Fix crossover subcommand name
2021-12-30 15:36:03 +01:00
derrod
fc66f9f372
[downloader/mp] Also kill workers on interrupt if they don't exit themselves
2021-12-30 14:34:02 +01:00
derrod
2474c43b7b
[cli] Move crossover setup to its own command
2021-12-30 14:16:19 +01:00
derrod
300110e2bc
[cli] Add CrossOver support to Origin launch
2021-12-30 14:03:50 +01:00
derrod
b8e5dac0d6
[cli] Fix wrong argument being set during import
...
Fixes #391
2021-12-30 12:49:07 +01:00
derrod
3cba1c8510
[cli] Sort commands alphabetically
2021-12-30 12:42:05 +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
99c97032b4
[api] Fix GQL API requests
...
These need to use a different User-Agent for some reason.
2021-12-29 21:14:59 +01:00
derrod
2adc0b1a3e
[core] Avoid unnecessary disk writes when assets didn't change
2021-12-29 20:29:07 +01:00
derrod
0d491aed90
[cli] Improve CrossOver option help text
2021-12-29 13:21:34 +01:00
derrod
a0da79bc2c
[cli] Add support for launching with CrossOver on macOS
2021-12-29 13:21:34 +01:00
derrod
f0f4b545f5
[utils] Add get_int_choice helper
2021-12-29 13:21:34 +01:00
derrod
3d877185b0
[core] Add support for launching via CrossOver
2021-12-29 13:21:34 +01:00
derrod
b5a2fba896
[utils] Add helpers for CrossOver on macOS
2021-12-29 13:21:34 +01:00
derrod
33b89f5e9a
[cli] Suggest "info" command to check for platform support
...
rather than having the user search through a potentially very long
games list...
2021-12-29 13:21:34 +01:00
Wok
75f2da576b
[api] Fix wrong attribute name ( #388 )
2021-12-29 13:21:34 +01:00
derrod
d2a6f16060
[cli] Fix log level for launch message
2021-12-29 11:56:16 +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
e5ba44ecfa
[cli] Show both current and new version in Overlay update notice
2021-12-28 18:17:13 +01:00
derrod
b5120fa99d
[lfs] Cache overlay info in memory to avoid unnecessary reads
2021-12-28 18:14:59 +01:00
derrod
4a743dc1ca
[cli] Fix overlay install path check on install
2021-12-28 17:51:35 +01:00
derrod
c7030c480e
[lfs] Fix log message
2021-12-28 17:48:55 +01:00
derrod
cb69d7c9d7
[utils] Add more debug logging
2021-12-28 17:48:45 +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
21d62dcd76
[downloader/mp] Fix status message formatting for odd cache usage
2021-12-28 17:39:10 +01:00
derrod
b6cb31df8b
[cli/models/utils] Move strtobool into legendary utils
...
Fixes deprecation warning on Python 3.10+
2021-12-28 17:37:26 +01:00
derrod
1fd8acdee4
[cli] Use argparse choices instead of manual check
2021-12-28 14:21:11 +01:00
derrod
599e4766b2
[cli] Fix some formatting
2021-12-28 14:03:26 +01:00
derrod
e60c3f7aa7
[utils] Add EOS Overlay utilities
...
- Registry adding/removal code
- Dummy Game()s for downloading
2021-12-28 13:55:10 +01:00
derrod
a4c1f0e670
[utils] Add Windows registry helpers
2021-12-28 13:53:59 +01:00
derrod
d941b9d61e
[api] Fix API URL and add some comments clarifying argument names
2021-12-28 11:12:54 +01:00
derrod
6b91c5779b
[cli] Add get-token flag to get bearer token rather than exchange code
2021-12-28 10:57:22 +01:00
derrod
fbb4acbc88
[core] Add option to force refresh token instead of session resumption
2021-12-28 10:57:22 +01:00
derrod
ed0ac1e0b2
[api] Add currently unused artifact APIs found in EOS Windows service
2021-12-28 10:57:22 +01:00
derrod
3c831da310
[api] Add support for anonymous EOS sessions
...
These can be used to download the launcher and overlay/service updates
without actually having to authenticate an account.
2021-12-28 10:11:26 +01:00
derrod
335619ff79
[cli] Do not override platform in "info" command
...
Also improve missing asset error.
2021-12-28 10:09:08 +01:00
derrod
363ac15faa
[cli] Error out if no asset exists for specified platform
2021-12-28 10:04:37 +01:00
derrod
d61946d15d
[lfs] Explicitly set UTF-8 encoding for EGL files
...
Should fix #383
2021-12-23 07:22:41 +01:00
derrod
352d3d2d0d
[cli] Hide -c/--config-file option
...
Using it can cause a bunch of problems, and I don't want to
encourage its use, so deprecate/hide it for now, then remove
it once I have a better solution.
2021-12-22 08:28:23 +01:00
derrod
0e72950382
[cli] Add -H/--full-help and only show command list by default
...
The full help has gotten too long, just print the commands by default.
2021-12-22 08:24:23 +01:00
derrod
11850228a8
Bump version
2021-12-22 00:05:48 +01:00
derrod
8c087fc90e
[cli] Add external activation to "info"
2021-12-21 23:59:00 +01:00
derrod
508c6a3a58
[cli] Add "get-token" debug command
2021-12-21 23:58:40 +01:00
derrod
71633333b7
[cli] Remove non-functional Origin activation on Linux
2021-12-21 23:28:24 +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
6c35504058
[cli] Fix wrong type in cleanup command
...
Fixes #378
2021-12-14 14:30:33 +01:00
derrod
fa02ed396e
Bump version (hotfix #2 )
2021-12-12 23:34:10 +01:00
derrod
48cab6af57
[cli] Also activate Ubisoft DLC (untested)
2021-12-11 18:50:30 +01:00
derrod
01ec2ccd89
[cli] Error out if no game files are found, suggest corrected path
2021-12-11 16:34:07 +01:00
derrod
797598322d
[cli] Fix checking for game executable on import
2021-12-11 16:23:12 +01:00
derrod
803fc46249
Bump version (hotfix)
2021-12-08 00:49:31 +01:00
derrod
57d88b2db4
[core] Fix non-threaded metadata updates
2021-12-08 00:44:24 +01:00
derrod
6106433153
[cli] Disable SDL for Mac titles
2021-12-08 00:22:44 +01:00
derrod
e0ad2171bf
[cli] Add notice about Ubisoft activation to list-games
2021-12-06 19:33:55 +01:00
derrod
db5cd43047
[cli] Add Origin activation process to "activate" command
2021-12-06 19:33:36 +01:00
derrod
eb8bc3713b
[cli] Rename --include-non-installable to -T/--third-party
2021-12-06 19:31:39 +01:00
derrod
9d18ef03fa
[cli/core/models] Add property for partner link id/type
2021-12-06 18:10:30 +01:00
derrod
4dd495e2f5
[cli] Add aliases for --uplay
2021-12-06 13:20:48 +01:00
derrod
8c50f051a7
Bump version
2021-12-03 23:02:12 +01:00
derrod
82376e3d57
[cli] Allow setting default platform via config
2021-12-03 21:01:30 +01:00
derrod
694a275dac
[core] Fix platform linking warning
2021-12-03 18:08:21 +01:00
derrod
e11dd8734f
[cli] Make pre-installation check results stand out more
2021-12-03 18:01:24 +01:00
derrod
db1a6706e4
[cli] I a word when opening the auth/link URLs
2021-12-03 17:54:14 +01:00
derrod
e1b5245252
[cli] Improve Ubisoft activation messaging
2021-12-03 17:23:24 +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
e71ab3155e
[cli/api/models] Add "activate" command to redeem Uplay games
2021-12-03 14:07:57 +01:00
derrod
a8e35e9f3b
[cli] Show download url for PyInstaller build updates
2021-12-03 12:47:07 +01:00
derrod
c33f9a0084
[cli] Enable save-sync of Mac titles
2021-12-02 17:06:08 +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
9e21a81c96
[cli] install: Set platform when getting game metadata
2021-12-02 16:16:52 +01:00
derrod
1dfc5aabe7
[cli/core/models/utils] macOS cloud save support
2021-12-02 15:24:01 +01:00
derrod
4eaa608370
[cli] Set default platform to Mac when running on macOS
2021-12-02 15:23:16 +01:00
derrod
aeecaa4d3e
[cli] Show warning if platform may be invalid
2021-12-02 15:22:13 +01:00
derrod
7151470197
[core] Fix getting game metadata for new titles
2021-12-02 15:10:54 +01:00
derrod
8fb4c56730
[cli] Fix some remaining platform-unawareness
2021-12-02 14:34:29 +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
999ff36667
[cli] Include platform in installed list
...
Also remove stray debug print
2021-12-02 13:35:56 +01:00
derrod
fe912246a5
[cli] Fix variable overlap
2021-12-02 13:31:55 +01:00
derrod
2ff6712932
[cli] Fix help text for --platform options
2021-12-01 22:14:49 +01:00
derrod
260c0e97a2
[cli] Include platform in status output
2021-12-01 22:04:30 +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
24832ea074
[cli] Add --platform to import
2021-12-01 21:30:15 +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