(01-25-2016, 07:58 AM)fray_bentos Wrote: [ -> ]I have tried Ishiiruka build 391 and 422, I have enabled per pixel lighting, copied your files into the installation folder, and copied the txt files into the ShaderFixes folder. I am using a 3Dvision monitor and D3D11. Does anyone have any further tips?
For that game, which only has one shader to disable (unless you also want to disable water refraction, which is one or two more shaders), my advise is that it's better if you do it yourself. There's even the possibility that the shaders Dolphin generates are different for every user. Once ubershaders are available, I guess universal fixes will have more chances of working for everyone.
I'm going to tell you how to disable the shaders (preferably pixel shaders) you want (I just did it in a pair of minutes):
1- Download the latest 3Dmigoto release from here:
https://github.com/bo3b/3Dmigoto/releases (1.2.27 at this moment). Fortunately, shader hunting is now possible even if you don't have 3D Vision.
2- Extract the files that you will find in the "x64" folder in the root of the Dolphin build you are using (use the newest build or whatever build you want).
3- Load the game and be using the D3D video backend. You will see a green overlay with text and numbers. That means that the shader hunting mode is enabled ("hunting=1" in the "d3dx.ini" file).
4- You will basically navigate through two types of shaders: pixel shaders and vertex shaders. Navigating through them will disable them, so keep going until you see the heatwave disappear. Controls are these (except the F1-F12 keys, everything is in the numpad):
- 1 and 2 are previous and next pixel shader. 3 dumps the current pixel shader. You will find it in the "ShaderFixes" folder that will be automatically created.
- 4 and 5 are previous and next vertex shader. 6 dumps the current vertex shader. You will find it in the "ShaderFixes" folder that will be automatically created.
- 7 to 9 is for the same as the others but for geometry shaders. You won't need to use them.
- 0 disables/enables the hunting overlay. It will also disable/enable the real time navigation of shaders, so you can toggle this for an on/off effect of the shader you're viewing.
- The plus key ("+") reloads the list of shaders in use. It's a good idea to press this periodically, so that unneeded shaders don't make the list bigger.
- F10 reloads the shaders that are in the ShaderFixes folder, so you can edit them and see the changes without closing and opening Dolphin.
- Holding F9 disables the effect of the shaders in the ShaderFixes folder. However, this is also a Dolphin hotkey (screenshots, I think).
5- If the shader was dumped correctly, you will hear a "beep" (not the "boop" that sounds when something went wrong). Open the file that appeared in the ShaderFixes folder. If it's a pixel shader (this is recommended for just disabling, and I have just tried it with Super Mario Sunshine), it will be called something like "340e1f25f93a9aad-ps_replace.txt".
6- Look for the words "void main( - multiple lines of text -)". Immediately after the following "{" character, or at least before any "r0=" of similars, insert the line "discard;" (without the quotes, and with semicolon).
7- Save the changes, go back to the game, press "+" (in case you were still viewing the shader) and press F10. The shader should be disabled (and you will hear another "beep").
8- Repeat for any other shaders you want to disable.
9- After you are done, close Dolphin, open the "d3dx.ini" file and search for the line "hunting=1". Change it to "hunting=0". Now the overlay won't appear ingame (it won't use lots of extra RAM and VRAM, compared to when you were hunting) and the effects will be disabled.
10- Remember that other games may use those same shaders. When you are not playing that game, rename the ShaderFixes folder, for example.
It looks like a long explanation, but once you get used to it, you will be doing it in like a minute. For vertex shaders, the changes you have to make are different. You will have to look for the o0, o1, o2, etc variables and put them to "o0=0;", "o1=0;", etc. And this may not have the same effect as navigating through the shader.