367b57ca8905dde5d4a5ba7d97fa9aa9754863b3 changed how --no-subdirectories worked
Before that commit --no-subdirectories affected only subdirectories under --subdir-game
After that commit it affected subdirectories under --directory
This changes the behavior back to how it was previously
Now --no-subdirectories affects only subdirectories under --subdir-game
Fixes values added in 367b57ca8905dde5d4a5ba7d97fa9aa9754863b3 not saved to cache and loaded from cache.
Bump cache version number to invalidate old caches.
Adds gamename to logo, icon and product json filenames to make sure we don't overwrite basegame files with files from DLCs when user has disabled subdirectories.
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.