Game doesnt work with mods that have d3d9.dll

Post » Sun May 27, 2012 5:12 am

which apparently is some kind of directx dll. Mods that have the d3d9.dll and stuff like shader.fx cause my game to be stuck forever at the loading screen, with blurred detail. game's fine if i don't past these files in the skyrim folder. Anyone know of how to solve this? did i install wrongly or something :blink:

Im trying to install http://www.skyrimnexus.com/downloads/file.php?id=191
And the instructions are to paste the files of the mod into the Skyrim folder where TESV.exe is located; the files are
d3d9.dll
shader.fx
SkyrimCustomShader_Config.h
and a SkyrimCustomShaderConfig folder which contains Fxaa3_11.h , Post.h , Presharpen.h , Tonemap.h , Vignette.h

Is it that i have to enable custom shaders or something? :blink:
User avatar
Maria Leon
 
Posts: 3413
Joined: Tue Aug 14, 2007 12:39 am

Post » Sun May 27, 2012 4:20 am

Hi,

d3d9.dll is the main DirectX 9 dll (Direct3D).

It should not exist normally on Skyrim main folder (and it's added - modified - by some 3rd party fixers, tools and mods in order to override the normal one).
DirectX 9 is installed with a separate installer exe, shipped with the game, and all of its file will be put in the normal windows/system32 folder.

If d3d9.dll is placed in root skyrim folder, it could override the system32 one (according to how the tesv.exe behaves).
The game however is designed to work with a specific dll, which is part of the normal directx installation.
If you change this behaviour, everything depends on what that new d3d9.dll contains and how it has been made/modified...

The normal main folder of skyrim should contain only following dlls (for 1.3 patched version):
-atimgpud.dll
-binkw32.dll
-steam_api.dll
User avatar
Nicole Coucopoulos
 
Posts: 3484
Joined: Fri Feb 23, 2007 4:09 am

Post » Sun May 27, 2012 1:19 am

If d3d9.dll is placed in root skyrim folder, it could override the system32 one...

Will override, as local files will always be found and loaded first. This is by design (OS).

If you change this behaviour, everything depends on what that new d3d9.dll contains and how it has been made/modified...

Yep and if they dork it, they dork you.

Edited:
@OP - For clarity though since you use plural exactly what "files" are you pasting in to the root? There are certainly mods in use by thousands with d3d wrappers written perfectly causing no issues. It would probably be a good idea to fully list what mods you're talking about, and how you are installing them. Folks that use them can then correct any errors they detect in what you're doing, if there are any.
User avatar
Catherine N
 
Posts: 3407
Joined: Sat Jan 27, 2007 9:58 pm

Post » Sun May 27, 2012 10:06 am

Thanks for the info :D didnt think anyone would reply to such a weird topic

But this happens for all of the mods that do this, and many others have it working fine :spotted owl: so im thinking there's some problem on my side. Im using the 4GB patch, does that change anything?
User avatar
brian adkins
 
Posts: 3452
Joined: Mon Oct 01, 2007 8:51 am

Post » Sun May 27, 2012 1:05 am

4G is mostly useful to those using HD textures to prevent crashing although plenty use it regardless, including me with vanilla. Read my edit above though. If you'll provide a lot more detail on what your trying to use and how you're doing it you'll get help from those here that also use them, whatever they are.
User avatar
Ridhwan Hemsome
 
Posts: 3501
Joined: Sun May 06, 2007 2:13 pm

Post » Sun May 27, 2012 9:26 am

Hi,

Will override, as local files will always be found and loaded first. This is by design (OS).
Yes... unless the .exe is compiled to behave differently (using loadlibrary and a specific path for example - but it's quite uncommon, less easy to code, and a little too much os-specific to be used). Nonetheless it's possibile... this is the reason for I've used the word "could" :)

Normally it happens exactly as you've stated. And skyrim makes no difference, d3d in system32 is eventually overridden by d3d in root folder AFAIK...
User avatar
Louise
 
Posts: 3407
Joined: Wed Nov 01, 2006 1:06 pm

Post » Sun May 27, 2012 10:11 am

Hi,


Yes... unless the .exe is compiled to behave differently (using loadlibrary and a specific path for example - but it's quite uncommon, less easy to code, and a little too much os-specific to be used).
Normally this happens exactly as you've stated. And skyrim makes no difference, d3d in system32 is actually overridden by d3d in root folder...

I usually don't list edge-cases but yep that is true. Since I haven't examined any of the enb or other non-standard mods who knows what some of them are doing. Certainly any that are using injection techniques could be doing who-knows what without digging through it.
User avatar
Suzy Santana
 
Posts: 3572
Joined: Fri Aug 10, 2007 12:02 am

Post » Sun May 27, 2012 7:12 am

added details, sorry bout that :celebration:
User avatar
kitten maciver
 
Posts: 3472
Joined: Fri Jun 30, 2006 2:36 pm

Post » Sun May 27, 2012 6:57 am

bump
User avatar
^_^
 
Posts: 3394
Joined: Thu May 31, 2007 12:01 am

Post » Sun May 27, 2012 6:16 am

added details, sorry bout that :celebration:

Installed as described, entered game, loaded save, entered world. Pressing Pause toggles the shader usage correctly. Definitely had to lack the brightness up a bit, but there's no issue in loading related to it here.

What GPU do you have? Do you support pixel shader 3? The 2 methods in shader.fx below reference it. No idea if a downselect would be automatic, I assume no.

technique PostProcess1{    pass p1    {        PixelShader = compile ps_3_0 LumaShader();    }}technique PostProcess2{    pass p1    {        PixelShader = compile ps_3_0 MyShader();    }}

Edited:
Investigated ps 3 it's just part of the 9.0c spec so any DX9 card will have it. Good read on it http://msdn.microsoft.com/en-us/library/windows/desktop/bb147365%28v=vs.85%29.aspx actually.

Haven't used default installation folders for years, but as said below try it if you're in default. Investigating the dll it appears probably just from a popular / known injector: "C:\Users\HAANDI\documents\visual studio 2010\Projects\FxaaShaderInjector\Release\d3d9.pdb".
User avatar
Anna Kyselova
 
Posts: 3431
Joined: Sun Apr 01, 2007 9:42 am

Post » Sun May 27, 2012 6:29 am

Is steam located in program files?

If so you probably need to run as admin so that the exe references the right dll.
User avatar
Jaylene Brower
 
Posts: 3347
Joined: Tue Aug 15, 2006 12:24 pm


Return to V - Skyrim