Also improve and clean up command line usage output, as well as add
automatic lookup of correct workshop depot id for UGC, instead of requiring
it on command line (usually assuming app id).
Console.WriteLine("\t-app <#>\t\t\t\t- the AppID to download.");
Console.WriteLine("\t-app <#>\t\t\t\t- the AppID to download.");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Optional Parameters:");
Console.WriteLine("Optional Parameters:");
Console.WriteLine("\t-depot <#>\t\t\t- the DepotID to download.");
Console.WriteLine("\t-depot <#>\t\t\t\t- the DepotID to download.");
Console.WriteLine("\t-cellid <#>\t\t\t- the overridden CellID of the content server to download from.");
Console.WriteLine("\t-manifest <id>\t\t\t- manifest id of content to download (requires -depot, default: current for branch).");
Console.WriteLine("\t-username <user>\t\t\t- the username of the account to login to for restricted content.");
Console.WriteLine();
Console.WriteLine("\t-password <pass>\t\t\t- the password of the account to login to for restricted content.");
Console.WriteLine("\t-ugc <#>\t\t\t\t- the UGC ID to download.");
Console.WriteLine("\t-remember-password\t\t\t- if set, remember the password for subsequent logins of this user.");
Console.WriteLine();
Console.WriteLine("\t-dir <installdir>\t\t\t- the directory in which to place downloaded files.");
Console.WriteLine("\t-username <user>\t\t- the username of the account to login to for restricted content. ");
Console.WriteLine("\t-os <os>\t\t\t- the operating system for which to download the game (windows, macos or linux, default: OS the program is currently running on)");
Console.WriteLine("\t-password <pass>\t\t- the password of the account to login to for restricted content.");
Console.WriteLine("\t-filelist <filename.txt>\t\t- a list of files to download (from the manifest). Can optionally use regex to download only certain files.");
Console.WriteLine("\t-remember-password\t\t- if set, remember the password for subsequent logins of this user.");
Console.WriteLine();
Console.WriteLine("\t-beta <branchname>\t\t\t- download from specified branch if available (default: Public).");
Console.WriteLine("\t-betapassword <pass>\t\t- branch password if applicable.");
Console.WriteLine();
Console.WriteLine("\t-dir <installdir>\t\t- the directory in which to place downloaded files.");
Console.WriteLine("\t-all-platforms\t\t\t- downloads all platform-specific depots when -app is used.");
Console.WriteLine("\t-all-platforms\t\t\t- downloads all platform-specific depots when -app is used.");
Console.WriteLine("\t-os <os>\t\t\t\t- the operating system for which to download the game (windows, macos or linux, default: OS the program is currently running on)");
Console.WriteLine("\t-filelist <file.txt>\t- a list of files to download (from the manifest). Can optionally use regex to download only certain files.");
Console.WriteLine("\t-validate\t\t\t\t- Include checksum verification of files already downloaded");
Console.WriteLine();
Console.WriteLine("\t-manifest-only\t\t\t- downloads a human readable manifest for any depots that would be downloaded.");
Console.WriteLine("\t-manifest-only\t\t\t- downloads a human readable manifest for any depots that would be downloaded.");
Console.WriteLine("\t-beta <branchname>\t\t\t\t- download from specified branch if available (default: Public).");
Console.WriteLine("\t-cellid <#>\t\t\t\t- the overridden CellID of the content server to download from.");
Console.WriteLine("\t-betapassword <pass>\t\t\t- branch password if applicable.");
Console.WriteLine("\t-max-servers <#>\t\t- maximum number of content servers to use. (default: 8).");
Console.WriteLine("\t-manifest <id>\t\t\t- manifest id of content to download (requires -depot, default: current for branch).");
Console.WriteLine("\t-max-downloads <#>\t\t- maximum number of chunks to download concurrently. (default: 4).");
Console.WriteLine("\t-max-servers <#>\t\t\t- maximum number of content servers to use. (default: 8).");
Console.WriteLine("\t-max-downloads <#>\t\t\t- maximum number of chunks to download concurrently. (default: 4).");