More fixes, and a whole bunch of CLI changes and hopefully some QoL improvements such as aliases for app names.
CLI Changes
Global
-c/--config-fileoption for running Legendary with a non-default config
Commands
list-installedCommand- List now includes installed DLC
list-gamesCommand--force-refreshflag: Will forcefully refresh all app metadata
install/downloadCommand--with-dlcsflag: Automatically installs all DLCs--skip-sdlflag: Skips selective downloading prompt and continue with defaults (only required components)--disable-sdlflag /disable_sdlconfig parameter: Disables selective downloading for this title and downloads all components- Using this flag while SDL is enabled will also clear current SDL selection, manually specifying tags via
--install-tagworks as normal - To re-enable SDL use
--reset-sdlor remove the parameter from the config file - The combination
--reset-sdl --disable-sdlwill reset selected install tags while keeping SDL disabled
- Using this flag while SDL is enabled will also clear current SDL selection, manually specifying tags via
- The selective downloading prompt was updated to allow more flexible input and be more clear about how it works
launchCommand--originflag: Now verifies that specified app is an Origin app and properly supports wrapper options--jsonflag: Print JSON-formatted information about the launch environment and exit (mainly for third-party developers)
- [New]
infoCommand- Supports both app names and manifest files (path or URL)
- Prints various information about an app or manifest
- Alternative launch flags some games provide, e.g. a VR or offline mode
- Prerequisites and their install commands
- Owned DLC, including those that do not require installation
- Various information that may be useful for debugging
Aliases
Epic's app names or often long, impossible to memorise, and plainly annoying to use. To address this issue to some extent legendary now supports user-defined aliases for app names. They are defined in the config like so:
[Legendary.aliases]
; Alias = App Name
HITMAN 3 = Eider
gtav = 9d2d0eb64d5c44529cece33fe2a46482Aliases are case-sensitive, can include spaces and are supported by all commands that use app names. You can define multiple aliases for one game as well.
Aliases with spaces have to be passed to legendary in quotes, in this example to launch HITMAN 3 we would run legendary launch "HITMAN 3".
Future releases will support adding/removing/listing aliases from directly from the command line.
More selective downloading updates
Selective downloading definitions are now available for Unreal Engine 4.23-5.0 (Early Access) and "Beyond: Two Souls". Additionally the Fortnite definition file has been updated to add a missing HD textures tag.
Bug fixes and improvements
- Warn instead of crash if manifest-defined launch parameters are invalid #340
- Metadata for games without install candidates (e.g. Origin games) is now also saved
- Whitespace is stripped from game names (shout-out to Yoku's Island Express having a stray
\tin there) - UTF-8 Encoding is now force for resume/repair files #297
- Minor refactoring that hopefully won't cause any issues...