Sunday, September 1, 2019

GZDoom




3D Vision fix for GZDoom, 64 bits version, the source port of the old Doom games (and all supported mods). Thanks to Helifax for making this OpenGL wrapper all by himself.


Update (2019-09-02): added the "libmmd.dll" file that some people needed to make the fix work. If for some reason you also need "ucrtbased.dll", you can unzip it from this file.

Update (2019-09-01): fix updated to the latest OpenGL wrapper, improved stereoization formula and tested with GZDoom 4.2.0. The old fix version here.


Explanation
- In Windows 7, it can be played in 3D Vision natively using quad buffer stereoscopic 3D (in the OpenGL renderer options). However, at some point in Windows 10, it doesn't trigger the glasses nor produce a 3D image anymore. This fix is aimed at people that can't get that mode to work.
- This fix uses frame sequential 3D (just like all OpenGL fixes in this site), meaning that very fast horizontal camera movements can cause a bit of disorientation. However, it's very easy to get 60fps per eye, so it isn't that easy to notice.
- You can use your Nvidia convergence hotkeys, unlike in the native 3D mode of GZDoom. To customize depth, open "3DVisionWrapper.ini" and change the value of "DepthMultiplicationFactor".
- If you want to use the native 3D implementation of the game, you can use 3D SBS narrow mode in GZDoom and set "Enable3DPostEffect = true" in "3DVisionWrapper.ini". Keep in mind that ingame 3D modes are reset at every launch. With your Nvidia convergence hotkeys you can move the screen into depth or make it pop out.


Fixed
- Stereoized geometry, without breaking any HUD elements.
- HUD, crosshair, and weapon depth hotkeys made for GZDoom 4.2.0.


Installation
- Download this file and extract its contents in your gzdoom folder, like "gzdoom-bin-4-2-0-Windows-x64", where "gzdoom.exe" is.
- Set "gzdoom.exe" to run as administrator.
- Play the game in OpenGL mode, but don't use any 3D or VR mode in the ingame options.
- Enable the full options menu, go to Display Options -> Dynamic Light Options -> Light shadowmaps. Set it to "Yes".

Hotkeys
- l: normal convergence.
- p: high convergence.
- o: crosshair depth toggle (if you use a crosshair in the HUD options).
- i: HUD depth toggle.
- j: weapon depth toggle.


Notes
- The extra hotkeys (aside from convergence) may not work in different versions than the ones I tested. I will update this fix for future versions every once in a while..
- Stereoization will work in all future versions, I assume.
- If you use a newer GZDoom version and HUD hotkeys don't work, I recommend deleting the contents of the "Shaders" folder.


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

11 comments:

  1. Thanks for the fix! I used to play this on my old 3d set up. Really appreciate it :)

    ReplyDelete
  2. This won't work for a normal person: it's a debug build. I've tried everything I can think of to get the missing dll's installed, but they don't seem to exist apart from installing Visual Studio.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. I have updated the fix to include the "libmmd.dll" file. It's strange that you also need "ucrtbased.dll". Is that on Windows 7 by any chance? You can get the file from this 7z file: https://masterotaku.s3.amazonaws.com/GZDoom/ucrtbased.7z

      I had it somewhere where I was using an old version of the OpenGL wrapper.

      About settings, OpenGL is the default API for the game. I mentioned it because it can also be played in Vulkan or in software mode. All settings I tried worked fine: dynamic lights, ambient occlusion, different texture settings, antialiasing...

      Delete
    2. I'm on Win 10. At some point I did see another message about a different .dll, which I believe was the same one mentioned above (unfortunately I didn't write that one down). I'm not sure when I got that message, but I think it appeared after I used 3D Fix Manager to uninstall the fix, then I tried starting in 2D via Fix Mgr.

      So, I tried the new fix, both with and without "ucrtbased.dll." <--It seems 'ucrtbased' is not needed after the fix change. I do get the info overlay for the fix- 3D Vision ready, etc- but I'm not getting 3D. I've tried changing 3D Vision hotkeys different ways, in case of a conflict.

      On first boot, the monitor panel at top right shows
      Eye Separation - 0.104523
      Depth - 100.00
      Convergence - 288.23...
      The values shown, (convergence, specifically) do change with hotkey input, but nothing changes onscreen. Hotkeys for depth DO work.

      Also, when installing the fix with Fix Mgr and starting, the game won't start, giving error 0xc0000142. I do not get that error when starting the .exe directly, as admin.

      I'm on driver 425.31, Win 10, Ryzen 7 2700x, 1660 Ti.

      This has all reminded how awesome this game still is. I'll definitely be playing Ion Maiden.

      Delete
    3. OK, progress... I finally tried the fix hotkeys (DUH) But the environment is flat; the l and p keys don't appear to be functioning. I tried a couple of different keys for convergence in the wrapper .ini file but no luck :-(

      Delete
    4. Oh, twiddly bits! I have it now. Apparently one of the mods I have didn't jibe with something or another. I did a clean, second install of GZDoom in a different location and all works as promised. (As I now recall, one of the mods had you patch the .exe by dragging another component over it.) Twiddly bits, it's always twiddly bits... THANKS!!! Doom Guy Forever!

      Delete
    5. I'm glad you got it working in the end. I read your comments but I didn't know what to suggest.

      Delete
  4. Still working to this day , awesome fun with the new Vigil Chapter.

    ReplyDelete
  5. This still works perfectly with Project Brutality 3.0. Absolutely awesome.

    ReplyDelete