Commit graph

201 commits

Author SHA1 Message Date
derrod 0b97cdeeef [cli] Add alias management commands 2021-10-02 22:54:56 +02:00
derrod 0d8b74a9e0 [cli/core/utils/lfs] Add automatic alias generation 2021-10-02 21:10:25 +02:00
derrod 8f6cb9c856 [cli] Add alias feature for app names 2021-10-02 07:41:11 +02:00
derrod f22c8d0ab6 [cli] Add --skip-sdl and --disable-sdl options
--skip-sdl simply skips the prompt and selects the defaults.
--disable-sdl disables selective downloading for the title and
will reset existing SDL settings (if any). Can be re-enabled
with --reset-sdl or by removing the config option manually.

The combination "--reset-sdl --disable-sdl" is allowed and will
reset existing tags while keeping SDL disabled.
2021-09-29 08:05:37 +02:00
derrod f9dad549c3 [cli] Add manifest size and fix crash with no DLC 2021-09-28 09:43:49 +02:00
derrod ff29b949cb [cli] Add "--with-dlcs" flag to automatically install all DLCs 2021-09-28 08:07:28 +02:00
derrod 3a608610f3 [cli] Add "info" command for app metadata 2021-09-28 07:58:50 +02:00
derrod 4706a42cee [cli] Verify app name to be an Origin title when using --origin 2021-09-28 05:57:39 +02:00
derrod 7509550eb1 [cli/core] Add option to force refresh game metadata 2021-09-28 05:56:19 +02:00
derrod dbc4131ec2 [cli] Use new launch command method in Origin launch
By doing this support for wrappers (e.g. Proton) is now also included.
2021-09-28 05:23:39 +02:00
derrod 156b4716f4 [cli] Add --json to Origin launch as well 2021-09-28 05:20:40 +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 b319cb505c [cli/downloader.mp] Explicitly set UTF-8 encoding for resume/repair file
Fixes #297
2021-09-28 02:42:17 +02:00
derrod 730225c06b [cli] Include DLC install size 2021-09-10 20:36:51 +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 cffd9040f7 [cli] Strip whitespace from game titles
Yoku's Island Express has a \t for some reason...
2021-09-10 16:09:15 +02:00
derrod 21eac6ecfa [cli] Enable (very manual) Origin linking on Linux 2021-09-08 10:43:30 +02:00
derrod e8a3a3ec8d [cli] Use pyinstaller check rather than OS name only 2021-09-08 10:27:26 +02:00
derrod b12798e6b0 [cli/core/lfs/utils] Fetch SDL data from API 2021-09-05 09:41:54 +02:00
derrod ba6ec3ecca [cli/core] Add option to launch games via Origin (Windows only) 2021-09-03 22:59:47 +02:00
derrod 6876371325 [cli] Disable update notice if JSON/CSV/TSV output are used 2021-09-03 21:11:09 +02:00
derrod d82870a5d3 [cli] Show notice on non-Windows about update delays 2021-09-03 20:14:00 +02:00
derrod d21e002272 [cli] Force check for updates when trying to login 2021-09-03 20:12:37 +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 0acfc47b33 [cli] Properly catch exception on import 2021-09-03 20:08:20 +02:00
derrod c53ac14c64 [cli] Catch exception if EGL path resolution fails 2021-09-03 19:23:25 +02:00
derrod d6e9c5ef46 [cli] Fix EGL Local AppData resolution with newer WINE versions
Closes #332
2021-09-03 19:00:56 +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 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 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 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 dd3c0429fe [cli] Filter files by install tag before verifying 2021-06-17 15:08:31 +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 58edb22fce [cli] egl-sync: Error out if asset information missing 2021-01-02 06:31:47 +01:00
derrod ba867f1ce6 [cli] Sort game names case-insensitively 2020-12-23 18:04:53 +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 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
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 80153d07b5 [cli/utils] Add Cyberpunk 2077 language pack hack 2020-12-08 06:43:43 +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 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 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 f03a0a46fd [cli] Add --delta-manifest override 2020-09-09 10:29:57 +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 6f53964b49 [cli] Add --json output format for some commands 2020-09-08 05:12:14 +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 7575b8f3a7 [cli/core] Prevent crash when game asset metadata is missing 2020-09-08 04:25:34 +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 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 4720b59d99 [core/cli] Fix typos in function names 2020-06-05 15:01:02 +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 2b2e91f372 [cli] Add --show-dirs option to print install directory 2020-06-02 07:54:51 +02:00
derrod 818ac59872 [cli] Add --disable-sync for egl-sync 2020-06-01 12:58:47 +02:00
derrod de5a1095e0 [cli] Add flag to save/reset launch parameters in config 2020-06-01 08:40:00 +02:00
derrod a0329a73a9 [cli] Fix -y/--yes for egl-sync auto 2020-06-01 08:18:13 +02:00
derrod 50d6eb02fa [cli] Check and save path specified with --egl-manifest-path 2020-06-01 08:16:36 +02:00
derrod 92c6fd8601 [cli] Fix --egl-wine-prefix not setting programdata path 2020-06-01 08:13:47 +02:00
derrod 6051edc636 [cli] Show warning for incorrect -y/--yes usage 2020-06-01 08:12:24 +02:00
derrod 5eecabfb4a [cli/egl] Make EGL auth import work on Linux 2020-05-31 03:16:03 +02:00
derrod 3063f02db3 [cli/core] Implement newer Epic authentication scheme
Fixes #52
2020-05-31 02:01:50 +02:00
derrod 1531177d8d [cli/README] Various changes to help texts 2020-05-30 22:56:20 +02:00
derrod d03701b3f7 [cli] Run sync even if users selects to not setup auto sync 2020-05-30 02:56:05 +02:00
derrod 0b257e16dd [cli] Make sure -y works for egl-sync 2020-05-30 01:10:11 +02:00
derrod 918841a743 [cli] Add --yes alias for -y 2020-05-30 01:09:53 +02:00
derrod 028c2ca4e0 [cli] Add --egl-wine-prefix parameter for egl-sync setup 2020-05-30 01:07:45 +02:00
derrod 9231df9d44 [cli] Improve Lutris EGS detection and ask user before using it 2020-05-30 00:16:25 +02:00
derrod 5dac4d51f8 [cli] Add --unlink parameter for egs-sync to remove syncing 2020-05-30 00:11:21 +02:00
derrod b027bade1c [cli] Create EGL Manifest directory if parent exists. 2020-05-29 23:43:04 +02:00
derrod df566bb28f [cli] Use prompt helper for all y/n prompts 2020-05-29 23:09:21 +02:00
derrod 82f5adfaa4 [cli] Add egl-sync command 2020-05-29 23:09:02 +02:00
derrod 1d7d0eaa38 [core/cli] Import games installed via EGL w/o verification 2020-05-29 00:20:31 +02:00
derrod 2e2bb3ad41 [cli/core/models] Add install size to installed games 2020-05-28 23:05:36 +02:00
derrod 547ea4a2d4 [cli] Make list output more copy-paste friendly 2020-05-28 22:42:36 +02:00
derrod 9867c5f492 [cli] Check for game exe on import and add check override 2020-05-28 02:40:12 +02:00
derrod f3f86836c8 [cli] Do not set type for --no-wine argument
Fixes #46
2020-05-27 21:18:02 +02:00
derrod 3d03d1a15d [cli] Apply strtobool to NO_WINE env var 2020-05-23 19:01:30 +02:00
derrod c52cd09eb7 [cli/core] Add env var for wrapper and fix priority
Priority should always be command line > env var > config
2020-05-23 18:33:11 +02:00
derrod 6c9e3a1d62 [cli/core] Add flag to disable WINE 2020-05-23 18:29:43 +02:00
derrod 76a0ef6be7 [cli] Treat misc. verification failures as missing 2020-05-23 16:57:06 +02:00
derrod c7d3846118 [cli] Do not print help for repair alias 2020-05-22 14:39:01 +02:00
derrod de0b53710a [cli] Do not include timestamp in threaded logger 2020-05-22 14:31:59 +02:00
derrod d62b45f899 [cli] Add message notifying users about the resumability of the downloads 2020-05-22 09:54:12 +02:00
derrod 38f5bbd934 [cli/core/models] Add support for importing already installed games
Fixes #10 though will need further improvement.
2020-05-20 14:06:55 +02:00