sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.15k stars 73 forks source link

ReShade + SpecialK: Improve installing SpecialK on top of ReShade #921

Closed sonic2kk closed 1 year ago

sonic2kk commented 1 year ago

The last major piece of work required for #894.

Overview

Currently if a user installs ReShade and then tries to install SpecialK, the ReShade DLLs from the standalone install will be left over. Likewise, if a user installs ReShade and SpecialK together with ReShade as a SpecialK plugin, and then either disables this option OR disables SpecialK entirely, the previous ReShade DLLs will not get cleaned up.

This gets messy, pollutes game files, and gets in the way of some duplicate DLL detection logic.

This PR adds logic to do the following:

This cleans up the game files a lot and makes for a cleaner experience.

Future Work

I am not too sure how the INI file cleanup should work, for now it's a toggle in the ReShade remove functions. For now they're left as-is, but in future, we may need to rename them somehow, so configuration can be preserved. A user can do this manually for now, though.


I tested this with HoloCure and NieR:Automata, so I am confident it works. It also won't get in the way of the DLL duplicate checking logic. This is pretty much ready for merging after some quick code review!