Some games for Windows have inconsistent casing for their file path.
This option allows converting them to lowercase so we don't end up with
multiple directories because capitalization makes them unique on
case-sensitive filesystems.
Makes the downloader use small files container when installing games via Galaxy API.
Instead of downloading a lot of very small files we download a file that
contains all the small files and extract it when everything is downloaded.
Use old xml data when determining if extras are already complete
Also try to determine if local and remote file are the same version based on previous xml data and file size
Make it possible to select by build id
Tries to find build with build id first
If no build is found with specified build id then try to use it as build index
If build id or index is not valid then default to build index 0
Make CDN url template handling more generic
Add option to list available CDNs
Change default Galaxy CDN priority to "edgecast,akamai_edgecast_proxy,fastly"
Allows downloading DLC files by extending file selection.
Files can be selected by using the name of dlc
--download-file "gamename/dlc_gamename/fileid"
No actual code changes were necessary.
I have partly followed
https://doc.qt.io/qt-6/cmake-qt5-and-qt6-compatibility.html, but the
versionless targets only work from Qt 5.15 onwards. The suggested
workaround chooses 5 over 6 and does not appear to work properly when
one of the required components is missing. Using the versionless
approach with an additional variable for the targets seems to work best.
If necessary, Qt 5 can be forced over 6 by passing
`-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON`.
I have tested this by tweaking the code to force the GUI to appear.