[Latest master] Reshade loads from dll location rather than exe location

More
1 week 5 days ago #1 by Niko of Death
I compiled the latest bleeding edge version of reshade today, and between my last build (July 26th) and now, an important behavior changed. Before, reshade would load from the exe location (e.g. reshade.ini is loaded from/saved to the exe folder, preset selector defaults to exe folder), but now it loads from the dll folder. The main problem with this behavior is with Vulkan games, as it means every vulkan game shares the same reshade.ini (in C:/Program Data/Reshade), rather than having their own reshade.ini in their exe folder. The other major case where this behavior could be problematic is when it is necessary to use an external injection tool to load reshade, such as with Genshin Impact (due to anticheat), and UWP games.

Please Log in or Create an account to join the conversation.

More
1 week 4 days ago #2 by crosire
This behavior hasn't changed. ReShade will load from the exe location IF there is a ReShade.ini already there, otherwise it will load from the DLL location.
The setup tool will create the ReShade.ini for Vulkan games, hence why this works.

Please Log in or Create an account to join the conversation.

More
1 week 4 days ago #3 by Niko of Death
Well then that behavior isnt working properly,.
Here's ReShade32.log from a game folder (in this case, Borderlands 2 using DXVK) using 4.9.1, loading properly in the exe folder: ghostbin.com/GyehI
Whereas here is ReShade32.log from the ProgramData folder that I get when running Borderlands 2 (with DXVK) using my latest build: ghostbin.com/EMktI

Please Log in or Create an account to join the conversation.

More
5 hours 21 minutes ago #4 by Niko of Death
I think I discovered what the issue is. If there's no ini in the programdata folder, and one in the exe folder, it'll load from the exe folder. However, if there's an ini in both, it loads from the programdata folder. To make things worse, when it does load from the exe folder, it generates a ReShade32.ini file (or ReShade64.ini) in the programdata folder, which makes it so the next run will have it load from the programdata folder, unless the generated ini is deleted.

Please Log in or Create an account to join the conversation.