Thursday, December 13, 2012

Darksiders (2010)

Fix by Eincrou
Updated December 18, 2012


Created using Steam version. Game version 1.1.

Description:

Darksiders is rated "Excllent" in NVIDIA's compatibility list, and despite my skepticism of their "Excellent" ratings after the stereoscopic disaster that is Dark Messiah of Might and Magic, I actually agree with them for once.

The game looks incredible in S3D and has few problems with anomalies.  The anomalies are either intermittent or not too bothersome.  Look at the "Problems not fixed" section for my report on the anomalies.

The biggest problem is the 100% 2D UI, especially the targeting reticles for War's various ranged weapons.  I've had nothing but failure for the past five or six games I've tried to fix, but I was finally able to make something happen with Darksiders.  I tried to address the 2D UI, though my success remains incomplete.

This fix:

  1. Menus render with depth. I gave the text slightly less depth than the menu art.  Why?  Because it looks awesome.  That's why.
  2. Depth for texts, including subtitles, can be turned off with the comma key ( , ) and turned back on with period key ( . ).  These keys can be changed in DX9Settings.ini.  Use this webpage for the key code numbers (middle column).
  3. HUD, including crosshairs, have depth.
  4. Mini-map has depth.

Problems not fixed:

  1. The HUD renders strangely, but I got around this by finding the texture elements of each crosshair. They are given as much depth as possible before the edges start clipping. One element, a pulsing circle, was left alone because that texture is reused many times.
  2. Skyboxes render too shallow. No acceptable solution has been found yet.
  3. Various effects do not render identically in both eyes - for example, the swirls around the rim of portals, the swirl around Void Walker on War's arm, fire on flaming skeletons, the chain around War's hand when Abyssal Chain is equipped, and several more.
  4. Portals have a rim effect, which renders in only the left eye.
  5. Portals show you what is on the other side when you look into them, but the world beyond the portal renders at the wrong depth.

Change Log:

  • v4: (12/16/2012)
    • Fixed crosshair for Angel-blaster-gun-thing. There's one other ranged weapon in the game, a demon-explosive-spike-throwing-thing, but it appears in only one brief part of the game.  I have no save game to get back there, so it remains unfixed.
  • v3: (12/15/2012)
    • Increased depth of crosshairs for five ranged weapons. Depth fix for crosshair of final ranged weapon coming soon. There isn't as much depth as I would like, but the textures start clipping if I go any higher.  If you have any suggestions for correcting this, let me know.
    • Increased depth of enemy target indicators
    • Changed default secondary depth setting for text (pressing the , key) from 2D to a slight bit of pop-out.
  • v2: (12/14/2012)
    • Add ability to set text to 2D. Useful for prerendered 2D cutscenes.
  • v1: (12/10/2012)
    • Initial Fix 

How to get it working:

  1. Extract the fix into the same location as DarksidersPC.exe.  For me, this is: [...]\Steam\steamapps\common\Darksiders
  2. Four of the fixed vertex shaders are personal to each system.  You will have to download the debug version of d3d9.dll to dump them.
  3. Rename the release version of d3d9.dll that you extracted from the fix zip to something temporary.  I like to use d3d9r.dll.
  4. Extract the debug version to the same directory as DarksidersPC.exe.
  5. Boot the game, and you should see red text at the top of your screen.  If not, ensure that the d3d9.dll in your Darksiders folder is the debug version.
  6. Load into the game, and enter the equipment menu.
  7. Now, use the debugger's hotkeys to search for the shaders we need.  Use NUM5 to advance and NUM4 to decrease.  I recommend going to about VS#100 and if you don't find the element, go backwards and you should hopefully find it in the 400s.
  8. Look for the following elements to turn off: [1] texts, [2] menu art, [3] sword XP progress bar, and [4] green part of the health bar.
  9. Each time you select a VS that turns off one of these elements, write a note with what that element is, and the eight-digit CRC.  The CRC is the characters after the "0x" part.
  10. When you find all four, exit the game and go into the ShaderOverride/VertexShaders directory and find the following text files: [1] 826E8EA7, [2] F516508B, [3] DA3DFC7A, [4] E3832F4F.
  11. Rename each of these filenames to the corresponding CRC you wrote down.  If you need to be extra sure of what the fixed CRCs do, you can open up the text files see my comments.
  12. Now, when you relaunch the game you should find that these four interface elements render with depth.  If not, double check that you have properly located each of your personal CRCs and matched them to the fixed CRCs.
  13. When all is working, delete or rename the debugging d3d9.dll, and rename the release version to d3d9.dll.
IMPORTANT! I need feedback on the following:
  1. I created this fix while running my graphics card in dual-GPU mode.  I tried running the fix while in single-GPU mode, and the fix caused the game's graphics to become corrupted when 3D was enabled.  I need to know if this affects people running with one GPU.  I'd also like to know if it doesn't affect SLI users.  In short, TESTERS NEEDED!

Download:

HelixMod-Darksiders_v4.zip (Release and debugging DLLs included)

0 comments:

Post a Comment

 
Copyright 2009 helixmod-Newsday. Powered by Blogger
Blogger Templates created by Deluxe Templates
Wordpress by Wpthemescreator