Dolphin, the GameCube and Wii emulator - Forums

Full Version: Shader fixing/disabling for 2D and 3D thread, using 3Dmigoto
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
There are games that show broken graphical effects when you play them in stereoscopic 3D. After being annoyed by it for some time, I've decided to take action and start improving things.

I downloaded 3Dmigoto from here: https://github.com/bo3b/3Dmigoto/releases   and then I started hunting undesirable vertex and pixel shaders. 3Dmigoto is a tool made for disabling and fixing effects while playing in 3D, but it also works in 2D.

Description of what I've done for now:

3D oriented:

- Zelda Twilight Princess: disabled water reflections, and also the waves Link produces. This last thing makes water less realistic, but it contained a reflection of Link's legs, and that was incorrect in 3D. You can only disable water reflections if ou want, because these two effects are in two separate files. Screenshots:
Spoiler:
- Super Mario Shunshine: disabled heatwave effect, because it was misplaced in 3D. I've also disabled water reflections and wrong depth look. Screenshots:
Spoiler:
- Luigi's Mansion: disabled shadows of environment elements and characters. This is a work in progress because I couldn't disable the shadow of the vacuum yet (I can use the hunting mode of 3DDmigoto and find the pixel shader, but once dumped I still couldn't disable its effect). Screenshots:
Spoiler:
- Tales of Symphonia Dawn of the New World: disabled shadows below characters. They had incorrect depth.

- Zelda Wind Waker: disabled the heat effect for the PAL version (there's already a cheat code for the American version). Weird, it was supposed to be fixed since a lot of time ago, but I guess 3D made it reappear.

These also have a purpose in 2D:

- Super Mario 64 and Mario Kart 64: disabled some kind of overlay that made the games darker than they should be. This was the first thing I did and my main motivation. Screenshots:
Spoiler:
- Star Fox 64: same as the SM64 and MK64, but this one uses a different shader.

- Tales of Symphonia: disabled the blurring effect that affected some parts of the screen. Screenshots:
Spoiler:
- The Last Story: disabled bloom. I haven't tested this much.

- Dragon Ball Z Budokai Tenkaichi 3: a variety of fixes and some optional things, like removing the black outline on characters, or disabling the combat HUD. As with every other game, there's a description at the start of every file. There are two fixes that I had to do in the "d3dx.ini". Search the word "Dragon" and you'll find the section where you have to uncomment the lines (remove the ";", but just for this game. Annoying, I know).

- Zelda Skyward Sword: just add these lines to the "Shader manipulations without patches + shader filtering." section in the "d3dx.ini":

Code:
[ShaderOverrideBlur]
Hash=de7e2cb2ae26a445
Handling=skip

Remember that it can interfere with other games. If you use other games put a ";" before each line.

All these fixes seem to only work with the Dolphin build I was using, and that's the Ishiiruka 391 build. I guess different builds need different filenames for the shaders. The fixes seem compatible for all game regions. To see the screenshots of this thread in 3D, download them and rename the extension to ".jps". Then open them with the Nvidia application to see 3D screenshots.

Dowload link (updated on 2015/07/14):

https://www.dropbox.com/s/v6vsq98xm9z7vm...14.7z?dl=0


Instructions:

- Put the contents of that 7z file inside the Dolphin folder (has to be the Ishiiruka 391 build for now).
- There's a folder called "fixes", with folders dedicated to games that contain the txt files (those are the shader replacements).
- Put the files of the game you want to play inside the "ShaderFixes" folder. You shouldn't put files from different games because they can interfere.
- Play the game with the D3D backend, be it in 2D or 3D.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

NEW UPDATE!!! (2015-08-22)

Only for 3D Vision users, I made a shader fix for Zelda Twilight Princess and Metroid Prime that will let you play at any aspect ratio (including 3 monitor surround 3D) without HUD stretching.

Things to remember for Zelda Twilight Princess:

- Download the fix and unzip its contents in the Dolphin folder: https://www.dropbox.com/s/rtp3xubkbh5c0s...3D.7z?dl=0
- It works only with the Gamecube PAL version. Just a few shaders work with other regions.
- You need to use the "No Bloom Effects" code found here: http://www.gc-forever.com/forums/viewtop...=38&t=1958
- You have to not use any 16:9 code. But you'll need this "no culling" code to be able to see things at the sides:

Code:
042746FC 48000148
04274844 38600000
04274848 4E800020

- I may not be absolutely 100% complete. I visited all zones and temples, I even finished the game (I had to fix Ganondorf and other things at the end battles), but I didn't fight against other bosses. So it's possible that they need fixes, or maybe not. I'll replay the game from the start when the new version of this pack (https://forums.dolphin-emu.org/Thread-to...hd-project) is released.
- The "auto" aspect ratio option in Dolphin won't see the aspect ratio changes of this fix. If you play in 16:9, you need to select "force 16:9". For wider aspect ratios, unfortunately your only option is to use "stretch", but that disables the accurate aspect ratio calculation, so you may have to tweak the X axis proportion accordingly. The values I put were just the natural ones.
- To change the aspect ratio in real time (which starts at 16:9 by default), press the "k" key. It will cycle through 4 aspect ratios: 4:3, 16:9, 21:9, 32:9 (lol, no one will use this), and 48:9.
- As a bonus, in the "d3dx.ini" file you can find this:
Code:
[Key1]
Key = k
type = cycle
x = 1, 0.75, 0.5714285714, 0.375, 0.25
;FOV Y axis, using 16:9 aspect ratio as the base.
;y = 1.33333, 1, 0.76190476, 0.5, 0.3333333
;Constant Y axis for simply changing aspect ratio.
y = 1, 1, 1, 1

The "x =" line defines the X axis of the aspect ratio, used to correct it from the original 4:3 aspect ratio. 1 means 4:3, and lower than that means a wider aspect ratio. You can add or delete values from that line, experiment all you want. The "k" key will cycle through them ingame. The "y" variable controls the Y axis of the aspect ratio. By default I left it at 1, so the "k" key only changes the aspect ratio. If you comment the "y = 1, 1, 1, 1" line and uncomment the ";y = 1.33333, 1, 0.76190476, 0.5, 0.3333333" line, it will change the field of view instead of the aspect ratio (assuming 16:9 AR as the base. For other aspect ratios, these values would need to be changed).

Screenshots speak better than words, so here they are:

Aspect ratios (the blurriness of the wider ones is because these images are edited from a 16:9 stretched one):
Spoiler:
FOV:
Spoiler:
As you can see, I didn't make the HUD retain its size with the FOV options. It would have made me release this later and it would have complicated the fix. So maybe for later.



Considerations for Metroid Prime:

- Download link: https://www.dropbox.com/s/6x8q8dhvuov5p5...3D.7z?dl=0
- Its functionality is the same as with Zelda TP.
- I may be incomplete because of the same reason (bosses). Or it may be, I don't know.
- Remember, don't enable any widescreen hack. Use the "no culling" code:
Code:
0432D7A0 38600001
0432D7A4 4E800020
0432D800 38600001
0432D804 4E800020
0432D86C 38600001
0432D870 4E800020
0432D95C 38600001
0432D960 4E800020
0432D9A4 38600001
0432D9A8 4E800020
- I have only tested the Gamecube PAL version. It may not work with other regions.

Screenshots:

Spoiler:
The Legend of Zelda: The Wind Waker (both PAL and USA versions):

- Download link: https://www.dropbox.com/s/8jf9ybyjaffc77...3D.7z?dl=0
- You need to not use any 16:9 code. Instead, and only for the American version (unfortunately I didn't find any ode for PAL), you have to use these "no culling" codes:
Code:
04256888 38600000
0425688C 4E800020
Code:
042569D0 38600000
042569D4 4E800020
- I also recommend this one to improve the resolution:
Code:
043FCB9C 00000000
- This time I took into account the accurate aspect ratio of the game, so you should play it with the "stretch" option enabled. This way you won't have vertical black bars if your monitor is 16:9, for example.
- Screenshot:
Spoiler:
The only different things between these three games is the "d3dx.ini" and the "ShaderFixes" folder. You can keep the remaining files for both games.
Fantastic, just what I was looking for. Thanks!
I've updated the first post with a new download link and some screenshots as proof that this works Tongue .

Now I've removed all shadows of Luigi's Mansion (except for some that appear just for two seconds when a lightning strikes) and added some games (DBZBT3 and ToS2). Just use the "uninstall.bat" of the old installation, remove any remnants from the previous fixes, and redownload the new file I've uploaded. Now I'm going to see if they wor with the new Ishiiruka build...
Does this work with OpenGL or just D3D? Just asking because of the D3D files, but no OpenGL dll that I saw.
(07-16-2015, 06:27 AM)DarthVitrial Wrote: [ -> ]Does this work with OpenGL or just D3D? Just asking because of the D3D files, but no OpenGL dll that I saw.

Just D3D, unfortunately (I forgot to mention it in the first post). 3Dmigoto is a tool made for DirectX 11. I know of another one for DirectX 9, but I don't know if there's another one for OpenGL. There is an OpenGL wrapper to enable 3D Vision in OpenGL games, but I don't know if it has the same capabilities as 3Dmigoto.

By the way, for SM64 and MK64 the shader file needs to be named "cc9467e4f7764248-vs_replace.txt" after I used the latest Ishiiruka build.

I hope I'm not getting filenames that work just for me. If someone tries some of these fixes, please tell me if they work.
Wow! I was looking for this to play Twilight Princess in 3D! Thank you and good job! Smile Smile Tongue Tongue
Also, one question, is it possible to remove the DOF effect in Skyward Sword?
(08-10-2015, 05:05 PM)JLink100 Wrote: [ -> ]Wow! I was looking for this to play Twilight Princess in 3D! Thank you and good job!  Smile  Smile  Tongue  Tongue
Also, one question, is it possible to remove the DOF effect in Skyward Sword?

Great! So does it work for you?

About Skyward Sword, yes, it is possible. I managed to disable it two weeks ago (and bloom too in a different shader), but I still haven't posted the fix. I'll do it today (10 or 11 hours from now). I know how to do some new tricks now with 3Dmigoto after working on Zelda OOT, so I have to see if I can improve it.

I don't know if I mentioned it, but some of the fixes I made only work with per pixel lighting enabled. Dolphin uses different shaders depending on that option.

Edit: and there will be another update to Twilight Princess, to make the skybox deeper Smile.
(08-10-2015, 05:05 PM)JLink100 Wrote: [ -> ]Also, one question, is it possible to remove the DOF effect in Skyward Sword?

OK, done. Add this to the "d3dx.ini" where there are some commented "ShaderOverride" examples:

Code:
[ShaderOverrideBlur]
Hash=de7e2cb2ae26a445
Handling=skip
[/quote]

Great! So does it work for you?

About Skyward Sword, yes, it is possible. I managed to disable it two weeks ago (and bloom too in a different shader), but I still haven't posted the fix. I'll do it today (10 or 11 hours from now). I know how to do some new tricks now with 3Dmigoto after working on Zelda OOT, so I have to see if I can improve it.

[/quote]

Well, it "does work" on Twilight Princess for example, because it changes the perspective of the reflections in 2D mode but they are not removed (although 3D reflections are less displaced XD). I am sure that my problem is the version I am using (Ishiiruka 413 build), because as you said, you used 391 build. But I didn't try Skyward Sword yet! So when I find some batteries for my wiimote plus I will give it a try!
Quote:I am sure that my problem is the version I am using (Ishiiruka 413 build), because as you said, you used 391 build.

Oh, right. The shaders for the reflections changed after some build. I have the new ones but forgot to post them. I'm also using the Ishiiruka 413 build right now, and a newer version of 3Dmigoto (the one I posted in the Zelda Collector's Edition texture pack).

Right now the fixes I have saved are a bit untidy. Instead of releasing them as a pack I should do it per game (because some games need some fixes in the "d3dx.ini" file). Give me a few more days to organize it. Right now I have a variety of fixes for 16 games.

There's an issue with 3Dmigoto right now that remains to be fixed. It doesn't read the constants defined in the ini file if Dolphin is used without 3D Vision, so if some shader fix makes use of them, Dolphin either crashes or puts those constants to 0. So that reduces some possibilities for 2D users (for Smash Bros 64 and Paper Mario, for example) and will make me have to release two sets of fixes.
Pages: 1 2 3 4 5