Welcome, Guest.
Username: Password: Remember me

TOPIC: How do I create a single folder for all my games?

How do I create a single folder for all my games? 9 months 3 weeks ago #1

First of all, I'm totally new to this, just learned about Reshade yesterday so forgive me if I say something stupid.

So currently to install shaders, I just open setup, select the .exe and API, and select the shaders I want out of the list, and all the files are installed to the folder that the exe is in.

How can I just have all my shaders in just one folder? Also, are the same shaders for different games the same (eg LumaSharpen for PUBG is the same as LumaSharpen for Witcher 3) or are they different (maybe per API)? Secondly, do the .dll files need to be in the .exe's folder or how can I point it to the right path?

I want to basically be able to manually install all my shaders and correct settings if I defrag or something, without setting it up again through the Reshade setup.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 3 weeks ago #2

Move the reshade-shaders folder to wherever you want it to be and modify the "EffectSearchPaths" and "TextureSearchPaths" of each ReShade installation to point to that new location (Settings tab in the in-game GUI). Yes, shaders are the same for all games.
Presets too can be created anywhere. Simply enter a full path instead of just a name when creating a new one through the GUI.
Cheers, crosire =)
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 3 weeks ago #3

Does the .dll file have to be in the same folder as the .exe?

Also if I reinstall Windows, do i have to go through the ReShade setup, or can I just drag the files to the right folders?
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 3 weeks ago #4

All ReShade needs is for the .dll to be in the right folder (yes, the .exe one) with the right name.
Reinstalling Windows would almost certainly remove the .dll's, so you'd have to re-add them to all the games again.

If you can get SpecialK's global injector working, that might remove the need to manually install ReShade all the time.
Last Edit: 9 months 3 weeks ago by FierySwordswoman.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 3 weeks ago #5

So if I reinstall, drag the dlls in the folder as the exe and point to the correct shader and preset paths it should work?

How about if there are 2 exes in the folder, how does the dll file know which one it should open with? Or is that what the injector is for
Last Edit: 9 months 3 weeks ago by flizzflobking.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 3 weeks ago #6

Yes.

It's not the DLL file that knows which EXE it should open with, it's the EXE that knows the DLL file and therefore opens it. ReShade pretends to be the DirectX/OpenGL driver, so that the game loads it instead of the actual one (which ReShade then loads internally).
Cheers, crosire =)
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 2 weeks ago #7

Thanks for all the help, last 3 questions:

1. You said all the shaders are the same, but that is only per API right (so OpenGL shaders are different from Direct10)?

2. Are all the .dll files the same (as in all Direct9 dlls are the same, all Direct10 are the same and all OpenGL are the same, but they are different from each other)

EDIT To clarify, are all the dxgi.dll files the same etc

3. So I can put my files as such: .dll and .ini in the .exe folder, preset and shaders in another folder, and just point the .ini file at the preset and shaders?
Last Edit: 9 months 2 weeks ago by flizzflobking.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 2 weeks ago #8

1) The shader files are the same regardless of API. ReShade interprets the shader code and automatically turns it into something the various render API's can read.
2) All .dll's are exactly the same with the exception of 32-bit vs 64-bit. They're all either ReShade.dll or ReShade64.dll renamed to suit whatever API the game uses.
So, for your 64-bit (most of your modern) games, all dxgi.dll, opengl32.dll, etc. are basically copies of each other. Same with 32-bit.
3) No and yes. You can point to all the shaders and textures, but I don't think you can do the same with presets. You're going to have *something* in each game folder, anyway, since you unfortunately can't store preprocessor information in a preset.
Last Edit: 9 months 2 weeks ago by FierySwordswoman.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 2 weeks ago #9

If you set it up you can keep D3D9.ini and D3D9.dll in the game folder, then the textures, shaders and the .ini for the preset you use can be wherever, for something like SMAA one could set it up as a single preset although the .dll and the .ini would need to be copied per-game of course.

Most of the time though you'd be using multiple shader files and presets on a per-game basis so it's probably either which way how you store the required files though the in-game OSD for ReShade allows for managing a more clean look if desired for the folders containing the shader files and any textures these are reliant upon plus of course the preset ini file or even files since I believe you can set up multiple presets too. :)

EDIT: D3D9.dll and D3D9.ini are of course just examples, DXGI = DirectX 10 and DirectX 11, OpenGL32 well that's OpenGL whether the game is 32 or 64 bit and then D3D9 for DirectX 9

D3D10 and D3D11 works too and depending on the game might work better than DXGI but for most games it appears DXGI works just as well.
(With some exceptions.)

EDIT: Oh and as a fallback ReShade.ini will work in lieu of {DLL}.ini too if I remember things correctly. :)
Last Edit: 9 months 2 weeks ago by JBeckman.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 2 weeks ago #10

FierySwordswoman wrote:
3) No and yes. You can point to all the shaders and textures, but I don't think you can do the same with presets. You're going to have *something* in each game folder, anyway, since you unfortunately can't store preprocessor information in a preset.
You can actually. Preprocessor information is stored in the INI beside the DLL in the game directory, so like it was proposed.

Example INI:
[GENERAL]
EffectSearchPaths=C:\My\Path\To\Global\ReShade\Shaders
TextureSearchPaths=C:\My\Path\To\Global\ReShade\Textures
PresetFiles=C:\My\Path\To\Global\ReShade\Preset1.ini,C:\My\Path\To\Global\ReShade\Preset2.ini
CurrentPreset=0
PreprocessorDefinitions=
Cheers, crosire =)
Last Edit: 9 months 2 weeks ago by crosire.
The administrator has disabled public write access.

How do I create a single folder for all my games? 9 months 2 weeks ago #11

crosire wrote:
FierySwordswoman wrote:
3) No and yes. You can point to all the shaders and textures, but I don't think you can do the same with presets. You're going to have *something* in each game folder, anyway, since you unfortunately can't store preprocessor information in a preset.
You can actually. Preprocessor information is stored in the INI beside the DLL in the game directory, so like it was proposed.

Example INI:
[GENERAL]
EffectSearchPaths=C:\My\Path\To\Global\ReShade\Shaders
TextureSearchPaths=C:\My\Path\To\Global\ReShade\Textures
PresetFiles=C:\My\Path\To\Global\ReShade\Preset1.ini,C:\My\Path\To\Global\ReShade\Preset2.ini
CurrentPreset=0
PreprocessorDefinitions=
This is what I do -- one folder for Reshade shaders/textures, that every install of Reshade across every game uses. Makes it very easy to add/update shaders in a single place. I simply copy a default INI over with each new game as a starting point, and voila!

Except for one thing: and this the very top of my list of requests for Reshade (in that older thread I made for requests! @crosire <3) -- this means, of course, that all shaders are processed when Reshade loads, even if you only select a handful with any game. An option in settings after 'Performance', say 'Lock & Load!' sets it so that only selected shaders are initialized when Reshade loads. This way best of both worlds: fast Reshade initialization, and One Directory To Rule Them All.
Last Edit: 9 months 2 weeks ago by Martigen.
The administrator has disabled public write access.