Tuesday, January 23, 2018

Mass Effect Andromeda - 100 + 10% 3D Vision Ready Fix

(Sorry, I will not copy paste the thread here as is easier to maintain in one place)

Screenshots, Videos, Fix, Details:
See: Mass Effect: Andromeda - 3DVision Fix

Friday, January 19, 2018

Tekken 7

3D Vision fix for Tekken 7. Also with some graphics options. There will be more game content in the future, so the fix will be updated after that.

Update  (2018-01-19): fix updated with a new way to stereoize depth of field and ambient occlusion (3Dmigoto 1.2.70), ensuring present and future compatibility with all resolutions (higher than 5120x2880, or more custom resolutions than what it supported before).

Update with bug fixes (2017-12-03): I've uploaded the fix again, doing a long due fix for depth of field and ambient occlusion. DoF was 2D before and now is stereoized, but every resolution needed an addition to "d3dx.ini". Check the lines starting with "TextureOverrideDoF" in "d3dx.ini". There's almost everything up to 5K. Now DoF isn't disabled by default. The ambient occlusion bug was happening at only 1920x1080 and 3840x2160, and it's fixed the same way.

Extremely important update and news (2017-12-02): finally, after months of trying ways to fix the specular lighting problem the wrong way, DHR suggested me something that I had already tried before, but looking at it again I realized where my mistake was, because it was incomplete, and with just a simple tweak I got it right. And so, I've finally removed the "Remaining issues" section of this post. Download the fix again and enjoy. You'll notice it right away in the water stage (sun reflection) and Mishima dojo (moon reflection), for example.

Update (2017-11-30): fixed Geese Howard shaders and his stage shaders. Updated 3Dmigoto to 1.2.67 version. Also, the fix now includes all my compiled ".bin" shaders. If they work correctly, you won't see stutters when you use the fix in fresh state. Same download link as always.

Update (2017-09-01): the new bowling mode is now fixed. Download the fix again. You can keep your old ".bin" files in ShaderFixes, to avoid having to compile old shaders again.

Update (2017-07-03): I found more of those minor shaders, applied a new automatic low convergence preset for cutscenes/intros/outros (you can disable this at the "[ShaderOverridePresetCutscene]" and following lines in "d3dx.ini"), and updated the download link.

Small update (2017-06-18): I found 4 more minor shaders and updated the download link.

- Lighting.
- Specular lighting.
- Smoke.
- Skybox.
- Heatwave effects.
- Transparency effect in geometry.
- Depth of field.
- Ambient occlusion bug at certain resolutions.
- And a lot more inaccurate effects.

- Download this file and extract its contents in the "TEKKEN 7\TekkenGame\Binaries\Win64" folder, where "TekkenGame-Win64-Shipping.exe" is.
- Make sure "TekkenGame-Win64-Shipping.exe" is included in your Nvidia "Tekken 7" profile, which is available from the 382.33 drivers onwards. It was for me, but some users of the Asian version of the game had problems with this.
- Launch the game.
- The game has been more thoroughly tested with shadows and effects at max settings (post processing is OK at lower settings), which doesn't mean it will be wrong at low/medium settings.

- F1: four convergence presets.
- F2: HUD depth presets. Screen depth by default.
- F3: HUD toggle (with a nice collapse animation).
- F4: bloom and lens dirt toggle. Not disabled by default.
- F5: depth of field toggle. Not disabled by default.
- F6: Arena stage TVs convergence presets. By default, those TVs are in 2D, but if you open "d3dx.ini" and uncomment the ";[TextureOverride1]" line and its two following lines, those TVs will render in 3D, but heavily break lighting in other stages (edit: probably a mistake of mine while hunting. I don't encounter any graphics bugs now). Use for fun and testing if you want.
- z: Kuma/Panda hair toggle. If you use a high/max textures setting, they will have hair, which needs a lot more GPU power than normal. Using this hotkey will disable their hair and you will get a lot more fps. They have hair by default.
- Right trigger controller button: low convergence preset while holding it. If you use that button for combos, you can disable or change the hotkey in "d3dx.ini" ([Key8]).
- x: some HUD elements have variable depth by default (some at screen depth, and some at full depth), so with this hotkey (which is disabled by default), you will be able to use a positive, negative, or disabled correction (3 presets), which also inherit your F2 hotkey values.

If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

PCSX2 [DX11]

3D Vision feature for PCSX2, the PlayStation 2 emulator (DX11 hardware renderer). It uses a manual shader stereoization method without using physical shader files, for better future compatibility.

IMPORTANT UPDATE (2018-01-19): fix updated. the new 3Dmigoto 1.2.70 allows me to stereoize render targets automatically. It means that custom resolution tweaks or "Large Framebuffer" aren't needed anymore.

Warning number 1: this isn't as "plug and play" as PC games fixes. It will need user involvement depending on how much you want a perfect experience, because it's impossible to have all games fixed at the same time. It also requires games to be booted a certain way.

- Get a recent PCSX2 build, equal or newer than "v1.5.0-dev-2249-g49cd6bc78". Download links are here.
- Configure the graphics plugin (GSdx) to use the DX11 hardware renderer.
- For PCSX2 to be able to see the "d3d11.dll" of the fix on Windows 8.1 or higher, you need to apply this patch for the moment. If the bat file doesn't work, using the "sdbinst d3d11_fix.sdb" in CMD with admin rights may work.
- Download the fix here and unzip its contents in your PCSX2 folder.

Booting games
This needs a special procedure. After installing all the needed files, if you try to open the GSdx configuration, the emulator will crash. Follow these steps:

- Open the emulator.
- Choose a game (choosing the ISO from the recent list, or searching one manually...) and boot it.
- After graphics of the game start to appear, or at any moment after that, open the GSdx configuration (you can press escape to close the game or just open the configuration directly), change settings if you want, and then close it. It doesn't matter if you apply changes or not. This action will unlock esclusive fullscreen, needed for the next steps.
- Double click on the game window so it's resized to borderless fullscreen.
- Press alt+enter, and the game should trigger exclusive fullscreen and 3D Vision.
- If it doesn't work at first try, double click again until it's borderless fullscreen and try pressing alt+ enter again.

GSdx configuration requirements and recommendations

1- Interlacing: games that shake when the option is set at "None" will most likely be perfect with the "Bob tff" option, and in some rare cases, "Bob bff". Knowing is a game is interlaced (half vertical resolution, which most of these shaky games have) is important for the next steps.

2- Large Framebuffer: it's needed for 3D when you play at 3x native resolution or higher IF the game doesn't have a "progressive scan" mode or cheat code. Warning number 2: this option increases VRAM usage A LOT at 5x-6x native resolutions and higher. Unneeded after the 2018-01-19 fix.

3- Custom resolution: it's needed for 3D IF you are playing an interlaced game (unless you play at native or 2x native) OR IF you really don't want to use "Large Framebuffer". Interlaced games need a higher than normal vertical resolution. Example: Devil May Cry only works in 3D with 3840 horizontal resolution if the vertical resolution is 2879 or higher.
Note: there are ways of forcing 3D via "TextureOverride" in "d3dx.ini". Read the shader overrides explanation. Unneeded after the 2018-01-19 fix.

4- Enable HW Hacks: some games need some of these to render right, especially "Align Sprite" (some Namco games like Soul Calibur 3 or Tekken 5), which demands native resolution multipliers, and "Half-pixel Offset", to have some bloom effects at their correct position. Things not related to 3D.

Use of regex toggles
This fix was done without using physical shader files, for better future compatibility. Instead, it uses a real time "find and replace" function for exactly three shaders that control all geometry in all games.

The problem is that some effects of those shaders need to not be stereoized, like the HUD or some double stereoized effects (sometimes bloom, blur filters, shadows...). The regex function tries to not stereoize things that have a depth value of 0 or 1, and in some games it works (most of the HUD of the Kingdom Hearts games).

The first and most simple solution, which may be partial or fix some things and break others but it's useful many times, is using three hotkeys I offer to disable stereoization in each of the three shaders that control geometry. They are "j", "k" and "l", and I'll refer to them as "regex 1", "regex 2" and "regex 3". And that's also their order of importance, as you'll almost never have to disable the first one. A lot of times a mix of regex 3 and regex 2 will fix HUD issues, but regex 2 is usually related to other effects. In the "PCSX2_3D_game_database.txt" file I include I made a compilation of results of games I have and when you need to disable regex 2 and/or 3 or none.

Use of shader overrides. Warning number 3: for advanced users and perfectionists
Sometimes, or usually, disabling some of the regex isn't enough to make a game perfect or almost perfect, because you will be disabling more things than needed. Or maybe the HUD is related to regex 1. In these cases, you need to tell the regex to not stereoize a specific pixel shader. This is where things get more complicated, for these reasons:

1- Future PCSX2 (specifically GSdx) builds may change the hash of the generated shaders, rendering all game specific fixes useless. Still, games don't usually need a lot of these. Most of the affected games need between 1 and 3 in my experience.
2- Fixing something in one game can break something else in another game, or even in the same game in some cases. So fixing all games at the same time is impossible. Even with a small library of 30 something games I found a little more than 10 conflicts between games.

Now about how to do a shader override. The fix includes working examples for games I own. Check the "d3dx.ini" file, under "Specific game fixes". The first elements you will see are:


Those are the three vertex shaders I stereoize with regexes, and their default values for stereoization. "x3" for regex 1, "y3" for regex 2, and "z3" for regex 3. "w3" is an extra option about the fix I made for the skybox in the Ratchet & Clank saga (it forces the skybos to max depth without breaking other things in those games).

The values after "Hash=" may change with future GSdx versions, but I will be able to recognize them and update the fix.

Sections below them are game fixes with comments saying what they fix. They contain the hash of the pixel shader, and the value they pass to their parent vertex shader. If you write for example "z3=1", it means that regex 3 won't stereoize that specific pixel shader. If it's "y3=0", it means it will stereoize it, the same as not writing the shader override at all. Useful if you want to enable/disable game fixes break effects in other games.

How to get the pixel shader hashes? Search the "hunting=0" line and change it to "hunting=2".

Warning number 4: this will make games less stable when switching out of fullscreen, and VRAM usage will be higher.

After that, run the emulator and play the game you want. Press "0" in the numpad and you will see a green overlay. Numpad keys 1 and 2 will cycle through the available pixel shaders, disabling the current one. Numpad key 3 will dump the shader inside the "ShaderFixes" folder. Get the hash (filename part before "-ps_replace.txt"), open the "ShaderUsage.txt" file that will appear in the emulator folder and search that hash. Example of a random pixel shader:

<PixelShader hash="07ee058e5bed1e6b">
  <ParentVertexShaders>6d64bfd710f98b05 </ParentVertexShaders>

The pixel shader "07ee058e5bed1e6b" is related to vertex shader "6d64bfd710f98b05". If you look a few paragraphs above in this post, you will see that it's regex 1. If you want to not stereoize that effect, write this in "d3dx.ini", below the other shader overrides:


Then you can go back ingame without closing it, make the game 3D with the explained method, and press F10. Changes should be applied instantly (it will also reset the state of all hotkeys).

When you are done, close the game and set "hunting" to 0 again. And you can delete your dumped shaders that are inside "ShaderFixes".

Note: the included "d3dx.ini" includes shader overrides for many games I have (with explanations about what they affect). There could be conflicts with other games, as I have explained. If you suspect they could be interfering with your game of choice, delete them, but not the regex ones that are at the start.

Texture overrides
With this, you can force games to be 3D that you want to play with native resolution multipliers, without needing "Large Framebuffer" or custom resolutions, for games without progressive scan mode. Dump any pixel shader, as previously explained. Check "ShaderUsage.txt" and go to lines starting with "<RenderTarget orig_hash=". Get the hash of all render targets there and write it like this Devil May cry example in "d3dx.ini":

;Stereoization of 3840x2160 in DMC.
Hash = c742d5b7
StereoMode = 1
Hash = 3e068917
StereoMode = 1
Hash = afead9ca
StereoMode = 1
Hash = 98dd53df
StereoMode = 1

After reloading with F10 or running the game again, it should be 3D. However, every resolution has different hashes. Remember to disable hunting mode.

 Unneeded after the 2018-01-19 fix.

You will probably need at least some of these hotkeys (which you can configure in "d3dx.ini") when playing:

- v: it changes the type of stereoscopic cameras. By default, both eyes get a modified view for 3D. With one click, the right eye will have the same camera angle as 2D and the left eye will do all the 3D work. One more click, and the opposite will happen. And the last preset returns it to normal. It can be useful for games that stereoize the HUD, making it invisible at normal convergence modes. With the dominant eye you will see all game effects normally.

- b: toggle to unstretch 4:3 games from 16:9. It will be buggy depending on the game, and the sides will flicker. Avoid using this if possible.

- j: regex 1 stereoization toggle.

- k: regex 2 stereoization toggle.

- l: regex 3 stereoization toggle.

- h: convergence presets. Different games may need wildly different convergence levels. I tried to cover as many cases as I could.

- g: multiple God of War 1 and 2 separation and convergence combination presets, from higher to lower. These games present geometry with very compressed depth. This is a workaround that makes them normal. Each preset was carefully crafted, so don't touch your Nvidia convergence hotkey or convergence presets. The Nvidia separation hotkey or wheel is OK to use. Don't use this hotkey with other games unless you find another like them.

- f: toggle for moderately higher max separation. Some games like Soul Calibur 3, Tekken 5, Ys IV and Ys V use a lower separation than the rest of games. 5.6cm instead of 7cm in my monitor. This hotkey makes them have the same depth as the other games. Don't use it with unaffected games unless you know you want it.

Fix updates
I will probably keep updating this if PCSX2 changes the regex shaders. Also, exclusive fullscreen may be an official feature in the future, which will make the included "d3d9.dll" and "d3d9.ini" unnecessary. And it will also make the game booting process simpler and more stable.

I also keep the "d3dx.ini" file in my github account. If the date of that file is newer on github, use it instead of the one that comes with the fix, because it may contain small fixes.

User contributions for shader overrides are welcome. Just know the risk of them becoming obsolete in future PCSX2 updates. The fix was done using "pcsx2-v1.5.0-dev-2249-g49cd6bc78-windows-x86", and I can confirm a build few versions newer than this, used by a different person with different drivers, was compatible with all shader overrides.

Side By Side / Top And Bottom / Interlaced compatibility
Normally you would have to uncomment the ";run = CustomShader3DVision2SBS" line in "d3dx.ini" and then press F11 ingame (once it triggers 3D) until you have your desired mode. However, the game window stays black when you try to do it.

The workaround is not enabling that line, starting the booting process until after you have "unlocked" the exclusive fullscreen possibility, uncommenting the ";run = CustomShader3DVision2SBS" line, saving changes, going ingame in fullscreen mode, pressing F10 to reload the configuration, and then pressing F11 until your 3D mode is selected.

Painful, I know. I don't know a way to fix this completely. But the workaround works.

Windows 7 compatibility
I haven't tested this with Windows 7. If there are any crashing problems when opening the GSdx configuration at the right time, open "d3dx.ini" and look for this block:


Back when I used 3D in Windows 7 (with an old method that I include but you have to unlock. I don't recommend it so I won't explain here how to use it), I needed those settings to be 0, with maybe "allow_create_device=1" or "allow_create_device=2".

Special thanks
- All 3Dmigoto developers and contributors (bo3b, DarkStarSword, Flugan...).
- All PCSX2 developers and contributors. Without them, we wouldn't be able to even play these games in 2D.
- Kaldaien, for the specific SpecialK build I use to force exclusive fullscreen (0.7.0).
- RibShark, the one who made the compatibility patch to make 3Dmigoto work with PCSX2 on Windows 10.
- Kaimasta, for helping with testing and giving good ideas and inspiration, like the God of War hotkey.

If you liked this and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

Wednesday, January 17, 2018

The Legend of Heroes: Trails in the Sky (FC - SC - the 3rd)

3D Vision fixes for The Legend of Heroes: Trails in the Sky series (all three games). The fix needs dgVoodoo to convert DX8 into DX11, instead of using the DX9 version which has some issues.

Update (2018-01-17): updated 3Dmigoto to version 1.2.69, fixed geometry elements being affected by HUD depth, and added fixes for the other two games. All in one post because installation instructions are the same.

Update (2017-12-09): updated 3Dmigoto to version 1.2.67, which has better CPU performance. No other changes.

Important warning: dgVoodoo causes video movies (logo, opening and ending, for example) to not play. Instead the game will show a skippable black screen, so it's easy to identify. Use the DX9 version of the games for those moments.

- Stereoized picture in pause menus.
- Some elements that were wrongfully in 2D in DX9 are in 3D in DX11.
- One haloing effect in TitS the 3rd, that at least appears at the start of the game.

Known issues
- In the second game, casino minigames will display only in one eye, and also portraits of fish you get with the rod.

Fix files
- Trails in the Sky First Chapter
- Trails in the Sky Second Chapter
- Trails in the Sky the 3rd

- Download one of the fixes above and extract its contents in the folder called

"The Legend of Heroes - Trails in the Sky", where "ed6_win.exe" is, or
"The Legend of Heroes - Trails in the Sky Second Chapter", where "ed6_win2.exe" is, or
"The Legend of Heroes - Trails in the Sky the 3rd", where "ed6_win3.exe" is.

- Download the latest dgVoodoo 2 release or WIP version here: http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html
- From inside its "MS" folder, copy "D3D8.dll", "D3DImm.dll" and "DDraw.dll" into the game folder.
- Open "dgVoodooCpl.exe" and configure it like this (different path for each game), for example, tuning the resolution and some other settings to your liking (I use "Force point sampled" texture filtering to get a more retro look):

- Currently, Steam and GOG Galaxy boot the DX9 version of the game by default. To change that, rename "Config_DX9.exe" / "Config2_DX9.exe" / "Config3_DX9.exe" to something else and rename "Config.exe" / "Config2.exe" / "Config3.exe" to "Config_DX9.exe" / "Config2_DX9.exe" / "Config3_DX9.exe" (numbers 2 and 3 are for the second and third game). This way, you playtime and achievements will be tracked.
- Then, configure the game like this but for your resolution or the graphics settings you want:

- Next, I recommend using RTSS to limit the fps to 60, because otherwise the game will stutter. The game has perfect movement and animations to 62.5 and 125 fps. At 60fps, there will be some slight judder, but forcing 3D Vision at 125Hz is a bit annoying and has worse image quality results even if it's 100% smooth, at least on 1440p G-Sync/ULMB monitors, because they don't use Lightboost at that refresh rate (only ULMB or no strobing).
- If you play the GOG version using Galaxy, make sure the in-game overlay is disabled.
- Boot the game and play.

- F1 or XB_RIGHT_THUMB: five convergence presets.
- F2 or XB_LEFT_THUMB: HUD depth presets. Warning: in the third game, all the image in some small sections can be affected by HUD depth.
- F3: Y axis variable HUD depth presets (tilting).
- F4: HUD toggle.
- F5: black bars toggle (for cutscenes and end of battles). Zero drawbacks in the first game, and it will disable "fade to black" transitions in the second and third game (you'll see what's behind from the beginning, when you're not supposed to see it).

If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

Tuesday, January 16, 2018

Time Rifters [DX11]

The game was created for VR. It has very nice realization of crosshairs - it lies exactly on surfaces

Removed: Many Stars on HUD (were harmfull for 3D effect)

  1. Download Tested on and extract the contents into the game directory.
  2. Use Nvidia Inspector to assign the game's EXE to the profile "3D-Hub Player". (For instructions on how to assign profiles, see this guide)

Monday, January 15, 2018

Immortal Redneck [DX11]

F1 - toggle different values HUD and crosshair depth
F2 - enable/disable gun (disable it on high levels of convergence)

  1. Download Tested on and extract the contents into the game directory.
  2. Use Nvidia Inspector to assign the game's EXE to the profile "3D-Hub Player". (For instructions on how to assign profiles, see this guide)
  3. In your Steam library, right click on "Immortal Redneck" and select "Properties"
  4. Click "Set Launch Options"
  5. In the box, type " -window-mode exclusive" and click "Ok"
  6. If you use not steam version in desktop shortcut's properties in object field add " -window-mode exclusive" after 'ImmortalRedneck.exe'.
I made this using DarkStarSword's Unity template.
If you like this mod, please consider supporting DarkStarSword on Patreon

P.S. I've created "Unity Game Wishlist" HERE

P.P.S. Oh my god, I can fix even Unity 5.6 (not allowed by DSS's template yet)