Special K: Remove dxsetup and vc2022 installation #898
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Should resolve the final parts of #893. In short, this PR should make SpecialK work out-of-the-box now.
When installing Special K, SteamTinkerLaunch performs two additional steps: Install
dxsetup
andvc2022
(previouslyvc2019
before some recent changes). It installs these packages by using the Steamworks Shared packages to do so, which are the packages Steam uses to install these components when required by a game.These must have been required previously, but in testing, I found that
vc2022
specifically causes games to crash. When this package is not installed, SpecialK works as normal.dxsetup
will be installed if required by a game, as this sets up Direct3D.Currently on master, for Special K to work, one must install the
vcredist2022
package. This creates a duplicate prefix for some reason, and I suspect this is why SpecialK works during this step. When the prefix is entirely unmodified as part of the SpecialK installation (that is,dxsetup
andvc2022
are not installed), SpecialK works with our existing logic which is mostly just fetching the correct DLLs/INI files and putting them into the same folder as the game executable.This PR also does two other minor things:
d3dcompiler_47
DLL installation, as this is not required for SpecialK to run -- It is required to use SpecialK and ReShade (which is problematic but that's for another time), but STL will install this as part of its ReShade installation, so there is no case where this DLL has to be installed just to use SpecialK.I tested this with NieR:Automata and it works. I will test NieR:Replicant as it is the only other SpecialK compatible game I am willing to test with at the moment.
TODO: