Relative paths

  • Posts: 1
1 year 10 months ago - 1 year 10 months ago #1 by Lenz
Hi,

there's some posts here that gives some info about the problem. Unfortunately i didn't find a working solution so i decided to open a new topic. I apologize if i did something wrong.

I'd like to apply my personal shader/texture settings using relative paths, without editing them everytime i switch to a different game.

I've tried to edit Effectsearchpaths Texturesearchpaths Screenshotpath Presetfiles parameters by using .\ command (or "=.\reshade-shaders\shaders" for example), and then apply them to Reshade D3d9 Dxgi Opengl32 ini files, with no result. Where am i doing wrong?

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

  • Posts: 3741
1 year 8 months ago #2 by crosire
This should work fine. I can load effects with a relative path like your example in the latest version.

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

  • Posts: 5
1 year 8 months ago - 1 year 8 months ago #3 by Lemmi
I have the same issue than Lenz here. Relative path won't work with DX10 or DX11 games (when I use dxgi.dll).

But it works fine with DX9 (d3d9.dll).
This work for exemple :
EffectSearchPaths=.\reshade-shaders\Shaders
TextureSearchPaths=.\reshade-shaders\Textures

Maybe "dxgi.dll" is working differently than "d3d9.dll" when it comes to relative path ?
Or could there be another reason for that ?

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

  • Posts: 5
1 year 8 months ago #4 by Lemmi
Nevermind, I tested with other DX10 or DX11 game and it works sometimes.
So far "the Witcher 3" or "Prey (2017)" don't work with relative path. I can't really figure out why...

If someone have any idea or can make it work, let us know :)

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

  • Posts: 5
1 year 8 months ago - 1 year 8 months ago #5 by Lemmi
Ok, I figured it out !

Using the method Lenz talked about will work most of the time when you put the reshade files in the same folder than the .exe of the game.

But, in some cases, the origin folder for reshade, let's call it the "Hook folder", is not the same as the .exe.
Sometime it's from the same folder as the reshade dll. And sometime, it's neither !!

For exemple, in The Witcher 3, even if the game .exe, the reshade.dll (dxgi.dll in this case) and reshade.ini are in the same folder (The Witcher 3\bin\x64), it's not the "hook folder" for reshade.

So using this, doesn't work
.\reshade-shaders\Textures

The "hook folder" is the parent folder, so this works :
.\x64\reshade-shaders\Textures

I guess there a bit a trial and error. You have to work your way up (or down) the folders until it works.

Here is another exemple for Prey :
.\Binaries\Danielle\x64\Release\reshade-shaders\Textures

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

  • Posts: 3741
1 year 8 months ago #6 by crosire
That is the game changing the working directory to something other then the executable directory. In theory ReShade should ignore that, but looks like there is a bug somewhere that causes that to not work.

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